これは2018年3月21日に開催したPHPerイベントYYPHP#32のイベントレポートです。
YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催は毎週水曜19:00に高田馬場にて。
PHP7.2
- クリティカルな何かがあったのか?
- Laravel 5.5からは7系必須
-
object
型宣言 - PHP: 下位互換性のない変更点 - Manual
- PHP 7.2 Provides Modest Performance Boost Over PHP 7.1 - Phoronix
世界的なウェブの動き
- Laravelのstar数がRoRのものより多くなった
- rails/rails 39,035
- Laravel 41,355
- node.js 46,500
- vue 87,600
- react/react 91,000
- bootsrap 123,000
- Hanami | The web, with simplicity
- Scalaは?
- server side Swift
- PWA(progressive web apps)
- 2018年 = TypeScript
スキル上げるために自分なりにやっていることは何?
- 人が書いているコードを見て、真似る
- 身近にいるできる人に聞きまくる
- 検索しても何がトレンドなのかいいのか分からないから
- 情報をつねにおかっける(日本語じゃないやつ)
- 日本語の情報ソースに頼らない
- 海外のイケてるテック系のSaaSのブログ
- CodeShip: https://blog.codeship.com/
- AirBnB
- GitLab: https://about.gitlab.com/blog/
- すぐ試す
- 時間がある人はLinuxを自分で作ってみる
- Linux from scratch
- 書籍
- 技術に対する「愛」
- わからないことは速攻ググる
- 同僚が話していて、知らない言葉が出てきた時も
レガシーシステムをフレームワークに載せ替える手間
- 保守フェーズ
- 何年つかうシステムなのか決めて、載せ替えたほうが得するのか計算する
- 独自フレームワーク
- 採用が決まらないというリスクはあるかも
- ピュアPHPからフレームワークに載せかるのは一般的に簡単じゃない
レガシーシステムでPhpStormでジャンプが効かない
- 「IDEに頼るな」硬派の意見
- ctags (emacsやvimでも使える)
- PhpStormのアノテーションを使う
function hoge($object) {
/** @var Foo $object */
$object->method();
}
- レガシーコード改善ガイド | マイケル・C・フェザーズ, 平澤章, 越智典子, 稲葉信之, 田村友彦, 小堀真義, ウルシステムズ株式会社 | プログラミング | Kindleストア | Amazon
API連携のタイムアウト実装
- APIに投げてから12時間以上処理が終わらないときの実装方法
- file_get_contents
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
- https://github.com/suin/php-qiita/blob/master/Source/Qiita/HTTP/Request.php#L94
- guzzle/guzzle: Guzzle, an extensible PHP HTTP client
最近の便利ツール(ライブラリ、フレームワーク)
-
graphcool/prisma: ⚡️ Prisma turns your database into a realtime GraphQL API
- RDBのデータをGraphQLで公開してくれる
- GraphQL
- RESTいらないんじゃない?
- Gatsby: https://github.com/gatsbyjs/gatsby
- 静的サイトジェネレーター。Hugo的なやつだけどReact
- Heroku
- PRPLパターン
PRPL は、Progressive Web App(PWA)を構築および配信するためのパターンで、アプリの配信と起動時のパフォーマンスに重点を置いています。 PRPL は次の言葉を表しています。
Push: 最初の URL ルートに不可欠なリソースを Push(プッシュ)する。
Render: 最初のルートを Render(レンダリング)する。
Pre-cache: 残りのルートを Pre-cache(事前キャッシュ)する。
Lazy-load: オンデマンドで残りのルートを Lazy-load(遅延読み込み)する。
- neovim
- Advanced REST Client
- matryer/silk: Markdown based document-driven RESTful API testing.
- Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot
-
OpenVAS - OpenVAS - Open Vulnerability Assessment System
- Webアプリの脆弱性スキャナ
-
coreos/clair: Vulnerability Static Analysis for Containers
- Dockerコンテナの脆弱性チェック
- Flutter - Beautiful native apps in record time
TypeScript
NeoVim
rhysd/NyaoVim: Web-enhanced Extensible Neovim Frontend
atom/xray: An experimental next-generation Electron-based text editor
TOMLについて(YAMLのような言語)
XML、JSON、YAML、TOML何が良いのか
YYPHPは毎週やってます
PHPについてワイワイ話したい方は、YYPHPのイベント情報をチェックしてみて下さい。
以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います! では、また来週!