Simplest API Server "miq"

Y
Simplest API Server
“miq”
Good Coding Friends LT
Yuki Ito / @publmag1 / acomagu / s1230004
みなさん
RDBは好きですか
そこそこ好き: 11人
嫌い: 0人
なるほどね。
じゃあ、
SQLは好きですか?
そこそこ好き: 0人
ふつう: 5人
嫌い: 5人
なるほどねー
めっちゃわかるぅ〜☆(ゝω・)v
3日前に陥った状況
- WebサーバーにちょっとしたDBが必要
- NoSQL微妙
- RDB使いたいけど、SQL書きたくない
- 書いてもいいけど、サーバーのロジックと混ぜたくない
- できることならHTTP/JSONで通信したい
- でもFirebaseとかは使いたくない
- 今回のアプリケーションにはちょっと大げさかな...
だから一昨日からつくった
だから一昨日からつくった
miq
Simplest API Server "miq"
Simplest API Server "miq"
Simplest API Server "miq"
miq: micro query-runner server
- コンパクトなAPIサーバー
- YAMLの設定ファイルにしたがって動作
- SQLを実行して結果をJSONにして返すのみ
- (現状)できること
- クエリの実行
- Pathパラメータ、URLクエリ、POST Body(JSON)から変数を受け取
れる
- トランザクション
- 複数クエリの実行
- できないこと
- 認証
- なのでそのまま外部には公開できない
- データになんらかの処理をしてからJSONを返却
つかいどころ
つかいどころ
- SQLをコードに書きたくない人
- Microservicesごっこしたいひと
それ、単に二度手間なだ
けじゃね?
Benefits
Benefits
- SQL Injectionのリスクが減る(必ず静的プレース
ホルダが使用される)
- SQLの事前コンパイルし忘れがない
- そのアプリケーションがどんなSQL オペレーショ
ンをするのかひと目でわかる
- やっぱり生のSQL実行よりJSONから読むほうが
簡単
github.com/acomagu/miq
Thank you!
1 of 23

Recommended

レガシーシステムのDBマイグレーションし始めた話 by
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話nekogeruge_987
1.1K views16 slides
CSV by
CSVCSV
CSVMasahiro Tomita
3K views15 slides
ネットワークこわい by
ネットワークこわいネットワークこわい
ネットワークこわいMasahiro Tomita
1.7K views14 slides
Webページで学ぶJavaScript2013 第4回 by
Webページで学ぶJavaScript2013 第4回Webページで学ぶJavaScript2013 第4回
Webページで学ぶJavaScript2013 第4回京大 マイコンクラブ
480 views13 slides
Raytracing4 by
Raytracing4 Raytracing4
Raytracing4 Kazuma Hatta
888 views18 slides
CouchDB+OpenSocial - OSC 2009/Fall Tokyo by
CouchDB+OpenSocial - OSC 2009/Fall TokyoCouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall TokyoYohei Sasaki
885 views27 slides

More Related Content

What's hot

Next GAE Heroku を使って 3分でRailsアプリをリリース by
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースよしだ あつし
1.5K views32 slides
コマンドライン使いもLibreOffice by
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeKiwamu Okabe
3.2K views13 slides
歌舞伎座tech発表資料 RxJSの中を追う by
歌舞伎座tech発表資料 RxJSの中を追う歌舞伎座tech発表資料 RxJSの中を追う
歌舞伎座tech発表資料 RxJSの中を追うwilfrem
5.4K views58 slides
Rubyでやろう。データ解析導入編( CSV, XML, JSON) by
Rubyでやろう。データ解析導入編( CSV, XML, JSON)Rubyでやろう。データ解析導入編( CSV, XML, JSON)
Rubyでやろう。データ解析導入編( CSV, XML, JSON)NAKAOKU Takahiro
4.5K views19 slides
LT#7 Hello coffeeしてきた by
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきたShingo Inoue
3.8K views14 slides
データベース実践入門読書会スペシャル #nseg by
データベース実践入門読書会スペシャル #nsegデータベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nsegko ty
1.9K views10 slides

What's hot(20)

