Laravel Hands On

PHPテストワークショップ

chiroruxxxx 前田 和人

はじめに

皆さん、普段ユニットテストコードを書いていますか?
テストは私たちが実装するプログラムが期待通りの動作をしていない場合に自動検知することができ、「間違ったコードを書かない」ために必要不可欠といえます。
しかし、正しいテストを書くには、どの程度のテストコードを書けば必要十分かを学び、同値分析や境界値分析などの専門知識を身につける必要があり、簡単なスキルとはいえません。
このワークショップではまずテストの基礎知識やメリット・デメリットを再確認し、その後に堅牢なWEBアプリケーションを作成するためのテストの書き方をハンズオン形式で学びます。

タイムスケジュール
13:00~13:10 概要説明
13:10~13:40 テストのメリット・デメリットを再確認
13:40~14:10 初めてのユニットテスト
14:10~14:20 (休憩)
14:20~15:50 本格的なテストのハンズオン
15:50~16:00 アンケート

注意事項
本ワークショップはトータル180分間(3時間)を予定します。
参加される際には以下の注意事項をよくお読みのうえご準備ください。

基本的な注意事項
座学の後プログラム実装を行って頂きますので、必ずノートPCをお持ち下さい。
また以下の準備が完了していない場合、ハンズオンを受講できない場合があります。
以下の手順に沿ってPHPがインストールされていること
http://php.net/manual/ja/install.php
以下の手順に沿ってcomposerがインストールされているこ
https://getcomposer.org/download/
PHPプログラムを書くためのテキストエディタがインストールされていること
PHPStorm・VS Code等、普段お使いのもので結構です

想定する受講者
PHPプログラムをこれまでに概ね3ヶ月以上開発した事があり、基礎的な文法知識を身につけている方を対象としています。
これまで全くPHPプログラムを開発したことがない方は対象としておらず、ハンズオンで十分なサポートができませんので、予めご了承ください。

LT(5分)

Laravelerの僕が半年Goで開発した知見を公開する

k_kurikuri2 k-kurikuri

Laravel使いだった私はGo言語を始めて1年、業務では半年開発をしています。
Goをどのように学習するのが良いか、Goコミュニティや文化の話、Goのメリット、PHPとの違い、開発時に注意するtips、
Go製ライブラリやなぜMicroserviceで利用される事が多いのか?などを分かりやすくお話します

レギュラートーク(30分)

Moving from Laravel to Hack in Building microservices

ex_takezawa ytake

Laravelを用いることで多種多様なアプリケーションチームが可能ですが、
必ずしも全てのケースで有用というわけではなく、
手軽さが重視されるわけではありません。
マイクロサービスアーキテクチャ実践する上で、
複数の実装パターン、データ処理フロー、サービス分割方法を交えながら
Laravelを使う場合に注意しなければならない点、
課題解決としてHackに置き換える実例と運用方法軸にお話しします。

レギュラートーク(30分)

Laravel で Alexa スキル作っちゃう?

makies maki

Amazon Echo Spot と、Laravel ベースのChatbotフレームワーク Botman を使って、簡単なAlexaスキルを使ってみたよ、というお話

あとはここにPHPでごにょごにょごにょっていろいろ書いたらいろいろむふふなことができちゃうよね!っていう開発ネタの提供ができたらいいなぁと思っています。

LT(5分)

LaravelでWebChatbotをつくる、Boatman

makies maki

Laravel をベースに作られたChatbotフレームワークのBotmanを紹介します。
slack botとしてだけではなく、WebChatBotとして動く様子もご紹介したいと思います。

LT(5分)

Laravelerに知ってほしいadonis JSの話

たかひろ

普段触っているLaravelですが、実はadonis JSというLaravelによく似たフレームワークがあることをご存知でしょうか。
今回はLaravelerに向けてadonis JSの魅力を知ってもらい、もしバックエンドにも JSを採用するケースがあった場合に活用していただければと思います。
JSはフロントエンド技術としても非常に優秀なのでそちらに興味を持っていただくきっかけにもなればと思います。

LT(5分)

Laravelで位置情報動画サービスを作っている話

kei4eva4 新垣圭祐

iOSアプリで位置x動画のSNSサービスを作った際に、Laravelをバックエンドを構築した際の知見を共有します。
MySQLのgeometry型の利用やAws Elastic Transcoder等、個人的に今回始めて導入した技術の話がメインになります。

1
LT(5分)

Laravelコンテナ環境を自作する

m2wasabi えむにわ

Laradockは重すぎる!
Laravelに最適化した、自分だけの軽量Dockerコンテナを自作しよう!

LT(5分)

Laravelで始めるOSS開発

ichikawa_0829 ichikawa_0829

