SlideShare a Scribd company logo
1 of 17
Download to read offline
APIを見かけたら
OSSチャンス!
id:daiksy
2015-05-22 API Meetup Osaka LT
粕谷 大輔
id:daiksy (@daiksy)
株式会社 はてな
2015年 8月1 日
大阪中央公会堂
Scala関西Summit
スポンサー
スピーカー募集中
トイレに閉じ込められる 検 索
こんな悩みのお持ちの方
• OSSに貢献したい
• 自作ライブラリを公開したい
• プルリクエストをマージされてみたい
• でもネタがない
Web APIを探そう
だいたいのWeb API
• RESTful
• httpを叩いてリクエスト
• 結果がJsonで帰ってくる
• とにかく簡単
ところがプログラムで
扱うと案外面倒
• httpクライアントライブラリを探す
• リクエストを組み立てる
• エラーハンドリング
• Jsonパース & オブジェクトへのマッピング
面倒なことは
ライブラリ化のチャンス!
やること
• httpクライアントライブラリを探す
• リクエストを組み立てる
• エラーハンドリング
• Jsonパース & オブジェクトへのマッピング
(面倒だけど)
技術的には簡単!
ライブラリ化するとOSSの
だいたいのことを経験できる
• Githubにリポジトリ作る
• Travisなどの公開CIの構築
• GemとかMaven Centralとかで公開
バージョンアップで
他のOSSへ
プルリクチャンス!
事例
• dmm4s
• Scala2.10 -> Scala2.11へ対応
• 使ってるライブラリがScala2.11未対応
• 対応させてプルリク
• 見事マージ!
運がよければ
グローバルスタンダードに!
例) Twitter4j
OSSチャレンジしたければ
APIを探そう!
ご清聴
ありがとう
ございました

More Related Content

What's hot

Scala.js触ってみた
Scala.js触ってみたScala.js触ってみた
Scala.js触ってみたAsami Abe
 
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話Masayuki Morita
 
JAX-RS(LT)
JAX-RS(LT)JAX-RS(LT)
JAX-RS(LT)winplus
 
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIRails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIYohei Yasukawa
 
モデルディレクトリが消えた理由
モデルディレクトリが消えた理由モデルディレクトリが消えた理由
モデルディレクトリが消えた理由Yuta Nakano
 
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩Masato Noguchi
 
最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」Jun Ootani
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編Asami Abe
 
2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01Hiroshi Oyamada
 
Scala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LTScala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LTpocketberserker
 
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回Asami Abe
 
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったでScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったでAsami Abe
 
Introduction of SQL Anti-pattern at Phpcon Hokkaido
Introduction of SQL Anti-pattern at Phpcon HokkaidoIntroduction of SQL Anti-pattern at Phpcon Hokkaido
Introduction of SQL Anti-pattern at Phpcon HokkaidoKenta Kawai
 
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Yohei Yasukawa
 
毎日gemをアップグレードする生活
毎日gemをアップグレードする生活毎日gemをアップグレードする生活
毎日gemをアップグレードする生活sinsoku listy
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 

What's hot (20)

Scala.js触ってみた
Scala.js触ってみたScala.js触ってみた
Scala.js触ってみた
 
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
 
JAX-RS(LT)
JAX-RS(LT)JAX-RS(LT)
JAX-RS(LT)
 
とりあえず使えるSBT
とりあえず使えるSBTとりあえず使えるSBT
とりあえず使えるSBT
 
Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIRails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
 
モデルディレクトリが消えた理由
モデルディレクトリが消えた理由モデルディレクトリが消えた理由
モデルディレクトリが消えた理由
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩RailsのRailから解放される始めの一歩
RailsのRailから解放される始めの一歩
 
最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」最初のRailsアプリケーション「茶番(tyaban)」
最初のRailsアプリケーション「茶番(tyaban)」
 
PlayFramework1.x基礎編
PlayFramework1.x基礎編PlayFramework1.x基礎編
PlayFramework1.x基礎編
 
