Обновить

Разработка

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

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

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

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

Читать далее

Как мы делали игру про NGFW, а получили квест по кибербезопасности

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

Как-то раз мы делали кликер для запуска нашего межсетевого экрана нового поколения (PT NGFW) — простую игру, где игроки-хакеры атакуют разные поколения файрволов. Задумка была классная: на последнем уровне пользователей ждал наш главный защитник — PT NGFW, и все их мощные инструменты против него внезапно становились бесполезными. Так мы хотели показать, что PT NGFW — это реальный инструмент для отражения кибератак, а проходимость трафика 300 Гбит/с — это не просто цифра, а реальный технологический прорыв.

Но в процессе разработки игры профессионалы из команды Phygital.Team так увлеклись геймдизайном, визуалом и механиками, что не учли, что кибербез-компания привлечет особое внимание кибервзломщиков.

Под катом — вся эта эпичная история со взломами, патчами на коленке и неожиданными поворотами.

(поиграть тоже дадим)

Кликнуть далее

Я ненавижу React

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

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

Читать далее

10 вопросов на собеседовании Junior Python-разработчика. Часть 1

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

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

Читать далее

Почему в России перестают работать WhatsApp и Telegram?

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

Несмотря на блокировку функции звонков в Telegram и WhatsApp, именно они остаются основным средством общения в России у людей практически всех возрастов. Большинство все равно продолжают использовать привычные платформы, пусть и в ограниченном режиме. Да, стало менее удобно, но возможность переписываться и потреблять контент, публикуемый в каналах, никуда не делась. Однако 21 октября произошло то, во что верить очень не хотелось: WhatsApp и Telegram начали блокировать. Нет, это не просто пугалка, а реально подтвержденный факт. Правда, сначала это было совсем неочевидно. Но обо всем по порядку.

Читать далее

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

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

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

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

Читать далее

Асинхронные цепочки задач в Рег.облаке: как повысить отказоустойчивость облачной платформы без потерь

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

Привет, Хабр! На связи Александр Усачёв, системный аналитик в группе облачных продуктов Рунити. В основе нашей облачной платформы Рег.облако лежит микросервисная архитектура: каждый сервис отвечает за свой участок бизнес-логики — от биллинга до управления сетями. Между собой они обмениваются задачами через брокер сообщений. 

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

Читать далее

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

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

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

Читать далее

Почему Google Переводчик «ломает» React (и другие веб-приложения)

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

Команда JavaScript for Devs подготовила перевод статьи о том, почему Google Переводчик может ломать React и другие современные веб-приложения. Причина в том, что расширение вмешивается в DOM, нарушая работу виртуального DOM и вызывая ошибки вроде removeChild и insertBefore. Автор показывает реальные кейсы, обходные пути и поднимает важный вопрос: имеет ли фреймворк право на полный контроль над DOM?

Читать далее

Интегрируем ресивер Триколора с «Домом с Алисой» с помощью Java и Spring

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

Привет! Меня зовут oldzoomer, и я хочу рассказать, как я подключил приёмник Триколор к экосистеме Яндекса, чтобы управлять им голосом через Алису. Всё сделано на Java 21, Spring Boot и официальном Stingray TV API - без хаков и модификаций прошивки.

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Gemini за полчаса решила то, что не осилили топовые студенты-программисты на олимпиаде

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

Привет, Хабр! Меня зовут Кирилл Пшинник, я научный сотрудник Университета Иннополис и CEO онлайн-университета zerocoder.ru. Поговорим о прорыве, совершенном Google DeepMind, и о том, можно ли это вообще считать прорывом. 

В сентябре нейросети «обскакали» студентов на Международной студенческой олимпиаде по программированию в Баку. Они были во внеконкурсе, но если бы участвовали на общей основе, то GPT-5 заняла бы первое место, решив 12 заданий из 12, а Gemini 2.5 Deep Think — второе с 10 заданиями из 12. И самое интересное: всего за полчаса «гугловская» нейросеть справилась с задачей «C», которую не смогла решить ни одна из человеческих команд. 

Читать далее

Когда база данных становится открытой книгой

Время на прочтение18 мин
Количество просмотров540

Базы данных превращаются в «открытую книгу», когда конфиденциальная информация из них становится доступна злоумышленникам или широкой публике из-за утечек. К сожалению, 2024-2025 годы принесли множество таких утечек – в самых разных отраслях. Согласно данным Роскомнадзора, только в России за 2024 год было зафиксировано 135 утечек баз данных, затронувших более 710 млн записей о россиянах. Лидерами по количеству утечек стали торговый сектор и государственные организации. В мире тенденция схожая: глобально число утечек и скомпрометированных записей бьёт рекорды. В этой статье будут разобраны недавние громкие кейсы утечек по секторам (энергетика, госсектор, e-commerce и др.), проанализируем технические причины: от открытых портов NoSQL и слитых резервных копий до уязвимых CI/CD-пайплайнов, а также практические рекомендации, как не допустить, чтобы ваша база данных стала общедоступной библиотекой. Мы в Security Vision также рассматриваем эти задачи как ключевые в разработке решений нового поколения, в том числе в области автоматизации защиты баз данных и безопасной разработки.

Читать далее

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

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

Обнаружение бэкдора в 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, чтобы гарантировать его защиту, потому что таких руководств и так уже много.

Читать далее

Обзор проблем и решений в ризонинговых LLM. Часть 1

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

Как-то раз мы со студентами-переводчиками по ИТ задались вопросом:

А реально ли LLM «думает»? Или она просто, подобно школьнику, подгоняет объяснения под ответ в конце учебника, не имея ни малейшего понятия о том, правилен ли этот ответ или логичны ли ее рассуждения?

Поиски ответов на этот вопрос привели нас к статье-исследованию "Empowering LLMs with Logical Reasoning: A Comprehensive Survey", адаптированный перевод которой мы и предоставляем вашему вниманию.

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

Читать о ризонинговых LLM

Начало работы с Jira Automation: шаг за шагом (Часть 1)

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

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

Читать далее

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

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

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

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

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

Читать далее

Провели опрос среди 2000 ИТ специалистов: «Микросервисы побеждают 4:1, low-code — 5:1». Но почему не всё так однозначно?

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

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

В начале октября на XIV Международной IT-конференции «Стачка» в Санкт-Петербурге — одном из крупнейших профессиональных событий российского IT-комьюнити — мы решили провести эксперимент. Что, если предложить разработчикам публично выбрать сторону в вечных холиварах? Например: Микросервисы или монолиты? Low-code или только ручной код?

Читать далее