Как стать автором
Поиск
Написать публикацию
Обновить
1009.45

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

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

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

Кофеин vs продуктивность: нейропсихология кода после третьей чашки

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

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

Читать далее

Безопасность API (аутентификация и авторизация): проблемы, решения, практические рекомендации

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

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

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

Читать далее

Российские ученые построили цифровую квантовую механику

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

Ученые из МФТИ построили цифровой аналог квантовой механики. Эта модель позволяет естественным и удобным образом моделировать любые квантовые явления на компьютере. Работа опубликована в Theoretical and Mathematical Physics.

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

Читать далее

Мое видение универсального языка программирования

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

Язык программирования, даже общего назначения, - это инструмент. Каждый язык хорош в решении задач своей сферы: C++ позволяет писать эффективные программы, Haskell - писать элегантный параллельный и математический код, C# - создавать программы на гибкой масштабируемой архитектуре. Современные языки заставляют нас мириться с их недостатками: отсутствие нужной системы типов, нехватка синтаксического сахара, отсутствие парадигмы X. Все хоть раз мечтали о языке, который удобен для решения любой задачи.

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

Читать далее

GRPC в деле: проблемы реального сервиса

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

Привет, Хабр! Я Владислав Кислый, разработчик отказоустойчивых нагруженных сервисов в Т-Банке. Расскажу страшную сказку о том, как в одной компании взялись разрабатывать сервис. 

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

Читать далее

Просто будь ленивым

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

В новом переводе от команды Spring АйО рассматривается JEP 502, который вносит в Java 25 StableValue. StableValue позволяет легко и эффективно реализовывать производительные ленивые конструкции. Новое API позволяет компилятору JIT заранее сворачивать вычисления (constant folding), повышая производительность. Искали Lazy, но нашли золото: StableValue вычисляется один раз и может быть подготовлен Ahead Of Time.

Читать далее

Билд, который построил Gradle: разбираемся в современной сборке проектов под C++

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

Привет, Хабр! Меня зовут Александр Корнилов. Я старший разработчик в «Лаборатории Касперского» — в мобильном подразделении Kaspersky OS. Так получилось, что большую часть своей жизни я занимался системным программированием. Сегодня хочу поднять важную и болезненную тему практически для всех С/С++-разработчиков — поговорить про билд-системы.

Читать далее

От математики к машине: преобразуем функцию в машинный код

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

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

1. Математика — чистая математика
2. Haskell — язык для функционального программирования
3. C — язык для императивного программирования
4. Ассемблер — сравнительно удобочитаемое представление машинного кода
5. Машинный код для архитектуры x86-64 — вот это уже интересно

Если вам интересно, какие отличия бывают между языковыми стилями или любопытно, как ваш код может выглядеть после компиляции — добро пожаловать под кат!

Читать далее

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

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

Кейс: замена иностранных ПЛК на заводе по производству непрерывного стекловолокна, сокращение простоев и внедрение мотивации персонала без остановки производства 

Замена иностранных ПЛК на отечественные: что пошло не так и как исправили 

В 2024 году выполнена замена 12-летних Schneider TSX на отечественные программируемые логические контроллеры (ПЛК) и SCADA-платформу — прямо на работающей линии непрерывного производства стекловолокна, где каждая остановка печи = потеря партии и дорогостоящий простой. В этом посте рассказываем, как за полгода ушли от сбоящих контроллеров к полностью отечественной архитектуре с Modbus-TCP, LD-кодом и отчётами, которые легли в основу механизма мотивации операторов. 

Структура 

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

Читать далее

ИИ-программист: от создания сайтов до ремонта кода. Где реальность, а где фантазии?

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

Искусственный интеллект сегодня пишет код, исправляет ошибки и даже создает веб-сайты по текстовому описанию. Инструменты вроде GitHub Copilot и Devin AI создают ощущение, что до появления полноценного ИИ-разработчика, способного с нуля создать и поддерживать сложный проект, остались считанные месяцы. Но так ли это на самом деле?

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

Читать далее

Что делать, если ваш слон думает, что он баг?

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

Мы окунулись в веб-разработку и нашли там необычное животное. Это был слон с повадками бага. Мы изучили код проекта PHP и поняли, в чём дело. Давайте вместе посмотрим на необычные случаи, которые могут привести к неожиданным результатам.