2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
Scala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LTScala基礎勉強会 懇親会LT
Scala基礎勉強会 懇親会LT
 
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
 
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったでScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
 
Introduction of SQL Anti-pattern at Phpcon Hokkaido
Introduction of SQL Anti-pattern at Phpcon HokkaidoIntroduction of SQL Anti-pattern at Phpcon Hokkaido
Introduction of SQL Anti-pattern at Phpcon Hokkaido
 
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
 
毎日gemをアップグレードする生活
毎日gemをアップグレードする生活毎日gemをアップグレードする生活
毎日gemをアップグレードする生活
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 

Similar to Api meetup LT

RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open APIKohei Saito
 
Tokyowebmining5 yokkuns
Tokyowebmining5 yokkunsTokyowebmining5 yokkuns
Tokyowebmining5 yokkunsYohei Sato
 
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24akahira
 
Code4 Libカーリルの技術と図書館Apiの使い方
Code4 Libカーリルの技術と図書館Apiの使い方Code4 Libカーリルの技術と図書館Apiの使い方
Code4 Libカーリルの技術と図書館Apiの使い方Isshu Rakusai
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014Yuuki Takezawa
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門Asami Abe
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうToru Kawamura
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
Web API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろいWeb API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろいAPI Meetup
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺Yusuke Wada
 
API スタブをえらんでみた
API スタブをえらんでみたAPI スタブをえらんでみた
API スタブをえらんでみたdaylilyfield
 
静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptxgenroku
 
JavaからScalaへ
JavaからScalaへJavaからScalaへ
JavaからScalaへtakezoe
 
Code4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいことCode4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいことMasao Takaku
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupToshiaki Maki
 
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015takezoe
 
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理Tomoya Hayakawa
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うSatoshi Yoshikawa
 
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうにはTakanori Hayashi
 

Similar to Api meetup LT (20)

RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
 
Tokyowebmining5 yokkuns
Tokyowebmining5 yokkunsTokyowebmining5 yokkuns
Tokyowebmining5 yokkuns
 
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
 
Code4 Libカーリルの技術と図書館Apiの使い方
Code4 Libカーリルの技術と図書館Apiの使い方Code4 Libカーリルの技術と図書館Apiの使い方
Code4 Libカーリルの技術と図書館Apiの使い方
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014
 
RESTful API 入門
RESTful API 入門RESTful API 入門
RESTful API 入門
 
2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門2015/11/15 Javaでwebアプリケーション入門
2015/11/15 Javaでwebアプリケーション入門
 
RESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼうRESTful #とは RailsスタイルからRESTを学ぼう
RESTful #とは RailsスタイルからRESTを学ぼう
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
Web API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろいWeb API: The Good Parts 落穂ひろい
Web API: The Good Parts 落穂ひろい
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
API スタブをえらんでみた
API スタブをえらんでみたAPI スタブをえらんでみた
API スタブをえらんでみた
 
静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx
 
JavaからScalaへ
JavaからScalaへJavaからScalaへ
JavaからScalaへ
 
Code4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいことCode4Lib JAPANキャンプ2011でやりたいこと
Code4Lib JAPANキャンプ2011でやりたいこと
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
 
Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015Excel方眼紙を支えるJava技術 2015
Excel方眼紙を支えるJava技術 2015
 
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
 
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには
 

More from Daisuke Kasuya

Overview of Scala ~ Hacker Tackle
Overview of Scala ~ Hacker TackleOverview of Scala ~ Hacker Tackle
Overview of Scala ~ Hacker TackleDaisuke Kasuya
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015Daisuke Kasuya
 
中国地方Db勉強会
中国地方Db勉強会中国地方Db勉強会
中国地方Db勉強会Daisuke Kasuya
 
トイレに閉じ込められた心情をMackerelで可視化してみる
トイレに閉じ込められた心情をMackerelで可視化してみるトイレに閉じ込められた心情をMackerelで可視化してみる
トイレに閉じ込められた心情をMackerelで可視化してみるDaisuke Kasuya
 
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西Daisuke Kasuya
 
