やったこと

4日間出勤

火曜日が代休だったので4日でした。
YABE。

https://note.com/kntr3110/n/nc602f05d185d
まあこの記事とあれなクライアントが合わされば結果は明白だよなと。
WF的開発で納品前日に仕様が決まってないのはもはやお笑いなのです。
この状況で上から納品期日のプレッシャーかけられるのはご愁傷さまとしか言いようがない。
技術者としてソフトウェアの品質には責任を持ちたいし、エンドユーザーのニーズを満たしたもの・今までの業務をより効率化できるものを作ってハッピーに使って欲しいとは思うけど、正直無理なんで感情殺して処理してる状態。
私のモチベはそこにあるので、結構辛いね。
それでもプログラム組んでて楽しいと感じるあたり単純にプログラム組むのも好きなんだとは思う。
ただ、それだけじゃ満足できない。

https://xtech.nikkei.com/atcl/nxt/column/18/01716/070800001/?n_cid=nbpnxt_twbn
まあこういうことだよね。

ちなみにWFとかアジャイルの開発手法しらべてて、ハイブリット開発(ハイブリッドアジャイル)とかいう謎手法見つけた。
https://www.linuxacademy.ne.jp/lablog/programmer/171/
私には全てのデメリットを背負った闇の開発手法にしか見えなかったんですがどうなんですかね?
詳細設計→実装→テスト→FBで以下ループらしいですけど、FBの時点で間違いなく要件定義が変わるんで崩壊してるじゃんっていう。
これやったことある人の話聞いてみたいで…。

転職

受けてるとこはいい感じに進んでます。
こちらとしても行きたいところなので、このまま最後までお話していきましょう。
そして転職ドラフト経由で話すところと他媒体で話すところがいっぱいでカジュアル面談地獄的状況に…。
いろいろミスった気がするけど一回話聞いてみたいし、話聞いたらそれぞれに魅力的な部分は存在するからなぁ。
最近気づいたのは、カジュアル面談で話して働くイメージの解像度が私の中でかなり高くなる場合があること。
まあイメージなので実際との差異もあるんだろうけど、自分が入った時に何をしてるか・どんな気持ちなのかをできるだけ解像度高く見れるというのは一つ基準として有効かもしれない。
その点、リファラルで面談したところはかなり明確化できたと思うので志望度は高めになりそう。
後はその解像度の差の理由を考えていけば自ずと自分のやりたいことや、それを埋めるための方策も浮かんできそうではある。 コーディング試験は紹介してくれた友人に恥かかせない程度にがんばろー!

その他趣味

えりぃとかふぇ通常日当たったやったー!
今の東京に行くのちょっと怖いけど元々覚悟の上だったので体調崩さないように気をつける所存。
ワクチン接種後3日目の予定なんで、体調が戻ってることを祈ろう。
ついでに友人とも会えたらいいなー。

後は買い物をまあまあいっぱい。
久々にガジェット系を買った気がします。
まずは、Xiaomi Mi 11 Lite 5G。
https://www.amazon.co.jp/dp/B098DX6V1L/
780Gというチップを積んでてベンチマークも855並というハイスペックながら4万円で買えるハイコスパスマホ。
前のスマホのv30が835だったので大幅な性能アップ。
ただMIUIのせいかゲームであまり性能が出ないらしい。
ゲームはプリコネくらいしかしてないし、それは4倍速でも処理落ちなく動いているのでよし。
MIUIの癖がまあまあ強いのはあるが、慣れたらNovaと同じくらいの使いやすさはあった。
実感できるくらいの薄さ軽さだし、おサイフケータイつかえるし、aptX Adaptive対応だしで文句のつけようがないスマホ。
一つ気になるとすれば3.5mmジャックがないことだけど、今メインで無線使ってるのでほぼ問題なし。
あと付属品の充電器とケースが優秀で良かった。
画面保護フィルムもデフォで貼ってあるけど滑りが悪いので人によっては剥がすかも。
私は別売りアクセサリを全く買わずにそのまま使ってます。
サポートが切れる3年後くらいまで使えるといいなー。

