Обновить
1024K+

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

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

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

Android, iOS и немного Python: подходит ли Kivy для реальных кроссплатформенных задач?

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

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

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

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

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

 Давайте вместе разберемся — что же такое Kivy?

Читать далее

Mode collapse в авто-блоге: четыре пятницы подряд LLM приносила нам один и тот же «спорный вопрос про ИИ»

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

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

Расскажу, какие четыре вещи я попробовал, прежде чем признать, что промпт-инжинирингом эту штуку не лечат. По дороге всплыло, что часть проблемы сидела не в промпте, а в нашей собственной конфигурации Gemini, на которую я не сразу обратил внимание (точнее - вообще не видел). И как в итоге мы перевели генератор тем с открытого «придумай вопрос» на заранее детерминированную ротацию из курируемого пула. Без файнтюна, без RAG, без переезда на другую модель.

Читать далее

Senior на бумаге, Junior в рантайме: как я тестировал локальные LLM на 120B параметров в Greenfield-проекте

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

Недавно я задался вопросом: можно ли организовать полноценный agent dev loop (то есть, цикл разработки агентов), используя только локальные модели? Идея заманчивая — гонять агента по задачам бесконечно, не оглядываясь на счета от OpenAI или Anthropic и не переживая за утечку кода.

Чтобы проверить это, я выделил кластер и столкнул лбами три тяжеловеса из мира open source. Спойлер: архитектурно они все — Senior-разработчики, но когда дело доходит до docker-compose up, начинаются проблемы.

Читать далее

Структуры данных на практике. Глава 13: Структуры данных без блокировок

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

«Блокировки — это goto конкурентного программирования», — Морис Херлихи

Проблема 60%

Наша система логгинга тратила 60% своего времени на ожидание снятия блокировок. Не на выполнение полезной работы, только на одно ожидание.

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

Пропускная способность: 850 тысяч сообщений в секунду. В восьмиядерной системе она должна быть гораздо выше.

«Можно ли улучшить ситуацию, отказавшись от блокировок?», — спросил меня мой менеджер во время ревью производительности.

Этот вопрос привёл к полной смене архитектуры...

Читать далее

Python SDK для Битрикс24: основные возможности и история создания с использованием Битрикс24 MCP-сервера

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

Создание собственных приложений и интеграций для Битрикс24 остаётся востребованной задачей. Однако разработчики сталкиваются с рядом сложностей, которые замедляют разработку и повышают порог входа. Ключевая из них — работа с обширным REST API. Для разработчиков на PHP и JavaScript существуют официальные SDK. Тем, кто использует другие языки, до недавнего времени везло меньше. Им приходилось постоянно обращаться к документации, чтобы уточнить параметры, формат запросов и допустимые значения.

Мы в своей практике используем Python, и эта проблема напрямую касалась нас. В какой-то момент мы решили закрыть её системно — и разработали собственный SDK для работы с Битрикс24, который стал официальной библиотекой

В этой статье мы расскажем, какие задачи решает эта библиотека и как мы создавали её с использованием ИИ и MCP-сервера Битрикс24 для разработчиков.

Читать далее

Cursor — всё? Почему отдельный ИИ-редактор перестаёт быть нужен

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

К весне 2026 года Claude Code уже вышел на run‑rate выручки свыше $2,5 млрд, а Codex используют более 4 млн разработчиков в неделю. Ещё год назад такие цифры казались бы фантастикой для инструментов вокруг кода. Теперь это новая реальность: владельцы ведущих моделей больше не ограничиваются API и исследованиями — они сами заходят в терминал, IDE и корпоративный контур разработки.

На этом фоне особенно интересно, что происходит с Cursor. Ещё в 2023–2024 годах он выглядел почти идеальным ответом на вопрос, как должна выглядеть современная разработка с ИИ. Не чат сбоку, не набор автодополнений поверх редактора, а полноценная среда, которая понимает кодовую базу, держит контекст и помогает программировать эффективнее. Но к весне 2026 года вопрос звучит уже иначе. Не хорош ли Cursor, а остался ли вообще смысл в отдельном платном ИИ‑редакторе, если создатели ведущих моделей пришли в этот слой напрямую.

Именно поэтому главный вопрос для Cursor сегодня не в том, «умрёт ли компания». С компанией как раз всё неплохо: по данным Bloomberg, годовой темп выручки Cursor превысил $2 млрд. Вопрос в другом: не исчезает ли сама логика, при которой отдельный ИИ‑редактор является обязательной прослойкой между разработчиком и ведущими моделями.

