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

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

2021-01-29

ソースコード流出の発端となった韓国蔑視

どんだけ酷いこと言ったんだと思ったら、

謝罪と賠償要求する(ニダ)」で驚いた。

いや、自分では使わんけど。

艦これユーザーさん、SMBCのソースコードを世界に無償公開してしまう - Togetter

働くのに向いてないやつを働かせる社会が悪い

「働かないでくださいお願いします」

今日も働かないでおいてくれて、有り難うございます

という感謝気持ち積極的大金を渡すべき

2021-01-27

anond:20210127120648

ちなみにif 条件文

のように、何をみているかリバースしたら一発のような書き方を

ソースコードレベルですらしない人も多いで

2021-01-18

anond:20210118193426

8Bit程度のCPUを、手組みなり、ソフトウェアなりで作れて

Webで絵が描ける

そんで必要ならPHPのC言語ソースコードパッチをあてられたり

Linuxのドライバを改造して、チューニングしたり

 

狭いフルスタックでこんなもの

ついでに商品宣伝広告で、乃木坂にこういう踊りと踊りを発注できて、局も、もうちょっと早めに

こんな感じでってキーボードでひけるかんじが本来フルスタック

 

いちおうカスタマー非エンジニア一般消費者サポートセンターあたりのなにがしかの実務経験とかあるとさらGOO

 

研究して 量産して 販売して 長期サポートして 終息して次の商品まで

2021-01-16

試行錯誤が重ねられて成熟したソースコード理解する方法を教えて下さい

10年開発が続いているWEBアプリフレームワークソースを読んでいるが、全然理解できないし、読もスピードも遅い。

2021-01-10

https://srad.jp/story/11/08/25/083250/

これはほぼ原因を特定している。

トレパクをしていいなら、新卒でも簡単にできるが

権利問題を自社に残しつつ、法律的問題クリアすると、指定された納期では終わらない

という

法律をしっていれば、しっているほど

レベルエンジニアであればあるほど

期日には終わらず、

下手な話他社のソースコードコピペすれば簡単に終わる(権利問題)というのは

IT業界ではよく起きる。

作業完了だけなら、簡単合法となると難しい。のはビル建設と同じ。

土台がどおでもいいなら、3倍の速さで建築できるが、建築基準法を満たせない。

おれも会社で教えてもらって、ようやく理解した。

 

あとこの件で謝るのは、謝れば許される程度と相手侮辱しているか

あやまることで、相手自殺に追い込める良い方法

 

問題のある設計というのは受託しなければいいだけだが

何が問題かを教えろというと、ノウハウをよこせ、知財をよこせといっているから、難しい。理由など教えてもらえるわけがない。

2021-01-08

anond:20210108114626

他人の作ったプログラム

バグが出ている箇所ではなく、違うところでデータを弄って、それが、めぐりめぐって、ここでバグになる

というときに、

真の原因も見つけずに、バグが起きた箇所でなおそうとして、大赤字を出して、多くの人を解雇に導く人がいる。

そういうときに、ソースコードを読み込んで、真の原因をみつけるのに、数ヶ月

2021-01-07

日産機密情報であるソースコードインターネット上に流出

多くのことは言えないが、ここの会社セキュリティやばい

ソースコードリークを最初に報じたのはスイス在住のソフトウェアエンジニアであるティリ・コットマン氏。コットマン氏は匿名情報源から日産ソースコードユーザーネーム「admin」、パスワード「admin」というデフォルト状態Gitサーバーに保存されていることを知ったとのこと。

個人が16年以上頑張った。

私財もそれなりに投じてきた。

それを昨日今日あった人が手伝えるというのなら

しょうがない。

 

僕の16年は、あなたにとっては数日なんだろう

16年前もそうだった。

10年以上がんばったことを。別な業界から来た人が

僕にも手伝えるとコードを数行書き換えて性能劣化

全部除去するのに半年がかりだった 丁寧に丁寧にソースを調べて

その人が書いた部分を除去するのがめんどうだった。

ソースコード管理がない時代だった。

2021-01-06

いっつもがんばって、バグを取る

