はじめに
皆さん、普段ユニットテストコードを書いていますか?
テストは私たちが実装するプログラムが期待通りの動作をしていない場合に自動検知することができ、「間違ったコードを書かない」ために必要不可欠といえます。
しかし、正しいテストを書くには、どの程度のテストコードを書けば必要十分かを学び、同値分析や境界値分析などの専門知識を身につける必要があり、簡単なスキルとはいえません。
このワークショップではまずテストの基礎知識やメリット・デメリットを再確認し、その後に堅牢な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プログラムを開発したことがない方は対象としておらず、ハンズオンで十分なサポートができませんので、予めご了承ください。
Laravel使いだった私はGo言語を始めて1年、業務では半年開発をしています。
Goをどのように学習するのが良いか、Goコミュニティや文化の話、Goのメリット、PHPとの違い、開発時に注意するtips、
Go製ライブラリやなぜMicroserviceで利用される事が多いのか?などを分かりやすくお話します
Laravelを用いることで多種多様なアプリケーションチームが可能ですが、
必ずしも全てのケースで有用というわけではなく、
手軽さが重視されるわけではありません。
マイクロサービスアーキテクチャ実践する上で、
複数の実装パターン、データ処理フロー、サービス分割方法を交えながら
Laravelを使う場合に注意しなければならない点、
課題解決としてHackに置き換える実例と運用方法軸にお話しします。
Amazon Echo Spot と、Laravel ベースのChatbotフレームワーク Botman を使って、簡単なAlexaスキルを使ってみたよ、というお話
あとはここにPHPでごにょごにょごにょっていろいろ書いたらいろいろむふふなことができちゃうよね!っていう開発ネタの提供ができたらいいなぁと思っています。
Laravel をベースに作られたChatbotフレームワークのBotmanを紹介します。
slack botとしてだけではなく、WebChatBotとして動く様子もご紹介したいと思います。
普段触っているLaravelですが、実はadonis JSというLaravelによく似たフレームワークがあることをご存知でしょうか。
今回はLaravelerに向けてadonis JSの魅力を知ってもらい、もしバックエンドにも JSを採用するケースがあった場合に活用していただければと思います。
JSはフロントエンド技術としても非常に優秀なのでそちらに興味を持っていただくきっかけにもなればと思います。
iOSアプリで位置x動画のSNSサービスを作った際に、Laravelをバックエンドを構築した際の知見を共有します。
MySQLのgeometry型の利用やAws Elastic Transcoder等、個人的に今回始めて導入した技術の話がメインになります。
自身が行ったLaravelコアへのContributionやメールのDriver開発をもとに、LaravelでどのようにOSS開発を進めればいいかを話します。
OSS開発デビューしたい人はもちろん、使いたいサービスのDriverがデフォルトでサポートされていなくて困っている人にも役立つようなトークをしたいと思います。
非常に多くの技術的負債を抱えたサービスをどのようなアプローチで解決していったかを話していきます。
また、その上で今後技術的負債を溜めずらくするためのアプローチについても話していきます。
Laravelでは日付操作ライブラリとしてCarbonを使うことが多いですが、こんな話をよく聞きませんか?
「CarbonはMutableだから怖い」
この話、なんとなくうなずいて、理解した気になっていませんか?
Mutable, Immutableを実例を上げて心から理解できるように解説します。
※2018年9月にCarbon2がリリースされ、Immutableな日付操作が出来るようになっています。
「『レイヤードアーキテクチャ』の名前は聞いたことあるけど敷居が高そう……」といった方に向けて、実コードと一緒に各レイヤーの役割/考え方や、Laravel での実装における tips 等をお話しします!
※(Laravel に限らず)web フレームワークを使ったことがあり、オブジェクト指向プログラミングの基本概念(class, interface 等)を理解している方を想定しています。
他の言語やフレームワークを使用してWebアプリケーションを開発していた方がPHPおよびLaravelを学習して
プロジェクトを作成した際にやっておくこと、開発で気をつけること、どんな設計手法を取り入れることによって、今まであった課題を解決することができるのかを話していきます。
具体的にはLint、静的解析、CI、設計、Tipsなど含めて初期に必要な知識を一気に話していこうと思います。
LaravelはWebフレームワークとして大きくなりつつも柔軟な設計ができることが魅力の一つになってると考えてます。
ただ、柔軟さが故に他の開発者に設計の意図を伝えづらかったり全体としての設計の統一感がなくなったりすることも
出てきたりすると考えてます。
そこである程度のユースケースに対応した大きめのLaravelアプリケーションの設計および
開発ルールについてもお話できたらと思います。
はじめてLaravelをDocker上で動かすように開発環境をAnsibleを使用してプロビジョニングしてみたけど、
反省点、ハマりポイントが多かったのでその体験を共有します。
スタートアップで働いています。
「とりあえず動くものを!」の方針のもと、CakePHP+JQueryで作った弊社Webサービスですが、
設計も適当、継ぎ接ぎによる機能拡張と、今後の破綻が目に見えています。
そこで設計を見直し、また、それに合わせてトレンドであるLaravel+vue.jsへのリプレースを決意しました!
今回はリプレースでハマったポイントや回避方法を共有します。
Webの世界で行われていた個人の行動や嗜好の追跡、閲覧者によるコンテンツの切り替えなどがIoTやAIと設備がつながることによって現実空間にも実装される未来がやってきます。このセッションでは商業空間にこれからおこる変化、照明や空調、ブラインドなどの設備制御の現状とこれから、Laravelに求められる役割、Laravelを使った設備制御の方法と利用できる技術、具体的な実装方法についてお話しします。
MVCのMすら使わずにControllerにもりもり処理を書いていたCodeIgniter使いが、Laravelに入門して様々な箇所に処理をかき分けたお話をします。具体的にはRepositroyパターン、UseCase思考、ViewComposerを使いControllerへの記述量を格段に減らしてスッキリしたコードを書けるようになりました。