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
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
Search
rokuosan
December 15, 2024
Technology
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ずっと昔に Star をつけたはずの 思い出せない GitHub リポジトリを見つけたい!
Kyoto.go #56
rokuosan
December 15, 2024
More Decks by rokuosan
See All by rokuosan
internal/testlog で遊ぼう
rokuosan
0
530
発見!Ruby 9
rokuosan
0
55
CloudflareのBetaサービスでローカルなLLMを安全に公開する
rokuosan
0
360
Workers を定期実行する方法は一つじゃない
rokuosan
0
550
OpenNext + Hono on Cloudflare でイマドキWeb開発スタックを実現する
rokuosan
0
670
Kotlin で始める MCP 入門
rokuosan
0
340
【学内向け】主観でやるオレオレ RubyKaigi 2025 Recap
rokuosan
0
54
Kotlin で Discord の絵文字コミュニケーションを盛り上げたい!
rokuosan
0
31
KC3 2024 Dockerで始める自宅サーバー入門
rokuosan
0
760
Other Decks in Technology
See All in Technology
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
370
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
130
GoにおけるFFIのこれまでとこれから
goccy
5
2.6k
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
270
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
350
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
320
Microsoft 365 Copilot chat -tekoälypalvelun tietosuojaongelmat
hponka
0
840
事業課題から技術的負債に向き合う
sansantech
PRO
2
830
AI時代、データエンジニアが一番おもろい
genshun9
0
480
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
410
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
1
1.1k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
So, you think you're a good person
axbom
PRO
2
2.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Mind Mapping
helmedeiros
1
360
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Being A Developer After 40
akosma
91
590k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Transcript
ずっと昔に Star をつけたはずの 思い出せない GitHub リポジトリを見つけたい! 2024/12/15 (Sun) Kyoto.go #56
松本紘輝 / rokuosan / id:rokuokun
自己紹介 松本紘輝 Matsumoto Kouki 京都産業大学 情報理工学部 1年 コーヒーが好きです。 Go の他に
Kotlin, Perl を書くこともあります。 たまに疑問符がつく会社でアルバイトをしています。 https://github.com/rokuosan https://twitter.com/rokuosan_dev ↑現実の姿 インターネットの姿 ↑ rokuosan / id:rokuokun
1. GitHub Star
はじめに GitHub Star ってありますよね
GitHub Star いい感じのリポジトリをマークできる
GitHub Star ・検索可能 ・リストとかも作れる ・他人の Star も見れる
GitHub Star GitHub Star 最高!便利! 今日はこれだけ覚えて帰ってください
GitHub Star の課題 気づけば大量にあるStar 「昔に星つけたリポジトリなんだっけ?」 ↓ 検索に微妙にヒットしない (名前かDescriptionの中しか見ないので)
GitHub Star の課題
GitHub Star 解決策 「READMEからも検索したい!!」
GitHub Star 解決策 「READMEからも検索したい!!」 ↓ 作るぜ
2. アプリケーションの形式を考える
どうやって実装するか 要望 「とにかくお手軽に作りたい!」 「Token 発行もやりたくない!」
どうやって実装するか お馴染みの GitHub CLI
どうやって実装するか GitHub CLI には拡張機能の仕組みがある
どうやって実装するか これだ!!
ちなみに コマンド一発で 雛形+リリースCI が作成できる $ gh extension create --precompiled=go sample
3. どう作るかを考える
作る方法を考える 1. ユーザーのStarをつけた リポジトリ情報を取得 2. READMEの内容を見る 3. 取得したデータから検索 基本的な流れ この部分を考える。
・HTTP REST API ・GraphQL API 上記どちらかで取得
GitHub REST API で取る例 https://api.github.com/user/starred https://api.github.com/repos/{owner}/{repo}/readme 1. Star を付けたリポジトリ情報を取得 →
オーナーや関連するURLが取れる 100個Starある時に101リクエストになる → これは困る 2. 指定したリポジトリのREADMEを取得 → 1リクエストに1リポジトリの情報のみ取得可能
GitHub GraphQL API で取る例 https://api.github.com/graphql GraphQL エンドポイント 1. Star を付けたリポジトリ情報を取得
2. 指定したリポジトリのREADMEを取得 右のクエリで 1. 2. の両方を同時にできる
GitHub GraphQL API で取る例 これだ!!
実装はこうなる struct で右のクエリを表現する
実装はこうなる struct でクエリを書く gh コマンド内部で使用されている api package を使ってリクエストをする
作る方法を考える 1. ユーザーのStarをつけた リポジトリ情報を取得 2. READMEの内容を見る 3. 取得したデータから検索 基本的な流れ GraphQL
で決まり!
作る方法を考える 1. ユーザーのStarをつけた リポジトリ情報を取得 2. READMEの内容を見る 3. 取得したデータから検索 基本的な流れ ここはどうする?
データ検索手法を考える よくわからないので直感で選ぶ Bleve Bluge ・スター数 10.1k (2024/12/14 現在) ・Grafana で使われていた!
・スター数 1.9k (2024/12/14 現在) ・開発が止まっている・・・? ひとまずこれで
実装はこうなる Getting Started を眺めて書く ここを改善すると 検索体験が良くなるはず (有識者教えてください)
4. カッコいい表示にしたい
イケイケなCLI(TUI)を作るには Bubble Tea がいいらしい https://github.com/charmbracelet/bubbletea Kyoto.go remote #32 で紹介済み(らしい) id:motemen
による記事 https://motemen.hatenablog.com/entry/2022/06/introduction-to-go-bubbletea
イケイケなCLI(TUI)を作るには 検索結果をいい感じにリスト表示したい ↓ 発表に間に合わなかったので断念
5. 成果物
成果物 https://github.com/rokuosan/gh-find-starred
成果物 gh find-starred golang golang で検索してみた graphql が一番上…!?
6. 終わりに
終わりに 検索結果にやや不満は残るが、 機能としては実現できたのでヨシッ!
終わりに : 余談 GitHub Star を管理するいい感じのサービスがあるらしい(?) https://astralapp.com/
ずっと昔に Star をつけたはずの 思い出せない GitHub リポジトリを見つけたい! 2024/12/15 (Sun) Kyoto.go #56
松本紘輝 / rokuosan / id:rokuokun