Читать далее

Быстро, дешево, качественно. Теперь одновременно, но есть нюанс

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

Меня зовут Александр Сахаров, я директор по партнерствам в компании Диасофт. И тезис, с которого начну, довольно дерзкий: старый айтишный треугольник «быстро, дешево, качественно, выберите два» в 2026 году можно закрывать. Правда, с одним условием, о котором почему-то  практически не говорят.

На днях мы собрались с коллегами обсудить мифы вокруг искусственного интеллекта. Поговорили про AGI и массовые увольнения из-за внедрения ИИ, но с определенной долей скепсиса. И вот почему. Дело в том, что по свежим данным 56 процентов CIO в мире за последний год не получили от ИИ ни роста выручки, ни снижения затрат. Удивлены?

Читать далее

Три мифа, на которых горит dev-бизнес: почему армия джунов и магия ИИ не спасут ваш проект

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

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

Часто, заходя в крупные ИТ-проекты, мы наблюдаем одну и ту же картину: заказчики выбирают «странные пути», которые кажутся логичными на бумаге, но на практике сжигают миллионы рублей и годы времени. Это не просто ошибки планирования, а фундаментальные мифы, которые до сих пор живут в головах топ-менеджмента.

Недавно мы собрались с коллегами, чтобы препарировать эти заблуждения. Если вам ближе видеоформат, полную версию нашего разговор можно посмотреть на Youtube, а обсудить технические нюансы мы всегда готовы в Telegram-канале Департамент разработки.

Читать далее

SDD на масштабе FullStack‑приложения: 17 спринтов, две конституции, три чата

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

В первой статье я писал про SDD на примере одного вечера. После чего прошёл 17 спринтов SDD на FullStack‑приложении: B2C‑трекер привычек и целей, два репозитория, 251 тест на бэке и 77 на фронте, релиз в продакшен. Здесь — что не дало мне потерять контроль на этом масштабе.

Читать далее

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

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

Привет, Хабр. Я b0w9r.

Полтора года назад мои знания в разработке находились на отметке 0.00. Кто‑то из вас, возможно, помнит мою историю: я начинал учить HTML и CSS, выписывая теги ручкой в тетрадь, потому что у меня не было не ноутбука не компьютера.

Я всё ещё иду по следам программирования, но недавно я сделал важный шаг — всего за 1 месяц я собрал и выкатил свой первый продукт: FocusMind (локальный рабочий хаб с Pomodoro, задачами и заметками).

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

Читать далее

Возвращение блудного программиста (ч.2)

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

Предыстория тут.

Возвращение началось с осознания, что мир IT уже не тот, каким я его помню. Хотя бы потому что работодатель понял, что программист не равно администратор сети и/или СУБД, тем более не просто «компьютерщик» на все руки.

Читать далее

От написания промптов к проектированию контекста. Или один очень обширный материал по Context Engineering

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

Если вы часто упираетесь в лимиты Claude Code / Codex и не понимаете, куда улетают токены — этот лонгрид для вас

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

Разбираемся

1. Как устроено контекстное окно изнутри: 7 слоёв (от весов модели до MCP и skills)
2. Что такое attention и при чем тут O(n²)
3. Как работает agent loop на примере 4 вызовов модели
4. Почему prompt caching экономит до 10× в лимитах при правильной работе с ним

Сууупер длинная статья

Че там Че там 👀

Почему диффузия рисует швы на 40-мегапиксельных фото и как сделать тайлы с памятью

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

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

Я двадцать лет работаю ретушёром и четвёртый год пытаюсь это починить, приспособить диффузионки к профессиональной съёмке. Все эти годы любой подход, что мой, что чужой, крутится вокруг одного: режем картинку на 100+ тайлов, обрабатываем каждый отдельно, склеиваем обратно. И каждый раз вылезает то же самое - тайлы не согласовываются между собой.

В статье разбираю три идеи о том, как у фото-модели может появиться память между соседями. Восемь архитектурных классов памяти из видео-диффузии (BCLA из SANA-Video, FramePack, SVD reshape, AnimateDiff и другие): какие переносятся на тайлы, какие нет и почему.

Читать далее

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

Биологический квайн: программа из 75 букв ДНК, которая копирует сама себя

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

Если задать гуглу вопрос «какая система счисления у ДНК», он честно скажет — четверичная. Четыре буквы (A, C, G, T) кодируют всё, что есть в живом. Каждые три подряд — кодон, итого 64 комбинации, чего хватает с запасом на любой опкод компактной стек-машины.

