Обновить
1063.43

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Cursor: Обзор и возможности

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

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

Читать далее

Распродажа в издательстве «Питер»

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

Привет, Хаброжители!

O’Reilly становится ближе! На книги из категории O'Reilly и Head First O'Reilly действуют скидки, теперь ваши любимые бестселлеры доступны ещё выгоднее!

Читать далее

Разработал чат бота для программистов BayLang AI

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

Привет Хабр! Меня зовут Ильдар. Я создал чат бота помощника для программистов.

Я сделал видео обзор этого чат бота

Читать далее

Единственная шпаргалка по ReactJS, которая вам нужна

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

Добро пожаловать в ещё одну шпаргалку по React! Но подождите, это не то, что вы подумали — не просто набор случайных примеров кода и банальных объяснений, как в других шпаргалках.

Обещаю, это будет по-настоящему полезно. Мы вместе разберёмся, как работает ReactJS, и как реализованы все его крутые фичи «за кулисами», с помощью интерактивных демо, которые я специально подготовил для вас. Это поможет вам реально понять, как всё устроено, и применять знания на практике.

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

Команда «жыбий рыр»: Войти в IT через хакатоны

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

Всем привет! Меня зовут Михаил — я студент и backend‑разработчик из Ростова‑на‑Дону. С 2021 года я хожу на хакатоны и уже принял участие в 16-ти, многие из которых были выиграны нашей командой. Этой статьей я хочу на собственном примере показать почему хакатоны — это классно и зачем в них участвовать начинающим специалистам.

Читать далее

3 инструмента, которые автоматически превращают код Python в формулы LaTeX

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

Команда Python for Devs подготовила перевод статьи о том, как превратить код Python в элегантные математические формулы прямо в Jupyter-ноутбуке. Если вы строите финансовые модели, алгоритмы или научные расчёты — LaTeX поможет оформить их профессионально. В статье разбираем четыре инструмента: IPython.display.Latexдля ручного рендеринга, handcalcs для пошаговых вычислений, latexify-py для автоматического преобразования функций и SymPy для символьной математики.

Читать далее

Combine – швейцарский нож iOS-разработчика. Или нет?

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

Привет! Меня зовут Антон, я iOS-разработчик в Банки.ру. Когда я только начинал изучать Combine, он казался для меня магией. Пара команд – и вот у тебя уже есть какие-то данные. Чтобы Combine перестал оставаться черным ящиком давайте заглянем внутрь. Эта статья – мое виденье этого фреймворка.

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

Давайте рассмотрим Combine изнутри!

Читать далее

Kubernetes кластер на миллион узлов. Обзор проекта k8s-1m

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

Команда Go for Devs подготовила перевод k8s-1m — кейса о том, как не догадки, а измерения двигают пределы Kubernetes. Ключевые идеи: изоляция QPS по типам ресурсов, смягчение гарантий хранения для эфемерных данных, и шардирование планировщика. Полезно всем, кто проектирует крупные кластеры или хочет работать с ними.

Читать далее

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

Паттерны ООП, так не издевались даже… Структурные шаблоны с примерами на Java

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

Привет! Меня зовут Бромбин Андрей. В этой статье разберём структурные паттерны ООП. Используя примеры на Java и простые метафоры, поймём природу шаблонов: как они работают, зачем нужны и чего требуют от нас взамен. Почему дизайн называют удачным при использовании паттернов по назначению, и почему так бывает не всегда.

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

Шаблонизироваться

Анализ смарт-контрактов на примере Solidity

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

Блокчейн-индустрия переживает период беспрецедентного роста, при этом общая стоимость заблокированных активов (Total Value Locked, TVL) в децентрализованных финансовых протоколах превышает 200 миллиардов долларов по состоянию на 2024 год. Вместе с ростом экосистемы растет и количество инцидентов безопасности, связанных с уязвимостями в смарт-контрактах. Согласно отчету Chainalysis, только в 2023 году потери от хакерских атак на DeFi-протоколы составили более 3.7 миллиардов долларов. История блокчейн-индустрии изобилует громкими случаями эксплуатации уязвимостей смарт-контрактов.

Я Радда Юрьева, работаю в команде AppSec и вместе с коллегами из отдела Web3 исследую вопросы безопасности смарт-контрактов. В этой статье хочу поделиться нашим опытом анализа уязвимостей Solidity-кода и рассказать, какие подходы помогают находить и предотвращать ошибки на ранних этапах разработки Solidity-контрактов.

Читать далее

Веб-архитектуры и Джеймикс

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

Это может прозвучать необычно, но развитие полноценных веб-приложений фактически началась с фронтенд-технологий. До разделения кода систем на фронтенд и бэкенд все они были как бы разновидностью сайтов, но с более сложными процессами, выполняющимися “на сервере”. На каждый запрос пользователя, сервером ему отдавался новый документ с такой же шапкой и подвалом. За редким исключением эти интерфейсы выходили достаточно примитивными, ведь каждое действие пользователя заставляло систему сначала немного подумать, и затем нарисовать новую страницу для результативного состояния. Значительные манипуляции с содержимым страницы в браузерах обычно были крайней непроизводительными, да и оказывались сложны для реализации. Изначально HTML-сайты или Web задумывались как упрощенный вариант издательской системы, в основе которой лежала идея "гипертекста” с переходами от одних страниц к другим через ссылки.  

Читать далее

Выжимаем из Go скорость до последних наносекунд

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

Будем оптимизировать программы на Go. Выжимать последние наносекунды, чтобы код приближался по скорости к Си или ассемблерному. Цель - скорость, чтобы процессор был загружен на 100% при высокопроизводительные вычислениях.

Читать далее

Совместимость в Java: что может пойти не так?

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

Совместимость — фундаментальная характеристика платформы Java, обеспечивающая стабильную работу программ при эволюции JDK. Однако понятие «совместимость» многогранно: исходный код, бинарные файлы и поведение программ оцениваются по разным стандартам.

В новом переводе от команды Spring АйО разберем три ключевых категории совместимости: на уровне исходного кода, бинарную и поведенческую, а также рассмотрим нюансы сериализуемой и миграционной совместимости.

Читать далее

Агент на Kotlin без фреймворков

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

Статья является продолжением Пишем агента на Kotlin: KOSMOS, но может читаться независимо. Мотивация к написанию — сохранить читателю время на возьню с фреймворками для решения относительно простой задачи.

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

В статье хочу показать, как самостоятельно написать аналог Koog или Langchain4j. У вас не будет всех их фичей, зато будет очень простая и расширяемая система.

Читать далее

Какие они, типичные DS-специалисты, и как часто ИИ пишет за них код: результаты совместного опроса Хабра и Авито

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

Хабр и технологическая платформа Авито решили заглянуть в мир ИИ и понять, кто всё это создаёт. Мы провели опрос среди пользователей Хабра, чтобы лучше узнать, кто такие современные дата-сайентисты и какие у них привычки, есть ли у них ИИ-любимчики, какие ИИ-инструменты они используют в работе. Около 500 разработчиков в сфере ML/DS ответили на самые разные вопросы — не только про свою профессиональную деятельности и нейросети, но и про увлечения и общение с родственниками.

Заглянуть в мир ИИ

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