# #42 森本さんをゲストにモダン開発とNIH症候群、その他近況
Season: 3
Topic: 42
# Note
ゲスト紹介
森本と申します。2回目の出演です。ありがとうございます。
神戸で1人会社を経営していて、いまは主に受託開発をやっています。
これまではサーバーサイド/バックエンドの開発者をしていました。
ここ半年ぐらい (モダンな) フロントエンドの開発のお手伝いをしていました。
プログラマーとして10年ぐらいやってきたので、
今後は自分で作りたいものを作るとか、世の中の役に立つものを作るとか、
自分にとって意義のあることに時間を使いたいと思うようになってきました。
そういったモチベーションもあっていま会社をやっているといったところです。
内容
- ゲスト森本さんの紹介
- 森本さんの近況として、データミックス社の Excert (エクサート) の開発https://news.datamix.co.jp/news/excert/ (オンライン資格試験で監視も可能なサービス)
- モダン開発として、React / TypeScriptのエンジニアをしていた。バックエンドもTypeScriptでやっていた。GraphQL, TypeGraphQL, TypeORM などを使っていた。
- 負荷テストしていて、TypeORMの特徴が見えてきたし、GraphQLの特徴とあわせて難しさが見えてきた。
- K6 https://k6.io/ というコマンドラインツールを使って負荷テストをした。
- 寺田はFirebase Vue.JSでシステム構築していて、フロント技術だけでシステム構築するのも面白いが、難しさがあると感じている
- 負荷試験をしていたら、TypeORM の @RelationId デコレーターとパフォーマンスでハマった。https://kazamori.jp/blogs/2021/07/12/typeorm-relation-id-performance/ n^2オーダーの処理になっていた。
- TypeORM の Lazy relations でメモリ使用量が多くいろいろと修正した。 https://kazamori.jp/blogs/2021/07/12/typeorm-lazy-relations-memory/
- NIH症候群 https://ja.wikipedia.org/wiki/NIH%E7%97%87%E5%80%99%E7%BE%A4 (自前主義) なのかな?
- ライブラリの選定やサービスの利用をするか?自前でコードを書くか?
- 気軽にライブラリをインストールするか?慎重にライブラリを選定する?
- AWSサービスを使う時も慎重になるし、どこまで付き合うかを判断することになると思っている
- 最近の開発は、ライフサイクルが短くなっているので、使えるものはどんどん使って、早く作るという考えで、必要なら作り直すことを考えるというマインドの変化があるのかも。
- クラウドサービスのデータ保存は安いが、外部に出したり、コンピューティングはそれなりにコストが高いと思っている。
- とはいえ、初期にクラウドを使うということは当たり前になっていると思う。
- Ant Design https://ant.design/ を使ったが拡張のためにコードを見ながらコンポーネントを拡張したが、バージョンアップでの不安は残る
- TypeScript + VSCodeは体験としてよかった。
- フロントもサーバサイドもTypeScriptでやるのは、一つの言語でやれていいとは思う。別の言語でサーバサードをやるメリットもあるとおもう。
- 最近、寺田は、Python WebよりもNumPyとかOpenPyXLを使うことが多くなっている。
- コードを書きたい気持ちとツールの使いこなしのどっちが楽しいか?
- 最適化と読みやすいコードは共存しないのは仕方ないと思った。
- 新たな技術を使って仕事をしているとパフォーマンスが出ていないと感じていたが、不安で未知のものを学んでいるときが生産性が落ちてもしかたないということに嫌悪を持たなくてもいいって本で救われた「エラスティックリーダーシップ ―自己組織化チームの育て方」https://amzn.to/36HcFRn
- ネタが残っているので、ゲストに来てもう予定。