2-3ヶ月、必死ソースコードを読み込んで

一生懸命確認用のコードを書いて

頑張ってバグを見つけ出して、とるんだ。

そうすると、だいたいクビになる。

ソースコードを1行改ざんされたから、死んで抵抗したって

改ざんによる死亡じゃなくて自殺っていわれるのがなっとくいかない。

改ざんがなければ死んでない。

anond:20210106143821

不正を働く社員の、たとえばソースコード著作権無視の盗用がないか?とかとおなじで

じゃぁ企画書企画に盗用がないか

とか、わずかでも、犯罪を行った社員仕事を使うというのがすごいね

tips

b:id:fr○thm○uthとそのブコメスターつけているユーザはてなAPIで取得して、非表示ユーザリストに突っ込むとはてブが快適になる。色々なユーザで試したけど、これが一番いい。要望あればソースコードを公開する。

2021-01-03

ソースコード修正してもいいなら、すぐなおせるけど

ソースコードを変えない縛りでやってみ

2021-01-01

1万円がはいった財布なくしちゃった

正月早々 しかたがないか

小銭入れも捨てて なかみぜんぶ 入れといた

あーあっておもうけどしょうがない。

プログラムソースコード2行を先輩に書き換えられて会社をやめなきゃいけなかったし

がんばればがんばるほど

どうして業務命令として言わないんだろう

そうしたら

あなた上司からそうするのにっていうことはおおい

 

一般的相場で10億はする大規模システムを1億円で売ってくる案件というのは

大手ではよくある

金額は任せてくれというから まかせたら1億円

どんだけキックバックもらったんだろうなぁと

そりゃ5億円ぐらいキックバックもらえるよふつう

2020-12-31

社長が死んだ

2020年最後の日だし吐き出したかった。

社長の死因は急性心筋梗塞だった。

何事もなければ社長が死んだショックだけで終わったかもしれない。

ただ、自分の中ではもやもやが残ってしまった。

7Payと言えばわかるだろうか。詳しくは書けないのだけど、あれと似たようなことが起きてしまった。

社長上司含め、お客さんに平謝りだったらしい。

かなりのストレスだったと思う。ネットで調べたところ、急性心筋梗塞ストレスでも発症することがあるらしく、そこが少し引っかかってしまった。


様々な理由から現状社長訃報を知らせるページを検索エンジンインデックスされないようにしています

もし心当たりのある会社があった場合でもリンクは貼らないでいただけますようよろしくお願いします。

今回謝る事態になってしまった件について技術的?に思ったこ

使うのであれば、ライブラリフレームワークミドルウェア更新バグ脆弱性情報)を一生追い続ける覚悟で使ってほしい。


テスト自動化とかそういう発展的なものではなく、もっと根本的なテストについて勉強してほしい。

コードレベルカバレッジとかそういうのではなく、「境界分析」、「デシジョンテーブル」、「オールペア法」、「直交表」こういう物について勉強してほしい。

他にもいろんな手法はあるのだけど、上記に上げたもので1個でも知らない単語があった人は今すぐ検索してほしい。


  • お客さんに嘘をつかないでほしい

いくら進捗が悪いからと言ってお客さんに順調などと嘘をつかないで欲しい。

遅れている理由を正直に言って(例えばテスト工数が膨れているとか)相談すればお客さんもわかってくれるかもしれない。

また、テストの質もそこまでの物が求められていないとかがわかるかもしれない。

お客さんに相談しないで工数圧縮の為にろくなテストも書かないで動いてるからいい!っていうのは危ない。


自信がない、もしくは、やったことがない・使ったことがない、などは正直に話してほしい。

しかしたらそのせいで給料があがらなかったり、出世できなくなったりするかもしれない。

だけれど、その嘘のせいで他の誰かに負担がかかったり、他の誰かが不幸になるようなことがあってはいけないと思う。

これに関してはいろんな批判があることは覚悟している。嘘をついてでもいろんな経験をした方がいいって言う人もいると思う。

それでも、どうしても書きたかった。


別にLPIC(LinC)は持ってなくてもいい。本屋適当対策本をパラパラめくって、聞いたことのない単語がないレベルであればいい。


