Обновить

Разработка

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

Что такое шопсы? И как мы размечаем shoppable-контент

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров641

Недавно ВКонтакте запустила новый формат контента — шопсы. Это публикации с карточками товаров или ссылками, по которым можно быстро оформить покупку. Формат появился не с нуля: в соцсети уже давно органически росла доля публикаций, где в кадре так или иначе фигурировали какие‑то товары. Однако не каждая такая единица контента способна стимулировать к покупке. Как выявить нужный и сделать так, чтобы человек видел не просто красивую картинку с товаром, а интересный, кликабельный и вовлекающий контент, который действительно ведёт к покупке? Ответ — в правильной разметке.

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

Материал подготовили Святослав Васильев, менеджер продукта ВКонтакте, и Кирилл Мамонов, руководитель предиктивной аналитики AI VK.

Читать далее

Графика победила физику, или почему игры деградируют

Время на прочтение10 мин
Количество просмотров71K

За последние 40 лет графика в играх стала гиперреалистичной, и студии разработки тратят на это огромные деньги. Сегодняшние AAA-проекты — это культ картинки. Они фотореалистичны: каждый луч света просчитан, каждая тень идеально выстроена. Но стоит немного поиграть — и можно крайне разочароваться.

Когда-то реальность в играх создавалась не количеством пикселей, а откликом. В Far Cry 2 (2008) пламя пожирало саванну, в Crysis (2007) дерево падало от взрыва, в S.T.A.L.K.E.R. (2007) пуля звенела о металл и оставляла след. Игрок чувствовал физику — как будто сам присутствовал внутри игрового мира. А теперь есть красивая графика, которая ощущается лишь как картонная декорация. Ты кидаешь гранату в Starfield (2023), но корабль остается целым. В Assassin’s Creed Mirage (2023) песок не проседает под ногами. В Cyberpunk 2077 (2020) не разбиваются витрины магазинов. Мир больше не живет. Он лишь создает видимость.

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

Читать далее

Плюсы и минусы платформы автоматизации рабочих процессов n8n

Время на прочтение17 мин
Количество просмотров9.4K

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

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

Читать далее

Enterprise мониторинг с нуля: Prometheus + Grafana для FastAPI приложения

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров6.1K

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

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

Читать далее

Книга: «Строим LLM с нуля»

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

Привет, Хаброжители! Говорят, что физик Ричард Фейнман однажды сказал: «Я не понимаю того, чего не могу создать». Основываясь на этом же важном принципе, автор бестселлеров Себастьян Рашка шаг за шагом ведет вас к созданию LLM в стиле GPT, которую вы сможете запустить на своем ноутбуке. Это увлекательная книга, которая охватывает каждый этап процесса — от планирования и кодирования до обучения и тонкой настройки.

Читать далее

Как Windows покорила мир. История самой популярной ОС

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

Когда включаешь компьютер, видишь привычное окно с кнопкой «Пуск» и даже не задумываешься, что это результат десятков лет борьбы — технической, рыночной и даже судебной и политической. Операционная система Windows давно стала синонимом персонального компьютера. В этой статье мы разберём, как Microsoft смогла создать удобную систему и сделать её стандартом для всего мира: какие шаги, решения и ошибки привели Windows к господству на миллионах машин.

Читать далее

Я ненавижу React

Время на прочтение8 мин
Количество просмотров15K

Да, я его действительно ненавижу. Мне кажется, что команда React'а презирает разработчиков, и я презираю их в ответ. Все их решения направлены на то, чтобы сделать разработку сложнее, медленнее и непредсказуемее. На сегодняшний день они даже умудрились сломать работу JavaScript. Уму непостижимо, почему им это сходит с рук.

Читать далее

Проблема «черного ящика»: как заставить ИИ объяснять свои решения

Время на прочтение20 мин
Количество просмотров1.3K

Начну с реального случая: в 2023 году американский юрист Стивен Шварц использовал ChatGPT для подготовки судебного иска. Система уверенно создала юридический документ с многочисленными ссылками на прецеденты. С одним нюансом — все цитируемые дела оказались полностью выдуманными. Более того, когда юрист попросил ChatGPT проверить достоверность источников, система с той же уверенностью «подтвердила» подлинность несуществующих судебных решений.

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

Читать далее

Великий крах качества программного обеспечения: как мы нормализовали катастрофу

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

Мы переживаем величайший кризис качества программного обеспечения в истории вычислительной техники. Калькулятор теряет 32 ГБ оперативной памяти. ИИ-помощники удаляют рабочие базы данных. Компании тратят 364 миллиарда долларов, чтобы избежать решения фундаментальных проблем.

Читать далее

Ссылочный тип данных в JavaScript: ключ к эффективному коду

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

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

