アーカイブ 2019
45 件の記事
Webフロントエンド ハイパフォーマンス チューニング
『Webフロントエンド ハイパフォーマンス チューニング』の書評。単なるチューニング手法の紹介にとどまらず、ブラウザのレンダリングの仕組みや計測方法までふまえて解説する一冊。フロントエンドの性能改善を、原理から理解して取り組みたいときに読んでおきたい。
エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする
『エンジニアの知的生産術』の書評。効率的に学び、整理し、アウトプットするための方法論を、エンジニアという職種に引きつけて語る一冊。学びのやり方そのものを見直し、改善するためのヒントが得られる。
execコマンドによるリダイレクト
シェルのexecコマンドを引数なしで使うことで実現できる、ファイルディスクリプタの動的なリダイレクトについて解説します。標準入出力の切り替えやログ出力の制御、端末操作の仕組みを、具体的な使い方の例を交えて紹介します。
master直プッシュの際にプロンプトで確認するようにする
gitでmasterブランチへ誤って直接pushしてしまうのを未然に防ぐため、pushの前にプロンプトで確認を挿むセーフティネットの作り方を解説します。GitHub側の設定で禁止する方法もありますが、運用上の都合でそれが難しいケースを想定し、Gitのhooksを使って実現します。
dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ
Dockerボリューム削除問題を解説。イメージ・コンテナ削除でもボリューム残存する理由、docker volume rm、docker-compose down -v オプション活用を紹介します。
PHPで学ぶデザインパターン - Stateパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Stateパターンを取り上げます。状態ごとの処理をそれぞれ別のクラスにカプセル化することで、状態に応じた振る舞いの切り替えを条件分岐に頼らず実現するこのパターンの仕組みと、PHPでの実装方法を解説します。
ゴリラで学ぶソフトウェアの法則10選
パーキンソンの法則、ブルックスの法則、コンウェイの法則など、プロジェクト管理やソフトウェア開発の現場で役立つ法則10選を、ゴリラのイラストとともに楽しく学べる記事です。以前書いたソフトウェア開発の法則の記事をベースに、代表的なものを整理して紹介します。
Realizeを使ってgoでホットリロードを実現するメモ
GoでソースコードのホットリロードをRealizeというツールで実現するためのメモです。go getでの導入から、.realize.yamlによる設定、監視サーバーの起動までの手順を紹介し、コードの変更を検知して自動でビルド・再起動させることで開発効率を高める方法を解説します。
PHPerKaigi2019に参加・登壇してきました
PHPerKaigi 2019に初めて参加し、登壇もしてきた際の記録です。「PHPでURLルーティングをつくる」というテーマで発表したURLルーティング設計の内容や、カンファレンスに参加・登壇して得られた所感、周辺の学びを紹介します。
みんなのコンピュータサイエンス
『みんなのコンピュータサイエンス』の書評。コンピューターサイエンスの全体像を、要点を押さえてコンパクトに掴める一冊。個々のトピックを深掘りするより、CSという分野の見取り図をつかみたいときにちょうど良い。
GoogleChromeでBurp Suiteを使う手順
脆弱性診断などのために、Burp SuiteをGoogle Chromeで使えるようにするための設定について解説する記事です。ProxySwitchSharpのようなプロキシ切り替え拡張の利用や、Burpの通信を復号するためのCA証明書のセットアップといった、一連の手順を紹介します。
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での実装方法を解説します。