それに関連してSOUNDPEATS Sonic Proを購入。
https://www.amazon.co.jp/gp/product/B094FPJN4Q/
5000円台でBA2機搭載、aptX Adaptive搭載とかいうおかしなコスパしている完全ワイヤレスイヤホン。
久々に試聴しないで買ったかもしれん。どこで試聴できるか分からんかったのとセールやってたから。
想像より少しサイズが大きかったけど許容範囲。
問題があるとすれば、スマホとの相性なのかちょいちょいモノラルになるor音質が落ちることがある点。
最初接続したときにそんな状態で、「ひどい音だなー」と思ってたら接続状況で改善して普通に聞ける音になったので安定させる方法を探したい。
それさえ解決すればメインのMOMENTUM Freeより音は落ちるけど十分な性能してると思う。
というかMOMENTUM Freeってapt-X LL対応してたんか…。
音ゲー出来ない程度に遅延あったんだけどなー。
あと人混みだと結構途切れるのでその辺も今回ので解決してくれるとたすかる。

そして家用にルーターも購入。
TP-LinkのAX73。
https://www.amazon.co.jp/gp/product/B08RDHHS6Z/
今までv6プラス関連でバッファローかNECのルーターにしてたんだけど、そもそもAP(ブリッジ)運用にして2重ルーターじゃなくしたのとこの製品はv6プラスサポートしているっぽいのもあり選択。
今使ってるのが購入当初から唐突に数分無線が切れちゃう問題があったので、そろそろストレスの限界だった。
もっと早く買い換えるべき。
我が家にもついにwifi6ルータがきた。
選んでて初めて知ったんだけど、axは5G帯も2.4G帯もあるのね。
5G帯しか対応していない製品もあったので、ちゃんと選ばないとなと。
ほぼ5G帯しか使わないとはいえ障害物多いから2.4G帯使う可能性もある。
今の所快適だけど、排熱の問題とか再起動を定期的にすべきだとかいうレビューもあるので評価はしばらく使ってからになりそう。
あとwifi6に対応してる機器が自分のスマホしかないんで真価は発揮できてない。
とりあえずacとnで電波が強くて安定してたらいいかな。
メッシュwifiも考えたんだけど、置く場所に悩みそうなのでやめた。
高くなるしもうちょっと一般化してからでええかな。

VTuber関連だと悲しい出来事はあった。
枕ちおちゃんっていうよく見させていただいてた子が卒業。
活動休止って話はあったんだけど、その前のツイキャス配信で結構辛かったらしいってのを伝え聞いて見に行けなかったのを後悔。
辛くなるのも分かるけど自分のペースでやればいいし、そんな君が好きな人もいるんだよって伝えたいしそう思ってほしいなーと。
けど上のことは私が一番難しいって知ってるし、どうしても人と比べて、がんばんなきゃって焦って、つらい気持ちになって、そこからいなくなりたいと思うっていうのは私自身の気持ちの動きを見ているようで心配になった。
結局のところ時間をかけて、自分自身を見つめて、労って、そんな自分を見てくれる人のことを大切にするしかないと思う。
他人に刺激をもらうことは重要だけど、それはあくまで他人だからね。
簡単に活かせるところだけもらっちゃえばいい。

これを本人が読むことはないだろうけど、卒業後楽しく過ごしてくれればいいな。

それ以外の趣味は…特になし。
技術的な部分に対する情報収集モチベが高いんでそっちが趣味みたいなもんではある。
ポケモンユナイトはちょっと触ってみたさある。

技術的なことを殴り書きするコーナー

・cypress,test
https://typescript-jp.gitbook.io/deep-dive/intro-1/cypress
https://kasaharu.hatenablog.com/entry/20201210/1607558714
https://qiita.com/okitan/items/b44882e28006c1be32b7
E2Eテストをangularの組み込みでやるか置き換えるか的な悩みどころ。
jest使うか?

・OpenAPI
https://times.hrbrain.co.jp/entry/openapi-validation-chi
https://blog.ebiiim.com/posts/go-openapi3/
https://future-architect.github.io/articles/20200701/
gRPCまでの繋ぎの技術って感じあるけど

・Go関連の個人的プラクティス
go package
echo(router)/usecase/service/table(infra)
utilityをまとめた support/convert
定数をまとめた constant

