2021 年 11 月、PHP の処理系と言語そのものの開発に一大転機が訪れました。
The PHP Foundation は寄付を募り、PHP 処理系の実装と言語仕様の改善へ取り組むコア開発者へ資金を提供して、日中の仕事として PHP の開発を行えるようにする団体です。寄付が集まるほど PHP の開発が加速し、私達 PHPer がその恩恵を受けられることになります。
https://thephp.foundation/
すでに日本を含めた世界中から多くの寄付が集まり、The PHP Foundation によって雇われた数人の開発者によって、実際に多くの言語改善が成し遂げられました。このような PHP の開発事情をすでによく知っていて、所属会社からも寄付を行っている、という方もいれば、「PHP という言語自体の開発を生身の人間がやっていて、彼等がどう日々のご飯を食べているかが我々のビジネスに強く関係している、なるほどその発想はなかった」という方もいらっしゃるかと思います。
このトークでは The PHP Foundation の成り立ちと意義、これまでの活動内容をあらためて紹介し、「そういうわけで皆も会社のお金で The PHP Foundation に寄付をしよう!」というお話を、The PHP Foundation の関係者でもないのに外野から勝手に力強くやっていきます。
LT 枠でめっちゃ早口になって舌も回りきらずよく聞き取れない部分が多くなる可能性がありますが、その場のライブ感とともにパッションをぶつけるのがきっと大事なことなので、細かいことはあまり気にしない感じでやっていきます。
テスト初心者の皆さん、このような悩みを抱えていませんか?
・テストメソッドとテストデータが混在していて読みづらい
・テストの出力結果が見づらい
・テストの実行範囲を明確にしたい
このトークでは、PHPUnitのアノテーション機能を使って初心者でも可読性と保守性の高いテストコードを書ける方法を紹介します。
・@dataproviderを使ってテストケースをまとめ、再利用する
・@testdox × @dataproviderでテストメソッド名をよりわかりやすく表現する
・@groupを使ってテストをグループ化する
これらの機能は明日からすぐに使える簡単なものです。
アノテーションを活用し、見やすいテストコードでスムーズにテストを実行しましょう!
ChatGPTを使って、AWS上で簡単にサーバーレスアプリケーションを開発する方法を紹介します。
このセッションでは、結婚式やパーティーなどの余興に活用できる写真投稿アプリケーションを例に、ChatGPTとServerless Frameworkを使った構築手順を解説します。AWSに自信がない人でも、簡単にサーバーレスアプリケーションを開発できる、そんなChatGPTの活用方法をお話します。
内容
・サーバーレスアプリケーションとは?
・写真投稿アプリケーションの設計
・ChatGPTを使ってServerless Frameworkを用いてAWS Lambda、S3、API Gateway、DynamoDBなどをAWS上にデプロイする手順
対象者
・AWS初心者、特にサーバーレスアプリケーションに興味がある人
・ChatGPTを使ってAWS上でアプリケーションを開発したい人
・結婚式やパーティーなどの余興に活用できるアプリケーションを開発したい人
皆さんはこんな課題ありませんか?
・そろそろLaravelのサポート切れるのでバージョンをアップしないとまずい。
・でも、手動で一つ一つコード書き換えていくのが大変。
そんな時に便利なのがLaravel Shiftです!
Laravel Shiftは簡単にいうと、課金すれば Laravel のアップグレードを自動でやってくれるというものです。
今回は実際にLaravelリポジトリのバージョンアップをしてみた体験談も交えて話します!
ただ、一筋縄ではいかなかったので、その辺も含めて話します!笑
私たちの運営するサービスは、コア機能部分が未だにレガシーコードとなっており、リファクタリングが必要な状況になっていました。
しかし、影響範囲が大きくテストもないので中々触りたくない、サービスの成長(機能追加)のための開発と両立できない、自分の担当プロジェクト以外は分からない、等など一筋縄では行かない問題もありました。
そこで私たちは、月に一度、大規模にリファクタリングが可能な日(リファクタリングデー)を設けました。
リファクタリングデーでは通常の開発を1日止めて、コア機能も含めた影響範囲の大きい箇所のリファクタリングを行い、全ての機能をQAしてリリースします。
このトークでは、リファクタリングデーを行うために何をしているのか、また、実際に1年ほど行って感じたメリットや、課題などについて説明します。
https://developers.prtimes.jp/2021/12/13/introducing-refactoring-day/
「推測するな、計測せよ」という言葉を耳にしたことがあるかもしれません。
例えばアプリケーションのパフォーマンス改善を行う場合に行き当たりばったりでアクションしてもうまくいかないことが多いと思います。
そのためにはまず実際の状況を知るための、「計測」するというアクションが大事です。
例えばツールを使ってコードのメトリクスを取るのもよいでしょう。
コードのサイズ、重複コードの有無、コーディング規約の遵守状況、循環的複雑度、エラーの有無などコードに対する「現状把握」をすることができます。
さまざまな値を取得すると有用な値やそうでない値なども出てきます。
その上で取得した値を分析・考察したり組み合わせて、「判断」をします。どこがアプリケーションの改善点なのか…?何がアプリケーションにとって最適なのか…??プロダクトにもっとも寄与するためには…???
このように、推測で考えずに「計測」して「現状把握」を行い「判断」するというステップをもってカイゼンへのアクションを取ることが大切だと考えています。
このトークでは実際にどのように考えてアクションに移しているのか?どのように計測から現状を把握し、判断を持ってカイゼンのためのアクションをとっているのか?というエッセンスをお話しできればと思っています!
先輩「この実装はどうしてこうなっているの?」
自分「ここは〇〇という理由でこうしています!」
先輩「了解です、その説明はコードコメントに書いておくとよいので追記お願いします~」
コードレビューを受けているとき、こんな経験はありませんか?
コードで表現できないことを説明したいとき、それを書く場所の候補はコードコメント、コミットメッセージ、プルリクエスト(説明欄やコメント)と多岐に渡ります。
「どこに書けばいいのかわからない!」そんなときの指針となるお話をします。
現代のフロントエンド開発は、過去と比較して複雑化が進んでおり、HTMLの仕様に対する意識が低下しがちです。アクセシビリティの向上がますます重要視される中、HTMLはその基礎であり、正しい仕様の理解と実装が不可欠です。しかし、HTMLの仕様は想像以上に複雑で、WAI-ARIAなどの関連技術も含まれています。
このライトニングトークでは、Markuplintというツールを開発者が自ら紹介します。
Markuplintを導入することで、開発者は複雑な仕様を覚えることなく、リンターが問題点を指摘し、開発に集中できるようになります。
内容:
このトークを通じて、参加者にMarkuplintの有用性を理解していただき、より品質の高いWeb開発が行われることを期待しています。
MVP, Minimum Viable Product 顧客に価値を提供できる最小限のプロダクト。
よくアジャイル開発の文脈で「プロダクトはMVPから作りましょう」という話を聞くと思います。
たとえば初日にシステム全体のサイトマップを書き始めたり、ユーザーModelやログイン機能から作っちゃダメということです。
「価値を提供できる最低限」を見極めて、顧客の課題を解決するコアとなる機能から作る考え方とコツをお伝えします。