Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 37 min ago

GIMP: обзор классических апскейпов

Fri, 05/09/2025 - 16:47

К классическим методам апскейпа (увеличения) относятся методы, основанные на различных интерполяциях исходного изображения и фильтров, также не выходящих за рамки классических. Есть неклассические методы: нейросетевые (к исходному изображению добавляется память обученной нейросети и по этой смеси генерируется увеличенное изображение), или основанные на самоподобии (производится затратный поиск самоподобия, результат добавляется к исходному изображению и по этой смеси генерируется увеличенное изображение) методы. Но в данной статье будут рассмотрены только простые классические методы.

Во всех публикациях в сети по апскейпу в GIMP предлагается использование только встроенного средства "Размер изображения". А в большинстве указывается применение только фильтра "кубическая" для интерполяции. Продемонстрируем:

Читать далее

«Это не баг, а фича» — как junior QA отстаивать свою позицию и не испортить отношения с командой

Fri, 05/09/2025 - 16:16

Быть тем, кто указывает на ошибки, — не самая простая роль в команде. Особенно когда ты только начинаешь путь в QA. Твоя задача — находить баги, недоработки и несостыковки, а затем рассказывать о них разработчикам, дизайнерам или аналитикам. По сути, ты постоянно говоришь: «Здесь что-то не так», «Это не работает», «Так быть не должно».

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

Читать далее

Как попасть в реестр отечественного ПО и зачем это нужно — моя экспертиза

Fri, 05/09/2025 - 16:16

Начиная с 2025 года базовая ставка по налогу на прибыль составляет 25%, но не для всех. Компании из реестра отечественного ПО не просто платят всего 3%, но и полностью освобождены от НДС, применяют пониженный тариф по страховым взносам и пользуются иной государственной поддержкой. 

Давайте разбираться, как начать законно платить налог 3% вместо 25% и получать другие льготы от государства через регистрацию в реестре отечественного ПО.

Читать далее

Летающие кубиты: квантовый конвейер под управлением магнитного поля

Fri, 05/09/2025 - 16:01

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

Квантовый интерес

Как ускорить написание повторяющегося кода в 10 раз

Fri, 05/09/2025 - 15:15

Ускорьте разработку React-компонентов! Эта статья о создании шаблонов для автоматизации рутинных задач: генерация папок, файлов, управление экспортами. Экономьте время и фокусируйтесь на главном.

Читать далее

Часть 3. Векторизация на Go: CGo, транзакции, компиляторы, поддержка, байтовые инструкции

Fri, 05/09/2025 - 14:40

В первой части статьи мы рассмотрели, как можно вручную ускорить Go-код с помощью векторизации и SIMD-инструкций, реализованных через Go-ассемблер. Написали простую, но показательно быструю реализацию sliceContains и увидели, что даже базовая векторизация может дать ускорение в 10–14 раз по сравнению со стандартной реализацией.

Во второй части статьи погрузились в практическое применение SIMD в Go-ассемблере, реализовали функцию SliceContainsV1 и изучили, как с помощью VADD, VDUP и других инструкций можно добиться 10–14-кратного ускорения простых задач.

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

Привет, Хабр! Меня зовут Игорь Панасюк, я работаю в Яндекс, преподаю в ИТМО, а также в свободное время выступаю на конференциях, делюсь опытом в соцсетях и помогаю развитию Go-сообщества, веду телеграм-канал и youtube-канал. Если вы уже знакомы с базовыми техниками векторизации, эта часть поможет глубже понять, как устроены продвинутые способы ускорения Go-кода и на что стоит обратить внимание при работе с архитектурно-зависимыми оптимизациями.

Читать далее

Как умирала Playstation Vita, и кто в этом виноват?

Fri, 05/09/2025 - 14:01

Зачастую можно услышать такую фразу, что, мол, «Sony убила PS Vita». Фраза не лишена смысла, но и не является абсолютно правдивой: история этой портативной консоли довольно похожа на то, какой получилась Wii U у Nintendo, к которой отношение было донельзя схожим как у геймеров, так и у платформодержателя. В этой статье я попробую выяснить, а правда ли, что на PS Vita было мало хороших игр, и кто на самом деле виноват в медленной смерти одной из лучших консолей, когда-либо выходивших на рынок. Читать дальше →

DI в Python, Easy-DI: спаситель в сложном мире зависимостей

Fri, 05/09/2025 - 14:00

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

И так, давайте сначала разберемся что же такое зависимость?

Зависимость - это объект (или функция, в Python все - это объект), который нужен другому объекту или функции для их нормальной работы. Почти в каждого объекта есть одна или несколько зависимостей. Существует 2 основных метода их получение: создание зависимости непосредственно внутри функции либо же инъекция (внедрение).

Читать далее

Код, который светится: архитектура минималистичных световых скетчей

Fri, 05/09/2025 - 13:15

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

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

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

Читать далее

Легко ли войти в IT через курсы по ручному тестированию

Fri, 05/09/2025 - 13:00

Всем привет! Меня зовут Валентина, и уже чуть больше семи лет я работаю в тестировании. Наверное, каждый, кто работает в IT-сфере, сталкивался с вопросом: «А что, правда сейчас можно пройти курс и сразу стать айтишником?». Предлагаю рассмотреть это популярное мнение и разобраться, действительно ли сейчас легко «войти в IT» через тестирование. 

Мое небольшое исследование и выводы — под катом.

Читать далее

Китай играет в редкоземельный покер: кто сорвет банк?

Fri, 05/09/2025 - 13:00

