Все потоки
Поиск
Написать публикацию
Обновить
1018.94

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

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

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

Квантование в картинках: раскрываем тайны сжатия LLM

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

Большие языковые модели (LLM, Large Language Model), как подсказывает их название, часто отличаются значительными размерами и слишком велики для того, чтобы нормально работать на обычных компьютерах. Масштабы этих моделей могут измеряться миллиардами параметров. Обычно для обеспечений достойной скорости их работы необходимы GPU с серьёзными объёмами видеопамяти (VRAM).

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

Читать далее

Почему программисты боятся ИИ, но учатся с ним жить

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

Microsoft уволил 9000 разработчиков. Среди них — создатели ИИ-инструментов, которыми их же и заменили. Это не единичный случай: по всему миру программисты массово игнорируют искусственный интеллект, считая его игрушкой или угрозой. Владимир Крылов — доктор технических наук, лектор на канале Ai4Dev по применению ИИ в разработке ПО — видел рождение первых языков программирования и теперь наблюдает, как индустрия стоит на пороге радикальной трансформации. В интервью он объясняет парадокс: почему ИИ действительно замедляет работу в legacy-проектах, но при этом промпт-инжиниринг уже мертв, а на смену ему пришел контекст-инжиниринг.

Читать далее

CSS, который все ненавидят: sin() и cos()

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

Команда JavaScript for Devs подготовила перевод статьи о том, почему тригонометрические функции стали «most hated» возможностью CSS и как их можно использовать с пользой. Мы разберёмся, что делают sin() и cos(), и посмотрим на практические примеры: от круговых раскладок до затухающих анимаций.

Читать далее

«Перловый ренессанс»: почему забытый язык Perl снова в деле

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

Представьте: вы сидите за терминалом, перед вами — гигабайт логов, и нужно за минуту вытащить ключевые паттерны, сгенерировать отчет и не утонуть в коде. Python? Можно. Но есть инструмент, который справится быстрее, лаконичнее и без лишних библиотек. Это Perl — язык, который многие из вас оставили еще в нулевых. Но в 2025 году он неожиданно выстрелил, взлетев с 27-го на 10-е место в рейтинге Tiobe. Что за магия, что произошло? Давайте разбираться.

Читать далее

Сборщик мусора в Go. Часть 2: GC Traces

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

Команда Go for Devs подготовила перевод статьи о том, как оптимизация аллокаций в Go может снизить нагрузку на сборщик мусора и ускорить приложение почти в два раза. Автор показывает на примере реального веб-приложения, как профилировать кучу, находить «горячие» места и убирать лишние аллокации, чтобы снизить задержки и повысить пропускную способность.

Читать далее

Могут ли кодинг-агенты самосовершенствоваться?

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

Представьте программиста, который мастерски собирает для себя вспомогательные утилиты, а потом равнодушно отмахивается: «Честно? Мне они не нужны». 

Именно так повела себя GPT-5 в ходе теста на умение выстраивать собственный набор инструментов для продуктивности. Модель выдала целый арсенал CLI-утилит в духе Unix, но… отказалась ими пользоваться.

Почему так случилось и что это говорит о будущем кодинг-агентов — разбираем в статье.

Читать далее

Самый быстрый способ загрузить 32 000 строк в PostgreSQL с помощью Python

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

Команда Python for Devs подготовила перевод статьи о том, как найти самый быстрый способ загрузки данных в PostgreSQL с помощью Python. Автор пошагово сравнил разные методы — от построчных вставок до COPY с потоковой генерацией CSV — и показал, как ускорить процесс более чем в 250 раз при нулевом потреблении памяти.

Читать далее

SteosMorphy: опенсорс замена давно умершему PyMorphy2

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

PyMorphy2 — самая популярная библиотека для обработки слов в русском языке. Однако последний коммит в репозиторий этой библиотеки был сделан более 5 лет назад, а её установка на Python версии 3.11+ вызывает трудности, что делает использование данной библиотеки в нынешнее время максимально затруднительным.

Предлагаю рассмотреть новую Open Source библиотеку SteosMorphy, которая является аналогом PyMorphy, но делает всё быстрее и круче!

Ознакомиться

Парсинг pdf-отчётов публичных компаний для получения трейдерских инсайтов

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

Здравствуйте! В этой статье рассмотрим, как с помощью Python мониторить сайты компаний, парсить отчёты из PDF, извлекать ключевые данные и отправлять обработанные результаты в Telegram.

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

Мы создадим скрипт на Python, который будет скачивать с сайта (разберём на примере Яндекс) отчёт в формате PDF, преобразовывать неструктурированный текст в структурированные данные, извлекать ключевые метрики (выручка, чистая прибыль) и отправлять сжатый инсайт в Telegram-бот.

Читать далее

Новая профессия в IT: «чистильщик кода» после ИИ. Как она появилась и что из себя представляет

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

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

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

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

Читать далее

Издательство «БХВ» теперь на Хабре. С чем мы к вам пришли

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

Приветствуем, коллеги!

