はじめに
お疲れ様です。yojiです。
今週は出張などもあってかなり忙しく、個人的にはとても大変な週でした。
(正直、かなり疲労困憊です...)
ただ、その分学びが多かった週になりました。
備忘録も兼ねて、今週取り組んだとと得られた学びについてまとめていきます。
今週の出来事
今週は大きく分けて次の3つの出来事がありました。
業務タスクに関する設計提案と資料作り
こんなことしました
開発中に実装したい機能の提案を受け、仕様検討から設計までを行う、ということをしました。
機能追加自体や仕様検討、設計などは息をするように日頃からしているのですが、今回は次のバージョンの目玉機能ということもあり、かなり慎重に検討しました。
また、最近とあるドキュメント化の本(以下)を読んでおり、こちらの書籍の内容を活かせないかな、と思って気合い入れて資料作りしました。(本の感想はまた今度)
最終的に作成した資料で上手に設計提案を行い、承認を得られることができました。
GW明けから自分の思い通りの設計で実装できます。
結構嬉しい。
工夫したこと
資料を作成する前に、「ドキュメントの目的」と「ドキュメントを読む人」を明確にしました。
また、どこかのページから書き出すのではなく、一番最初に目的を整理したページとアウトラインのページを作成しました。
これによって資料の軸がブレることがなくなって、芯の通った資料にすることができました。資料の方向性を悩む時間も減ったので、良い方針で資料作成できたかなと思っています。
また、とにかく図を入れ込むことを心がけました。
結局、資料説明の時に一番効果的だったのは図でした。
文字で着飾るより、図が早いしインパクトもあります。
メンテナンスが大変だったり、文字より賞味期限(図が実装を正確に表現することができる期間)が短かったりするのでケースバイケースですが、説明資料としては有効なのかなと感じました。
所感
色々試行錯誤しながら資料作成したので、いつもより時間が掛かったことが課題です。
慣れれば解決するのか、実は効率の悪い方法を取っていたのか、色々原因は考えられますが注意したいと思いました。
OOCのスタッフ打ち上げ に参加
こんなことしました
表題の通りです。
社外のエンジニアの方と飲む機会があまりなかったので、良い機会になりました。
エンジニアとしての悩みを打ち明けたり、今後のカンファレンスの展望の話も聞けたりして大変楽しかったです。
春和の候!若手エンジニアふんわりLT Night! に参加
こんなことしました
若手だけのLT会に参加してきました。今回は登壇ではなく公聴者として参加しました。
この会に参加するのは初めてで、知り合いも全然いなくて緊張していました。
wakate-funwari-study.connpass.com
LT内容と学び
どのLTも内容がまとまっていてわかりやすく、かつ面白かったです。
簡単に概要と所感をまとめておきます。
1. 個人開発でAWSを使いたい
javadogさん(https://twitter.com/Javadog_)
概要
・個人開発でのアプリをAWSで運用してみたいが、とにかく高すぎる(月20000円〜)
・開発期間中くらいは安く済ませたい→激安サーバーやfirebaseを組み合わせた方法を検討
・開発が終わってからすぐにAWSに移行するために、repositoryパターンを使った実装の隠蔽を事前にしておく
・伸びるのを待つ
所感
・AWS高過ぎて個人レベルでは使いにくい点に非常に共感。本当は勉強で触りたい...
・安く済ませる方法も紹介していただいたが、機能に制限があって使いにくさが気になる
・「伸びるのを待つ」がめちゃくちゃ好き
2. 友達にコード送ったら1行にされた
ひなさん(https://twitter.com/mi111025)
概要
・個人開発で、スライダーの位置によってボタンの色を変化させる機能を実装した
・いざ実装して友人に見せたところ、コードが1行になって返ってきた
・HSL色空間で簡単に実現できる(色相、彩度、明度の組み合わせで色を表現する関数)
所感
・そもそも個人開発の出来が良くて驚いた
・HSL色空間の指定方法は知らなかった
・レビューしてもらうことは大事だと思った。私にはレビューお願いできる人周りにいないけど...
3. Let's learn code review
RioFujimonさん(https://twitter.com/RioFujimon)
概要
・コードレビューの勉強は後回しになりがちなので、この機に学習してほしい
・コードレビューの標準として、Google's Code Review Guidelinesを紹介
・コードレビューの目的は、コードベース全体の健全性が時間と共に向上することを確認すること
・議論紛争の解決には、レビュアーガイドラインや直接会議で解決
・わからないことは実装者に直接質問しよう
所感
・確かにコードレビューの勉強は後回しになっている
・完璧なコードを求めない、という点に驚き。今まで完璧を求め過ぎていたかもしれないと反省
・良い機会なので、Google's Code Review Guildelinesを勉強したい
4. Result型の次のエラーハンドリング
sousan さん(https://twitter.com/moso_midnight)
概要
・推し:ずっと真夜中でいいのに。
・Typescriptにて、try-catch や Result型でのエラーハンドリングをRailway Oriented Programmingで実装してみた
・try-catchなどは処理が増えると分岐が増え、エラーの網羅性が心配になる
・メリット:エラーの網羅性と保守性が向上した
・デメリット:実装が重たい。エラーハンドリングが易しめの実装には向かない
所感
・Railway Oriented Programmingをそもそも知らなかった。
・直近でエラーの要件が厳しい案件を触っていたので、工数感が重くても実装する価値があるかもしれないと感じた。
5. 記事の一歩目は業務内容から
taiyamaさん(https://twitter.com/taiyama1212)
概要
・記事をまだ書いたことがない人に記事を書いてほしい
・最初は業務内容をアウトプットにするのが良い
・業務内容をまとめていると、社内の人から頼られるかもしれない
所感
・記事を月10ペースで書く、というのが凄過ぎて衝撃だった
・何かしらの記事を書きたいと思っていたので、かなり参考にさせていただきたい
・「備忘録」を使うとそれっぽくなる
6. Laravelのサービスコンテナを知ろう
Takuminさん(https://twitter.com/Ota_Rg_Blog)
概要
・Laravelにおいて、クラスの依存関係を管理しながら依存性注入ができる強力なツールであるサービスコンテナを紹介
・DIは、あるオブジェクトを別のオブジェクトの機能として使うデザインパターン
・依存関係を解決しながら別の機能を注入できる→疎結合を実現
所感
・AngularでもDIを多用(コンポーネントにサービスを注入する常套手段)なので、かなり親近感を覚えた
・依存関係を解決しながら、という点は驚き
・Laravelはこれまで興味なかったが、勉強してみたいと思った
7. Bloom FilterをJavaScriptで実装してみた
kii310さん(https://twitter.com/kii310_nyan)
概要
・Bloom Filterとは、「あるデータが集合の要素である」ことを判定するデータ構造で、ビット配列を使うために軽量という強みがある
・このBloom Filterで、DBの負荷をとことん下げたい
・Javascript(Typescript)の固定長ビット配列(TypedArray)を使って実装した
所感
・Bloom Filterの話を聞いている時はあまり実用性のイメージがわかなかったが、DBの話でなるほど、と思えた
・フロントエンドエンジニアをやっているとビット配列を触る機会はあまりないので、新鮮だった
8. 正しいプロファイリングをしよう
saitosさん
(タイトルうろ覚えです...すみません)
概要
・「推測するな、計測せよ」は「推測はNG」ということではない。「適切な推測」をしろ、ということ?
・正確なプロファイリングをすることで、サーバーのネックになっている箇所を見つけ出したい
所感
・「推測するな、計測せよ」という言葉を初めて聞いた。確かにこの言葉は誤解を招きそう...
・プロファイリング自体にはかなりの興味を持っていたので面白かった。計測手法は流石に参考にできそうにないが...
9. ライブの運営方法についての話
こばさん さん(https://twitter.com/ynstg)
概要
・北海道で様々なライブを運営してきたので、そのノウハウのお話
・企画書作ったり、機材費を自腹で払ったり...辛いことの方が多い
・神頼みもする
・ライブ当日がとても楽しい
所感
・ライブ含め、スタッフは中々辛いことが多いと思うと感じた
・かなり辛そうな運営を何回も実行されているので、とても情熱のある方だな、と尊敬
・自腹辛そう
0. 懇親会
概要
・参加者の皆さんと雑談
・運営スタッフの方や、登壇者のsaitosさんとも会話できた
所感
・バックエンドエンジニアが大半だった印象。フロントエンドエンジニア求む
・PHP Kaigiやぺちこんの話、RSGTの話は興味深かった。全然PHP書けないけど参加してみたいと思った
最後に
火曜日に仕事の都合で大阪まで日帰り出張することになってしまい、水曜日、木曜日に打ち上げとLT会になって非常にハードなスケジュールでした...
ただ、社外のエンジニアと交流して、勉強やアウトプットのモチベーションが上がったのは良かったかなと思っています。
一旦次のぺちこん応募します。
編集後記
・フロントエンドカンファレンス北海道悩み中
・LT会の感想出すの早過ぎだろ
もっと早くアウトプットできるようになりたい...