【はじめに】
皆さん、普段ユニットテストコードを書いていますか?
テストは私たちが実装するプログラムが期待通りの動作をしていない場合に自動検知することができ、「間違ったコードを書かない」ために必要不可欠といえます。
しかし、正しいテストを書くには、どの程度のテストコードを書けば必要十分かを学び、同値分析や境界値分析などの専門知識を身につける必要があり、簡単なスキルとはいえません。
このワークショップではまずテストの基礎知識やメリット・デメリットを再確認し、その後に堅牢なWEBアプリケーションを作成するためのテストの書き方をハンズオン形式で学びます。
【タイムスケジュール】
13:00~13:10 概要説明
13:10~13:40 テストのメリット・デメリットを再確認
13:40~14:20 初めてのユニットテスト
14:20~15:50 本格的なテストのハンズオン
15:50~16:00 まとめ
【注意事項】
本ワークショップはトータル180分間(3時間)を予定します。
参加される際には以下の注意事項をよくお読みのうえご準備ください。
■注意事項
座学の後にお手持ちのノートPCを使ってプログラム実装を行って頂きますので、必ずノートPCをお持ち下さい。
また以下の準備が完了していない場合、ハンズオンを受講できない場合があります。
以下の手順に沿ってPHPがインストールされていること
http://php.net/manual/ja/install.php
以下の手順に沿ってcomposerがインストールされているこ
https://getcomposer.org/download/
PHPプログラムを書くためのテキストエディタがインストールされていること
PHPStorm・VS Code等、普段お使いのもので結構です
■想定する受講者
PHPプログラムをこれまでに概ね3ヶ月以上開発した事があり、基礎的な文法知識を身につけている方を対象としています。
これまで全くPHPプログラムを開発したことがない方は対象としておらず、ハンズオンで十分なサポートができませんので、予めご了承ください。
現在マイクロサービス化を進めているエキテン。
マイクロサービスの1コンポーネントに採用したLaravelのことや、
現場にいる新卒の目を通じて、その光と闇について。
Lumenは2015年にLaravel5.0をベースに作られたマイクロフレームワークです。
GameWithの新サービスは、開発当初はLumenで開発をしていました。
しかし、独自でDBコネクションを作成し管理していたため、DBスレーブ環境を構築する際に独自でスレーブの処理を実装する必要がでてきました。
そのため、リリース直前でしたがLaravelに移行するのを決心しました。
本セッションではLumenでの開発、Laravelへの移行した事例を紹介します。
SCOUTERでLaravelでのAPI開発を高速にするためにやっていることを話します。
パッケージ開発や自作OSSをもちいた開発など、
開発フローの効率化をお話させていただきます。
「使い始めるのが簡単 (Easy)」と「開発が進めやすい (Simple)」は別物だという話。laravel-mixやVueを使って感じたこと。
PHP で Web アプリケーションを開発するのにフレームワークを利用するのは当たり前となっています。
Laravelをはじめとするフレームワークは有用なものですが、
それだけあれば我々が望むアプリケーションができるわけではありません。
アプリケーションを開発、運用していく上で、
より主体的にフレームワークを活用するための付き合い方をご紹介します。
「抽象」という言葉に抵抗を感じるプログラマは多くいると思います。
抽象的=フワっとしていて理解しづらいという抵抗や、
抽象化=プログラムを分かりづらくするという抵抗など。
では、プログラムを書く上で、抽象化は不要なのでしょうか?
この講演では、私達人間にとっての抽象化と、
プログラミングにおける抽象化について掘り下げ、
プログラミングにおいて役立つ抽象化がどのようなものなのかをお話します。
昨今、Webアプリケーションにおいて、速度はとても重要な要素です。
せっかく開発速度はLaravelで超速になったのに、アプリケーションの実行速度はどうですか?
例えばRDBMSが理由でパフォーマンスが劣化したり、チューニングに四苦八苦した経験はありませんか?
これはORMのせいでもPHPのせいでもありません。
Laravelに限らず、データの本質と向き合い、より良い設計と設定を行えばRDBMSは答えてくれます。
今回はそんなRDBMSのパフォーマンスチューニングについてお話します。
はじめに
皆さん、普段ユニットテストコードを書いていますか?
テストは私たちが実装するプログラムが期待通りの動作をしていない場合に自動検知することができ、「間違ったコードを書かない」ために必要不可欠といえます。
しかし、正しいテストを書くには、どの程度のテストコードを書けば必要十分かを学び、同値分析や境界値分析などの専門知識を身につける必要があり、簡単なスキルとはいえません。
このワークショップではまずテストの基礎知識やメリット・デメリットを再確認し、その後に堅牢な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入門者にとって、サービスプロバイダ, サービスコンテナは鬼門です。
これらはDIなどのテクニックが背景にありますが、そもそもDIという概念がとても難しいですよね。
本セッションでは、サービスプロバイダ, サービスコンテナを実例を交えて説明します。
また、実践を踏まえてregisterメソッドとbootメソッドの違いなども解説します。
Laravel使いだった私はGo言語を始めて1年、業務では半年開発をしています。
Goをどのように学習するのが良いか、Goコミュニティや文化の話、Goのメリット、PHPとの違い、開発時に注意するtips、
Go製ライブラリやなぜMicroserviceで利用される事が多いのか?などを分かりやすくお話します
Laravelを用いることで多種多様なアプリケーションチームが可能ですが、
必ずしも全てのケースで有用というわけではなく、
手軽さが重視されるわけではありません。
マイクロサービスアーキテクチャ実践する上で、
複数の実装パターン、データ処理フロー、サービス分割方法を交えながら
Laravelを使う場合に注意しなければならない点、
課題解決としてHackに置き換える実例と運用方法軸にお話しします。
LaravelでGraphQLサーバを実装するためのライブラリであるLighthouseを使って、認証必須のGraphQL APIを開発した時の事例を紹介します。
Lighthouseを使用してGraphQL APIを開発する際の認証については、あまり事例や参考になる記事などがなかったため、これを機に自分がどのように実装したかを紹介できればと思います。
Amazon Echo Spot と、Laravel ベースのChatbotフレームワーク Botman を使って、簡単なAlexaスキルを使ってみたよ、というお話
あとはここにPHPでごにょごにょごにょっていろいろ書いたらいろいろむふふなことができちゃうよね!っていう開発ネタの提供ができたらいいなぁと思っています。
Laravel をベースに作られたChatbotフレームワークのBotmanを紹介します。
slack botとしてだけではなく、WebChatBotとして動く様子もご紹介したいと思います。
普段触っているLaravelですが、実はadonis JSというLaravelによく似たフレームワークがあることをご存知でしょうか。
今回はLaravelerに向けてadonis JSの魅力を知ってもらい、もしバックエンドにも JSを採用するケースがあった場合に活用していただければと思います。
JSはフロントエンド技術としても非常に優秀なのでそちらに興味を持っていただくきっかけにもなればと思います。
Laravel からコマンラインツールだけを抜き出したツール、Laravel Zero。
実はduskの魔法を召喚することができます。
いつも書いているブラウザテストのノリで、ログインが必要なWebページから必要なデータを収集して通知するツールを使ったので紹介します。
iOSアプリで位置x動画のSNSサービスを作った際に、Laravelをバックエンドを構築した際の知見を共有します。
MySQLのgeometry型の利用やAws Elastic Transcoder等、個人的に今回始めて導入した技術の話がメインになります。
自身が行ったLaravelコアへのContributionやメールのDriver開発をもとに、LaravelでどのようにOSS開発を進めればいいかを話します。
OSS開発デビューしたい人はもちろん、使いたいサービスのDriverがデフォルトでサポートされていなくて困っている人にも役立つようなトークをしたいと思います。