インターネットには嘘が散りばめられている。昔は本当だったけど今は嘘になっているものだってある。

一番いいのはエラーメッセージを出している物のソースコードを読むこと。二番目はドキュメントを読むこと。それでもわからない時だけ検索してほしい。

そして、その情報が誰が書いているかをよく見てほしい。書いている人が本当に信用できる、かつ、更新日付が近かったときだけそこの内容を信じてほしい。


ApacheのC10K問題

公開リポジトリpush/commitされているメールアドレス収集している人がいるということ、

公開リポジトリpush/commitされている秘密情報収集している人がいるということ、

MySQL寿司ビール問題

MacOS日本語ファイル問題

文字サロゲートペアについて、

RDBによってはSQLのIN句に指定できる数に上限があること、


他にもいろいろあるが、1個でも知らないものがあった人は検索してみて欲しい。業界にもよるかもしれないが、本来であれば最低限知っておかなければいけない知識

これを知らないと適切な設計、ましてや適切なコーディングすらできなくなる。

終わりに

ぼくはエンジニアに向いてない

2020-12-26

なにか 手伝うなんて のろいだろ

もう僕の作品ではない

だれかが 手伝ったからできた ひとりじゃできなかった 生涯そういえる

僕が手伝ってあげたんですよ 何万年後でも その事実はかわらない

以前は 全数を破棄するしかなかった

ソースコードをあらって 変更されたぎょうすうを 探し出すだけで数ヶ月騒ぎだった

わっちゃった

あいつら 他人を手伝ったんだ 客にだしちゃった 料理人じゃないやつが 何か入れた ご飯

なにがいれられたか わからないのに 出して おこられちゃった

砒素かもね

ソースコードに なんか加えるのと

客に出すみそしるに 何か加える

同じこと

どうして なべごとすてないの? そりゃそうだ

2020-12-20

プライベートメソッドテストすべきか

「すべきでない」というのがたぶん多数派

テストすべきでない理由としてだいたい次の理由があげられる。

プライベートメソッド関数テストする必要は無いと考えていますプライベートメソッドは、実装の詳細であるからです。

多くの場合、そのクラスパブリックメソッド経由でプライベートメソッドテストも同時に行えます

プライベートメソッドのテストは書かないもの? - t-wadaのブログ

ほとんどの場合プライベート メソッドテストする必要はありません。 プライベート メソッド実装の詳細です。

プライベート メソッドがある場合は、パブリック メソッドを見つけて、そのメソッドに対してテスト記述します。

単体テストを記述するためのベスト プラクティス - .NET | Microsoft Docs

プライベートメソッドテストするな」と強く主張されるのは、ケント・ベックの影響もあるかもしれない。

例えばtwitterで、パブリックメソッドにだけテストを書き、テスト必要なほどプライベートメソッドが複雑ならそれを別のオブジェクトに切り出す必要があると発言している(twitter/kentbeck)ように、プライベートメソッドテストに強く反対している。

またベックの書いたSUnit(xUnitの源流にあたる)には「ひとつテストひとつオブジェクトで表し、それによってテスト独立性を高める」というアイディアが使われている(そのアイディアを実現するためにとても複雑な設計をしている Simple Smalltalk Testing: With Patterns)。テスト自身ひとつオブジェクトとして独立しているなら、テスト対象となるオブジェクトプライベートメソッドテストできないのは当然のことになる。

しかし「プライベートメソッドテストがしたい(したくなることがある)」と感じる人も相当数いる。

そう感じる人にとってはむしろここからが本題で、

問題になる。

テストファーストで開発するなら手を動かしながら軽い気持ちで書きたい。

例えそのクラスがprivateメソッド依存関係があっても。

コンストラクタインジェクションされたクラスのprivate メソッドでもテストファーストしたい - Qiita

privateなルーチンの自動テストは面倒だ。実際にコーディングするとき最初publicにしておいてテストしてうまく動いていそうならprivateにするのだけど、この「いそう」がくせ者。いっそのことすべてpublicにしたくなる。

