2020-01-01から1年間の記事一覧
エンジニア3年目の2020年が終わるので、今年1年何をしてきたかを振り返りました。新しい技術を使った個人開発、競技プログラミング(AtCoder)、CTF、デザインパターンの勉強など色々なことに取り組めた1年でした。
Atomic Designについて体系的に学ぶため「Atomic Design 〜 堅牢で使いやすいUIを効率よく設計する」を読んでポイントをまとめました。Atomic Designやその周辺知識をまとめて得ることができたので読んで良かったです。
Rubyの自己yieldについてまとめました。自己yield は、ブロックを渡されたメソッド内で yield self としてオブジェクト自身(self)を引数としてブロックに渡すことを言います。
MySQLで Waiting for table metadata lock のエラーが発生して、詳しく知りたくなったので、関連しているオンラインDDLとともに調べ、手元で試してみたことをまとめました。
Rubyのアクセスメソッド attr_writer, attr_accessor でインスタンス変数をセットするときにレシーバ(self.)を省略できないことについてまとめました。
様々なリファクタリングのパターンについて、Rubyを使って説明している名著「リファクタリング Rubyエディション」を読んでポイントをまとめました。今まで読んだ技術書の中でもトップクラスに学ぶことが多かったです。
リファクタリング Rubyエディションで紹介されている「抽象スーパークラスからモジュールへ」についてまとめました。継承関係を持っているものの、スーパークラスのインスタンスを生成させたくない場合に有効なリファクタリングです。
AtCoderを始めて9ヶ月、ついに水色になれたので、緑色になってから水色になるまでにやってきたことやコンテスト中に意識していることをまとめました。
リファクタリング Rubyエディションで紹介されている「サンドイッチメソッドの抽出」についてまとめました。ほとんど内容が同じメソッドが複数あり、違いがメソッドの途中にある場合に有効なリファクタリングです。
AtCoder Beginner Contest 168 の E 問題「∙ (Bullet)」について極力丁寧に解説をしてみました。
リファクタリング Rubyエディションで紹介されているリファクタリングパターン「コンストラクタからファクトリメソッドへ」についてまとめました。シンプルなサンプルコードを使って説明しています。
リファクタリング Rubyエディションで紹介されているリファクタリングパターン「タイプコードからポリモーフィズムへ」についてまとめました。case文での条件分岐が存在する場合に有効なリファクタリングです。シンプルなサンプルコードを使って説明していま…
リモートワークが始まって3ヶ月目に入り、自宅のデスク環境をコツコツ改善してきた結果、ある程度完成したのでブログにまとめてみます。
リファクタリング Rubyエディションで紹介されているリファクタリングパターン「nullオブジェクトの導入」についてまとめました。nilチェックが多いコードに有効なリファクタリングです。シンプルなサンプルコードを使って説明しています。
リファクタリング Rubyエディションで紹介されている「継承から委譲へ」についてまとめました。シンプルなサンプルコードを使って説明しています。
リファクタリング Rubyエディションで紹介されている「モジュールの抽出」についてまとめました。シンプルなサンプルコードを使って説明しています。
リファクタリング Rubyエディションで紹介されている「委譲の隠蔽」についてまとめました。シンプルなサンプルコードを使って説明しています。
Rubyによるデザインパターンで紹介されている16パターン全てを5ヶ月かけてアウトプットしたので、それをまとめました。各パターン、オリジナルのシンプルなコードを使って説明しています。
「Rubyによるデザインパターン」で解説されている「Convention over Configuration」についてまとめました。Rails の scaffold に似た機能を実装してみました。
すごくシンプルな Rubyのコードで、デザインパターン((ストラテジーパターン、テンプレートメソッドパターン))が適用できるケースを考えてみたので宜しければ参考にしてみてください。
「Rubyによるデザインパターン」で解説されている「メタプログラミング」についてまとめました。attr_reader と同じ機能を、メタプログラミングを使って実装しながら説明しています。
「Rubyによるデザインパターン」で解説されている「DSL(ドメイン特化言語)」についてまとめました。Railsのコードで実際に使われている箇所をピックアップして説明しています。
「Rubyによるデザインパターン」で解説されている「インタプリタ(Interpreter)パターン」についてまとめました。サンプルコードを使って説明しています。
「Rubyによるデザインパターン」で解説されている「ビルダ(Build)パターン」についてまとめました。問題のあるコードをビルダパターンでリファクタリングしていく形式で説明しています。
「Rubyによるデザインパターン」で解説されている「ファクトリメソッド(Factory Method)パターン」についてまとめました。問題のあるコードをファクトリメソッドパターンでリファクタリングしていく形式で説明しています。
AtCoderを始めて5ヶ月、目標としていた緑色になれたのでここまでやってきたことなどをまとめました。そもそもAtCoderとは何かや、モチベーションの維持方法についても書きました。
スクラムについて一から解説している「スクラムブートキャンプ」を読んでまとめました。この本の紹介に書いてある「はじめて『スクラム』をやることになったら読む本」という言葉通り、マンガをはさみながらの説明はとても分かりやすかったです。
「Rubyによるデザインパターン」で解説されている「シングルトン(Singleton)パターン」についてまとめました。オリジナルのサンプルコードを使って説明しています。
ゴルフ場を都道府県でしか絞り込めない既存のサービスにうんざりしていたので、移動時間で絞り込めるゴルフ場検索サービスを作りました。使用した技術についても記載しています。
「Rubyによるデザインパターン」で解説されている「デコレータ(Decorator)パターン」についてまとめました。オリジナルのサンプルコードを使って説明しています。