私が担当するLaravelアプリケーションは、DBマイグレーションの問題、テストフレームワークの不在、CI/CD環境の欠如といった荒野のような状況でした
以下の改善策を実施し、アプリケーションは徐々に成長し、品質と開発効率が向上しました
荒野のような状況から始まるLaravelアプリケーションの成長ストーリーを通じて、「PHPUnitの導入と開発環境最適化」がアプリケーションの品質と開発効率をどのように向上させたのかをお伝えします
参加者には、類似の課題に対する解決策と効果についての具体的な知識を提供し、自身のプロジェクトに応用できる洞察を得ることができれば幸いです
適用したものがこれだったというだけなんですが、
私がかつてecs-cli v1とTerraformを上手く活用して多くのサイトの移設に取り組んでいたときです。
ecs-cli v2と呼ばれていたAWS Copilot CLIのリリース後すぐに利用検証を開始し、利用事例の掲載にまで発展した件についてお話できればと思います。
何件かのissueなども作成し、実際に移設の実現へ向かう流れがざっくりお伝えできれば幸いです🙇♂️
ドメイン駆動開発でクリーンアーキテクチャパターンで初めて実装した際にアレ?となったり、何故かしっくりこなかったケースはありませんか?
私はその原因の一つとして、ActiveRecordパターンに引きづられて設計が歪んでしまっているのでは?と考えています。
シンプルで理解しやすく強力なActiveRecordとMVCパターンですが、強力な故にそのパラダイムから抜け出せなくなる罠があると思います。
かつて私もそこから抜け出せなくて悩んだり失敗したりしました。ActiveRecordパターンでは良いとされていた物が逆評価になったり、まったく別の考え方がクリーンアーキテクチャパターンでは有効だったりしました。
本セッションではクリーンアーキテクチャでのアンチパターンを紹介しつつ、Unlearn(学びほぐし)して設計思想のギャップを少なくすることを目標とします。
"現在私が BABYJOB 株式会社で開発を担当している保活サービス「えんさがそっ♪」は、ドメイン駆動な設計スタイルで開発を行っています。
具体的には Laravel + オニオンアーキテクチャでの設計・実装を行っています。
私自身はこれまで単純な MVC 構成のアプリケーション開発経験のみで、ドメイン駆動な設計スタイルのアプリケーション開発を行うのは初めての経験です。
最近、ドメインの構造などについて再検討する機会があり、ドメイン駆動設計の戦術面への関心が高まりました。
技術的な調査を進めている中で、PHP でのドメイン層の実装戦術として Symfony(Doctrine)に興味をもち、入門してみることにしました。
この発表では Symfony(Doctrine)でのドメイン実装戦術について、Symfony に入門してみて分かったこと、分からなかったことを発表します。"
私は中学生のMSXというパソコンのCPUであるZ80のマシン語をプログラミング言語として体験していました。
25年後の2016年、PHPで書かれたゲームボーイエミュレータのコードを読んで衝撃を受けました。ゲームボーイのCPUはZ80をベースに開発されたものであり、エミュレータで実装されていたのはまさにそのZ80の命令だったのです。
その後、書籍「CPUの創りかた」で紹介されている4ビットCPU TD4を実装したり、Z80のハードウェアエミュレータを開発したりしています。
このトークでは私がこの数年で触れてきた4形態のCPUについて解説し、CPUの楽しさをみなさんにお伝えします。
どれも"CPU"ですが、それぞれ開発時に見える世界が全く異なっています。
このトークを通してみなさんがCPUの設計や動作に興味を持ち、いっしょにCPUについて語れることを楽しみにしています!
現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
各レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。
このトークでは私たちが愛するPHPをスタート地点にして、「CPUによる"プログラム実行"」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。
コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!
私はこの数ヶ月、趣味プロジェクトとして1980年代に栄華を誇った名作CPUである"Z80"のハードウェアエミュレータを開発しています。
これはZ80で動作しているコンピュータからZ80を取り外して、代わりに自作のZ80ハードウェアエミュレータを取り付けて動作させるというもので、Raspberry Pi に自作のハードウェアを接続した形になっています。
このトークではZ80ハードウェアエミュレータの解説を軸に、CPUの作り方や、その楽しさをお伝えします。
主なトピック:
・CPUを作るために必要なもの
・ソフトウェアエミュレータとハードウェアエミュレータの違い
・Raspberry PiでCPUを作る方法
CPUを作ってみたい方はもちろん、コンピュータの仕組みを理解したい方や、プログラムが実行された時にコンピュータの中で何が起きているのかを知りたい方などにもお楽しみ頂けると思います。
「コンピュータは0と1しか処理できない」とよく言われています。
ビット演算があったり、浮動小数点演算があったり、文字コードが16進数だったりと、PHPerのみなさんもなんとなく実感としてはあると思いますが、なぜ「0と1しか処理できない」のでしょうか。
このトークではアナログの世界・電気回路でデジタルの世界・コンピュータ処理がどの様に表現されるのか、私たちがC言語やPHPで書いたプログラムの実行結果がディスプレイやスピーカーで認識できるところまでがどの様にできているかをお話します。
ふだんの活動ではあまり気にすることのないコンピュータの基本的な仕組みの話になりますが、このトークを聞いたみなさんが今までより少し解像度の上がった目でコンピュータを楽しめることを願っています。
Composerを使用する際にも登場するおワードとしてオートロードがありますわ。
autoloadはお名前空間の指定により、おクラス名をお自動解決する為の機能ですわ。
しかし「実際にどうやって動いているのかよく分からないぞ」というお気持ちでなんとなく使っている方もいるのじゃなくって?
こちらのおトークでは、vendor/autoload.phpのお中身を見ながらComposerがオートロードで何をしているのかを紹介いたしますわ!
お対象者
composer.json、composer.lock、composer require、composer install......よく分かんないぞ。
そんな疑問を持ったまま、なんとなくモヤモヤとしている新米PHPerを救いたい。
このトークでは、Composerというやつが何なのかを紹介します。
ずんだもんが好きなので、ずんだもんとおしゃべりできるアプリケーションを作りました。ずんだもんのどこが可愛いか、ぜひみなさんに共有させてください。
技術的な面白みは皆無ですが、いちおうバックエンドに Laravel を使ったので、コードをお見せするくらいはできます。
対象者
話すこと
みなさん Pest をご存知ですか?Laravel 付属のテスティングフレームワークは長らく PHPUnit ですが、もしかすると Laravel 11 で Pest がデフォルトになるかもしれません。そんないま話題の Pest について、私自身の考察も交えながらどんなフレームワークなのかを紹介します。また、将来的に Laravel のデファクトスタンダードなツールになるのかどうか、占ってみたいと思います。
主な対象者
話すこと
ソフトウェアが変更される理由はさまざまですが、本トークではよくある3つのパターンをもとに、変化に耐えうるコードを書くためにはどうすればいいかについてお話しします。言語はもちろん PHP でフレームワークは Laravel を想定し一部 Laravel 固有のコードを対象としますが、他のフレームワークをお使いの方でも参考になるよう、全体的にはできるだけフレームワークに依存しない内容にする予定です。
主な対象者
話すこと
このトークは、新卒エンジニアの情熱と探求心が燃え上がる瞬間を共有する場です!私がLaravelの内部仕様を探求し、その果てに見えた知識と洞察をお伝えします。
LaravelもPHPも初めてな私が、その世界に足を踏み入れてから早数ヶ月が経ちました。その間、Laravelの内部仕様に私は常に興味津々で、「単に使うだけでなく、Laravelがどのように動いているのかを理解しながら活用したい!」そう考えていました。様々な内部仕様について調べたそのプロセス・結果・知見を交えて、聴衆の皆さんに刺激を届けます!
新卒エンジニアならではの視点から、Laravelを通した私の情熱と成長のストーリーをお伝えしつつ、具体的な内部仕様を複数取り上げ、それについて熱く解説します!
このトークを通じて、皆さんと共に学び、成長し、Laravelの魅力を深く探求する喜びを共有できることを心から楽しみにしています!
デプロイするならAWSやGCP!
そんな風潮になっていますが、
『利益化するか分からないのに運用コストかけて良いのか?』
『そもそもそんなにオートスケール対応するほどのユーザー数やアクセス数が想定されるか?』
という素朴な疑問から、弊社では自社のバンドメンバーマッチングアプリのサーバー周りを月600円くらいのレンタルサーバーにデプロイすることにしました。
ちなみにこのレンタルサーバーは元々公式HPとか別のサイトを載せるために契約してたので『実質追加課金は0円』です。
そんな他社から見た暴挙運用も、リリースから1年ほど経ちユーザーも7000名を超えてぼちぼち大台の1万人も近づいてきました。
そこで、『この運用を真似たいチャレンジャー』や、『絶対真似たくないけどクライアントから安くなるならやれと脅されている方』のためにも、メリットとデメリットなどを説明していけたらと思っています。
Laravelのキャッシュは多様な保存先を提供していますが、bladeのキャッシュについては疑問符が残るところがあります。
一方で、AWSのFargateはVolumeの設定をセキュリティの向上のためにReadOnlyにできたり、またイミュータブルインフラではWebサーバがステートレスであることが求められます。
そういった中で、Laravelではどういったキャッシュの持ち方をするといいのか、そんな問いかけや提案ができたらと考えています。
私が所属している「株式会社Relic」は、新規事業開発に特化した会社です。
当然、開発プロジェクトも「新規事業」に関するものが殆どとなっています。
私は技術選定なども行う立場にありますが、数多くのプロジェクトでPHP/Laravelが採用されています。
「どうして」PHP/Laravelを採用するのか、その理由について語らせてください!
またPHP/Laravelについて、入門記事や個別のHowToについては、WEBで多くの記事が見つかりますが、
「こんな感じで運用してます!」という実例を紹介している記事は、なんだか少ないように感じています。
「どのように」Laravel/PHPを利用しているかについても、紹介させていただければと思います。
特に、これからPHP/Laravelの採用を検討しているチームの助けになれば、大変嬉しく思います。
WordPressの世界でのシェア率は約43%だそうです。
レンタルサーバで利用できる、簡単に利用できる、何しろ記事も多い。。。そんなこんなでWordPressを利用する人が多いと思います。
しかし・・・、あなたのWordPress大丈夫ですか?
僕が住むニライカナイ(隠語)では、ホームページ屋さんがバンバン導入していますが、ハッキングされて泣きついてくることが多いです。
そうなったら遅いのです!!(怒)
このセッションでは、WordPressのハッキング事例集とどうすれば防げるかをお話いたします。
現在私が BABYJOB 株式会社で開発を担当している保活サービス「えんさがそっ♪」では、バックエンドは PHP で Laravel、フロントエンドに Laravel の Blade テンプレート + jQuery で構築しています。
最近ではフロントエンド開発への課題感から React の導入を積極的に行っています。
React 導入の経緯としては...
①肥大化した jQuery の管理に限界を感じていた
②流行りの SPA に挑戦したかった
今回は Laravel 製のサーバサイドレンダリングアプリケーションに React を部分導入してみて、感じたメリットとデメリットをお話ししたいと思います。
Java 6 のバックパックを背負ったまま、PHP 8 の山を登ろうとしたらどうなるでしょうか?このライトニングトークでは、私のそんなエピソードをご紹介します。
①スタート地点: Java の世界から出発し、PHP 8 の新たな土地を目指した時のお話。
②サバイバルギア: 新しい世界を生き抜くために、私が手に入れたリソース、ツール、そして秘密の武器についてお見せします。
③オンザロード: 途中で出くわした難問や驚きの発見、そしてそれらをどうクリアしたかのエピソードをシェアします。
まだトレッキング途中ではありますが、私の経験が、新しい技術にチャレンジしようとしているあなたの背中を押す一助となれば幸いです。