私は元々メソッドはprivateにしない主義なのでメソッド場合問題ないのだけれど、ファイル内の「関数」が問題になる。和了計算だと和了形判定とか符計算とか和了役判定とか単体でテストしたい内部関数が山ほどある。(twitter/koba0367)

private メソッドテストすべきか問題原則論だけだと袋小路に入りがちだから、private メソッドテストしたくなる具体的な場面について議論したほうがいいと思う。

自分レビューでよく見る例としては、複数の public メソッドの重複部分を private メソッド抽出した結果、濃い private メソッドと薄い public メソッドが一対多関係になる場合が挙げられる。設計としては間違っていないし、わざわざ public メソッド経由でテストする意義があるかというと微妙。(twitter/ts7i)

きれいなインターフェースを作ろうとすればするほどpublicメソッドじゃない部分に複雑性を追いやることになり、壊れた時に手戻りが大きすぎると思ったら、プライベートバックドア開けてでもテスト書くようにしてます (twitter/mizchi)

しかプライベートメソッドに対するテストを書こうとすると大概リフレクションなどで可視性の制限をすり抜けるとかメソッド可視性を変更するといった回りくどさやコストの導入が必要になるので、じゃあプライベートに対するテストはそうしたコストに見合うのかが問題になる。

伊藤さんの答えは「原則書かないほうがいいという大前提のうえで、どうしてもというときは、"これはテストのためにpublic"にしているというコメントの上でpublicにする」だった。

自分は「テスタビリティのためにメソッドをpublicにする」っていう"実プログラム挙動を変えること"の方が、「privateなメソッドテストコードのみsendで叩く」よりも怖いって思ってることに気がついた。(twitter/highwide)


メソッドプライベートパブリックかという話とそれをテストするかどうかは別問題だろという意見もある。

単体テストホワイトボックステストだとするなら、publicかprivateかでテストの有無が変わるのは明らかにおかしいだろ。ややこしいロジックはprivateに隠蔽すべきだが、そこがテストできないなんて。 (twitter/kmaebashi)

private メソッドテストするかどうか? まず最初に言っておきたいのは public/private は抽象設計問題であって、テストすべきかどうかとは当然無関係だろうということ。(twitter/qeigoi)

特定言語の貧弱な機能思考制限を受けて誤った結論を出している典型的な例。

"テストを書くべき"と"上位層から可視性"は直交する概念

https://b.hatena.ne.jp/entry/4684049296462116226/comment/megumin1

テスト粒度メソッドアクセス権は独立したものなので、「プライベートメソッドテストすべきか否か」という切り方自体ナンセンスではあるのだが、現実問題としてはアクセス権がテストに影響するので難しい。(twitter/AoiMoe)

private メソッドテストはすべきかどうかというより、「できるべき」であって、それができないというのも、ある種、言語機能テストインピーダンスミスマッチと言えるのではないだろうか、と思っている。(twitter/aetos382)


プライベートメソッドテストがしやす言語での意見

RustやGoではプライベートメソッドに対するテスト簡単にできる。

そのためかプライベートメソッドテストすることに対して拒否反応があまりないようだ。

Rustのテストファイル内とtests/以下の2箇所に書ける。

テストには開発用のホワイトボックステスト仕様確認用のブラックボックステストがあり、前者をファイル内に、後者をtests/に書けば良い。

例えば度々議論になるプライベート関数テストについてはもちろんホワイトボックステスト。(twitter/blackenedgold)

Rustではプライベートに対して何の手間もなくテストが書ける。

概念的にはプライベートに対するテストは外部コードではなく内部コードの一部として見るべきなのだろう。

Rust入門を兼ねてプロジェクト・オイラーの問題を解く - 再帰の反復blog

Rustでprivateなメソッドテストを書きたいなら、そのメソッドのすぐ隣に書けば内部アクセスになるから普通に書けるよ、ってのは目からウロコだった。できるだけ近いところにテストを書こうっていう文化と相まって最高。(twitter/kuy)

Rustみたいに単体テストは同ファイルに書ければいいのに

assertionチックにprivateメソッドのすぐ下にテスト書きたい

