SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
GarumとMeteoriteと私
3nd EDITION Ver0.04
オープンソースライブラリ研究会
About me
• Shinobu Okano(@operandoOS)
• Mercari, Inc.
• Android Framework Code Reading の勉強会運営
• Android最高!!(遠い目…
※いつもどおり
釣りタイトルです
なぜライブラリを作るのか??
なぜライブラリを作るのか??
• 既存の仕組みや作業がクソすぎる
• 当然楽したいから
• キレイ事言ってる場合じゃねぇぞ!!
ライブラリを作るときに大事にしてること
• ライブラリ名は提供する機能に準じない
• RailsのKaminari
• SwiftのAlamofire
• AndroidのDagger
• キラキラname最高!!(子につけるのは別...
ライブラリを作るときに大事にしてること
• Github上で公開してるならGithub Pagesを作る
ライブラリを作るときに大事にしてること
• Github上で公開してるならGithub Pagesを作る
ライブラリを作るときに大事にしてること
• Github上で公開してるならGithub Pagesを作る
全然アクセスない
Androidのライブラリ作成で気をつけたいこと
• ProGuard
• 導入のしやすさ(Mavenでいっぱつ導入)
• Bintray便利
• 導入方法とUsageを書く
• Licenseの表記
• Sample Code or Wiki
Androidのライブラリ作成で気をつけたいこと
• Javadoc
• NDK使うなら対応してるcpufeatures
• ARM,x86,MIPS
• UIライブラリなら動きのanimation gifとか貼ってあげよう
• 動きを確認できるアプリをGoogle Playに上げるケースもある
Androidのライブラリ作成で気をつけたいこと
• Androidはライブラリが標準API化されることがある
• DEPRECATEDって書いてあげよう
Garum
Garumってどんなライブラリ??
Annotation style
SharedPreferences
https://github.com/operando/Garum
Shared Preferences
The SharedPreferences class
provides a general framework
that allows you to save and
retrieve persistent key-value pairs
of primitive data types.
Shared Preferences
SharedPreferences pref =
getSharedPreferences("FilaName", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("key", value);
editor.putInt("key int", valueInt);
editor.commit();
Shared Preferences
• たったこれだけなのにアンチパターンが多すぎる
• 使い方が複雑すぎる
SharedPreferences Anti Pattern
• getSharedPreferencesが色んなところに書いてある
• 何でもかんでも一つのPreferenceに保存する
• セキュアじゃないMODE使ってる
• Key名がベタ書き→定数化してない
• グローバルな変数格納用に使用される
• などなど・・・
Garumはどのようにして生まれたのか?
• Android 開発アンチパターン勉強会 #1でLTすることになった
• http://connpass.com/event/10028/
• http://www.slideshare.net/shinobuokano7/shared-
preferences-anti-pattern
• Androidのアンチパターンなんて腐るほどあるわ
• Shared Preferencesへのイライラが限界だった...
Garum - Initialize
Garum.initialize(getApplicationContext(), true);
Garum - Model
@Pref(name = "app_status")
public class AppStatus extends PrefModel {
@PrefKey
public String appName;
@PrefKey
public int startupCount;
@PrefKey
public boolean showNotification;
}
Garum - Save
AppStatus appStatus = new AppStatus();
appStatus.appName = "Garum";
appStatus.startupCount = ++appStatus.startupCount;
appStatus.showNotification = true;
appStatus.save();
Garumの思想
• よりオブジェクトを意識した設計に
• 直感的な操作
Meteorite
Meteoriteってどんなライブラリ??
This library provides the
ability to upload a screenshot
of your app to Slack.
Meteoriteはどのようにして生まれたのか?
• Roppongi.aar #2とpotatotips #23で発表することになった
• アプリのデザイン崩れとかのフィードバック方法に悩みを感じてた
• 隕石という名のスクリーンショットをSlackに落下させる話
• http://www.slideshare.net/shinobuokano7/slack-55455661
• Upload a screenshot to Slack
• http://www.slideshare.net/shinobuokano7/upload-a-
screenshot-to-slack
スクリーンショットどうしてたか
QA
Engineer
スクリーンショットどうしてたか
QA < 画面崩れてまーす
Engineer
スクリーンショットどうしてたか
QA < 画面崩れてまーす
Engineerスクリーンショット

REDMINEに貼ってくださーい>
QA
何かしらの方法でスクリーンショットを取って貼る
スクリーンショットどうしてたか
Engineer
QA
何かしらの方法でスクリーンショットを取って貼る
< 貼りましたー
スクリーンショットどうしてたか
Engineer
QA
何かしらの方法でスクリーンショットを取って貼る
< 貼りましたー
Engineer


見まーす
ありがとうございます!>
スクリーンショットどうしてたか
クソすぎる
• スクリーンショット撮りたい画面でNotificationを
タップをタップして、必要な情報入れてSlackに
Postする
• https://github.com/operando/Meteorite
Meteorite
Demo
Meteoriteの思想
• より素早いフィードバックと簡単な操作感
• 自分たちが好きなツールを限界まで使い倒す
• 1Post1URLが発行されるのでチケットにそれはる
• オープンなフィードバックとエビデンス
• 誰かの仕事を楽にしたいという気持ち
私
私ってどんなライブラリ??
• PDD(Presentation Driven Development)で

ライブラリを作ってきた
• 誰かの仕事を楽にしたいという気持ちがとても強い
• ユーザ目線を重視したものづくり
• 誰かが感じている不便さや疑問をそのままにしない
ライブラリ作りはProduct作りと同じ
• 自分の哲学をのせる
• 使う人のことを考えて設計する
• ライブラリ一つ管理できねーやつが

いいProduct作れるとは思えない(なんかごめん…
もらったissue達…
管理できてねー
Thanks!!

Weitere ähnliche Inhalte

Was ist angesagt?

re:Inventでいきたい5つのブルワリー
re:Inventでいきたい5つのブルワリーre:Inventでいきたい5つのブルワリー
re:Inventでいきたい5つのブルワリーmist_dev
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Kanako Kobayashi
 
サービス開発者の読書会 #1「アジャイルサムライ」2012.4
サービス開発者の読書会 #1「アジャイルサムライ」2012.4サービス開発者の読書会 #1「アジャイルサムライ」2012.4
サービス開発者の読書会 #1「アジャイルサムライ」2012.4Hiroshi Tsukamoto
 
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話Masayuki Morita
 
ぼくのかんがえる、さいきょうのすからろぼっと()
ぼくのかんがえる、さいきょうのすからろぼっと()ぼくのかんがえる、さいきょうのすからろぼっと()
ぼくのかんがえる、さいきょうのすからろぼっと()Hirokazu Onomichi
 
(BizRobo!)対業務改善用大型変形合体ロボット開発計画
(BizRobo!)対業務改善用大型変形合体ロボット開発計画(BizRobo!)対業務改善用大型変形合体ロボット開発計画
(BizRobo!)対業務改善用大型変形合体ロボット開発計画ssuser040811
 
Happy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsHappy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsKoichiro Ohba
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
アジャイルサムライ 5章「具現化させる」
アジャイルサムライ 5章「具現化させる」アジャイルサムライ 5章「具現化させる」
アジャイルサムライ 5章「具現化させる」makopi 23
 
Dark vol4 for_slideshare
Dark vol4 for_slideshareDark vol4 for_slideshare
Dark vol4 for_slideshareara_ta3
 

Was ist angesagt? (12)

re:Inventでいきたい5つのブルワリー
re:Inventでいきたい5つのブルワリーre:Inventでいきたい5つのブルワリー
re:Inventでいきたい5つのブルワリー
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
 
サービス開発者の読書会 #1「アジャイルサムライ」2012.4
サービス開発者の読書会 #1「アジャイルサムライ」2012.4サービス開発者の読書会 #1「アジャイルサムライ」2012.4
サービス開発者の読書会 #1「アジャイルサムライ」2012.4
 
20120418 アジャイルサムライ読書会 第1回
20120418 アジャイルサムライ読書会 第1回20120418 アジャイルサムライ読書会 第1回
20120418 アジャイルサムライ読書会 第1回
 
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話Railsバージョンアップを段階的に行うためにRails3/4並行稼動させる仕組みを作ってる話
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
 
ぼくのかんがえる、さいきょうのすからろぼっと()
ぼくのかんがえる、さいきょうのすからろぼっと()ぼくのかんがえる、さいきょうのすからろぼっと()
ぼくのかんがえる、さいきょうのすからろぼっと()
 
(BizRobo!)対業務改善用大型変形合体ロボット開発計画
(BizRobo!)対業務改善用大型変形合体ロボット開発計画(BizRobo!)対業務改善用大型変形合体ロボット開発計画
(BizRobo!)対業務改善用大型変形合体ロボット開発計画
 
Happy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on RailsHappy Life Hacking Ruby on Rails
Happy Life Hacking Ruby on Rails
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
アジャイルサムライ 5章「具現化させる」
アジャイルサムライ 5章「具現化させる」アジャイルサムライ 5章「具現化させる」
アジャイルサムライ 5章「具現化させる」
 
Dark vol4 for_slideshare
Dark vol4 for_slideshareDark vol4 for_slideshare
Dark vol4 for_slideshare
 
Api meetup LT
Api meetup LTApi meetup LT
Api meetup LT
 

Andere mochten auch

About SnapKit - Open source lab -
About SnapKit - Open source lab -About SnapKit - Open source lab -
About SnapKit - Open source lab -Daisuke Yamashita
 
SORACOM Update 20151211_SORACOM UG#0
SORACOM Update 20151211_SORACOM UG#0 SORACOM Update 20151211_SORACOM UG#0
SORACOM Update 20151211_SORACOM UG#0 SORACOM,INC
 
Android6.0で変わったアプリのアクセス権について
Android6.0で変わったアプリのアクセス権についてAndroid6.0で変わったアプリのアクセス権について
Android6.0で変わったアプリのアクセス権についてまえすとろ
 
Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処まえすとろ
 
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)Takahiro Yoshimura
 
JRebel for Android 1.0 を試食してみた
JRebel for Android 1.0 を試食してみたJRebel for Android 1.0 を試食してみた
JRebel for Android 1.0 を試食してみたkimukou_26 Kimukou
 
これからの「パーミッション」の話をしよう
これからの「パーミッション」の話をしようこれからの「パーミッション」の話をしよう
これからの「パーミッション」の話をしようak_shio_555
 
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんRetrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんYukari Sakurai
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOSl_b__
 
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)Kazuki Yoshida
 
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 Masataka Kono
 
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみようライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみようMasataka Kono
 
Soracom & myThingsを使ったハンズオンセミナーをやってみた
Soracom & myThingsを使ったハンズオンセミナーをやってみたSoracom & myThingsを使ったハンズオンセミナーをやってみた
Soracom & myThingsを使ったハンズオンセミナーをやってみたKenichi Yoshida
 

Andere mochten auch (16)

About SnapKit - Open source lab -
About SnapKit - Open source lab -About SnapKit - Open source lab -
About SnapKit - Open source lab -
 
仕事場改善
仕事場改善 仕事場改善
仕事場改善
 
SORACOM Update 20151211_SORACOM UG#0
SORACOM Update 20151211_SORACOM UG#0 SORACOM Update 20151211_SORACOM UG#0
SORACOM Update 20151211_SORACOM UG#0
 
Android6.0で変わったアプリのアクセス権について
Android6.0で変わったアプリのアクセス権についてAndroid6.0で変わったアプリのアクセス権について
Android6.0で変わったアプリのアクセス権について
 
Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処Githubでアカウントを晒した事故に対する対処
Githubでアカウントを晒した事故に対する対処
 
10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)10 (about make 10 with 4 numbers challenge)
10 (about make 10 with 4 numbers challenge)
 
JRebel for Android 1.0 を試食してみた
JRebel for Android 1.0 を試食してみたJRebel for Android 1.0 を試食してみた
JRebel for Android 1.0 を試食してみた
 
これからの「パーミッション」の話をしよう
これからの「パーミッション」の話をしようこれからの「パーミッション」の話をしよう
これからの「パーミッション」の話をしよう
 
20150319 testotipsio
20150319 testotipsio20150319 testotipsio
20150319 testotipsio
 
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃんRetrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
 
AndroidLint #DroidKaigi
AndroidLint #DroidKaigiAndroidLint #DroidKaigi
AndroidLint #DroidKaigi
 
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)明日から使えるRxjava頻出パターン (Droid kaigi 2016)
明日から使えるRxjava頻出パターン (Droid kaigi 2016)
 
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
 
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみようライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
 