Читать далее

Allure + Jenkins/Gitlab CI. Настройка автоматической отправки отчетов по почте

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

Автоматизированное тестирование – важная часть разработки, но недостаточно просто запускать тесты. Важно предоставлять отчёты в удобном и наглядном формате, чтобы повышать прозрачность процессов и улучшать командную коммуникацию.

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

Привет! Я SDET-специалист SimbirSoft Руслан, и в этой статье мы разберем как настроить SMTP-сервер для отправки почты в Jenkins, как настроить GitLab Runner и как автоматизировать отправку отчетов после выполнения тестов.

Читать далее

60 бесплатных уроков сентября: от Golang и FastAPI до ML и Kubernetes

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

Хотите прокачать навыки в Golang, понять, как работает FastAPI, освоить практики MLOps или разобраться с Terraform? В сентябре вас ждут 60 бесплатных уроков по разным ИТ-направлениям: программирование, архитектура, инфраструктура, безопасность, тестирование, ML, аналитика и управление.

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

Читать далее

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

Состояние Python в 2025 году

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

Команда Python for Devs подготовила перевод статьи, основанной на 30 000 ответов разработчиков. TL;DR: 50% разработчиков пишут на Python меньше двух лет, Rust тихо становится «вторым пилотом», FastAPI вырывается вперёд, а агентный AI уже меняет то, как мы пишем код.

Читать далее

Определение положения объектов на изображении: как найти пространственные координаты объекта, используя OpenCV

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

Как найти 3D координаты объектов на изображении?

Статья о задаче пространственной локализации объектов на изображении с одной камеры и о её решении с помощью OpenCV

Читать далее

Примеры применения EPLAN API для создания собственного модуля Add In

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

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

Если вы когда-нибудь чувствовали, что стандартных инструментов EPLAN не хватает, значит пора взглянуть на его API. В статье я покажу, как написать свой первый Add-In на C#, добавить кнопку на Ribbon и заставить её выполнять полезные действия. Всё на примерах — от простого «Hello World» до работы с объектами и настройками EPLAN.

Читать далее

RegExp с флагом /v: наборы, пересечения и юникод-свойства

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

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

Сегодня рассмотрим флаг регулярных выражений v в JavaScript. Флаг поддержан в современных движках и Node 20+, а для старых окружений есть транспиляция через Babel. Начнём с краткой ориентации где это уже работает и почему синтаксис отличается, а потом пойдём в практику.

Читать далее

Поддержка Spring 7, Reactive Debugger, работа с БД и HTTP прямо в IDE: это и много другое в Amplicode 2025.2

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

Amplicode 2025.2 — это релиз, в котором мы закрыли десятки мелких раздражающих моментов, и усилили поддержку ключевых технологий — от Spring и Spring Data JDBC до Docker, Kubernetes и Terraform. А также сделали интеграцию с базами и HTTP-сервисами ещё более бесшовной.

Читать далее

Единый дистрибутив, JSpecify, Java 25 и новый Spring Debugger: это и многое другое в IntelliJ IDEA 2025.2

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

IntelliJ IDEA 2025.2 — это релиз, который уже вызывает горячие обсуждения в комьюнити. JetBrains сделали первые шаги в сторону единого дистрибутива, добавили поддержку свежих технологий вроде JSpecify и Java 25, а ещё представили инструмент, который может изменить подход к отладке Spring-приложений.

Читать далее

Жмых-жмых и в продакшен: как быстро написать админку

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

Всем привет, меня зовут Дмитрий Кремнев и я Java-разработчик в команде Jmix. Недавно на конференции смотрел доклад, в котором спикер рассказывал, как его команда справлялась с проблемой быстрого написания админок для внутренних сервисов. Сначала они реализовали дорогое самописное решение для своей команды, затем появилась идея масштабировать его и для остальных команд. Искали готовые альтернативы на рынке, которые удовлетворят все их бизнес-требования, но в итоге остановились на гибридном кастомном решении, основанном на low-code платформе. Проблемы, которые они решали мне показались очень знакомыми, ведь мы в команде тоже с ними сталкивались. В этой статье я хочу показать, как с помощью Jmix решаются типовые задачи при создании админок. Постараюсь быть конкретным, показать плюсы и ограничения.

Сделать красиво

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