ドキュメントにもなるし (twitter/takaya_tim)

Rust のようにユニットテストプロダクションに混ぜる方式はおれもいいと思ってて、テストプロダクションを分離することで private 関数テストができない問題があるけど(テストしたければクラスを分けよ/メソッドを公開せよ/テスト必要なし、に分かれるよね)、そもそもこの議論不要になるよね (twitter/nunulk)


go言語だとプライベートメソッドテスト普通にやりますね。(twitter/mattn_jp)

昨日「private method の単体テストは書くか否か」という話題がちょいとあったのだが、わしは当然書く感じの昨今を送ってきたもんで何で書かんのやくらいに思ってたんだけど、Go だと private なやつのテストが書きやすいってのがデカそう。(twitter/pankona)

golangのテスト書いてたけど、テストプログラム名前空間(パッケージ)が、対象プログラムと一緒で、そのためプライベートメソッドでもテストできるの良い感じ (twitter/74th)

Goテストコードテスト対象と同じパッケージにすればエクスポートしてない関数でもなんでもテストコードから参照できるんだけど、これってプライベートメソッドテストすべきか議論するよりテスト書けと言われているようで好き。(twitter/plan9user)

プライベートメソッドテストするか?」とは別にドキュメントソースコードと同じファイルに書いていい(文芸プログラミング)なら、単体テストテスト対象と同じファイルに書いてもいいのでは?」というのも論点になるかもしれない。

2020-12-18

寧ろ恋愛マニュアルがないのが悪いのではないだろうか

マニュアル人間のように、マニュアルドキュメント化、文章化を悪とする風潮が日本にはあるように思う

これが良くないのではないだろうか

初代ガンダム第一話を思い出してほしい

いや、Zガンダムでもいい

ガンダムマニュアルがなかったらアムロガンダムを大地に立たせることができなかったのではないだろうか

もちろん、武器マニュアルから見つける時間はなく、偶然押したボタンで頭部のバルカンが出た

しかし、マニュアルがなかったら心細かったであろうし、諦めてしまっていたかもしれない

形だけであれ、まずマニュアルドキュメント存在するというのは心強いのである

ソフトウェアも同じである

ドキュメントがない、issuesに知見が溜まっていない、Stackoverflowで話題にさえならない

そんなソフトウェアはどんなに優れていても使っていて行き詰まってしまったら投げ出しやすくなるだろう

ソースコードが公開されていても、ドキュメントがないのでトラブルのたびにコードを読む、これはとても苦痛

命名規則無茶苦茶ソースコードがあったらプロでさえ投げ出したくなるだろう

ソースコードだって適度なコメント必要

できれば、ちゃんとしたドキュメントが欲しいところだ

コメントから自動生成だけでなく、チュートリアル、Getting Started、Installation、バカでも一通り学べる文章必要

そうでなければそのソフトウェア流行する可能性はまったくないだろう

インハウスツールであったとしても投げられてしまい、ちゃんドキュメント管理できる別の社員が作り変えるかもしれない

まり恋愛も同じであり、マニュアルドキュメントが寧ろ必要なのではないだろうか

そこには概要インストールから始まるように、まず最初の一歩はどうすればいいのか、がちゃんと書かれている

そして、恋愛の一通りの機能を学べるようにチュートリアルが用意されている

マニュアルがなければ何だって困ってしま

挫折する率を高くするだけである

Zガンダムカミーユだって父親コンピュータから操作方法マニュアルドキュメントを盗んでいたと劇中で述べている

ブライト・ノアは才能だと言っているが、自分はそれは少し違うと思うのだ

アムロカミーユ父親がまず技術者エンジニアである

ここでまず文化資本が違うのである

カミーユに至っては母親材料物性のスペシャリストである、つまり金属などの分野である

技術者メモ魔であることが多いように思う

ドキュメントを書く、文章を書くというのは技術をまとめる、開発したもの操作方法ユーザーに伝える、大切なものである

どのような分野にもプロというものがいるはずである

それが将棋囲碁であれ、あやとりであれ、必ずその分野のプロがいるのである

