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
Gopher Enablement Internship
Search
kyo
March 20, 2023
Programming
950
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gopher Enablement Internship
kyo
March 20, 2023
More Decks by kyo
See All by kyo
GoとWasmでつくる軽量ブラウザUI
keyl0ve
0
1.1k
Go言語で行うメール解析
keyl0ve
0
2.1k
作って学ぶ GraphQL
keyl0ve
0
1.6k
Other Decks in Programming
See All in Programming
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
900
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
5.1k
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
290
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
310
Spec-driven Development with AI
simas
PRO
0
2.3k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
180
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
190
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
160
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
460
Thoughts on Productivity
jonyablonski
76
5.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
First, design no harm
axbom
PRO
2
1.4k
How to Talk to Developers About Accessibility
jct
2
610
The Cult of Friendly URLs
andyhume
79
7.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
GraphQLとの向き合い方2022年版
quramy
50
15k
Rails Girls Zürich Keynote
gr2m
96
14k
Music & Morning Musume
bryan
48
7.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
The Language of Interfaces
destraynor
162
27k
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