Soracom & myThingsを使ったハンズオンセミナーをやってみた
Soracom & myThingsを使ったハンズオンセミナーをやってみたSoracom & myThingsを使ったハンズオンセミナーをやってみた
Soracom & myThingsを使ったハンズオンセミナーをやってみた
 

Ähnlich wie GarumとMeteoriteと私 3nd Edition ver0.04

Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみようSwiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみようKanako Kobayashi
 
Androidでライブラリを作る
Androidでライブラリを作るAndroidでライブラリを作る
Androidでライブラリを作るShigeki Yamato
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)泰 増田
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~Developers Summit
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料慎平 仁藤
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発takuma mori
 
Kotlin が公式サポートになったので Kotlin の話
Kotlin が公式サポートになったので Kotlin の話Kotlin が公式サポートになったので Kotlin の話
Kotlin が公式サポートになったので Kotlin の話健一 辰濱
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのかKatsunori Kanda
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014Yuuki Takezawa
 
新・ReVIEWパーサについて
新・ReVIEWパーサについて新・ReVIEWパーサについて
新・ReVIEWパーサについてmasayoshi takahashi
 
Skinny Framework で始めた Scala
Skinny Framework で始めた ScalaSkinny Framework で始めた Scala
Skinny Framework で始めた ScalaRyuji Yamashita
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in OkazakiEtsushi Ishii
 
