Обновить
1134.12

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

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

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

Лучшие нейросети для вайбкодинга в 1С 5

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

В этом рейтинге обновлены: Gemini 3, GPT 5.1, GLM 4.6, Kimmi K2.

Предыдущая часть тут: https://habr.com/ru/articles/951884/

Некоторые условия эксперимента:

Читать далее

Новости

Увы, ваш синтаксис подсвечен безграмотно

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

Однажды в блоге у одного хорошего знакомого DevRel-a я увидел статью на весьма необычную для разработчика тему — как выбрать хорошую схему для подсветки синтаксиса в IDE.

Тема мне не чужда, часто приходится ковыряться в Python, а потому для меня вопрос цветовой схемы ни разу не праздный — от некоторых цветовых схем кровь из глаз (а они, глаза-то, увы, не казенные).

В общем, мы перевели и адаптировали этот материал для вас.

Читать далее

Числовой тип данных с плавающей точкой double IEEE 754

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

Данный пост является продолжением предыдущего поста, оно посвящено детальному разбору вещественного типа данных с плавающей точкой удвоенной точности double

Читать далее

OORexx. Класс блокировки ресурсов

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

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

В OORexx для реализации многопоточной работы есть инструкции «guard» и «reply». Но они относятся к работе в рамках одного процесса. Для синхронизации работы разных процессов можно использовать семафоры и внешние очереди (каналы). Вот о них мы и поговорим.

Читать далее

Пишем код, который живёт долго: SOLID, DRY, KISS, YAGNI

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

Мы продолжаем нашу серию статей, посвящённых фундаментальным концепциям разработки. Сегодня мы поговорим о проверенных практиках, которые помогают разработчикам избегать распространённых ошибок и работать эффективнее. Мы разберём принципы SOLID, а также парадигмы YAGNI, DRY и KISS, которые особенно актуальны в объектно-ориентированном программировании.

Читать далее

Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена

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

Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.

Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :-)

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

Читать далее

Вы доверяете ИИ больше, чем своим разработчикам. И это ваша главная ошибка

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

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

Но…

Читать далее

Почему архитектурный долг опаснее технического?

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

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

Читать далее

Вам стоит написать своего агента

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

Некоторые концепции легко усвоить абстрактно. Кипящая вода: греем её и ждём. Другие нужно попробовать самому. Вы думаете, что знаете, как работает велосипед, пока не попробуете покататься на нём.

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

К ним относятся и LLM-агенты.

Мнения о LLM и агентах невероятно разнообразны. Но даже если это мошенничество, это серьёзная идея. Они не обязаны вам нравиться, но вы должны быть правы относительно них.

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

Читать далее

Koda CLI: AI-помощник прямо в терминале – бесплатно, без VPN, с топовыми моделями

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

Мы в Koda верим, что современные инструменты должны быть доступны каждому разработчику, независимо от инфраструктурных ограничений, VPN или способов оплаты. Поэтому после релиза Koda для VS Code мы сделали следующий шаг – представляем Koda CLI.

Это полноценный AI-помощник в терминале, который работает без VPN, мгновенно отвечает, понимает русский язык и предоставляет лучшие модели – прямо там, где вы кодите каждый день.

Что умеет Koda CLI?

Читать далее

Сказ о том, как мы автоматизировали озвучку видео через нейросети

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

Всем привет!

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

Спойлер: результаты оказались неожиданными.
Расскажем, как мы тестировали разные решения для синтеза речи, с какими проблемами столкнулись и почему в итоге выбрали именно нейросети. Поехали!

Читать далее

Система объектов из Quake: шелл-скриптинг для игр

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

Игровой движок Quake невероятно сильно повлиял на технологию разработки игр. Он активно лицензировался, в том числе, для использования в таких топовых играх как «Half-Life», «Call of Duty» и «Star Wars: Jedi Knights». Вероятно, наиболее серьёзное влияние оказали те многочисленные разработчики, которые научились писать игры, занимаясь его моддингом, а затем принесли с собой его принципы в другие студии, обогатив ими развитие других движков.

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

В этой статье будет сделан краткий обзор системы объектов, сложившейся в Quake, и рассказано, на основе каких принципов она была спроектирована. С моей точки зрения особенно интересно, насколько сильно эта философия схожа с принципами, заложенными в основу UNIX. Оба решения можно резюмировать как системы, в каждой из которых есть одна базовая субстанция (в UNIX это файл) и язык, на котором можно описывать сочетание простых поведений, комбинирующихся в эмерджентном порядке (оболочка).

Читать далее

Специфика перехода к сервисной архитектуре в финтех-проектах: кейс команды разработки финтеха ВКонтакте

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

