Winnyの技術を読んでる
今更だが「Winnyの技術」を読んでる。
P2PソフトWinnyの開発者である金子勇氏による技術解説書である。
ざっと読んだ感想は、検挙されて当然では?と思ってしまった。
問題あるファイル(版権モノ、リベンジポルノ、ウイルスなど)を流すと困る。
しかもP2Pであり、妙な匿名性があるため、収集がつかない。
アップロードした者を検挙するならば、ほぼ全ユーザーが対象となる。
見せしめで誰かを検挙しないと、際限なさすぎる。
金子氏もWinnyの社会実験をしたくて、問題を見て見ぬ振りして開発と公開をしていた気がする。
自作ポエムをダウンロードするためだけのソフトで、ユーザーが増えるなんて本気で信じてるわけ無いだろ。。。
ユーザーが増えることによる実験が充実して、楽しんでる感じがした。
包丁で殺人が起きた場合、包丁を作った人間は悪か?と言われるが、例えが違う気がする。
匿名破壊兵器を開発・大量配布しても、無罪な社会は困るだろ。
粗大ごみ処理用だと主張しても、無理がある。
でも昔は、著作権意識がゆるゆる時代だったから、金子氏のみが悪だったとも思わない。
10年ほど前(2010年頃)でも、ニコニコもYOUTUBEも版権コンテンツを垂れ流している時代だった。
今でこそ対応されているけどな。
しかし、金子氏ほどの優秀な人間を裁判漬けにしたりせずに、
司法取引とかでWinWinの関係にはできたら良かったのにと思う。
今やP2Pや匿名性は影を潜めて、
中央集権(AppleStore,GooglePlayなど)によるスマホアプリが全盛であり、
合法的サイト(Steam,PsStore,など)にダウンロード購入したり、
サブスク(アマプラ、Netflixなど)の環境が整った時代である。
半自由時間
会社に拘束されているが、ある程度自由な時間に何をするべきか。
雇われである以上、会社の資産と自分の資産が両方増大するような勉強をするのがベターである。
javascriptの進歩
私は2014年頃が一番javascriptを使っていた。
ただいま久しぶりに勉強している。
構文がECMAScriptが2015年~で大躍進していてびっくりする。
昔はclassがなくてprototypeで疑似的クラスとかしてたはずなのに。
非同期も強化されているし、Fetchなんかもスッキリしてる。
ECMAの頑張り、スマホの普及、Flashの滅び、Node.jsの普及などなどで
とにかくjsが他の言語に遜色ないくらいに充実した言語に進化している。
その遜色ないjsでフロント/バックを覆ってしまえばええんや、っていうのがReact勢らしい。
React Server ComponentsやReact Hooksがいいらしい。
私はWeb開発では.Net FrameworkのWebアプリを長くやってるから、次の方針をどうするか検討している。
.Net Framework(現状維持)、.Net Core、Reactのどれかになりそう。
.Net FrameworkはVBが使えるのが特徴か。
Coreはクロスプラットフォームなのでデプロイ先をLinux系でもできる。
しかし、C#開発は可能だが、VB開発が不可となる。
Reactはまだ勉強していないので詳しくはわからんけど、シェアが高いしFaceBook主導だから将来性ありそう。
Web系の記事をよく書いてるerukitiさんが猛プッシュしてらっしゃる。
でも私が関わるのが業務アプリでビジネスロジックが肥大化しがちだから、C#かVBで書きたい気もする。
そして、それは学習から逃げる老化のような気もする。
わからん。
方針2
まとめると
①会社の方針と異なる
②「わかりやすさ」という曖昧な基準を出す
③作業分担を越権している
すべて線引の問題である。
何をやらないかということは既に線引きが終わった話だし、
曖昧な基準という線の引き方がおかしいし、
責任境界の線を無視している。
...他人にも読めるように書いてみると、整理されるもんだな。
方針
物事の方針、筋は大事。
「お客さんにわかりやすいように書き方を追加してほしい」
この要求は単体なら正しい。私も同意する。
しかし、このProjectはすでにボスが手厚い対応はせず、なる早で畳んで手を切るものという決定をしたんだ。
右往左往する要求、無茶な期限、少ない予算、将来性のない今後、数ヶ月前からの採算割れ、、。
そんな積み重ねの上にそういう方針に決めたんだ。
バグっている、あるいはバグの温床になるというなら、書き換え依頼にも快く応じる。
しかし、100点満点80点を82点にするためだけに不要な指示・提案はやめろ。
あなたは私の上司のつもりなのかもしれないが、私はあなたを上司だとは思っていない。Projectの打ち合わせで誰も明言していないし、文書にも残っていない。実際、肩書も同じだ。年齢が20以上も上なだけだ。
Project初期は上司のつもりで接していたが、あなたは私達の成果に無責任なスタンスを取った。説明不足による行き違いを、「なんで聞いてくれなかった?」と。二人いて二人共が別の解釈をするような資料だけを渡して。
あなたはただの下手なDB設計とテストの担当だ。
今回の単発の指示を聞くことは別に構わないが、その理由・方針が問題だ。
検証用に送った部分を見て「少しわかりにくいから」という理由で馬鹿な指示をするな。
その方針でこちらが従うとすべて書き換える必要が出てくる。
今回は「修正とテスト箇所だから、そのついで」という体で対応した。
やってることは同じでもチームの方針と筋がないと崩壊する。
指示もあなたのテスト後だったから、念の為もう一回テストする必要が生じた。
この大義名分で行うなら、他の箇所は対応しなくてすむ。
しかし、線引をせずに「わかりやすさ」だけを優先するなら、コードすべてが対象となってしまう。一個一個は大したことがなくても数百は対応箇所が発生する。
それは地獄の釜を開けることになる。
その「わかりやすさ」も下手なあなたの主観という、ゴミのような尺度だ。
あなたに悪意がないのはわかっている。
無知は罪であり、能力が低いものが指示をすると地獄へ行きかねないことがよくわかった。
技術士一次試験の勉強記録
■3か月~2か月前 まず過去問を買う 昨年分を無勉強で解き、分野対策を3つに切り分ける A.勉強して得点を底上げする(生物、材料、歴史、法律) B.専門分野なので軽めに勉強する(IT、設計) C.あきらめる(物理学)
■~1か月前 Aで暗記が必要なものを絞って暗記していく ABの知識を浅く広く仕入れる。図書館で本を借りたり、ネットで記事を読んだりおすすめ本を調べたりする。 一日に詰め込むことよりも、毎日続けることを重視してペースを作っていく。
■一か月前~本番 過去問を解くのと解説を読むのを繰り返す 余裕があるならCの問題も解説を読んでおく 前述の作業も繰り返す