Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Identify All the Things With UUIDs! (Nomad PHP ...

Identify All the Things With UUIDs! (Nomad PHP May 2016)

Universally unique identifiers (UUIDs) are a fun and exciting way to identify things. We can issue UUIDs forever and never run out; they’re practically unique! Join this whirlwind adventure in search of the perfect identifier to find out why UUIDs might be good for your projects.

Ben Ramsey

May 19, 2016
Tweet

More Decks by Ben Ramsey

Other Decks in Programming

Transcript

  1. HI, I’M BEN. I’m a web craftsman, author, and speaker.

    I build a platform for professional photographers at ShootProof. I enjoy APIs, open source software, organizing user groups, good beer, and spending time with my family. Nashville, TN is my home. ▸Zend PHP Certification Study Guide ▸Nashville PHP & Atlanta PHP user groups ▸array_column() ▸ramsey/uuid ▸league/oauth2-client
  2. universally unique There are 1632 possible UUIDs “only after generating

    1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%” — Wikipedia, UUID
  3. for ($i = 0; $i < 5; $i++) { echo

    Uuid::uuid1()->toString(); echo "\n"; }
  4. for ($i = 0; $i < 5; $i++) { echo

    Uuid::uuid4()->toString(); echo "\n"; }
  5. $factory = new UuidFactory(); $generator = new CombGenerator( $factory->getRandomGenerator(), $factory->getNumberConverter()

    ); $codec = new TimestampFirstCombCodec( $factory->getUuidBuilder() ); $factory->setRandomGenerator($generator); $factory->setCodec($codec); Uuid::setFactory($factory); for ($i = 0; $i < 5; $i++) { echo Uuid::uuid4()->toString(); echo "\n"; }
  6. THANK YOU. ANY QUESTIONS? If you want to talk more,

    feel free to contact me. benramsey.com @ramsey github.com/ramsey [email protected] Identify All the Things With UUIDs Copyright © 2016 Ben Ramsey This work is licensed under Creative Commons Attribution- ShareAlike 4.0 International. For uses not covered under this license, please contact the author. Ramsey, Ben. “Identify All the Things With UUIDs.” Nomad PHP. Web conference. 19 May 2016. Conference presentation. This presentation was created using Keynote. The text is set in Chunk Five and Helvetica Neue. The source code is set in Menlo. The iconography is provided by Font Awesome. Unless otherwise noted, all photographs are used by permission under a Creative Commons license. Please refer to the Photo Credits slide for more information. bram.se/ramsey-uuid
  7. PHOTO CREDITS 1. “38-365 Fingerprint” by Bram Cymet 2. “Baby

    Feet” by Katelyn Kenderdine 3. “Security door” by reynermedia 4. “Hello My Name Is.... 221/365” by Robert Occhialini 5. “Random” by Vladimer Shioshvili 6. “Hello! My Name Is JEDi.” by Tyrone J Moore 7. “Curvy Road Ahead” by Kit Ng 1 2 3 4 5 6 7