Китай решил сделать ответный ход в торговом конфликте с США. Поднебесная ограничила экспорт редкоземельных металлов — ключевых ингредиентов для бытовой электроники, электромобилей, медицины и так далее. Формально это не тотальный запрет, а введение специальных лицензий на вывоз ресурсов. Но в реальности речь идет именно о полном ограничении экспорта. Давайте разбираться, как этот шаг меняет расклад для Китая, США, Европы и других игроков.

Читать далее

[Перевод] Как Мэтт Годболт «продал» мне Rust (рассказав о C++)

Fri, 05/09/2025 - 12:55

Мэтт Годболт, знаменитый разработчик Compiler Explorer — потрясающий человек, вам стоит найти в вебе и изучить весь созданный им контент. Именно этим и занимался, просматривая Correct by Construction: APIs That Are Easy to Use and Hard to Misuse. Я уже больше двадцати лет работаю с C/C++, поэтому эта тема была мне близка.

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

Но прежде нам следует поговорить о поднятых Мэттом проблемах и о том, как он предлагает решать их в C++. Сделайте себе одолжение и посмотрите доклад целиком, а я разберу один из его пунктов.

Читать далее

Почему искусственный интеллект не заменит человека или всё таки…

Fri, 05/09/2025 - 12:37

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

Сегодня в роли «страшилки» выступает искусственный интеллект. Заголовки кричат: «ChatGPT уволит программистов», «Нейросети заменят дизайнеров», «AGI поставит крест на человечестве».
Однако, если внимательно посмотреть на то, как работают и внедряются ИИ-системы, станет ясно: это не враг, а инструмент. Именно так и стоит к нему относиться — без романтики и без апокалиптических прогнозов.

Читать далее

До свидания, Kafka, или graceful shutdown на Spring Boot для Kafka

Fri, 05/09/2025 - 12:15

В этой статье я немного объясню важность graceful shutdown и расскажу как сделать плавное завершение работы твоего Spring Boot приложения, которое взаимодействует с Kafka.

Читать далее

Продолжаем создание universal module for Flipper Zero (UMF.0)

Fri, 05/09/2025 - 12:13

Речь пойдет о процессе создания универсального модуля для устройства Flipper Zero — Universal Module for Flipper Zero (UMF.0). Модуль разрабатывается с возможностью последующей модернизации пользователями. Проектирование модели осуществлялось в CAD-программе KOMPAS-3D V23, определены размеры корпуса с учётом запаса пространства (~127x62,5x33 мм). Конструкция состоит из четырёх основных элементов: передней панели с окном под экран и кнопки, задней крышки, основной части с разъёмами USB Type-C, Ethernet, GPIO, слота SD-карты и внутренней составляющей с электроникой (микроконтроллеры ESP32, радиомодули NRF24, E07-433M20S и другие компоненты). Особое внимание уделяется прочности конструкции посредством металлического каркаса толщиной примерно 4 мм. Общие детали и технические проблемы разработки будут освещены подробнее в дальнейшем развитии проекта.

А почему и нет

История жанра «симулятор» в сеттинге «Вторая Мировая война». Часть 1

Fri, 05/09/2025 - 12:05

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

Сегодня я расскажу вам об одном жанре военных игр, который сейчас редко встречается в «чистом» виде, но именно с него начинались многие ключевые аспекты «геймификации» сеттинга Второй мировой войны в компьютерных играх. Дорогие геймеры, нас ждут симуляторы!

Читать далее

Незаметное ЭЭГ: носимое устройство в виде волоса

Fri, 05/09/2025 - 12:05


Мозг человека работает неустанно, без выходных и отпусков. Учитывая, что мозг является центром обработки данных организма, курируя все процессы, недооценивать его важность крайне проблематично. Нарушения работы мозга могут повлиять на множество функций организма, а потому крайне важным является мониторинг его состояния. Чем точнее и продолжительнее мониторинг, особенно у людей в группе риска (врожденные дефекты, заболевания, травмы и т.д.), тем эффективнее будет дальнейшее лечение. Одним из самых продвинутых методов оценки состояния мозга является ЭЭГ (электроэнцефалограмма). Однако устройства, используемые для ЭЭГ, не очень подходят для длительного мониторинга. Потому ученые из Университета штата Пенсильвания (США) разработали носимое неинвазивное ЭЭГ устройство, визуально похожее на волос. Из чего сделан ЭЭГ-волос, как именно он работает, и насколько точны собираемые им данные? Ответы на эти вопросы мы найдем в докладе ученых. Читать дальше →

От пляжей Нормандии до островов Тихого океана: история создания десантной лодки LCVP и ее изобретателя

Fri, 05/09/2025 - 12:00

У Эндрю Хиггинса, родившегося в Небраске в 1886 году, было ничем не примечательное детство. Он часто попадал в неприятности из-за драк и в конце концов бросил школу. При этом мальчик рано начал интересоваться лодками. После службы в Национальной гвардии Небраски Эндрю уехал из штата, чтобы работать в лесной промышленности на побережье Мексиканского залива. Именно там он впервые начал думать об инновационных конструкциях лодок. Хиггинс придумал компактную мелководную лодку, которая могла бы поднимать и перевозить тяжелые грузы.

Читать далее

Эта забавная реальность… 2

Fri, 05/09/2025 - 11:54

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

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

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

Читать далее

От пет-проекта к книге про Spring

Fri, 05/09/2025 - 11:47

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

Читать далее

Who's online

There are currently 0 users and 1 guest online.