DevLOVE甲子園 西日本
DevLOVE甲子園 西日本DevLOVE甲子園 西日本
DevLOVE甲子園 西日本Daisuke Kasuya
 
Scala関西ビギナーズ
Scala関西ビギナーズScala関西ビギナーズ
Scala関西ビギナーズDaisuke Kasuya
 
RxTStudy- git gitにされた俺の屍を越えて行け -
RxTStudy- git gitにされた俺の屍を越えて行け -RxTStudy- git gitにされた俺の屍を越えて行け -
RxTStudy- git gitにされた俺の屍を越えて行け -Daisuke Kasuya
 
デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013Daisuke Kasuya
 
Dev love関西 forslideshare
Dev love関西 forslideshareDev love関西 forslideshare
Dev love関西 forslideshareDaisuke Kasuya
 
git gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけgit gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけDaisuke Kasuya
 
鹿駆動勉強会ポスター2
鹿駆動勉強会ポスター2鹿駆動勉強会ポスター2
鹿駆動勉強会ポスター2Daisuke Kasuya
 
鹿駆動勉強会ポスター
鹿駆動勉強会ポスター鹿駆動勉強会ポスター
鹿駆動勉強会ポスターDaisuke Kasuya
 

More from Daisuke Kasuya (20)

Devlove mackerel
Devlove mackerelDevlove mackerel
Devlove mackerel
 
Overview of Scala ~ Hacker Tackle
Overview of Scala ~ Hacker TackleOverview of Scala ~ Hacker Tackle
Overview of Scala ~ Hacker Tackle
 
PHPカンファレンス2015
PHPカンファレンス2015PHPカンファレンス2015
PHPカンファレンス2015
 
中国地方Db勉強会
中国地方Db勉強会中国地方Db勉強会
中国地方Db勉強会
 
トイレに閉じ込められた心情をMackerelで可視化してみる
トイレに閉じ込められた心情をMackerelで可視化してみるトイレに閉じ込められた心情をMackerelで可視化してみる
トイレに閉じ込められた心情をMackerelで可視化してみる
 
システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西システムをダイナミックに運用する from DevLove関西
システムをダイナミックに運用する from DevLove関西
 
ScalaMatsuri 2014 LT
ScalaMatsuri 2014 LTScalaMatsuri 2014 LT
ScalaMatsuri 2014 LT
 
DevLOVE甲子園 西日本
DevLOVE甲子園 西日本DevLOVE甲子園 西日本
DevLOVE甲子園 西日本
 
Scala関西ビギナーズ
Scala関西ビギナーズScala関西ビギナーズ
Scala関西ビギナーズ
 
RxTStudy- git gitにされた俺の屍を越えて行け -
RxTStudy- git gitにされた俺の屍を越えて行け -RxTStudy- git gitにされた俺の屍を越えて行け -
RxTStudy- git gitにされた俺の屍を越えて行け -
 
こわくないScala
こわくないScalaこわくないScala
こわくないScala
 
デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013デブサミ関西 自分戦略 2013
デブサミ関西 自分戦略 2013
 
Scala conf2013
Scala conf2013 Scala conf2013
Scala conf2013
 
ペアプロ
ペアプロペアプロ
ペアプロ
 
Dev love関西 forslideshare
Dev love関西 forslideshareDev love関西 forslideshare
Dev love関西 forslideshare
 
git gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけgit gitにされたオレの屍を超えていけ
git gitにされたオレの屍を超えていけ
 
Play勉強会 第3回
Play勉強会 第3回Play勉強会 第3回
Play勉強会 第3回
 
Techreaders3
Techreaders3Techreaders3
Techreaders3
 
鹿駆動勉強会ポスター2
鹿駆動勉強会ポスター2鹿駆動勉強会ポスター2
鹿駆動勉強会ポスター2
 
鹿駆動勉強会ポスター
鹿駆動勉強会ポスター鹿駆動勉強会ポスター
鹿駆動勉強会ポスター
 

Api meetup LT