現在Laravelを愛用しているPHPer、企業は非常に多いと思います。
状況や何を作るかにもよると思いますがPHPで何か作ろうと思ったらLaravelが第一候補になる事が多いのではないでしょうか。
自分はPHPが主戦場になってから今までCakePHPを使用していてLaravelを使ったことが無いので1週間という時間を仕事もしないで、家に篭ってただLaravelと向き合って学んだ事、作った物を発表します。
社外の勉強会のLTや登壇、挑戦してはみたいけど踏み出せない。そんなあなたへ。
私はあまり考えずに突発的にLTに飛び込んだことで、自分の行動が変わり、その後も発表の機会を得ることができました。
このLTでは、最初に勇気を出して飛び込んでみた結果、どのように行動変容が起こったのかをお話しします。
登壇経験がない、または不安を感じている方に向けて、「最初の一歩」を踏み出すヒントをお伝えします。
CloudFrontのエラーが頻発…でも原因がよく分からない。
実はWAFのルールに引っかかっているかもしれません。
このLTでは、WAFの基本的なルール設定を実際に遭遇した事例を元に紹介します。
ここ数年、私はRaspberry PiでCPUを作っています。
これは、Z80というCPUをコンピュータから取り外して代わりにRaspberry Piで作った自作CPUを取り付けて動かすというもので、PiZ80と呼んでいます。
PiZ80はZ80採用のパソコン・MSXを動かすことを最終目標にしています。
現在のPiZ80は同じくZ80採用のコンピュータ・SBCZ80でZ80よりも高速に動作する様になっていますが、ここに至るまでにはさまざまな改善がありました。
このトークではそもそもCPUを作るというのはどういうことか、CPUを作る時にどこに速度的な課題があるのか、そしてMSXでPiZ80を動かすまでの道のりをお話します。
このトークを聞いた方がCPUやハードウェア自作を好きになり、そしてあわよくばPiZ80のソフトウェアをいっしょに改善していけることを願っています!
画面開発で、こんなお悩みを抱えていませんか?
これらの課題が原因で開発効率が低下しモチベーションも低下してしまいました。その解決策の一手として、デザインシステムの導入を進めました。
今回は、すでに存在していたデザインリニューアルのデザイン案をベースに、プロダクトにデザインシステムをうまく反映できていなかった状況から、仕組みを整備して導入を進めるまでの一連の取り組みをお話します。
最近では、DevOpsの中にSecurityを意識した活動を含める、DevSecOpsの様な考え方が広まっており、この様な流れの中でSAST(Static Application Security Testing)やDAST(Dynamic Application Security Testing)の様な検査をCI/CDに組み込む事例を見かける様になってきました。
このセッションでは、SASTツールの一つである、SonarQubeの基本的な機能や特徴、実際にCIに組み込んでの活用方法、実行環境の構築例などについてお話しします。
話すこと
SQLにおいて、最も重要なのは「正確さ」、次に優先すべきは「速度」です。
これらの要件を満たすため、どれだけ努力しても、時には可読性が犠牲になることがあります。
本セッションでは、正確さと速度を最優先した結果、可読性が低くなってしまったものの、非常に高い精度と高速性を持つSQLを実例を交えて紹介します。
一見して何をしているのか分かりにくいかもしれませんが、その背後には緻密な工夫が詰まったSQLの世界をご覧ください。
主に非エンジニア、WEBディレクターや初心者向けのセッションです。
対象:
• WEBディレクター
• 企業などのWebサイト管理者
• PHPにこれから触れるかもしれない人
ゴール:
エンジニアとの要件定義内容の確認やベンダーとの会話が少しはスムーズになれたらいいな。
内容:
受託会社で働いていると、改修や運用案件で、どうしてPHPを選ばなかったの? または、その反対にどうしてわざわざPHPにしたの? って案件にめぐり逢います。
クライアントから相談いただく「運用しにくい」「更新が自由に行えない」といったサイトやサービスは、PHPの使われるところが間違っているのでは…と感じることが多いです。
ちょっと知識があれば、防げたかもしれない…!
非エンジニアの人に役立っていただけそうなことをお話できればと思います。
リッチなUIを実装するために多くのアプリケーションでjQueryが利用されています。
導入がしやすい、使いやすい、プラグインも豊富といった利点がありますが
DOM操作の命令的なコードはロジックやUIが複雑になると保守性が悪くなる傾向にあります。
一方で、ReactやVueなどのフレームワークは、宣言的UIにより保守性が上がりますが
学習・運用コストなど過剰な技術となるケースも少なくありません。
本トークではLaravelのMPAにおけるフロントエンドの実装手法についてお話します。
Alpine.jsを使ったUI実装を中心に、jQueryの使いどころ、ViteやNative ESMによるJavaScriptの管理、Blade連携、コンポーネント化について紹介します。
チームやプロダクトに適したアーキテクチャを選択し、より本質的な課題解決ができるきっかけとなれば幸いです。
オブジェクト指向を学ぶ私たちは、必ず一度は「SOLID原則」に触れる機会があると思います。
私も何度も学習を重ねる中で、その原則がもたらす恩恵や、守ることの重要性を徐々に理解してきました。
…ただ、「リスコフの置換原則(LSP)」だけは「これを守るとどう良いのか?」がいまいちしっくりきていませんでした。
「同じ気持ち!」なあなたに向けて、このセッションでは、以下のようなお話をします。
「なるほどLSP完全に理解した!」といってもらえるようなトークにします!
小さくコツコツ手をつけておけばよかった…そんな気持ちになることもあるかもしれません。。
日々降ってくる、マイナーバージョン・パッチバージョンの更新を適応するのはとても大事です。
メジャーバージョンがあった場合はどうでしょう??
依存パッケージ間の依存関係があるなど、マイナーバージョン・パッチバージョンの更新と比較して、複数のパッケージの同時更新が必要だったりもします。
・composer updateのおさらい
・composer updateで何ができるのか?何が起こるのか?
・パッケージ更新のはまりポイント
・コツコツパッケージを更新していくために…
パッケージを更新するコマンドであるcomposer updateを軸に、日々のパッケージ更新のヒントとなるポイントをお伝えできればと思います!
テーブルのデータ量が増えることで、今までスムーズに実行できていた検索クエリが段々と遅くなっていく…ある程度長く運用しているシステムではあることではないでしょうか?今、私が参加しているチームでは、まさにこのような問題を起こしているばかりでなく、数年後には性能劣化によるサービス停止を引き起こしかねない、とあるMySQLの巨大テーブルのリモデルに取り組んでいる真っ最中です。
本セッションではこの取り組みの中で、チームがどのような決断をしていったか、そして現在進行形でどのようにリモデルを進めているかを共有します。DBアクセスが抽象化されていないモノリスなレガシーシステムで、億単位の行を持つMySQLテーブルをサービス停止なしでリモデルする事例として、皆様のご参考になれば幸いです。
保育・教育施設向けICTサービス「CoDMON(コドモン)」は2015年のリリース以来、多くのサービスを提供してきました。
ありがたいことに長くご利用くださるユーザー様が増える一方で、DBのデータ量がもはや看過できなくなるほどの増加ペースに達しており、今年5月からDB負荷増大のリスクと対策を検討するチームを発足して、この問題に取り組んでいます。
本セッションでは、この取り組みの中で、データ量の増加に起因するDB負荷の問題をPHPのモノリスなレガシーバックエンドや、適切でないテーブル設計との関係の中でどのように分析し、リスク評価し、対策を考えたのかをお伝えします。皆様のご参考になれば幸いです。
ここ数年、私はRaspberry PiでCPUを作っています。
これは、Z80というCPUをコンピュータから取り外して代わりにRaspberry Piで作った自作CPUを取り付けて動かすというものです。
このトークでは私が作成した2つのバージョンのCPUを題材に、以下の様なことをお話します。
このトークを聞いた方が「CPUを作るというのはどういうことか」をちょっぴり理解し、CPUやハードウェア自作が好きになることを願っています。そしてあわよくば一緒に自作CPUを楽しみましょう!
2024年1月、「なぜキャッシュメモリは速いのか」が話題になりました。
この質問に答えるのはなかなか難しく、X(Twitter)ではいろいろな回答がされていました。この回答はさまざまな立場・理解からされていて、Xのタイムラインをご覧になっていた方はいまいちしっくりこなかったのではないでしょうか。
このトークでは「なぜキャッシュメモリは速いのか」に答えるのに必要な知識を、初心者の方にもわかりやすくご説明します。
キャッシュの使いこなしは現代コンピュータにおいて避けることはできず、キャッシュを制するもののみがコンピュータを高速に動作させられると言っても過言ではない状態です。キャッシュを理解し、キャッシュを楽しみましょう!
昨今需要が高い子どもの安全確保に応えるべく、保育・教育施設向けICTサービス「CoDMON(コドモン)」では、園児の登降園時間帯の所在確認機能を短期間で開発しました。
本セッションではプロジェクトを進行するにあたり、どの様な課題を経てリリースできたのか、以下のことに触れながらお話しできればと思います。
概要: オブジェクト指向プログラミングの基本概念である「Class」と「インスタンス化」を、弊社エンジニアが後輩に教える時の例として、ポケモンを例によく用いています。
具体的には、ピカチュウをクラスに例え、モンスターボール内のピカチュウがインスタンス化され、技を使うという流れで説明のようなものです。静的変数(static)やインターフェースといった概念も、ゲームの要素を用いて理解しやすい形で説明します。
上記の内容に加えてSOLID原則などのより詳細なオブジェクト指向設計などを用いて話せるよう内容付与していき、初学者の方も、初学者に教える方も、参考になる内容です。
キーポイント:
・クラスとインスタンス化の基本概念の紹介
・インスタンス化によるコストの考察
・静的変数やインターフェースをポケモンに例えて解説
・さらにSOLID原則などオブジェクト指向設計の参考になる詳細事例
Laravelで使えるCLIのphp artisanを「知ってる」「使ってる」という方はいらっしゃいますか?
私も、コドモンにjoinするまでは存在すら知りませんでした。
Laravel開発していると毎日実行したくなってしまう...そんな便利なartisan(職人)たちの一部をご紹介します!
「まだvendor/bin/phpunitでテスト実行しているんですか?」 ーphp artisan testでいけますよ!
「まだコピペでControllerを作成してるんですか?」 ーmake:controllerで雛形を作れますよ!
「バッチの定期実行設定、疲れませんか?」 ーscheduleでラクラク運用できますよ!
こんな人にオススメ!
・Laravelで開発しているけどphp artisanになじみがない人
・上記3つの質問にひとつでも「YES」と答えたPHPerの人
Web APIの成功は、その設計や機能だけではなく、どれだけ優れたドキュメントを提供できるかにかかっています。APIドキュメントは、開発者がAPIを正しく理解し、活用するための鍵であり、ユーザー体験とシステムの信頼性を大きく左右します。本セッションでは、モダンAPI開発に不可欠なAPIドキュメンテーションの基本的な考え方から実践的なツールの活用法、さらには継続的なドキュメントのメンテナンス手法まで具体的に解説します。
トピック:
参加者はこのセッションを通じて、継続的にAPIユーザーに優れたAPIドキュメント体験を届けるための知識を習得できます。
皆さんは清水の舞台から飛び降りる気持ち(※)で自社サービスにAWSを導入したことがありますか?私はあります。
私が担当しているメール共有サービスのメールディーラーは2001年にローンチしましたが、すべての機能がひとつのサーバに実装されており、apacheとDBですら集約されています。
また、フレームワークを導入しておらず、ひとつのファイルにDBアクセスを行い、print文でHTMLを出力しています。
そのためプログラムの陳腐化が急速に進んでいます。
そんな「モノリシック」を地で行くサービスに、AWSを導入することになりました。
AWSを導入した目的とどのような効果があったか?また、今後どのようなアーキテクチャしようとしているかを、メールディーラーのテクニカルリーダである私が可能な限り具体的に事例をもって説明いたします。
※一世一代の決断をする意味のことわざ