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
Backside of coverage measurement of Go
Search
po3rin
May 20, 2019
Programming
1
89
Backside of coverage measurement of Go
Go Conference Tokyo 二次会のLTです!Goのカバレッジ計測の裏側について
po3rin
May 20, 2019
Tweet
Share
More Decks by po3rin
See All by po3rin
M3におけるCI/CDパイプラインを新鮮に保つ仕組み
po3rin
0
280
Go Templateを使った フロントエンド開発を採用した 経緯と所感
po3rin
0
290
検索基盤移行時の思考
po3rin
0
4.2k
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
5.6k
Elasticsearchを負荷から守るesguard
po3rin
0
240
Sudachi×Elasticsearchへの移行と医療検索システム精度改善
po3rin
1
840
eskeeperを使ったファイル定義によるindex管理
po3rin
2
450
M3 情報検索/推薦論文輪読会 ~SIGIR祭~ (SIGIR2021: Session 6D – IR Models)
po3rin
0
82
Handling Temporal Query for Health Search with ja-timex
po3rin
3
310
Other Decks in Programming
See All in Programming
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
talk-with-local-llm-with-web-streams-api
kbaba1001
0
180
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
Beyond ORM
77web
2
290
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
Rails Girls Zürich Keynote
gr2m
94
13k
RailsConf 2023
tenderlove
29
940
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Building Applications with DynamoDB
mza
91
6.1k
The Invisible Side of Design
smashingmag
298
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Why Our Code Smells
bkeepers
PRO
335
57k
Designing for Performance
lara
604
68k
The World Runs on Bad Software
bkeepers
PRO
65
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Transcript
Backside of coverage measurement In Go Gopher Conference Tokyo 2019
Spring Second party May 20, 2019 @ po3rin
@po3rin Software Enginner @ Shiroyagi Corporation QBHF Golang / Python
/ Rust / Docker / AWS / Elasticsearch
QBHF (P$POGFSFODF5PLZP4QSJOHͰొஃ͠·ͨ͠ʂʂ IUUQTTQFBLFSEFDLDPNQPSJOEJWFJOUPCVJMELJUMMCXJUIHP
QBHF Introduction \
QBHF (Pඪ४ͰςετΧόϨοδΛऔΕΔ Coverage of Go Ὂ
QBHF What happened Ὂ ۀͰ$PWFSBHFͷؔͰΤϥʔ͕ɻɻͦ ͜Ͱؾ͍ͮͨ(PͷΧόϨοδͷ୲อ͢ΔͷͱԿ ͳͷ͔ΛΧόϨοδܭଌͷ࣮͔ΒௐͯΈ·ͨ͠
QBHF ɾ(PͷΧόϨοδ͕ͲͷΑ͏ʹߦΘΕ͍ͯΔ ͍ͷ͔ΛཧղͰ͖Δ ɾ(PͷΧόϨοδͷܭଌํ๏͔Β։ൃ࣌ʹ ҙ͢Δ͖͜ͱΛֶΔ Ὂ the benefits of this
talk
QBHF Reading Go source code of “cover” \
QBHF Reading Go source code of “cover” (1) Ὂ HJUIVCDPNHPMBOHHP
TSDDNEDPWFS DPWFSHP
QBHF Reading Go source code of “cover” (2) Ὂ QBSTFS1BSTF'JMFͰ(PϑΝΠϧΛ੩తղੳ͍ͯ͠Δɻ
FSSলུ
QBHF Reading Go source code of “cover” (3) Ὂ QBSTFS1BSTF'JMFͰಘͨ
BTU'JMFΛ͞Βʹಠࣗͷ DPWFS'JMFߏମʹ֨ೲ͍ͯ͠ ΔɻͦΕΛBTU8BMLʹͯ͠ ͍Δɻͭ·ΓDPWFS'JMF BTU7JTJUJOUFSGBDFΛ࣮ͯ͠ ͍Δͷ͕Θ͔Δ
QBHF Reading Go source code of “cover” (3) Ὂ BTU#MPDLʹͨͲΓண͘·Ͱ8BMLΛճ͠ଓ͚ɺϒϩοΫΛ
ݟ͚ͭͨΒBEE$PVOUFSTΛಡΜͰ͍Δ
QBHF Reading Go source code of “cover” (3) Ὂ BEE$PVOUFST͕ίʔυʹΧϯλʔΛࠩ͠ࠐΜͰɺς
ετதʹ͜͜Λ௨͔ͬͨΛه͍ͯ͠Δɻ #PEZলུ
QBHF Show annotated source code Ὂ DPWFSBHFܭଌதʹΧϯ λʔࠐΜͩίʔυ͕Ͳ͏ ͳ͍ͬͯΔͷ͔ΛݟΔͨΊ ͚ͩͷ୭ಘϚχΞ͚πʔ
ϧɻ
QBHF Show annotated source code Ὂ
QBHF ΧόϨοδܭଌͷछྨ Ὂ ໋ྩཏɿTUBUFNFOUDPWFSBHFʣ ذཏɿCSBODIDPWFSBHFʣ ݅ཏɿDPOEJUJPODPWFSBHFʣ C0 C1 C2
QBHF ΧόϨοδܭଌͷछྨ Ὂ BCUSVF ͷ̍έʔεΛ࣮ߦ͢Ε BCUSVF BCGBMTF ͷέʔεΛ࣮ߦ͢Ε BͱCͷUSVFPSGBMTFͷΈ߹Θͤ έʔεΛ࣮ߦ͢Ε
C0 C1 C2
QBHF ΧόϨοδܭଌͷछྨ Ὂ BCUSVF ͷ̍έʔεΛ࣮ߦ͢Ε BCUSVF BCGBMTF ͷέʔεΛ࣮ߦ͢Ε BͱCͷUSVFPSGBMTFͷΈ߹Θͤ έʔεΛ࣮ߦ͢Ε
C0 C1 C2
QBHF ͭ·Γ(PͷΧόϨοδܭଌ C0 !!!
QBHF ΧόϨοδͰશύλʔϯΛཏͰ͖͍ͯΔ༁Ͱͳ͍ɻ ΧόϨοδ͚ͩʹཔΓΒͣʹɺͪΌΜͱࣗͰύλʔϯΛ ཏͰ͖͍ͯΔ͔ҙ࣮͍ͯͯ͘͠͠ඞཁ͕͋Δɻ
QBHF Additional Talk \
QBHF (Pͷ੩తղੳΛղઆͨ͠ബ͍ ຊʂ#PPUIͰൢച͞Εͯ·͢ɻ ੩తղੳʹڵຯΛ࣋ͬͨΒ͜Ε ΛಡΊྑ͍ɻ
QBHF (P$POGFSFODF5PLZP4QSJOHͰొஃ͠·͢ɻ Ὂ
Backside of coverage measurement In Go Gopher Conference Tokyo 2019
Spring Second party May 20, 2019 @ po3rin