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
H.Saki
September 16, 2025
Technology
850
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
690
Goの格言”Errors are values”の本質を読み解く
sakiengineer
10
2.9k
どうしても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.3k
select文の内部実装見つけました
sakiengineer
1
820
Other Decks in Technology
See All in Technology
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
630
Minecraft JavaのMODをSwiftで作る
1mash0
0
170
What the customer really needed
kawaguti
PRO
3
190
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.6k
GoにおけるFFIのこれまでとこれから
goccy
5
3.6k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
830
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
Reactの設計論
uhyo
24
13k
HHKBエバンジェリストになる方法
941
0
110
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
0
140
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Visualization
eitanlees
152
17k
Marketing to machines
jonoalderson
1
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
4 Signs Your Business is Dying
shpigford
187
23k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
A designer walks into a library…
pauljervisheath
211
25k
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