• Топік для пошуку партнерів, кофаундерів, інвесторів тощо

    Ищу крутого iOS/Android разработчика в игровой проект

    Нужно сотворить качественное (AAA) рабочее решение для наложения разнообразных эффектов на лицо в потоковом видео, с правильными искажениями по сетке. На базе этого решения будет создана игра для iOS и Android. Захватим рынок игр — инфа 100%. У кого не трусятся коленки от страха — welcome on board!

  • Стартап vs Кризис

    Прекрасная статья! По этим, и многим другим причинам, я рад, что работаю в стартапе: -)

  • Полезные фичи MySQL

    По-моему, такие простые вещи каждый хороший программист должен уже знать. Так что статья больше для нубов написана, ага.

  • Полезные фичи MySQL

    А вот еще одна полезняшка: вместо DATE_ADD (my_date_field, INTERVAL 3 DAY) можно писать my_date_field + INTERVAL 3 DAY.Читайте мануалы, там много полезного можно вычитать.

  • Полезные фичи MySQL

    Про CHAR: "И искать будет быстрее, и защита от дурака будет.«1. О какой защите от дурака идет речь? 2. Быстрее или не быстрее — зависит от реализации. И, теоретически, если в строке есть хотя бы одно поле с нефиксированным размером — преимущество CHAR теряется. А еще спорно, что быстрее: считать CHAR-значение и отбросить лишние пробелы справа, или найти правую границу VARCHAR-а в низкоуровневом хранилище. Так что все зависит от конкретной реализации, а заявления вроде «это быстрее того» незакрепленные пруфлинком — мифы.Про TIMESTAMP: Только первое и единственное (в таблице) поле типа TIMESTAMP может обладать описанной функциональностью, поэтому это никак не поможет реализовать связку created_at/updated_at на уровне БД.Вспомню про что-то еще «в тему» — отпишусь:)

  • Полезные фичи MySQL

    Александр, в MySQL (InnoDB) тоже есть row-level locking, поэтому сей факт не может использоваться как аргумент в пользу других СУБД.

  • Трудный вопрос на собеседовании #4

    Псевдокод: shift = m % n; str = str.substr (shift) + str.substr (0, shift-1); Сначала вычисляем на сколько символов нужно реально сдвинуть (если вдруг m > n), а затем меняем местами части строки: start... (shift-1) shift...end.Вроде так:)

  • Трудный вопрос на собеседовании #4

    Символы «съелись». Короче, свопаем вот так: swap (start... (shift-1), shift...end), где «...» это диапазон.

  • Трудный вопрос на собеседовании #4

    Условие «за линейное время» в моём решение соблюдено.А условие «при константной доп. памяти» решается копированием символовиз первой части строки в конец второй части с использованием фиксированногопо размеру буфера. Если буфер будет равен одному символу, то мы решаем этузадачу на O (m) времени.

  • Трудный вопрос на собеседовании #4

    А ведь-таки так! Тогда нужно с начала строки и до shift-1 копировать символы в буфер размером k байт, затем сдвигать всю строку влево на k байт и символы из буфера копировать в конец строки. Или наоборот.

  • Трудный вопрос на собеседовании #4

    2 IgorО каком коде вы говорите? В первом комментарии я писал псевдокод.

  • Трудный вопрос на собеседовании #4

    2 ВсеволодНаверное вы правы.Тогда уместно будет использовать XOR для перестановки соответствующих символов в строке. Время будет = O (m/k).

  • Трудный вопрос на собеседовании #4

    2 VladУсловие if (m > n) избыточно.