Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
slog.Handlerのよくある実装ミス
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
H.Saki
September 16, 2025
Technology
890
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
slog.Handlerのよくある実装ミス
25/9/18 layerx.go #2にて発表
https://layerx.connpass.com/event/365170/
H.Saki
September 16, 2025
More Decks by H.Saki
See All by H.Saki
さきさん文庫の書籍ができるまで
sakiengineer
0
740
Goの格言”Errors are values”の本質を読み解く
sakiengineer
10
3k
どうしてもcgoから逃げられなくなったあなたに知ってほしいcgoの使い方入門
sakiengineer
1
3k
アプリ側のコードを書いていた人がLambdaに触れて気づいたこと
sakiengineer
0
1.8k
epollによるNetwork I/O in Goランタイム
sakiengineer
3
2.3k
スケジューラから学ぶGoランタイム 〜code reading of runtime pkg〜
sakiengineer
13
5.4k
select文の内部実装見つけました
sakiengineer
1
840
Other Decks in Technology
See All in Technology
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
250
GitHub、使う?使わない?
happysamurai294
0
110
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
320
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
5
2.5k
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
220
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
13k
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
素人でもできた!AIを使った短編小説創作入門
delhi09
PRO
0
140
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
210
AIをリアル世界に解き放つ 〜M5Stack×AIであなたのアイディアを手の平に〜
hamadakoji
1
580
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
110
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
250
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Rails Girls Zürich Keynote
gr2m
96
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
450
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
630
Designing for humans not robots
tammielis
254
26k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
BBQ
matthewcrist
90
10k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
370
What's in a price? How to price your products and services
michaelherold
247
13k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
770
The browser strikes back
jonoalderson
0
1.9k
Transcript
slog.Handlerのよくある実装ミス さき(H.Saki) @saki_engineer LayerX.go #2 Sep 16, 2025
自己紹介 About Me l ͖͞ )4BLJ ◦ ຊۀͰ"84Λओઓʹͨ͠ ΫϥυΠϯϑϥ͞ΜΛ͍ͯ͠·͢ ◦
5XJUUFS!TBLJ@FOHJOFFS l աڈͷՌ FUDʜ ;FOO ٕज़ॻయ ݄߸ʙ ݄߸
本日のテーマ Today’s Theme TMPH ͬͺΓ࣌ߏԽϩΪϯάͰ͢Α
やってみた Just Try It DPOUFYUʹUSBDF*%͕͋Εɺ ϩάʹUSBDF*%ͷใΛ͢
やってみた Just Try It ᶄUSBDF*%͕σϑΥϧτͰग़ͯΔ! ᶃUSBDF*%ΛMPHHFS*OGPͰ͞ͳͯ͘
やってみた Just Try It 8JUIϝιουͰ ͞ΒʹΧελϚΠζͯ͠ΈΔ
やってみた Just Try It 8JUIΛݺΜͩޙ͔Β USBDF*%͕ग़ͯͳ͍ʜʜʁ
やってみた Just Try It !
slog解説 & 起こったこと What happening l TMPHΛ͏ͱߏԽϩΪϯάΛ(Pඪ४ϥΠϒϥϦͰ࣮Ͱ͖Δ ◦ \lMFWFMzl*/'0z lNTHzlJOGPNFTTBHFz^ˡ
͜͏͍͏ͷ l ࣗ࡞ϋϯυϥ TMPH)BOEMFSΠϯλʔϑΣʔε Λ࣮͢Δͱɺࣗ࡞ͷදࣔϩ δοΫΛ࣮Ͱ͖Δ ◦ ྫ DPOUFYUதͷτϨʔε*%ΛৗʹσϑΥϧτͰؚΊΔΑ͏ʹ͢Δ l TMPH-PHHFSɺ8JUIϝιουɾ8JUI(SPVQϝιουͰศརͳઃఆ͕Ͱ͖Δ ◦ ྫ MPHHFS8JUI lLFZz lWBMVFz ͱઃఆ͢ΔͱɺͦΕҎ߱\zLFZlzWBMVFl^ͱ͍͏ "UUSJCVUF͕Կ͠ͳͯ͘༩͞ΕΔ ◦ 8JUI(SPVQϝιουͷޮೳಡऀͷԋशͱ͢Δ l 8JUIϝιουͰLFZWBMVFΛՃ͢Δͱɺࣗ࡞ϋϯυϥͰઃఆͨ͠දࣔϩδ οΫ͕ޮ͔ͳ͘ͳΔʁʁʁ
原因 Root Cause 8JUIϝιουΛ͏ͱɺϋϯυϥ͕ࣗ࡞ͷͷ͔ΒTMPH+40/)BOEMFSʹσά Ϩͯ͠͠·͏ ࠷ॳΧελϜϩΨʔ 8JUIϝιουޙσάϨ͍ͯ͠Δʜʜ
デグレの原因 Root Cause σάϨͷݪҼɺࣗ࡞ϋϯυϥ5SBDF)BOEMFSʹ8JUI"UUSTϝιουɾ 8JUI(SPVQϝιουΛ࣮͍ͯ͠ͳ͍͔Β TMPH)BOEMFS ΠϯλʔϑΣʔεͷఆٛ ࣗ࡞ϋϯυϥͷఆٛ )BOEMFϝιου͔͠ͳ͍ʂ
WithAttrsメソッド・WithGroupメソッドを実装しないと? What happening without WithAttrs & WithGroup method (PͰ&NCFEEFE'JFMEΛ͏͜ͱͰɺ໌ࣔతʹϝιου࣮͠ͳͯ͘ɺຒ Ίࠐ·ΕͨϑΟʔϧυܕͷϝιουΛͦͷ··ݺͼग़͢͜ͱ͕Ͱ͖·͢
ҕৡ ɻ 5SBDF)BOEMFS8JUI"UUSTϝιουΛݺͼ ग़͢ 5SBDF)BOEMFSܕʹ8JUI"UUSTϝιου͕ ໌࣮ࣔ͞Ε͍ͯΔ͔ʁ ͞Ε͍ͯͳ͔ͬͨΒɺຒΊࠐ·Ε͍ͯΔ TMPH)BOEMFSϑΟʔϧυͷ8JUI"UUST ϝιουΛΘΓʹݺͼग़͢ &NCFEEFE'JFME ຒΊࠐΈϑΟʔϧυ
WithAttrsメソッド・WithGroupメソッドを実装しないと? What happening without WithAttrs & WithGroup method ࠓճͷ5SBDF)BOEMFSͷ߹ɺ8JUIϝιου͕ΘΕΔͱɺҕৡʹΑͬͯຒΊࠐ ·ΕͨTMPH+40/)BOEMFSͷ8JUI"UUSTϝιου͕ݺΕ·͢ɻ
TMPH+40/)BOEMFS8JUI"UUSTͷ࣮ Γ͕+40/)BOEMFSܕ
解説 Cause Summary 5SBDF)BOEMFSΛͬͨࣗ࡞ϩΨʔʹɺ8JUIϝιουΛ͏ ෦తʹ5SBDF)BOEMFS8JUI"UUSTϝιου͕ݺΕΔ 5SBDF)BOEMFS8JUI"UUSTϝιουΛ໌࣮͍ࣔͯ͠ͳ͍ͷͰɺຒΊࠐ·Ε ͨTMPH+40/)BOEMFSܕͷ8JUI"UUSTϝιου͕ݺΕΔ
ҕৡ TMPH+40/)BOEMFSܕͷ8JUI"UUSTϝιουɺΓ͕TMPH+40/)BOEMFS ܕ ݁Ռɺ5SBDF)BOEMFSΛ͍͕ͬͯͨͣTMPH+40/)BOEMFSʹσάϨ͢Δ
解決策 Fix ࣗ࡞ͷ5SBDF)BOEMFSʹ8JUI"UUSTϝιουɾ8JUI(SPVQϝιουΛ࣮͠·͠ ΐ͏ʂ
ΊͰͨ͠ΊͰͨ͠
……で終わると思ったか? Preventive Measures ʮຒΊࠐΜͰ͍Δ࣌Ͱɺ5SBDF)BOEMFS໊ٛͷ8JUI"UUSTϝιουΛ࡞ͬͯ͘ Εͳ͍ͷʁʯͱࢥ͏͔͠Ε·ͤΜ͕ɺͦΕΛΔͷܧঝͰ͋Γ(Pʹͳ͍ ػೳͰ͢ɻ (PʮܧঝΑΓҕৡʯͷࢥ ᶃ͜͏ͨ࣌͠Ͱ (Pʹܧঝͳ͍ͷͰෆՄೳʂ ᶄ5SBDF)BOEMFSΛϨγʔόʔʹͨ͠ϝι
ουΛ҉తʹ࡞ͬͯ͘Εͳ͍ͷ͔ʁ
……で終わると思ったか? Preventive Measures &NCFEEFE'JFMEʹΑΔҕৡ͕͋ΔҎ্ɺʮ໌ࣔతʹ8JUI"UUSTϝιουΛࣗ࡞ ϋϯυϥʹ࣮͢Δ͜ͱΛݴޠ༷Ͱڧ੍ͤ͞ΔʯΈ(PͰ࡞Ε·ͤΜɻ TMPH)BOEMFSΠϯλʔϑΣʔεͷ࣮ڧ੍ɺ ͜ͷΠσΟΦϜͰՄೳ͕ͩʜʜ ͜͏ͯ͠ຒΊࠐΜͩ࣌ͰΠϯλʔϑΣʔε࣮ΫϦΞ ໌ࣔతʹϝιου࣮͍ͯ͠ͳͯ͘௨ͬͯ͠·͏
こういうときの再発防止策 Preventive Measures – Static Analysis ʮݴޠ্༷ͳ͘௨Δ͕ɺજࡏతʹόάͷݪҼͱͳΔΑ͘ͳ͍ίʔυΛݕ ͢Δʯʹɺ੩తղੳ͕༗ޮͰ͢ɻ
こういうときの再発防止策 Preventive Measures – Static Analysis ʮݴޠ্༷ͳ͘௨Δ͕ɺજࡏతʹόάͷݪҼͱͳΔΑ͘ͳ͍ίʔυΛݕ ͢Δʯʹɺ੩తղੳ͕༗ޮͰ͢ɻͳͷͰ࡞Γ·ͨ͠ʂ HPWFUͰݕग़Ͱ͖ͯΔʂ
宣伝 Ads ࠓճ࡞ͬͨTMPHHFS੩తղੳπʔϧͷ࡞Γํͱɺ࡞Δ·ͰʹඞཁʹͳͬͨࣝΛ ·Δͬͱղઆ͢Δ;FOOͷຊΛຊ͜ͷޙϦϦʔε͠·͢ʂ
5IBOLZPVGPSMJTUFOJOH TBNQMFDPEFT • IUUQTHPEFWQMBZQPT[4,-K • IUUQTHPEFWQMBZQ&Q*2RQ;F" • IUUQTHJUIVCDPNTBLJFOHJOFFSJOHTMPHBOBMZUJDT ;FOOCPPL •
IUUQT[FOOEFWITBLJCPPLTHPMBOHTUBUJDBOBMZTJT