「ソースコード」を含む日記 RSS

はてなキーワード: ソースコードとは

2021-05-05

anond:20210505112817

え、エスパーすると、ソースコードの行数で成果を測るような会社にいたの?それはやめて正解なのでは

2021-05-03

ソースコード勝手に書き換えられて

それを治して

といわれたから、会社をやめざるを得なかった。奴隷では当時はなかったから、今は奴隷だけど

だけどなんで、他人ソースコード勝手に書き換えて

それを直せと言ったのかはわからない

よほどサディストだったのだと思う

2021-04-27

anond:20210427195818

試験したり、外部モジュール確認コードを書いたりして

現状がどういう実装仕様になっているか

確認して

どういう風に変えようか、検討すると言う意味

現状と、オリジナル仕様が違うことというのは様々な理由であることなので

文章ではなく、現状に合わせこむ

 

ソースコードを読むというのには、様々なテストコードを書いて

現状の仕様がどうなっているか調査するというのを含むと言う意味

anond:20210427195625

仕様書もなければ平然とバグがある状態なので(単体がまともに書かれてなかった)

ソースコード読んでも正じゃないのよ…

anond:20210427194514

ソースコードを読めばいいじゃん

しろそういうときに、

ソースコードを読み込む、方がメインで

上司に聞いたりという発想がほぼない

2021-04-26

anond:20210425022947

共通言語たるドメインモデルを、そのままコードと1対1対応しなければならない、という思い込みや風潮。

既存のWAF(Web Application Framework) の利点を潰してどうする…」

こういう誤った思い込みエンジニアにさせているのは、ドメイン駆動設計の原典であるエリックエヴァンスドメイン駆動設計」が、いか抽象的な内容で、ある意味では哲学的であったかを、明示するものでは無いか

プログラムとはメタファーであり、現実を、もしくはそれに準ずる写像的な世界観を、コードに忠実に再現するものでは必ずしも無いと考える。この記事増田は「過度な抽象化」とも書いているが、プログラムというか、そもそも言語のもの物事の全てを表象できるものではなく、ある一側面の一イメージしか切り取れない不完全なものだし、それ自体問題ではない。現実ソフトウェアの溝を、ユーザーエンジニアの溝を、ドメインソースコードの溝を、いかにして埋めるかというのが、ドメイン駆動設計の本質だし、その埋め方についてはエリックエバンスは一例を示しているに過ぎない。EntityやValueObjectなど、必要なら使えば良いし、不要なら使わなければ良いのだ。ただし、元々何が問題なのか、問題だったのかという点について、いかにして向き合うかが肝要であり、それは技術論や方法論の話ではない。

ドメイン駆動設計の記事を書いたり、勉強会で発表をしている人間は、原典やそれに付随するドキュメントの内容を、無批判に信奉し、そのようにしなければならないという強迫観念に追われているのではないかそもそも、本当に理解しているか怪しいし、不安から教科書の内容にしがみつこうとするのだろう。さらにこの手の連中は、昨今のCQRSやイベントソーシングマイクロサービスなどとも絡めて話をし出すから、タチが悪い。「ドメイン駆動設計はこの手の技術スタックと相性が良い」という言葉を何度も見かけたが、技術的な方法論はそもそも無関係だったはずだし、そうやって安易に結びつけてしまうからユーザーが置き去りになって来たんじゃねーのと、暴言でも吐きたくなる。問題本質はどこにあったのかを、聖典の内容や、流行り廃りの技術とは切り離して、エンジニアは三思九思すべきだ。

別にこうあらなければならないという法律や決まりは無いし、好きにやれば良い。モデルと1対1にならなければ、分割する事を選択するのも一つの向き合い方だ。ドメイン駆動設計の信者にゃんにゃん写真でも撮られて、ばら撒くと脅迫されているのであれば勿論話は別だ。恥ずかしい写真魚拓されたくなければ、とりあえずEntity、ValueObject、Repository、Service(笑)位は最低限、用意するのが身のためだろう。

