Laravel入門者にとって、サービスプロバイダ, サービスコンテナは鬼門です。
これらはDIなどのテクニックが背景にありますが、そもそもDIという概念がとても難しいですよね。
本セッションでは、サービスプロバイダ, サービスコンテナを実例を交えて説明します。
また、実践を踏まえてregisterメソッドとbootメソッドの違いなども解説します。
PHP で Web アプリケーションを開発するのにフレームワークを利用するのは当たり前となっています。
Laravelをはじめとするフレームワークは有用なものですが、
それだけあれば我々が望むアプリケーションができるわけではありません。
アプリケーションを開発、運用していく上で、
より主体的にフレームワークを活用するための付き合い方をご紹介します。
laravelのパッケージ機能はライブラリを作成するためのものだけではありません。
laravelのパッケージ開発を利用して、複雑なシステムを機能分離する手法を紹介します。
「使い始めるのが簡単 (Easy)」と「開発が進めやすい (Simple)」は別物だという話。laravel-mixやVueを使って感じたこと。
現在マイクロサービス化を進めているエキテン。
マイクロサービスの1コンポーネントに採用したLaravelのことや、
現場にいる新卒の目を通じて、その光と闇について。
SCOUTERでLaravelでのAPI開発を高速にするためにやっていることを話します。
パッケージ開発や自作OSSをもちいた開発など、
開発フローの効率化をお話させていただきます。
昨今、Webアプリケーションにおいて、速度はとても重要な要素です。
せっかく開発速度はLaravelで超速になったのに、アプリケーションの実行速度はどうですか?
例えばRDBMSが理由でパフォーマンスが劣化したり、チューニングに四苦八苦した経験はありませんか?
これはORMのせいでもPHPのせいでもありません。
Laravelに限らず、データの本質と向き合い、より良い設計と設定を行えばRDBMSは答えてくれます。
今回はそんなRDBMSのパフォーマンスチューニングについてお話します。
【はじめに】
皆さん、普段ユニットテストコードを書いていますか?
テストは私たちが実装するプログラムが期待通りの動作をしていない場合に自動検知することができ、「間違ったコードを書かない」ために必要不可欠といえます。
しかし、正しいテストを書くには、どの程度のテストコードを書けば必要十分かを学び、同値分析や境界値分析などの専門知識を身につける必要があり、簡単なスキルとはいえません。
このワークショップではまずテストの基礎知識やメリット・デメリットを再確認し、その後に堅牢な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プログラムを開発したことがない方は対象としておらず、ハンズオンで十分なサポートができませんので、予めご了承ください。
ただ自分の書いたコードがいい感じのコストで、いい感じにスケールして動いてくれればいいのです。
本トークでは幅広いデプロイ戦略を紹介し、小規模から大規模に至るまでLaravelを採用する場合のインフラ選定のヒントになってほしいと願っています。
一般的なデプロイ技術選定の話から、[GCP] GKE、GAE [AWS] EKS、Fargate、AWS Lambdaなどでのデプロイについても幅広く紹介を行います。
Lumenは2015年にLaravel5.0をベースに作られたマイクロフレームワークです。
GameWithの新サービスは、開発当初はLumenで開発をしていました。
しかし、独自でDBコネクションを作成し管理していたため、DBスレーブ環境を構築する際に独自でスレーブの処理を実装する必要がでてきました。
そのため、リリース直前でしたがLaravelに移行するのを決心しました。
本セッションではLumenでの開発、Laravelへの移行した事例を紹介します。
10年以上PHPでノンフレームワークで開発・運用されてきた主力サービス(メールディーラー)の開発チームが、新規に姉妹サービス(チャットディーラー)を立ち上げる際にLaravelを選択をしました。
開発期間半年というスピードが求められる中で、チームがLaravelに抱いた理想と現実、また、Laravel(Blade)とVue.jsの組み合わせによる脆弱性への対応など、Laravelでの新規サービス立ち上げの経験を具体的にお伝えします。
本トークでは、Laravelで作られた基本的なウェブアプリケーションを例に上げて、ウェブアプリケーションのチューニングとはどのようなことをすればよいのか?どのような原因でウェブアプリケーションが遅くなるのかを説明し、その対処法について紹介します。
●このトークでお話すること
新卒2年目、PHP歴1年の私が、Laravelのバグ修正に至った理由・そこで起こったことを話そうと思います。
■対象
・PHP、Laravel初心者の方
・OSSコントリビュート未経験
■内容
・バグ発見のきっかけ
・Laravelのコードを追い方
・コントリビュートして起こったこと
・コントリビュートの面白さ
・新人エンジニアと指導する方に伝えたいこと
「抽象」という言葉に抵抗を感じるプログラマは多くいると思います。
抽象的=フワっとしていて理解しづらいという抵抗や、
抽象化=プログラムを分かりづらくするという抵抗など。
では、プログラムを書く上で、抽象化は不要なのでしょうか?
この講演では、私達人間にとっての抽象化と、
プログラミングにおける抽象化について掘り下げ、
プログラミングにおいて役立つ抽象化がどのようなものなのかをお話します。
アクセスカウンター。
今となっては「なにそれ?」とも言われそうな、Perl-CGIの時代発祥の懐かしきプログラムです。
しかし、「ファイルの読み書き」「画像の合成」「多重リクエスト判定」という、
Webアプリの構成をそこそこ網羅したコンパクトなプロダクトと言えるでしょう。
そこで今回は、温故知新と称しアクセスカウンターを現代的なPHPの作法で作ろうと思います。
ぜひ、そこはかとないオーバースペック感をお楽しみください。
Google製のRPCフレームワーク、gRPC。サービス間通信での利用例を側聞しますが、PHP界隈ではあまり耳にしません。通常のリクエストサイクルでgRPCサーバを実現できないためです。曰く、"PHPのgRPCサーバは特殊な構成になるので役立たず"。
ひどい。もうgolangに宗旨替えするしか……?
いや、やってやろうじゃないか、その特殊な構成とやらを。PHPでgRPCサーバの可能性について紹介します。
キーワード:研修、設計、実装、開発環境
PHPやJSの開発をやりたいという未経験者を対象に行った、小規模プロジェクトの起承転結。
VSCodeの各種アドオンなどを存分にいかして、
PMBOKを土台したプロジェクト企画、要件定義、設計などを高速に行いデプロイまで実施しました。
業務環境では難しい各種実験的なツールの取り入れなどの実例も紹介。
現在、Laravel + Vue.js + Vuex + VueRouter + Vuetifyを組み合わせた半SPA構成での開発を進めています。
私が入社した頃、サーバーサイドエンジニアが複雑な仕様の複雑なUIを懸命にjQueryで作っており、フロントエンドで多くの課題を抱えていました。
Laravelと出会ってなければ辿り着けなかったレガシーな管理サイトをSPAにするまでの歩みをお話します。
2018年10月にリリースされたばかりのデバック支援ツールLaravel Telescopeについて触ってみた&本番運用してみた話をしようと思います。
Laravel からコマンラインツールだけを抜き出したツール、Laravel Zero。
実はduskの魔法を召喚することができます。
いつも書いているブラウザテストのノリで、ログインが必要なWebページから必要なデータを収集して通知するツールを使ったので紹介します。