恋愛も同じように恋愛プロがいるはずである

しかし、恋愛プロが書いた本があったとしても、碌なものがない印象がある、なぜだろうか?

まず、恋愛プロである筆者が自己を正しく分析できていないことがある

まり、なんだかよく分からないがモテる、みたいな人は自分自分でどう優れているのかさえ理解できていない、いわゆる天才肌とも言えるものである

一般的に、天才というのは他人自分がなぜできているのか説明するのが非常に下手なことが多いように思われる

例えば水泳について考えるとして、水泳天才子供の頃からなんとなくできてしまパターンが多いように思われる

からこそ天才と言えるのである

しかし、天才的な水泳選手他人に教える、子供に教える、となると非常に下手になってしま

その理由は私なりに考えるに、天才自分がなぜそれができるのか、できるようになったのか理解できていないのである天才からである

しかし、天才には敵わなかったが、努力天才とでも言うか、努力で実力を積み上げた選手他人に教えるのが上手いのである

なぜか?

それは彼らが、自分はなぜできないのか?天才はなぜできるのか?それをひたすら考え、天才フォームを観察し、仮説や実験検証を繰り返したかである

苦労をしてきたからこそ、できないプレイヤー欠点、伸ばせる長所などが分かるのである

同様に恋愛天才の書いた本は無意味ものだということである

詐欺的なもの、単なる自己啓発的なものポジティブシンキングになれば引き寄せの法則が、みたいなものは尚更無意味である

恋愛マニュアルもまた、恋愛を上達させるために努力を積み上げてきた努力天才恋愛天才努力太刀打ちしようともがいた人が書くべきである

以上、まず恋愛にもマニュアル必要だということを述べ、そこにはステップアップ方式で学べるチュートリアル必要であり、

それらを正しく書くためには恋愛天才ではなく、恋愛天才を目指した努力天才が書くべきだということを述べた

まず、マニュアルがないのが悪い、マニュアル人間は悪くない、という発想の転換、逆に考えてみることが大切なのではないだろうか

自動だってマニュアルがない教習所もない教官もいないでは事故って死ねというようなものである

形だけであったとしても家電だってマニュアルがないことはない、製造者責任として当たり前のことではないだろうか

2020-12-17

なんか以前からずっと思ってたんだがRailsというかRuby界隈は宗教というか自己啓発ビジネス臭さえするのがイヤだ

金持ち父さん…とか7つの習慣とか、そういう詐欺のカモっぽい人も多いイメージがある

Rubyという言語自体に悪意はない

しかし、Ruby登場当初からやたらとエレガントに書ける、スッと書ける(この「スッ」という表現詐欺で多い表現なので嫌い)とか、

そんなことは個人的にはどうでも良くて、ソフトウェアを使うユーザー機能が便利かとかそういう視点しか見ない、悲しいけど

保守観点からも美しいソースコードを書こうという意気込みは間違っていない、というか正しいと思う

しかし、プログラマーが美しいコードが書けたと悦に浸る、自己満足におちいっているだけのようにも見えるのが納得いかない、不愉快にさえ思える

C++Javaのような型のあった時代から、型なんてダセーよな、プレステの方が全然おもしれーよな、を経て、また型に戻ってきてる

型推論云々にかまけてパフォーマンスよりも綺麗なコード富豪プログラミングからまた元に戻ってきてる

学習コストが高いものほど評価されるような傾向も個人的には感心しない

どうせ同じゴールなのに、そこに辿り着く方法が険しいほど評価されるなんて、プログラマー美徳怠惰だのから逆行している

実によろしくない

そういう点ではRustよりもGoC#の方が評価できる気がする

もちろんRustの守備位置はそこではない気もするので単純比較おかしいのだけど、ゴールが同じなら自分C#Javaで書いて終わらせるのにと思うことがある

別にWebだけでなくコマンドラインでの捨てコードPHPJavaScriptも適している

そういう意味ではPythonはやはり強い、Glueだからだろう

正直PHPなんかよりPythonの方が言語としてはおかしい気もするのだけど、正しいとかエレガントが生き残る条件ではないのである

