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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kyo
March 20, 2023
Programming
0
840
Gopher Enablement Internship
kyo
March 20, 2023
Tweet
Share
More Decks by kyo
See All by kyo
GoとWasmでつくる軽量ブラウザUI
keyl0ve
0
110
Go言語で行うメール解析
keyl0ve
0
1.8k
作って学ぶ GraphQL
keyl0ve
0
1.5k
Other Decks in Programming
See All in Programming
Python’s True Superpower
hynek
0
180
Swift at Scale: Where Performance Really Comes From
kateinoigakukun
0
120
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
190
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
210
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.9k
Oxlint JS plugins
kazupon
1
1.1k
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
880
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
400
CSC307 Lecture 09
javiergs
PRO
1
850
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
120
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Spectacular Lies of Maps
axbom
PRO
1
560
Building Adaptive Systems
keathley
44
2.9k
Navigating Team Friction
lara
192
16k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
190
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Unsuck your backbone
ammeep
671
58k
Practical Orchestrator
shlominoach
191
11k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
960
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
930
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