みなさん普段FigmaやFigJamを使っていますか?
私はよく使っていて、特に好きな機能は「カーソルチャット」です。
複数人でリアルタイムにカーソル位置を共有できたり、ライブメッセージの送信を行うことができたりなど、使っていて楽しいです。
この素晴らしい機能を他のWebアプリにも組み込むことはできないかと考え、 カーソルチャットのReactライブラリを作ってみました!
このLTでは自作ライブラリの仕組みや、Reactアプリにカーソルチャットの機能を実装する方法、そしてReact Flowと組み合わせて簡単なコラボレーションアプリを作ってみた話をします。
ユーザーのパスワード保存などでLaravelのHashingを使われたことがあると思いますが、もしHashingの安全性について尋ねられた時、皆さんはどう答えますか?もしかしたら公式ドキュメントで安全だと言われているから、みんな使っているから安全であると答えられるかもしれません。(以前までの自分はそうでした。)一般的な業務を行う際にこんなことを考える必要はありませんが、このLTではHashingでハッシュ化を行うことが果たして安全であると言えるのか、またなぜ安全であると言えるのかについて発表します。
ハッシュ化に対する脅威
ハッシュ化に対してどのような脅威が待ち構えているのかを紹介
ハッシュ化の脅威に対する対策方法
前項で紹介した脅威に対する対策方法を脅威ごとに紹介
LaravelのHashingの実装について
前項で紹介した対策方法をHashingでどのように実装しているのかについて実際のコードを見ながら紹介
PHPで業務をこなす私の傍らには、いつもPHPUnit君がいました。
ユニットテストの多大な恩恵に与っている今、もはやPHPUnitによる自動テスト無しの生活は考えられません。
このトークでは、新人PHPerの私がPHPUnitについて学んだことを皆さんにお伝えしようと思います。
プロジェクトで「vendor/bin/phpunit」を実行してテストを動かしたことはあるけど、phpunit.xmlとかテストスイートとかよく分からんといった初学者向けの内容になります。
私は、現在の会社で約1年間、料金チームに所属していました。このチームでは、締め日や売上日など、ビジネスにとって重要な日付の扱いが欠かせません。しかし、日付計算には様々な落とし穴があり、月末処理が適切に行われなければ企業に請求できないなど、クリティカルなバグを引き起こす可能性もあります。
日付計算は、時にうるう年や月末日の考慮が必要であり、さらにタイムゾーンの扱いも慎重に行わなければなりません。そのため、日付計算で様々なバグが発生することがあります。
このセッションでは、実際に発生した日付計算のバグについて取り上げ、実際のコードを交えながらその原因や修正方法について話します。
具体的には、以下のバグを取り上げます。
これらのバグは、特定の日付でのみ発生するため、十分な手動テストが困難です。そのため、Unitテストによる日付計算のテストについても取り上げます。
PHPを使い始めてからというもの、私にはずっと気になっている存在がいました。
それは、ディレクトリの隅っこでこちらの様子をうかがっているcomposer.json君です。
このトークでは、新人PHPerの私がcomposerについて学んだことを皆さんにお伝えしようと思います。
プロジェクトで「composer install」したことはあるけど、実際何をしてるのかはよく分かっていないといった初学者向けの内容になります。
仕事と家事と育児との分業をこなして15年目を迎え、感じたことをお伝えします。
分業のバランスを取るため、phperフリーランスという働き方を選択しました。これまで満足に分業の両立ができていたことはありません。今でも葛藤の毎日です。安心してください、分業のバランスが取れてなくて当たり前です。
今では子供達はある程度手が離れてきたので、仕事の比率を上げるべく、また決意を改めるため、昨年法人化しました。逃げれない状況を作って馬車馬のように働いています。
分業のモデルケースとしてお聞きいただけると嬉しいです。
スプラトゥーン3やってますか?
スプラトゥーン3って魅力的なブキが多く、どのブキ使うかつい迷っちゃいますよね?
今流行りのChatGPTに直接聞けば教えてくれますが、ChatGPTのおすすめブキ以外にも自分にあったブキがあるんじゃなイカ?
そう思って、ChatGPTとPinecone使ってスプラトゥーン3ブキのレコメンド機能をSymfonyで作りました。
機械学習の知識がほぼない状態で、どのように作っていったか5分でお話しするでし。
使用技術
本LTでは、3ヶ月の新卒研修を経た新米エンジニアの私が、研修中に直面した課題や失敗、それから得た学びを紹介します。
そして、少しだけ未来の自分に伝えたいメッセージをお話します。
ここ数年で、エンジニアを取り巻く環境は目まぐるしく変化しています。
GPT-4を始めとするGenerative AIの台頭が、モノづくりの生産性や、エンジニアという職業そのものに与えるインパクトは計り知れません。
数ヶ月、半年のような短いスパンでも、私たちをめぐる世界は大きく変化しているかもしれません。
エンジニアとして成長し生き残るために、私自身が大切だと感じたことをお伝えしたいと思います。
本LTは、PHPに直接関連する内容ではありません。
しかし、多くのエンジニア(社会人・学生問わず)の方に共感していただけるようなお話をしたいと考えています。
「新卒エンジニアあるある」的な体験談や失敗談で、エンジニアの方々に懐かしんでいただけるように。
これから社会人エンジニアになろうとしている学生の方には、少しだけ近い目線でお話ができるように。
そして、今を生きるエンジニアとして、未来の自分に送るタイムカプセルになるようなLTができればと思います。
昨今WEBの開発現場では当たり前になりつつある、フィーチャーフラグですが、PHP○の時代では一般的ではなかったために、環境変数などで機能リリースを行うことも少なくありません。
古いPHPほどテストがなく、リリースに対する不安が大きいのが世の常ですが、PHP○でもフィーチャーフラグを利用する方法があるので、紹介します。
変数のスコープ、意識していますか?
ライフサイクルやスコープを意識していないと思わぬバグを埋め込んでしまったり、踏んでしまったりすることがありますよね!
このトークではサンプルソースコードを交えてスコープと変数のライフサイクルに目を向けてみます。
変数がいつ生まれ、いつ消えていくのかを意識してバグを減らし、保守性の高いコードを書けるようになりましょう!
コンテナでの運用が当たり前になった現代、Laravel を ECS Fargate で動かしている方も多いのではないかと思います
非同期処理を行うための worker を ECS Fargate で動かす事もそれなりに一般的だと思いますが、Queue の詰まり具合に応じて worker の数をオートスケールさせようとすると、scale in の際にエラーを吐く事があります
このセッションでは laravel の worker を ECS Fargate で動かす際にエラーを吐かないように設定する Tips を紹介します
皆さんはこんな課題ありませんか?
・そろそろLaravelのサポート切れるのでバージョンをアップしないとまずい。
・でも、手動で一つ一つコード書き換えていくのが大変。
そんな時に便利なのがLaravel Shiftです!
Laravel Shiftは簡単にいうと、課金すれば Laravel のアップグレードを自動でやってくれるというものです。
今回は実際にLaravelリポジトリのバージョンアップをしてみた体験談も交えて話します!
ただ、一筋縄ではいかなかったので、その辺も含めて話します!笑
見知らぬコード、深いスタック、多様なクラスやメソッド・・・・
それらに立ち向かうのは、楽しくもあり大変でもあることですね!頭がパンクしちゃうこともしばしば!
どうしたら、少しでも効率よく・安心しながらコードリーディングを進められるでしょう。
ポイントは、「要点を掴む(=肝心でない所は脳みそからflushする)」「振り回されない(=コードを行ったり来たりしやすくする)」事だと思います。
それを実践するためのツールや技法を用意できると良いですよね。
脳内で補いきれない所は、「道具」で補って賢くやりましょう。
Xdebugのステップ実行と、ホワイトボードツール(Miro)の付箋とメモを活用することで、とっても効果的にコードの理解を進めることができます!
ある程度複雑なライブラリを例に、実際に「どうやったのか」をお見せします。