Laravelの軽量フレームワークであるLumenで堅牢なAPIを設計をする手法をLTで喋ります。
紹介する内容
バージョンの他、PHP拡張や設定ファイルで振る舞いを変えるPHP。
Dockerを使えば自分の環境を他人に丸ごと渡す事が出来る他、
逆にDocker公式オススメのPHP設定を真似する事も出来ます。
なんか流行ってるけどDocker触ってないしよくわからんなーという方のために、スマホに例えながら概要をざっくりご紹介。
DI、AOP、およびRESTは開発に役立つ強力なパターンです。BEAR.Sundayフレームワークは大規模PHPアプリケーションにも適用できる強力なアーキテクチャの基礎として採用し、アプリケーションにシンプルな美しさとパワーを提供します。このセッションでは3つのコア技術を説明しながら、フレームワークでどのように適用しているかを紹介します。
RESTfulなPHPアプリケーションをコアにJSのSSR UIアプリケーションを組み合わせ、未来のPHPアプリケーションの形を模索します。
ソフトウェアパターンやアジャイルのリーダーとして知られるJames Coplien氏は、2009年、DCIアーキテクチャを発表し、オブジェクトベースの動的なモデルを指向し、従来のオブジェクトモデルが捉えられていなかった「手続き」を、オブジェクトモデル上のインタラクションで捉える方法に言及しました。
このトークでは、昨年より活動開始した DCI Tokyo の運営メンバーが PHPer のみなさんをこの設計パラダイムにご招待します。
php のコアであるZendEngine(ZE) 。 php5 から php7 になり、ZEのバージョンも 2 から 3 にあがりました。
この発表では、ZE と php 、そしてこれらのブートストラップである SAPI の関係を整理し、 ZE2 と ZE3 とでなにが変わったのか(あるいはなにが変わらないのか)を解説したいと思います。
本セッションではCassandraを使って高速なアプリケーションを開発するための
基礎知識とテーブル・クラスタ設計方法、
batchの活用や、メンテナンス方法に触れて、知識を深める内容をお届けします
PSRを活用して、phpのライブラリとの互換性をもたせながら、
自由に入れ替えが可能なライブラリ、コンポーネント作りの作法、
Hackのタイプチェッカーと厳格モードとの付き合い方、
async awaitのハマりどころなどを共有し、
Hackにチャレンジしたくなる内容をお届けします
PHP7から戻り値の型も記載できるようになり、より静的解析をしやすくなったPHPですが、IDEやエディタの中だけでなく、CIのフローの中でも型検査を行いたいものです。
このトークでは、メルカリ社でも活用しているPHPStanというツールを取り上げ、型検査をCIの中で実行する方法や、今のPHPにおける型システムの解説を行います。
ISUCONとは、「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです」※公式サイトより
通常のISUCONは3人1チームでの参加ですが、社内のエンジニア向けイベントとして1人で参加するISUCONにアレンジした、問題作成、運営側のおはなしです
社内向けならではの、社内のメンバーに知ってほしいこと問題に盛り込んで開催しています
PHPerもチューニングしよう!
簡単に言うとPHP7は多くのレガシー機能を廃止した。
しかし、レガシーなシステムは、騙し騙しOS、フレームワーク、PHPのバージョンアップをするが、騙し続けれるのも、PHP5だと悟るべき!と言う自念からのトークです。
サービス開発においてAPIを中心にした設計が一般的になっていく一方で、APIを利用する側であるクライアントではコードの重複といったような課題を抱えやすいと感じています。これにはコードジェネレータによる自動生成が効果的です。
当発表では、APIを記述するためのフォーマットであるOpenAPI Specificationを概観した後、Swagger Codegenを利用したAPIクライアントの生成をご紹介します。
PHPコードを書くにはさまざまなエディタ/IDEの選択肢があります。開発能率を上げるために望ましいコーディング環境について独断と偏見で語ります。
PHPを書くと一度はフレームワークを作ってみたくなるものです。ここではテスティングフレームワークに一般的に求められる機能の概要や、プログラミング言語としてのPHP固有の事情、既存プロダクトでの実装例などを紹介します。
TDD/BDDなどの手法そのものの紹介は今回の発表での主な関心ではありませんが、PHPUnitなどの構造を知ることは実業務に活きることがあるかもしれません。(ないかもしれません)
SPAは通常のWebページでは実現できないユーザー体験と高速なページ遷移が実現できます。しかし、SPAを実現するにはAPIとフロントエンド双方の知見が必要となります。 そこでLaravelを利用することでAPI + フロントエンド環境が容易に構築ができ、皆さんのアイデアを実現する手助けをしてくれます。 本トークではLaravelを利用したAPI開発、フロントエンド連携、認証、テストなどサンプルアプリケーションと共にご紹介します。
コードレビューにおいて、新規機能開発をしているとどうしてもプルリクが大きくなってレビューコストが高くなると思います。「小さくプルリクを出せ。」と言われても具体的な考え方が整理された知見は少ない気がしています。
アーキテクチャ(MVC)・改修/新規/バグ等の軸で小さいプルリクに切り出す考え方について、私自身が先輩エンジニアにレビューしてもらう際に意識していることを話せればと思っています。
Infrastructure as Code、IaaS、SRE、DevOpsなどインフラエンジニアが手がける領域は広がっています。
ITインフラ・クラウドへの興味と可能性を感じて3年前にWebエンジニアからインフラエンジニアとして転職しました。
なぜ転身しようとしたのか、実際に転身して苦労したこと、やりがいなどをお話します。Webエンジニアにとってキャリアの一つ選択肢として参考になれれば幸いです。
Webサービス(シンプルなお葬式)をリプレースした際の苦労、ノウハウについてお話します。
■before
・wordpress魔改造
・いわゆるレンタルサーバで監視無し、ログ無し、FTPでデプロイ、dev環境無し
・入り乱れるglobal変数、量産されたコピペ等々
■after
・Laravel + wordpress(REST API)
・AWS、各種監視、デプロイ、ローカル・dev環境の整備
・最低限のテスト
私が本格的に設計などについて学びを深め始めたのは、ドメイン駆動設計からです。
それ以前は、多くの本を読んだりしていましたが、知識をバラバラの点としてしか飲み込めておらず、結局は何も自分のものにできていない、無知な状態でした。
そこから様々なことを学び、今では点どうしがつながった世界を見渡せるようになりました。
私が学んできたことを紹介し、ドメイン駆動設計のような技術に対して広い視野から見下ろせるようになるお話をします。
新人教育の一環で「アジャイルソフトウェア開発の奥義(第2版)」を週に2回、1時間弱の時間で読書会をしていった。
この際、書いてあることをサラッと理解するだけに留めず、「どういうことを言わんとしているのか」を自分たちで説明可能になるまで考え合うようにした。すると学びがかなり深まった。実際に考えた部分をいくつか紹介し、本を深く読み込む面白さをお伝えします。