初心者時代に「とりあえずよく分からんけどEloquant使っとけ〜」ってなんでもかんでもEloquantで実装して得意げになっていたら、サービスの利用者数が10万人ユーザーを超えたあたりで無数の地雷が爆発し死亡しました。
皆様が爆死しないように失敗談を共有します。
AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします
今回はAWS LambdaとLaravelを利用して作成した個人開発のMVPの動的サイトを紹介します
サーバーレスPHP、話には聞くけど動いてるとこ見たことないなぁという方必見!
技術要素を超高速スライドめくりで、構築する手順を示します(※解説するわけではありません)
元々個人的に作成したかったものをこのタイミングで作成して配置しておき、
皆様にも動かしてもらいながら、サーバーレスPHPを体験して頂ければ幸いです。
時代はAWS、GCP。
そんな中で自分は時代に逆行してモバイルアプリのバックエンドに採用したLaravelをレンタルサーバーにデプロイして運用しています。
ユーザー数も1万人が迫っている中で、この月々440円というと破格のコストで運用していますが、パフォーマンスなど本当に大丈夫なのかを具体的な数値をもとに皆様にご覧にいれようと思います。
個人開発者や小さく事業を始める方に知ってほしいPHPだからこそ出来るミニマムなサービスのスタート方法になること間違いなし!
普段どのような方法でlaravel開発を行なっていますか?
デバッグする時にddやlogなど使用していますか?
今回紹介するXdebugでは、便利で、直感的なデバッグが可能になります。
私自身、同僚にXdebugを教えてもらってからその利便性に驚かされました。
簡単なデモ動画でXdebgの初期設定、基本動作、共有できればと思っています。
皆さんの開発作業の効率が格段に向上するはずです!
ぜひこの機会にXdebugの魅力を実感していただければ幸いです。
6年ぶりに!関西で!PHPカンファレンスを開催してきました!!
PHPカンファレンス関西では、今回のテーマを「関西PHPエンジニアコミュニティの立ち上げ」とし、以下3つの達成を目標に開催しました。
実際のところ上記目標は達成できたのか?どのようなイベントになったのか?など、関西の熱気を5分でお伝えできればと思います!!
ジョシュアツリーの法則って知ってますか?
「名前を知ればそれを認識できるようになる」「名前を知らないと認識できない」といった現象のことです。
我々エンジニアの身の回りには様々な現象があり、中にはみんなが経験したことがあるものも多数存在します。
そんな「現象」や「事象」の中にはあまりにも名前が付けられ、事象の解消や共有が行われているものがあります。
名前を知ることは認識すること!
この発表を聴いてそんな""あるある""の名前を知り、事象を正しく認識して、次に生かしましょう!
多くのWEBアプリケーションで導入されているであろう ECS(Fargate) 環境では DB マイグレーションってどうやってますか?
ECS Execログインを利用して migrate コマンドを実行する
ecspresso をつかう
自前でマイグレーション用のコンテナを用意する
(他にもある?)
弊プロダクトでは マイグレーション用のコンテナを用意する 方法を採用しています。
コンテナ環境での DB マイグレーションの実行方法はあまり情報がないように思われるので参考になれば嬉しいです。
メールを送る処理の実装時うっかり誰かに送ってしまうことはないでしょうか?
開発時のメールの誤送信事故を防止するために、ダミーのメールサーバに送るようにするということが多いかと思います。
Mailcatcher や Mailhog、Mailpit などの便利なツールが公開されていますが何か使われていますか?
弊プロダクトでは、ツールは利用せずにログにメールの送信内容を出力しています。
このアプローチでの Laravel を利用した開発時のメリットとデメリット、ログの可読性を上げるための工夫など私たちが行っていることを紹介します。
不具合や障害発生時にSlackなどでエラー通知を受け取ることはありますよね。
そのとき、即座に何をすべきか具体的な対応方法をイメージ出来ますか?
エラー発生時の対応は、迅速かつ効率的でなければ、小さな問題が大きな障害に発展することも……!!
そこで、私がエラー通知を受け取ったときの初動〜対応完了までに「何を考えて」「どのように対応しているのか」をお伝えします!
このLTを聞けば、「エラー通知来ないでほしい」と願っている皆さんも、通知が来ても慌てることなく、冷静に対応できるようになっているはずです!
リモートワークが日常となった現代、テキストコミュニケーションの重要性に気づいている人はどれほどいるでしょうか?
リモートネイティブとして、新卒から3年間の社会人経験を通じて、私が学んだテキストコミュニケーションの重要性をLTでお伝えします!
「先輩にどう質問する?」「ビジネス側のやり取りはどう進める?」などシーンに応じて、伝わりにくい文章の例をどう改善するか解説します!
そして、絵文字「👍」や感嘆符「!」など細かな表現まで、日々のテキストコミュニケーションで意識しているポイントを余すことなくお話しします!
あれ気付いちゃいましたか?
PHPerの皆さんがとっても仲良しのIDE、PhpStormくんのかわいさ(便利さ)に。
あ、まだ気づいてない(知らない)んですね!
じゃあこのLTを聞いてPhpStormくんを布教されてください!!
わたしの推しのPhpStormくんの超かわいいところ(超便利な機能)を時間が許す限り詰め込んで紹介します!!
例えば、私の推しポイントはこんな感じだよ!!
他にももーっといっぱい推しポイントあるから当日楽しみにしててくださいね!!!
PHP初心者の方にとっては新しい発見に、PHP玄人の方には新たなPhpStormくんの推しポイントに気がつくきっかけになれば嬉しいです!
かわいいのはアイコンのカラーだけじゃないんですよっ!
「◯◯の機能について、ここをこうして欲しいんですよね…」
(◯◯なんてあったっけ、あれかな…)
「はいっ!できました!」
「それ、◯◯じゃなくて××だと思うんですが…」
みたいな経験を一度は皆さんはしたことはありませんか?
本トークではプロダクトに機能を追加するという開発業務の中に、「情報設計」というステップを追加した時に具体的に何をやったのかについてのお話をします。
「ユニットテスト、あまり好きじゃねぇぜ〜」という人に、「少しお世話になってみようかな!」と思えるキッカケを!
「テストが苦手、抵抗感がある…」という人が、「テストって良いかも!」と言うようになった瞬間を目撃した事があるのですが、
そのキッカケは「テストがあると便利なんだなと思えた」ことだったそうです。
「便利で助けになる」と感じられる場面の1つが、「実装を低カロリーに読み解く、知る」です。
例えば、フレームワークやライブラリの挙動を知りたい時。
「このクラスどう使うの?」「このメソッドの引数はどんな?」
──英語や日本語で書かれたドキュメント以上に、PHPで書かれたテストコードは、「こういう事ね!」を感じ取りやすいです。
特に、エッジケースや微妙な値(境界値や「引数が逆だったら」etc.)については
わざわざドキュメントに書かれないものでも、テストとして明確になっていたりします。
更に!ちょっと書き換えて動かして試す〜なんて事も可能に・・そう、テストならね。
実例を交えて説明しますので、「積極的にテストに絡みに行ってみよ☆」となっていただきたい。
そんなLTです。
私は以前に海外の人に仕事を発注するオフショア開発の案件でPMを担当した事があります。その際に学んだことをお話できればと思います。
話す内容は下記になります。
私はPHPカンファレンス沖縄の実行委員長を務め、カンファレンスの立ち上げを行いました。
その経験を元に地方でPHPカンファレンスを主催すると楽しいよ!という話をします。話す内容は主に下記になります。
SI業界で小規模から大規模開発まで一通り経験し、管理職もこなしてきて、経験値だけは十分に積んだと思っていた私が、SaaS業界ではその経験値を生かすことができたのでしょうか。
SaaS会社でテックリードとして転生した私が、開発視点からマネージメント視点等いろいろな気づきをお話します。
・開発フローやシステム開発の考え方は同じなようで何が違う?
・プロジェクトマネジメントではなくてプロダクトマネジメント
・SI業界の経験値は結局生かすことができたのか?
Web アプリケーションフレームワークを使ったプロジェクトを新規作成し、自動生成されるファイル郡の中にある config というファイルまたはディレクトリ。
いったいこいつは何なのか?
どうやら項目を自分でも追加できるようだが、一体何を追加してよくて、何を追加すべきでないのか。
本トークはそんな疑問にお答えします。
みなさん、PHPを初めて学んだ時に感じた「?」を覚えていますか?
私の所属する開発チームでは、PHPマニュアルの精読を始めました。
精読してみて改めて感じたPHP独自の魅力について、皆さんに共有したいと思います。
このセッションでは、PHPの特殊な機能、他のプログラミング言語との比較、その機能ができた背景について、私なりに調べた結果や考察を発表します。
対象者:
PHP8.1では、いくつかのリソースがobjectに移行しました。
例えば
pgsql result リソース → PgSql\Result オブジェクト
pgsql link リソース → PgSql\Connection オブジェクト
などです。
私が開発しているMaildealerは、すでに開発から20年以上経過しているレガシープロダクトです。
その中に存在する PgSQL 用の独自ライブラリは、すべてがリソースで扱うことが前提のコードになっていました。
マイナーリリースで気軽に入れられた変更が、レガシープロダクトに与えた影響と、その解決方法をお話します!
※このLTは、PHPConference関西2024と同じ内容になる予定です
PHPでJSONを扱う場合は、json_decode(), json_encode()といった関数の利用が一般的です。
この2つの関数の利用にはJSONの定義済み定数の理解が欠かせません。
JSONの定義済み定数を用いることで2つの関数の挙動を細かく制御したり、発生したエラーの詳細を把握したりできます。
このLTではJSON定義済み定数をすべて紹介しながら、PHPのJSON関数の少し進んだ使い方を紹介します。