記事一覧

技術記事・日々の学びをまとめています。

PHPカンファレンス北海道2019に参加してきた
ポエム 2019-10-06

PHPカンファレンス北海道2019に参加してきた

PHPカンファレンス北海道2019で聞いた、PHPの基礎、CI/CD、マイクロサービス、テスト、CPUアーキテクチャなどのセッションを紹介します。

#PHP#PHPカンファレンス

最新記事

FuelPHP1.8.0→1.8.2、PHP5.6→PHP7.3へのバージョンアップした
アプリケーション 2019-10-05

FuelPHP1.8.0→1.8.2、PHP5.6→PHP7.3へのバージョンアップした

FuelPHP 1.8.0から1.8.2、PHP 5.6から7.3へアプリケーションをバージョンアップした際の作業内容と対応ポイントをまとめます。

#PHP#FuelPHP
DockerのOperation not permittedというエラーに対応する
インフラストラクチャ 2019-09-27

DockerのOperation not permittedというエラーに対応する

Docker Composeを使ってGoのテストを実行した際に遭遇した「Operation not permitted」というエラーへの対応メモです。エラーが発生する原因と、privilegedオプションやケーパビリティの付与などによって解決するための方法を紹介します。

#Docker#Docker Compose#Linux#linux capabilities#seccomp#Tips
Golangでトライ木(Trie)を実装する|前方一致検索
アルゴリズムとデータ構造 2019-09-24

Golangでトライ木(Trie)を実装する|前方一致検索

トライ木(プレフィックス木)というデータ構造のアルゴリズムと、そのGoでの実装についてまとめた記事です。O(m)で検索・挿入ができる特徴や、HTTPルーティングなどへの応用、Radix Treeとの使い分けについて、挿入・検索の実装例を交えて解説します。

#Golang#データ構造
Dockerizeを使ってDocker Composeのコンテナの起動順を制御する
インフラストラクチャ 2019-09-17

Dockerizeを使ってDocker Composeのコンテナの起動順を制御する

Dockerizeを使ってDocker Composeのコンテナ起動順を制御する方法。depends_onだけでは不十分な理由、tcp://host:portの待機の仕組み、実践的なdocker-compose例を解説します。

#Docker#Docker Compose#Dockerize
Mackerelで監視対象から外れたホストを再度復帰させる方法
インフラストラクチャ 2019-09-17

Mackerelで監視対象から外れたホストを再度復帰させる方法

Mackerelの監視対象から誤ってホストを退役させてしまったり、意図せず監視対象から外してしまったりしたときに、そのホストを復帰させる方法をまとめたメモです。mackerel-agentを再起動しても自動では復帰しないため、hostIdを更新して対応する実務的な手順をガイドします。

#Mackerel#Tips
Goでクリーンアーキテクチャを実装する実践ガイド
アプリケーション 2019-08-18

Goでクリーンアーキテクチャを実装する実践ガイド

Go でクリーンアーキテクチャを実践する方法を解説。レイヤー分離・依存ルール・ディレクトリ構成・実際のトレードオフを具体的なコードで学べます。

#Clean Architecture#Golang#DIP
MySQLでテストデータを生成するSQL
データベース 2019-07-16

MySQLでテストデータを生成するSQL

MySQLだけでテストデータを生成するSQLの書き方についてまとめたメモです。テストデータをスクリプトで生成する方法は柔軟性が高い一方、数万件のレコードでパフォーマンステストをしたいときなどは、SQLだけでも十分な場合があります。その具体的な書き方を紹介します。

#MySQL#sql#cross join
PHPカンファレンス福岡2019に参加・登壇してきました
ポエム 2019-07-04

PHPカンファレンス福岡2019に参加・登壇してきました

PHPカンファレンス福岡2019に参加・登壇。PHPでのURLルーティング作成の発表や、クリーンアーキテクチャ、コード削除のベストプラクティスを紹介します。

#PHP#PHPカンファレンス
Webフロントエンド ハイパフォーマンス チューニング
パフォーマンス 2019-05-29

Webフロントエンド ハイパフォーマンス チューニング

『Webフロントエンド ハイパフォーマンス チューニング』の書評。単なるチューニング手法の紹介にとどまらず、ブラウザのレンダリングの仕組みや計測方法までふまえて解説する一冊。フロントエンドの性能改善を、原理から理解して取り組みたいときに読んでおきたい。

