Обновить
1098.88

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

MIT доказал провал 95% проектов, OpenAI признали галлюцинации, или почему ИИ никогда не заменит людей

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

Нобелевский лауреат Джеффри Хинтон, которого часто называют «крёстным отцом ИИ» за его гигантский вклад в технологию искусственных нейронных сетей, питающую современный ИИ, в последнее время обрушился с гневной тирадой на Big Tech. От обвинений в корпоративной жадности до подчёркивания опасностей ИИ, он, подобно Пандоре, отчаянно пытается запихнуть судьбы обратно в ящик. Но в недавнем интервью для Bloomberg он выкрутил громкость на одиннадцать, поставив под сомнение саму экономическую жизнеспособность ИИ.

На вопрос Bloomberg, окупятся ли когда-нибудь головокружительные инвестиции в ИИ, Хинтон ответил: «Я считаю, что не смогут», и уточнил: «Я считаю, что для того, чтобы заработать деньги, вам придётся заменить человеческий труд»...

Читать далее

Искусственный интеллект без иллюзий: как не сжечь бюджет компании на хайпе

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

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

Откуда у C‑level берётся представление о розовых единорогах?

Читать далее

Пишем Telegram-бота на Python: прикручиваем оплату Telegram Stars, систему промокодов и OpenAI

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

Привет, Хабр! В качестве пет-проекта для работы с API и базами данных решил написать своего бота-ассистента. Идея простая: прокси к OpenAI, но с нюансами: хотел разобраться, как работать с относительно новой внутренней валютой Telegram Stars, реализовать собственную систему промокодов и админку без использования громоздких фреймворков, оставаясь на библиотеке telebot (pyTelegramBotAPI).

Читать далее

Защита от мошенников: как я написал MVP версию сервиса для защиты от скама и мошенничества через Telegram

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

На дворе уже ноябрь 2025 года, за окном нашей необъятной во многих городах и селах, уже наступила зима, но в инфополе ярко полыхаент схема «купи квартиру, отдай обратно продавец заскамлен был — неведал что творил».

На фоне этих «интересных» событий мне стало интересно изучить техническую сторону того, как это происходит. Анализ множества видео с красно‑белого видеохостинга показал, что залог успешно обмана это момент когда мошенник контролирует ПК или телефон жертвы, заставив ее включить видеозвонок в месенджере или установив специальную программу на устройство.

Читать далее

Оптимизация производительности приложений: проблемы, решения, практические рекомендации

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

Приложение тормозит. Это жалоба номер один, которую слышат разработчики и архитекторы. Но "тормозит" — это не диагноз. Это симптом. За этим простым словом может скрываться что угодно: от плохо написанного SQL-запроса до "шумного соседа" в облаке или неправильной настройки сборщика мусора.

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

Читать далее

Искусство выжить. Простое руководство для настоящих программистов

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

Задача Эдсгера Дейкстры о философах – великая задача великого программиста. Уж сколько лет, а она актуальна. Решая ее, прикасаешься к этому величию. И вот, перефразируя известное, «давно не было такого и вот опять», можно познакомиться с ее «новым прочтением» на Хабре[1].

Ну, как новое?… Но она стала тем триггером, который подвигнул меня к очередной попытке ее решения. Тем более, что с момента знакомства с философами пролетела уйма лет, а в  багаже - опыт применения автоматной модели и значительно усовершенствованная среда их реализации.

Познакомился с проблемой обедающих философов – Dinning Philosopher Problem (DPP), я более двадцати лет тому назад (про DPP см. [2]). Результатом стала статья, в которой философы выполняли поставленную задачу, как минимум, не хуже, чем классические алгоритмы сортировок[3]. Позднее был сделан доклад на конференции по параллельным вычислениям в Саратове, где на суд научной общественности была предъявлена модель автоматных параллельных вычислений и пример ее приложения - задача Дейкстры[4].  

Замечание 1. В рамках обсуждения статьи на Хабре было проигнорировано  предложение поручить сортировку философам. Зря, конечно, т.к. надо же как-то убедиться, что предлагаемое решение работает хотя бы в первом приближении. К примеру, тот же DeepSeek, моментально выдавший свое решение DPP, так и не смог заставить их сортировать.

Не знаю, считается ли данная задача решенной, но то, с чем я знаком, по большей части беглое рассмотрение проблем, которые она отражает. У задачи есть теория, которая представлена монографией Хоара[5], или моделями сетей Петри у Питерсона[6] и В.Е. Котова[7] или другими подобными публикациям. Но, повторюсь, все это по большей части достаточно краткий анализ свойств модели и/или даже конкретного решения. Статья на Хабре из этой же серии. Все это ни как не окончательное решение описываемых ею проблем параллелизма. Правда, может, [авторами] вопрос так и не ставился, но все же ответ на него весьма желательно иметь.

Читать далее

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