Привет, Хабр! Меня зовут Александр Дудукало, я автор базового курса по JavaScript.  В этой статье я простыми словами расскажу, как работают ссылки, почему это важно знать и как правильно копировать объекты.

Читать далее

Анализ дампа: с чего начать

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

Всем привет! Меня зовут Виктор, и я программист. Восемь лет работаю в команде Т-Банка и все это время вместе с коллегами занимаюсь проектом «Т-Телефония». Моя команда разрабатывает сервисы, которые обеспечивают голосовую коммуникацию внутри и вне банка. 

Звонки — один из основных способов связи с нами, поэтому система критична для бизнеса с высоким требованием к доступности. Она обрабатывает более 2 млн звонков в день. Если происходит сбой в любой пользовательской системе и нашим клиентам плохо, количество звонков сразу увеличивается, а нагрузка на систему повышается в два-три раза.

Когда мне прилетела первая задача с дампом, единственным инструментом, который я знал, был WinDbg. Я потратил несколько дней, чтобы хоть немного разобраться в нем. С развитием проекта приходилось все чаще снимать дампы, и теперь я знаю о них намного больше.

В статье покажу, что такое дампы, какие есть инструменты для работы с ними и какие у них особенности, покажу наши примеры проблем, расскажу, как мы их решали.

Читать далее

От четырёх до семи сделок в день: как мы перестроили процесс записи и забили календари по полной

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров580

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

Читать далее

Можно ли было обнаружить бэкдор XZ при более продуманной работе с пакетами в Git и Debian?

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

Обнаружение бэкдора в XZ Utils весной 2024 года поразило опенсорс-сообщество и подняло серьёзные вопросы о безопасности цепочки поставок ПО. В этом посте мы изучим, могло ли улучшение практик работы с пакетами Debian помочь в выявлении этой угрозы, приведём руководство по аудиту пакетов и предложим улучшения на будущее.

Бэкдор XZ в версиях 5.6.0/5.6.1 быстро попал во многие крупные дистрибутивы Linux наподобие Debian и Fedora, но, к счастью, не добрался до многих реальных пользователей, потому что благодаря героическому усердию Андреса Фройнда релизы с бэкдором были быстро удалены. Нам крайне повезло, что мы выявили регрессию производительности SSH в полсекунды, уделили время её трассировке, обнаружили зловредный код в загружаемой SSH библиотеке XZ и быстро сообщили о нём различным командам безопасников для принятия быстрых координированных мер защиты.

Этот эпизод заставил разработчиков ПО задаться следующими вопросами:

Почему ни один из упаковщиков дистрибутивов Linux не заметил ничего странного при импорте новой версии XZ 5.6.0/5.6.1 из апстрима?
Легко ли проводить аудит современной цепочки поставок в самых популярных дистрибутивах Linux?
Возможно ли наличие других подобных бэкдоров, которые мы пока не выявили?

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

Стоит отметить, что мы ограничимся только изучением способа импорта ПО дистрибутивом Debian из его апстрима, а также его распространения среди пользователей Debian. При этом мы никак не затронем тему оценки соответствия проекта апстрима best practices по безопасности разработки ПО. В этом посте мы не будем и говорить о том, какие меры следует предпринять на компьютере с Debian, чтобы гарантировать его защиту, потому что таких руководств и так уже много.

Читать далее

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

Как создать AI-аналитика во время учебы: кейс выпускного проекта студентов Школы аналитиков данных МТС

Время на прочтение7 мин
Количество просмотров2.6K

Привет, Habr! На связи Максим Шаланкин из команды Школы аналитиков данных МТС. Каждый год наши студенты в качестве итогового проекта решают реальные бизнес-задачи, и этот не стал исключением. Четверо выпускников — Анна Шестакова, Григорий Суханов, Михаил Футьянов, Алексей Жданов — создали InsightFinder, мультиагентную систему для автоматического анализа данных (EDA). Этот проект автоматизирует EDA и бизнес-интерпретацию данных, сокращая рутинный процесс с нескольких часов до пяти минут. 

Добавление бизнес-интерпретации повышает вариативность использования: проект становится полезным инструментом как для специалистов Data Scientist или Data Analyst, так и для менеджеров, которые занимаются развитием продуктов и которым нужна быстрая проверка гипотез.

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

Читать далее

Чему не учат на курсах бизнес-аналитика: почему шаблоны ТЗ мешают работе

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

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

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

Читать далее

По следам ПЛИСового кейс-чемпионата

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

