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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Robocopy в Windows

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

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

Расскажу про Robocopy – утилиту Windows для апдейтнуого копирования. Она живёт в системе с Windows Vista (раньше была частью NT4 Resource Kit) и предназначена для работы с большим количеством файлов. Robocopy используется для копирования файлов. Часто её используют для миграции файловых серверов или резервного копирования. По сути это более навороченная замена привычным COPY/XCOPY: она поддерживает возобновление копирования, зеркалирование каталогов, многопоточность и многое другое.

Читать далее

QML и Widgets в одном проекте: решение без костылей

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

В проектах на Qt рано или поздно встаёт вопрос: делать интерфейс на Widgets или на Quick. Первый вариант даёт зрелый набор контролов и привычное поведение окон, второй — гибкость, анимации и GPU-рендеринг. Иногда нужно объединить эти подходы: например, когда в приложении на Qt Quick требуется окно, способное выходить за границы основного, как это делают всплывающие подсказки или выпадающие списки в классических десктопных программах.

В этой статье я разберу рабочий способ показывать окна Qt Widgets из приложений Qt Quick — без хака с QQuickPaintedItem и без потери преимуществ Scene Graph.

Читать далее

Операторы rest и spread в JavaScript

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

Если вы осваиваете JavaScript, то наверняка знаете об операторах rest и spread. Первый группирует несколько значений, второй - разгруппировывает. Но давайте посмотрим чуть глубже.

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

Читать далее

Как Shopify перевела свои крупнейшие приложения на новую архитектуру React Native

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

Команда JavaScript for Devs подготовила перевод кейса Shopify о миграции их крупнейших приложений на новую архитектуру React Native. Результат впечатляет: еженедельные релизы не остановились, стабильность сохранилась, а производительность выросла.

Читать далее

Как Go 1.24 и Swiss Tables вернули нам 200 гигабайт памяти

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

Команда Go for Devs подготовила перевод статьи о том, как Go 1.24 с новой реализацией Swiss Tables помог снизить использование памяти в продакшне на сотни гигабайт. В статье разбирают, что изменилось в реализации map, как это отразилось на профилях памяти, и какие оптимизации в коде дали дополнительный эффект.

Читать далее

Нововведения Python 3.14: автодополнение и подсветка синтаксиса в REPL

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

Команда Python for Devs подготовила перевод обзора новых возможностей REPL в Python 3.14. Теперь автодополнение и подсветка синтаксиса работают прямо в терминале, а цветовую тему можно настроить под себя.

Читать далее

Поздно пить Боржоми? Stack Overflow пробует в AI

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

Команда AI for Devs решила написать эту статью после выхода очередного продукта от Stack Overflow, в чьём имени красуется «AI». Когда-то платформа запрещала любой ИИ-контент, потом осторожно тестировала инструменты вроде OverflowAI и Question Assistant, а теперь явно строит стратегию вокруг искусственного интеллекта. Насколько это здорово для сообщества?

Читать далее

Простота и Гласность

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

В именах Masha, Rodion и Ekaterina насчитываем 2, 3 и 5 гласных букв — это всё простые числа. Гласными в рамках этой задачи считаются aouie, без y (хотя это дискриминация).

Представьте, даны две строки одинаковой длины, например abbas и abzac — они задают некий диапазон всевозможных строк (этой же длины) в алфавитном порядке:

abbas, abbat, ..., abyzz, abzaa, abzab, abzac

Сколько в этом диапазоне строк, имеющих «простое» количество гласных? Тут даже ребёнок легко сосчитает — всего 7289:)

А как посчитать если ограничение на длину строки — до 150 символов? Приглашаем попробовать новую задачу на CodeAbbey от Клайва Фрэйзера: Prime Vowel Count — она хороша тем что демонстрирует довольно общий подход к целому классу подобных задач (не обязательно даже про строки).

Читать далее нечего

Проблема, о которой вы наверняка не задумывались: print(.1+.2)

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

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность?

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

