Обновить
1324.6

Программирование *

Искусство создания компьютерных программ

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

Делаем простой фитнес-трекер на React Native + Expo

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

Лето уже давно позади, зима на носу, а значит — самое время начинать подготовку к следующему лету. Для многих это означает одно: попытку выбраться из состояния «тюленя» хотя бы в состояние «тюленя, который слегка похудел».

Чтобы совместить полезное с полезным, заодно соберём небольшое приложение — простой трекер веса и тренировок — и посмотрим, как на практике работает мультиплатформенная разработка на React с Expo. Спойлер: почти то же самое, что и обычная разработка на React — и, похоже, именно она окончательно забивает гвоздь в гроб Dart/Flutter и прочих попыток конкурентов сделать вид, что React — это страшный сон, который можно забыть.

Читать далее

Форматируем строку по-человечески: C++ и его <format>

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

Когда-то давным-давно (то есть до C++20) мы форматировали вывод либо по-старинке через printf, либо используя громоздкие стримы ввода-вывода из <iostream>. Оба подхода, мягко говоря, не очень. printf работал шустро и лаконично, но требовал строгого соответствия типов, забудешь правильный %d или %s в формате, и получишь неопределённое поведение вплоть до падения программы. Компиляторы иногда предупреждают о несоответствиях, но полностью проблему не решают (особенно если форматируемая строка не литерал). Кроме того, printf не умеет выводить пользовательские классы, только примитивы.

Сейчас ситуация изменилась. В C++20 завезли библиотеку <format>, современный подход к форматированию строк, сочетающий лаконичность printf с безопасностью iostream. Инструмент называется std::format и объявлен в заголовке <format>. По сути, это адаптация популярной библиотеки fmt.

Читать далее

Shai-Hulud 2.0: 25 000 npm-репозиториев могут потерять свои данные

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

Несколько поставщиков средств безопасности (Aikido, HelixGuard, Koi Security, Socket, Step Security и Wiz) подали сигнал тревоги о второй волне атак на реестр npm, напоминающих атаку Shai-Hulud. Новая кампания в цепочке поставок получила название Sha1-Hulud и затронула более 25 000 репозиториев через npm с кражей учетных данных на этапе preinstall. Вредоносные (троянизированные) пакеты npm загрузили в реестр между 21 и 23 ноября 2025 года.

Подобно атаке Shai-Hulud, выявленной в сентябре 2025 года, нынешняя версия также публикует украденные секреты в GitHub, но теперь с описанием репозитория «Sha1-Hulud: The Second Coming» — «Sha1-Hulud: Второе пришествие».

Читать далее

Spec Kit против чистого Claude Code — вайбкодим с документацией

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

В последнее время часто всплывает опенсорс-тул для создания приложений - Spec Kit. Его авторы утверждают, что инструмент «помогает сосредоточиться на сценариях использования и предсказуемых результатах, а не на вайб-кодинге с нуля». 50 тысяч звёзд на GitHub звучит убедительно и ложится в концепцию Context Engineering от Андрея Карпаты. Это еще описывается как Spec-Driven Development (SDD) подход (неужели я где-то это уже слышал?) - создание серьезной документации перед тем как начинать оголтело вайбкодить разработку. Мы (ТГ канал для разработчиков использующих AI) решили разобраться, что это за зверь Spec Kit, и сравнить его с нашим текущим подходом.

Читать далее

Мифы, суеверия и народные мудрости в разработке игр

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

Существует довольно много распространённых «мудростей» о разработке игр на C++, различных обрядах и видах магии. И как это часто бывает с подобными сакральными знаниями, при внимательном осмотре - у части действительно есть право на жизнь, часть можно отправить в Каирский музей отбирать славу у мумий, а часть вообще оказывается родом из чужой реальности, и работать как предполагалось отказывается. Но это не мешает некоторым компаниям относиться к таким советам как к скрижалям, бережно принесённым с великой горы совещаний. Новым сотрудникам их передают почти с торжественностью обряда посвящения: «Так делали наши предки, так делаем и мы».

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

Понедельнишное

Обзор новых возможностей CSS в Safari 26

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

Команда JavaScript for Devs подготовила перевод большого разбора новых CSS-возможностей, появившихся в Safari 26. Это, пожалуй, один из самых заметных релизов браузера за последние годы: поддержка anchor positioning, анимаций, зависящих от прокрутки, функции progress(), улучшенное абсолютное выравнивание, contrast-color() и даже «красивые» переносы текста.

Читать далее

Перестаньте думать и начните уже писать код

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

Команда Spring АйО подготовила перевод статьи Джеффа Атвуда о том, почему попытки «спроектировать всё заранее» только мешают реальной разработке. Атвуд утверждает: без живого прототипа любые архитектурные решения превращаются в гадание на диаграммах. Хотите делать осознанный дизайн — поднимайте зад с кресла и пишите код.

Читать далее

Ваш первый live‑coding

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

Привет, Хабр!

Cегодня поговорим о, наверное, самом серьезном этапе собеседования — live‑coding. На этом этапе вас просят писать код в реальном времени, под пристальным взглядом интервьюера.

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

Разобрать лайвкодинг

WireGuard VPN на VPS с Ubuntu 20.04: Своими ручками легко, быстро и весело

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

Для начала давайте убедимся, что наш VPS находится в самом актуальном и обновленном состоянии. Подключаетесь к VPS через SSH. Запустите следующие команды, чтобы обновить систему и установить необходимые пакеты...

Читать далее

