Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Сила оттенков серого: компьютерное зрение с нуля

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели15K

В обсуждениях компьютерного зрения обычно речь идёт об OpenCV или нейронных сетях глубокого обучения наподобие YOLO. Однако в большинстве случаев для работы с компьютерным зрением требуется понимание базовых алгоритмов, чтобы можно было адаптировать их под свои нужды.

Мне захотелось понять, насколько далеко я смогу зайти, оставив в computer vision только самый минимум: одни лишь 8-битные изображения в градациях серого; никаких сложных структур данных, старый добрый C, немного байтовых массивов и единственный файл заголовка. В конце концов, изображение — это ведь просто прямоугольник из чисел, не так ли?

Этот пост — экскурсия по алгоритмам, лежащим в основе Grayskull — минималистичной библиотеки компьютерного зрения, спроектированной для устройств с ограниченными ресурсами.

Читать далее

Убрать рутину из регресса или как автоматизировать, не зная кода

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели4.9K

Всем привет! Меня зовут Антон Лосев, и я QA Lead в компании AXENIX.

Сегодня я хотел бы вам рассказать и показать, как я, будучи мануальным тестировщиком, решил вопрос с горой рутинных тест‑кейсов, которые мне необходимо было проходить в каждом регрессе. Поговорим о том, какие инструменты можно использовать для «автоматизации» выполнения большинства шагов кейсов, какие есть альтернативы данным инструментам и о том, насколько всё это влияет на качество регресса и скорость его прохождения.

Читать далее

Без дизассемблера: как предварительный анализ документа GOFFEE раскрыл всю цепочку заражения

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.8K

Всем привет!

Киберугрозы постоянно эволюционируют, и для эффективного противодействия важно понимать тактики и инструменты злоумышленников. Группировка GOFFEE, также известная как Paper Werewolf, представляет собой яркий пример такой угрозы.

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

Перейти к разбору

Зачем Тьюринг изобрёл Redux?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6K

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

Императивное программирование

Допустим, вам поручили сделать web проигрыватель. Бизнес ставит задачи, сроки горят. Что делаем? Правильно, берём родной <audio>.

решить автоматным программированием

Сравнение моделирования процессов в BPMN и средствах автоматизации типа n8n

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.5K

Business Process Model and Notation (BPMN) — это стандартизированное графическое представление, предназначенное для облегчения визуализации, понимания и взаимодействия сложных бизнес-процессов. Этот метод предоставляет целостную структуру, обеспечивающую единообразие описания между различными участниками, эффективно устраняя разрыв между технической и нетехнической аудиториями. BPMN использует набор стандартизированных символов, позволяющих компаниям системно описывать свои операционные потоки. Такая наглядность особенно важна в средах, где критичны оптимизация процессов и соблюдение регламентов, — она дает ясное представление о том, как действия, события и точки принятия решений взаимосвязаны внутри процесса.

С другой стороны, нестандартные инструменты автоматизации, такие как платформа n8n, предлагают иной подход к автоматизации рабочих процессов. В отличие от BPMN, который придерживается формальной нотации, n8n представляет собой low-code среду, ориентированную на гибкость и индивидуальную настройку. Подобные инструменты позволяют создавать сценарии автоматизации, соединяя различные приложения и сервисы без необходимости глубоких знаний в программировании. Такие среды особенно привлекательны для гибких рабочих процессов, где часто происходят итеративные изменения и требуется интеграция со множеством систем. Нестандартные инструменты нередко удовлетворяют уникальные бизнес-потребности, которые стандартизированные методологии, такие как BPMN, могут охватывать не полностью, предлагая тем самым альтернативное решение для оркестрации процессов.

Читать далее

Vue SFC — идеальный формат для AI-разработки и вот почему

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.3K

Вы уже пробовали применять ИИ в разработке? Если да, то заметили, что чем дольше вы общаетесь с моделью, тем выше шанс, что она забудет ваши исходные требования. Спецификация, которую вы указали вначале, теряется где-то в контексте, и ИИ начинает генерировать код, который немного, но не совсем то, что нужно.

Поэтому некоторые разработчики уже перешли на Spec-Driven Development — подход, в котором требования четко описаны отдельно и всегда под рукой. Звучит логично? Но попробуйте внедрить его на реальном проекте... и вы быстро поймете, почему большинство разработчиков его не используют. Одна из основных причин — спецификации хранятся отдельно от кода, и ИИ их регулярно теряет. А еще они быстро устаревают, когда вы вносите изменения. 

Но что, если спецификацию встроить прямо в код? Именно это и предложил японский разработчик в своей оригинальной статье. Он обнаружил, что Vue SFC позволяет использовать пользовательские блоки — и создал <spec> блок для коллокации спецификации с кодом, который поможет решить устоявшиеся проблемы.

Добро пожаловать под кат: разберем, как коллокация спецификаций меняет правила игры в AI-driven разработке.

