Aktywne Wpisy
LatajacyOwad +4
W przypadku wojny, z przydział do jakiej roli byłby dla Ciebie najbardziej akceptowalny?
- Żołnierz wojsk powietrzno-desantowych 3.9% (33)
- Żołnierz piechoty 3.3% (28)
- Snajper 10.5% (89)
- Pilot drona bojowego 22.3% (189)
- Kierowca ciężarówki 4.5% (38)
- Kierowca transportera opancerzonego 0.9% (8)
- Człogista 2.4% (20)
- Kucharz 24.9% (211)
- Sanitariusz 4.4% (37)
- Logistyk 22.9% (194)
Mefedronka +309
Mirki, w końcu jestem singielką. Mogę robić co chcę.
Potrzebuję 500 plusów, żeby rozpocząć szalony projekt.
Każdemu plusującemu prześlę na pw zdjęcia.
Będzie to z jedną, no... może dwiema takimi marchewkami jak się uda.
Raczej na wykopie nikt tego nie robił, więc jakiś powiew świeżości doświadczycie.
Plusy zbieram do godz. 18:00. (。◕‿‿◕。)
Kto mnie zna, ten wie, że dotrzymuję słowa i wysyłam zdjęcia na prośbę
Potrzebuję 500 plusów, żeby rozpocząć szalony projekt.
Każdemu plusującemu prześlę na pw zdjęcia.
Będzie to z jedną, no... może dwiema takimi marchewkami jak się uda.
Raczej na wykopie nikt tego nie robił, więc jakiś powiew świeżości doświadczycie.
Plusy zbieram do godz. 18:00. (。◕‿‿◕。)
Kto mnie zna, ten wie, że dotrzymuję słowa i wysyłam zdjęcia na prośbę
Podoba mi się Twitter Snowflake(Scala, ale jest wiele implementacji, nawet w PHP): https://github.com/twitter/snowflake/tree/scala_28
Przykładowe ID: 532260564940881920
epoch = 1325376000000 // unsigned long, any timestamp before now, in milliseconds
timestamp = unixTimestamp - epoch // unsigned long, unixTimestamp - current timestamp in milliseconds
machineld = 0 // unsigned short, 0-1023
sequence = 0 // unsigned short, 0-4095, incremented for each timestamp => ID
id = (timestamp << 22)
...... | (machineId << 12)
...... | sequence
Mały przykład dla PHP-owców(działa na 32 bitach z bc_*): http://ideone.com/n8Aa77#li_n8Aa77
- prawdopodobieństwo kolizji bliskie zeru, a przy zastosowaniu oddzielnej usługi(tak jak to się powinno robić) która generuje ID prawdopodobieństwo wynosi 0%,
- wysoka wydajność(Twitter potrzebował 10,000 ID/sekundę i nawet nie wiem czy Scala podołała),
- małe ID - 64 bity(UUID pls!),
- 2^41/1000/60/60/24/365 = ID generowane bez przerwy przez 69 lat,
- możliwość sortowania(każde kolejne ID na pewno będzie większe od poprzedniego),
- złożone tylko z cyfr(według mnie ładnie wygląda, przede wszystkim w linkach, np. jako ID postu),
- ukrywają ilość rekordów w bazie(jeżeli ktoś tego potrzebuje...).
#programowanie #cpp #scala #go #php #algorytmy
Komentarz usunięty przez autora
epoch
jest const?epoch
nie jest const towydaje mi się, że nie jest prawdą.
epoch
nie jest stałe, może być stałe, czy musi być stałe?