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
March 20, 2023
Programming
890
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
830
Go言語で行うメール解析
keyl0ve
0
2k
作って学ぶ GraphQL
keyl0ve
0
1.5k
Other Decks in Programming
See All in Programming
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
290
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
Vite+ Unified Toolchain for the Web
naokihaba
0
420
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
0
270
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
140
Webフレームワークの ベンチマークについて
yusukebe
0
190
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
380
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
440
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
250
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
360
Six Lessons from altMBA
skipperchong
29
4.3k
Between Models and Reality
mayunak
4
360
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.9k
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