Читать далее

Как изменить формат обучения LLM: подход через фазовую когерентность

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели4.5K

Современные LLM учатся предсказывать следующее слово. Я предлагаю дополнить эту цель: учить модель сохранять стабильность смысловых связей (когерентность). Это может уменьшить зависимость от объёма данных и ускорить появление способностей к рассуждению. Статья описывает гипотезу, метрики для проверки и возможные способы реализации.

Читать далее

Я взломал поэзию Маяковского с помощью Python

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8K

Как «Про это» стало первой киберпоэмой. Стихотворение, которое впервые в истории использовало фотоколлаж, разбивку строк по принципу «лесенки» и типографские эксперименты, напоминающие современные веб-дизайн?

Читать далее

Ожидания типа IO как необходимое и достаточное условие отсутствия индекса. Проверка гипотезы с помощью PG_EXPECTO

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели3.6K

В эпоху, когда нейросети становятся первым источником знаний для многих разработчиков, особенно важно проверять их утверждения на практике. Один из таких вопросов — прямая связь между типами ожиданий в PostgreSQL и отсутствием индексов. AI-помощники часто дают логичные, но упрощённые ответы, которые могут ввести в заблуждение при решении реальных задач оптимизации. В этой статье мы экспериментально, с помощью инструмента pg_expecto, проверим , насколько обоснованно распространённое мнение о том, что IO-ожидания однозначно указывают на проблемы с индексацией.

ℹ️Новый инструмент с открытым исходным кодом для статистического анализа, нагрузочного тестирования и построения отчетов доступен в репозитории GitFlic и GitHub

kznalp/PG_EXPECTO: Комплекс статистического анализа производительности СУБД PostgreSQL

pg-expecto/pg_expecto: Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

Читать далее

EMNLP-2025: обзор исследований жестовых языков

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5K

Всем привет! В этом году в китайском городе Суджоу прошла юбилейная тридцатая конференция EMNLP (Empirical Methods in Natural Language Processing). Это одна из ведущих международных конференций по обработке естественного языка (NLP), проводимая под эгидой ассоциации компьютерной лингвистики ACL (Association for Computational Linguistics). 

Впервые конференция EMNLP прошла в 1996 году. Сегодня она посвящена эмпирическим методам, то есть моделям, основанным на данных, статистике и машинном обучении. А тогда конференция называлась Workshop on Very Large Corpora и представляла собой небольшое мероприятие ACL, посвящённое использованию корпусов текстов для обучения моделей. Тогда еще не было никаких трансформеров и уже привычных нам больших языковых моделей (LLM) и уж тем более мультимодальности, агентов и прочих хайповых ИИ-направлений. Это была эпоха статистического NLP, когда всё строилось вокруг частот, вероятностей и корпусов текстов, а в ходу были N-граммные языковые модели и скрытые Марковские модели. 

Читать далее

Нечёткий поиск при пересечении множеств, или Как выжать все соки из Хэширования по сигнатуре

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели6K

На просторах интернета легко можно найти материалы по реализации нечёткого поиска, в которых предполагается поиск одной строки в множестве строк M. Но что если возникнет необходимость реализовать нечёткое сравнение множества M₁ с множеством M₂? При классическом подходе нам придется выполнить M₁*M₂ сравнений - при линейном росте этих множеств, сложность задачи будет расти экспоненциально, в плане производительности это решение никуда не годиться!
В этой статье предложен вариант реализации ускоренного алгоритма для решения этой задачи. Теоретической новизны в проекте практически нет. Цели:
1 - Ознакомить с концепцией
2 - Дать конкретный пример интеграции в БД SQL(MSSQL)
3 - Ознакомить с возможностями на базе практической реализации

Читать далее

Не рейт-лимитером единым: как управлять нагрузкой в микросервисах

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели14K

У каждого, кто работает с высоконагруженными системами, своя коллекция боевых шрамов. Знаете эти истории про инциденты, когда всё идёт совсем не по плану? У меня тоже есть такая — очень показательная. Правильные инструменты, лучшие практики, опытная команда — и всё равно куча проблем. Это хороший повод рассказать, почему даже самых продвинутых инструментов может быть недостаточно, когда не видишь всей картины.

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

Поехали!

ИИ для юристов: Как мы неделю учили нейросеть работать с юридическими шаблонами

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.3K

Однажды, к нам пришли наши клиенты — юристы и рассказали, что наш агрегатор обходит по эффективности их дорогие нейросетевые юридические сервисы. Но! Всегда ведь есть но, правда?. Говорят — «Ребята», продукт классный, но нам нужно больше. Научите его работать с нашими внутренними шаблонами документов, искать актуальные нормы права, подбирать свежую судебную практику». Мы, если честно, даже и не думали, что нашим B2C продуктом пользуются юристы.

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

Читать далее

Ближайшие события

Что происходит внутри Angular и React при решении одних и тех же задач

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели16K

