レギュラーセッション(30分)

Laravelの教材を作ってみた

k_yuchul yuchul

現在プログラミング教室に務めており、生徒にヒアリングしながら教材作成に取り組んでいます。
今勉強中の人、これから勉強する人、初心者に指導していく人に向けて有意義な共有ができればなと思い応募しました!

現在考えている内容としては以下2点を重点的に掘れればいいなと思っています。

・初学者は何がわからないのか
・Laravelこう教えるといい感じ

よろしくお願いします!

ショートセッション(15分)

Laravelにおけるテスト駆動開発のすゝめ

nextat_inc 株式会社Nextat 西澤裕也

昨今、プロジェクトの進め方の一つとして、テスト駆動開発が注目されています。
本セッションでは、Laravelを使ったプロジェクトでテスト駆動開発をどの様に進めればいいのかについて
事例を上げながら、説明いたします。

ショートセッション(15分)

Laravel on Amazon ECSで作る落ちないAPIサーバー

imunew imunew

LaravelはWebアプリケーションを開発する上で必要な機能が揃っているよくできたフレームワークですが、フルスタックがゆえに、遅い・重いイメージを持たれている方も多いのではないでしょうか?
APIサーバーをLaravelで開発し、Amazon ECS上で運用してきた中で、これまでに取り組んできた負荷対策についてお話しします。

ざっくり、以下のような内容を考えています。

• まずは負荷テストをしてボトルネックを明らかにする
• とにかくキャッシュ
• キャッシュし過ぎたせいか、Redisへの接続数が激増
• 一部のキャッシュをAPCuに逃す
• Read Replica / Write Master
• AWS Fargate にて php-fpm が悲鳴をあげる(11: Resource temporarily unavailable)
• AWS Fargate から EC2 へ変更
• Capacity Provider によるスケーリング戦略

プロポーザル提出時点で、取り組んでいる最中の対策も含みますが、当日(2020/3/21)までには対策を完了し、整理してお話しできるように頑張りますので、期待していてください!

2
レギュラーセッション(30分)

Laravel on Amazon ECSで作る落ちないAPIサーバー

imunew imunew

LaravelはWebアプリケーションを開発する上で必要な機能が揃っているよくできたフレームワークですが、フルスタックがゆえに、遅い・重いイメージを持たれている方も多いのではないでしょうか?
APIサーバーをLaravelで開発し、Amazon ECS上で運用してきた中で、これまでに取り組んできた負荷対策についてお話しします。

ざっくり、以下のような内容を考えています。

• まずは負荷テストをしてボトルネックを明らかにする
• とにかくキャッシュ
• キャッシュし過ぎたせいか、Redisへの接続数が激増
• 一部のキャッシュをAPCuに逃す
• Read Replica / Write Master
• AWS Fargate にて php-fpm が悲鳴をあげる(11: Resource temporarily unavailable)
• AWS Fargate から EC2 へ変更
• Capacity Provider によるスケーリング戦略

プロポーザル提出時点で、取り組んでいる最中の対策も含みますが、当日(2020/3/21)までには対策を完了し、整理してお話しできるように頑張りますので、期待していてください!

3
LT(5分)

Laravel + ヘッドレスCMS「microCMS」でWebアプリにCMSを導入した話

kanbo0605 カンボ@沖縄

既存で動いているWebサービス内でWebメディアをやることになりました。
その中で0からCMSの機能を開発するには少し開発リソースが足りなかったので、ヘッドレスCMS「microCMS」でAPI連携して開発工数を削減した話をします。

LT(5分)

Qiitaアドベントカレンダーを5年やってみて見えてきたもの

HiroyaYamamoto1 山本紘也

弊社Hameeでは過去5年に渡りQiitaにてアドベントカレンダーに参加しています。
私は1年目から取りまとめを担当しており、2018年のアドベントカレンダーではスポンサーをやるまでになりました。

・どんなキッカケで開始されたのか
・アドカレを行なうメリット、デメリット
・5年やってみて見えてきたもの
・これからやってみようと思う人と団体にアドバイス

このあたりを中心にお話できればと思います。
みんなアドカレやろうぜ!

レギュラーセッション(30分)

「CPUとは何か」をPHPで考える

tomzoh 長谷川智希

中学生の頃にMSXというパソコンのCPUであるZ80のプログラミングを体験していました。

その約25年後、2016年にPHPで書かれたゲームボーイエミュレータのコードを読んで衝撃を受けました。ゲームボーイのCPUはZ80ベースであり、エミュレータで実装されていたのはまさにZ80の命令だったのです。この体験で、エミュレータがハードウェア仕様をソフトウェア的に表現したものであることを理解しました。

そしてさらにその3年後。名著「CPUの創りかた」で紹介されているCPU、TD4を実装し衝撃を受けました。そこに見たCPUは電気回路として表現された状態機械でした。

