この数ヶ月、Rust版、PHP版ファミコンエミュレータを読み、Go言語に移植しています。
そもそも2019年にもなって何でファコミンエミュレータなのか、何が楽しいのか、魅惑のエミュレータワールドを通して体験できたコンピュータの世界をご紹介。
設計への意識の高まりとともに、クラスの依存関係をコントロールすることに関心を持つエンジニアが増えてきましたが、現状依存ルールを順守するには人間の目で確認せざるを得ません。
クラスの依存関係を人間の目で一瞥するのは基本的に難しく、うっかり循環依存になってしまってないかレビューするのも手間です。
そこでPHPStanをベースに依存関係を解析するライブラリを作成しました。
これによりルールの順守を機械的にチェックすることが可能になるほか、そのリポジトリの依存ルールを設定ファイルとして管理し、ルールを明示することができるようになります。
また全クラスの依存関係を解析してグラフ化することも可能(予定)ですので、初めて見るリポジトリを解析する時にその依存関係から大まかな構造を把握できるような使い道もあります。
今回はこのライブラリの紹介をさせていただければと思います。
転職の関係で、3・4年モダンなWebアプリ開発から離れていた人が
ごりごりのWebアプリ開発が恋しくなり、CakePHPとJavaScriptを使った
他社さんの開発をお手伝いさせていただけることに・・・!
この経験を経て、CakePHPとJavaScriptをメインに、
どういった所に技術的な難しさを感じているかと
副業はじめて良かったぞって話をします。
uzullaさんのPHPerKaigi2018「大統一PHP」(https://speakerdeck.com/uzulla/da-tong-php)で紹介されているSwooleという非同期かつ、Coroutineの仕組みをもったPHPのextensionがあります。
Swooleを用いたフレームワークはいくつかあります。
今回、EasySwoole(v2,v3)、Swoft、Laravel-Swooleの3つの比べてみた結果をお話しします。
それぞれのフレームワークのISUCON8予選のベンチマークの結果をお伝えします(恒例)
No.1 Swooleフレームワークはどれだ!
APIを開発する際にSwaggerなどを用いてAPIドキュメントを書くことも多いかと思います
ですが、放置するとすぐにドキュメントは腐っていき、APIとドキュメントの内容に差異がでます
腐ってしまったドキュメントはときにドキュメントが存在しないことより厄介です
では、どうやってドキュメントの内容を担保するべきでしょうか?
このLTではBEAR.SundayにおけるAPIドキュメントと整合性の担保についてお話します
LTも登壇もめっちゃ面白いよ!さあレッツぽちっとな。え?マサカリが怖い?
今から教えるたった一つの心得があればきっと大丈夫さ
(お酒が入ってるノリ推奨)
お気に入りのOSがサポート切れになって早x年、OSを変えるのも面倒…もとい気に入っているのでオフラインで使いたい…!
ネットワークに繋げないオフラインのマシンでPython、PHP、Docker等の開発環境を整える・開発をする辛みや面白みについて語ります。
PHPでURLルーティングをつくってみた話をします。
普段フレームワークを活用していると、ルーティングの実装はフレームワークが用意したパッケージや外部ライブラリ依存であることが多く、自作するモチベーションやメリットはあまり浮かばないかもしれません。
今回、実用性のあるものを作り上げるのは難しかったですが、敢えて車輪の再発明に挑戦することで
様々なライブラリの実装パターンや実行速度のパフォーマンスの懸念点を知る機会になったり、
アルゴリズムの実装力(エンジニアの基礎体力)を鍛える良い練習にもなりました。
5分の時間内でURLルーティングを自作するメリットと楽しさについて凝縮したお話をできればと思います。
みなさん試行錯誤してPHPサービスを止めないように努力されていると思いますが、
現実世界上でSLA100%を完全保証することは不可能です
であれば当然止まった時に「気付く」ツールを使います
私がPHPと触れ合う中で試した各種ツールについてお話します
昨今では、コンテナの導入やサーバーレスアーキテクチャの普及により、サーバーサイドアプリケーションエンジニアの果たすべき役割は縮小してきていますでしょうか。
それでも、オーソドックスなアーキテクチャでは、サーバーサイドは「クライアントとデータベースの接着剤」として欠かせない役割であると感じていあます。
そんな私たち(PHPer)だからこそできる、「迅速で的確な障害対応」のための貢献があるはず!!
なのに、負荷監視は他人の仕事とか思ったり、インフラ担当者と交流してないのは、損失が大きいのではないでしょうか。
大きい組織やチームのことはわからないのですが、小さいチームであれば「ちょっとわかる」だけで、私達の「できること」「見える範囲」が広がります。
私個人の今の会社でやっている「監視」「障害対応」の話をさせてください
テストコードを書くときに、初心者から玄人まで煩わしく感じるのが「日時の関わるテスト」です。
テストに重要な「readability」の価値を損ないたくない。テストのためにプロダクトコードのロジックを妥協したくない。
そんな我が儘をかなえつつ、「仮想日時」や「固定日時」を扱った処理を実現するには、便利なライブラリが必要です。
CakePHPの内部でも大活躍している「cakphp/chronos」を紹介させてください!
普段はモバイルエンジニアとしてSwiftやKotlin、WebではECMAScriptやScala、Goなど、割と最近登場したいわゆるモダンと言われる言語を使用している私が、業務上がっつりPHPに入門する機会が最近ありました。
先入観で「PHPはオワコン」、「風前の灯火」みたいな事を巷で聞いていましたが、実際入門して触ってみると「あのモダンな言語仕様PHPにもあるじゃんか!」、「これができるPHPは優秀」、「あの言語のあの仕様欲しい」など古参PHPerとは少し違う観点で感じる事がありましたので、それを「怒涛の10選」としてご紹介します。