React — популярная библиотека JavaScript, которая заслуженно пользуется популярностью у фронтендеров. А вот Angular часто называют избыточно усложненным и даже отчасти устаревшим. Мне довелось поработать на реальных проектах и с тем, и с другим, каждый раз проходя путь от «да как на этом вообще можно работать» до «человечество не придумало ничего лучше».

Привет! Я Полина, фронтенд-разработчик в Selectel. В этой статье я решила залезть в темные уголки React и Angular, чтобы лично посмотреть, что же там происходит. Для чистоты эксперимента я выбрала шесть типовых несложных задач, для решения которых подойдет и фреймворк, и библиотека. Подробности под катом.

Читать далее

Когда RAG на Go свистнет: собираем прототип чата за вечер

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.4K

Привет, я — Евгений Клецов, Go-разработчик в Cloud.ru. Если вы тоже Go-разработчик, то и вам, наверняка, приходила в голову мысль добавить в свой сервис «немного AI», но казалось, что это требует погружения в незнакомый мир Python и машинного обучения. Каждый день появляются новые AI-стартапы, да и существующие сервисы не отстают с внедрением искусственного интеллекта. Еще недавно это и правда было невозможным без глубоких знаний в области ML/AI, но сейчас всё меняется. Большие текстовые модели обзавелись удобным API для работы и фактически превратились в AI as a Service. Давайте на практике убедимся, что Go тоже прекрасно подходит для разработки подобных приложений на примере RAG.

Читать далее

Сравнение собеседований в 8 крупных технологических компаниях

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.2K

В новом переводе от команды Spring АйО Пунит Патвари недавно принял предложение о работе в Atlassian на должность ведущего инженера-программиста (Principal Software Engineer). За три месяца он прошёл более 60 собеседований в 11 компаниях, как он мне рассказал, и отказался ещё от трёх процессов после того, как согласился на предложение от Atlassian — включая собеседование в Meta*.

* Meta признана экстремистcкой организацией в России

Читать далее

Странности в исключениях JVM с точки зрения декомпилятора

Время на прочтение11 мин
Охват и читатели5.8K

Некоторое время назад я немного поэкспериментировала, пытаясь научиться декомпилировать файлы классов Java более эффективно, чем позволяют традиционные инструменты, предназначенные для этого — например, Vineflower. В конце концов, я написала статью, в которой изложила мой подход к декомпиляции потока управления. Мои находки позволили значительно ускорить работу получившегося у меня прототипа.  

На тот момент я полагала, что этот метод не составит труда расширить и на декомпиляцию потока управления, возникающего при обработке исключений — то есть, что ему будут поддаваться блоки try…catch. В ретроспективе признаю: следовало ожидать, что это будет не так просто. Оказывается, здесь возникает множество пограничных случаев, варьирующихся от странного поведения javac до последствий, отражающихся на самой структуре JVM и формате файлов классов. Всё это – серьёзные осложнения. В данном посте я разберу все эти детали, расскажу, почему простые решения не работают, и на каком подходе я в итоге остановилась.

Читать далее

Новый подход к оценке производительности облачной инфраструктуры для 1С: от теста Гилева к реальным нагрузочным тестам

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели6.2K

Привет, Хабр! В статье поговорим о том, почему традиционные методы оценки производительности серверов для 1С не работают в облачной инфраструктуре и как мы нашли решение этой проблемы.

А еще приглашаем вас на бесплатный вебинар 18 ноября в 11:00 мск, где разберем реальные провалы и фатальные ошибки при работе 1С в облаке. Поговорим о том, почему CPU не покажет реальных проблем, расскажем про кейс с дедлоками при нормальных показателях железа и объясним, почему 40% нагрузки должны стать вашим новым максимумом. 

Всем зарегистрировавшимся пришлем чек-лист по критическим настройкам 1С из практики обслуживания 7000 пользователей. 

Регистрация здесь

Читать далее

Практичные Python-привычки, которые реально повышают качество кода

Время на прочтение3 мин
Охват и читатели11K

Практичные Python-привычки: явное состояние и мемоизация, асинхронность для продакшн, ошибки и raise, типизация и валидация, ленивая загрузка и кеширование

Читать далее

Интенсивный курс «AI-агенты» от Google День 3

Уровень сложностиПростой
Время на прочтение58 мин
Охват и читатели8.1K

На данный момент я прохожу 5-дневный интенсив по AI‑агентам от Google. Эта статья представляет собой перевод оригинального материала, выполненный с помощью Gemini и мной. В этой статье вы узнаете как сделать так, чтобы ИИ не просто «отвечал», а «понимал» и «запоминал»? И если вы когда‑либо задумывались о том, как научить LLM‑агентов вести осмысленные, долгосрочные беседы, эта статья станет вашим проводником в мир сессий и памяти, которые формируют ИИ агентов.

Читать далее
12 ...
50