Slide 1

Slide 1 text

1 © 2024 Japan Digital Design, Inc. Takuya Yonezawa 2025.04.16 違いの分かるエンジニアになろう! 〜 “ぱぴぷぺぽ” と “ぱぴぷぺぽ” 〜 Community Builders Meetup 2025 – Kansai -

Slide 2

Slide 2 text

2 © 2024 Japan Digital Design, Inc. 米澤 拓也 Software Engineer Technology & Development Div. 前職ではCCoE、現職ではSoftware Engineer フロント/バックエンドの実装からインフラ構築など何でもやってます JAWS DAYS2025/ JAWS DAYS2024 / PANKRATION2024 の運営(WEB) Fin-JAWSの運営もやってます CBはServerlessで2023年生 好きなAWSサービスは CloudFront、Lambda、CDK プロフィール @CDK Conference 2024 Not Certified

Slide 3

Slide 3 text

3 © 2025 Japan Digital Design, Inc. 意気込み

Slide 4

Slide 4 text

4 © 2025 Japan Digital Design, Inc. のスタンプが押されると 私のSlackチャンネルに通報されます ROSA基盤。。無理ぃ。。

Slide 5

Slide 5 text

5 © 2025 Japan Digital Design, Inc. 〜 本題へ 〜 例えばこんなケース

Slide 6

Slide 6 text

6 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー Presigned URL発行リクエスト ECS経由でPresigned URLを発行し、 ファイル名をキーとして S3にPDFファイルを配置する

Slide 7

Slide 7 text

7 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー 米澤 PDFリスト 手動で起動 input: PDFファイル名 PDFに対していろいろな処理 PDF取得 Presigned URL発行リクエスト ユーザーがアップロードしたPDFファ イル一覧を受領し、手動でSFnを起動 ECS経由でPresigned URLを発行し、 ファイル名をキーとして S3にPDFファイルを配置する

Slide 8

Slide 8 text

8 © 2025 Japan Digital Design, Inc. ここで変な挙動が起こる

Slide 9

Slide 9 text

9 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー 米澤 PDFリスト PDFに対していろいろな処理 PDF取得 Presigned URL発行リクエスト 404 NoSuchKey 手動で起動 input: PDFファイル名

Slide 10

Slide 10 text

10 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー 米澤 PDFリスト PDFに対していろいろな処理 PDF取得 Presigned URL発行リクエスト 404 NoSuchKey S3確認したら確かにオブジェクトは配 置されている。。なぜ。。?? 手動で起動 input: PDFファイル名

Slide 11

Slide 11 text

11 © 2025 Japan Digital Design, Inc. 要はこういうこと

Slide 12

Slide 12 text

12 © 2025 Japan Digital Design, Inc. Ctrl-f で検索しても2件ヒットする

Slide 13

Slide 13 text

13 © 2025 Japan Digital Design, Inc. ???

Slide 14

Slide 14 text

14 © 2025 Japan Digital Design, Inc.

Slide 15

Slide 15 text

15 © 2025 Japan Digital Design, Inc. ファイルアップロードではNFC/NFD問題に気をつけろ!~MacファイルシステムにおけるUnicode正規化の闇~

Slide 16

Slide 16 text

16 © 2025 Japan Digital Design, Inc. macOS 13.3 VenturaではNFC/NFD問題が再発し、 濁音やアクセント記号が付いたファイルをダブルクリックしてもアプリで開けない不具合があるので注意を。 Apple様でもこの問題を過去度々踏んでいるくらい根深い (Big Sur / Monterey / Ventura)

Slide 17

Slide 17 text

17 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー 米澤 PDFリスト 手動で起動 input: PDFファイル名 PDFに対していろいろな処理 PDF取得 Presigned URL発行リクエスト NFD NFC NFC vs NFD でキー名の不一致

Slide 18

Slide 18 text

18 © 2025 Japan Digital Design, Inc. ではどうするべきか?

Slide 19

Slide 19 text

19 © 2024 Japan Digital Design, Inc. ECS Service S3 (PDF置き場) Presigned URL PDF File ユーザー 米澤 PDFリスト 手動で起動 input: PDFファイル名 PDFに対していろいろな処理 PDF取得 Presigned URL発行リクエスト オブジェクト名をNFC正規化した上で Presigned URLを発行する ①日本語名PDFを禁止する ②濁音ファイル名を禁止する (ユーザビリティに影響があるので まあまあ微妙) NFC/NFDの2パターンでオブジェクト 取得を試みる (Try-Except書く必要あるので 微妙かも) NFC

Slide 20

Slide 20 text

20 © 2025 Japan Digital Design, Inc. まとめ

Slide 21

Slide 21 text

21 © 2025 Japan Digital Design, Inc. 眼力を鍛えても眼判別は無理なので、 日本語を含む可能性がある場合は正規化しましょう

Slide 22

Slide 22 text

Thank you. 22 © 2024 Japan Digital Design, Inc.