自分の頭で考えて、自分責任判断するという当たり前の事に立ち返りたいものだ。ドメイン駆動設計という盲目的な宗教からいかにして抜け出すかが今後のエンジニア課題だろう。

追伸

増田ドメイン駆動設計が大好きです😘

2021-04-23

anond:20210423170113

艦これ 炎上」でググったらソースコード流出の件が出てきたけど

これって「艦これ炎上」としてカウントして良いの?

2021-04-13

[]4月13日

ご飯

朝:サンドイッチ。昼:パン。夜:人参玉ねぎシメジ豆腐たまごスープ納豆

調子

むきゅーはややー。お仕事は、超頑張った。

「複雑なコードがいくつも絡まった機能バグ発生、しか再現性無し」というワクワ案件

今までの不調や不満はどこへやらで仕事満喫した。

しかった。

バグと向き合ってる時の脳味噌が広がってシステム自分が混ざっていく感覚気持ちよかった。

ソースコード書くのも好きだけど、バグ対処の時はソースコードよりも広い部分も気にするからより脳味噌広がる感じが好き。

無事、問題箇所を発見でき、再現方法を見つけられた。

直し方も三案ほど出した。再現方法普通に操作する分には中々起きないと思うので放置って線もありそう。まあこの辺は予算とか瑕疵責任も絡むので、僕が頑張れるところはひと段落

○プリコネ

ダンジョンむっず。ニューイヤーキャルいないから諦めるわ。

ウマ娘

キングヘイロー三冠を狙ってプレイしてるんだけど、かなり上振れてくれて皐月賞2位ダービー1位菊花賞1位が出来て、超惜しかった。

ただこんだけ上振れても出来ないなら、もうちょい因子を強化してからこの遊びはすることにしよう。

2021-04-11

factory_botのソースコードを読んでいるんだけど、レシーバコロコロ変わって読むのがむずい。

どうすれば、クラスの責務や設計思想を読み取ることができるようになるんだろう。全然わからん

2021-03-26

anond:20210326001428

正直フリーランスSEって自称する人って良いイメージがない。自分プロ自称しているんだけどどう見てもスキル素人レベル

利益がどうのとか言って、やって当たり前の事とかやってなかったり、作りがむちゃくちゃ雑だったり、複数の端末でちゃんテストしてないかバグだらけだし、エラーを指摘したらテストのやり方も分からいから何回直させても治らない。

そもそもフリーランスだと素人でもSEって自称できてしまう。だから自称フリーランスSEって言う人はあまり信用できない。

システムエンジニアって高度な知識経験要求される専門的な職種だけど、ただコーディングしてるだけとか、フレームワークとかWordpressフリーテーマとか適当に使ってちょちょいと作ってはいできましたって言うレベルでもSE自称する。

そう言う人ってよく自分作品集とかブログとかも作ってたりするんだけど、見に行くとソースコードとかこれどうやってかいてんの?ってくらいぐちゃぐちゃだし、本人はできてるつもりだけどプロとは思えない作りだったり、PCでは情報が表示されてるけど別の端末では情報非表示してるから端末によって得られない情報があったりする。仕事でもテストしたとき入力したダジャレみたいな文面が残ってて、プロ自称して良いレベルじゃないということが多々ある。それでドヤ顔SE自称してる。SE全体のレベルを下げてる一因だと思う。

2021-03-21

anond:20210321131011

一時期「DRMは悪い文化!」と思ってPDF買い切りにした書籍群があるのだけど、

ちゃん管理してなくてわけわかめになってる