しかし、学習コストとしては低いシェルスクリプトは便利ではあるが流石に古いというか罠が多い気がする

PowerShellの方が使える気がする、少なくともWindowsでは優先的な選択肢になった

そう、つまりこの文章最初に戻ることができたのである

生き残るというのはそういうことではないのではないか

2020-12-04

anond:20201204012300

クラスに関しては自分が老人だから異論はあるけど、

とりあえず動くソースコードでそれなりの規模のが欲しければGitHubからcloneしてくればいいんだよなあ。

と言っても、元増田が「gitって何?」のレベルだとそこで話が折れてしまい、

gitとは?バージョン管理とは?ハッシュ値とは?みたいになってしまうので説明する側も辛い。

自分説明される側でも説明する側でも辛いのは、それだけ専門性が高い分野ではあるのだろうけど。

自分だって自分の専門外のことをそれ専門の人にまくし立てられて説明されるの辛いw

ソフトウェア命名規則天邪鬼でなければ、スタート地点はmain.cppみたいに類推もできるはず。

その後はデバッグ情報付きでビルドして、

デバッガでメインルーチンからブレークポイント打つなりしてポチポチ動作させたり変数の中身の変化を確認していく。

あと、ソースコードコメントも参考になる。

色々なクラスとかソースコードを眺めて全体像を把握し、そこからコアとなる機能自分が知りたい箇所を目指す。

ソースコードがある、デバッグ情報があるなら、当たり前だが変数名や関数名があるので類推やすい。

Javaとかで難読化してると、逆コンパイルできても変数名や関数名は分からなくされていて読み辛かったりする。

いや、だから難読化なんだけどwでも、.classファイルしかなくてもそれで中の肝心のアルゴリズムは読めてしまったりする)

自分には大した技術はないと自分でも思ってるけど、普段やってることをまったく知らない人に説明するのは難しいだろうね。

というか、できる人やプロだって新しいビルド方法なんて分からない。

C++ならcmakeやpremakeは分かるけど、ninjaってなんじゃ?みたいなw

そこで新しい道具に手を出して躓くことも多々あるし、

他人他人自分の知らない道具、好きでない道具を使ってたりもするわけで、ビルドするために嫌々最低限即席で学んだりする。

そういう点でフロントエンドとかJavaScript界隈に流石についていけない、歳だなあと思ったり。

2020-12-03

IT理解できない増田見て泣いた

anond:20201130214610

エンジニア歴の浅いヒヨっ子だけど、めっちゃわかるって思って泣いた。

とくに「自分頭が悪い」のところ。


自分文系だけど一応大学は出てる。世間的には頭悪くはないかもしれない。

基本情報勉強は楽しかったし知識詰め込むタイプ勉強は得意だった。

けど同じ開発者の同僚の中で一番頭が悪い自信がある。

そもそも頭が悪い」ことがIT理解できることに直接関係していないことはわかってる。なんというか、モノを理解できないときに「頭が悪い」っていう表現をするのはちょっと雑すぎると思う。

けど同じ開発者の同僚の中で一番頭が悪い自信がある。

いろいろ考えた結果、「頭が悪い」って表現が適してる気がする。


自分頭が悪いなと思うところ

1. 作りたい処理を自力実装できなくて同僚に質問して教えてもらうところ。でも教えてもらったやり方は知っているやり方で、ドキュメントでも読んだことあるやつ

2. (技術的ではない)問題が発生したとき簡単解決法ではなく手間のかかる解決しか思いつかなくて、「こうしたらいいじゃん」と言われて「冷静に考えればこうしたらいいのは当たり前だな、なんで思いつかないんだろう」と思う

3. 日本語文章読んだときも、ライブラリソースコード読んだときも、とにかく理解が遅い

4. 理解しないと覚えられない

5. いろんなことが気になって意識があちこちにいく


1つめは、やり方の存在認知してるけどそれを使うことができないか自力でできないんだと思う。

思えば自分数学が苦手で、単純に計算ミスが多いのもあるけど、習った公式を使って応用問題を解くのができない。どの公式使ったらいいかからない。エンジニアとしては致命的かも。

