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
UUIDは衝突の夢を見るか
Search
Dorian
April 26, 2017
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UUIDは衝突の夢を見るか
Dorian
April 26, 2017
More Decks by Dorian
See All by Dorian
VMとAWS ECSがメインのインフラにKubernetesを導入した効能
doridoridoriand
1
3.6k
オープンSNSフレームワークについて
doridoridoriand
0
1.2k
Other Decks in Programming
See All in Programming
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
470
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
140
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
300
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
230
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
330
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
Foundation Models frameworkで画像分析
ryodeveloper
1
130
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
680
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
350
Featured
See All Featured
It's Worth the Effort
3n
188
29k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Mobile First: as difficult as doing things right
swwweet
225
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
360
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Product Roadmaps are Hard
iamctodd
55
12k
Documentation Writing (for coders)
carmenintech
77
5.4k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Transcript
66*% িಥͷເΛݟΔ͔ 4LJMM8FEOFTEBZ
͓·͑ͩΕ w ͍ͩ͠ w --ͱ͔Α͘ॻ͘Α w ࠷͍ۙΜ;ΒΛ͔͍ͬͯ͡·͢ w ͓ञΛࢁҿΊΔਓΛਅʹ୳͍ͯ͠·͢
66*% w ϢχʔΫͳจࣈྻΛಘΔ࣌ྑ͍ͬͯ͘Δͱࢥ͍ ·͢ ҎԼྫ GEEDBCBEDE w ͲΜͳʹੜͯ͠িಥ͠ͳ͍ͱ͔ɻɻ w
ͰຊͳΜͰ͔͢Ͷ
ͦͦ66*%ͱ w ࢄγεςϜ্Ͱͱ౷ແ͠ʹ࡞Ͱ͖Δࣝผࢠͱ ͯ͠ઃܭ͞Εͨ w όʔδϣϯେผͯͭ͠ଘࡏ w ༷3'$ͱͯ͠ެ։͞Ε͍ͯΔ IUUQTUPPMTJFUGPSHQEGSGDQEG
w ࠷ॳͷࣈͷ෦͕όʔδϣϯΛද͍ͯ͠Δ w ࠷ޙͷจࣈͷ෦όϦΞϯτͱݺΕΔ มछͷछྨΛද͍ͯ͠Δ w όʔδϣϯ/*$ͷ."$ΞυϨεΛ༻ͨ͠Γ w όʔδϣϯόʔδϣϯͷҰ෦Λ104*9ͷ6*%(*%Ͱஔ͖ ͑ͨͷ
w όʔδϣϯͱ.%4)"Ͱੜͨ͠ϋογϡΛ༻͍ͯ ͍Δͷͱͳ͍ͬͯΔ GEEDBCBEDE
GEEDBCBEDE w զʑ͕ීஈ༻͍͍ͯΔ66*%όʔδϣϯ w ͦΕʹՃ͑ͯόϦΞϯτͱݺΕΔจࣈྻ͕ՃΘΔ " # ͷ͍ͣΕ͔ʹͳΔ
w શͯཚʹΑΔੜ
GEEDBCBEDE w ্ه66*%ਐͰܻCJU ਐ w ͔͜͜Βόʔδϣϯ ͱόϦΞϯτ
ΛҾ ͘ͱɺCJUͷࣗ༝͕͋Δ w ?º?௨Γ͘͢͝ଟ͍
ຊʹিಥ͠ͳ͍ͷʁ w ҙ֎ͱඦສͱ͔ग़ྗ͢ Δͱ͙͢িಥ͢ΔͷͰʁ w ͍͘Β EFWVSBOEPNͱ͔छʹ ͬͯͯͶ͑ɻɻ
·͋ͬͯΈͬ w 66*%Λͻͨ͢Βੜͯ͠%#ʹ*/4&35 w ͕࣌ؒڐ͢ݶΓͣͬͱ
require 'securerandom' require 'mysql2' client = Mysql2::Client.new(:host => 'localhost', :username
=> 'root', :password => 'password', :database => 'uuid' ) while true do begin uuid = SecureRandom.uuid client.query("insert into uuid.ruby (`uuid`) values ('#{uuid}')") puts uuid rescue => e p e end end
ॏෳνΣοΫ w ੜ͞Εͨ66*%શ݅Λ͖࣋ͬͯͯɺ ཁૉΧϯτ w VOJRϝιουΛར༻ͯ͠ॏෳഉআ ཁૉΧϯτ w ཁૉʹҧ͍͕͋Εॏෳ͍ͯ͠Δͣ ͘͢͝ಥ؏ͳॏෳνΣοΫ
ॏෳνΣοΫ ͘͢͝ಥ؏ͳॏෳνΣοΫ puts 'িಥͨ͠Ͱ' if data.count != data.uniq.count
ॏෳνΣοΫ దʹ#PUʹͭͿ͔ͤͯ֬ೝͱ͔ͯ͠·ͨ͠
ൃੜ w ༻ҙ͍ͯͨ͠%#ͷ༰ྔΛ͑Δ w ૉʹσΟεΫ͕େ͖͍%#Λ࡞Ҡߦ
ൃੜ w ԯ͑ͨ͋ͨΓ͔ΒॏෳνΣοΫͰ͖ͳ͘ͳΔ ͓͍ 1$ͷϝϞϦʹΒͳ͍ w ஞ࣍%#͔ΒಡΈऔͬͯಉҰͷ66*%͕͋Δ͔%#ʹ ͍߹Θͤ͢Δํࣜʹมߋ
ൃੜ w ,74ʹ͢ΕΑ͔ͬͨײ w ฒྻॲཧग़དྷΔΑ͏ʹ͚ͨ͠ΕͲΓ͍ ༻ҙͨ͠%#αʔόʔ͕ශऑͩͬͨ
Ͱɺিಥͨ͠ͷʁ w ੜͨ͠66*%ԯສ w ԯϨίʔυௐͨײͩ͡ͱিಥ͠·ͤΜͰͨ͠
Ͱɺিಥͨ͠ͷʁ w ଟ͠ͳ͍ͱࢥ͏ w 66*%ͩͱিಥ͠ͳ͍ͷ͔͚ͩΕͲɺ୯७ͳIFYͱ͔ Ͳ͏ͳΜͩΖ͏
͓͠·͍