というか、電子書籍なのに整理しなきゃなあ、と思ったり…(まあ、パスワードとかと同じか

出版社ごとにバラバラに購入せざるをえなかったので、どこの出版社で買ったのかちゃん管理してないと、

PDFをロストしたときに再度ダウンロードできても分からなくなる

(あと、PDFに記されている出版社ダウンロード元が同じとは限らない

買ったかどうかの記憶さえ曖昧になる

なんか買った記憶があるんだよなあ、と思ったらメール検索して確認したり…

Kindleは色々制限とか問題とかボッタクリとかあるけど、勝手に一元管理されるのは強いんだよなあ

まあ、Amazon側の表現規制みたいなので漫画言葉狩りされるみたいなのもなくはないんだけど

技術書とか面倒なときKindleでいいのかもなあと思ったりするけど、結論には至っておらず

あと、Kindleの紙面のソースコードコピペしてたらコピペには回数制限があるんだよなあ

気持ち分からんでもないけど、要は全文コピー回避したいんだろうけど、あれもちょっと苛立つというか面倒というか

そう考えると、やっぱり紙の書籍ってビジネスモデル的にも何世紀も経てきたわけで、

電子書籍のような問題はなくなるわけだけど、本棚で床が抜けるよなあ

ああ、捨ててかないとなあ、本…

2021-03-20

anond:20210320174526

7と8。

技術的なところが気になる人はこれだけ読んでくれたらいい

7. アプリケーションコード自体はRocketChatのものとほぼ同じ

最後技術的な観点からエアレペルソナが純国産ではないということを指摘する。

結論から先に述べると、このアプリは純国産ではない。

RocketChatという海外で開発されたOSSチャットアプリフォーク、改変したもののよう。

ttps://github.com/RocketChat/Rocket.Chat.ReactNative

ttps://rocket.chat

フォーク元はバリバリ多国籍外資である。(RocketChat自体問題のないアプリであり、このエアレペルソナとはフォーク関係を超える関係はないと思われる)

冒頭のこの部分に関してである

ttps://play.google.com/store/apps/details?id=chat.airlex.reactnative

Google Playで公開されているエアレペルソナAndroidアプリリバースエンジニアリングして調べてみた。

ちなみに、エアレペルソナには利用規約のようなものは見当たらず、リバースエンジニアリング禁止条項も無いようだった。

ttps://apps.evozi.com/apk-downloader/

ttps://github.com/pxb1988/dex2jar

この辺を使ってapkダウンロードし、apk解凍し、chat.airlex.reactnative/classes.dexjar fileに変換した。

classes.dexから変換されたjarファイルを展開するとchat/airlex/reactnativeというフォルダパッケージが見つかる。

このパッケージ内のファイル(.classクラス)がエアレペルソナの処理を行うもののようである

特徴的なクラスにEjsonという名前のものがある。

このクラスJadを使い、デコンパイルしてみた。その結果が以下である

ttp://www.javadecompilers.com

ちなみにここからapkアップロードするとdex2jarをしなくてもJavaソースコードにまでデコンパイルしてくれた。便利。

package chat.airlex.reactnative;

import android.content.Context;
import com.ammarahmed.mmkv.SecureKeystore;
import com.facebook.react.bridge.ReactApplicationContext;
import com.tencent.mmkv.MMKV;

public class Ejson {
    private String TOKEN_KEY = "reactnativemeteor_usertoken-";
    String cardId;
    String host;
    String messageId;
    String messageType;
    /* access modifiers changed from: private */
    public MMKV mmkv;
    String msg;
    String notificationType;
    String rid;
    Sender sender;
    String senderName;
    String type;

    public Ejson() {
        ReactApplicationContext reactApplicationContext = CustomPushNotification.reactApplicationContext;
        if (reactApplicationContext != null) {
            MMKV.initialize((Context) reactApplicationContext);
            new SecureKeystore(reactApplicationContext).getSecureKey(C0617Utils.toHex("com.MMKV.default"), new RNCallback() {
                public void invoke(Object... objArr) {
                    if (objArr[0] == null) {
                        MMKV unused = Ejson.this.mmkv = MMKV.mmkvWithID("default", 1, objArr[1]);
                    }
                }
            });
        }
    }

    public String getAvatarUri() {
        if (this.type == null) {
            return null;
        }
        return serverURL() + "/avatar/" + this.sender._id + "?rc_token=" + token() + "&rc_uid=" + userId();
    }

    public String token() {
        String userId = userId();
        MMKV mmkv2 = this.mmkv;
        return (mmkv2 == null || userId == null) ? "" : mmkv2.decodeString(this.TOKEN_KEY.concat(userId));
    }

    public String userId() {
        String serverURL = serverURL();
        MMKV mmkv2 = this.mmkv;
        return (mmkv2 == null || serverURL == null) ? "" : mmkv2.decodeString(this.TOKEN_KEY.concat(serverURL));
    }

    public String privateKey() {
        String serverURL = serverURL();
        MMKV mmkv2 = this.mmkv;
        if (mmkv2 == null || serverURL == null) {
            return null;
        }
        return mmkv2.decodeString(serverURL.concat("-RC_E2E_PRIVATE_KEY"));
    }

    public String serverURL() {
        String str = this.host;
        return (str == null || !str.endsWith("/")) ? str : str.substring(0, str.length() - 1);
    }

    public class Sender {
        String _id;
        String username;

        public Sender() {
        }
    }
}

フィールド名を見てみると、cardId, host, messageId, messageType, mmkv, msg, notificationType, rid, sender, senderName, typeが存在する。

メソッドには、getAvaterUri、token、userId、privateKey、severURLが存在する。

ところで、RocketChatというOSSチャットアプリ存在する。

ttps://rocket.chat

そのRoketChatのAndroid実装の中に同名のEjsonというクラス存在する。

ttps://github.com/RocketChat/Rocket.Chat.ReactNative

ttps://github.com/RocketChat/Rocket.Chat.ReactNative/blob/develop/android/app/src/play/java/chat/rocket/reactnative/Ejson.java

見比べてみると、フィールドにcardIdが追加されている以外はフィールドメソッド名、そしてその処理の内容まで一致している。

他にもReplyBroadcastなど、同様のクラスがエアレペルソナに見つかる。

以上のことからエアレペルソナはRocketChatをフォークして、パッケージ名を変えて作られたチャットアプリであり、開発の大部分はRocketChat社の努力と多数のOSSコントリビュータによってなされたものであると思われる。

これを純国産日本製と呼ぶには大分無理がある気がする。

そもそもこのOSS時代に純だの何だの言っている時点で怪しい。

8. OSSライセンスに関して

さて、エアレペルソナがRocketChatをフォークして作られたものであるとすると、気になるのはライセンスである

RocketChatのOSSライセンスMITライセンスである

ttps://github.com/RocketChat/Rocket.Chat.ReactNative/blob/develop/LICENSE

MITライセンスは非常に緩いライセンスであるため、エアレペルソナの様にフォークして別のアプリケーションとして公開することにはおそらく問題がないということは強調しておく。

現状エアレペルソナログインできておらず(2要素認証コード送信されないといった問題が起きている模様)、使用している各OSSライセンス表示が適切に行われているかまでは調べられていない。

2021-03-11

コメントは悪みたいな風潮のせいで

最近見かけるソースコードが何してるのかよくわからない

2021-03-10

anond:20210310110216

プログラミングなんて学べばキリがないのに、よく自分上級者とか思えるよなぁ。

githubとかunityのtemplateアセットとかのソースコード見ると意味わからん事だらけで自尊心なんか崩壊するわw

2021-03-09

anond:20210309011156

いえいえ、なんかの助けになれば幸いですけど😃

あと、ソースコード読んでるなら命名はやっぱり大事だなあと思う

最近命名についてちょっと考えさせられてしまうことがあったのだけど

命名からググってというのも自分場合はかなりヒントになる、助かる

知らない分野でもとりあえず関数変数名前でググってみるとか(というか、Googleない時代を考えると地獄だよなあ

コメントも適度にあるといいとは思うけど、過剰にコメントする意味はないし、

といっても、コメントを書く必要あるかないかって当然だけど読む側のレベルを試されているんですよね

FreeBSDカーネルだったかな、

大学院の授業でコードリーディングするのがあって、

やっぱりハッカーが好きそうなトリッキー?な書き方があったりして、

でも、こういうときはこう書くものだ、みたいなのがあったりもするので、

それもググるなり書籍なりで調べれば理解はできると思う

昔のゲームとか、あとメガデモみたいなのもそうだけど、浮動小数演算とか富豪すぎるので、

整数演算いか適当に誤魔化すかみたいな、精密さより高速にそれらしく動作するのが求められるのもあるし、

自分場合レベルが低いのか、知らなくてもググって調べてけば大体なんとかなってる

でも、発売前のゲーム機と書いたけど、公開されてないのでググっても出ない情報社外秘ソースコードとか技術で、

特にレベルが高いのとか、逆に酷く汚いコードだけどなんか動いてる()みたいな場合は、

降参する場合はもう周囲の先輩や同僚に頼るしかないんですよね

考えるだけ時間無駄だし、やった仕事どうなった?まだできてない?え、ずっと考えてたの?みたいになったら大問題ですし

つくづくマゾでないとできない仕事ひとつに思えてしま今日この頃

anond:20210309003639

うーん、それでも状況が分からないとなんとも言えないというか、

自分アドバイスできるレベルなのかも分からないけど、

アルゴリズム的なものだったら、しばらく考えてみるしかないんでない?

自分場合は、まあ自分レベルが低いのかもしれんけど、考えてるうちに理解できてしまうか、

もしくは、なんとなく思い当たる周辺のキーワードが思いついて、

それでググって、あー、こういうのがあるのか、こういう論文があるのか、みたいなところからまたメタに調べてくとか

数学的なものだと、これもなんかの周辺キーワードググるのが多いのかなあ…

ただ、根本的に自分には無理だとか、時間がないとか、学生時代に戻りたいみたいに思うんだったら、とりあえず飛ばししまうけど

特に趣味とかでなんとなくソースコードの全体を把握したいみたいなリーディングをしてるなら、

そこが知りたいこととか本質でないかぎり無視する方がいいというか、人生でまた使うことなんて自分レベルならないのではと思ったり

あと、なんだろ…

どうして動いてるのか分からないって、ハードウェアレベルで起こることもあるわけだけど、

これに関しては、特にまだ発売されてないゲーム機の話とか、そういうトラブル対処自分にはできなかった

そういうのができる人がいるので助けられてばかりなレベルだった

公開されてるハードウェアなら、今はStackoverflowみたいに質問できるところもいっぱいあるし、

ハードウェアメーカー側も公式情報小出ししてくれたり、できる人のブログをググって見つけたり、

なんか誰でも思い付くような助言になってきたけど、

ハードも結局はレジスタの値とか観察していくしかないのではないかなあと思ったり

うーん、助言になってないか

すまん

2021-03-08

「み●ほ信託銀行」のはずなのに「三井●友信託銀行」になってた

議決権行使オンラインで済ませようと思って、なんとなく話題銀行だったかソースコード見たら、なんかすごく律儀な人が作ってる、すんごく古めかしいソースコードに「ふふっ」てなった。

そんで「次へすすむ」を押すと文章の著者が「株主名簿管理人 み●ほ信託銀行株式会社から株主名簿管理人 三井●友信託銀行株式会社」に変わって「ふふっ」てなった。

あれ?ドメインは「み●ほ」なんだけど?ソースには「三井●友」?

同じソースを使い回してるのかもしれないし、単なるタイプミスかもしれないし、まあ些細なことなんだけど大切なデータ扱う企業なんだからチェック体制くらいしっかりやろうぜとは思った。

ログイン ユーザー登録
ようこそ ゲスト さん