AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします。
今回はAWS Lambdaを利用した動的サイトをLaravelを使って構築する手法についてお話します。
皆さんに馴染み深いLaravelを利用して、サーバーレスの世界へ第一歩を踏み出しましょう!
お話すること
想定する聴講者
現場で働くうえでよく分からん&ほぼ必須な要素としてGitが存在します。
とはいえ、gitについて調べても「 commit や push みたいな基本操作は分かるけど、深いところが何も分からん……」となりがちではないでしょうか?
このトークでは、ベテランエンジニアはなぜか知っている git 知識についてお話ししようと思います。
具体的な内容
git init した際に構成される.gitディレクトリの中身について軽く見ていく
実際にgit addとgit commitをPHPで実装してみる
対象者
簡単なgitコマンドは扱える人(add, commitなど)
複雑な操作になると不安になってしまう人
あの日破壊したブランチのことをまだ忘れられない人
ライブラリの管理やクラスのオートローディングはどのようにされていますでしょうか?
多くの現場ではComposerを使ってライブラリの管理やクラスのオートローディングを行っていると思います。
しかし、レガシーシステムではComposerを使っていないという現場も存在するのではないでしょうか?
レガシーシステムにComposerを導入した際の課題と効果について紹介します。
・Composerを導入するメリット
・Composerのオートロード機能の紹介
・レガシーシステムにComposerを導入するためのTips
・独特な開発環境による課題
・導入後から半年の効果と課題
すでにComposerを導入している方も、Composerの仕様をより知ることでより効率的にComposerを使えるようになるかと思います。
静的解析ツールは使っていますでしょうか?
昨今のPHPのバージョンアップでは型定義が厳しくなってきており、静的解析ツールを導入することの優位性が高まってきています。
15年以上続いているレガシーシステムにPHPStanを導入した際の課題と効果について紹介します。
・既存の静的解析ツールからPHPStanへの移行
・PHPStanの導入時の課題
・導入から半年での効果と課題
既存の静的管理ツールに課題を感じている方や、静的解析ツールを導入したいと考えている方にとって参考になる内容となっています。
弊社では文化として受け継がれている「条件分岐禁止」というのがあります。
条件分岐禁止バンドをつくっちゃうほどに
条件分岐があることでコードが複雑化してしまったり見にくくなってしてしてしまいます。
そのアンチパターンやどうしたら良いコードになるのかを話します。
対象者: PHPのコードを綺麗に書きたい人
みなさん、PHPを初めて学んだ時に感じた「?」を覚えていますか?
私の所属する開発チームでは、PHPマニュアルの精読を始めました。
精読してみて改めて感じたPHP独自の魅力について、皆さんに共有したいと思います。
このセッションでは、PHPの特殊な機能、他のプログラミング言語との比較、その機能ができた背景について、私なりに調べた結果や考察を発表します。
対象者:
Target class [...] does not exist.
このようなエラーを見たことはないでしょうか?そして、よくわからないけど、ファイル名を直したらうまく動くようになった!という経験はないでしょうか?
実はこの裏ではautoloadという仕組みが働いています。
autoloadがどういう仕組みで動いているのかを知ることで、ファイルが読み込まれない時やクラスが見つからない時の原因が早くみつけられるかもしれません。
このトークではPHP初心者向けにautoloadの仕組みを少し掘り下げてお話しします。
トークの内容
・autoloadは何を解決するか
・autoloadのルール
・autoloadを実現する仕組み
ゆるふわ言語としてお馴染みのPHPを利用中の皆さん!
我々には、エラー制御演算子@
というものがあります。
──コイツの挙動について、深く考えてみた事はありますか?
例えば、次のコードを実行すると、何個のエラーが出力されるでしょうか。
<?php
var_dump(@$v1->p);
@var_dump($v2->p);
var_dump($v3->p);
@min($v4);
min(@$v5);
min($v6);
$ar1[] = $v7;
@$ar2[] = $v8;
$ar3[] = @$v9;
正解はPHP8で3個、PHP7で6個です!
@を付けた場合の制御の対象はどこまでなのか、制御された場合にどういう挙動の変化があるのか?
PHP8での変更はどんなものなのか?
このトークでは、php-srcとASTの世界から「@完全に理解した」を目指します。
Mutation Testing とは、プロダクションコードに対するテストコードがどれだけ十分なものか、というテストの品質自体を評価するテスト手法です。
Mutation Testing を導入することで何がよいかというと、見かけ上のコードカバレッジが高く、作成したソースコード全般的にテストコードが網羅できていたとしても、テストコードが正しく書けているとは限らないのですが、その部分を簡単に検出できるということです。
今回は「Mutation Testingとは?」という詳しいお話から始め、実際にInfection PHPを利用してMutation Testing をライブデモしながらお話をすることで、より品質の高いテストコードの作成に寄与できればと考えています。
意識が高くない。エンジニアだけど自分のサービス・プロダクトを持っていない。作りたいものがない。
だけど技術は好き。
まだ出会ったことのないキミ(技術)と出会うための熱量を大事にしたい。
PHPの新しいバージョンをナウでヤングな環境で試したい。
このプロポーザルのディスクリプションを読んでいるアナタは業務が忙しいにも関わらず、技術への飽くなき探求があるはずだ。
そんな、意識が高い訳では無いが、技術をキャッチアップしたい人に話したいことがある。
誰かの書いたコードが世に出る過程で、コードレビューを行う組織は多いのではないでしょうか。
コードの質を担保するため。属人化を防ぐため。知識共有や認識合わせのため。チーム内のスキルアップのため。
コードレビューは様々な意味や目的を持って行われます。
先日発表したPHP Conference2023「CodeReviewerが求められること」の続編です。
https://fortee.jp/phpcon-2023/proposal/25891e6c-7762-47b5-8cb3-e3db7f056abc
前回のおさらいや、PHPコード上でのコミュニケーション例の紹介、
そしてどんなコーディングやPullRequestの出し方がCodeReviewerに求められるものとなっているのかに迫ります。
少しでもお役に立てると幸いです。
対象者: コードレビューに携わる全エンジニア(役職問わず)
令和では受託開発はオワコンで内製化の時代?駆け出しエンジニアに人気なのは受託開発より自社サービス開発?
世間では「自社サービスのエンジニアになりたい!」という声が大きく聞こえるようになりました。
私は受託開発フリーランスから自社サービス開発の社員エンジニアになり、エンジニア人生の中で自社サービス開発に携わっている期間の方が長くなりました。
キラキラした仕事のイメージで語られがちな自社サービス開発ですが、日々どんな仕事をしているかは意外と知られていないようです。
自社サービス開発のエンジニアとしてどんな仕事をしてきたか、見てきたかについて話します。
今の時代、ソフトウェア無しでは事業の成長はありえません。
しかし、実際にソフトウェアを作るとなると様々なことを決める必要があります。
あのときの決断が技術的負債の根本原因になってしまった…そんな経験が自分もあります。
そこで今回は現場で技術選定を行ったり、ソフトウェアを作る時に必要な考え方やテクニックをご紹介します。
人生100年時代、年金もあまりアテにならなく、所属企業に定年もあり、将来を考えると技術力を経済力に変える必要があると思っています。経済力に変えるには企画書でビジネスを作ることや改善することが、出世でも副業でも起業でも有効な手段です。上場企業を中心にマーケコンサルをしているトーク者が(恐らく)史上最短の15分で企画書が採用されるロジックと、企画書の書き方のテンプレートと最終奥義を解説します。お金が全てではないですが、ないよりあったほうが良いと思うんです。そのためには、技術力を対価に変える企画力を身につけることが重要だと信じています。時間が余れば、最新のSWOT/KGI/KPI/KSFテンプレートも紹介します。
我々の業界では、オープンソースソフトウェア(ハードウェア)によって支えられています。
PHPもオープンソースです。いきなりですが、そんなPHPに何かで貢献してみませんか?
本トークではオープンソースによって得られる恩恵と、貢献の仕方・手法をご説明します。
php-srcに貢献しているぼくが個人的に嬉しい貢献をバーっと並べていきます。
たとえば
初心者でもやっていけることをやることでオープンソースに貢献をすることで知見が得られ、
エキスパートへの道を一歩踏み出すきっかけになれば幸いです。
おおきに