Рефакторинг исторического кода с переходом на сервисную архитектуру напоминает игру в дженгу — надо аккуратно перестроить существующий проект и не сломать его. Но если вы меняете архитектуру с учётом жёстких требований PCI DSS в финтех-проекте, то одновременно с игрой в дженгу вам нужно балансировать на шаре и решать сложные уравнения. В этом мы убедились на собственном опыте.

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

Читать далее

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

Основы DSL в Kotlin

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

Domain Specific Language (DSL) — это язык, ориентированный на конкретную предметную область, который позволяет выражать решения в терминах этой области. В отличие от языков общего назначения вроде Java или Kotlin, DSL фокусируется на узкой задаче, делая код более читаемым и выразительным. 

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

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

Читать далее

Как я добавил on-chain награды и NFT в Solana Quiz: практические находки, ошибки и рабочие советы

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

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

Вот ссылка на ту статью - чтобы не повторять архитектуру и базовые вещи:

👉 https://habr.com/ru/articles/956186/

С тех пор я значительно расширил функционал: я добавил on-chain награды, 7-дневные стрики и самое интересное - NFT за серию полностью правильных ответов.

Казалось бы, задача простая: получил событие - начислил токены - иногда выдал NFT.

Но за этим "иногда" скрывается целая гора нюансов: от Solana PDA до порядка вызовов в метадате и странных ошибок, которые не объяснены ни в одном официальном гайде.

Читать далее

Закрепи меня покрепче: Pin, самоссылки и почему всё падает

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

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

Сегодня я хочу поделиться своим опытом и знаниями о pinning в Rust, замечательной конструкции Pin, которая поначалу вызывает вопросы, зачем нужен какой-то пин, если и без него всё работало?

Но вот незадача, без Pin не реализовать безопасно ни одну хитрую программку, самоссылающиеся структуры и связанные с ними асинхронные генераторы. В этой статье я расскажу, почему вообще появился Pin/Unpin, как он спасает от падений программы, и как правильно его применять на практике.

Закрепиться

QML без шапочек из фольги: чего реально достигли к 2025 году

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

Привет! Меня зовут Михина Полина, сейчас я аналитик в Cloud.ru, а в прошлом занималась разработкой противоопухолевых препаратов в ФИЦ ПХФ и МХ РАН. Этот опыт позволяет мне смотреть на развитие квантовых технологий, в частности на квантовое машинное обучение (QML), через призму конкретной проблемы, которую она может решить.

Ранее я убедилась, что процесс драг-дизайна устроен крайне сложно. Каждая потенциальная молекула — это месяцы расчётов, синтеза и экспериментов, где малейшая ошибка возвращает исследователя в начало. Квантовые методы, как QPE  (Quantum Phase Estimation, алгоритм квантовой оценки фазы), могли бы радикально сократить этот цикл, позволяя моделировать взаимодействия молекул и их энергетические состояния с точностью, недостижимой для классических вычислений. Это особенно важно, когда сложность исследуемых систем растет, и приходится прибегать к приближениям, что снижает точность и увеличивает время вычислений.

В этой статье мы трезво посмотрим на QML: где оно уже работает (и работает ли?), с какими ограничениями сталкивается и что из этого может быть полезно IT-специалистам без громких заявлений о «квантовом будущем через наносекунду».

Читать далее

Теория мёртвых фреймворков

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

Команда JavaScript for Devs подготовила перевод статьи Пола Кинлана о том, почему новые веб-фреймворки сегодня оказываются «мёртвыми при рождении». Автор утверждает: сочетание сетевых эффектов, экосистемы React и обучения LLM формирует замкнутый цикл, в котором альтернативы просто не успевают набрать критическую массу.

Читать далее

Реверс-инжиниринг шифрования прошивки радиостанции

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

Любительские радиостанции — интересный способ знакомства с работой радиоспектра; что ещё более важно, это встроенные устройства, на которых могут быть установлены странные чипы/прошивки! Мне стало любопытно, насколько просто взломать мою Yaesu FT-70D, поэтому я приступил к расследованию. Единственный ресурс по радиостанциям Yaesu — это пост на Reddit о кастомной прошивке для Yaesu FT1DR.

Пользователь Reddit написал, что если выполнить процесс обновления прошивки через USB, то радиостанция раскрывает микроконтроллер Renesas H8SX, флэш-память которого можно изменить при помощи Renesas SDK. Отличное многообещающее начало, но SDK было не так легко настроить, а я не был даже уверен, сможет ли он сдампить прошивку... поэтому долгое время не брался за него.

Читать далее

Python 3.14 без GIL: что это значит для веб-разработки

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

Команда Python for Devs подготовила перевод статьи о том, как "free-threaded" Python меняет правила игры для веб-сервисов. Автор сравнивает Python 3.14 с GIL и без него на реальных ASGI и WSGI приложениях — и приходит к неожиданному выводу: несмотря на локальные просадки в производительности, "free-threaded" Python уже сейчас может упростить масштабирование и снизить накладные расходы.

Читать далее

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