Всем привет! Год потихоньку подходит к концу, так что самое время вспомнить, о чём мы писали. Собрали в одном материале самые интересные статьи из нашего блога и удобно сгруппировали их по темам — от геймдизайна до серверной разработки. Отличная возможность вернуться и перечитать полезные материалы или наверстать, если вы вдруг что-то пропустили. Поехали!
Разработчикам, только начинающим работать с Async/await, бывает довольно сложно разобраться в главной его особенности — неблокировании потоков. Рассказываем, что такое неблокирование потоков, как оно работает и какие преимущества даёт Async/await при работе с большим количеством задач. Читать далее
Как-то я уже касался темы изготовления прототипов печатных плат. И, не смотря на то, что акцент был на печать проводников с помощью специализированного принтера, читателя больше возбудил вопрос по фрезеровке. По этому я решил продолжить тему, и в этой статье хочу подытожить свой опыт эксплуатации LPKF ProtoMat S63 для фрезеровки печатных плат. Небольшой спойлер: станок я все таки уложил на обе лопатки. О конструктивных проблемах LPKF ProtoMat S63 будет во второй половине текста. Читать дальше →
Мы сделали приложение для глобального рынка, научились его продвигать и продавать и вышли на $1000+ дохода в месяц (самим немного смешно, но на оплату Google Apps и Hetzner как раз хватает). Каждый шаг этого извилистого пути мы делали вслепую, и нередко приходилось возвращаться назад для поиска лучшего решения. Читать далее
В одной из предыдущих статей я описал Push-based Outbox Pattern (шаблон исходящих сообщений на основе push с логической репликацией Postgres). Идея заключается в том, чтобы сохранить исходящее сообщение (например, событие) в той же транзакции базы данных вместе с изменением…
На днях мне наконец-то удалось поиграть в Cybperunk 2077, и я заметил, что в игре есть одна интересная особенность: Когда персонаж говорит на иностранном языке, текст сначала появляется над ним в оригинале, а затем как бы вживую переводится на английский.Тогда я задался вопросом: сколько работы потребуется, чтобы создать нечто подобное с помощью современного DL-стека? Можно ли сделать это за выходные? Читать далее
Unrestricted Upload of File with Dangerous Type in GitHub repository ampache/ampache prior to 5.5.6.
nbnbk commit 879858451d53261d10f77d4709aee2d01c72c301 was discovered to contain an arbitrary file read vulnerability via the component /api/Index/getFileBinary.
Improper Resource Shutdown or Release vulnerability in Mitsubishi Electric Corporation MELSEC iQ-R Series R00/01/02CPU Firmware versions "32" and prior, Mitsubishi Electric Corporation MELSEC iQ-R Series R04/08/16/32/120(EN)CPU Firmware versions "65" and prior, Mitsubishi Electric Corporation MELSEC iQ-R Series R08/16/32/120SFCPU all versions, Mitsubishi Electric Corporation MELSEC iQ-R Series R12CCPU-V all versions, Mitsubishi Electric Corporation MELSEC iQ-L Series L04/08/16/32HCPU…
Activity Watch is a free and open-source automated time tracker. Versions prior to 0.11.0 allow an attacker to execute arbitrary commands on any macOS machine with ActivityWatch running. The attacker can exploit this vulnerability by having the user visiting a website with the page title set to a malicious string. An attacker could use another application to accomplish the same, but the web browser is the most likely attack vector. This issue is patched in version 0.11.0. As a workaround, users can run the