記事一覧
技術記事・日々の学びをまとめています。
ブログのシステムを移行した
bmf-techのブログ基盤を移行した記念の記事。WordPressからLaravel製の自作CMS、そしてGo製の自作CMSへと、3世代を経て進化してきたブログシステムの移行の経緯を振り返る。
最新記事
達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践
『達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践』の書評。ISUCONを題材に、計測から始めるWebアプリケーションのパフォーマンスチューニングを体系的に学べる一冊。ISUCONに参加するなら一度は読んでおきたい、実践的な内容。
ゼロからわかるファイナンス思考 働く人と会社の成長戦略
『ゼロからわかるファイナンス思考 働く人と会社の成長戦略』の書評。長期的な目線で企業価値の最大化を図る「ファイナンス思考」を、やさしく解説する一冊。目先の売上や利益にとらわれず、事業の成長に投資していく考え方の基礎をつかめる。
PHP7.4からPHP8.1までの新機能をキャッチアップ
PHPの知識が7.3で止まっていたため、8.1までに追加された新機能を駆け足でキャッチアップした記事です。型付きプロパティやアロー関数、Union型、match式、Attributes(アトリビュート)など、各バージョンで導入された主要な新機能を実例とともに整理します。
legoでLet's encryptのSSL証明書をDNS-01方式で取得する
Conoha VPS上でAnsibleを使い、Let's EncryptのSSL証明書をDNS-01方式で取得しようとした際の手順をまとめた記事です。legoというACMEクライアントとConohaのAPIを連携させ、DNSのTXTレコードを使ったチャレンジで証明書を取得する方法を解説します。
Golangでロードバランサーを実装する
ラウンドロビンで負荷分散するL4ロードバランサーをGoで一から自作してみた記事です。httputilを使ったリバースプロキシの仕組みや、ラウンドロビンによるスケジューリング、アクティブ・パッシブなヘルスチェックの実装を、構築例を通して解説します。
2021年の振り返りと来年の抱負
2021年の1年を振り返り、来年の抱負をまとめた記事。エンジニアとしての成長や、うまくいったこと・そうでなかったことをざっくりと総括し、2022年に向けて設定した目標を綴る。
コンテナで始めるモニタリング基盤構築
Docker環境のモニタリング基盤構築を解説。Prometheus・Grafana・Kibana・Fluentd・cadvisorでログとメトリクスを一元収集・可視化する実装ガイドです。
StreamYardでKeynoteの発表者ディスプレイを表示しながら配信する方法
StreamYardを使ってプレゼンをする機会があり、そのやり方をまとめたメモです。Keynoteの発表者ディスプレイ(ノートや次のスライドが見える画面)を手元に表示しつつ、再生中のスライドだけをStreamYardで配信・共有するために、ウインドウを分割して同時に活用する手順を紹介します。
net/httpでつくるHTTPルーター自作入門
Golangのnet/httpでHTTPルーター自作を解説。ルートマップ、URLパス解析、メソッド別ルーティング、パスパラメータの仕組みをステップバイステップで実装ガイドします。
ISUCON11に参加した
3年連続・3度目の参加となったISUCON11の参加記録です。昨年と同じメンバーで挑んだ今回、pprofによるプロファイリングやalpによるアクセスログ解析、N+1クエリの解消、MySQLの最適化といった、取り組んだパフォーマンスチューニングの戦略を紹介します。
ECS on Fargate環境でDatadog APMを導入
ECS on Fargate環境でDatadog APMを導入し、PHP-FPM設定・datadog-php-tracerインストール・タスク定義の設定手順を実装例で提示。
AWSコンテナ設計・構築[本格]入門
『AWSコンテナ設計・構築[本格]入門』の書評。AWSのコンテナ関連サービスについて、わかりやすく丁寧に解説してくれる一冊。実務でコンテナを運用する場面を想定した構成になっており、これからAWS上でコンテナ環境を設計・構築するエンジニアの入門書に適している。
textlintとreviewdogを使ってCircleCIでテキスト校正する
長文を執筆する際にテキスト校正を自動化したいと考え、textlintとreviewdogを使ってCircleCI上で校正を自動化した方法を解説する記事です。GitHubで管理しているテキストに対し、CI上でtextlintを実行し、その指摘をreviewdogでプルリクエストにフィードバックする構成を紹介します。
OAuth徹底入門 セキュアな認可システムを適用するための原則と実践
『OAuth徹底入門 セキュアな認可システムを適用するための原則と実践』の書評。OAuthについて詳しく解説した数少ない一冊。認可の原則から実践までを扱い、入門書を読んだあと、仕様書を読み込む前の橋渡しとして手元に置いておきたい。
OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)
『OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編)』の書評。OAuthやOpenID Connectの基本的なセキュリティを、攻撃と対策の観点からやさしく整理してくれる一冊。リダイレクトにまつわる攻撃を題材に、勘所を理解できる。
雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド
『雰囲気で使わずきちんと理解する!整理してOAuth2.0を使うためのチュートリアルガイド』の書評。OAuth2.0を雰囲気で使うのではなく、仕組みを整理して理解するための入門書。読みやすく、OAuth2.0のフローを最初につかむのに適している。
OAuth2、OIDCのキャッチアップのための資料
OAuth2、OIDC、JWTといった認証・認可の標準仕様をキャッチアップするために読み漁った資料をまとめた記事です。OpenID Connect Coreなどの仕様書をはじめ、書籍や実装ガイドまで、これらの技術を理解するうえで参考になったリソースを紹介します。
Gitでコミットを分割する方法
Gitでコミットを分割する方法についてのメモです。git rebase -iやreset、addといったコマンドを組み合わせて、1つにまとまったコミットをより細かい粒度に分割し、レビュアーが読みやすい形に提案を整形するための手法を、実際のコマンド例とともに紹介します。
OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本
『OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本』の書評。混同されがちなOAuth、OAuth認証、OpenID Connectの違いを、入門者にもわかりやすく整理して解説する一冊。それぞれの役割と使いどころを理解する取っ掛かりになる。