Кодирование ogg-vorbis файла

09.05.2020
Недавно завершил разработку кодека ogg для движка SkyXEngine, если процесс декодирования занял мало времени, так как примеров в интернете помимо документации достаточно, то процесс кодирования оказался мало освещенным. В данной заметке процесс кодирования ogg-vorbis расписан в подробностях.

Изменение верстки сайта через js встроенный в футер

01.05.2020
Ничего необычного, но единственным рациональным вариантом изменить верстку оказалось только встраивание js кода в подвал сайта. Однако движок сайта еще и сам изменял верстку после загрузки. Для этого случая пришлось сделать отдельный проект, которые решает поставленную задачу.

Поиск и удаление неуникальных строк в таблице, SQL only

01.05.2020
Несколько раз появлялась одна и та же задача: найти не уникальные строки в таблице и проанализировать или удалить их. При этом очень хочется чтобы вся работа велась только на SQL без php кода. Промежутки времени между задачами были такие что я успевал забыть как это делать. Но теперь все изменилось, теперь есть эта заметка :)

Разбор понятий: trivial type, standard layout, POD

27.04.2020
В C++ данные класса/структуры могут храниться в памяти совсем не так как они написаны в коде и не каждый тип может быть скопирован побайтово при помощи memcpy. В данной заметке рассмотрим некогда непонятные для меня понятия, выведем теорию с примерами кода.

Android смартфон как вебкамера/микрофон/динамики для ПК

13.04.2020
Возникла необходимость использовать Android смартфон как один из компонентов ПК, оказывается это вполне работоспособная вещь, с которой можно работать долгое время, а в некоторых случаях такой коннект может выдавать лучшее качество нежели штатные средства ПК.

Оптимизация вложенных подзапросов

04.03.2020
Делая подзапрос в запросе стало интересно: можно ли как-то оптимизировать по скорости исполнения данные операции? Интерес был подогрет в ходе изучения терминологии по базам данных, где в определенный момент наткнулся на термин коррелированный подзапрос. Пытливый ум сгенерировал вопрос, на который я не смог не найти ответ: а оптимизирует ли MySQL запросы если для сравнения id каждой строки из таблицы основного запроса делается подзапрос? Были опробованы 4 способа оптимизации ... 4 способа получить одни и те же данные из БД :)

Сборщик писем по imap протоколу

31.01.2020
Небольшая задача для сборки исходников писем с почтовых ящиков по imap протоколу. Внутри ссылка на репозиторий решения, описание и комментарии прилагаются. В статье описываются возникшие проблемы и их решение.

Блокировка данных в базах данных

08.01.2020
В статье рассмотрены разные виды блокировок. БОльшая часть рассмотренного материала относится к движку InnoDB СУБД MySQL. Вся практическая часть тестировалась именно на этом ПО. Но некоторые данные актуальны и для других СУБД.

Ограничение доступа при параллельных запросах

22.12.2019
Появилось 2 задачи на ограничение доступа к данным. Задача 1. Cron каждую секунду вызывает запрос обработки redis очереди смс на отправку, сообщений может быть сколько угодно и время обработки тоже, поэтому надо чтобы эту самую очередь мог захватить только один запрос. НАДО: Если первый запрос еще работает, а следом приходит второй, отрубаем второй. Задача 2. В высоко нагруженном сервисе тысячи одновременных запросов от одного пользователя. Пользователи частично привилегированны, и надо ограничить частоту запросов от одного пользователя на «раз в секунду».

Массовое изменение формата изображений в WordPress

17.09.2019
Задача: на сайте более 1000 изображений в png формате, движок Wordpress, надо все изображения перевести в jpg и изменить расширение с png на jpg