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
APIサーバーが止まったので、GitHub Actions内にAPIサーバーを立てた話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
uutan1108
April 04, 2025
Programming
370
2
Share
APIサーバーが止まったので、GitHub Actions内にAPIサーバーを立てた話
https://odekake-tech.connpass.com/event/346217/
uutan1108
April 04, 2025
More Decks by uutan1108
See All by uutan1108
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
290
映画のエンドロール風の動画を自動生成するツールを作った
ohmori_yusuke
2
54
アウトプットは“成果物”じゃなく“副産物”だった話
ohmori_yusuke
1
87
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
770
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
5.8k
勉強会から始まった僕のDevRel~新卒エンジニアがつないだ2年間の軌跡~
ohmori_yusuke
2
450
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
330
アニメがエンジニアをつなぐ!「エンジニアニメ」勉強会が巻き起こすCo-Creationの波
ohmori_yusuke
0
290
組織が大きく変わろうとするとき、自分はどうありたいかを考えている
ohmori_yusuke
19
7.5k
Other Decks in Programming
See All in Programming
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
460
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.5k
Agentic Elixir
whatyouhide
0
440
Vibe NLP for Applied NLP
inesmontani
PRO
0
590
AIと共に生きる技術選定 2026
sgash708
0
120
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
120
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
220
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
190
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Scaling GitHub
holman
464
140k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
How to Ace a Technical Interview
jacobian
281
24k
We Have a Design System, Now What?
morganepeng
55
8.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
190
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
APIサーバーが止まったので、 GitHub Actions内にAPIサーバー を立てた話 うーたん 花見LT in 大宮公園 ~春の風を感じながらゆるっとLT~
自己紹介 • うーたん ◦ X:@uutan1108 • 株式会社ゆめみ ◦ 新卒3年目 ◦
サーバーサイドエンジニア • 趣味 ◦ アニメを観ること
GitHub Actions でやっていること
https://github.com/engineers-anime/anime-info-gif
https://github.com/engineers-anime/anime-info-gif 今日誕生日のアニメキャラクターを 外部 API から取得
外部 API サーバー GitHub Actions APIサーバーに クエリを投げる 今日誕生日の キャラは?
外部 API サーバー GitHub Actions クエリの結果を 返却 郁田 はるき
外部 API サーバー GitHub Actions Gif 画像を生成 クエリの結果を 返却 郁田
はるき
API サーバーが停止
外部 API サーバー GitHub Actions Gif 画像を生成
困った
でも、外部 API サーバーのデータは 公開されている
https://github.com/imas/imasparql
データだけじゃ、 今日誕生日のアニメキャラクターを検索 できないので API サーバーを立てないと!!
データが SPARQL
SPARQL とは? SPARQL(スパークル、SPARQL Protocol and RDF Query Languageの再帰的頭字語)は、RDF問合せ言語 の1つである。RDF問合せ言語は、Resource Description
Framework (RDF) で記述されたXMLや TurtleなどのRDFデータのリソースを取り扱うためのコ ンピュータ言語である。 https://ja.wikipedia.org/wiki/SPARQL
https://github.com/imas/imasparql
https://github.com/imas/imasparql
Apache Jena Fuseki が必要
Apache Jena Fuseki とは
Apache Jena Fuseki とは Fuseki とは、RDF ファイルを永続化し、RDF クエリで 検索することができる RDF
データベースサービスで す。 https://shirasagi.github.io/installation/fuseki.html
XML の RDF をいい感じに変換して、 Apache Jena Fuseki (APIサーバー)で、 クエリできるようにする
やってみる
RDF(XML)
https://github.com/imas/imasparql
https://github.com/imas/imasparql
「天海春香」に一致するキャラをフィルタ
SPARQL
None
Apache Jena Fuseki
None
SPARQL
None
レスポンス
とりあえず、 サーバーでクエリできるようになった
👏
API サーバー立てられるけど、お金...
今回は、APIサーバーと言いつつ GETしかいらないからサーバー 立てなくてもいいな!
合体!!
GitHub Actions API サーバー Actions 内で起動
GitHub Actions API サーバー Gif 画像生成 ローカルの API に リクエスト
GitHub Actions API サーバー Gif 画像生成 Gif 画像を生成
デメリット
時間がかかる
Actions 内で API を立てていない時 7分2秒 3分25秒
Actions 内で API を立てた時 (XML を変換したりで時間がかかっている) 7分2秒 3分25秒
でも、無料でできているから満足!
宣伝
None
None
None
None
大きめの会場を貸し切ってやります!
None
場所:武蔵境駅前 時間:8月10日(日・祝前日) 色々企画しているので来てくだ さい!