https://recruit-tech.co.jp/blog/2018/12/02/go_after_one_year_from_the_start/
wire mocking
go tpl
https://devblog.thebase.in/entry/2018/12/04/110000
https://medium.com/@timakin/go-api-testing-173b97fb23ec
配列初期化にmakeを使う
https://echo.labstack.com/guide/testing/
https://echo.labstack.com/middleware/

・Angular SSRに関する所感
https://qiita.com/Quramy/items/8389e14fa480f9edeaf7
nextjs+ssg(ssr)構成もありな気がしてきた FetchAPI OpenAPI→コード生成部分が使えるか ECなら特に

・開発Tips
prベースの開発を絶対にする
eslintのpre-commitでのエラー処理化
管理側とユーザー側でAngularプロジェクト分ける?
サブドメインorディレクトリでのURL構造
actorによる分子より大きいコンポーネントの種類分離

・役割論
PMの役割
社内レビューが通ったら必ずクライアントレビューが通るレベルの仕様に関する知識をつけてもらう
それを文章に起こす・テストを作る・ドキュメントの整備
日程の管理を厳しくする
打ち合わせは誰かエンジニアも必ず参加(技術的知識を元に議論しておくべき)
毎朝の実装項目の確認と実装方針の協議をする
情報の共有をもっと密に行うべき(未完成でもなんでもいいので状況を共有する/出来るだけ全員で素早く話し合う)
同じ時間が取れないなら非同期的にでもいいので
不具合表→Feedback表(新規実装/仕様変更/バグで種類分けする)

アポ無しでコールしてOK 9割がた出れる
仕様に関してでも壁打ちでもなんでもOK
5分悩んで無理なら即コール
固定で私のみがいるルーム作っておく

組む前にテストパターン(実際に使った場合の挙動)を考える 命名や本当にそこに書くべきか、更に分割することは出来ないかについて最低10分は検討する

・Angular Component
https://github.com/angular/components
https://github.com/scttcper/ngx-toastr
https://bit.dev/
https://betterprogramming.pub/best-way-to-overwrite-angular-materials-styles-e38dc8b84962
でかいライブラリ入れるよりちまちまやったほうがフロントに関しても良さそうと思えてきた。
マイクロフロントエンド的文脈も気になってはいる。

https://angular.io/resources?category=development
https://zenn.dev/lacolaco/articles/a030e8912a18839d2357
https://github.com/ngneat/reactive-forms
https://github.com/ike18t/ng-mocks
https://github.com/ngneat/inspector
https://github.com/mswjs/msw

・XD
http://creative.adobe.com/ja/products/download/xd
https://xdtrail.com/
https://j-xaas.github.io/categories/Tool-Tips/Adobe-XD/
https://www.adobe.com/jp/products/xd/features/ui-kits.html
https://helpx.adobe.com/jp/xd/help/import-google-icons-and-screens.html
https://angularfirst.com/prototyping-with-adobe-xd-and-angular-material/
XDとかFigmaって誰でも使えるだろ…って思ってたけど、まずはこれらのツールが開発の何を解決しようとしているかをきっちり知らせないとパワポと同じ使い方されるんだなーと理解。
何においても今の課題と最終的な目標をきっちりと共有するのは大切だ。
デザインセンスとかはまた別なんでそっちはそっちで知識が必要な部分にはなる。

・Atomic
https://tech.connehito.com/entry/learn-and-failure-atomic-design
https://ygoto3.com/posts/atomic-design-on-actual-project/
https://blog.kubosho.com/entry/using-atomic-design
主にフォーム周りで適用するのに頭ひねりそうなところは多い。

https://a-suenami.hatenablog.com/entry/2019/04/29/173415
https://qiita.com/putan/items/ec312314698087fca5b2

Atoms(原子) 意味を持たない部品 (button/label/checkbox/tableなどなど) 何にも依存しない
Molecules(分子)意味を持つ部品(searchbox/gender- radiobutton/birthday(label+dropdown(day)+dropdown(month)+dropdown(year))など) Atomに依存 - deviceで分ける
Organisms/template(有機体)ビジネスロジックを持つ部品(register-form/view-detailとか) Molecules/(Atom)に依存 - Actorで分ける
Pages(ページ)ページ Organisms/(Molecules/Atoms)に依存 - 必ずルーティングされる

