SlideShare a Scribd company logo
1 of 40
Download to read offline
僕らのデータ同期プラクティス
Nkzn@ウォーターセル株式会社
2015.4.25 DroidKaigi
裏おもしろそう・・・・・!!!
こっち来てくれた皆さんありがとうございます
@Nkzn (なかざん)
• 中川 幸哉 (28)
• WaterCell Inc. @ Niigata
• UIデザイナーとアーキテクトの狭間をうろう
ろしている
• 日本Androidの会 新潟支部(活動停止中)
私とAndroid
• 2009年:卒業研究でAndroid(HT-03A)
• 2010年:日本Androidの会 新潟支部立ち上げ
• 2011年:現職にJOINして農業者向けアプリ作り
• 2013年:Eclipseと決別してAndroid Studioを導入
感想文書いたら
結構話題になってビビった
Where is your user?
Where is your user?
自社アプリをオフライン化
∼試される大地∼
弊社サービスについて
• アグリノート

http://www.agri-note.jp
• 農業生産者向けの農作業管理システム
• Webブラウザ版、Androidアプリで提供

iOS版は開発準備中
• 農業版Redmineに近づいてる
水稲/コシヒカリ ほ場:A-2
作業予定・記録
日付
作業項目
作業者・作業時間
農薬名・使用量
肥料名・使用量
機械
写真
メモ
マスタデータと
トランザクションデータ
ファーストバージョン
2012年3月リリース。
画面開いた時にフェッチしてくるやーつ。
=電波がないところでは動かない
30km
(電波が)
試される大地
気合で同期機能を実装する
AlarmManager + IntentService ???
同期処理に必要なもの
• 定期的に、または何らかのキックにより
• バックグラウンドで通信を行い
• アプリ内のDBを更新する
2013年スタイル
AlarmManager
IntentService
頑張ってデータを
ダウンロードしてきて
INSERTする処理
Intent
定期的に実行
れ出るつらみ
• AlarmManagerがときどき消える
• IntentServiceが連続で走って止まらない
• マルチスレッドでDB叩く状態に突入
• synchronized祭り
• ネットワーク有無の検知のために割と頻繁に起動
Androidが提供するデータ同期機能
AccountAuthenticator + SyncAdapter + ContentProvider
AndroidManifest.xml
SyncService xml/authenticator.xml
<service>
xml/sync_adapter.xml
<service><provider>
authorities ContentProvider
SyncAdapter
contentAuthority
accountType
accountType
onPerformSync()
同期処理を実装
SyncAdapter利用の最小構成 クラス
ファイル
パラメータ
凡例:
AuthenticationService
AccountAuthenticator
本当に大事なのは
onPerformSyncの中で何をするか
public class SyncAdapter extends AbstractThreadedSyncAdapter {
// ...
@Override
public void onPerformSync(Account account, Bundle extras,
String authority, ContentProviderClient provider,
SyncResult syncResult) {
/* Elegant Synchronization */
}
// ...
}
設計を分けれるの嬉しい
ContentProvider
SQLite
Data Access Object
UI付近のコード SyncAdapter
API Client
AccountAuthenticator
AccountManager
使ってる人が少ない気がする
ドキュメンテッドになったのが
割と最近?
2013年まで公式ドキュメントなかったっぽ
い・・・?(Web Archive調べ)
突然情報が出始めた
2009年 2010年 2011年 2012年 2013年 2014年
Android 2.0 Google I/Oで言及
50 Android Hacks
公式ドキュメントが公開?
50 Android Hacks日本語版
mixi-inc/AndroidTraining
弊社もこの頃から
触り始めた
同期アルゴリズムの検討
参考にした資料
• 50 Android Hacksのサンプルコード
• https://github.com/Macarse/50AH-code/
• Hack 23(Pythonサーバー付き)
• Evernote Synchronization via EDAM
• https://dev.evernote.com/intl/jp/doc/articles/
synchronization.php
• https://github.com/ninjinkun/EDAMSync/blob/master/EDAM-
Japanese.md (日本語訳)
採用した仕組み
• Full Sync, Incremental Sync
• StatusFlag("dirty" flag)
Full Sync, Incremental Sync
サーバー
クライアント
1 2 3
1 2 3
1 2 3
1 2
3
Full Sync Incremental Sync
差分を請求する
id data modified_at
1 hoge 10:00
2 fuga" 12:00
3 piyo" 15:00
4 hogehoge" 20:00
http://hoge/hoge?modified_after=13:00
last_fetched = 13:00
StatusFlag ("dirty" flag)
未同期のクライアント環境でデータに変更が
あったことを表すフラグ
4つのStatus
CLEAN サーバーから受け取ったままの状態
ADD
新規に作成された
(まだクライアント側にしかない)
MOD サーバーから受け取ったものに変更を施した
DELETE サーバーから受け取ったものを削除した
同期の流れ
同期の流れ
1. データのダウンロードを行う
• 初回はFull Sync, 2回目以降はIncremental Sync
2. サーバーで削除されていたデータをクライアントでも削除する
3. サーバーで更新されていたデータをクライアントでも更新する
4. クライアント側で作成(ADD)・更新(MOD)・削除(DELETE)されたデータ
をサーバへ送信する
5. 送信が済んだデータのStatusFlagをCLEANにする
6. last_fetchedを1の時刻に更新する
競合問題
> 2. サーバーで削除されていたデータをクライアントでも削除する
> 3. サーバーで更新されていたデータをクライアントでも更新する
同じデータの削除や更新がサーバーとクライアント両方で行われてい
た場合、競合する
対応策
• 常にサーバー側が勝つ
• 送信を諦める
• 常にクライアント側が勝つ
• サーバーからのデータを捨てる
• クライアント側でマージしてからサーバーへ送る
• なんとか全部生かす
Evernoteはこれ
アグリノートはこれ
同期パターンの確認
まとめ
• mixi-inc/AndroidTrainingでSyncAdapterを勉強して
• 50AHでSyncAdapterのサンプルを知って
• EDAMの理屈を参考にして同期の仕組みを考える
• 競合解決の方針はそのサービスのポリシー次第
最後に
ウォーターセル株式会社では、地球人口100億の時
代に見合う食料生産のための農業革命を一緒に引っ
張っていってくれるAndroid/iOSエンジニアを探し
ています。