このトークではPHPでTD4のエミュレータを実装し、マシン語実行環境、エミュレータの対象、そして電気回路としてのCPUがどの様に動作するのかを解説し、CPUの魅力をみなさまにお伝えします!

レギュラーセッション(30分)

Laravel でもサーバレス!PHPerも明日からサーバレスを始めよう

t_tsuru 鶴島 剛

昨年のデプロイ戦略に続き、今年はAWS Lambdaへのデプロイ一本でお話します。
PHP以外の言語では、サーバレスの話題が多くなっていますが、PHPではまだまだ実例が少ないと思います。

本トークでは、Brefを利用し、既存のLaravelプロジェクトを明日からでもLambdaで動かすために必要なポイントを解説します。
LaravelをLambdaで動かすことにより、PHPerはよりコードに集中できるようになり、スケーラブルなシステムを構築可能です。コストも大幅に削減できます。

明日からサーバレスの世界に踏み出しましょう。

2
レギュラーセッション(30分)

Laravel × Dacapo で始める快適マイグレーション生活!

ucan_lab ゆうきゃん

開発初期段階ではテーブル構成の変更が激しく、マイグレーションファイルの管理が混沌となっていました。

  • カラムの増減のたびに追加されるマイグレーションファイル
  • 使用されないテーブルのマイグレーションファイル
  • upとdownの整合性を保つコスト
  • 最新のテーブル構成をマイグレーションファイルから読み取れない

開発段階はカジュアルに、スムーズにテーブル構成を変更して高い開発をしたい!

そんな要望に応えるためLaravel開発者のDX(開発者体験)を爆上げする、
Laravelのマイグレーションファイル生成サポートツール「laravel-dacapo」を開発したお話をします。

3
ショートセッション(15分)

Laravelの何を学ぶか?Laravelから何を学ぶか?

KentarouTakeda 武田 憲太郎

Laravelはあらゆる規模や用途のアプリケーションに対応する柔軟なフレームワークです。

柔軟さ故に機能は幅広く、全体に精通するのは容易ではありません。Welcome画面の次に何を学ぶべきなのか解らず戸惑った方は多いのではないでしょうか。

このセッションではLaravelの全体像をユースケースやレイヤー毎に分類することで、これからLaravelを学び始める方やプロジェクトに導入しようとしている方へ学習や検討の指標を提供します。

1
ショートセッション(15分)

データベースエンジニアから見たEloquentパフォーマンスチューニング

KentarouTakeda 武田 憲太郎

RDBはアプリケーションの心臓部です。たった1つのSQLがサービス全体に深刻な負荷を与えることも珍しくありません。

SQLを意識せずコードが書けるのはEloquentの大きなメリットですが、実際のSQLを書けない分だけトラブルシューティングは難しくなります。

意図せぬ負荷は避けたいが、普段はSQLを意識せずコードを書きたい。

この両立は可能でしょうか?データベースエンジニアの立場からお話しします。SQLの知識の有無は問わない内容です。

LT(5分)

GitHub PHP Function Jumper はどのように開発され、そしてストアに公開されたのか

m3m0r7 めもり〜

GitHub 上で PHP の関数やクラスにマウスをあてるとポップアップが表示され、該当の引数の数や、サマリを表示したりマニュアルに飛べたりする Chrome 拡張機能の GitHub PHP Function Jumper の開発の苦労話からどのように作ったのか、 Chrome Web Store への公開、そして今後の展望をノンストップでお届けします。

https://chrome.google.com/webstore/detail/github-php-function-jumpe/pmgmgaejgbjiooiklinoelilmnldlhcf

1
ショートセッション(15分)

GitHub PHP Function Jumper はどのように開発され、そしてストアに公開されたのか

m3m0r7 めもり〜

GitHub 上で PHP の関数やクラスにマウスをあてるとポップアップが表示され、該当の引数の数や、サマリを表示したりマニュアルに飛べたりする Chrome 拡張機能の GitHub PHP Function Jumper の開発の苦労話からどのように作ったのか、 Chrome Web Store への公開、そして今後の展望をノンストップでお届けします。

https://chrome.google.com/webstore/detail/github-php-function-jumpe/pmgmgaejgbjiooiklinoelilmnldlhcf

1
LT(5分)

Laravelから始めるテスト駆動開発

AkitoTsukahara Tsukahara

恥ずかしいお話ですが、自分は最近までテストコードをちゃんと書いたことがありませんでした。。。
LTではLaravelを新規に導入したタイミングで一念発起し、テスト駆動開発を始めたお話です。

テスト初心者でも、テスト駆動開発は始められるんだ!と、
自分と同じような状況の方にとって、少しでも励みになれればと思います。

▼あらすじ
・テスト駆動開発したいなーと、思ったきっかけ
・0か100じゃなくて、少しづつ始めることが大切
・テスト駆動開発始めてみた感じたこと

LT(5分)

去年登壇したら人生変わった話

nyamucoro ういろう

