Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
slog.Handlerのよくある実装ミス
Search
H.Saki
September 16, 2025
Technology
5
790
slog.Handlerのよくある実装ミス
25/9/18 layerx.go #2にて発表
https://layerx.connpass.com/event/365170/
H.Saki
September 16, 2025
Tweet
Share
More Decks by H.Saki
See All by H.Saki
Goの格言”Errors are values”の本質を読み解く
sakiengineer
10
2.8k
どうしてもcgoから逃げられなくなったあなたに知ってほしいcgoの使い方入門
sakiengineer
1
2.8k
アプリ側のコードを書いていた人がLambdaに触れて気づいたこと
sakiengineer
0
1.7k
epollによるNetwork I/O in Goランタイム
sakiengineer
3
2.2k
スケジューラから学ぶGoランタイム 〜code reading of runtime pkg〜
sakiengineer
13
5.2k
select文の内部実装見つけました
sakiengineer
1
800
Other Decks in Technology
See All in Technology
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
150
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
110
脳内メモリ、思ったより揮発性だった
koutorino
0
390
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
100
OCI技術資料 : コンピュート・サービス 概要
ocise
4
54k
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
1
670
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
250
Kiro Powers 入門
k_adachi_01
0
120
OpenClaw を Amazon Lightsail で動かす理由
uechishingo
0
220
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
200
進化するBits AI SREと私と組織
nulabinc
PRO
1
260
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
170
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
A Soul's Torment
seathinner
5
2.5k
What does AI have to do with Human Rights?
axbom
PRO
1
2k
WCS-LA-2024
lcolladotor
0
480
The SEO identity crisis: Don't let AI make you average
varn
0
420
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Code Review Best Practice
trishagee
74
20k
How to Ace a Technical Interview
jacobian
281
24k
ラッコキーワード サービス紹介資料
rakko
1
2.7M
Automating Front-end Workflow
addyosmani
1370
200k
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