More Related Content

What's hot

Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Takeshi Fukuhara
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Ayumu Inaba
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義Zenji Kanzaki
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせKuniteru Asami
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版貴志 上坂
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートオラクルエンジニア通信
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜aha_oretama
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころShinsuke Sugaya
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)についてYui Ito
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Keigo Suda
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例NaokiKashiwagura
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれDeNA
 
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術日本マイクロソフト株式会社
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみたKeijiUehata1
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)Tokoroten Nakayama
 
ユーザーストーリーの分割
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割Arata Fujimura
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCdisc99_
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04Makoto Nonaka
 

What's hot (20)

Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)について
 
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
Apache Kafka & Kafka Connectを に使ったデータ連携パターン(改めETLの実装)
 
テスト観点に関する取り組み事例
テスト観点に関する取り組み事例テスト観点に関する取り組み事例
テスト観点に関する取り組み事例
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術
【de:code 2020】 SaaS で迅速に IoT を実現 - Azure IoT Central 最新アップデートと活用術
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
 
ユーザーストーリーの分割
ユーザーストーリーの分割ユーザーストーリーの分割
ユーザーストーリーの分割
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
 

Similar to 僕らのデータ同期プラクティス

デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介Keiji Kamebuchi
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!Yuka Tokuyama
 
北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料Yuuki Kojima
 
Androidとインターネット連携
Androidとインターネット連携Androidとインターネット連携
Androidとインターネット連携高見 知英
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術vaccho
 
Android IoTとプログラミング教育
Android IoTとプログラミング教育Android IoTとプログラミング教育
Android IoTとプログラミング教育Kenichi Yoshida
 
Cloud9のはじめかた
Cloud9のはじめかたCloud9のはじめかた
Cloud9のはじめかたKoichiro Oki
 
Global Solution Unit
Global Solution UnitGlobal Solution Unit
Global Solution UnitJun Saito
 
ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用岡田 裕行
 
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程Takao Sumitomo
 
