Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Claude codeで
創る世界と壊れる世界

Avatar for codelynx codelynx
July 29, 2025
78

Claude codeで
創る世界と壊れる世界

Claude code で
創る世界と壊れる世界

Avatar for codelynx

codelynx

July 29, 2025
Tweet

Transcript

  1. Kaz Yoshikawa • Electricwoods LLC / Digital Lynx Systems Inc.

    / Slow-Walkers • e-mail: [email protected] • twitter: @codelynx5 • Working History • Adobe Systems (Tokyo) • Lionbridge (Tokyo) • Quark (Tokyo / Denver) • Hummingbird Communications (Mt. View, USA) • Fact International (Vancouver, Canada) • Perle Systems (Toronto, Canada), etc.
  2. Chat GPT oX 👍 • ϓϩϯϓτ͔Βೖྗ • ίʔυΛॻ͍ͯ͘ΕΔͷͰίϐϖͰ࢖͑Δ • Xcode

    ͱ࿈ܞͯ͠ɺύονΛ༻ҙͯ͘͠ΕΔ • ·͊·͊ෳࡶͳίʔυΛॻ͍ͯ͘ΕΔ
  3. Chat GPT oX 👎 • ݁ہϑΝΠϧΛ·͕ͨͬͯɺߟ͑ͯ͘Εͳ͍ • ผͷϑΝΠϧʹ͋Δclass΍structΛਖ਼֬ʹ஌Βͳ͍ • ϏϧυΤϥʔ͸࢖͍ख͕ೳಈతʹߦ͏ඞཁ͕͋Δ

    • ࢼߦࡨޡͯ͠ϏϧυΤϥʔΛ௚ͯ͘͠Εͳ͍ • ߟ͑ํʹΑͬͯ͸ɺָ͍͠ίʔσΟϯάΛChat GPTʹ·͔ͤͯ • ͭ·Βͳ͍ϏϧυΤϥʔ΍όάͱΓΛ࢖͍ख͕΍ΔࣄʹͳΔʁ
  4. Claude codeͷ͕͜͜ੌ͍ • ίϚϯυͷύϥϝʔλͱ͔֮͑ͯͳͯ͘΋͍͍ײ͡ʹ୅ߦͯ͘͠ΕΔ commit, please • minor bug fi

    x ͱ͔ͷ͠ΐ΅͍ίϛοτΛ͍͍ײ͡Ͱ୅ߦͯ͘͠ΕΔ fixed some minor bugs • ίʔυॻ͚ͩ͘Ͱͳ͘ɺϏϧυΤϥʔ΋௚ͯ͘͠ΕΔ xcodebuild -scheme photolala -destination 'platform=macOS' -derivedDataPath build- test build 2>&1 | grep -E "(error:|FAILED|SUCCEEDED)" | tail -10
  5. Claude codeͷ͕͜͜ੌ͍ • ͍͍ײ͡ʹɺެ։࢓༷ॻͳͲΛ୳ͯ͠μ΢ϯϩʔυͯ͘͠ΕΔ download PowerPoint format specification • ڊେͰෳࡶͳ࢓༷Λཧղͯ͘͠ΕΔ

    can you summaries specs in brief? • ؆୯ͳࣄ͔Β࢝ΊΕ͹ɺ࢓༷Λཧղͯ͠ɺࢼߦࡨޡͯ͠ؤுͬͯ͘ΕΔ can write swift code to parse and print number of pages of .pptx by reading sample.pptx
  6. ίʔυ͔ΒڍಈΛ෼ੳͯ͘͠ΕΔ 1. First star (at 0 seconds): - Photo 1

    added to queue - resetInactivityTimer() is called - Line 146: inactivityTimer?.invalidate() - cancels any existing timer - Line 157: Starts a new 30-second timer - Log: [BackupQueueManager] Starting backup timer for 30 seconds - Log: [BackupQueueManager] Queue has 1 photos to upload, 0 to delete 2. Second star (at 10 seconds): - Photo 2 added to queue - resetInactivityTimer() is called again - Line 146: inactivityTimer?.invalidate() - cancels the previous timer (that had 20 seconds left) - Line 157: Starts a new 30-second timer - Log: [BackupQueueManager] Starting backup timer for 30 seconds - Log: [BackupQueueManager] Queue has 2 photos to upload, 0 to delete 3. After 30 seconds of no activity (at 40 seconds total): - Timer fi res - performAutoBackup() is called - Both photos are uploaded together - Log: Auto-backup triggered after 0 minutes of inactivity - Log: [BackupQueueManager] Starting upload of 2 photos
  7. ϩά͔ΒڍಈΛ෼ੳͯ͘͠ΕΔ [PhotoProcessor] Read 0KB from yuta_240513_008_TP_V.jpg [PhotoProcessor] Read 0KB from

    yuta_240513_008_TP_V.jpg [PriorityLoader] Failed to load thumbnail for yuta_240513_008_TP_V.jpg: Error Domain=PhotoProcessor Code=1 "Unable to create image from data" UserInfo={NSLocalizedDescription=Unable to create image from data} [PriorityLoader] Failed to load thumbnail for yuta_240513_008_TP_V.jpg: Error Domain=PhotoProcessor Code=1 "Unable to create image from data" UserInfo={NSLocalizedDescription=Unable to create image from data} Thumbnail queue: 1, active: 0 Thumbnail queue: 2, active: 0 Thumbnail queue: 1, active: 0 Thumbnail queue: 1, active: 1 Thumbnail queue: 0, active: 1 Thumbnail queue: 0, active: 1 [PhotoProcessor] Read 0KB from yuta_240513_008_TP_V.jpg [PhotoProcessor] Read 0KB from yuta_240513_008_TP_V.jpg [PriorityLoader] Failed to load thumbnail for yuta_240513_008_TP_V.jpg: Error Domain=PhotoProcessor Code=1 "Unable to create image from data" UserInfo={NSLocalizedDescription=Unable to create image from data} [PriorityLoader] Failed to load thumbnail for yuta_240513_008_TP_V.jpg: Error Domain=PhotoProcessor Code=1 "Unable to create image from data" UserInfo={NSLocalizedDescription=Unable to create image from data}
  8. ٕ

  9. ίʔυॻ͘લʹϓϥϯΛཱͯͤ͞Δ • Claude code͸͙͢ίʔυΛॻ͍ͯ͘Δ • ܭըॻʹίʔυΛॻ͔ͤΔ • ࣗ෼Ͱ͸ͳ͘ɺAIʹܭըॻΛॻ͔ͤΔ • AIʹॻ͔ͤΔͱɺࢦࣔ࿙Ε͕͸͖ͬΓ͢Δ

    • ͦ΋ͦ΋ɺܭըத͸ίʔυॻ͍ͯ͘Δͳͱ೦Λԡ͢ • ͦΕͰ΋༉அ͢Δͱ͙͢ίʔυॻ͍ͯ͘Δ • class / struct / enum (WHAT)͸ॻ͔ͤͯͯ΋ɺfunc (HOW)͸ॻ͔ͤͳ͍
  10. ͱʹ͔͘γϯϓϧʹ • AI͸ؾΛར͔ͤͯɺ͋ͬͨΒ͍͍ͳػೳΛ͠Εͬͱ࣮૷ͯ͘͠Δ • ʮ௥ՃػೳʯΛ࣮૷ͨ͠ΒͳΒɺʮฤूɾ࡟আʯ΋ඞཁͩΑͶ • POC ͔ͩΒෆཁͳΜ͚ͩͲ • ͔͠͠ɺ৺Λَʹͯ͠ɺ୯७ͳγϯϓϧʹઃܭ͢ΔΑ͏ʹ৺͕͚Δ

    • ػೳͷมߋ͸ɺػೳͷ௥ՃΑΓ΋೉қ౓͕ߴ͍ • ඞཁ࠷খݶͷϓϩύςΟΛపఈ͢ΔʢޙͰ௥Ճ͢Ε͹Α͍ʣ • ΋ͬͱ΋Β͍͠ϓϩύςΟΛ௥Ճ͖ͯͨ͠Β͠ΕͬͱϦδΣΫτʢޙͰ௥Ճ͢Ε͹Α͍ʣ
  11. υΩϡϝϯτͷࢁ͕Ͱ͖ͨΒ੔ཧͤ͞Δ • υΩϡϝϯτΛॻ͔ͤͯࢼߦࡨޡ͢Δͱɺ͋ͬͱ͍͏ؒʹେྔͷจॻ͕ੜ੒͞ΕΔ • ద࣌ɺυΩϡϝϯτΛ੔ཧͤ͞Δ • ϓϥϯɺݱঢ়ʢઃܭʣɺٞ࿦ɺΞʔΧΠϒʢࢿྉʣʹ෼ྨͤ͞Δ • ػೳ͕๲ΒΜͩࡍʹ͸ɺػೳ͝ͱͷσΟϨΫτϦߏ଄ʹ͢Δʁ •

    ΞʔΧΠϒͷݹ͍࢓༷Λࢀߟʹͯ͘͠Δ৔߹͕͋Δ • ফ͔͢ɺ࢒͔͢ɺαϚϥΠζͤ͞Δ͔ʁ • Consolidateʢ౷߹ʣͤ͞Δʁ • υΩϡϝϯτ΋਺͕ଟ͘ͳΔͱɺͪΌΜͱಡΊͯͳ͍Έ͍ͨ • ॏཁͳυΩϡϝϯτ͸ claude.me ʹϙΠϯλΛ࢒͢
  12. Credential code • https://github.com/codelynx/credential-code • API_KEY, SECERT_KEY ͳͲηϯγςΟϒͳ৘ใΛJSONʹهड़ • ίϚϯυϥΠϯͰ҉߸Խ͞ΕͨιʔείʔυʹͳΔ

    • AES-256-GCM • ΞϓϦʹຒΊࠐΜͰ΋҆શʢΦʔϓϯιʔεʹ͸ෆద੾ʣ • Swift/Kotlin/Python/Java/C++ • Claude CodeͰ̍࣌ؒఔ
  13. PPTXKit • Power Point ؆қϏϡʔΞ • Claude codeʹISOͷ࢓༷Λཧղ࣮ͤͯ͞૷ • github

    Ͱެ։த • https://github.com/codelynx/pptx-swift • POCͳͷͰະ࣮૷ϓϩύςΟଟ਺ • ϓϧϦΫ׻ܴ
  14. Swiftlet ͸ಈతαΠτରԠ • ݸʑͷϖʔδ͸SwiftͷϓϩάϥϜ • index.swift • index.swift ͸ HTMLͷDSLͰهड़

    • Swiftletͷαʔόʔ͸Pathʹ͋ΔSwiftͷ࣮ߦՄೳίʔυʢίϯύΠϧࡁΈʣ Λ࣮ߦɺੜ੒͞ΕͨHTMLΛฦ͢ • ࢓૊Έ͸ͻͱੲલͷCGIɺͰ΋ύϥϝʔλΛ౉͢ࣄͰಈతͳαΠτΛߏஙՄ ೳ
  15. ੜ੒ίʔυྫ • codelynx͸αʔόʔ͸໳֎׽ • Ignite ͷίʔυ͕ɹMITͰ͋ΔࣄΛ֬ೝ • ϓϩδΣΫτʹigniteΛαϒϞδϡʔϧͰऔΓࠐΉ • AIʹIgniteͷDSLͷ࢓૊Έͷ࣮૷෼ੳϨϙʔτΛॻ͔ͤΔ

    • ͜ͷϨϙʔτΛݩʹɺCGIͷΑ͏ʹݸʑͷϖʔδ͕swiftԽͰ͖ΔΑ͏ʹ૬ஊ • ࠓճͷཁٻΛ੝ΓࠐΜͰɺίʔυੜ੒ͤ͞Δ • AWS EC2ʹରԠͤ͞Δ
  16. Photolala • Claude code ര଎ΞϓϦ։ൃ࣮ূϓϩδΣΫτ • ࠷ॳ͸ͨͩͷPhoto Viewer • AWS

    S3 Glacier / Deep Archive Λ࢖ͬͨ֨҆PhotoόοΫΞοϓ • ݄ίʔώ̍ഋͰ1TBΫϥεͷࣸਅΛόοΫΞοϓ • Deep Archive ͳͷͰϦετΞʹ12hʙ48h࣌ؒཁ͢Δ • ⭐Λ͚ͭΔͱɺΞʔΧΠϒʹམͪΔ
  17. Large Scale Content Management System • AWS S3 ͰϖλόΠτεέʔϧͷίϯςϯπ؅ཧγεςϜ •

    Blue / Green ΍ 1ܥ / 2ܥ ੾Γସ͑ϕʔεͷͰ͸ͳ͘ɺ • gitͷΑ͏ʹ׬શͳόʔδϣϯίϯτʔϧγεςϜ • ։ൃத • ൒೥͘Β͍ࣗ෼Ͱίʔυॻ͍͍ͯͨ΋ͷΛAIͰॻ͖௚͠