Добавляем lint-staged в NestJS и Angular приложения, включаем семантическое версионирование фронтенда

Добавляем lint-staged в NestJS и Angular приложения, включаем семантическое версионирование фронтендаТак как версионирование через плагин nx-semantic-release происходит путем анализа изменений по связанным Typescript-импортам, то нам нужно минимизировать эти изменения, для этого в проект подключаем lint-staged и добавляем строгости в Typescript-код...

Релизы без страха: обратная совместимость

Релизы без страха: обратная совместимостьРелиз — это всегда как шаг по канату над пропастью: с одной стороны, нас ждут крутые новые фичи, с другой — опасность сломать то, что уже работает. И все мы знаем, как больно бывает, когда что-то идёт не так.Сегодня поговорим о том, как выпускать обновления так, чтобы ни одна строчка старого кода не упала жертвой прогресса...

Странные вопросы и комментарии на собеседованиях в IT

Странные вопросы и комментарии на собеседованиях в ITНа собеседованиях в IT-компании можно услышать неожиданные вещи — от предложений пройти тест на детекторе лжи до комментариев о личной жизни. Мы собрали истории пяти специалистов, которые сталкивались с подобными ситуациями или наблюдали их со стороны...

«База данных» в гугл таблицах для телеграм-бота

«База данных» в гугл таблицах для телеграм-бота Практически все боты используют какое-нибудь хранилище информации. Чаще всего применяются базы данных, но иногда их использование может быть избыточным, особенно если вам не нужны ACID-транзакции и есть желание менять данные руками в максимально простом интерфейсе. Для хранения информации можно использовать гугл-таблицы. Сегодня мы разберём пример телеграмм бота для проведения тестов, где вопросы и ответы хранятся в разных вкладках одной Google-таблицы. Почему одной? Опять же, для облегчения доступа для потенциальных пользователей...

10 советов по Open WebUI, которые помогут в работе с нейросетями

10 советов по Open WebUI, которые помогут в работе с нейросетямиOpen WebUI — веб интерфейс с открытым исходным кодом, предназначенный для работы с различными LLM-интерфейсами, такими как Ollama или другими совместимыми с API от OpenAI. Он продолжает развиваться, но его документация не успевает за всеми этими изменениями. Поэтому мы решили дать 10 советов, которые помогут вам раскрыть потенциал Ollama, Stable Diffusion и самого Open WebUI...

ROP: код, которого нет

ROP: код, которого нетО ROP цепочках слышали многие, кто в той или иной степени связан с реверсингом вредоносных приложений. Между тем, возвратно-ориентированное программирование остается довольно интересным направлением в разработке вредоносных приложений. В этой статье мы начнем разбираться с тем, что из себя представляет этот метод.Итак, возвратно-ориентированное программирование (return oriented programming, ROP) это метод эксплуатации уязвимостей в программном обеспечении, используя который атакующий может выполнить необходимый ему код при наличии в системе защитных технологий, например, технологии, запрещающей исполнение кода с определённых страниц памяти. С помощью ROP атакующий может получить контроль над стеком вызовов, найти в коде последовательности инструкций, выполняющие нужные действия и называемые «гаджетами», выполнить «гаджеты» в нужной последовательности...

Open source решения для управления и работы с данными в облаке

Open source решения для управления и работы с данными в облакеХабр, привет! Сегодня у нас подборка перспективных open source решений, которые могут упростить хранение данных и работу с ними в облаке. Говорим про Garage, LinDB, LitData и Triplit.Если вам нужно надежное решение для работы со структурированными данными с возможностью практически неограниченного масштабирования, сервисы MWS помогут организовать полный цикл работы с данными. Вы сможете создать...

Взаимодействие микросервисов между собой

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

Писать или не писать?

Вчера с коллегами рассуждали на тему - почему специалисты не пишут/не хотят писать статьи? Рассуждения ушли в ветку, почему это все таки надо делать. Но я состредоточилась на преградах. И вот к чему пришел разговор: - это скучно; - кто работает,  тот не пишет статьи!!! - пишут те, кому есть что сказать, у кого огромный бэкраунд. А чем может поделиться молодой специалист? - кто то с эксклюзивной экспертизой просто не хочет делиться опытом. Я один крутой, а вы тут все.... Но обсуждались и аргументы "полезности" авторства. Например: - за это можно получить премию. Кстати, сколько где платят за какого рода статьи? Поделитесь плиз опытом. - это самый просто способ передать какой то рутиный алгоритм многим исполнителям. Ну например, ты написал инструкцию и не каждому ее высылаешь, а просто выкладывашь в виде статьи и отправляешь ссылку. Масштабирование обучения по сути. - ты повышаешь свою узнаваемость, реклама. И тем самым повышается твоя ценность на рынке. - и главное, это конечно наследие. Через 50 лет, когда зарплаты кончатся, дети вырастут, амбиции уснут - каждый специалист будет сидеть на закате, пить сиузи и думать - а что останется после меня? А останется как раз информация. Статья, книга, продукты. Твой личный вклад в уменьшение неопредленности этого мира. И даже история о том как ты пришел простым специалистом в компанию, и как ты боялся всего в первый рабочий день, возможно кого то спасет от ядовитой мысли все бросить!!! Я посидела подумала и решила написать свой первый пост на Хабре. Вдруг это кому то будет полезным...

[Перевод] Тренд на ИИ вернул производство микрочипов в авангард компьютерных технологий

[Перевод] Тренд на ИИ вернул производство микрочипов в авангард компьютерных технологийАвтор журнала The Economist Шайлеш Читнис в рамках спецвыпуска Technology Quarterly рассуждает о том, что повышенное внимание к искусственному интеллекту меняет рынок производства микрочипов, что приводит к нарушению «закона Мура»...

Ортогональный дизайн — один из важнейших принципов геймдизайна

Ортогональный дизайн — один из важнейших принципов геймдизайна Привет, Хабр! В данной статье мы поговорим о концепции ортогонального дизайна игр и его влиянии на игровой опыт. Ортогональный дизайн является ключевым принципом в геймдизайне и левелдизайне, благодаря ему удается создавать более глубокий, разнообразный и интересный игровой опыт, а также упрощается процесс разработки. Мы рассмотрим как ортогональность проявляется в дизайне противников, способностей, механик и миссий на примере таких легендарных игр, как Doom 1993, Halo: Combat Evolved, Dishonored и Red Dead Redemption 2...

KC868-A8S V2: стиляга в металлическом прикиде (третье поколение контроллеров Kincony)

KC868-A8S V2: стиляга в металлическом прикиде (третье поколение контроллеров Kincony) Не знаю, интуитивно, в результате множества итераций R&D или с помощью приглашённого технического дизайнера, но третье поколение контроллеров Kincony выглядит просто классно (я бы даже сказал стильно) — эти изделия приятно держать в руках и я лично получаю удовольствие от работы с ними. Как сказал один мой знакомый разработчик электроники, крутя в руках контроллеры Kincony третьего поколения, — «Класс! Прям хочется выпустить что-то подобное...». Причём этот эффект достигается очень простыми средствами, обо всём этом мы поговорим далее в этой статье…...