В конце сентября - начале октября в рамках межрегионального форума «ИТ-трансформация 2025: профессионалы цифрового будущего» [https://itforumaltai.ru/2025/], проходившего в г.Барнаул проводился кейс-чемпионат «Код успеха». В номинации «Промышленная разработка» два из тех кейсов были посвящены проектам на ПЛИС:

Кейс 1. Retro Game Console – разработка устройства вывода графики, анимации и текста с интерактивными эффектами

Данный кейс родился спонтанно, под влиянием книг Steven Hugg «Making Games for the NES» и «Designing Video Game Hardware in Verilog», а также ряда дискуссий в чате «Школы синтеза цифровых схем» и от этого кейса ожидались как минимум яркие красивые картинки, да и обычно вывод на дисплей/экран и манипуляции с картинками доставляют яркие и незабываемые эмоции (особенно при отладке, да…)

Кейс 2. «RTL-SoC-challenge» – разработка и прототипирование системы-на-кристалле на базе FPGA

Второй кейс родился по образу и подобию SoC Design Challenge 2025 [https://edu.yadro.com/soc-design-challenge/ https://habr.com/ru/companies/yadro/articles/909410/], но в несколько упрощенном (??ооочень не точно) варианте – только RTL синтез с небольшими включениями тестирования модулей.

В этом кейсе участникам в качестве подопытного кролика был предложен вариант многопоточной архитектуры процессора RISC-V, разработанного для учебного курса [https://riscv-alliance.ru/material/risc-v-dlya-fpga-arhitektura-mikroarhitekturnye-realizaczii/] созданного в рамках выполнения гранта Альянса RISC-V на разработку учебных материалов.
Соревнование собрало команды и индивидуальных участников из АлтГУ, ИТМО, МИЭМ НИУ ВШЭ, РТУ МИРЭА, Санкт-Петербургского политехнического университета. Работы оценивали специалисты компании YADRO (огромное спасибо Юрию Гринишкину и Евгению Максимову за помощь и организацию процесса). В целом инженерами отмечен высокий уровень участников и большой объем работы, проделанный за неполные две недели, отведенные на решение задач.

Читать далее

Сетевое хранилище для дома

Время на прочтение9 мин
Количество просмотров16K

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

Всё бы хорошо, вот только диск в нем внутри - единственный, а USB-порты, чтобы подключить больше дисков - медленные.
Кто еще ни разу не слышал, как в один прекрасный день диск вдруг делает "цок-цок-цок" - и больше диска нет? И когда это произойдет - не предскажет никакой SMART: может, никогда, а может - через пару минут.

Во взрослых системах для этого существуют RAID-массивы, с корзинами дисков, гудением вентиляторов и прочими сопутствующими радостями.
Для SOHO тоже придумали такие ящики, со встроенной корзиной - и непременными вентиляторами. Куда ж без вентиляторов?

Захотелось сделать почти такое же, но маленькое и бесшумное.

Читать далее

Руководство по оптимизации памяти в Unity 6

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.5K

Случалось ли вам ловить падение приложения из-за исключения OutOfMemoryException? Управление памятью — важная часть разработки игр, и оно способно сберечь немало нервов. В этом материале разберём, как устроено выделение памяти, как профилировать состояние памяти приложения и как его улучшить.

Разобраться в деталях

Пишем чат на Rust

Уровень сложностиСредний
Время на прочтение62 мин
Количество просмотров4.3K

Очередной чат, и к тому же на rust?! Да, yet another. И да, в этой статье не будет каких-то новых откровений системного программирования с написанием своего фреймворка для работы со сетью на уровне драйверов или других испытаний. Этот альманах про мой первый опыт в веб-разработке, который может быть полезен для других новичков, ведь тут мы затронем помимо злосчастного rust такие вещи, как devcontainer, REST API, идентификацию-аутентификацию-авторизацию, WebSockets, SSE, юнит и интеграционные тесты, некоторые паттерны, логирование и прочее.

Читать далее

Чем вообще занимается человечество?

Время на прочтение2 мин
Количество просмотров10K

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

в github, vscode и windows абсолютно каждое обновление уже несколько лет связано только с "ИИ", при этом ни один реальный показатель этих программ не стал лучше. В каждый поисковой запрос встроен ИИ, а качество поиска в гугле стало хуже (считал ли кто-то, сколько электричества ушло на это?)

Компилятор go переписывают на go, JavaScript существует больше 20 лет, появился TypeScript, но он... Всё также компилируется в обычный JavaScript, даже более объёмный, чем написанный вручную. До сих пор все оптимизации передачи джаваскрипта по сети не пошли дальше удаления пробелов из исходного текста, хотя на поверхности лежит трансляция TypeScript в бинарный JS, который позже напрямую быстрее интерпретируется и тратит в разы меньше сетевого трафика

Недавно я зашёл в браузер хром и решил поискать небольшую фразу в довольно объёмном файле.

Читать далее