<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Генерация уникального ID на PHP

Генерация уникального ID на PHP

Очень часто при разработке сайтов требуется генерировать уникальный ID на PHP. Приведу пример, с которым я столкнулся в своей практике. Я занимался Интернет-магазином, и там были 2 типа товаров, которые настолько разные по своей природе, что отправлять заказы в одну таблицу было крайне неразумно. Но если я размещаю заказы по 2-м таблицам, то ID каждого заказа не является уникальным. Ведь может быть 10-й заказ в первой таблице и 10-й заказ во второй таблице. И как их различать? Вот эту проблему я и решил. А как, Вы узнаете из этой статьи.

Я добавил в каждую таблицу по одному полю key, в которое поместил уникальное значение, зависящее от текущего времени, которое, как известно, не стоит на месте (если, конечно, сервер не движется со скоростью света). Вот так это выглядело:

<?php
  $key = md5(microtime(true)); // MD5-хэш текущего времени с точностью до сотых секунды
?>

И затем этот key я записывал в таблицу с заказом. И затем идентифицировал заказ не по его ID, а именно по ключу, который был уникальным для каждого заказа.

Вроде всё хорошо, однако, не так давно я нашёл прекрасную функцию, которая называется uniqid(), которая позволяет ещё лучше уникализировать ID.

<?php
  $id_1 = uniqid(); //508e12465f75b
  $id_2 = uniqid("pref_"); //pref_508e12465f7bb
  $id_3 = uniqid("pref_", true); //pref_508e12465f7c15.02077905
?>

Вариант без параметров аналогичен моему варианту, только он более короткий (и в плане кода, и в плане результата). А теперь описание параметров:

  • prefix (по умолчанию, пустая строка) - некий набор символов, который будет соединяться с уникальным ID. Это очень полезно, если Вы хотите действительно высокую уникальность, чтобы данная функция не совпала результатом, например, с каким-нибудь другим сайтом. Главное, придумать префикс поуникальнее.
  • more_entropy (по умолчанию, false) - если стоит true, то в значение ID будет добавлена дополнительная энтропия. Тем самым, результат будет ещё более уникальным.

Вот так легко генерируется уникальный ID на PHP. Вы можете использовать мой способ, а можете использовать функцию uniqid(). Если использовать просто uniqid() без параметров или только с префиксом, то скорость генерации выше в 1.5-2 раза (в абсолютном значении - это мизер, но всё-таки). А если с энтропией, то без разницы. Лично я перейду на uniqid(), всё-таки гарантировать, что не будет 2-х заказов в одну сотую секунды, не стоит. А вот скорость генерации уникального ID выше, меньше кода, да и сам ID компактнее.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

brussens brussens 30.10.2012 20:47:05

Хм, не знал про данную функцию, надо будет поюзать.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.