yukyan テーマ: 文字コード、PHP、PHP_CodeSniffer
想定する参加者層: 中級者ぐらい。ソースコードの文字コードに悩まされている人。
トーク概要:
EUC-JPで書かれたPHPアプリケーションのコードベースを触ったことはあるでしょうか?
多くのツールはソースコードがUTF-8であることを前提に作られているため、そうしたアプリケーションの開発に関わっていると、まれに困ることがありました。
そのアプリケーションの開発をしているときは課題を感じつつ、自身の体感では大きな問題なく開発していました。しかし、、EUC-JPを上手く扱えないClaude Codeの登場をきっかけに、思い切ってUTF-8への移行の着手を決意。アプリケーションのコードを全てUTF-8に置き換えるべく動きました。
単にソースコードを一気にUTF-8に変更すればいいかというと、そういうわけではありません。EUC-JPのコードの中にマルチバイトの文字列リテラルがある場合、UTF-8にそのままコードを変えると動作が変わる可能性があります。
では、ソースコードにマルチバイトの文字列リテラルが「ない」状態を保証できたらどうでしょうか?
このLTでは、i18nを参考にしたUTF-8化の作戦と、PHP_CodeSnifferのカスタムルールを使った工夫、そして苦労、最後にこれからの展望ををお話しします。
同じくEUC-JPやShift_JISなど、UTF-8以外のマルチバイトエンコーディングのコードをどうにかしたいと考えている開発者の参考になれば幸いです。
senoue 「暗号化って難しそう...」そんな方でも大丈夫!GoでECC(楕円曲線暗号)を簡単に実装してみましょう。
RSAより軽くて速いECCを、Goの標準ライブラリでサクッと実装。
鍵を作って、署名して、検証する。
• テーマ:Go言語によるECC(楕円曲線暗号)の実装と理解
• 想定層:Goでの実装経験がある初級〜中級者。暗号理論の知識は不要。
• 狙い:ECCを難解な理論でなく、コード実行を通じて直感的に理解してもらう。
Capi(かぴ) 昨今のITエンジニアは先人の記事にとどまらず、生成AIを活用することで学びの速度を大きく上げられるようになりました。私自身も日々の開発や調査でAIを活用しています。
ある日、ファイル判定の仕様を調べる中で「RFC」に触れる機会がありました。RFCの存在は知っていましたが、実際に読んだことはありませんでした。いざ読んでみると「ちゃんと書いてある」、「読んでいなかったから、わからなかった」。 そんな体験をしました。
このLTでは
・ RFCの概要
・ RFCの読み方
・ RFCを読むことで得た“技術的な目の深まり”
・ 生成AI時代に必要な「裏どり力」の大切さ
について、私自身の小さな発見を例にお話しします。
深い学びをしていきましょう。
いけち Webアプリケーションにおけるファイルアップロード機能のセキュリティリスクと、実装時に考慮すべきベストプラクティスを解説します。
初心者〜中級者のエンジニア
CSV一括登録、プロフィール画像の登録、動画音声ファイルのアップロード――これらは多くのWebサービスに不可欠な機能ですが、その実装、本当に安全ですか?
「拡張子をチェックしているから大丈夫」
「Content-Typeを見てるから大丈夫」
こんな風に思っていませんか?実は、それだけでは不十分かもしれません。
本セッションでは、以下の4つのステップで当たり前の機能の裏に潜むセキュリティリスクを解説。ファイルを介した深刻な攻撃手法を具体的に示し、安易な対策では防げない見落とされがちなポイントと、いますぐ導入できる具体的な防御策をお伝えします。
1. 実際に動く「危険なコード」のデモ
2. ファイルアップロードに潜む主な脆弱性
3. セキュアな実装のベストプラクティス
4. 実装チェックリスト
このLTを通じて、ファイルアップロードの「危険性」に対する意識が変わり、皆さんのコードのレベルを引きあげることができるはずです。
もう「拡張子をチェックしたから大丈夫」とは言わないはず。
安心・安全なサービス開発を、共に実現しましょう!
うーたん Webに関する様々な情報がまとめられている MDN Web Docs に、日本語翻訳で貢献する方法を紹介します。OSSコントリビューションの第一歩として、翻訳を通じてWebの知識を広める活動を取り上げます。
GitやGitHubの基本操作(git pull / commit / push)を理解しており、Node.jsの環境が整っている初級〜中級レベルのWebエンジニアを想定しています。
OSSへの貢献に興味がある方、英語のドキュメント翻訳に挑戦してみたい方も歓迎です。
Webアプリケーション開発者であれば、一度は見たことがある MDN Web Docs。
この膨大なドキュメントの多くは、世界中の開発者コミュニティによって日々翻訳・更新されています。
本セッションでは、MDN Web Docs 日本語翻訳コミュニティのガイドラインに沿って、誰でも簡単に翻訳に参加できるプロセスを、初心者の立場からわかりやすく紹介します。
環境構築から翻訳の反映までの流れ、貢献時のポイント、そして実際に翻訳して感じた「MDN翻訳の面白さ」や「学び」を共有します。
英語が得意でなくても、翻訳活動は技術理解を深め、世界中のエンジニアとつながるきっかけになります。
OSSに関わる最初の一歩として、MDN翻訳の世界を一緒に覗いてみましょう!