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
Goでテストをしやすくするためにやったこと
Search
KazukiHayase
June 07, 2024
Technology
970
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goでテストをしやすくするためにやったこと
KazukiHayase
June 07, 2024
More Decks by KazukiHayase
See All by KazukiHayase
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
250
entのPrivacy機能とgo/astを使って、意図しないDBアクセスを防ぐ
kazukihayase
1
470
go testのキャッシュの仕組みにDeep Diveする
kazukihayase
0
240
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
650
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
590
もし今からGraphQLを採用するなら
kazukihayase
13
6.1k
GraphQLクライアントの技術選定 2023冬
kazukihayase
9
8k
Introduction and Insights of the Hasura-based Architecture
kazukihayase
0
1.2k
自分だけが頑張るのをやめて、フルスタックなチームを作る
kazukihayase
2
3.8k
Other Decks in Technology
See All in Technology
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
190
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
USB PDを使ってスマホを労わりたい
raspython3
0
180
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
1
490
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
Running Kotlin + Quarkus with Lambda
nealle
1
4k
専門領域のAIをどう評価するか
bengo4com
2
320
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
220
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
200
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
KATA
mclloyd
PRO
35
16k
Tell your own story through comics
letsgokoyo
1
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Un-Boring Meetings
codingconduct
0
460
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Navigating Weather and Climate Data
rabernat
0
560
Transcript
GoͰςετΛ͘͢͢͠ΔͨΊʹͬͨ͜ͱ (Unofficial)Go Conference 2024 Pre Party 2024.06.07
ૣًʢ@KazukiHayaseʣ • 2021BuySell Technologies৽ଔೖࣾ • ग़ཧSaaSνʔϜ PjM / ςοΫϦʔυ •
Go / TypeScript / React / GraphQL / ϙέΧ
ࣄۀհ ങऔɾൢചͷ॥Λ࣮ݱ͢Δ૯߹ϦϢʔεϏδωεΛల։͍ͯ͠·͢ɻ ͓٬༷ͷχʔζʹ߹Θ֤ͤͨछങऔɾൢചνϟωϧͰɺࣗʹΔ͞·͟·ͳෆཁͳͷΛɺ୭͔ͷඞཁͳͷͱม͍͑ͯ·͢ɻ
ϓϩμΫτ܈ʮόΠηϧϦϢʔεϓϥοτϑΥʔϜ Cosmosʯͷ։ൃ͕ਐߦத ϦϢʔεʹඞཁͳͯ͢ͷػೳΛఏڙ͢ΔʮϦϢʔεϓϥοτϑΥʔϜ Cosmosʯͷ։ൃ͕ਐߦதͰ͢ɻ CosmosΛ׆༻ͯ͠ɺόΠηϧάϧʔϓશମͰͷۀޮվળσʔλυϦϒϯܦӦͷਂԽΛࢦ͍ͯ͠·͢ɻ ϦϢʔεϓϥοτϑΥʔϜCosmos ࣗࣾ։ൃͷϦϢʔεಛԽۀجװγεςϜͰ͋ΓαʔϏε܈ͷू߹ମ ങऔਃࠐ ങऔɾࠪఆ ࡏݿཧ
ൢച ଟ༷ͳνϟωϧͰऩӹ࠷େԽ CRM -ސ٬ରԠ- ങऔछผʹԠͨ͡࠷దͳγεςϜߏங Visit -๚ങऔ- Store -ళฮങऔ- Promas -ࡐϚελ- Appraisal -ઐࠪఆ- Stock -ࡏݿཧ- EXS -ൢചཧ- Core -ձһཧ- Portal -σʔλར༻- Pocket -σʔλج൫- ങऔ ઐνʔϜʹΑΔਅآɾࠪఆͱ࿈ܞ ࠪఆ ਃࠐ ޮతͳސ٬ରԠ ࡏݿ ࡏݿཧͷ࠷దɾޮԽ ൢച σʔλ ֤ࣄۀϓϩηεʹ͋Δ σʔλΛҰݩཧ ɿجװγεςϜ
ΞδΣϯμ ٕज़ελοΫ 01 3ͭͷऔΓΈ 02 ·ͱΊ 03
01 ٕज़ελοΫ
ٕज़ελοΫ
ٕज़ελοΫ ͜͜ͷ
• go-gorm/gorm ◦ GoͷORM • stretchr/testify ◦ ςεςΟϯάϑϨʔϜϫʔΫ ◦ ΞαʔγϣϯϞοΫ͕ޮతʹߦ͑Δ
ٕज़ελοΫ
02 3ͭͷऔΓΈ
testifyͷϥΠϑαΠΫϧͱGORMͷSavePointΛΈ߹Θͤͯɺ αϒςετ͝ͱʹDBΛϩʔϧόοΫ 1. αϒςετ͝ͱʹDBΛϩʔϧόοΫ
1. αϒςετ͝ͱʹDBΛϩʔϧόοΫ
Before αϒςετͷDBૢ࡞͕ผͷαϒςετʹӨڹ After αϒςετͷDBૢ࡞͕શʹಠཱ 1. αϒςετ͝ͱʹDBΛϩʔϧόοΫ
testifyͷmockύοέʔδΛ֦ுͯ͠ɺ ϞοΫʹσϑΥϧτΛઃఆͰ͖ΔΈΛಋೖ 2. ϞοΫͷσϑΥϧτͷઃఆ
2. ϞοΫͷσϑΥϧτͷઃఆ
2. ϞοΫͷσϑΥϧτͷઃఆ Before ςετ͝ͱʹશͯͷϞοΫΛઃఆ After ςετ͝ͱʹඞཁͳϞοΫͷΈΛઃఆ
δΣωϦΫεΛ׆༻ͯ͠ɺ ڞ௨ͷςʔϒϧۦಈςετ༻ͷߏମΛఆٛ 3. ςʔϒϧۦಈςετ༻ͷߏମఆٛ
3. ςʔϒϧۦಈςετ༻ͷߏମఆٛ
3. ςʔϒϧۦಈςετ༻ͷߏମఆٛ Before ࣮ऀʹΑͬͯςετͷॻ͖ํ͕όϥόϥ After ࣮ऀʹΑΒͣॻ͖ํ͕౷Ұ
औΓΈʹΑΔՌ ৼΓฦΓͰϙδςΟϒͳҙݟ͕ଟ্͕ͬͨ͘
03 ·ͱΊ
• GoͰςετΛ͘͢͢͠ΔͨΊʹߦͬͨ3ͭͷऔΓΈ ◦ αϒςετ͝ͱʹDBΛϩʔϧόοΫ ◦ ϞοΫͷσϑΥϧτͷઃఆ ◦ ςʔϒϧۦಈςετ༻ͷߏମఆٛ • গ͠Ͱಉ͡՝Λ๊͍͑ͯΔํͷࢀߟʹͳΕ͍Ͱ͢ʂ
·ͱΊ
THANK YOU