Давайте продолжим разговор о самой неоптимизированной в мире библиотеке эмуляции плавающей точки при помощи целочисленной арифметики.

Это вторая статья из цикла «Санпросвет о плавающей точке»:

1. Компьютеры и числа

2. Вывод чисел с плавающей точкой на экран <- вы тут

Читать далее

С чего ты взял, что IT — это не твое?

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

Наверное многие слышали фразу, что для того, чтобы стать разработчиком, надо иметь определенный склад ума и тому подобное. Что я думаю об этом? И да, и нет. Конечно, у людей, которые уже работают в сфере, постепенно формируется определённый стиль мышления, и приобретается навык, помогающий решать задачи. Но вопрос в другом: был ли он у них изначально или появился с опытом? Возможно, кому‑то действительно повезло, и они с самого начала обладали такими способностями. Лично я таких людей не встречал и сам к ним не отношусь. Но, как ни странно, и я, и мои знакомые вполне успешно работаем в IT‑компаниях, и нас до сих пор никто не уволил.

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

Читать далее

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

Как мы делали стартап, и почему у нас не получилось

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

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

Что делать в такой ситуации?

Некоторых всё устраивает — они начинают больше времени уделять хобби, а работа остаётся просто работой. Но есть люди, для которых работа и есть хобби. Таким особенно тяжело. Да, можно попросить новые задачи, взять на себя больше ответственности. До определённого момента это работает, но бизнесу нужен человек надолго — который будет стабильно выполнять возложенные обязанности. Это предсказуемо и выгодно бизнесу. Что же делать таким людям?

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

Как справиться с рутиной? Как сделать жизнь интересной, если писать код — не только работа, но и хобби?

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

Читать далее

Мой опыт работы с ИИ-ассистентом по имени Claude

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

Умеют ли нейросети писать код?
Может ли нейросеть заменить программиста?
Может ли непрограммист создать полноценное приложение с помощью нейросети?
Можно ли доверять приложению, созданному непрограммистом с помощью нейросети?

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

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

Читать далее

Невизуальная доступность: опыт незрячего в использовании компьютерного зрения и LLM для взлома цифровых барьеров

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

С развитием LLM моделей AI начали появляться разные ИИ агенты, автоматизирующие задачи.

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

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

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

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

Читать далее

Парсинг цен и данных о товарах конкурентов на Wildberries

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

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

Поэтому в этой статье мы разберём тему заново, но уже с акцентом на практическую пользу.

Читать далее

В поисках идеального терминала

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

Сколько часов в день вы проводите в терминале? Часто задумываетесь о том, что какую-то операцию можно сделать быстрее? Любите привлекать внимание коллег необычным видом своего рабочего стола? Сегодня я решил собрать не просто интересные приложения, позволяющие повысить продуктивность работы, но и те, которые однозначно вызовут внимание окружающих и вопросы в стиле «а что это за софтина такая?».

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

Читать далее

Go, Telegram, AI: Создаем систему ранжирования трейдинг-каналов по точности прогнозов

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

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

Среди этих способов выделяются два основных: Bot API и MTProto API. Оба предоставляют различные возможности, но имеют и свои ограничения. Автоматизированный сбор данных для машинного обучения или глубокого анализа может быть непростой задачей из-за этих особенностей.

Читать далее

SPICE-модели: Просто о сложном. Часть 1, вводная

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

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

Среди того, что мне приходилось вести есть такой курс: «Электронная и преобразовательная техника электрического транспорта железных дорог». Специалисту понятно — речь идет о силовой электронике, в самых радикальных её проявлениях. Конечно, для того чтобы не объяснять материал на пальцах, да и для проведения лабораторных работ, в дело идут симуляторы электронных схем. До недавнего времени я использовал LTSpice, однако теперь это невозможно. Но на мое счастье, благодаря vv_kuznetsov, воскрес из мертвых симулятор Qucs. Но с ним не все так просто, как могло бы показаться на первый взгляд.

Читать далее

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