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
Evernoteを作る
Search
ninjinkun
September 30, 2012
Technology
1
2k
Evernoteを作る
YAPC Asia 2012 LTThon
ninjinkun
September 30, 2012
Tweet
Share
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
100
Designer's and Engineer's Thinking Styles
ninjinkun
0
220
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
560
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
10k
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
61
19k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.2k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
670
Other Decks in Technology
See All in Technology
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
200
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
0
180
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
170
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
3
510
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.3k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
570
フィンテック養成勉強会#56
finengine
0
130
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
150
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
150
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
170
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
370
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
4 Signs Your Business is Dying
shpigford
184
22k
Done Done
chrislema
185
16k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
For a Future-Friendly Web
brad_frost
180
9.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
EvernoteΛ࡞Δ ninjinkun
ninjinkun • ͯͳ εϚʔτϑΥϯΤΩεύʔτ • Objecitve-C, Java • Perl࠷ۙͪΐͬͱ…
σʔλΛಉظ͍ͨ͠ • ੈϚϧνσόΠε࣌ • σόΠε͕ϩʔΧϧDBΛ࣋ͭ • σόΠεؒͰDBΛಉظ͍ͨ͠ • ϒϩάͷԼॻ͖ͱ͔ಉظ͍ͨ͠
iCloudͷ͜Ε͡Όͳ͍ײ σʔλΛಉظ͍ͨ͠ • αʔόʔAppleͷఏڙͷΈ • Ϋϥυғ͍ࠐΈઓུ • Զͨͪͷཉ͍͠ͷ͜Ε͡Όͳ͍Μͩʂʂ
EvernoteΈ͍ͨͳͷ࡞Γ͍ͨ σʔλΛಉظ͍ͨ͠ • ͳΜ͔େมͦ͏ͩͳ… • υΩϡϝϯτ͋ͬͨ • Evernote Synchronization via
EDAM Evernote Synchronization via EDAM v1.0.5 March 7, 2011
EDAM • Evernote Data Access and Management • σʔλͷ࣋ͪํͱಉظͷ༷ •
ͻͱͭͷதԝαʔϏεɺෳͷΫϥΠΞϯτ
EDAM • ϞόΠϧΫϥΠΞϯτͷࣄΛߟྀ • 3GճઢͳͲɺϋʔυͳڥఆ • ࣌ܭ͕৴༻Ͱ͖ͳ͍ • λΠϜελϯϓʹཔΒͳ͍
ϦϑΝϨϯε࣮తͳͷΛ࡞ͬͯΈ·ͨ͠ σϞ • Amon2::Liteͬͯ·͢! • https://github.com/ninjinkun/EDAMSync • αʔό • ΫϥΠΞϯτ
• iPhoneΞϓϦΫϥΠΞϯτ • ΤϯτϦͷআʹະରԠ
αʔόʔ EDAM • Update Sequence Number (USN) • ΤϯτϦʔ͝ͱʹ࣋ͭ •
ߋ৽͞ΕΔͱάϩʔόϧʹΠϯΫϦϝϯτ • create($entryA) # $entryA->usn => 250 • edit($entryA) # $entryA->usn => 251 • edit($entryB) # $entryB->usn => 252 • GUID • ΤϯτϦʔΛࣝผ͢ΔID
ΫϥΠΞϯτ EDAM • dirtyϑϥά • ΤϯτϦʔ͝ͱʹ࣋ͭ • Update Sequence Number
(USN) • ΤϯτϦʔ͝ͱʹ࣋ͭ • ΫϥΠΞϯτͰߋ৽͠ͳ͍ • GUID • ΤϯτϦʔΛࣝผ͢ΔID
͓ΘΓʹ • EDAMΛֶEvernote࡞ΕΔ • ΫϥΠΞϯταΠυͷίʔυ͕݁ߏଟ͍ • ͰAlter Table͍ͩͳ… • ࣌ܭ͕৴༻Ͱ͖ΔͳΒλΠϜελϯϕʔεͰͰ͖
Δ͔