静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptxgenroku
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話ota42y
 

Ähnlich wie GarumとMeteoriteと私 3nd Edition ver0.04 (20)

Swiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみようSwiftで外部ライブラリを使ってみよう
Swiftで外部ライブラリを使ってみよう
 
Androidでライブラリを作る
Androidでライブラリを作るAndroidでライブラリを作る
Androidでライブラリを作る
 
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
Hiroshima.rb on github
Hiroshima.rb on githubHiroshima.rb on github
Hiroshima.rb on github
 
Kotlin が公式サポートになったので Kotlin の話
Kotlin が公式サポートになったので Kotlin の話Kotlin が公式サポートになったので Kotlin の話
Kotlin が公式サポートになったので Kotlin の話
 
20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか20150207 何故scalaを選んだのか
20150207 何故scalaを選んだのか
 
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014PHP フィールドインジェクションに挑戦する PHP勉強会2014
PHP フィールドインジェクションに挑戦する PHP勉強会2014
 
aozorahack hackathon #1
aozorahack hackathon #1aozorahack hackathon #1
aozorahack hackathon #1
 
TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方TdX#01 RubyKaigiの作り方
TdX#01 RubyKaigiの作り方
 
新・ReVIEWパーサについて
新・ReVIEWパーサについて新・ReVIEWパーサについて
新・ReVIEWパーサについて
 
