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
Gopher Enablement Internship
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kyo
March 20, 2023
Programming
870
0
Share
Gopher Enablement Internship
kyo
March 20, 2023
More Decks by kyo
See All by kyo
GoとWasmでつくる軽量ブラウザUI
keyl0ve
0
760
Go言語で行うメール解析
keyl0ve
0
1.9k
作って学ぶ GraphQL
keyl0ve
0
1.5k
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
310
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
110
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.5k
Agent Skills を社内で育てる仕組み作り
jackchuka
0
170
의존성 주입과 모듈화
fornewid
0
160
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
160
GoogleCloudとterraform完全に理解した
terisuke
1
180
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
0
180
From Formal Specification to Property Based Test
ohbarye
0
670
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
110
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
120
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
160
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Embracing the Ebb and Flow
colly
88
5k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
How to build a perfect <img>
jonoalderson
1
5.5k
Visualization
eitanlees
150
17k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
180
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
230
Faster Mobile Websites
deanohume
310
31k
How GitHub (no longer) Works
holman
316
150k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Transcript
Gopher Enablement Internship 2023.03 成果発表 - Gopher Enablement Internship チームB
佐藤恭
Gopher Enablement Internship 2023.03 2 成果物情報 タイトル 選んだテーマ リポジトリURL 時間のないそこのあなた!
③ 効果の高いLinter https://github.com/Keyl0ve/termcheck
Gopher Enablement Internship 2023.03 こんな経験したことありませんか? - 関数を呼ぶ時 - 構造体のフィールドにアクセスする時 いつの間にか冗長なコードになっている
Gopher Enablement Internship 2023.03 4 開発したツールについて ツール概要 解決したい 課題 -
パッケージ名 . 関数名 - 構造体 . フィールド名 ↑ で単語が重複して使われていたら 警告を出します - 冗長になるコード - リーダブルではないコードの抹殺 実行結果や図を貼る
Gopher Enablement Internship 2023.03 5 開発する中で工夫したこと 課題 工夫 - 誰が見てもすぐにわかるコードにしたい
- テストケースの拡充 - 関数の責務を適切に分ける - 関数、変数の名前を簡潔に - コメントアウトの追加 文字が扱いずらかった - ほしい文字列に整形 - package の組み合わせ - github.com/iancoleman/strcase - pkg.go.dev/strings
Gopher Enablement Internship 2023.03 - 扱いやすい文字へ - v1 - user,
readuserfromjapan - v2 - user, read_user_from_japan - v3 - [ user, read, user, from, japan ] 工夫した点 strcase.ToSnake() strings.Split(str, “_”)
Gopher Enablement Internship 2023.03 - slice に append するときに再帰で実装 工夫した点
Gopher Enablement Internship 2023.03 8 インターンシップに参加した感想 できるように なったこと 感想 -
linter を作れるようになった - 静的解析の理解 ++ - 構文解析の理解 ++ - ast の構造 - 型 check の理解 ++ - types パッケージの使い方 静的解析について深く学べたインターンシップでした!静的解析を通してGo言語がますます好きになり ました。まだまだ理解しきれていない箇所もあるので静的解析ツールを作りながら学んでいこうと思い ます。新しくできることが増えて、次は何を作ろうかと考える時間が楽しいです! このインターンシップに携わった方々に感謝しています! Special Thanks - tenntenn さん - notogawa さん - チームBのみんな
Gopher Enablement Internship 2023.03 9 今後の取組み これからやりたいこと - 静的解析ツールの作成 -
SSA - ポインタ解析 - コードの自動生成
できる喜びが巡る日々を届ける Deliver the joy of enablement Gopher Enablement Internship 2023.03