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
Goで作り直すgitignore生成コマンド #go #golang / Reinvent...
Search
Toshinori Sugita
May 16, 2018
Technology
9.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goで作り直すgitignore生成コマンド #go #golang / Reinvent gitignore command using golang
Toshinori Sugita
May 16, 2018
More Decks by Toshinori Sugita
See All by Toshinori Sugita
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
1
810
GKEを中心としたマルチプロダクト・マルチリージョン対応アプリケーションプラットフォームの継続的改善 / continuous improvement of GKE based application platform
toshi0607
1
240
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
8.1k
文系学部卒ソフトウェアエンジニアが Georgia Techコンピューターサイエンス修士課程で直面したもの / What a Liberal Arts Graduate Software Engineer Faced in Georgia Tech's Computer Science Master's Program
toshi0607
4
2.1k
50以上のマイクロサービスを支えるアプリケーションプラットフォームの設計・構築の後悔と進化 #CNDW2024 / regrets and evolution of application platform
toshi0607
5
9.8k
OPA and cloud resources
toshi0607
1
14k
KompalWeather: Serverless Sauna Service with Cloud Run
toshi0607
1
13k
Knativeで作るDIY FaaS / serverless days fukuoka 2019 knative workshop
toshi0607
1
5.4k
Knativeで作るDIY FaaS / serverless days tokyo 2019 knative workshop
toshi0607
5
12k
Other Decks in Technology
See All in Technology
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
GCASアップデート(202607-202610)
techniczna
1
200
`go get`したらELFが降ってきた件
taiyow
0
180
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
1
290
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
160
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
690
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
300
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
420
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
9
2.6k
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
240
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
190
Featured
See All Featured
Crafting Experiences
bethany
1
430
The SEO Collaboration Effect
kristinabergwall1
1
620
Design in an AI World
tapps
1
380
Technical Leadership for Architectural Decision Making
baasie
3
640
Chasing Engaging Ingredients in Design
codingconduct
0
390
The SEO identity crisis: Don't let AI make you average
varn
0
630
We Are The Robots
honzajavorek
0
440
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
620
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
600
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
280
Transcript
Goで作り直す.gitignore生成コマンド 2018/5/14 Gopher道場最終回
自己紹介 • 杉田 寿憲 ◦ Toshinori Sugita ◦ toshi0607 ◦
toshi0607 ◦ toshi0607 • Software Engineer@freee ◦ 好評の Windows 版に続いて急遽リリースを決めた Mac 版アプリの開発に、Xamarin.Mac を採用し て大幅な開発効率のアップと機能の標準化を実現。 • 最近の様子 ◦ Ruby > JavaScript >>> Go >>>>>> C# • 『Extensive Xamarin』(共著)発売中! ◦ 技術書典から商業出版へ
今日のお話 • gigというコマンドをGoで作った • 作ったきっかけ • 課題と解決策 • 残タスク
今日のお話 • gigというコマンドをGoで作った • 作ったきっかけ • 課題と解決策 • 残タスク
gigコマンドとは? ※https://github.com/toshi0607/gig
gigコマンドとは? ※https://github.com/github/gitignore
gigコマンドとは? • Usage ◦ gig [OPTIONS] [Language] • Application Options:
◦ -l, --list Show list of available language ◦ -f, --File Output .gitignore file ◦ -q, --quiet Hide stdout ◦ -v, --version Show version • Help Options: ◦ -h, --help Show this help message ※https://github.com/toshi0607/gig
gigコマンドとは? ※https://github.com/toshi0607/gig
giboでええやん? ※https://github.com/toshi0607/gig
gigコマンドとは? ※https://github.com/toshi0607/gig
今日のお話 • gigというコマンドをGoで作った • 作ったきっかけ • 課題と解決策 • 残タスク
作ったきっかけ • simonwhitaker/giboとは別コンセプトで同じことしたい • io.Writer interfaceの気持ちよさを形にしたい • クロスプラットフォームでシュッと配布してみたい
今日のお話 • gigというコマンドをGoで作った • 作ったきっかけ • 課題と解決策 • 残タスク
課題 こんなURLにアクセスしたいけど… https://github.com/github/gitignore/raw/master/Go.gitignore
課題 引数で指定した言語からよしなにURLを組み立てたい https://github.com/github/gitignore/raw/master/Go.gitignore
giboの解決策 • github/gitignoreをgit clone • language_file=$(find "$local_repo" -maxdepth 1 -iname
"$1.gitignore" | head -n 1) ※https://github.com/simonwhitaker/gibo
解決策① • 入力をパスカルケースに変換 • pinzolo/casee go Go cakephp CakePhp
解決策① • 入力をパスカルケースに変換 • pinzolo/casee go Go cakephp CakePhp なんとかできるかもしれないが、がんばっても沼っぽい
解決策② • 対応言語リストを毎回取得
解決策② • 対応言語リストを毎回取得 v 単に言語指定するユースケースで2回もアクセスしたくない
解決策③ • リストをフィルタリングできるコマンドと組み合わせる • Go言語によるCLIツール開発とUNIX哲学について ◦ http://blog.yuuk.io/entry/go-cli-unix • peco/peco ◦
https://github.com/peco/peco
解決策③ ※https://github.com/toshi0607/gig
今日のお話 • gigというコマンドをGoで作った • 作ったきっかけ • 課題と解決策 • 残タスク
残タスク • .gitignore開発環境シリーズ(Global系)対応 • ネットワークに依存しないテスト • ゴルーチンのエラー処理 • アップデート機構
ご清聴ありがとうございました! Goで作り直す.gitignore生成コマンド