Я подумал: это же буквально готовый язык программирования. Природа уже нарисовала байткод, осталось написать виртуальную рибосому и проверить — можно ли в этом байткоде сделать квайн — программу, которая печатает сама себя. Самовоспроизводящуюся последовательность.

Спойлер: можно. И влезает в 75 нуклеотидов. Это меньше, чем длина среднего твита.

В этой статье я расскажу, как устроена эта штука: соберём четверичный байткод из ДНК, напишем стек-машину, которая по нему ходит, а в конце — соберём 75-нуклеотидный геном, который копирует сам себя нуклеотид за нуклеотидом. Дальше из этого вырастет 3D-симуляция тканей, эволюция и драматичная история про вымирание колонии — но это будут следующие статьи серии.

Читать далее

Динамический ресайзинг изображений (Image Previewer)

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

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

Читать далее

Знакомство с одним прогоном Mythos применительно к Firefox: а разговоров-то было?

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

Когда компания Anthropic анонсировала свою большую языковую модель Mythos , на первый взгляд этот инструмент произвёл неиллюзорное впечатление, а кого-то и всерьёз озаботил. Но, вчитавшись в материалы о Mythos, замечаешь, что общественный отклик не столь однозначен, как броские заголовки. То и дело приводится цифра «до 20 000 долларов», но она не означает, что Mythos походя нашла один катастрофический баг, поиск которого был оценён в такую сумму. В собственном отчёте компании Anthropic описано, что в эту сумму входит обширный поиск, сложившийся из тысячи взаимодополняющих прогонов, а найдено было несколько десятков трофеев. Бесспорно, это тоже замечательное достижение, но правда отличается от той патетической версии событий, которую подхватила молва. Далее компания Mozilla выпустила статью, в которой рассказала, что при помощи Mythos удалось выявить в браузере Firefox 150 множество проблем, найденных средствами ИИ, причём, они клонят всё к тому же: искусственный интеллект всерьёз заявил о себе в поиске уязвимостей. В оригинале этот пост называется «The zero-days are numbered» (Нулевые дни сочтены).

Читать далее

Эмулятор Qemu | Установка и настройка

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

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

Читать далее

Итерация 0 закрыта: от спеки до «Привет» в боте

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

Короткий апдейт. Первая статья была про спеку и архитектуру до первой строчки кода — вот что произошло дальше.

В первой статье я пообещал: следующий пост — когда появится работающий код, вебхук ответит «Привет», событие запишется в базу. Обещание выполнено.

Читать далее

Gemini перестал работать с VPN. Что делать?

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

Gemini перестал работать через vpn. Оказалось, что Google начал воспринимать некоторые ip-адреса за Российские. Я решил разобраться с этой проблемой и поделился, что сделал, чтобы диагностировать проблему и решить её

Читать далее

Деконструкция GO: CPU, RAM и что там происходит. Системные вызовы. Часть 1.5

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

Итак, финал части 1! По крайней мере основного разбора без дополнений. Собственно, сегодня мы разберем то, чем в основном с точки зрения ядра ОС и CPU являются все вот эти ваши бэкенды – системные вызовы и всё, что вокруг них.

На самом деле механизм немного замудренный и “в лоб” сразу все эти системные вызовы мы разбирать не будем, потому что вокруг них существует ещё несколько концепций.

Итак, начнем!

User mode, Kernel mode

Процессор исполняет код в разных уровнях привилегий.

Это механизм защиты, который не позволяет пользовательским программам напрямую управлять системой. Зачем? Для безопасности. Чтобы чей-нибудь опасный ассемблерный вайбкод случайно всё не поломал!

Да и вообще, если бы любая программа могла выполнять любые инструкции CPU, она могла бы:

• Читать память других процессов

• Управлять устройствами

• Изменять таблицы страниц

• Выключать систему

Чтобы этого не происходило, CPU разделяет код по уровням доступа.

Хотя в архитектуре x86 существует 4 уровня привилегий:

Ring 0 – kernel mode

Ring 1 – драйверы

Ring 2 – системные службы и файлы

Ring 3 – user mode

По факту, Ring 1 и Ring 2 – это легаси, которое американские деды проектировали с научной красотой, но без реальной производственной необходимости. В реальной жизни используются только 2 уровня – Ring 0 и Ring 3 для бОльшей совместимости софта с другими ОС, упрощения поддержки, да и вообще переключение уровней доступа дорогое(100-150 тактов CPU), соответственно, чем больше колец, тем хуже производительность.

Получается, что

В user mode выполняется обычный код программ.

Читать далее