EDIX2015 デジタル教科書の未来と学校ICT
EDIX2015 デジタル教科書の未来と学校ICTEDIX2015 デジタル教科書の未来と学校ICT
EDIX2015 デジタル教科書の未来と学校ICTNaoki Kato
 
【Tokyowebmining】open compute project
【Tokyowebmining】open compute project 【Tokyowebmining】open compute project
【Tokyowebmining】open compute project Junichiro Tani
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部についてyohei iwakura
 
IoTで5days学生インターン
IoTで5days学生インターンIoTで5days学生インターン
IoTで5days学生インターンKazuya Fukumoto
 
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714知礼 八子
 
Microsoft Azure で スマホからIoTまで
Microsoft AzureでスマホからIoTまでMicrosoft AzureでスマホからIoTまで
Microsoft Azure で スマホからIoTまで Masaki Yamamoto
 
LoRa入門
LoRa入門LoRa入門
LoRa入門akyamajo
 
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetupAndroid Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetupYukiya Nakagawa
 

Similar to 僕らのデータ同期プラクティス (20)

デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介
 
垣根のないモノ作り!
垣根のないモノ作り!垣根のないモノ作り!
垣根のないモノ作り!
 
北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料北陸エンジニアず 自己紹介資料
北陸エンジニアず 自己紹介資料
 
Androidとインターネット連携
Androidとインターネット連携Androidとインターネット連携
Androidとインターネット連携
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
 
Android IoTとプログラミング教育
Android IoTとプログラミング教育Android IoTとプログラミング教育
Android IoTとプログラミング教育
 
Io t最初の一歩
Io t最初の一歩Io t最初の一歩
Io t最初の一歩
 
Cloud9のはじめかた
Cloud9のはじめかたCloud9のはじめかた
Cloud9のはじめかた
 
ネイティブ原理主義
ネイティブ原理主義ネイティブ原理主義
ネイティブ原理主義
 
Global Solution Unit
Global Solution UnitGlobal Solution Unit
Global Solution Unit
 
ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用ロボットアプリ開発におけるNode-REDの活用
ロボットアプリ開発におけるNode-REDの活用
 
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
 
EDIX2015 デジタル教科書の未来と学校ICT
EDIX2015 デジタル教科書の未来と学校ICTEDIX2015 デジタル教科書の未来と学校ICT
EDIX2015 デジタル教科書の未来と学校ICT
 
【Tokyowebmining】open compute project
【Tokyowebmining】open compute project 【Tokyowebmining】open compute project
【Tokyowebmining】open compute project
 
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
 
IoTで5days学生インターン
IoTで5days学生インターンIoTで5days学生インターン
IoTで5days学生インターン
 
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714
第1回八子クラウドナイト事前配布・趣旨説明資料です。 20170714
 
Microsoft Azure で スマホからIoTまで
Microsoft AzureでスマホからIoTまでMicrosoft AzureでスマホからIoTまで
Microsoft Azure で スマホからIoTまで
 
LoRa入門
LoRa入門LoRa入門
LoRa入門
 
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetupAndroid Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
 

More from Yukiya Nakagawa

Atomic Designは「マルチ」で真価を発揮する
Atomic Designは「マルチ」で真価を発揮するAtomic Designは「マルチ」で真価を発揮する
Atomic Designは「マルチ」で真価を発揮するYukiya Nakagawa
 
Androidの入門書を書いたときに気にしたこと #NDS57
Androidの入門書を書いたときに気にしたこと #NDS57Androidの入門書を書いたときに気にしたこと #NDS57
Androidの入門書を書いたときに気にしたこと #NDS57Yukiya Nakagawa
 
React Nativeの光と闇
React Nativeの光と闇React Nativeの光と闇
React Nativeの光と闇Yukiya Nakagawa
 
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJアグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJYukiya Nakagawa
 
React Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかReact Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかYukiya Nakagawa
 
CSS in JSの話 #friday13json
CSS in JSの話 #friday13jsonCSS in JSの話 #friday13json
CSS in JSの話 #friday13jsonYukiya Nakagawa
 
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みReact Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みYukiya Nakagawa
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiYukiya Nakagawa
 