https://future-architect.github.io/articles/20200511/
https://techblog.istyle.co.jp/archives/5975
https://ics.media/entry/210107/
https://hibi-update.org/adobe-xd/bootstrap5-dsp/

https://design.dena.com/design/atomic-design-%E3%82%92%E5%88%86%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%A4%E3%82%82%E3%82%8A%E3%81%AB%E3%81%AA%E3%82%8B
https://qiita.com/rhirayamaaan/items/7f990e146ec01f2e7e08
https://note.com/rhirayamaaan/n/nac9882b14b44
https://qiita.com/rhirayamaaan/items/bf6a23f9155d5e9940c1
https://note.com/tabelog_frontend/n/n07b4077f5cf3

・Clean Artitecture
structの話
usecase(router)->repository の詰め替えでバリデーションがかかる .toRUserとかする errorで結果判別
ロジック内では常にrepository structを使用
repository->table の詰め替えでテーブルに登録できる形への変換とチェックを行う errorで結果判別
table->repositoryやrepository->usecaseはほぼ間違いなく通る想定

変換ロジックはすべてrepository structに実装 データの正しさの責任を持つ(Entity)
VOをもたせる可能性あり(email型、birthday型等々)

presentation(router)
usecase(変換)
model(transaction)
repository(変換)
infra

https://little-hands.hatenablog.com/entry/2018/12/10/ddd-architecture

・面接官として聞くこと
最近興味のある技術・触ってみたい技術・なぜ?
社内でやりたいこと・なぜ?
長所短所
今までで何かを改善した経験・なぜ?
失敗した経験・なぜ?・対策

・SQL
https://www.ai-shift.co.jp/techblog/1980
https://techblog.gmo-ap.jp/2021/06/23/sql-antipattern-1/
https://www.wantedly.com/companies/tutorial/post_articles/299434

・PG原則
https://qiita.com/yokarikeri/items/cbdef66fca460253cc7f
https://qiita.com/yokarikeri/items/a0163bbb5ec0dfa85e07

こうみると組織論とかPMの話とAtomicDesign/XDの話の2強か?
どっちもまだやってない部分なので、いろいろ模索している段階って感じがする。

今週の調子とか

体調はちょっと悪かったけど、それ以外は問題なし。
やっぱり仕事以外の時間にchatwork開いちゃうのはよくないね。
調べ物しててこれ仕事に使えそう!ってなってついメモっちゃうんだけど、切り分けないと…。
多少はいいとは思ってるけど、エスカレートする未来しか見えないんで。
そういう意味では同僚がプライベートを大事にしているかどうかって職場選びで結構重要なのかも。
自己犠牲はほどほどに。その先に幸せは存在しないので。

あとふるさと納税でとどいた食べ物がおいしくて幸せです。

その他感想とか

https://note.com/kentarodoi/n/nf2879fc610be
https://note.com/romney/n/nd26e33835507

この辺の記事がかなり心に刺さったなと。
仕事以外で身につけた知識を仕事に還元するのは、うまくいってたらまだいいんだけど一つ間違えれば記事みたいな状態に陥る。
ここ最近周りの人に対するストレスも結構あったけど、原因はこれが大半だと思う。(それ以外の面ももちろんあるけど)

その流れでこの人の本が面白そうだなーと。
心療内科的アプローチとエンジニア的視点が併せて書かれているのはニーズにマッチしている気がする。
https://karamage.booth.pm/
ついでに技術書典も気になってきたので今度開催されたらいってみよう。

あと https://www.amazon.co.jp/dp/4816364439 も買いました。
まだ読んでないのがあれだけど、今の自分に使うというよりは過去の自分や未来の自分、周りの人に対してなにか活かせることがないかなって感じ。
積ん読多すぎるんでネットからの情報収集だけじゃなくてきっちり本を読んでいきたいぜ…。

さて今週は「遠い空へ」。

寝れなくて、そのまま朝を迎えたので散歩したんだけど久々にwhisper grain聞いた。