2つめは、よくわかんないけど解決策を精査し足りてないのではと思っている。まあでも時間かけたって思いつかないものは思いつかないと思う。

でも上司はいだって最短経路で最適な解決策を導き出す。それは経験なのか、知識なのか、能力なのか、どれでしょうか。

3つめが、最も自分が「頭が悪い」と思うところ。何度も同じ説明されて、それを何度も聞いて/読んで脳内で噛み砕いて、理解したと思って自分から「つまりxxってことですか?」って質問して違うと言われたりしてまた確認して、それを何度かやってやっと理解する。

ちなみにそれは大抵、しばらくして同じもの読んでも「あれこれってどういうことだっけ」となってまた同じ説明聞いて同じ質問する。

質問すること自体は悪くないと思うけど。要領が悪い、頭の回転が遅い、とかが表現としては適切そう。だけど総合すると「頭悪い」んだなと思う。

4つめは、「理屈わからんけど記憶する、使う」ができないのが問題。昔から自分理屈理解しないとスッキリしないし、応用することができない。公式がどうしてそういう公式として導かれたのかを理解しないと、応用問題で使えない。

元増田でも誰かが言ってたかもしれないけど、ライブラリの中身を完全理解しようとせずにただ「使用者」になるべきなんだけど、理解できてないとドキュメント写経しかできない。

あと基本情報では「どういうこと?」ってなった分野は全然覚えられなくて正解率低かった。

5つめはそのまんま。ある作業中に他の仕事まれたら、あとでやるか今やるか判断するためにどんな内容なのか見る。内容の中で気になることがあって調べ始める。そこでメールの通知がくる。メール読んで返す。

ここで急に「そういえばあれやらないといけないんだった」と思い出す。やり始める。定時になって元の作業全然進んでない。

あとちょっと似てるけど、アプリケーションソースコード読んでてAの関数がわからなくて、その定義元を見る。するとその中で見慣れないBという関数が出てくる。

Bの定義元を見る。Bはライブラリ関数だった。Bの中身を読んで理解した時にはなんで今自分がBの中身を読んでたのかわからなくなってる、というのも悩み。

前にADHDエンジニアブログ読んで完全に自分だと思った。ADHD詳しくないけど。


プログラミングに才能は関係ないという。けどここまで来るとエンジニア向いてないかもしれない。

厄介なのが好奇心があって、現代日本でなくてはならない存在となったIT技術がどうやって実現されているのか知りたいし気になること。(元増田好奇心あるタイプに思う。)

あとはものを作ったり、書いたコードが動いたり、技術問題解決できるとすごく嬉しいし楽しい


けどそれ以上に自分の頭の悪さ、無能さに絶望することの方がつらい。耐えられない。頭が悪いせいで仕事もろくにできなくて周りにお荷物と思われてると思う。

正直今仕事楽しくない。転職する夢ばっかり見る。他の職種の方が向いてるかもしれない。前職はサービス業だけどもはや向いてるものなんてないかもしれない。頭悪いから。

でもなんかそれって「出来ないことを克服せず、耐えられなくて逃げた」ことになる気がして、変なプライドのせいと、度胸ないせいで別職種への転職決断できない。


今はまだ歴が浅くてヒヨっ子だから勉強したり経験積んだらこんな自分でも会社活躍できるようになるかな。あーもうだめだ…

後ろ向きな長い独り言を読んでくれてありがとう

元増田の話とは全然関係なくてスミマセン。

マジプログラミングわからん

2020-12-02

anond:20201130214610

気持ちは分かるぞ。

たまにマインクラフトとかマリオメーカーとかで電卓作る人いるけど

あいう人だけが分かるんだろうね。

if文、for文、配列関数と学んだあとは、

空のダイアログを表示するプログラムを書くのが普通だと思うけど

ここで増田みたいに鋭い人は、納得がいかなくなるだろうね。

なんでダイアログが表示されるのか全く謎だし誰も教えてくれない。

gnomeソースコード読んで理解するなんて常人には不可能だし。

そこは諦めるしかないんじゃないかなぁ

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