#フロントエンド#パフォーマンスチューニング#書評
エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする
ビジネス 2019-05-14

エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする

『エンジニアの知的生産術』の書評。効率的に学び、整理し、アウトプットするための方法論を、エンジニアという職種に引きつけて語る一冊。学びのやり方そのものを見直し、改善するためのヒントが得られる。

#書評#知的生産術
execコマンドによるリダイレクト
アプリケーション 2019-05-08

execコマンドによるリダイレクト

シェルのexecコマンドを引数なしで使うことで実現できる、ファイルディスクリプタの動的なリダイレクトについて解説します。標準入出力の切り替えやログ出力の制御、端末操作の仕組みを、具体的な使い方の例を交えて紹介します。

#bash#Shell Script#exec
master直プッシュの際にプロンプトで確認するようにする
アプリケーション 2019-05-08

master直プッシュの際にプロンプトで確認するようにする

gitでmasterブランチへ誤って直接pushしてしまうのを未然に防ぐため、pushの前にプロンプトで確認を挿むセーフティネットの作り方を解説します。GitHub側の設定で禁止する方法もありますが、運用上の都合でそれが難しいケースを想定し、Gitのhooksを使って実現します。

#Git#Shell Script
dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ
インフラストラクチャ 2019-04-28

dockerでイメージとコンテナを削除してもボリュームが消えていなかったときのメモ

Dockerボリューム削除問題を解説。イメージ・コンテナ削除でもボリューム残存する理由、docker volume rm、docker-compose down -v オプション活用を紹介します。

#Docker#Docker Compose
PHPで学ぶデザインパターン - Stateパターン
アプリケーション 2019-04-20

PHPで学ぶデザインパターン - Stateパターン

「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Stateパターンを取り上げます。状態ごとの処理をそれぞれ別のクラスにカプセル化することで、状態に応じた振る舞いの切り替えを条件分岐に頼らず実現するこのパターンの仕組みと、PHPでの実装方法を解説します。

#GoF#PHP#デザインパターン
ゴリラで学ぶソフトウェアの法則10選
アプリケーション 2019-04-17

ゴリラで学ぶソフトウェアの法則10選

パーキンソンの法則、ブルックスの法則、コンウェイの法則など、プロジェクト管理やソフトウェア開発の現場で役立つ法則10選を、ゴリラのイラストとともに楽しく学べる記事です。以前書いたソフトウェア開発の法則の記事をベースに、代表的なものを整理して紹介します。

#ソフトウェア開発
Realizeを使ってgoでホットリロードを実現するメモ
アプリケーション 2019-04-11

Realizeを使ってgoでホットリロードを実現するメモ

GoでソースコードのホットリロードをRealizeというツールで実現するためのメモです。go getでの導入から、.realize.yamlによる設定、監視サーバーの起動までの手順を紹介し、コードの変更を検知して自動でビルド・再起動させることで開発効率を高める方法を解説します。

#Golang#realize
PHPerKaigi2019に参加・登壇してきました
ポエム 2019-04-01

PHPerKaigi2019に参加・登壇してきました

PHPerKaigi 2019に初めて参加し、登壇もしてきた際の記録です。「PHPでURLルーティングをつくる」というテーマで発表したURLルーティング設計の内容や、カンファレンスに参加・登壇して得られた所感、周辺の学びを紹介します。

#PHP#PHPカンファレンス#PHPerKaigi
みんなのコンピュータサイエンス
コンピューターアーキテクチャ 2019-03-25

みんなのコンピュータサイエンス

『みんなのコンピュータサイエンス』の書評。コンピューターサイエンスの全体像を、要点を押さえてコンパクトに掴める一冊。個々のトピックを深掘りするより、CSという分野の見取り図をつかみたいときにちょうど良い。

#書評#データ構造#アルゴリズム
GoogleChromeでBurp Suiteを使う手順
ツール 2019-03-22

GoogleChromeでBurp Suiteを使う手順

脆弱性診断などのために、Burp SuiteをGoogle Chromeで使えるようにするための設定について解説する記事です。ProxySwitchSharpのようなプロキシ切り替え拡張の利用や、Burpの通信を復号するためのCA証明書のセットアップといった、一連の手順を紹介します。

#Burp Suite#セキュリティ#脆弱性