Вы читаете первую статью от имени издательства «БХВ» (BHV) из Санкт-Петербурга, которое наконец-то решило официально обосноваться на Хабре и попробовать систематизировать нашу работу на этой великолепной платформе, объединив рекламный контент, тизеры и спойлеры в корпблоге. Меня зовут Олег Сивченко, я тружусь в БХВ менеджером проектов в области компьютерной литературы 4+ года, одновременно работаю в редакции Хабра, где веду небесспорный, но очень интересный научно-популярный блог @OlegSivchenko и блог с IT-переводами @Sivchenko_translate Кроме меня в команде БХВ есть ещё один маститый хабровчанин, пишущий под псевдонимом Валентин Холмогоров @Holmogorov — ведущий редактор журнала «Хакер», ранее работавший в отрасли кибербеза, руководил командой технических писателей. Так что, феномен хаброблога и хабрааудитории для нас не в новинку. Далее — немного о нашем издательстве.

Читать далее

JVM: Барьеры, которые подходят любому GC

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

В новом переводе от команды Spring АйО рассказывается, как сократить время разогрева JVM с помощью ahead-of-time компиляции (в рамках Project Leyden), а также объясняется, почему традиционные GC-барьеры мешают гибкому выбору сборщика мусора.

Статья содержит интересное решение — GC-независимые барьеры загрузки, которые можно «пропатчить» в рантайме под конкретный GC, обеспечивая совместимость без переписывания кода.

Читать далее

От терабайтов шума к байтам смысла: искусство эффективного логирования

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

Логирование (журналирование) — это не просто запись событий в файл, а стратегический инструмент для диагностики, мониторинга и обеспечения безопасности приложений. Небрежный подход к логированию может привести к серьёзным проблемам: от бесполезных терабайтов данных, в которых невозможно найти нужную информацию, до падения production-систем из-за перегрузки подсистемы логирования. В этой статье мы рассмотрим:

рекомендации по выбору уровня детализации (FATAL, ERROR, INFO, DEBUG, TRACE);

почему контекст в логах не менее важен, чем сами сообщения;

методики сокращения объёма логов без потери полезности;

как обеспечить производительность и отказоустойчивость приложения при формировании логов;

тестирование логов как не менее важную часть процесса по сравнению с тестированием кода.

Читать далее

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

Спаривание разработчиков в интересах бизнеса, или узкий взгляд на парное программирование с ограниченной точки зрения

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

Сейчас на небе только и разговоров, что о вайб-кодинге. А я, к своему стыду, даже парный никогда не пробовал. На разных местах подходил к руководству с предложениями потестировать методику, но ответом были неизменные шуточки за триста. Мол, конечно-конечно. Вам, сэр, на время Ваших чудачеств рабочее время удвоить или зарплату уполовинить? Но счастлив тот, кто может укрыться от подобного мрака в уютной и светлой внутренней мастерской своего инженерного гения.

Читать далее

SPICE-модели: Просто о сложном. Часть 2. Более сложные приемы анализа

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

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

Читать далее

Утилита Find и регулярные выражения

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

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

Регулярки освоить нетрудно. Буквально за пару часов можно получить почти средний уровень владения и научиться читать и писать выражения для поиска ip-адресов, e-mail, html-тегов, телефонных номеров, дат и прочих несложных конструкций. Я думаю, все это вам знакомо, но на всякий случай в конце статьи я добавил несколько ссылок для изучения.

Я уже прошел «курс молодого бойца» по регуляркам, написал свою, вставил в find, и она не сработала. Но пойдем по порядку.

Читать далее

Кастомизация Keycloak: Keycloakify вместо Freemarker – причины, боли, решения

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

Всем привет! Меня зовут Артем, я фронтенд разработчик в Банки.ру. Недавно перед нашей командой встала задача внедрить SSO-аутентификацию через Keycloak для клиентских сервисов. Помимо базовой настройки важно было полностью переработать стандартные формы входа, чтобы они соответствовали корпоративному стилю и UX-требованиям.

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

Читать далее

Управляем умным домом Home Assitant через Алису и без интернета. Часть 3

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

В этой части рассмотрим с теоретической стороны разработку дополнений (add-ons) для Home Assistant Operating System.

Читать далее

PipeWire с терминала: pw-cli, pw-top, pw-metadata

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

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

Сегодня рассмотрим консольные утилиты PipeWire: pw-cli, pw-top, pw-metadata и сопутствующие инструменты.

Для начала напомню, что PipeWire — это мультимедийный сервер низкого уровня, способный обрабатывать и аудио, и видео-потоки с минимальной задержкой. Он заменяет и PulseAudio, и JACK, действуя как ядро мультимедиа-пайплайна. Механизм распределения потоков (routing) отделён от политики: PipeWire занимается неким «трубопроводом», а где соединять и какой девайс использовать — за WirePlumber или другим менеджером сессий.

Читать далее

Вычисление обратной величины целого числа и его применение в алгоритме деления чисел

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

Рассматривается алгоритм вычисления обратного целого числа и его приложение для деления целых чисел, представленных high и low половинками, для которых уже реализована базовая арифметика.

Читать далее

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