Android再入門 〜Eclipseのことは忘れろ〜
Android再入門 〜Eclipseのことは忘れろ〜Android再入門 〜Eclipseのことは忘れろ〜
Android再入門 〜Eclipseのことは忘れろ〜Yukiya Nakagawa
 
もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4Yukiya Nakagawa
 
アグリノートを支える技術
アグリノートを支える技術アグリノートを支える技術
アグリノートを支える技術Yukiya Nakagawa
 
Coworking Business Forum in NIIGATA 2013
Coworking Business Forum in NIIGATA 2013Coworking Business Forum in NIIGATA 2013
Coworking Business Forum in NIIGATA 2013Yukiya Nakagawa
 
PechaKucha Niigata #3 2013.7.27
PechaKucha Niigata #3 2013.7.27PechaKucha Niigata #3 2013.7.27
PechaKucha Niigata #3 2013.7.27Yukiya Nakagawa
 
ぼくのかんがえたふつうのあんどろいどかいはつ
ぼくのかんがえたふつうのあんどろいどかいはつぼくのかんがえたふつうのあんどろいどかいはつ
ぼくのかんがえたふつうのあんどろいどかいはつYukiya Nakagawa
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリYukiya Nakagawa
 

More from Yukiya Nakagawa (20)

Atomic Designは「マルチ」で真価を発揮する
Atomic Designは「マルチ」で真価を発揮するAtomic Designは「マルチ」で真価を発揮する
Atomic Designは「マルチ」で真価を発揮する
 
Androidの入門書を書いたときに気にしたこと #NDS57
Androidの入門書を書いたときに気にしたこと #NDS57Androidの入門書を書いたときに気にしたこと #NDS57
Androidの入門書を書いたときに気にしたこと #NDS57
 
React Nativeの光と闇
React Nativeの光と闇React Nativeの光と闇
React Nativeの光と闇
 
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJアグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
アグリノートにおけるGIS情報を活かした圃場・作付管理の取り組み @ FOSS4GJ
 
React Native Androidはなぜ動くのか
React Native Androidはなぜ動くのかReact Native Androidはなぜ動くのか
React Native Androidはなぜ動くのか
 
CSS in JSの話 #friday13json
CSS in JSの話 #friday13jsonCSS in JSの話 #friday13json
CSS in JSの話 #friday13json
 
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組みReact Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
React Nativeアプリをリリースし続けるために、最初に行う8つの取り組み
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
 
AndroidLint #DroidKaigi
AndroidLint #DroidKaigiAndroidLint #DroidKaigi
AndroidLint #DroidKaigi
 
Android再入門 〜Eclipseのことは忘れろ〜
Android再入門 〜Eclipseのことは忘れろ〜Android再入門 〜Eclipseのことは忘れろ〜
Android再入門 〜Eclipseのことは忘れろ〜
 
もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4
 
アグリノートを支える技術
アグリノートを支える技術アグリノートを支える技術
アグリノートを支える技術
 
NDS36 Kotlin Cute
NDS36 Kotlin CuteNDS36 Kotlin Cute
NDS36 Kotlin Cute
 
NDS36 Java7&Java8
NDS36 Java7&Java8NDS36 Java7&Java8
NDS36 Java7&Java8
 
Coworking Business Forum in NIIGATA 2013
Coworking Business Forum in NIIGATA 2013Coworking Business Forum in NIIGATA 2013
Coworking Business Forum in NIIGATA 2013
 
Niigata.rb#03
Niigata.rb#03Niigata.rb#03
Niigata.rb#03
 
PechaKucha Niigata #3 2013.7.27
PechaKucha Niigata #3 2013.7.27PechaKucha Niigata #3 2013.7.27
PechaKucha Niigata #3 2013.7.27
 
ぼくのかんがえたふつうのあんどろいどかいはつ
ぼくのかんがえたふつうのあんどろいどかいはつぼくのかんがえたふつうのあんどろいどかいはつ
ぼくのかんがえたふつうのあんどろいどかいはつ
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
 
NFCLAB会津
NFCLAB会津NFCLAB会津
NFCLAB会津
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (12)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

僕らのデータ同期プラクティス