自身が行ったLaravelコアへのContributionやメールのDriver開発をもとに、LaravelでどのようにOSS開発を進めればいいかを話します。
OSS開発デビューしたい人はもちろん、使いたいサービスのDriverがデフォルトでサポートされていなくて困っている人にも役立つようなトークをしたいと思います。

レギュラートーク(30分)

技術的負債が役満のサービスをLaravelでリプレイスする

suthio_ 岩崎裕馬

非常に多くの技術的負債を抱えたサービスをどのようなアプローチで解決していったかを話していきます。
また、その上で今後技術的負債を溜めずらくするためのアプローチについても話していきます。

LT(5分)

心から理解するLaravelのImmutableな日付操作

hanhan1978 富所 亮

Laravelでは日付操作ライブラリとしてCarbonを使うことが多いですが、こんな話をよく聞きませんか?
「CarbonはMutableだから怖い」

この話、なんとなくうなずいて、理解した気になっていませんか?
Mutable, Immutableを実例を上げて心から理解できるように解説します。

※2018年9月にCarbon2がリリースされ、Immutableな日付操作が出来るようになっています。

レギュラートーク(30分)

実コードと一緒に学ぼう、Laravel × レイヤードアーキテクチャ

okashoi 岡田正平

「『レイヤードアーキテクチャ』の名前は聞いたことあるけど敷居が高そう……」といった方に向けて、実コードと一緒に各レイヤーの役割/考え方や、Laravel での実装における tips 等をお話しします!
※(Laravel に限らず)web フレームワークを使ったことがあり、オブジェクト指向プログラミングの基本概念(class, interface 等)を理解している方を想定しています。

LT(5分)

.envを知ろう

anzawatta

Laravelの設定ファイルで知られる.envのシンタックスやエラーについて話します。

レギュラートーク(30分)

Laravel初心者向け、これだけやっておけば高速にLaravelが書けるようになる方法を話します!!!

suthio_ 岩崎裕馬

他の言語やフレームワークを使用してWebアプリケーションを開発していた方がPHPおよびLaravelを学習して
プロジェクトを作成した際にやっておくこと、開発で気をつけること、どんな設計手法を取り入れることによって、今まであった課題を解決することができるのかを話していきます。
具体的にはLint、静的解析、CI、設計、Tipsなど含めて初期に必要な知識を一気に話していこうと思います。

レギュラートーク(30分)

大きめのLaravelアプリケーション設計について考えてみる

suthio_ 岩崎裕馬

LaravelはWebフレームワークとして大きくなりつつも柔軟な設計ができることが魅力の一つになってると考えてます。
ただ、柔軟さが故に他の開発者に設計の意図を伝えづらかったり全体としての設計の統一感がなくなったりすることも
出てきたりすると考えてます。
そこである程度のユースケースに対応した大きめのLaravelアプリケーションの設計および
開発ルールについてもお話できたらと思います。

LT(5分)

はじめてのLaravel on Docker Container

kroyeeg shougo

はじめてLaravelをDocker上で動かすように開発環境をAnsibleを使用してプロビジョニングしてみたけど、
反省点、ハマりポイントが多かったのでその体験を共有します。

LT(5分)

スタートアップでCakePHP+JQueryからLaravel+vue.jsへリプレース。ハマった点を共有。

rytskywlkr りょう

スタートアップで働いています。

「とりあえず動くものを!」の方針のもと、CakePHP+JQueryで作った弊社Webサービスですが、
設計も適当、継ぎ接ぎによる機能拡張と、今後の破綻が目に見えています。

そこで設計を見直し、また、それに合わせてトレンドであるLaravel+vue.jsへのリプレースを決意しました!
今回はリプレースでハマったポイントや回避方法を共有します。

LT(5分)

楽譜共有サービスを作成しました

miurabo1 miurabo

楽譜共有サービスを作成しようと思います。設計と実装内容と気付きについて共有させていただければと思います。

レギュラートーク(30分)

IoTやAIを使った現実空間最適化時代における設備制御とLaravel

nakachon 中畑隆拓

Webの世界で行われていた個人の行動や嗜好の追跡、閲覧者によるコンテンツの切り替えなどがIoTやAIと設備がつながることによって現実空間にも実装される未来がやってきます。このセッションでは商業空間にこれからおこる変化、照明や空調、ブラインドなどの設備制御の現状とこれから、Laravelに求められる役割、Laravelを使った設備制御の方法と利用できる技術、具体的な実装方法についてお話しします。

LT(5分)

3年間ControllerとViewだけで生活してたCodeIgniter使いがLaravel入門した話

pensuke81 ぺんすけ

MVCのMすら使わずにControllerにもりもり処理を書いていたCodeIgniter使いが、Laravelに入門して様々な箇所に処理をかき分けたお話をします。具体的にはRepositroyパターン、UseCase思考、ViewComposerを使いControllerへの記述量を格段に減らしてスッキリしたコードを書けるようになりました。

1