ホーム

アルゴリズムとデータ構造 - キュー

アルゴリズムとデータ構造

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 キュー 常に先に追加されたデータからしかアクセスできないようにデータを一列に並べた構造 スタックとは追加と削除の方向が逆になる。 FIFO(First In First Out) 先入れ先出し 待ち行列ともいう。 データの...

キュー

アルゴリズムとデータ構造 - スタック

アルゴリズムとデータ構造

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 スタック 常に最新のデータからしかアクセスできないようにデータを一列に並べた構造 LIFO(Last In First Out) 後入れ先出し 常に最新のデータへアクセスしたいときに便利な構造 データの追加をPush、削除...

スタック

GolangのHTTPサーバーのコードリーディング

アプリケーション

概要 この記事はQiita - Go6 Advent Calendar 2019の20日目の記事です。 GolangでHTTPサーバーを立てるコードの詳細を追ってコードリーディングします。 参考実装 コードリーディングしていく実装はこちら。 package main import ( "net/http" ) func main() { mux := htt...

Golang コードリーディング router

アルゴリズムとデータ構造 - 配列

アルゴリズムとデータ構造

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 配列 データを1列に並べたもの データへのアクセスは容易だが、追加や削除には時間がかかる 配列のデータはメモリの連続した領域に順番に格納される 固定長のメモリを確保する 宣言時に確保(静的確保) 実行時に確保(動的確保) ...

配列

アルゴリズムとデータ構造 - リスト

アルゴリズムとデータ構造

概要アルゴリズム図鑑を参考に、アルゴリズムとデータ構造を学ぶ。 実装はgithub - bmf-san/road-to-algorithm-masterにも置いてある。 リスト(線形リストの片方向リスト) データを一直線上に並べた構造 各ノードは次のノードへのポインタを持つ データの追加や削除は容易だが、アクセスには時間がかかる リストでは、データは連続したメモリ領域に格納される必要はない 一...

連結リスト 片方向リスト

PHPカンファレンス沖縄2019に参加してきた

ポエム

PHPカンファレンス沖縄に参加してきた先月に続きPHPカンファレンスに参加してきました。 沖縄は6月末に宮古島にいった以来で、少し気温の変化が感じられました。 セッション実用PHPメタプログラミング実用PHPメタプログラミング evalは最終手段 ex. foreach内でevalを使って関数定義するとか →Closureで頑張る 大いなる力には大いなる責任が伴う 静的解析の恩恵が受けられな...

PHP PHPカンファレンス

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

ポエム

PHPカンファレンス北海道2019に参加してきた2ヶ月ぶりのPHPカンファレンスに参加してきました。(前回はPHPカンファレンス福岡2019に参加・登壇してきました) 北海道は子供の頃数年ほど住んでいたり、祖父母が住んでいたりと縁の地なので、他のカンファレンスとはちょっと違った感情を感じて、ポエミーでエモい気持ちになりながら現地で過ごしていました。(昔住んでいた家やよく遊んでいた公園を見に行ったり...

PHP PHPカンファレンス

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

アプリケーション

概要FuelPHP1.8.0→1.8.2、PHP5.6→PHP7.3へのバージョンアップ対応をした。業務でアプリケーションのバージョンアップ対応を行ったので、取り組みをまとめておく。 スコープ FuelPHP1.8.0 → FuelPHP1.8.2 PHP5.6 → PHP7.3 対象リポジトリ ユーザー側アプリケーション 管理側アプリケーション パッケージリポジトリ ※ミドルウェアのバージ...

PHP FuelPHP

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

インフラストラクチャ

概要 Docker Composeを使ってgolangのtest実行していたら、Operation not permittedというエラーに遭遇した。 対応 Docker Documentation - runtaime-privilege-and-linux-capabilities Dockerコンテナの特権設定をいじると解決する。 gobel_test_db: container...

Docker Docker Compose Linux linux capabilities seccomp Tips

Golangでトライ木を実装する

アルゴリズムとデータ構造

概要トライ木のアルゴリズムと実装についてかく。 bmf-san/road-to-algorithm-master  トライ木とはトライ木(プレフィックス木ともいう。英語はそれぞれ、trie、prefix tree)は文字列の集合を扱う木構造の一種。 各ノードは単一または複数の文字列あるいは数値を持ち(ノードは必ずしも値を持つ必要はない)、根ノードから葉に向かって探索して値をつなげていくことで単語を...

Golang 基数木 トライ木