こんなご時世だからこそ、自分ができることに集中したいよねと強く感じた1週間(2020.04.06 ~ 2020.04.12の週報)
今週のハイライト
- 会社のメンバーで1週間のふりかえりを試験的に始めてみました(僕が巻き込んだ形)
理由としては二つ
- リモートワークでコミュニケーションが減っており、ラフな話ができる機会を設けたいと感じた。
- コロナの影響でアンコントローラブルな事象は増えており、ストレスの変数が多くなっている。
なんで「ふりかえり」なの?
- 自分自身の行動・思考をふりかえることで、アンコントローラブルな事象ではなく「コントロールできる」ということに意識を向けることで、ストレスの軽減を実現したい
- どんなふりかえりをしたの?
- 「ファン・ダン・ラーン」というフレームワークを用いたふりかえり
- 「Fun」「Done」「Learn」という軸で、1週間の行動・考えていたことを書き出してもらう。
- あえて「KPT」はやらない
- 「ファン・ダン・ラーン」というフレームワークを用いたふりかえり
- やってみてどうだった?
- 自分が感じたこと
- ファシリテートとタイムキーパーを同時にやるのはむずい。ファシリテートに集中したい。
- スプレッドシートでにふりかえりを記載してもらったが、シートの構成、運用などあいまいな部分があると感じた。
- 自分が感じたこと
- 今後どうするの?
- 継続したいと思っている
- ふりかえりの力は、継続してようやく実感できるので、少なくとも1ヶ月は続けたい
- シートの改善、フレームワークの選択などチャレンジできることはたくさんあるので、少しづつやっていく
- 継続したいと思っている
今週のアウトプット
- 読んでいて面白いと感じた部分
・ 究極的に、技術というのは我々にとっては手段です。プロダクトの価値を最大化させ事業を成功させることこそが目的。この目的を忘れないことが非常に重要だと思っております。
・もともとザ・スタートアップの時にはモノリシックなPHPのシングルリポジトリのアプリケーションで動いていたのですが、やはり当時は少ない人数でrapidに開発していたというところで負債もたくさんたまっております。
- 感想
- 技術負債よりも別の課題解決を優先した結果、技術負債も溜まってしまう。スタートアップあるあるな気がする。
- 技術負債を見越して、「あえて実装しない」ということもできるようになりたいと感じた。(割と高等テクニックな気がする)
- スタートアップは1プロダクトに集中して開発することがほとんどなので、技術負債が出てしまうのは仕方ない気もする。
- 技術負債を許容した上で、ドメインの課題解決するのに力を注ぐことは適切ではあるけど、最適解ではない気がする
- では最適解は何か
- プロダクトのロードマップを描ける人間(プロダクトマネージャー)が、技術負債を意識した上で適切な機能開発を行うか、意思決定していくことだと思う。
- ドメインの課題解決と技術負債とのバランスを絶妙に取れる人が、初期のスタートアップには必要ではないか。
- 上記を実現できる人材は、なかなかいない印象がある。
- では最適解は何か
- 技術負債よりも別の課題解決を優先した結果、技術負債も溜まってしまう。スタートアップあるあるな気がする。
- 技術負債を見越して、「あえて実装しない」ということもできるようになりたいと感じた。(割と高等テクニックな気がする)
フロント
- コード分割
- useParams
- Avoid Export Default
- Option monad in TypeScript
- endWith
- キャッチ句の変数は型アノテーションを持つことはできません
- TypeScript
- JavaScriptの上位集合という理解
- なぜ使うのか
- ドキュメントとしての側面
- コードを読むことが容易になる => 開発効率が上がる
- Linterとしての側面
- ES5へのコンパイラとしての側面
- babel
- ドキュメントとしての側面
- TypeScriptの型とJavaScriptの型
- TS => 型検査(tsc) => JS => 型検査(JavaScriptエンジン) => ブラウザ
- それぞれの型検査は別物と考えた方が良い
- TS => 型検査(tsc) => JS => 型検査(JavaScriptエンジン) => ブラウザ
- Tuple
- 初期値の設定と変数の参照の時だけ型チェックが厳しい
バックエンド
- Goのstruct
- go では継承がないため、embed という形で field を引き継がせることができる。 interface の場合は interface のみを embed でき、struct の場合は interface, struct を embed できる
- yamlのinline
- Goのいけてるライブラリ
- int64型・uint64型からstring型へ変換する方法
- nil check
- Goの空文字判定
- mongo
- Goの正規表現
- https://medium.com/eureka-engineering/regexp%E3%81%A8%E3%81%AE%E4%BB%98%E3%81%8D%E5%90%88%E3%81%84%E6%96%B9-go%E8%A8%80%E8%AA%9E%E6%A8%99%E6%BA%96%E3%81%AE%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%A8%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-984b6cbeeb2b
- https://ashitani.jp/golangtips/tips_regexp.html
- Goのテスト実装パターン
- GoのUnmarshal
- Gin
その他
- ACL
- ネットワーク上のユーザーがアクセスできるサーバーやファイル、アプリケーションなどの情報を定義したリスト
- https://kotobank.jp/word/ACL-1317
- https://www.itbook.info/network/cisco24.html
- ホワイトリストとブラックリストをまとめたものをACLと定義づけている?二つを内包しているのかな?
- サッカーのトーナメントだと思った...
- MIMEタイプ
- クライアントに対して、転送するドキュメントの種類を伝える機能です。ウェブにおいて、ファイル名の拡張子は意味を持ちません
- RBAC
- ロールベースアクセスコントロールの略
- https://qiita.com/kawasima/items/8dd7eda743f2fdcad78e
- ジェイウォークの原則
- ポモドーロ
- 一番分かりやすい OAuth の説明
- nits