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
Kyo Sato
March 20, 2023
Programming
0
780
Gopher Enablement Internship
Kyo Sato
March 20, 2023
Tweet
Share
More Decks by Kyo Sato
See All by Kyo Sato
Go言語で行うメール解析
keyl0ve
0
1.6k
作って学ぶ GraphQL
keyl0ve
0
1.4k
Other Decks in Programming
See All in Programming
VS Code Update for GitHub Copilot
74th
2
660
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
370
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
280
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
870
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
220
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
230
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
930
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
190
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
11
6.5k
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
1
150
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
4
530
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Code Review Best Practice
trishagee
69
19k
Visualization
eitanlees
146
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Navigating Team Friction
lara
187
15k
Making Projects Easy
brettharned
116
6.3k
Music & Morning Musume
bryan
46
6.6k
Docker and Python
trallard
44
3.5k
Facilitating Awesome Meetings
lara
54
6.5k
Scaling GitHub
holman
460
140k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
How GitHub (no longer) Works
holman
314
140k
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