PHP7.4からPHP8.1までの新機能をキャッチアップ
2022 Mar 21概要PHPの知識が7.3から止まっているので8.1までの新機能を駆け足でキャッチアップする。 PHP 7.3.x - PHP 7.4.x新機能型付きプロパティ<?php class Person { public int $age; // 指定の型だけ代入できるように強制される public string $name; } ?> アロ...
概要PHPの知識が7.3から止まっているので8.1までの新機能を駆け足でキャッチアップする。 PHP 7.3.x - PHP 7.4.x新機能型付きプロパティ<?php class Person { public int $age; // 指定の型だけ代入できるように強制される public string $name; } ?> アロ...
概要この記事はMakuake Advent Calendar 2021の24日目の記事です。(大遅刻しました・・)ラウンドロビンで負荷分散するロードバランサーをGolangで自作してみるという話です。 ロードバランサーとは何かロードバランサーはリクエストを複数のサーバーへ振り分けて負荷分散する(ロードバランシング)機能を持ったサーバーです。 サービスの可用性を高めてくれるリバースプロキシの一種で...
概要 OAuth2、OIDCのキャッチアップで読み漁った資料など。 仕様書 OIDC OpenID Connect Core 1.0 incorporating errata set 1 OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1 OAuth 2.0 Multiple Response Typ...
はじめに本記事では、Golangの標準パッケージであるnet/httpを用いて、HTTPルーターを自作する方法について解説します。 標準パッケージはあまり多くのルーティングの機能を提供していません。 例えばHTTPメソッドごとのルーティングの定義ができなかったり、URLをパスパラメータとして利用できなかったり、正規表現を利用したルーティングの定義ができなかったりします。 その為、実際のアプリケーシ...
概要長文の執筆をする際にテキスト校正を自動化しておきたかったのでやってみた。 構成テキストはGithub上で管理するようにしており、ディレクトリ構成は以下のようになっている。 ├── .circleci │ └── config.yml ├── README.md ├── documents │ ├── はじめに.md │ └── おわりに.md ├── images ├── .tex...
Gitでコミットを分割する方法のメモ。たまにやりたくなる。 // 分割したところを指定。対象commitをeditする。 git rebase -i HEAD~5 // 対象commitがunstageされる git reset HEAD~ // 任意の粒度でadd&commit git add ~ git commit ~ git rebase --continue ...
概要Goでrouterを作ったときにHTTPサーバーのコードの内部を読んだので、その時のメモ。 github.com - bmf-san/goblin HTTPサーバーのコードリーディング基本形Goに入門したとによく見るであろう形のコード。 色々なものが省略されてこの形になっている。 package main import ( "net/http" ) func main() { ...
概要最近、自作ルーティングのgoblinをアップデートしたのでその記録を書き残しておく。 以下は過去ルーティングについて書き残した記事。他にも実装検討フェーズの記事があるが、内容があまり良くないので割愛。 URLルーティング自作入門 エピソード1 URLルーティング自作入門 エピソード2 GolangのHTTPサーバーのコードリーディング Introduction to URL router f...
概要commitを分割したいときの手順についてメモ。 手順# 分割したいところを指定してrebase。対象のcommitをeditにする。 git rebase -i HEAD~5 # unstageする git rebase HEAD~ # unstageしたものを分割したい粒度で再commitする。 git add & git commit # commitが完了したらrebas...
概要spannerのDBマイグレーションで、golang-migrateを使ったのでメモ。 使い方dockerで使う想定。dockerではなくバイナリで実行していたが、ホストマシンのopensslのバージョンに依存して動作しない可能性あるようなので、コンテナ実行が無難だと思う。 MIGRATE_VERSION='v4.14.1' docker run -v /migrations:/migrat...