記事

grep入門

コンピューターアーキテクチャ

概要grep雰囲気で使っているマンだったのでとざっくり調べてみた。l 基本grep 検索正規表現 ファイル名 ワイルドカードが使えるので、例えばカレントディレクトリ内の全ファイルを対象とした場合は、 grep "foo" ./* といった具合にできる。 カレントディレクトリ以下のディレクトリも対象にしたい場合は、-rオプションを使う。 grep -r "foo&quo...

Linux grep

URLルーティングをつくる エピソード2

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

概要 URLルーティングをつくる エピソード1の続き。 とりあえず動く形のものを仕上げてpackagist - ahi-routerという名前でパッケージ公開した。 エピソード1からの変更点 エピソード1では、データ構造に木構造を採用してルーティングを作ろうというと試みた。 パフォーマンスが考慮されているライブラリでは、木構造を生成するロジックを用意して、最適化された探索アルゴリズムを実装するよう...

HTTP URLルーティング 木構造 router

2018年の振り返りと2019年の目標

ポエム

※はてぶで公開していた記事を移管しました 概要表題のとおり。 昨年のやつは非常に雑ではあるが、日々色々と考えながら過ごしていたので実際はそれなりによく行動できていた気がする。 振り返り今年のやったことの振り返りから。 今年はエンジニア歴でいうと3年目か4年目くらいだったのだが、インプットの足りなさを自覚していたので、インプットに注力することを意識していた。なので例年に比べるとアウトプット量は少ない...

振り返りと抱負

今年買ってよかったモノ

ポエム

※はてぶで公開していた記事を移管しました  もうすぐ2018年が終わってしまうので今年買って良かったものをリストアップする。 今年は去年よりも充実していて色んなモノを買った年であった。 順位をつけるのはめんどくさいのでテキトーにリストアップしていく。  長財布馬の革のいい感じの長財布を買った。(正確には買ってもらったw) 外側は馬で内側はヌメ革で、使い込むほどいい感じに味がでるというやつだ。 ま...

URLルーティングをつくる エピソード1

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

URLルーティングをつくる エピソード1 概要 以前、Reactで非常に軟弱なルーティング(cf. ReactとHistory APIを使ってrouterを自作する)を作ったが、改めてそこそこにちゃんとしたルーティングを自作したいと思い、挑戦することにした。 きっかけは、最近触っているGolangだ。 Golangでは標準ライブラリを駆使することでアプリーケーションをうすーく実装できるようだが、ル...

HTTP URLルーティング 木構造 router

PHPカンファレンス2018のLT枠で登壇してきた

ポエム

PHPカンファレンス2018「20代が考えるエンジニアキャリア論」というテーマでLTをしてきた。 昨年のPHPカンファレンス2017に引き続き、今年もLT枠で登壇することができてよかったが、来年度こそは25分枠で採択されたい。 PHPカンファレンス参加歴は今年で3回目となるが、毎度PHPのコミュニュティの良さを感じる。 昨年度のPHPカンファレンスから一度も登壇していなかったこともあって、このカン...

PHPカンファレンス キャリア

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

アプリケーション

概要この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 今回はStrategyパターンについてかきます。 Strategyパターンとは?Strategyパターンは、アルゴリズムの切り替えを容易にするようなパターンです。異なる処理をそれぞれ別のクラスに定義するため、 処理を動的に選択できるだけでなく、条件分岐を減らすことも可能としてします。OCP(open/...

デザインパターン PHP GoF ストラテジーパターン

PHPのインターフェースとタイプヒンティング

アプリケーション

概要この記事はPHP Advent Calendar 2018の記事です。(ちょっと早めに投稿しています) インターフェースはメソッドの実装を保証する”契約”的意味合いの他、タイプヒンティングによって実装を抽象に依存させる(=実装の切り替えをしやすくする)こともできる。 インターフェースの定義・実装基本的なインターフェースの定義と実装。 <?php interface Action { ...

PHP インターフェース タイプヒンティング

anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった

アプリケーション

概要 anyenvでインストールしたrbenvでbundlerをinstallしたときにパスでハマった話。 ハマったこと anyenvでrbenvをインストールしてrubyを使っているのですが、bundlerをインストールする際に、 gem install bundler と何も考えずに打つと、bundlerが/usr/local/bin/以下に配置されてしまう。 意図したパスでないためgemで...

anyenv gem rbenv Ruby Tips

PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory

アプリケーション

この記事はPHPで学ぶデザインパターン Advent Calendar 2018の記事です。 概要Factory・Factory Method・Abstract Factoryについてかきます。 Factoryパターンについて知るまずはFactoryパターンについてざっくり説明します。 interface Robot { public function say(); } class Blue...

デザインパターン GoF PHP アブストラクトファクトリーパターン ファクトリーパターン ファクトリーメソッドパターン