Skinny Framework で始めた Scala
Skinny Framework で始めた ScalaSkinny Framework で始めた Scala
Skinny Framework で始めた Scala
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
 
とりあえず使えるSBT
とりあえず使えるSBTとりあえず使えるSBT
とりあえず使えるSBT
 
静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx静的サイトで書誌1万件チャレンジ.pptx
静的サイトで書誌1万件チャレンジ.pptx
 
なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話なぜか技術書典5で 3サークルの運営を同時にやった話
なぜか技術書典5で 3サークルの運営を同時にやった話
 

Mehr von Shinobu Okano

OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!Shinobu Okano
 
Kotlinでマッチョする話
Kotlinでマッチョする話Kotlinでマッチョする話
Kotlinでマッチョする話Shinobu Okano
 
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Shinobu Okano
 
まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4Shinobu Okano
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Shinobu Okano
 
Gradle PluginとCIと俺
Gradle PluginとCIと俺Gradle PluginとCIと俺
Gradle PluginとCIと俺Shinobu Okano
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3Shinobu Okano
 
Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Shinobu Okano
 
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/Shinobu Okano
 
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!Shinobu Okano
 
ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来Shinobu Okano
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools KnowledgeShinobu Okano
 
ChromeとAndroidの 過去・現在・未来 ver 0.1
ChromeとAndroidの 過去・現在・未来  ver 0.1ChromeとAndroidの 過去・現在・未来  ver 0.1
ChromeとAndroidの 過去・現在・未来 ver 0.1Shinobu Okano
 
5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術Shinobu Okano
 

Mehr von Shinobu Okano (20)

OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
OnActivityResult - おまえら!もうonActivityResultでswitchとif書く時代は終わりだぞ!
 
Kotlinでマッチョする話
Kotlinでマッチョする話Kotlinでマッチョする話
Kotlinでマッチョする話
 
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2
 
まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4まったりAndroid Framework Code Reading #4
まったりAndroid Framework Code Reading #4
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
 
shinobu.apk #3
shinobu.apk #3shinobu.apk #3
shinobu.apk #3
 
Android + JSON-RPC
Android + JSON-RPCAndroid + JSON-RPC
Android + JSON-RPC
 
Inside Android N
Inside Android NInside Android N
Inside Android N
 
Gradle PluginとCIと俺
Gradle PluginとCIと俺Gradle PluginとCIと俺
Gradle PluginとCIと俺
 
shinobu.apk #2
shinobu.apk #2shinobu.apk #2
shinobu.apk #2
 
まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3まったりAndroid Framework Code Reading #3
まったりAndroid Framework Code Reading #3
 
Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1Android Framework Code Readingのしおり ver 1.1
Android Framework Code Readingのしおり ver 1.1
 
Kotlinにお触り
Kotlinにお触りKotlinにお触り
Kotlinにお触り
 
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
 
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
 
ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来ChromeとAndroidの過去・現在・未来
ChromeとAndroidの過去・現在・未来
 
Android Dev Tools Knowledge
Android Dev Tools KnowledgeAndroid Dev Tools Knowledge
Android Dev Tools Knowledge
 
shinobu.apk #1
shinobu.apk #1shinobu.apk #1
shinobu.apk #1
 
ChromeとAndroidの 過去・現在・未来 ver 0.1
ChromeとAndroidの 過去・現在・未来  ver 0.1ChromeとAndroidの 過去・現在・未来  ver 0.1
ChromeとAndroidの 過去・現在・未来 ver 0.1
 
5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術5分で資料作ってSlideShareにアップロードする錬金術
5分で資料作ってSlideShareにアップロードする錬金術
 

GarumとMeteoriteと私 3nd Edition ver0.04