Next GAE Heroku を使って 3分でRailsアプリをリリース by よしだ あつし
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし1.5K views
コマンドライン使いもLibreOffice by Kiwamu Okabe
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Kiwamu Okabe3.2K views
歌舞伎座tech発表資料 RxJSの中を追う by wilfrem
歌舞伎座tech発表資料 RxJSの中を追う歌舞伎座tech発表資料 RxJSの中を追う
歌舞伎座tech発表資料 RxJSの中を追う
wilfrem5.4K views
Rubyでやろう。データ解析導入編( CSV, XML, JSON) by NAKAOKU Takahiro
Rubyでやろう。データ解析導入編( CSV, XML, JSON)Rubyでやろう。データ解析導入編( CSV, XML, JSON)
Rubyでやろう。データ解析導入編( CSV, XML, JSON)
NAKAOKU Takahiro4.5K views
LT#7 Hello coffeeしてきた by Shingo Inoue
LT#7 Hello coffeeしてきたLT#7 Hello coffeeしてきた
LT#7 Hello coffeeしてきた
Shingo Inoue3.8K views
データベース実践入門読書会スペシャル #nseg by ko ty
データベース実践入門読書会スペシャル #nsegデータベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
ko ty1.9K views
ど素人向けエンジニア勉強会(第2回) by YukiIwasaki2764
ど素人向けエンジニア勉強会(第2回)ど素人向けエンジニア勉強会(第2回)
ど素人向けエンジニア勉強会(第2回)
YukiIwasaki2764420 views
Free Serverというナウでヤングなサービス by nemumu
Free ServerというナウでヤングなサービスFree Serverというナウでヤングなサービス
Free Serverというナウでヤングなサービス
nemumu1K views
NUTハッカソン2014成果報告 by Joe_noh
NUTハッカソン2014成果報告NUTハッカソン2014成果報告
NUTハッカソン2014成果報告
Joe_noh758 views
Reudy on Ruby1.9 by Glass_saga
Reudy on Ruby1.9Reudy on Ruby1.9
Reudy on Ruby1.9
Glass_saga741 views
SpockからRSpecにきたときの気づき #coedorb by Youtarou TAKAHASHI
SpockからRSpecにきたときの気づき #coedorbSpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorb
Youtarou TAKAHASHI1.7K views
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田 by Y Watanabe
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Selenium再入門-W3C勧告とページオブジェクトパターンと私-201707webエンジニア勉強会#2神田
Y Watanabe1.4K views
NPMで便利なツールの紹介 by Amuro Nishizawa
NPMで便利なツールの紹介NPMで便利なツールの紹介
NPMで便利なツールの紹介
Amuro Nishizawa2.1K views
Pgconf asia-201612203-pg reversi-ja by Toshi Harada
Pgconf asia-201612203-pg reversi-jaPgconf asia-201612203-pg reversi-ja
Pgconf asia-201612203-pg reversi-ja
Toshi Harada627 views

Similar to Simplest API Server "miq"

AWS Casual 02: ふつうのRedshiftパフォーマンスチューニング by
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニングAWS Casual 02: ふつうのRedshiftパフォーマンスチューニング
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニングMinero Aoki
8.5K views28 slides
20200212 KumaMCN GTFS勉強会 by
20200212 KumaMCN GTFS勉強会20200212 KumaMCN GTFS勉強会
20200212 KumaMCN GTFS勉強会Syota Yano
73 views42 slides
サーバーのおしごと by
サーバーのおしごとサーバーのおしごと
サーバーのおしごとYugo Shimizu
14.3K views68 slides
Jawsug福岡 201606 up by
Jawsug福岡 201606 upJawsug福岡 201606 up
Jawsug福岡 201606 upKen'ichirou Kimura
2.3K views22 slides
B 2-1 はじめての Windows Azure by
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows AzureGoAzure
788 views24 slides
Jsf アプリ作ったった by
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったったOda Shinsuke
2.5K views25 slides

Similar to Simplest API Server "miq"(20)

AWS Casual 02: ふつうのRedshiftパフォーマンスチューニング by Minero Aoki
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニングAWS Casual 02: ふつうのRedshiftパフォーマンスチューニング
AWS Casual 02: ふつうのRedshiftパフォーマンスチューニング
Minero Aoki8.5K views
20200212 KumaMCN GTFS勉強会 by Syota Yano
20200212 KumaMCN GTFS勉強会20200212 KumaMCN GTFS勉強会
20200212 KumaMCN GTFS勉強会
Syota Yano73 views
サーバーのおしごと by Yugo Shimizu
サーバーのおしごとサーバーのおしごと
サーバーのおしごと
Yugo Shimizu14.3K views
B 2-1 はじめての Windows Azure by GoAzure
B 2-1 はじめての Windows AzureB 2-1 はじめての Windows Azure
B 2-1 はじめての Windows Azure
GoAzure788 views
Jsf アプリ作ったった by Oda Shinsuke
Jsf アプリ作ったったJsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke2.5K views
泥臭い運用から、プログラマブルインフラ構築(に行きたい) by Akihiro Kuwano
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano4K views
HTML5 NIGHT 08. Web × パフォーマンス技術 by Yoichiro Takehora
HTML5 NIGHT 08. Web × パフォーマンス技術HTML5 NIGHT 08. Web × パフォーマンス技術
HTML5 NIGHT 08. Web × パフォーマンス技術
Yoichiro Takehora5.6K views
Amazon Redshift ことはじめ by Shiro Miyazaki
Amazon Redshift ことはじめAmazon Redshift ことはじめ
Amazon Redshift ことはじめ
Shiro Miyazaki1.6K views
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12) by parrotstudio
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
parrotstudio824 views
bottleで始めるWEBアプリの最初の一歩 by Satoshi Yamada
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
Satoshi Yamada16.1K views
今すぐ使えるクラウドとPostgreSQL by Soudai Sone
今すぐ使えるクラウドとPostgreSQL今すぐ使えるクラウドとPostgreSQL
今すぐ使えるクラウドとPostgreSQL
Soudai Sone4.2K views
高トラフィックサイトをRailsで構築するためのTips基礎編 by Kazuya Numata
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata14K views
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園 by Y Watanabe
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
201311 webデザイナとエンジニアのチームワークを加速させるテンプレートエンジンmixer2 devlove現場甲子園
Y Watanabe3.7K views
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB by Yuki KAN
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
Yuki KAN11.9K views
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり) by ShogoOkazaki
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
ShogoOkazaki634 views
Couch DB in 15minutes by Yohei Sasaki
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki1.2K views