Мой Maven plugin для IDEA. Часть 3. Заключительная. Easy Maven — запуск тестов, приложения и отладка

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

Всем привет. Ранее я уже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых — это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто — постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и так далее) есть свой компилятор со своими особенностями, annotation processors — которые надо дополнительно распознавать и загружать как jar‑файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем — а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина — запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.

Читать далее

Самая главная уязвимость Linux в ядре. Простой пример USB over IP

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

Проброс USB по сети часто нужен в виртуальных средах. В 1С нужно пробрасывать USB ключи лицензирования, для VDI токены налоговой и все это тоже нужно импортозамещать в Linux. Вот только то, что просто делается в Windows - в Linux превращается в спецоперацию с далеко идущими последствиями.

Читать далее

Отвечает 24/7 и помогает с рутиной: как в Mindbox сделали ассистента поддержки на базе ИИ

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

В поддержку Mindbox ежегодно поступает более 50 000 обращений. Чтобы справляться с таким потоком, требуется 16 специалистов поддержки. Они разбирают документацию, находят ответы и помогают клиентам.

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

Теперь бот закрывает 15–20% запросов и отвечает за 25 секунд. Нагрузка на команду поддержки снизилась, а удовлетворенность клиентов (CSAT) AI-помощником поддержки составила около 90%. В этой статье — кейс, как нам удалось сделать такого бота своими силами. 

Читать далее

LEGO хаб Powered Up — передаём и получаем данные

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

Наборы LEGO с электрикой уже давно перестали быть просто игрушкой. Современная серия устройств Powered Up — это небольшая модульная робототехническая платформа: smart-устройства, моторы, датчики, подсветка, управляемые по Bluetooth, с возможностью программирования поведения моделей, что ранее было доступно только в специализированных наборах (LEGO Mindstorms, Education).

Как же получить данные из smart-устройства, ведь это открывает новые возможности по использованию LEGO наборов.

Читать далее

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

Проверка OpenIDE: они этого не хотели, но мы сделали

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

Если хотите посмотреть, что нашёл статический анализатор PVS-Studio в исходном коде Intellij платформы, используемой OpenIDE, то добро пожаловать в статью.

Читать далее

Как мы создавали курс «Архитектура программного обеспечения» — и как прошёл рефакторинг программы

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

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

На связи команда курса «Архитектура программного обеспечения» в Яндекс Практикуме. В этом материале мы расскажем, как ответили на запрос рынка и разработчиков и стали готовить инженеров в области архитектуры ПО, а также какие изменения внесли в курс совсем недавно.

Читать далее

Как мошенники крадут криптовалюту под видом вакансий для QA-инженеров

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

Disclaimer: Эта статья предназначена исключительно для образовательных целей и повышения осведомлённости о киберугрозах. Любое использование описанных техник в злонамеренных целях строго запрещено и преследуется по закону.

Читать далее

Голосовой ввод для Windows через Vosk своими руками

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

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

Лучшим выходом из моей ситуации было создать свое минималистичное решение, и вот как это было:

Читать далее

А что там у Гуглов: Jules вайбкодинг агент от Google, который не смог

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

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

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

Читать далее

Вечный ревьювер: как ИИ меняет работу разработчиков

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

Все в курсе того, что количество разговоров вокруг ИИ растет с каждым днем. В нашу жизнь вошли такие термины как «вайбкодинг», «промпт-инжиниринг» и другие подобные. Работая в одной из крупнейших ИТ-компаний, я вижу, как в реальности выглядит внедрение ИИ-инструментов для разработчиков. Оно и понятно: эти инструменты обещают кратно увеличить производительность. Но что, по моему мнению, реально будет плотно применяться и являться неким бейзлайном для устройства на работу в ближайшее время?

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

Во-вторых, ИИ ограничивается помещением в контекст определенных участков кода. Это могут быть как небольшие куски кода, когда необходимо поправить ограниченные части функциональности, так и достаточно большие участки. Но тогда LLM сталкивается с тем, что в загруженном контексте достаточно сложно построить правильные связи: между сервисами, брокерами сообщений, базами данных, клиентскими приложениями. На самом деле, это может быть обоюдная вина. Есть легаси, которое никто не поддерживает, а доработки пишут постольку-поскольку или стараются не писать совсем. Есть расхождения между спецификациями — клиентской и серверной (по причине ошибок разработчиков, нежелания или отсутствия процесса актуализации). И всё это породит ещё больший процент ошибок генерации.

Читать далее

Softbank тайно избавился от акций Nvidia, а SEC расследует деятельность OpenAI. Лопнет ли пузырь ИИ?

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

Пузырь ИИ - это уже не слон в комнате. Это обезумевший клоун, вооружённый ножом. Его нельзя игнорировать, а если вы попытаетесь, то сделаете это на свой страх и риск. Главный вопрос заключался не в том, лопнет ли пузырь и нападёт ли клоун, а в том, когда это случится. Этот пузырь сейчас столь огромен и так тесно переплетён с нашей экономикой и финансовыми системами (подробнее читайте здесь), что, когда он лопнет, то нанесёт ущерб всему. Поэтому предсказать, когда этот клоун пустится в свой смертоносный разгул, очень важно. Беда в том, что сделать такого рода предсказания также невозможно. Однако за последнюю неделю появились существенные признаки того, что этот пузырь уже начинает лопаться. Возможно, нам и не придётся ничего предсказывать, потому что, похоже, крах уже начался.

Читать далее

Вклад авторов