Ознакомьтесь с нашей политикой обработки персональных данных
  • ↓
  • ↑
  • ⇑
 
Записи с темой: Работа (список заголовков)
20:37 

Офис...

Вот так сейчас выглядит наш офис... Ну ладно, не весь офис, а пока лишь один коридор. :) Ходят слухи, что это новую систему кондиционирования проводят.


@темы: работа

03:25 

Программистское

Задача: придумать алгоритм генерации уникальных идентификаторов. Идентификатор - число типа int (32 бита) или long (64 бита) - желательно первое, но видимо придется довольствоваться вторым.
Уникальность идентификатора должна сохранятся в течении минимум пары дней, при том что пиковая нагрузка на генератор может составить до 1000 идентификаторов в секунду (когда-нить в счастливом будущем, реальный пик - 100, нормальная расчетная нагрузка - десяток в секунду).
Дополнительные требования:
1) не желательно хранить состояние генератора в постоянном хранилище (т.е. в БД или файле);
2) желательно (но не обязательно) обеспечить уникальность между разными экземплярами генератора (не имеющими общего хранилища), а ещё лучше - чтобы по идентификатору можно было однозначно определить какой экземпляр генератора его сгенерил;
3) длину идентификатора требуется сделать минимально возможной.

Под "экземпляром генератора" тут подразумевается совокупность программы (одинаковой для всех экземпляров) и настроек (допускается разных). При этом экземпляр генератор может быть в любое время остановлен без сохранения его текущего состояния и потом запущен заново.

Мой вариант решения: инициализировать генератор текущим временем в милли или микросекундах минус определённая константа (сегодняшнее время), затем просто увеличивать на единицу. Вариант не идеальный потому что удовлетворяет только доп. требованиям 1 и частично 3. Но как рабочая версия пойдет. Может быть вы предложите лучший вариант?


@темы: работа

Записки влюбленного программиста

главная