More from Yuki Ito

僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜 by
僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜
僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜Yuki Ito
1.2K views67 slides
fisher-lazyつくったはなし by
fisher-lazyつくったはなしfisher-lazyつくったはなし
fisher-lazyつくったはなしYuki Ito
1.2K views19 slides
Waylandでも動くキーリマッパーを作りたかった話 by
Waylandでも動くキーリマッパーを作りたかった話Waylandでも動くキーリマッパーを作りたかった話
Waylandでも動くキーリマッパーを作りたかった話Yuki Ito
363 views27 slides
みんなのコンポーネント志向 Web開発 by
みんなのコンポーネント志向 Web開発みんなのコンポーネント志向 Web開発
みんなのコンポーネント志向 Web開発Yuki Ito
156 views49 slides
Mutexを実装する implementation of mutex by
Mutexを実装する implementation of mutexMutexを実装する implementation of mutex
Mutexを実装する implementation of mutexYuki Ito
1.8K views114 slides
フロントエンド温泉にサーバーレスでダイブする(Public) by
フロントエンド温泉にサーバーレスでダイブする(Public)フロントエンド温泉にサーバーレスでダイブする(Public)
フロントエンド温泉にサーバーレスでダイブする(Public)Yuki Ito
272 views39 slides

More from Yuki Ito(7)

僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜 by Yuki Ito
僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜
僕が構文解析にこんなにも時間をかけてしまった理由 〜Yacc/Bisonにおけるノウハウ〜
Yuki Ito1.2K views
fisher-lazyつくったはなし by Yuki Ito
fisher-lazyつくったはなしfisher-lazyつくったはなし
fisher-lazyつくったはなし
Yuki Ito1.2K views
Waylandでも動くキーリマッパーを作りたかった話 by Yuki Ito
Waylandでも動くキーリマッパーを作りたかった話Waylandでも動くキーリマッパーを作りたかった話
Waylandでも動くキーリマッパーを作りたかった話
Yuki Ito363 views
みんなのコンポーネント志向 Web開発 by Yuki Ito
みんなのコンポーネント志向 Web開発みんなのコンポーネント志向 Web開発
みんなのコンポーネント志向 Web開発
Yuki Ito156 views
Mutexを実装する implementation of mutex by Yuki Ito
Mutexを実装する implementation of mutexMutexを実装する implementation of mutex
Mutexを実装する implementation of mutex
Yuki Ito1.8K views
フロントエンド温泉にサーバーレスでダイブする(Public) by Yuki Ito
フロントエンド温泉にサーバーレスでダイブする(Public)フロントエンド温泉にサーバーレスでダイブする(Public)
フロントエンド温泉にサーバーレスでダイブする(Public)
Yuki Ito272 views
NNTPについて簡単すぎる説明 by Yuki Ito
NNTPについて簡単すぎる説明NNTPについて簡単すぎる説明
NNTPについて簡単すぎる説明
Yuki Ito848 views

Recently uploaded

ウォーターフォール開発で生 産性を測る指標 by
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標Kouhei Aoyagi
58 views13 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide
onewedge_companyguide1 by
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1ONEWEDGE1
81 views22 slides
Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
16 views29 slides
概要.pdf by
概要.pdf概要.pdf
概要.pdfTaira Shimizu
6 views1 slide
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
211 views36 slides

Recently uploaded(6)

ウォーターフォール開発で生 産性を測る指標 by Kouhei Aoyagi
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標
Kouhei Aoyagi58 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE181 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo16 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦211 views

Simplest API Server "miq"