私は何か新しいことを学ぶたびに、それをLT(ライトニングトーク)イベントで発表することが好きです。このセッションでは、コミュニティーに対する興味と学習のきっかけについて話します。
私は、学生の頃にはコロナ禍や技術力不足などの理由で、コミュニティーのLT会に参加できなかった経験があります。しかし、社会人になってからはその夢を実現させる機会があり、それが私にとって非常に特別な時間でした。ここで、私にとってコミュニティーで発表することや参加したい、関わりたいと思うことが、学びのきっかけであり挑戦のきっかけであると感じました。
勉強するきっかけやモチベーションが湧かなくて悩んでいる方に、私なりの学習に対するモチベーションの維持について共有したいと思います。
複数あるファイルの中から、いくつかのファイルを選択して、ZIPファイルとしてダウンロードしたい。
ZIPファイルの生成パターンは膨大であるため、その都度生成する方針にしたい。
そんな、”ファイルを選択してZIPダウンロードする機能”を 3 つの Lambda + S3 + DynamoDb で作りました。
本トークでは、このZIPダウンロード機能を実装するにあたり、AWSのサービスを使ったアーキテクチャや直面した課題などについてお話します。
概要
PHPを用いてサービスを提供しているPR TIMESの機械学習を担当するエンジニアが通っているプロポーザルの秘密を探ります
対象者
話すこと
話さないこと
v0.1.1 というリリース初期の頃から、とある同僚によって試されたのを見て、その高速な動作に気が付き「この npm install が超遅いのどうにかしたい」を瞬時に改善した bun。
その bun の メジャーバージョン 1.0 が、2023/9/8 にリリースされました。
(なお今日は 2023/9/11)
以来、複業する自分が随所で、プロダクションには影響のないところから、「使えるどころ」を見出してきました。
このトークでは、npm スクリプトのラッピング、cdktf diff を bun run plan / cdktf deploy を bun run apply に置き換える、など、柔軟な発想で効果的に、高速で名高い bun を利用してきた事例をいくつか紹介します。
Webサービス開発・運用のちょっとした局面で役に立てば幸いです。
拙者、いわゆるマイクロ法人。複数の現場に片手片足から突っ込みまして、主にクラウドインフラ関連箇所を手伝っております。
そんな自分が、比較的最近で遭遇してきた難局、それらをどう切り抜けてきたのか、はたまた妥協してきたのか、といった事例をお話しします。
現時点(2023/9/11)では、以下のような経験をお話しできます。
Composerを使用する際にも登場するおワードとしてオートロードがありますわ。
autoloadはお名前空間の指定により、おクラス名をお自動解決する為の機能ですわ。
しかし「実際にどうやって動いているのかよく分からないぞ」というお気持ちでなんとなく使っている方もいるのじゃなくって?
こちらのおトークでは、vendor/autoload.phpのお中身を見ながらComposerがオートロードで何をしているのかを紹介いたしますわ!
「標準的なバス情報フォーマット(GTFS-JP)」オープンデータ(一部条件付き公開データ含む)を活用した無料の時刻表情報サービス「バス時刻検索」(CakePHP使用)を2022年9月に新規公開し運営しています。
素材のGTFS-JPデータを毎日ダウンロードし、更新を検知時に加工しDBへ取込みを行いますが、基本的にPHPプログラムで行っています。
今回は、毎朝最新版が公開されるバス会社もあり、更新データ量が大きく、DBへ反映が高負荷な状況にどう対処しているか?についてお話する予定です。
◇参考情報:ある日の都営バスGTFS-JPデータ(全国でも大きめ)は毎朝4時台に更新される上に、そのテキストファイル15個のサイズが計「79.7 MB」もあり。
(100万行越えのファイルもあります!)
その他、予期しないエラーや問題等をどのように解決したか等を語ります。
新型コロナウイルス感染症が5類に移行したことで世の中的には3年ぶりの平穏を取り戻しつつある今日この頃、これまで開催が難しかったオフライン勉強会も少しずつ増えてきています。
言い換えると、これまでオフラインイベントに参加してこなかった人でも2023~24年はコミュニティに簡単に溶け込める年であるということです。
古参も新参も大歓迎のこのチャンス、逃す手はないと思いませんか?
このトークでは実体験をもとに、新卒2年目の新米PHPerがオフラインイベントに実際に参加して感じたことについてお話ししようと思います。
現地で人と話してみたいけど、やっぱり怖いよーという人
PHP本体のソースコード、気になりませんか?
普段使ってるPHPがどうやって動いているのかを知りたいけど「なんか難しくてよく分からない」という方、その気持ちよく分かります。
このトークでは実体験をもとに、php-src解読能力を0から1にしてみようと悪戦苦闘した話をしようと思います。
Laravelでどのように書くと脆弱性のある書き方になるのかを実際のコードを交えて解説します!
主に下記の脆弱性について話そうと思っています。
・XSS
・CSRF
・SQLインジェクション
・OSコマンドインジェクション
など
弊社ではエンジニアの研修カリキュラムで独自フレームワークを作っており、研修用のPHP独自フレームワークの作り方を詳しく解説します!
MVCの仕組みなどをちゃんと理解するにあたっても良い勉強になると思います。
具体的に自作する内容は下記です。
・routing
・CSRF対策
・Cotroller
・Model
・バリデーション
みなさん、PHP上のEnum値はデータベースにどのような値で保存してますか?
数値型? DB上のEnum型? それとも文字列?
「いやいやw文字列で保存したらデータ量が無駄やんw」
「変な値入れられたらバグるやんw」
「速度的にどうなん?w」
って声もあるかもしれません・・・
それでもなお僕は言いたい
「Enum値は文字列で保存してクレメンス!」
推測するな計測せよ!といっても、”勘”・”一般的な知識”からパフォーマンスの改善に取り組んでいる人も少なくないのでは、と思います。
直感や経験則は非常に強力な武器です。
しかしながら、「計測をしないで手を動かしてします」のは、もしかして「計測をするハードルが高いから、面倒で・・」という事情もありませんか?
ハードルが高いのは、もし普段遣いの道具で簡単に実行できてしまったら、どうにかなる気がしますよね!
Xdebugを導入している環境であれば、「PHPプログラムのプロファイリング」は簡単に実行できます。
そして、PhpStormがプロファイリング結果のGUIビューアとなってくれます!
本LTでは、設定方法・実行方法を紹介した上で、「実際に分析して何かに気づいてみる」というデモまで実施します。
新卒三年目になり、今まで以上に成長したい!強くなりたい!と思い、勉強を始めても自分一人では三日坊主で終わる人生でした。
そんな時、誰かと一緒にやれば続くのかも…!と思い立ち、少人数で定期的に勉強会を始めました。
その結果、継続的に勉強する習慣ができました!
そして、一人でも勉強ができるようなったり、カンファレンス視聴や読書の際、「見たこと・聞いたことがある」が増えたりと、個人でも変化がありました。
本LTでは、この勉強会についてより詳しく紹介します。
私たちが設計した最高の勉強会を自慢させてください!
第三者を装って個人情報を聞き出そうとするメールに返信してはいけない
常識のごとく語られる内容ですが、スパムメールから機密情報が漏洩したり、フィッシングサイトへ誘導されたりといった事例があとを絶ちません。
そんな昨今の状況を踏まえて、エンジニアが所属する組織内へ向けてスパムメールを送信したとき、果たして全員が返信せずにいられるか?という訓練を行いました。
訓練にあたって、
ということをお話しさせていただければと思います。
みなさん、テストを“書かされて“いないでしょうか?
私は以前、テストコードに対する苦手意識が高く、テストコードも合わせてリリースするルールがあるから書く、という気持ちで書いていました。
約1年間抱いていた苦手な思い、なんと丸一日で(ほぼ)なくなりました!
やったことは、テストコードに特化したペアプロです。
テストコードへの苦手意識がなくなったことで、プロダクトコードも書くことが楽になりました。
プロダクトコードと並行してテストコードを書くようにもなったため、コミット単位も見やすくなりました。
このLTでは、