Post

php

2019-07-06 01:32:38

PHPカンファレンス福岡2019に参加・登壇してきました

PHPカンファレンス福岡2019に参加・登壇してきましたPHPカンファレンス福岡に初めて参加してきました。 今までCFPに落ち続けていたのですが、今年度は無事採択されることができたのでスピーカーとして参加しました。 東京以外のカンファレンスに参加するのはPHPカンファレンス仙台に続いて2回目でした。 登壇資料はこちら。PHPでURLルーティングを自作する PHPerKaigiでトークをしたネタでしたが、多少の進捗とフィードバックを踏まえた形で改めてトークをしました。(今年度のPHPカンファレンスCFPはルーティングの話だけです。自分としては今年度付き合い続けるテーマになっているのでちょっとずつ...

ポエム

php phpカンファレンス

2019-04-21 00:05:50

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

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Stateパターンとは状態をクラスで用意することで振る舞いを切り替えることができるようなパターン。 実装スイッチのオンオフの状態を切り替えるような例を想定した。シングルトンを使ったほうが良い気がする。 <?php class OnState { public function getState() { return 'ON'; } public function getNextState() { return ne...

プログラミング

GoF php デザインパターン State

2019-04-01 12:42:52

PHPerKaigi2019に参加・登壇してきました

PHPerKaigi2019に参加・登壇してきましたPHPerKaigiに初参加&登壇してきました。 fortee - PHPでURLルーティングをつくるSpeaker Deck - PHPでURLルーティングをつくる 過去登壇した会場よりも客席が近い・スライドが大きい!で結構緊張しました... 登壇を終えてcfpを提出した段階ではまだネタが仕上がっていなくて実装を焦っていました..採択されてからは本番までそこそこの時間を準備に使っていて、ようやく荷が降りたなぁという気持ちになりました。充実したトークができたかどうか正直は自信はないのですが、登壇前後で良い声をいくつか頂いていて、自分としては非...

ポエム

php phpカンファレンス PHPerKaigi

2019-03-24 21:58:28

URLルーティングをつくる エピソード3(完結編)

概要URLルーティングをつくる エピソード1 とURLルーティングをつくる エピソード2 でURLルーティングの自作について試行錯誤の過程を記してきたが、ようやく一段落させることができたので完結編という形で締括くりたい。 完結、といっても課題はいくらでもあるし突き詰めるとこればっかりに時間をかけることができるようなモノであるということは承知している。。。 前回までの話しエピソード1 では、ルーティングのデータ構造を考えたり、とりあえず手を動かして実装のイメージを掴もうとした。(動くところまで持っていけなかった。。。) エピソード2では、データ構造を見直したり、参考になりそうなリポジトリを漁って...

プログラミング

php URLルーティング HTTP アルゴリズム 木構造

2019-02-16 21:36:19

Laravel JP Conferenceにコアスタッフ兼LTスピーカーとして参加してきました

Laravel JP ConferenceのコアスタッフとLT登壇してきました。 コアスタッフとして参加してみて普段、カンファレンスは参加者側なのですが、PHPのコミュニュティに対して微力でも貢献する機会であり、自分の好きなFWのカンファレンスでもあったので、コアスタッフとして参加しました。(ほぼ一日中受付スタッフをやっていました。) 自分がエンジニアとしてなんとかやれているのは、包容力のあるPHPコミュニュティによるところが大きいと感じているので、少しでも還元できたら良いなぁと思っています。 スタッフとして参加してみて、カンファレンス運営の大変さが身に沁みたので、今後もカンファレンス運営の方...

ポエム

laravel LT php

2019-02-01 00:52:07

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

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Bridgeパターンとは機能拡張のためのスーパークラスと実装拡張のためのサブクラスを用意し、機能の橋渡しをするようなパターン。 実装<?php interface Connector { public function __construct(Converter $converter); public function connect(); } class IphoneConnector implements Connector { private $conver...

プログラミング

GoF php デザインパターン Bridge

2019-02-01 01:57:44

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

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Adaperパターンとは元となるクラスに修正を加えることなくインターフェースを変更することができるパターン。 異なるインターフェース間の互換性を調整するようなAdapterクラスを用意することで実現する。 実装<?php interface Bird { public function fly(); } class SmallBird implements Bird { public function fly() { echo 'fly short...

プログラミング

adapter GoF php デザインパターン

2019-01-31 23:52:15

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

概要PHPで学ぶデザインパターン Advent Calendar 2018で間に合わなかった記事。 Mediatorパターンとは仲介者・調停者の意味。 オブジェクトの振る舞いに関するデザインパターンで、オブジェクト間のやりとり調整するためのパターン。 オブジェクト同士のやり取りが複雑化し、関係性が見えにくくなるような時に有用かもしれない。 実装<?php // Mediator class Receptionist { public function checkIn(User $user, $message) // 振る舞いの操作を任せたいオブジェクトを保持 {...

プログラミング

php デザインパターン Mediator GoF

2019-01-28 00:44:14

PHPカンファレンス仙台2019に参加した

TL; DRPHPカンファレンス仙台2019に参加レポート。 テストが辛いを解決するテスト駆動のアプローチ テストが辛いを解決するテスト駆動開発のアプローチ at PHPカンファレンス仙台2019 違和感から設計判断 TDDのアプローチではなく、実装後にテストをかくアプローチだとテストの書きづらさを感じたときに設計に違和感を感じると思うが、TDDだとそのへんは慣れが必要だろうなぁと思った。 レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み レガシーなPHPアプリケーションの リプレイスプロジェクトにおける取り組み / phpconsen2019 レガシー...

ポエム

php phpカンファレンス

2018-12-09 10:25:43

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

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

プログラミング

デザインパターン php GoF strategy