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
960
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
230
entのPrivacy機能とgo/astを使って、意図しないDBアクセスを防ぐ
kazukihayase
1
460
go testのキャッシュの仕組みにDeep Diveする
kazukihayase
0
240
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
630
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
580
もし今から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
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
430
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
310
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
610
手を動かして実感する、Kiro が変える開発体験
inariku
0
420
20260930_Gemma4_Hands-on
tsho
0
170
AI coding 整合正規方法
philipz
0
570
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
150
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
250
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
5
1.1k
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
1
450
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The untapped power of vector embeddings
frankvandijk
2
1.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
850
Raft: Consensus for Rubyists
vanstee
142
7.7k
Prompt Engineering for Job Search
mfonobong
0
460
YesSQL, Process and Tooling at Scale
rocio
174
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Rails Girls Zürich Keynote
gr2m
96
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
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