去年、私は『新卒2年目がLaravelコントリビュート出来た理由とその面白さ 』というタイトルで、
初めて登壇をしました。

その時には、面白そうだからという理由で登壇をしました。

すると、仲間が増えて、登壇も気づいたら5回目?
そんな、エンジニアとして人生が変わっていった過程と、その理由を話します。

みんなも恐れず、アウトプットしていこう!

LT(5分)

Laravelの6.xがバージョンアップ多い理由って?

nyamucoro ういろう

『Laravel5系』ってひとくくりにするのは間違ってるってお話します。

■結論
Laravel6.xからセマンティックバージョニングになったよ

Laravelが6になってから、めっちゃバージョン上がってない!?
って思った人はたくさんいると思います。

でもそれは、5までと違って、6からはバージョニングが変わったからです!

■内容
・セマンティックバージョニングって?
・今起こってるバージョンアップって?
・どんなの増えてる?
・セマンティックバージョニングにしないって過去のドキュメントにあった気がすr

1
レギュラーセッション(30分)

バージョンアップで心が折れた話

nyamucoro ういろう

注)この話はフィクションです。きっと。

■対象
・今最新を使っている人(メインターゲットです)
・これからやる人
・もうやって、あるある話を聞いて涙したい人

皆さん、バージョンアップしてますか?
PHPや、Laravel、古くなってきたからバージョンアップしよう。
よくある話ですね。

でも、何も考えずにプログラムを書くと、あとで痛い目を見ます。

これは、本当にあったかはわからない、バージョンアップで悲しみを背負った人の話。

■内容
・vendor配下をいじった報い
・コードをコピペで拡張した悲しみ
・Laravelを見捨ててPHP上げたらLaravelがお亡くなりに
・テストコードなんてなかった
・このライブラリはもう居ない
・消えた機能
・見つからない変更点
・再度襲いかかるコピペの悲しみ
・見えない終わり
・把握できない予算、見積もり
・PHPのアプデは簡単だったという圧力
・本当はマイナーバージョンアップではない誤解
・把握できないバージョンアップの利点

1
レギュラーセッション(30分)

LaravelDB.comの設計から実装まで「ER図←→CRUD生成」を作った

daisu_yamazaki Yamazaki Daisuke

「 LaravelDB.com 」
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3
を参考に見てください。『Laravelを使う人を幸せにしたいという思いから作った』アプリケーションです。
これは「あったら便利だ!!」の思いから作った始まりから〜完成するまで、そして操作方法や勘所など全て話せたらと思います。
一念発起して作り始めたはいいが、、、カラムとMigration等の想定外のことやCRUD生成処理の想定外など結構大変な開発でした。
操作方法含め、お話できればと思います。

2
レギュラーセッション(30分)

PHP の昔話をしよう

m3m0r7 めもり〜

今でこそ PHP は CakePHP, Laravel など多岐にわたるフレームワークがあり、私達開発者はそれぞれのルールに則り言語の仕組み自体をそこまで知らなくても開発ができるようになりました。
品質を担保するためにはチーム開発では、より最適化されたコードをいかに多く生み出せるかだと私は考えています。ルールが存在するということは、そのフレームワークに最適化されているということとも捉えることができます。とても開発しやすい時代になったと考えます。
しかし、昔の PHP はどうでしたでしょうか。 PHP 4 の時代、私達はどのようにしてサービスやプロダクトを作ってきたのでしょうか。そして、 PHP 5 が登場したあの時の感動、 create_function から無名関数に次第に置き換わっていく快感、配列のシンタックスが array から [ と ] に変わった瞬間、そして PHP 7 が登場し、PHPer 達が驚愕したあの瞬間。
そんな PHP 4 の時代, PHP 5 の時代 そして PHP 7 に移り変わる歴史的な瞬間、それらを昔話を交えながらお話しようと思います。

2
ショートセッション(15分)

PHP の昔話をしよう

m3m0r7 めもり〜

今でこそ PHP は CakePHP, Laravel など多岐にわたるフレームワークがあり、私達開発者はそれぞれのルールに則り言語の仕組み自体をそこまで知らなくても開発ができるようになりました。
品質を担保するためにはチーム開発では、より最適化されたコードをいかに多く生み出せるかだと私は考えています。ルールが存在するということは、そのフレームワークに最適化されているということとも捉えることができます。とても開発しやすい時代になったと考えます。
しかし、昔の PHP はどうでしたでしょうか。 PHP 4 の時代、私達はどのようにしてサービスやプロダクトを作ってきたのでしょうか。そして、 PHP 5 が登場したあの時の感動、 create_function から無名関数に次第に置き換わっていく快感、配列のシンタックスが array から [ と ] に変わった瞬間、そして PHP 7 が登場し、PHPer 達が驚愕したあの瞬間。
そんな PHP 4 の時代, PHP 5 の時代 そして PHP 7 に移り変わる歴史的な瞬間、それらを昔話を交えながらお話しようと思います。