アーカイブ 2018
62 件の記事
2018年の振り返りと2019年の目標
エンジニア3〜4年目だった2018年の1年を振り返り、2019年の目標をまとめた記事。インプット不足の自覚からインプットに注力した年の学びや行動を率直に振り返り、今後のキャリアについて考えたことを記す。
今年買ってよかったモノ
2018年に買ってよかったモノをリストアップした記事。長財布などの革製品やiPad、クロスバイク、オーディオ機器など、その年の暮らしを充実させてくれた買い物を、順位をつけずに気ままに紹介する。
URLルーティングをつくる エピソード1
ツリー構造を使ってURLルーティングを自作するシリーズのエピソード1。HTTPリクエストのマッチングやパスパラメータの扱いを軸に、効率的にリクエストを処理するルーティングの仕組みを実装しながら解説する。
PHPカンファレンス2018のLT枠で登壇してきた
PHPカンファレンス2018のLT枠で、「20代が考えるエンジニアキャリア論」をテーマに登壇した内容を紹介する記事です。前年の2017に続く登壇となった今回の発表を振り返りつつ、20代の視点から見たエンジニアのキャリアについての考えをまとめます。
PHPで学ぶデザインパターン - Strategy
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Strategyパターンを取り上げます。アルゴリズムをそれぞれクラスとして切り出して動的に切り替えられるようにし、条件分岐を減らして開放閉鎖の原則(OCP)に沿った設計を実現する方法を、PHPでの実装例とともに解説します。
PHPのインターフェースとタイプヒンティング
「PHP Advent Calendar 2018」の記事の1つで、PHPのインターフェースとタイプヒンティングについて解説します。インターフェースはメソッドの実装を保証する「契約」のような役割を持ちます。機能と実装を分離し、コードの再利用性と柔軟性を高める方法を、具体例を交えて紹介します。
anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった
anyenvでインストールしたrbenvでbundlerを入れた際の/usr/local/binパス問題を、rbenv exec gem installで解決する方法を解説します。
正規表現の基本
正規表現の基本を整理した記事。拡張正規表現(ERE)で扱える記法のうちよく使うものを対象に、文字クラスやアンカー、量指定子、グループ化といったパターンマッチングの構文を、具体例とともにまとめる。
PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory
PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factoryについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
Goならわかるシステムプログラミング
『Goならわかるシステムプログラミング』の書評。Goを通じて、低レイヤーに近いシステムプログラミングを学べる一冊。標準パッケージの内部的な仕様にも触れながら、OSとやり取りする仕組みを手を動かして理解できる。
メモリ管理に関する用語まとめ
書籍『試して理解 Linuxの仕組み』のメモリ管理の章を読む中で、理解の乏しかった用語をいくつかピックアップしてまとめた記事です。OOM Killerや仮想記憶、ページテーブル、ページフォルト、コピーオンライト、スワップといった、Linuxのメモリ管理にまつわる用語を解説します。
2進数、10進数、16進数の変換について
2進数・10進数・16進数といった基数の変換方法を整理した記事。重みや基数という概念から始め、それぞれの進数を相互に変換する計算の手順や、8進数を交えた数値表現の本質を、初級者向けにわかりやすく解説する。
Goのインターフェースを解説:柔軟でテスタブルなコードの書き方
Goのインターフェースについて実践的にまとめた記事です。特定のメソッドの型を列挙する仕組みや暗黙的な実装、インターフェースの合成、依存性の注入への活用、そしてよくある設計上の落とし穴までを、具体例を交えて解説します。
Goのポインタを解説:使うべき場面とよくある落とし穴
Goのポインタについて解説する記事です。値型とポインタ型の使い分けや、ポインタがメモリとパフォーマンスに与える影響、nilポインタやポインタレシーバの扱いなど、実務でつまずきやすいよくある落とし穴を具体例とともに学べる内容にまとめています。
Golangでの変数定義・宣言のパターンまとめ
Goにおける変数の定義・宣言のパターンを、var宣言や短縮形式(:=)といった書き方ごとに整理した記事です。型推論や複数変数の同時宣言、識別子の1文字目の大小による可視性制御のルールまで、実際のコード例を交えて網羅的に解説します。
DockerでElasticsearchとKibanaの環境構築
DockerでElasticsearch・Kibana環境構築を解説。分散型検索エンジン、RESTful API、全文検索・分析機能をdocker-composeで迅速に構築するガイドです。
Google Analyticsのカスタムレポートをつくってみた
Google Analyticsのカスタムレポートを作り、サイトに合った指標を計測してデータに基づきマーケティング戦略を磨く方法を解説します。
Golangの関数についてー関数値/コールバック関数/無名関数
Goの関数について、関数値として扱う場合の関数、関数を引数として渡すコールバック関数、無名関数とクロージャの3つを中心にまとめます。それぞれの定義や仕組みを、具体的なコード例を交えて実践的に解説する記事です。
Jestで始めるJavaScriptのテスト
JestでJavaScriptのテストを始める方法を解説。ESモジュール設定、babelのセットアップ、実践的なテストファイルの書き方を紹介します。
ssh接続セットアップメモ
SSH接続のセットアップ方法についてのメモです。ssh-keygenによる公開鍵認証の設定を軸に、鍵ペアの作成からauthorized_keysの権限管理、sshd_configによるセキュリティの調整までを、リモートサーバーへ安全に接続できるようにする手順として段階的に解説します。