$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
slog.Handlerのよくある実装ミス
Search
H.Saki
September 16, 2025
Technology
5
710
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.7k
アプリ側のコードを書いていた人がLambdaに触れて気づいたこと
sakiengineer
0
1.6k
epollによるNetwork I/O in Goランタイム
sakiengineer
3
2.2k
スケジューラから学ぶGoランタイム 〜code reading of runtime pkg〜
sakiengineer
13
5.1k
select文の内部実装見つけました
sakiengineer
1
780
Other Decks in Technology
See All in Technology
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
260
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
0
540
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
190
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
10
6.4k
Oracle Technology Night #95 GoldenGate 26ai の実装に迫る1
oracle4engineer
PRO
0
110
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
300
乗りこなせAI駆動開発の波
eltociear
1
560
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
180
.NET 10 のパフォーマンス改善
nenonaninu
2
4.9k
手動から自動へ、そしてその先へ
moritamasami
0
250
安いGPUレンタルサービスについて
aratako
2
2.6k
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Ayumi Ohno)
nao_sumikawa
0
120
Featured
See All Featured
Become a Pro
speakerdeck
PRO
30
5.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
How STYLIGHT went responsive
nonsquared
100
5.9k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Bash Introduction
62gerente
615
210k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Typedesign – Prime Four
hannesfritz
42
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
GraphQLとの向き合い方2022年版
quramy
50
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
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