Java Virtual Machine Specificationを読み解きながら、PHPでJavaのバイトコードを解釈し実際にJVMがどのようにして動いているのかを感じてもらいつつ、30億のデバイスで走るJavaの気持ちになれるようなトークをします。
PHPでJavaを動かすことによってPHPもまた、30億のデバイスで走る言語の一つとなります。
ユニットテストを書くにあたり、テスト初級者と中級者・上級者ではユニットテストの「質」が異なるでしょう。テスト初級者の書くユニットテストはすぐに破綻し開発体験を良くないものにしてしまいます。
これは、私自身がユニットテスト初心者を脱するために、改めてまとめることを試みた、よりよいであろうと調べ考えた方法と逆のアンチパターンについてです。
PHP界隈で最も普及したフルスタックフレームワークであるLaravel。
便利なフレームワークが持つ豊富な機能に”甘い”魅力を感じる一方で「なぜLaravelではファサードを採用しているのか?」、「なぜEloquent を採用しているのか?」と言った疑問を考えた事はあるでしょうか?
「“How” ages faster than “Why”(手段は本質よりも早く廃れる)」と言う言葉があるように、Laravelでのメソッドの呼び出し方は他のPHPのFWでは通用しませんし、他の言語でも意味をなさないもしれません。しかし、Laravelで採用されている技術やアーキテクチャは言語の壁を超えて流用ができると考えています。
この発表では0からフレームワークを作りながらLaravelで採用されているアーキテクチャが「なぜ良いのか?」っと言った視点で発表をしたいと思います。
リファクタリング、ナビゲーション、ファイルの移動、PhpStormをマウスを使って操作していませんか?
マウス、トラックパッドは窓から投げ捨ててしまいましょう。
マウスフリーになるPhpStormの知ってトクするショートカット、並びに便利技100選を紹介します。
このセッションを受講すれば明日から開発速度が100倍くらいになる!かもしれません。
PHPアプリケーションを持続的にメンテナンスし成長させるためには人手によるテストには限界があり、機械的な自動検査をすることが有効です。テスト機能を提供するフレームワークを利用していないコードベースであってもテスト可能にするための基本的な考えかたについて業務での事例を交えて紹介します。PHPUnitなどを使ったユニットテストの導入やPHPStan・Phanを使った静的解析、プロジェクト固有のローカルルールを検査するための正規表現ベースのチェッカーなどを扱います。
「抽象」という言葉に抵抗を感じるプログラマは多くいると思います。抽象的=フワっとしていて理解しづらいという抵抗や、抽象化=プログラムを分かりづらくするという抵抗など。では、プログラムを書く上で、抽象化は不要なのでしょうか?
この講演では、私達人間にとっての抽象化と、プログラミングにおける抽象化について掘り下げ、プログラミングにおいて役立つ抽象化がどのようなものなのかをお話します。
社内ベンチャーやスタートアップでは少ない人的リソースで高速にプロダクトを開発していくのが重要です
しかしながら、大きなピボットや急な仕様変更の可能性も高く、こういった状況でのAPI開発は様々な課題があらわれます
このセッションでは上記の課題にどういう解決策を考え、BEAR.Sundayでどういったかたちで解決していったのか
そして、少し珍しいフレームワークであるBEAR.Sundayでの実務例をご紹介いたします
モバイルアプリ向けのAPI開発、今となっては当たり前の開発要件です。しかし、一般的なWebアプリケーション開発しか経験が無かった我々にとっては難しい課題でした。
プロジェクト開始から1年、ホームページ作成サービスグーペのiOSアプリは、2019年1月中旬にリリースする運びとなりました。初めてのRESTful API, 技術選定, 既存サービス向けのモバイルアプリ開発ゆえの課題, クラス設計, セキュリティ対策, プッシュ通知, 認証, チームコミュニケーションなど様々な課題がありました。
本セッションでは我々が経験した課題をどのように解決し何を学んだのか、プロジェクト全体を通じてご紹介したいと思います。特に今後新規でモバイルアプリを開発されるAPI開発者におすすめです。
HTTPはRPCではなく、RESTはHTTP上のCRUDシステムではありません。RESTはハイパーメディアアフォーダンスという発見性を持ち、進化可能性(evolvability)、スケーラビリティ、自己記述性、といったアプリケーションをパワフルにする力を持ちます。このトークでは、RESTの本来の力がアプリケーションにどのようにパワーとパフォーマンスを与え、アプリケーションアーキテクチャとどう作用できるのかフレームワーク製作者の視点を交えてお話します。
3ヶ月でphp5.5のサイトを7.2へバージョンアップリリースした過程の記録と現在のサイトの変化、そこから得た今後の対策についての3つの点からお話しします。
・phpバージョンアップでのプロジェクト体制や取り決めたルールと開発過程での数々のハマった課題を掘り下げリリースまでこぎつけた記録についての紹介。
・リリース後のサイトの品質やパフォーマンスの変化、当時同様にphpバージョンアップをしていた姉妹サイトとの比較や事例紹介。
・php7.3や今後のphpバージョンアップを見据えてやったこと、事前にやりたかったことの共有。
Hackには、HTTPの処理に関してPSR-7のように相互運用を可能にするためのインターフェースが存在します。
PSR-7と異なるインターフェースはなぜ用意されたのか、
PSR-7とHackのインターフェースの違いはなにか、
Hackでの実装例と他言語のHTTP処理を比べながら、リクエストレスポンスの表現について理解を深めるセッションです。
唐突ですがフレームワーク(以後FW)は古代存在しませんでした、よって昭和の人間は自分でFWを書いていたと伝えられています(諸説ある)。
とはいえ今は<?= $php_fw_list; ?>といった素晴らしいFWがありますよね。平成も終わる今、タイトルのようにオレオレフレームワークを書く意味があるのか?その疑問は一理あります。
所でFWとは枠組みで、枠組みは内を支えるものです。つまりFWを書く事で自分の内面を知ることに繋がります。そう、自分を知るためにFWを書くべきです!(?)
平成の終わり、オレオレフレームワークを書き、自分を知りましょう!そして…!
*
データベースの寿命はアプリケーションより長い。
皆さんも感覚的に理解していても、では実際にどのように付き合っていけばいいのでしょうか。
そこで誰もが経験のあるアンチパターンを題材に正しい設計について紐解いていきます。
そんなヒントを散りばめた濃厚なデータベースのノウハウをお届けします。
今回のアンチパターンは
の3点をお届けします!
PHPerチャレンジ 「徳丸 浩の挑戦状」解説(30分)