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
uutan1108
April 04, 2025
Programming
1
53
APIサーバーが止まったので、GitHub Actions内にAPIサーバーを立てた話
https://odekake-tech.connpass.com/event/346217/
uutan1108
April 04, 2025
Tweet
Share
More Decks by uutan1108
See All by uutan1108
「何か」を求めて参加したカンファレンスから持ち帰ってきた「熱」を維持して、活用するために
ohmori_yusuke
2
360
1人150秒、2人で5分 LT
ohmori_yusuke
2
78
Tidy First?個人で実践する経験主義的ソフトウェア設計を読んでみた感想
ohmori_yusuke
2
62
今年始めた 「アニメから得た学びを発表会」
ohmori_yusuke
2
1.9k
行き当たりばったりの二年
ohmori_yusuke
1
380
技書博に参加したら執筆できた
ohmori_yusuke
1
1.8k
開発終了後こそ成長のチャンス!プロダクト運用を見送った先のアクションプラン
ohmori_yusuke
2
310
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
2
700
やりっぱなしで終わらない勉強法
ohmori_yusuke
3
540
Other Decks in Programming
See All in Programming
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
720
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
360
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
12
3.9k
プログラミング教育のコスパの話
superkinoko
0
120
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.3k
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
450
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
850
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
体得しよう!RSA暗号の原理と解読
laysakura
3
540
eBPF Updates (March 2025)
kentatada
0
130
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
140
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
440
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Optimizing for Happiness
mojombo
377
70k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
51
2.4k
Being A Developer After 40
akosma
90
590k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Embracing the Ebb and Flow
colly
85
4.6k
Faster Mobile Websites
deanohume
306
31k
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日(日・祝前日) 色々企画しているので来てくだ さい!