記事

ブログのシステムを移行した

ポエム

ブログのシステムを移行したので記念投稿。 bmf-tech.comはWordpress→Laravel製自作CMS→Go製自作CMSと3世代目のアップデートをすることができた。 振り返りの記事をそのうち書く予定。 ...

CMS

PHP7.4からPHP8.1までの新機能をキャッチアップ

アプリケーション

概要PHPの知識が7.3から止まっているので8.1までの新機能を駆け足でキャッチアップする。 PHP 7.3.x - PHP 7.4.x新機能型付きプロパティ<?php class Person { public int $age; // 指定の型だけ代入できるように強制される public string $name; } ?> アロ...

PHP

legoでLet's encryptのSSL証明書をDNS-01方式で取得する

インフラストラクチャ

Conoha VPSでAnsibleを使ってLet's EncryptのSSL証明書の取得を行おうとしていた。 証明書の取得はDNS-01方式(ドメインのTXTレコードに認証局が発行したワンタイムトークンを登録して検証する)で取得したかったので、ConohaのAPIを使って、TXTレコードを登録、削除するようなスクリプトを組んで対応(cf. github.com - k2snow/lets...

Let's Encrypt Tips

Golangでロードバランサーを実装する

アプリケーション

概要この記事はMakuake Advent Calendar 2021の24日目の記事です。(大遅刻しました・・)ラウンドロビンで負荷分散するロードバランサーをGolangで自作してみるという話です。 ロードバランサーとは何かロードバランサーはリクエストを複数のサーバーへ振り分けて負荷分散する(ロードバランシング)機能を持ったサーバーです。 サービスの可用性を高めてくれるリバースプロキシの一種で...

Golang ロードバランサー ラウンドロビン

2021年の振り返りと来年の抱負

ポエム

2021年の振り返りと来年の抱負 去年のやつ。 2020年の振り返りと来年の抱負 今年も振り返りを書いておこうと思うが、年々面倒になってきたのでざっくりにかく。 良い買い物 2021は自分の人生で一番出費があった年だったと思う。 結婚式 引っ越し 車 M1 Macbook Air オフィスチェア あと何か色々細々としたものを買ったような気がする。 どちらかといえばケチなタイプだが、有意義な出費...

振り返りと抱負

コンテナで始めるモニタリング基盤構築

インフラストラクチャ

この記事はMakuake Advent Calendar 2021の17日目の記事です。 気づけば入社して丸3年が経ち、会社のアドベントカレンダーも3回目の参戦です。 ここ1年はRe-ArchitectureチームというMakuakeのサービス基盤の開発・運用を行うチームに所属し、色々と奮闘してきました。 来年もきっとあれこれと奮闘するでしょう。 Re-Architectureチームの求人はこちら...

Docker Docker Compose Elasticsearch Grafana Kibana Prometheus cadvisor efk fluentd node-exporter

StreamYardでKeynoteの発表者ディスプレイを表示しながら配信する方法

ツール

概要 StreamYardを使ってプレゼンする機会があったのでやり方をメモしておく。 Keynoteの発表者ディスプレイを表示しつつ、再生中のスライドだけをStreamYardで共有する方法について手順をまとめる。 必要なもの ディスプレイが2枚必要。 手順 Keynoteでプレゼン資料を開く。ウインドウで再生をクリック。 再生中のウインドウ画面右上、発表者ディスプレイをウインドウで表示。...

Keynote StreamYard Tips

net/httpでつくるHTTPルーター自作入門

アプリケーション

はじめに本記事では、Golangの標準パッケージであるnet/httpを用いて、HTTPルーターを自作する方法について解説します。 標準パッケージはあまり多くのルーティングの機能を提供していません。 例えばHTTPメソッドごとのルーティングの定義ができなかったり、URLをパスパラメータとして利用できなかったり、正規表現を利用したルーティングの定義ができなかったりします。 その為、実際のアプリケーシ...

Golang HTTP

ISUCON11に参加した

ポエム

今年もISUCONに参加してきた 去年に続き、今年も同じメンバーで参加してきた。 ISUCON参加はこれで3度目になる。 bmf-tech.com - Road to ISUcon bmf-tech.com - ISUCON10に参加してきた この1年間はメンバーと去年のKPTを元に、ボトルネックの調査までのフローやオペレーションの練習、全ISUCON過去問を見て出題傾向や解法のパターンなどの勉...

ISUCON ISUCON10

ECS on Fargate環境でDatadog APMを導入

インフラストラクチャ

概要ECS on Fargate環境でDatadog APMを導入したときの雑メモ。 PHPコンテナイメージの調整php-fpmのイメージをベースとしたカスタムイメージを使っている。datadog-php-tracerをが必要なので以下のような感じでイメージに組み込んでいる。 ENV DDTRACE_VERSION=0.65.1 RUN curl -Lo datadog-php-tracer.a...

AWS Datadog ECS Fargate