記事一覧
技術記事・日々の学びをまとめています。
URLルーティングをつくる エピソード3(完結編)
ツリー構造を使ってURLルーティングを自作するシリーズのエピソード3。PHPで、パスパラメータやHTTPメソッド、ツリーベースの探索アルゴリズムに対応したURLルーティングを完成させるまでを解説する。
最新記事
Laravel JP Conferenceにコアスタッフ兼LTスピーカーとして参加してきました
Laravel JP Conferenceにコアスタッフ兼LTスピーカーとして参加し、LaravelのテストのベストプラクティスやDuskについて登壇した経験を紹介します。
ubuntu初期設定メモ
Ubuntuサーバーの初期構築の手順を、ときどき忘れてしまうため実践的なメモとしてまとめた記事です。ConoHa上のUbuntuを例に、パッケージのアップデートや作業用ユーザーの作成、sudo権限の付与、ホストネームの設定といった、初期セットアップで行う作業を解説します。
雑Trelloと雑spreadsheetを公開した話とプライベートのタスクを計測し始めた話
プライベートな時間のタスクを可視化しているTrelloと、自分なりのスプリントの計測データを管理しているスプレッドシートを使った、個人のタスク管理の取り組みを紹介する記事です。ストーリーポイントやスプリント計画を取り入れて、個人のタスクを管理・計測する仕組みについてまとめます。
Laravelでの機能テストの始め方雑メモ
Laravelでの機能テストの始め方と簡単な使い方について、テストを書いたことがない人向けに紹介します。browser-kit-testingを活用したAPIテストの実装例を通して、入門レベルで機能テストの基本を押さえられる内容です。
Goでmysqldumpツールをつくる
SSHとTOML設定ファイルを使い、リモートサーバーのデータベースを自動バックアップするGo製mysqldumpツールをつくる方法を解説します。
PHPで学ぶデザインパターン - Adapterパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Adapterパターンを取り上げます。互換性のないインターフェース同士を適合させ、既存のクラスに手を加えることなく再利用できるようにするこのパターンの仕組みと、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Bridgeパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Bridgeパターンを取り上げます。機能の拡張と実装の拡張という2つの階層を分離し、それぞれを独立して拡張できるようにするこのパターンの考え方と、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Mediatorパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Mediatorパターンを取り上げます。複雑になりがちなオブジェクト同士のやり取りを仲介役(Mediator)に集約し、オブジェクト間の関係の見通しを良くするこのパターンの仕組みと、PHPでの実装方法を解説します。
PHPカンファレンス仙台2019に参加した
PHPカンファレンス仙台2019で聞いた、TDD、レガシーPHPの移行、PSR、ミドルウェア設計、テストの課題解決などのセッションを紹介します。
入門監視
『入門監視』の書評。監視の基本的な考え方と実践を学べる一冊。何をどう監視するか、アンチパターンを避けながら効果的な監視を組み立てる勘所を押さえられる、監視を学び始めるときの入門書。
ソフトウェアアーキテクトが知るべき97のこと
『ソフトウェアアーキテクトが知るべき97のこと』の書評。著名なソフトウェアアーキテクトたちの姿勢や考え方を、97の短いエッセイとして知ることができる一冊。断片的ながら、アーキテクトとしての視点や心構えに幅広く触れられる。
grep入門
習得するgrepコマンド手法。正規表現による検索、オプション活用、OR検索・AND検索の実装、ディレクトリ除外など、テキスト検索とファイル操作の効率化を解説
URLルーティングをつくる エピソード2
ツリー構造を使ってURLルーティングを自作するシリーズのエピソード2。エピソード1のツリー構造を洗練させ、エンドポイントのマッピングやスケーラブルなルーティングロジックの実装を解説する。
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のインターフェースとタイプヒンティングについて解説します。インターフェースはメソッドの実装を保証する「契約」のような役割を持ちます。機能と実装を分離し、コードの再利用性と柔軟性を高める方法を、具体例を交えて紹介します。