Slide 1

Slide 1 text

Swift ఔࣜখ೤਎ NSUUID John Lin

Slide 2

Slide 2 text

ॄኄੋ UUID • ௨༻།Ұࣝผᛰ(Universally Unique Identifier) • 550e8400-e29b-41d4-a716-446655440000 • 32 ݸ16 ਐҐᏐ= 16byte = 128 bit૊੒ɼ༗ 3.4 * 10 ^ 38 छ૊߹

Slide 3

Slide 3 text

UUID ֨ࣜ • xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx • ࣈᏐత֨ࣜੋ 8-4-4-4-12 • ଖதၷݸ஍ํੋ༻ိදࣔ൛ຊతɻ

Slide 4

Slide 4 text

UUID ൛ຊ • ໨લ༗ޒݸ൛ຊɼၷछᏓᱪɻ • ࠷ৗ༻తੋ 1 ࿨ 4

Slide 5

Slide 5 text

UUID1 • timestamp (60 bit) + clock_seq(14bit) + version(6bit) + MAC address(48bit) = 128bit • ࣌ؒੋኺ 1582/10/15T00:00 ։࢝ࢉʢެ㑕։࢝೔)ɼ 㑌100 ns ࢉҰݸᄸҐ

Slide 6

Slide 6 text

UUID 䉰಍ • timestamp (60 bit) + clock_seq(14bit) + version(6bit) + MAC address(48bit) = 128bit • ࡏಉҰ୆ػث্ɼ100 ಸඵ㚎ᬋػతൣᅴ୞༗ 14 bit ༗త࣌ީ။㗞ੜҰᒬతUUIDɼ᜝ҝ䉰಍

Slide 7

Slide 7 text

ੜ೔ዬ࿦ • Ұݸ൝্༗ࡾेݸਓɼ༗ࢸগၷݸਓಉҰఱੜ೔తػ ཰ੋଟগ䏆ʁ • (1/365)^30 ?

Slide 8

Slide 8 text

ੜ೔ዬ࿦ • Ұݸ൝্༗ࡾेݸਓɼ༗ࢸগၷݸਓಉҰఱੜ೔తػ ཰ੋଟগ䏆ʁ • ਖ਼֬తࢉ๏ੋ༻ 1 ݮᎃ׬શᔒ༗ॏෳతػ཰ɻ໵ब ੋ • ࡏ 30 ݸਓత৘گԼେ໿ੋ 70 %

Slide 9

Slide 9 text

UUID1 䉰಍ • timestamp (60 bit) + clock_seq(14bit) + version(6bit) + MAC address(48bit) = 128bit • ࡏಉҰ୆ػث্ɼ100 ಸඵ㚎ᬋػతൣᅴ୞༗ 14 bit ༗త࣌ީ။㗞ੜҰᒬతUUIDɼ᜝ҝ䉰಍ • ౟༻ੜ೔ዬ࿦ɼ100 ಸඵ㚎㗞ੜ 18 ݸ UUID ब༗ 1 % తػ཰။䉰಍ɼෆଠద߹շ଎࢖༻

Slide 10

Slide 10 text

UUID4 • Swift 㚎ݐత NSUUID & UUID ୞༗ UUID4 • random (122 bit) + version (6bit) = 128 bit • 䉰಍తػ཰খ኷ଟ • 㗞ੜ 103 ஹݸ UUID4 ။༗ 10ԯ෼೭Ұతػ཰။䉰 ಍

Slide 11

Slide 11 text

NSUUID

Slide 12

Slide 12 text

UUID • ޭೳ࿨ NSUUID Ұᒬɼෆաੋ Struct ൛తɻ • ݐٞ༻Ṝݸൺֱ҆શɻ

Slide 13

Slide 13 text

݁࿦ • UUID 4 䉰಍తػ཰ᕝ௿త • ༗धཁᘐಛ ID త࣌ީब༻㠧ɼൺࣗݾrandom ؆ ᄸɻ

Slide 14

Slide 14 text

Q&A

Slide 15

Slide 15 text

፮ᐔػ • http://slot.miario.com/machines/150067