Социальные сети Рунета
Четверг, 18 апреля 2024

[Перевод] Блокчейн на Python Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобрат...

Maxon обеспечивает поддержку Redshift Render Engine для видеокарт AMD Radeon PRO Компания Maxon объявила, что ПО Redshift Render Engine добавит поддержку новых графических карт AMD Radeon PRO. Напомним, что Redshift Render Engine это программное обеспечение для 3D-рендеринга с ускорением на GPU. Это означает, что художники теперь могут использовать графи...

[Перевод] Рендеринг DOOM с помощью чекбоксов Дисклеймер: перевод статьи публикуется с одобрения оригинального автораПоиграть можно тут (Chrome/Edge), исходный код здесь, текст статьи ниже.На этой неделе я прочитал статью Брайана Брауна — "Я всё ещё продолжаю экспериментировать с чекбоксами". Там он рассказывал про свою...

RabbitMQ Streams для сбора и обработки телеметрии умного дома Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инст...

Мал золотник, да дорог: ученые из НИТУ «МИСиС» предлагают создать облачный супер-ПК из миллионов смартфонов В идее распределенных вычислительных систем нет ничего нового. Идея реализована уже давно, плюс примеров таких реализаций множество, включая SETI, Folding@Home и другие. Идея в том, что специальное программное обеспечение использует незадействованные ресурсы локальных систе...

[Перевод] Рисование закрашенных кругов и треугольников на Raspberry Pi Pico с помощью MicroPython Библиотека framebuf — это то, что, при разработке на MicroPython, даёт нам возможности по работе с основными графическими элементами. Например — с текстовыми символами, с прямоугольниками, да и с отдельными пикселями. Это позволяет создать множество интересных изображений. Н...

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

Как я создал собственный 3D движок и игру на нём за 20 месяцев Речь идёт о игре Speebot, которая была выпущена в Steam в 2017 году.Я разрабатывал эту игру с января 2016 года в своё свободное время в одиночку. Мною выполнено всё программирование, дизайн игрового процесса, создание графики и музыки. Кроме того, я написал собственный игров...

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

Книга «Изучаем C# через разработку игр на Unity. 5-е издание» Привет, Хаброжители! Изучение C# через разработку игр на Unity — популярный способ ускоренного освоения мощного и универсального языка программирования, используемого для решения прикладных задач в широком спектре предметных областей. Эта книга дает вам возможность с нуля и...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

В поддержку миссии OASIS на высочайшем уровне EMQ присоединяется к IBM Международный консорциум открытых источников и стандартов OASIS Open объявил о том, что компания EMQ — поставщик программного обеспечения с открытым исходным кодом для инфраструктуры обработки данных Интернета вещей — является его новейшим фундаментальным спонсором...

PCIExpress 1.0 2.5GT/s analyzer на базе ПЛИС своими руками На работе я занимаюсь созданием PCIExpress устройств на ПЛИС. Некоторые из ПЛИС имеют встроенное PCIExpress ядро, позволяющее работать с этим интерфейсом на уровне пользовательского приложения. ПЛИС серии ECP5UM фирмы Lattice использует Soft-IP Core для реализации протокола,...

Arbitrary Precision — удобная C++ библиотека для работы с длинными целыми числами Вопреки тому, что авторских C++ библиотек для длинных целых очень много, мне было трудно найти решение, которое было бы простым в использовании на всех этапах (интеграция зависимости, разработка, релиз с зависимостями). Авторские библиотеки имеют одну или несколько проблем р...

Flutter for Desktop — новый подход к разработке приложений Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг зн...

Уменьшение трафика за счёт сжатия изображений. На примере Laravel Как уменьшить трафик к вашему сайту в 200 раз? Возможно ли это? В этой статье рассмотрено динамическое создание превьюшек для графических файлов и последующее сохранение результатов такого преобразования для последующего более быстрого доступа к ним.Пример реализации на Lara...

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

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

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

[Перевод] Создание игр для NES на ассемблере 6502: скроллинг фона Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Книга «Компьютерная графика. Рейтрейсинг и растеризация» Привет, Хаброжители! За красивыми образами анимационного фильма и реалистичной средой популярных видеоигр скрываются загадочные алгоритмы. В этой книге вы познакомитесь с двумя основными направлениями современной графики: рейтресингом и растеризацией. Такая литература пугае...

Спасибо, Марио, но код стоит поправить – проверка TheXTech Здорово, когда энтузиастам-разработчикам удаётся сделать работающий клон известной игры. Ещё лучше, когда находятся люди, готовые продолжить развитие таких проектов! В этой статье с помощью PVS-Studio мы проверим TheXTech – открытую реализацию игры по вселенной Super Mario. ...

Программируем микроконтроллеры ESP32 и STM32 на C# (nanoFramework) .NET nanoFramework — это бесплатная платформа с открытым исходным кодом, основанная на .NET и предназначена для малых встраиваемых устройств, микроконтроллеров. С её помощью можно разрабатывать различные устройства для Интернета вещей, носимые устройства, научные приборы, ...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

Российский движок на замену Unreal Engine и Unity обойдётся в миллиарды рублей: администрация президента провела встречу с разработчиками видеоигр Администрация президента РФ провела закрытую встречу с отечественными разработчиками видеоигр, чтобы обсудить положение дел в отрасли, о чем сообщает «Коммерсантъ». Российские разработчики видеоигр поделились своими опасениями и пожеланиями. Участники встреч...

Delphi+OpenCV Сначала была мечта…Что-то похожее на робототехническую систему, с двумя подвижными камерами, способностью отслеживать (направлять «взгляд» на) заданный объект и определять расстояние до объекта. И это был 2012 год. Но так как я больше программист нежели железячник, то все на...

[Перевод] Меняем std::sort для Google Мы меняем std::sort в библиотеке libcxx проекта LLVM. В этой статье мы подробно расскажем о том, как мы пришли к этому решению и какими будут возможные последствия, о багах, с которыми вы можете столкнуться в примерах из open source. Мы покажем несколько бенчмарков, объясни...

Laravel: создание фабрик и seeders при связях между моделями В ситуациях, когда одна модель обязательно должна быть связана с другой моделью (например, статья и ее автор, компания и сотрудники и т.п.), большинство программистов допускают различные ошибки при создании фабрик (Factory) и сидов (Seeders) к этим моделям. Предлагаю исследо...

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

Добавляем дополнительные особенности реализации на C++ с помощью «умных» оберток Представляю сообществу библиотеку feature из состава, разрабатываемых мной библиотек под общим названием ScL. Сам набор библиотенк ScL систематизирует достаточно скромный набор реализаций и подходов, которые на мой взгляд могут упростить процесс разработки программного обесп...

Основные приемы работы с Canvas [Part 1] Привет! Сегодня я хотел бы начать цикл статей на тему того, как работать с canvas в HTML5 и как применять знания в области матанализа для реализации необычных и интересных эффектов.Все навыки и умения, которые мы получим здесь, являются фундаментальными принципами и могут бы...

Пишем свой плагин для IDEA для поддержки нового языка (часть 2) Продолжение статьи о создании языкового плагина для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Начало Читать далее

[Перевод] Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Двигаем биты — или как реализовать свой стандарт UUID Я работаю над открытой реализацией предложенного стандарта идентификаторов UUIDv7. На данный момент спецификация существует в виде IETF черновика. Черновик уже пережил два переиздания, и мы постоянно обновляем спецификации. Но сам документ — это дело простое. Для того чтобы...

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

Фантастические формулы и как они работают В прошлой статье я рассказывал о том, как мы реализовали на основе Google Sheets собственную диаграмму Ганта для работы над игровыми проектами. Если вам зашла такая реализация или просто интересно глубже понять принципы устройства таблиц и формул, сейчас мы будем разбирать и...

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

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

У Unity всё плохо На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.Статья не тр...

[Перевод] Создание массива зеркал на 3D-принтере Недавно я сделал предложение руки и сердца одному прекрасному человеку с помощью шестигранной зеркальной штуковины, изображенной на фото. Мы оба большие нёрды, и мне хотелось сделать что-нибудь особенное, поэтому я спроектировал и распечатал на 3D-принтере зеркальный массив,...

Node.js: Heroes of Worker Threads ― C++ Addon Node.js имеет несколько способов исполнения CPU-bound заданий:1. Просто запустить CPU-bound задачу в одном процессе, блокируя event loop. Кто-то может возразить, что это совсем не вариант, но если этот процесс был специально создан для этой задачи, то почему бы и нет. Правда...

OverScript — язык программирования, написанный на C# Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как на...

Как я создаю игры на своём 3D движке в одиночку Много лет назад я занимался созданием маленьких Flash игр и публиковал их на сайте Newgrounds. Сейчас я делаю полноценные игры для ПК.На сегодняшний день у меня 4 законченных коммерческих игр в Steam, и самая последняя из них — выпущенная в 2021 году Pilie Pals, о процессе с...

Внедрение открытых стандартов IoT делает EMQ новейшим фундаментальным спонсором OASIS Open ХАНЧЖОУ (Китай), 9 марта 2022 г. /PRNewswire/ — Сегодня международный консорциум открытых источников и стандартов OASIS Open объявил о том, что компания EMQ — поставщик программного обеспечения с открытым исходным кодом для инфраструктуры обработки ...

Первый древнейший: в чём уникальность языка программирования LISP В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?Лисп, или LISP...

Недельный геймдев: #56 — 6 февраля, 2022 Из новостей на этой неделе: Epic Games приобрела RD-Textures, Blender Studio выпустила Watchtower, Valve объявила об изменениях в правилах установки скидок для разработчиков, вышли Blender 3.1 Beta, Particle Illusion 2022 и ZBrush 2022.0.4.Из интересностей: разбор рендери...

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек Привет, Хабр! Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.Внедрение Trunk-Based Development и Feature FlagsВ процессе работы над большими приложениями, в которых много фич и над которыми ...

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

Представлена операционная система Oniro для смартфонов и не только. Она создана на базе Huawei HarmonyOS В прошлом месяце OpenAtom Foundation и Eclipse Foundation объявили о новом партнерстве, а на этой неделе была представлена операционная система Oniro, которая была создана базе Huawei HarmonyOS. Стоит объяснить, что Huawei подарила фонду OpenAtom Foundation версию Harmo...

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

Недельный геймдев: #53 — 16 января, 2022 Из новостей на этой неделе: Github показал игры с Game Off 2021 с наивысшими оценками, Godot 3.5 beta 1, Unity 2022.1.0 Beta 3, Axiom 2.1, UVPackmaster 3.Из интересностей: видео про громадных боссов в играх, «Сапёр» на движке Doom, доклад с GDC про создание правдоподобных...

Знакомство с p-адическими числами. Часть 1 Изображение с сайта Mathematical Art Galleries В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библ...

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

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

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

Новейшим фундаментальным спонсором OASIS Open становится EMQ Международный консорциум открытых источников и стандартов OASIS Open объявил о том, что компания EMQ — поставщик программного обеспечения с открытым исходным кодом для инфраструктуры обработки данных Интернета вещей — является его новейшим фундаментальным спонсором. EMQ прис...

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

Pega vs Camunda: выбор между платформой и библиотекой при создании BPM-решения Определение подходов к автоматизации бизнес-процессов и связанный с этим выбор конкретных технологий, особенно в крупной организации, - комплексная задача, которая требует учитывать экономические, организационные, функциональные, технические и другие аспекты. Сегодня на рынк...

Обзор нового почтового сервера Carbonio Comunity Edition 11 января 2022 года стала доступной для скачивания предрелизная версия Carbonio Community Edition - почтового сервера и платформы для совместной работы с открытым исходным кодом. Компания Zextras - разработчик Carbonio при создании нового продукта придерживалась концепции су...

О реализации индикатора батареи в устройствах на МК В портативном устройстве, работающем от аккумулятора, почти обязательным «удобством» является индикатор уровня его заряда. Казалось бы, если оно собрано на основе любого современного микроконтроллера и имеет графический дисплей, ничего сложного в этом нет: измерять напряжени...

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation» Этой небольшой заметкой я хочу начать цикл статей посвященных алгоритмам компьютерной графики. Причем, не аппаратным тонкостям реализации этой самой графики, а именно алгоритмической составляющей.Действовать буду по следующему принципу: беру какой-либо графический эффект (из...

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

Разделяй и Властвуй. Разбор задач Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками ...

Пишем свой плагин для IDEA для поддержки нового языка (часть 1) В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Читать далее

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

[recovery mode] Оконные функции SQL простым языком с примерами Привет всем!Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свое путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано м...

Controller, но не Massive: реализуем список карточек для iOS 13 и не только с учетом практик чистого кода Привет! Когда мне по работе понадобилось реализовать список карточек на связке UICollectionView и UICollectionViewCompositionalLayout для iOS 13+, я не нашел хорошего примера. Написал свой и хочу поделиться с сообществом. А заодно показать реализацию для iOS11+.Примеры можно...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

JavaScript: ускоряем загрузку изображений с помощью Imgproxy, Cache API и Service Worker API Привет, друзья! В этой статье я хочу поделиться с вами результатами небольшого эксперимента, связанного с ускорением загрузки изображений с помощью Imgproxy, Cache API (далее — кеш) и Service Worker API (далее — СВ). Мы с вами разработаем простое приложение на React, в ко...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

[Перевод] Игры для MS-DOS с открытым исходным кодом Игры под DOS с открытым исходным кодом — редкость. Однако спустя много лет некоторые разработчики всё же решили выпустить в свет исходники. Большинство из них уже переписаны на SDL, благодаря чему их можно перенести практически на любую современную платформу, но какой в это...

[Перевод] Тип данных Either как альтернатива выбрасыванию исключений Исключения – это базовый элемент многих языков программирования. Они обычно используются для обработки аномальных или непредусмотренных условий, при устранении которых необходим особый подход, нарушающий нормальный поток задач в приложении. В некоторых языках, например, в C+...

Unity справа налево Я работаю в локализационной компании Allcorrect. Наша основная деятельность – перевод игр, но часто разработчики обращаются за консультациями по смежным вопросам. Один из таких вопросов – интеграция переведенного текста на читаемый справа налево язык в игру, написанную на дв...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

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

Проверка Barotrauma статическим анализатором PVS-Studio Barotrauma – игра, в которой можно поуправлять подлодкой, попрятаться от монстров и даже поиграть на аккордеоне в попытке не пойти ко дну. Посмотрим, как проект, начатый инди-студией Undertow Games и продолженный совместно с FakeFish, выглядит изнутри. Для этого исследуем ис...

MoreliaTalk — безопасный мессенджер с открытым исходным кодом Привет, Хабр! Сегодня я хочу рассказать вам о проекте, над которым я и ещё несколько разработчиков трудимся уже около полугода. Этот проект называется MoreliaTalk. Что это же он из себя представляет? MoreliaTalk - это мессенджер с открытым исходным кодом, построенный на клие...

Разработка приложений на Typescript с использованием Nx Обзорная статья, посвященная использованию инструментария Nx для разработки современных веб приложений с применением лучших практик. В статье приводится обзор возможностей Nx, а также приведены примеры создания различных библиотек и приложений для всевозможных нужд фронденд ...

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

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Что случилось с faker.js? При создании нового проекта я попытался использовать свою любимую библиотеку генерации случайных данных facker.js. Установилась версия [email protected].Однако при попытке использовать привычные методы библиотеки выскакивала ошибка. Начав разбираться в проблеме, я перешел на gith...

Пишем асинхронного Телеграм-бота Сегодня я покажу, как написать своего Телеграм-бота на основе asyncio и aiohttp. Мы не будем использовать ни aiogram, ни любые другие библиотеки, а напишем бота с нуля, чтобы немного познакомиться с асинхронным программированием, корутинами и некоторыми примитивами синхрониз...

Реализация Smart Pointers в Delphi, и еще немного В последних версиях Delphi, появилось много новых, интересных возможностей. Сейчас попробуем сделать, с их помощью, что-нибудь полезное. Конкретно, создадим тип, который владеет объектом, ведет себя как этот объект, но при этом автоматически освобождается, когда на него боль...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Создаём игру на KPHP с помощью FFI и SDL KPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP. Игру делали с использованием библиотеки SDL: работали со звуком, обрабатывали события клавиа...

JavaScript редактор диаграмм, который открывает диаграммы из PNG картинок (open source) dgrm.net | GitHubdgrm.net - это редактор диаграмм, с прицелом на трансформацию в карту знаний.Отличительные особенности:- аскетичность,- работает на телефонах (одно из немногих web-решений),- открытый исходный код.В процессе разработки появляются интересные моменты. Статья п...

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

Библиотека Pygame / Часть 1. Введение Это первая часть серии руководств «Разработка игр с помощью Pygame». Она предназначена для программистов начального и среднего уровней, которые заинтересованы в создании игр и улучшении собственных навыков кодирования на Python. Читать далее

Создание API на основе протокола MTProto В уже  далеком 2019 Telegram объявил конкурс на создание веб-версии своего мессенджера, в котором мне удалось поучаствовать. По итогу у меня осталась библиотека, которая может работать с API Telegram по протоколу MTProto. Полученный опыт вдохновил меня реализовать прото...

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

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Python и Samila. Делаем красиво Как при помощи языка программирования Пайтон и библиотеки Samila создавать красивые изображения, даже с минимальными усилиями. Читать далее

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

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

[recovery mode] Пошаговая инструкция как создать NFT коллекцию на Golang + Ethereum (часть 3) Привет Хабр. В прошлых статьях мы научились генерировать 10 000 изображений для нашей NFT коллекции с помощью Golang, а также загрузили все сгенерированные изображения в децентрализованное хранилище IPFS.В этой статье мне хотелось бы поделиться знаниями и опытом, а такж...

Книга «Дизайн персонажей-животных. Концепт-арт для комиксов, видеоигр и анимации» Привет, Хаброжители! Если вы начинающий художник и думаете о карьере в индустрии видеоигр, анимации или коммерческой иллюстрации, эта книга станет вашим тренажером по созданию ярких и самобытных персонажей-животных. Восемь успешных художников на примере своих работ покажут ...

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

Асинхронное программирование в однопоточных средах JavaScript Асинхронное программирование в однопоточных средах JavaScript Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя...

Язык программирования C∀(CForAll) Мой интерес к дизайну языков программирования приводит меня иногда к интересным, но почти неизвестным в широких кругах проектам. Один из таких проектов - язык C∀ (CForAll), разрабатываемый Университетом Ватерлоо. C∀ является расширением ISO C и обеспечивает обратную совмести...

[Перевод] Создание игр для NES на ассемблере 6502: рефакторинг Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Пошаговое руководство, как создать собственный Kubernetes оператор В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода. Читать далее

Angular без CLI Туториал Фреймворк Angular используется при создании SPA и предлагает большое количество инструментов как для создания, непосредственно, элементов интерфейса, так и CLI для создания и управления структурой файлов, относящихся к приложению.Для создания проекта с использованием библиот...

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

Ряд способов для передачи голоса на расстояние, с помощью ESP32/Arduino Источник картинки: silenthollywood.com Использование микроконтроллеров ESP32/Arduino позволяет создавать достаточно любопытные проекты, среди которых особняком стоят проекты для передачи голоса. Например, создать собственную рацию, которая может быть весьма тонко настроена...

Выявление технических методов повышения уникальности текста с помощью PHP (в рамках создания собственной СДО). Часть 3 В процессе своей профессиональной деятельности мне приходится достаточно много работать с текстовыми документами, подготавливаемыми другими лицами. Одной из задач проверки качества документов является определение степени уникальности текста. Конечно, можно проверять каждый д...

Разработчик игр на Unity: как начать работать с востребованным игровым движком По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начина...

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

Генерируем Rust обёртку для FMOD Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной...

Использование Crosstab в бесплатной библиотеке отчетности JasperReports В автоматизации отчетности очень часто используют открытую Java-библиотеку JasperReports, например статья Опенсорс-решение для автоматизации отчетности рассказывает об ее использовании для получения PDF форматов отчетности между делом упомянув о возможности экспорта в другие...

Почему я пишу игры на Unity Здравствуйте. Меня зовут Валентин, мне 14 лет и я являюсь разработчиком игр. В рамках этой статьи хотелось бы рассказать о том, как молодой человек может начать, продолжить и достичь некоторых результатов в разработке игр с использованием движка Unity. Читать далее

Как устроены цикл событий и стек вызовов в JavaScript Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они с...

Текстовые игры — новый старый инструмент для автора или «Сделаем Текстовые Квесты снова Великими!» Про текстовые игры написано довольно много как на Хабре, так и на просторах интернета. Это один из самых первых жанров интерактивных развлечений с использованием ЭВМ и даже без него (просьба поделиться опытом НЕэлектронных текстовых игр в комментариях). В данной статье я хоч...

Успех промышленной цифровизации обеспечит концепция «FIBERS» компании Huawei На выставке Mobile World Congress 2022 (MWC 2022) вице-президент Huawei и руководитель подразделения оптических бизнес-продуктов Ричард Цзинь (Richard Jin) произнес вступительную речь под названием «Green Intelligent OptiX Network освещает путь к промышленной цифровизации» (...

Пример использования WebAssembly-модуля, скомпилированного из Rust, в React-приложении Привет, друзья! На днях прочитал интересную статью, в которой демонстрируется возможность использования WebAssembly-модулей (далее — Wasm), скомпилированных из Rust, в React-приложении. Так вот, статья интересная, но автор толком ничего не объясняет, видимо, исходя из пред...

[Перевод] Создание игр для NES на ассемблере 6502: движение спрайтов Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Недельный геймдев: #60 — 6 марта, 2022 Из новостей: вышел World Creator 3 и Flax Engine 1.3, состоялся публичный релиз SDK для портативной консоли Playdate, бесплатный контент для UE за март 2022, представлен открытый стандарт Vulkan SC 1.0.Из интересностей: доклад про рукопашный бой в Ghost of Tsushima, разбо...

Что там в «Мире Hi-Fi»: DAW, ремастеры из игр и ПО по радио В прошлый раз мы обсудили ЯП и библиотеки для работы со звуком. Сегодня продложим тему и поговорим о специальной ОС, открытых решениях и не только. Читать далее

Тестирование игр в Unity3D и на эмуляторах Всем привет. Сегодня публикуем вторую часть текстовой расшифровки интенсива, который был проведен в преддверии старта курса "Game QA Engineer. С первой частью можно ознакомиться по ссылке.Интенсив провела Надежда Чертовских — руководитель отдела QA в компании BeresnevGa...

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

Игровой движок Unreal Engine 5 доступна для всех разработчиков Версия Unreal Engine 5 теперь доступна всем разработчикам для использования в своих проектах. В дополнение к доступу к множеству различных инструментов для разработчиков. Ключевые особенности движка Unreal Engine 5 включают решение динамического глобального освещения Lumen, ...

Недельный геймдев: #66 — 17 апреля, 2022 Из новостей: Unity 2021 LTS, Cascadeur 2022.1 EA, HIP-RT от AMD, Rust GameDev 32.Из интересностей: о работе над освещением и окружением для Cyberpunk 2077, про создание игр на своём 3D движке в одиночку, значение рандомизации в игровом дизайне, сборка мусора в Unreal Engin...

Diablo Immortal выходит на PC Разработчик видеоигр Blizzard Entertainment сообщил о выпуске игры Diablo Immortal на платформе PC. Отныне эта игра не является эксклюзивом для мобильного сегмента. Игра появится на платформах on Android, iOS и Windows PC 2-го июня в виде открытого бета-тестирования.

Заплатка на асме. Создаем панель инструментов для Windows на Flat Assembler Для подписчиковВ этой статье я расскажу о том, как создать простое приложение — заготовку панели инструментов для рабочего стола Windows. По ходу дела мы вспомним Win32 API, разберемся, как его использовать на языке ассемблера, и познакомимся с Flat Assembler, который станет...

Flink для самых маленьких Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.Итак, что же такое Flink? Apache Flink – это фреймворк и движок для statefu...

Меняем стек с PHP на Golang, или Разработка под Kubernetes Привет, Хабр!На связи Паша Емельянов, тимлид в AGIMA. В этой статье расскажу, как на одном из проектов мы переписывали старый функционал, разработанный когда-то на PHP, на Golang, с какими проблемами столкнулись и как их решали. Статья будет интересна и начинающим, и миддлам...

NestJS + GraphQL + Lambda Цель данной статьи - создать GraphQL приложение, построенное на фреймворке NestJS. А также загрузить его в Лямбда-функцию при помощи Terraform. Надеюсь данный пример поможет многим сэкономить много времени. Читать далее

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

[Перевод] Создание игр для NES на ассемблере 6502: спрайтовая графика Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Как создать telegram бот на C# быстро? Как создать telegram bot на C# быстро?В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в...

[Перевод] Метаклассы в Python Привет, Хабр! У нас продолжается распродажа в честь черной пятницы. Там вы найдете много занимательных книг.Возможен вопрос: а что такое метакласс? Если коротко, метакласс относится к  классу точно как класс к объекту.Метаклассы – не с...

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

Недельный геймдев: #67 — 24 апреля, 2022 Из новостей: культовая демо-сцена Sponza получила обновление, Wolfire Games выложила в открытый доступ исходный код Overgrowth, официально запустился SketchUp для iPad, Steam возобновил выплаты для разработчиков из России, вышел Mudbox 2023.Из интересностей: как создавала...

[Перевод] Скриптинг без скриптинга Уже давно считается, что многие (если не все) игры или приложения можно улучшить, добавив в них поддержку скриптов.Для этого есть несколько разных способов. Наиболее распространенный подход - встроить Lua (или другой язык, который вам больше нравится). Если это по каким-то п...

Huawei планирует увеличить стратегические инвестиции в фундаментальные технологии На конференции MWC Barcelona 2022 действующий председатель Совета директоров Huawei Го Пин (Guo Ping) рассказал о планах компании продолжить реализацию своей стратегии глобализации и увеличить стратегические инвестиции в фундаментальные технологии. Благодаря этим инвестициям...

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:1) реализация табличного источника данных (UITableViewDataSo...

Чистые транзакции в гексагональном Go В современной микросервисной разработке очень популярна чистая архитектура (она же луковая). Этот подход ясно отвечает на много архитектурных вопросов, а также хорошо подходит для сервисов с небольшой кодовой базой. Другая приятная особенность чистой архитектуры состоит в то...

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

Мобильное приложение «Дорожный ассистент» для 1С Пример реализации мобильного приложения для водителей грузового транспорта. Frontend: React-Native. Backend: 1С. Первый опытДля первой попытки разработать мобильное приложение была выбрана мобильная платформа от 1С.  Спустя месяц был готов прототип и показан заказчику....

Ускоряем работу с графами в 20000 раз Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или своей хэш функции лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готов...

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

О, кинчик Мы с друзьями любим играть в настольные игры, но не всегда под рукой оказываются громоздкие коробки с играми. Тут на помощь приходит смартфон. Раньше я написал игру Ну, этот, аналог коробочной игры Бум. Затем родилась идея игры с похожей механикой, но вместо слов - случайные...

Load as a Service: нагрузочное тестирование в inDriver Всем привет, я Никита Мунтян, QA Load Engineer в inDriver. Пришел в компанию в 2020 году развивать направление нагрузочного тестирования. В первую очередь познакомился с коллегами, выстроил план работы и начал планомерно выстраивать процессы и технические решения. Тогда пере...

А вы знаете, где используется Haskell? Всем привет! Мы хотим продолжить серию постов на тему “где используются эти ваши странные языки программирования”. В прошлый раз мы рассказали про Лисп, а сегодня продолжим разговор про функциональные языки и обратим внимание на Haskell.  Он является основным языком раз...

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

[Перевод] Базовые принципы Availability О чем статьяВ этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.Вся информация основана на парах книг...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

DI.kt: одна из первых DI библиотек для Kotlin Multiplatform Прошу приветствовать одну из первых DI библиотек для Kotlin multiplatform — DI.kt. Вы можете спросить: «А зачем нам ещё DI либы?». Долгое время полноценного DI для Kotlin Multiplatform не было. Существующие библиотеки — это сервис-локаторы (Koin, Kodein, Popkorn), котор...

[Перевод] Создание игр для NES на ассемблере 6502: приступаем к разработке Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

Библиотека как продукт: от папки в проекте до международного опенсорса Работа над общей библиотекой сильно отличается от работы в продуктовой команде. Но разработчики библиотек тоже проходят длинный путь становления своего продукта, причем, в отличие от приложений, часто без помощи менеджеров или бизнес-аналитиков.Давайте посмотрим, из чего мож...

Краткое описание нотации BPMN На сегодняшний день BPMN является одним из самых распространенных методов описания бизнес-процессов, которые сегодня уже «понятны» как бизнес-пользователям, так и программным продуктам, предназначенным для работы с бизнес-моделями. Т.е. этот язык описания также является стан...

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

Часть 1. Создание и настройка проекта, работа в редакторах microStudio В этой статье я расскажу про создание проекта и его настройку в среде разработки видеоигр microStudio. А также расскажу про работу в редакторе кода и спрайтов. Читать далее

JPA-Buddy — избавляемся от рутины. Практические кейсы Совсем недавно мне под руку попался плагин, который помогает генерировать код при написании программ - это JPA Buddy. В этой статье я не буду транслировать официальную документацию проекта или показывать на примере видеороликов, как нужно с ним работать, а приведу примеры св...

Сегментация корпоративных сетей в концепции Zero Trust В этой статье я бы хотел поделиться своими мыслями о материале по сегментации сетей представленном на недавно прошедшем LinkMetup и дополнить рассказ некоторыми важными на мой взгляд деталями. В результате я надеюсь представить более полную картину о тенденциях и возможностя...

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

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

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

Bandai Namco анонсировала бесплатную игру Gundam Evolution Сегодня Bandai Namco анонсировала новую игру во франшизе Gundam. Это новая бесплатная видеоигра под названием Gundam Evolution. Игра выйдет в 2022 году для платформ ПК, PS5, PS4, Xbox Series X/S и Xbox One. Это многопользовательская игра 6 на 6 PVP, которая обещает много дей...

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

Какие задачи не решаются bat-файлами? Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.Вместе с тем, в bat-файле можно использовать переменные, условия, циклы и подпрограммы...

Благотворительную помощь ООО «Транснефть – Балтика» в 2021 получили почти 50 организаций ООО «Транснефть – Балтика» подвело итоги реализации благотворительной программы в 2021 году – помощь получили 46 организаций, в числе которых социальные, культурные, образовательные, медицинские и спортивные учреждения в регионах ведения производственной деятельности компани...

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

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

Разделяй и властвуй: детерминированный и скриптованный Match-3 движок Привет! Я Павел Щеваев, CTO студии BIT.GAMES, части MY.GAMES. Вы можете знать нас по таким играм, как «Гильдия Героев» и «Домовята» в Одноклассниках (да, это тоже были мы), а также по нашему текущему флагману Storyngton Hall — это классическая три-в-ряд с сюжетом в викториан...

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

10 лет Oil Rush: как не сгореть, создавая игру на собственном движке В этом году Oil Rush, нашей первой игре на собственном движке, исполнилось 10 лет. Основной профиль деятельности нашей компании — не совсем игры, но разработка Oil Rush помогла не только продемонстрировать технологию UNIGINE во всей красе, но и сделать ее еще лучше.Три года,...

[Перевод] Минимальная реализация Lua на Rust После того, как вы освоите это руководство, в вашем распоряжении окажется минимальная реализация Lua (парсер, компилятор, виртуальная машина), написанная на Rust с чистого листа. Этот проект получил название Lust, его код можно найти на GitHub. Читать дальше →

Нарастающий итог в SQL с разрывами в данных Ранее мы рассмотрели способы расчёта нарастающего (накопительного) итога в SQL. Самый распространённый вопрос - как посчитать тоже самое, но на данных с разрывами? После написания исходной статьи мне его задавали неоднократно – так что есть смысл написать об этом отдельно. Ч...

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

Использование ASCIIDoc для управления документацией на проекте (Часть 1) О важности документации на проекте знают все, начиная от технических заданий на реализацию заканчивая пользовательской документацией. Про важность документации и необходимости документировать написано множество статей. Здесь мы расскажем о том как упростить команде жизнь исп...

Библиотека PHP для поиска видео по скриншоту Перед всеми нами ежедневно встаёт задача поиска информации. Требуется найти текст, изображения, аудио или видео информацию. Чаще всего для поискового запроса используется текст. Реже - изображения. Есть сервисы вроде "Shazam", которые ищут музыку используя запись звука. Мы с...

Игра с null: проверка MonoGame статическим анализатором PVS-Studio Анализатор PVS-Studio уже не раз был использован для анализа кода библиотек, фреймворков и движков для разработки игр. Пришло время добавить к их списку MonoGame – низкоуровневый gamedev-фреймворк, написанный на языке C#. Читать далее

Что там у PVS-Studio c покрытием Toyota ITC Benchmark? Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchma...

JavaScript: заметка о WebAssembly Привет, друзья! В 2019 году WebAssembly (далее — WA или wasm) стал четвертым "языком" веба. Первые три — это, разумеется, HTML, CSS и JavaScript. Сегодня wasm поддерживается 94% браузеров. Он, как утверждается, обеспечивает скорость выполнения кода, близкую к нат...

Обзор kubenav для управления Kubernetes-кластерами со смартфона Kubenav — бесплатное приложение с открытым исходным кодом. Его основная цель — предоставление удобного GUI для управления кластером Kubernetes из-под всех возможных платформ. Их ассортимент действительно богат: десктоп-клиенты (для Linux, macOS и Windows), мобильные (для And...

[Перевод] Знакомство с трансформерами. Часть 3 Первая и вторая части перевода материала о трансформерах были посвящены теоретическим основам этого семейства нейросетевых архитектур, рассказу о способах их использования, демонстрации их реализации с применением PyTorch. Сегодня речь пойдёт об истории трансформеров, будет ...

MuditaOS: зазвонит ли ваш будильник? Часть 1 Операционные системы – это тот вид софта, для которого качество исходного кода особенно критично. В этот раз под объективы анализатора PVS-Studio попала MuditaOS. Так давайте же посмотрим, что нам удалось найти в данной операционной системе с открытым исходным кодом. Читать ...

Bitsy. Make games, without operations Если вы давно хотели научиться делать игры, но не знали с чего начать, то рекомендуем попробовать Bitsy.Это редактор полного цикла для создания простых игр и маленьких миров на основе html. Это значит, что ваша игра максимально доступна и не требовательна, ее легко можно опу...

Аналог Moodle или как преподаватель-юрист создавал собственную систему дистанционного обучения. Часть 1. Начало Дисклеймер: система дистанционного обучения (СДО) в настоящее время введена в эксплуатацию (продакшн), апробирована, протестирована и успешно работает. Система бесплатна, имеет открытый исходный код и выложена в репозитории GitHub. С точки зрения стека технологий она построе...

Составлен перечень главных библиотек Open Source Linux Foundation и Гарвардская лаборатория инновационной науки (LISH) составили список наиболее важных библиотек ПО с открытым исходным кодом, сообщает портал ZDNet. Когда речь идет о важных Open Source-проектах, чаще всего ...

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

[Перевод] 30 команд Git, необходимых для освоения интерфейса командной строки Git Git — самая популярная в мире распределённая система контроля версий. Линус Торвальдс, разработчик ядра ОС Linux, создал этот инструмент ещё в 2005 году, а сегодня Git активно поддерживается как проект с открытым исходным кодом. Огромное количество открытых и коммерческих п...

[Перевод] Капля здравого смысла для Windows-разработки на C и C++ Суровая действительность разработки на C и C++ для Windows такова: для этой платформы никогда не существовало качественной, нативной реализации стандартной библиотеки этих языков. Стандартная библиотека должна абстрагировать механизмы базовой системы ради упрощения разработк...

Автореконнекты к RabbitMQ в Go Брокер сообщений RabbitMQ уже давно активно используется в микросервисах. Он используется, когда требуется асинхронная обработка сообщений от клиентов или при аналогичном межсервисном взаимодействии.Практически нет языка, под который не была бы сделана соответствующая клиент...

Демо игра Superman Flying на движке Unreal Engine 5 выглядит впечатляюще Прошло очень много времени с тех пор, как мы увидели игру о Супермене, и новая демоверсия игры на движке Unreal Engine 5, которая была опубликована в Интернете, дает нам представление о том, как могла бы выглядеть современная игра с супергероем в главной роли. Новая демов...

CloudSec 2021: никому не доверять, в облаках не витать Привет, Хабр! Каждый год Trend Micro проводиn глобальную конференцию по облачным технологиям и кибербезопасности CloudSec, чтобы вдохновить всех участников на непрерывное изучение тенденций отрасли, передового опыта и новых технологий, которые помогут защитить цифровую инфра...

[Перевод] Повышение производительности в Unity. Как я поднял показатель FPS с 15 до 60 Я делаю ремейк своей старой игры Loca Deserta: Sloboda Первая версия была написана на Flutter, но сейчас в качестве движка для игры я выбрал Unity.Я начал работу с нуля и реализовал множество новых функций, но заметил, что даже мой Galaxy S21 Ultra подлагивал во время игры. ...

Управляем подсветкой клавиатуры при смене языка ввода Недавно я купил себе клавиатуру от Corsair модели K55 RGB Pro. У нее есть модная нынче RGB-подсветка, а чтобы ее настраивать, производитель предлагает скачать программу iCUE. На сайте написано, что некоторые игры могут управлять подсветкой совместимых устройств. Я заинтересо...

Хакеры украли 190 ГБ конфиденциальных данных Samsung, включая исходные коды По сообщению источника, группа вымогателей данных Lapsus$, неделю назад взломавшая внутреннюю сеть Nvidia, похитила огромный объем конфиденциальных данных у компании Samsung Electronics. Всего хакеры украли 190 ГБ конфиденциальных данных, включая исходные коды. В частн...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

Установка Windows 10 с работающим звуком на старые MacBook и iMac Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же ...

[Перевод] Как написать эмулятор CHIP-8 на JS Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программировани...

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

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.Этот материал открывает серию из трёх ста...

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

Respect Validation на Python Всем привет! Сегодня мы поговорим о валидации данных, а точнее о том как я перенёс библиотеку с PHP на Python. Библиотека настолько крутая (по мнению автора), что рекомендую вам с ней ознакомиться, особенно, если вы пишите API с библиотекой flask (ссылка на интеграцию в ста...

Как подружить Wi-Fi Mikrotik и TP-Link с помощью RADIUS Хочу поделиться опытом использования нового User Manager в Mikrotik ROS 7 для Wi-Fi. Многое в статье типично, но есть моменты, найденные опытным путем.Задача - покрыть Wi-Fi трехэтажное здание, подключить около 100 пользователей поэтапно с небольшими вложениями.Все начиналос...

[Перевод] Stacks Project — учебник по алгебраической геометрии с открытым исходным кодом Последние 15 лет профессор Колумбийского университета Йохан де Йонг посвятил тому, что собирал основополагающие теоремы алгебраической геометрии в одном месте. Его творение, Stacks Project, предлагает новую модель организации и визуализации математических сведений. К старту ...

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

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Новая технология позволит создать из голографических изображений видео Наука Физика 04.11.2021, 10:56 Новая технология позволит создать из голографических изображений видео Исследователи представили совершенно новый подход к реализации динамической голографии. В нем используются электрически переключаемые...

Автоматическая многоязычная модерация сообщений для миллионов пользователей Как мы все знаем, слова обладают силой. Ими можно вдохновить людей, но можно и навредить. Мы в Badoo и Bumble стараемся оградить пользователей от неприятных ситуаций, поэтому внедрили инструмент Rude Message Detector. Это многоязычный детектор грубых высказываний, работающий...

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

«МойОфис Аналитика»: изучаем отечественное ПО для анализа и визуализации данных Продолжаем рассказывать аудитории Хабра о возможностях продуктов МойОфис, которые позволяют работать с документами, в том числе совместно, до 30% быстрее. Напомним, что ранее в нашем блоге уже выходили статьи про работу с формулами, сводными таблицами и м...

[Перевод] Пакеты Flutter, которые я использую в каждом проекте В этой статье я просто хочу познакомить новых пользователей с моими любимыми пакетами. Речь пойдет о некоторых из лучших пакетов Flutter, которые могут сократить время разработки и повысить производительность вашего приложения Flutter в кратчайшие сроки. Эти пакеты и библиот...

Анализ теней: 5 примеров использования SunCalc для OSINT расследований SunCalc — это инструмент, который помогает толковым людям по теням на фотографии или видео вычислить местоположение. SunCalc создан из готовых элементов с минимальным программированием. Выглядит как гугл-карты на стероидах. На сайте вы задаете точку на карте и в результат...

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

K8S для начинающих. Часть вторая В прошлой статье мы говорили о создании подов. В этой статье поговорим о том, что такое сервис, типы сервисов, метки и селекторы, а также создадим свой сервис. Читать далее

Angular Libs как монорепозиторий 2: tree shaking и сборка клонов Всем привет! В прошлом посте мы с вами разобрали механизмы создания библиотек с помощью Angular libs, а также научились настраивать их работу в приложении и друг с другом и даже вынесли наши ассеты в одну из таких библиотек.В этом посте хочу продолжить тему разделения функци...

[Перевод] Сравниваем async/await и then/catch с примерами  В JavaScript есть два основных способа обработки асинхронного кода: Promise (ES6) и async / await (ES7). Эти синтаксисы дают нам равные базовые функции, но по-разному влияют на читаемость и область видимости. В этой статье мы увидим, как один синтаксис помогает, а друг...

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

Angry Birds Classic возвращается в App Store и Google Play с новым движком Rovio выпустила ремейк классической версии игры Angry Birds 2012 года. Angry Birds теперь доступна в App Store и Google Play. Примечательно, что Rovio решила не использовать модель freemium и выпустила игру без внутриигровых покупок всего за 1 доллар. Разработчики также реши...

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

Flutter: автоматизация UI тестирования Мы — команда мобильного проекта FL.ru. В своей статье хотим познакомить вас с Flutter Driver и рассказать об автоматизации UI тестирования мобильных приложений с помощью данного инструмента. Читать далее

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

Публикация Android библиотеки Недавно у меня появилось желание попробовать создать свою собственную Android библиотеку и выложить ее на Maven Central репозиторий. Это оказалось не так просто, как я думал. В интернете полно непонятных статей на эту тему, в которых легко запутаться.Я решил поделиться проце...

Автоматизация перевода документов на иностранные языки через стандарт XLIFF: особенности тестирования Представим ситуацию: у вас есть продукт, в котором ваши клиенты создают собственный контент. Этот контент нужно распространить на аудиторию, говорящую на разных языках. Как помочь клиенту сделать процесс локализации его контента более комфортным?В десктопных продуктах iSprin...

Poetry — прекрасная альтернатива pip (шпаргалка) Poetry - это инструмент для управления зависимостями в Python проектах (аналог встроенного pip). Идея реализации данного инструмента пришла его создателю в связи с тем, что различные способы менеджмента пакетов (requirements.txt, setup.cfg, MANIFEST.ini и другие) показались ...

Польша: гайд для интересующихся Здравствуйте, дорогие хабровчане! Недавно я прочитал исчерпывающий гайд по Германии, и захотел написать что-то подобное для Польши. В статье я постараюсь описать плюсы и минусы переезда (по крайней мере для айтишника), примерную стоимость жизнь и что стоит сделать в первую о...

На производство пяти моделей электромобилей под Липецком выделили 13 млрд рублей Минпромторг РФ, правительство Липецкой области и компания «Моторинвест» подписали специнвестконтракт (СПИК) по внедрению технологии производства экологически чистых городских транспортных средств на базе тяговых электродвигателей. Планируемые инвестиции комп...

Музыка как код — опробовать концепцию можно прямо в браузере Существует множество языков для музыкального программирования. О некоторых из них, например, Sporth или ORCA, мы рассказывали в блоге. Сегодня поговорим о проекте Harmonicon — браузерном DAW, реализующем концепцию music-as-code. Читать далее

Танцы без бубнов или как я реализовал автомат на ПЛИС Всем привет, дорогие хабровчане! Сегодня я хочу поделиться своей «больной» идеей реализовать калькулятор на ПЛИС на основе конечного автомата. Почему больной? Потому что уж очень мудрёно получается: всё-таки реализация автоматов на ПЛИС – дорогая практика в смысле ресурсов. ...

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

Окрашивание изображений Статья про окрашивание изображений на основе работы Color2Embed: Fast Exemplar-Based Image Colorization using Color Embeddings. Рассмотрим, как переносить цвет с одной картинки на другую с помощью смеси из U-Net и StyleGAN v2. Читать далее

Как написать тысячу автотестов за пару дней Меня зовут дядя Вова, я ведущий инженер по автоматизации тестирования и, как писал уже несколько раз, неизменный фанат Robot Framework. Даже когда-то контрибьютил в его исходный код и иногда помогаю новичкам в официальном slack-чате этого инструмента. Но, как я уже упоминал...

Как создавать собственные библиотеки элементов Привет! Меня зовут Сергей Кузнецов, я руковожу отделом Frontend-разработки в AGIMA. Сегодня хотелось бы рассказать о разработке собственных библиотек элементов для крупных проектов. В статье объясню, зачем они нужны, почему собственные библиотеки могут быть полезнее готовых ...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

[Перевод] Создание игр для NES на ассемблере 6502: краткая история NES Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. З...

Microsoft и Sega планируют создать стратегический альянс Microsoft и Sega объявили планах по созданию стратегического альянса, который позволит обеим компаниям начать изучение возможности разработки игр с использованием облачной инфраструктуры Microsoft Azure. Sega также заявляет, что партнёрство поможет компании с реализацией ср...

Создаем свой React с рендером и useState за 30 минут Понимание процессов приходит с изучением механизмов, которые приводят в движение мелкие части большого пазла. Если представить, что Вам дали задачу объяснить, что такое React за полчаса, скорее всего, Вы бы выбрали один из двух вариантов: - пересказать все то, что изложено ...

Как прогнозировать временные ряды с ETNA Меня зовут Андрей, я разработчик библиотеки ETNA в Тинькофф. В статье расскажу, как быстро и легко анализировать временные ряды с помощью ETNA, зачем временным рядам столько фич, и покажу, что даже простой линейной моделью можно получить хороший результат прогнозирования. [П...

28 Атрибутов Хорошей Блок-Схемы для PCB В этом тексте написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при созд...

Картридж с The Super Shinobi 2 На самом деле эта мини-статья была написана ещё в 2018-м году, задолго до моего появления на Хабре. И я решил выложить её здесь, чтобы, во-первых, она получила большую аудиторию, а во-вторых потому что недавно мне пожаловались, что давненько я ничего не писал. А так как моя ...

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

[recovery mode] Python: рефлексия Я пишу на Python примерно с 15-го года. Я определённо люблю его. Он так прост... В этом эссе я хотел бы вспонить, как начались мои взаимоотношения с этим замечательным языком, что за всё это время я узнал, что заставляло меня пищать от восторга, и рвать на голове волосы от р...

Мгновенные снепшоты postgres на tablespace и btrfs Для работы бывает полезно иметь несколько копий одной реальной базы для экспериментов, фикстур или просто тестовых приложений. База растет и время копирования через разворачивание дампа или с помощью шаблона также возрастает до утомительных величин. Для решения этого ке...

Джентельменский набор для создания WPF-приложений Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Пример...

Уж+ёж: реактивные компоненты в сервлетном окружении (2/3) В предыдущей заметке было показано несколько подходов к управлению зависимостями в «гибридных» приложениях (использующих части сервлетного и реактивного стеков), а также вариант реализации универсального механизма для поддержки MDC-меток в логах. А в этой заметке речь пойдёт...

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

MMORPG Skyblade появилась в Азии, стоит ли качать? Ролевая игра Skyblade доступна на iOS и Android в ряде регионов. Она явно идёт по стопам Onigiri HEROES. Skyblade — это мобильная MMORPG, которую можно скачать в Азии. На старте разработчики дают выбрать семь классов, причём они привязаны к расам. Всего на аккаунте или серв...

[Перевод] Rustenstein 3D: программируем, как будто сейчас 1992 год Дважды в год компания NextRoll организует мероприятие Hack Week, на котором сотрудники на неделю берутся за проект по своему выбору. Это превосходная возможность для экспериментов, изучения новых технологий и объединения с людьми из всех отделов компании. Узнать о Hack Week...

Ремонт  Sony WH-H910N h.ear on 3 В статье Вы узнаете как починить "не подлежащие ремонту" наушники за сущие копейки. Статья написана по большей части для таких же заложников ситуации как я. Читать далее

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на ...

Разбор задачи Титаник на Kaggle (Baseline) В статье я покажу как искать зависимости и проверять гипотезы. Мы познакомимся с данными и реализуем предсказание на основе одной логики=) Читать далее

Просто о современных концепциях шифрования в области Big Data Привет, Хабр!Сегодня мы с вами постараемся простым языком поговорить о том, как защитить свои данные в облаке, даже если оно полностью захвачено злоумышленниками. Читать далее

Недельный геймдев: #48 — 12 декабря, 2021 Из новостей на этой неделе: новое технодемо Unreal Engine 5 — The Matrix Awakens, вышли Flutter 2.8 и Flame Engine 1.0, бетка Unity 2022.1, первая мажорная версия O3DE Game Engine 2111.1, Agility SDK 1.700.10 и HLSL 2021, 3ds Max 2022.3 и Maya 2022.3.Из интересностей: топ...

Игровая инди-студия обвинила концерн «Калашников» в краже дизайна оружия Независимая студия разработки игр Ward B обвинила российский концерн «Калашников» в краже дизайна огнестрельного оружия и передаче проекта другому разработчику. С 2019 года студия публикует рендеры единиц огнестрельного оружия для своей игры Oceanic. Источник изображений: ig...

Панель управления для Figma с помощью MacroDeck и планшета Некоторое время назад я занялся повышением удобства работы за компьютером. Одним из желаний было сократить использование мыши при работе с графическими редакторами. Самым простым решением являются горячие клавиши, они же хоткеи.Горячие клавиши ускоряют работу по сравнению с ...

[Перевод] Собираем DOS 2.11 из исходников 80-х годов Успешно завершив сборку ядра PC DOS 1.1 из исходного кода, я решил, что повторю то же самое с исходным кодом DOS 2.11, опубликованным Музеем компьютерной истории (CHM). В статье представлены заметки, сделанные мной в процессе приведения в форму опубликованного исходного кода...

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

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

Как мы тестируем Rest API в SM 2.0 с помощью Postman: сценарии, запросы, переменные окружения и немного автотестов Всем привет! Сегодня я расскажу о том, как мы тестируем Rest API в SM 2.0 с помощью инструмента Postman. И сделаю это на примере реальной задачи — посмотрим сценарий пользователя (как оформляется заказ у нас на сайте), посмотрим, как это работает все изнутри, пару слов ...

[Перевод] Постигаем WebAssembly, рисуя кривую дракона Познакомьтесь с WebAssembly на примере этого простого туториала, требующего лишь самых общих знаний в веб-разработке. Весь инструментарий, который понадобится вам, чтобы составить впечатление о Wasm на основе готовых к запуску примеров кода – это редактор кода, любой совреме...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

Энтузиаст создал неотличимое от реальности видео при помощи игрового движка Unreal Engine 5 Почти два года назад был представлен новейший игровой движок Epic Games — Unreal Engine 5. С тех пор на нём успело выйти немало игр, самая популярная их которых — Fortnite.

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

Как один разработчик PVS-Studio защищал баг в проверяемом проекте Мы в PVS-Studio часто проверяем открытые проекты и пишем статьи об этом. Иногда при написании статьи случаются интересные ситуации или попадаются особенно эпичные ошибки, тогда хочется написать про это отдельную небольшую заметку. Сейчас совпали оба случая. Читать далее

Android 12. Splash Screen API. Делаем анимированный экран загрузки Android 12. Splash Screen API. Делаем анимированный экран загрузки (кручение). Боли и подводные камни, с которыми я столкнулся при реализации нового сплеш-скрина для Android 12. Читать далее

Таймер в .NET с интервалом 1 мс. macOS Ранее мы уже посмотрели, чем нам может помочь .NET в реализации задачи, обозначенной в теме статьи, в Windows. Сейчас рассмотрим её решение в macOS. Читать далее

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

Почему типы так много значат для программистов? Адаптация статьи What do types mean for programmers? (Ville Tirronen) Типы – одно из основополагающих понятий для программистов. Типы также могут быть одним из наиболее запутанных и многогранных явлений в нашей сфере. И они же являются бесконечным источником споров в интерне...

Следующая игра серии Mass Effect создается на основе свежей версии Unreal Engine Продюсер BioWare Бренон Холмс написал в твиттере о том, что компания нанимает на работу специалистов по игровым движкам Unreal Engine версий 4/5. И уточнил, что кандидатам предстоит работать над следующей игрой из линейки Mass Effect. Оригинальная трилогия Mass Effect, став...

Пишем без Retrofit'а, Gson'a и Kotlin Coroutines Android приложение Порой нам хочется написать код без лишних библиотек, чтобы более глубоко понять основные принципы или просто ради интереса.В качестве примера я написал простое Android приложение, которое позволяет юзерам найти значение русского слова.Давайте остановимся на каждом моменте по...

Способы попадания в 3D-цель с помощью API КОМПАС-3D Недавно на нашем сайте вышла новость о разработке приложения для КОМПАС-3D, позволяющего автоматизировать процесс моделирования строительных лесов. Уникальность данного приложения состоит в том, что компоненты строительных лесов, добавляемые в сборку, могут автоматически соп...

В веб-версии «VK Звонков» появилась замена фона с дополненной реальностью Команда «ВКонтакте» объявила о запуске новой полезной функции для веб-версии сервиса «VK Звонки» — замену фона во время видеозвонков с помощью технологий дополненной реальности.  Как отмечают разработчики, специально для веб-версии бы...

Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой Сегодня делимся видео для мобильных разработчиков с IT-конференции ЮMoneyDay. Начнём с процессов в UI. Что помогает команде работать быстро и слаженно и как срезать углы в работе с дизайн-системой? В первом докладе поделились, как наладить разработку в iOS-команде....

Как упростить работу с базами данных в Node.js с помощью Objection.js Objection.js — сравнительно молодая и минималистичная ORM-библиотека для Node.js, которая сильно упрощает взаимодействие с базами данных и не перегружена дополнительными функциями, как Sequelize или TypeORM. Разбираемся, в чем ее специфика и как строить запросы с ее помощью....

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

Обнаружение наличия функциональности в C++ на этапе компиляции Иногда, при реализации очередной "шаблонной магии" очень хочется на этапе компиляции иметь сакральное знание о том, а если у типа нужный метод, чтобы его вызвать или нет?Хорошо, если есть поддержка концептов или рефлексии. А что делать, если их ещё нет, или они не в полной м...

Немного об отладке C/C++ приложений Приветствую, С/С++ разработчики, те, кто только изучает эти языки и просто интересующиеся! В этом посте речь пойдет об отладочном расширении Stack Scopes для Visual Studio Code. Отладка важная часть разработки, но нужно признать, что не очень любимая большинством разработчи...

[Перевод] 8 проектов с открытым исходным кодом Представляю несколько проектов с исходным кодом начиная от инструментов для повышения производительности до B2B приложений. Решения можно использовать как замену платным. Читать далее

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

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

[Перевод] Знакомство с трансформерами. Часть 1 Трансформеры (transformers) — это очень интересное семейство архитектур машинного обучения. Существует много хороших учебных материалов по этой теме (например — вот и вот), но в последние несколько лет трансформеры, в основном, становились всё проще. Поэтому с...

Как скрестить Intel с Эльбрусом: Обзор новой линейки СХД АЭРОДИСК Всем доброго здравия! В этой статье мы проведем обзор обновленной линейки систем хранения данных АЭРОДИСК Восток-5 и АЭРОДИСК Engine-5. В новых СХД мы уделили много внимания управлению большими хранилищами в многоконтроллерных конфигурациях на разных процессорных архитектура...

«Смута»: в России потратят до полумиллиарда рублей на игру про войну с поляками АНО «Институт развития интернета» (ИРИ) выделила новосибирской студии 260 млн руб. на разработку компьютерной игры в жанре экшен/RPG о периоде Смутного времени в России. Игру должны выпустить в 2024 году. В этой игре под названием «Смута» русский...

Что нам стоит Blockchain-игру построить: 10 пунктов, которые нужно учесть команде проекта Блокчейн-технологии постепенно проникают в разные (все еще относительно немногие) направления бизнеса, включая логистику, страхование, финансы и т.п. В России с блокчейном связаны, например, М.Видео, Альфа-Банк и СберФакторинг — эти компании используют открытую блокчейн-плат...

[Перевод] Основы внутреннего устройства JavaScript С ростом популярности JavaScript команды разработчиков начали использовать его поддержку на многих уровнях своего стека — во фронтенде, бэкенде, гибридных приложениях, встраиваемых устройствах и многом другом. В этой статье мы хотим более глубоко рассмотреть JavaScript и то...

Аддитивная композиция натуральных чисел и её интересные свойства Любое натуральное число можно выразить через уникальное множество простых чисел, перемножение которых даёт исходное число. Для простых чисел это множество состоит из одного элемента – самого этого числа. Такую композицию можно называть мультипликативной, она очень хорошо изв...

Поисковик новостей (RSS), написанный на Java + SQLite Вы скорее всего подумаете: "Зачем десктопная программа, если можно, как минимум, загуглить?". А затем, что моя программа автоматически "гуглит" за тебя! Причём не только по одному ключевому слову, а по нескольким, которые вы, само собой, можете редактировать. А результат пои...

Реализация алгоритма Краскала на С# В данной статье для реализации алгоритма будут рассмотрены:1. Система хранения графа на основе List<>2. Сортировка рёбер графа по весу3. Система непересекающихся множествНа просторах интернета есть множество ресурсов, посвященных данному алгоритму, однако все варианты ...

Представлены наборы инструментов для разработчиков ПО Intel oneAPI 2022 Компания Intel объявила о выпуске наборов инструментов для разработчиков, которые используют модель кросс-архитектурного программирования oneAPI. Как утверждается, обновленные программные инструменты позволят упростить создание решений, способных ускорить вычисления.&nb...

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

Популярная лингвистика. Книги про языки, которые мне нравятся Количество атомов в наблюдаемой Вселенной — где-то 10^80, число Дэвидов на картинке к статье — 2. Количество книг в этой подборке находится между этими ориентирами и будет пополняться (всегда рад рекомендациям). Что же это за книги? Не будучи лингвистом, языки я люблю, поэт...

Межкластерная репликация Apache Kafka между тремя дата-центрами Я Роман Ананьев, NoSQL/Kafka-инженер в Авито. В этом материале расскажу, как мы попробовали использовать брокер сообщений Apache Kafka в трёх дата-центрах и что из этого получилось.Сначала пробегусь по архитектуре Kafka, потому что она играет роль в репликации между кластера...

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

Почему я против enum Меня зовут Саша Терентьев, я из команды ленты ВКонтакте. В этой статье поделюсь мыслями о проблемах кода, где используются enum и сопоставления типов. Часто встречаю такой код в проектах, ресурсах, примерах. Мы обсуждали это с кол...

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

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

Проблема омографов в задачах G2P и автоматической простановки ударений Задачи автоматического перевода слов в фонемы, автоматической простановки ударения, и автоматической простановки буквы ё сейчас решаются довольно успешно даже на уровне открытых решений (например: 1, 2, 3).Тем не менее, практически ни одно открытое р...

Легендарная стратегия Warcraft появится на мобильный устройствах Поскольку смартфоны и планшеты стали основным игровым устройством для многих пользователей, крупные компании вовсю переносят свои успешные игры на iOS и Android. На этой неделе издатель видеоигр Blizzard подтвердил, что работает над новой игрой Warcraft для мобильных устройс...

Конкурентный анализ приложений из App Store на основе открытых данных В этой статье я покажу, как можно без программирования парсить, анализировать и визуализировать данные из RSS- и Atom-лент на примере загрузки и парсинга фида Apple iTunes, а также проведения последующего конкурентного анализа приложений. Представим, что мы собираемся публик...

Игра мечты, которую я делаю вместе с женой (Часть 1) Всем привет, я инди-разработчик, в предыдущей статье просили больше технических подробностей и подводных камей из процесса разработки игры, поэтому в этой статье я охвачу несколько основных "вещей" с которыми я столкнулся и для которых были написаны инструменты на MonoBehavi...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

[Перевод] Flutter 2.8: что нового Повышение производительности, новые фичи Firebase, состояние десктопной версии, новые инструменты и многое другое.Я — Евгений Сатуров, Head of Flutter в Surf и ведущий Flutter Dev Podcast. Представляю перевод официальной статьи про свежий релиз Flutter 2....

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

«Слабые» ссылки в CPython Модуль weakref позволяет создавать "слабые" ссылки на объекты."Слабой" ссылки не достаточно, чтобы объект оставался "живым": когда на объект ссылаются только "слабые" ссылки, сборщик мусора удаляет объект и использует память для других объектов. Однако, пока объект не удалён...

Распределённые транзакции Kafka + PostgreSQL средствами Spring Как известно, во многих IT-проектах есть типичная задача -  транзакционная обработка данных в интеграционных сценариях, когда необходимо согласованно отправить или принять данные из внешней системы и при этом обновить собственное состояние приложения.Особенно интересной...

Проектирование непредсказуемого интеллекта в играх. Часть 1 — архитектура Создаем персонажа, который сам решает, что ему стоит сделать с игроком.В этой статье я познакомлю вас с методикой проектирования искусственного интеллекта под названием GOAP на примере игры Hitman.Подобные методики редко применяются в СНГ, но более популярны в зарубежных сту...

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Искусственный интеллект для военных предложили обучать на компьютерных играх “КоммерсантЪ” ознакомился с исследованием научно-технического центра ФГУП ГРЧЦ, посвященным мировому опыту регулирования и применения ИИ, которое было 30 ноября направлено в Роскомнадзор. В документе, в частности, предлагается перенять зарубежную практику примен...

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

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

Вторая жизнь звука в «Художественном» — работает 3D печать В этой статье речь пойдет о том, как с помощью 3D-печати можно получить качественное звуковое оборудование и при этом сделать уникальный дизайн. В данном случае компании удалось выполнить нелегкую задачу по оснащению и одновременно сохранению исторического облика одного из с...

[Перевод] Как написать «Пятнашки» на Flutter Возможно, вы уже читали о конкурсе Flutter Puzzle Hack и думаете о том, как проявить максимум творческих способностей. И мы вам в этом поможем, рассказав о том, как структурирована кодовая база нашего примера головоломки. Подробностями делимся к старту авторского курса по ве...

[Перевод] Как обновить образы контейнеров с помощью Podman Изображение Hessel Visser с сайта Pixabay Поддержание образов в актуальном состоянии является стандартной процедурой при эксплуатации и управлении контейнерной средой. Далее мы рассмотрим, как следует это делать. Podman — это daemon-less движок для разработки, управления ...

Микросервисный фреймворк Flogo — собираем систему из кирпичиков Для создания микросервисной архитектуры на Go может использоваться фреймворк Flogo, основанный на идеях потока сообщений/данных между микросервисами и реакции на события. В этой статье мы рассмотрим его возможности на примере простой задачи обработки данных телеметрии. Читат...

Java: есть ли жизнь на десктопе? Привет! Я Виктор Барсуков, Java-разработчик в Lamoda. В этой статье хочу рассказать о своем опыте разработки десктопного Java-приложения в рамках пет-проджекта. Что из этого получилось и что можно было бы сделать иначе. Читать далее

Уязвимость Log4Shell затронула Intel, Microsoft и Nvidia, но не AMD Несколько дней назад была обнаружена уязвимость Log4Shell, позволяющая злоумышленникам контролировать открытые веб-серверы, отправляя и активируя вредоносную строку текста. Она затронула крупные технологические компании, включая Intel, Microsoft и Nvidia. Уязвимость нах...

[Перевод] Обобщенное программирование – обзор реализаций В большинстве сильно типизированных языков поддерживается обобщенное программирование. Круг проблем, которые решаются на этих языках, один и тот же, но сами проблемы решались в разное время разными способами, и у каждого из этих способов были свои «за» и «против». Мы рассмот...

Cisco расширяет портфель коммутаторов Catalyst Catalyst IE9300 – это самый многофункциональный промышленный коммутатор, специально разработанный для ИТ и ОТ с целью автоматизации сетевых операций, реализации концепции нулевого доверия (Zero Trust) в рабочих зонах, обеспечения высокой плотности размещения портов, поддержк...

Google создала приложение для запуска Android-игр на Windows Компания Google планирует вывести Android-игры на операционную систему Windows уже в следующем году.Игры будут доступны в специальном приложении Google Play Games. Приложение будет создано для Windows и позволит запускать игры из Google Play на ноутбуках, планшетах и ПК.Грег...

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

[Перевод] В Steam 44 тысяч разработчиков. Кто они? Краткий обзор На момент написания статьи в Steam есть 44 тысяч разработчиков, выпустивших или объявивших о выпуске игры. В сумме они создали почти 70 тысяч игр Steam. В этой статье мы узнаем, кто эти разработчики, какие игры они делают и какую прибыль приносят эти игры. Большинство раз...

JavaScript: разрабатываем чат с помощью Socket.io, Express и React с акцентом на работе с медиа Привет, друзья! В данной статье я хочу показать вам, как разработать простое приложение для обмена сообщениями в режиме реального времени с использованием Socket.io, Express и React с акцентом на работе с медиа. Функционал нашего приложения будет следующим: при первом за...

gocorpus: открытый корпус Go кода, поддерживающий запросы На днях я запустил wasm-приложение, которое позволяет запускать gogrep шаблоны на относительно крупном корпусе Go кода (~11 миллионов строк кода). В этой заметке я напишу как этим пользоваться и зачем оно вообще может быть нужно. Звёздочки нести сюда Исходный код можно найти...

Визуальный SLAM: делаем HD-карты при помощи смартфона Привет, Хабр! Меня зовут Гращенков Александр, я iOS-разработчик в компании RoadAR. С 2016 года живу и работаю в Иннополисе, занимаюсь компьютерным зрением и интеграцией нейросетей в мобильные платформы.Возможно, вы пользуетесь приложением-видеорегистратором со встроенным рас...

[Перевод] Structured concurrency в Swift Примечание переводчиков: В Swift 5.5 появилась новая концепция языка async/await. Мы решили опубликовать перевод статьи, чтобы разобраться с structured concurrency.За время подготовки перевода оригинал успели переписать, и в статье ниже мы совместили обе версии: сначала идет...

Недельный геймдев: #49 — 19 декабря, 2021 Из новостей на этой неделе: новый тип ассетов от Quixel — Megascans Trees, Maxon купила создателя ZBrush, разработчик ArmA, DayZ анонсировал собственный игровой движок Enfusion Engine, Unity выпустила ассет с примерами по работе с террейном.Из интересностей: как рисуют пе...

25+1 лучших OSINT расширений для Google Chrome Здравствуй Хабр! А мы тут продолжаем цикл статей об OSINT и, самое главное, о полезных для этого нелегкого дела инструментах.Сегодня мы разберем расширения для Google Chrome которые помогут нам собирать и анализировать данные из открытых источников, ну и в целом улучшат наш ...

10 вещей, которые можно делать в верстке с помощью псевдоэлементов before и after Привет, Хабр! Меня зовут Максим Васянович, я спикер курса “Веб-верстка” в Skillbox. Сегодня поговорим о верстке, а точнее - о нюансах работы с псевдоэлементами before и after. Статья будет полезна, прежде всего, начинающим верстальщикам. Но, возможно, и профи будет интересно...

[Перевод] 8 способов вызвать утечки памяти в .NET Опытные .NET-разработчики знают, что даже несмотря на наличие в .NET сборщика мусора (Garbage Collector), утечки памяти все равно возникают с завидной регулярностью. Утечки возможны не из-за ошибок в сборщике мусора, а потому что даже в управляемом коде есть множество способ...

Цемна стронэ Моцы Початково рыцер Еди, под вплывем Дартха Сидиоуса прешедл на цемна стронэ Моцы и прыял тытул „Дартх Вадер”.Вы поняли что-то из предыдущего предложения? Это польский язык. Это не перевод, не какой-то интернет-сленг, это польский язык как он есть, просто записаный кириллицей. В...

Оптимизация рендеринга React-компонентов: как не навредить Всем привет! Если вы используете React для создания UI, то уверена, что вы слышали о таких понятиях, как PureComponent, memo, useCallback и прочих возможностях, которые нам предоставляют создатели библиотеки для оптимизации наших приложений. Разработчики React уже позаботил...

Мультиплеер в Unreal Engine: Подключение и Хостинг Привет Хабр!В этой статье я хочу раскрыть механику создания онлайн сессии и подключения к ней. Все выполнено в с использованием Online Subsystem для возможного расширения вашей игры в контексте Steam, Origin, Play Station Store и т.д Читать далее

Защита поставок кремниевых чипов с помощью ESD Resin В бизнес по производству вещей, созданию и производству материальных продуктов достаточно сложно пробиться молодой компании. Но еще сложнее открыть бизнес по созданию оборудования, которое производит эти продукты. Компания Стивена Хоуза, Opulo, занимается именно этим — созда...

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

Почему DevOps и Agile не работают в России, часть первая, Enterprise Пару лет назад, человек из Wrike написал серию статей про красную корпоративную культуру, причём во второй части буквально в 3 абзацах был весь смысл 4 статей. Было написано очень завуалировано и мягко, я же сегодня распишу, по сути, этот абзац в целую статью на примере круп...

Парсинг FIT файлов c данными тренировок Мне стало интересно проанализировать данные о своих тренировках за последние несколько лет, и я понял, что обычного функционала приложений типа Garmin Connect или бесплатной версии Strava будет недостаточно. В этой статье я расскажу как получить свои персональные данные о тр...

Ученые из Челябинска представили собственную классификацию туманных вычислительных систем Технология туманных вычислений - методика, которая используется для вычисления, хранения, обработки облачных сервисов. Их современное состояние проанализировали ученые Высшей школы электроники и компьютерных наук (ВШ ЭКН) ЮУрГУ. Исследование стало начальным этапом работы по ...

Срочные обновления iOS 15.3 и iPadOS 15.3 необходимо установить как можно скорее Компания Apple выпустила срочное обновление для своих мобильных устройств, при этом iOS 15.3 и iPadOS 15.3 должны быть установлены как можно скорее, поскольку они исправляют активно эксплуатируемую ошибку, связанную с повреждением памяти. Кроме того, еще одна ошибка, на...

[Перевод] Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и прилож...

Оказалось, что две камеры Samsung Galaxy S22 Ultra технически хуже, чем у Galaxy S21 Ultra. Речь о параметрах датчиков изображения Похоже, что в Samsung Galaxy S22 Ultra установлено два датчика изображения, которые как минимум на бумаге хуже, чем у прошлогоднего флагмана.  Речь о датчиках для реализации телевиков. У S21 Ultra и у S22 Ultra обе телекамеры опираются на одинаковые датчики. Но у ...

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

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

Простой GUI калькулятор на Python #1. Создание дизайна приложения Штош. Наверное, каждый начинающий программист после "Hello, world!" хочет написать какой-нибудь простенький проект. Почти всегда в голову приходит идея создания калькулятора. Но консольный калькулятор - это как-то скучно и просто. Хочется сделать приложение вот прямо как в с...

Фальсифицируем выборы в государственную думу 2021 года, а потом отменяем фальсификации с помощью машинного обучения Предыдущая статья на тему выборов в государственную думу: «Восстанавливаем результаты выборов 2021 с помощью машинного обучения» вызвала интерес. Вместе с тем к статье было много критических комментариев. В некоторых из этих комментариев были подняты спорные вопросы, кото...

[Перевод] Создание нативных CLI приложений на Java с помощью Graalvm и Picocli Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, - это возможность скомпилировать программу в один нативный исполняемый файл. Это значитель...

Конвертер из HDMI/DP++ в MIPI DSI Доброго времени суток, Хабр! Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми сто...

Глава Intel ратует за open source В преддверии мероприятия Intel Innovation генеральный директор компании Пэт Гелсингер (Patrick Gelsinger) опубликовал открытое письмо сообществу проектов open source. Гелсингер отметил, что верит в перспективы open source подхода, который фактически создал основу для совреме...

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

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

Опробуйте бесплатно одну из лучших глобальный стратегий В Steam проходит раздача одной из самых известных глобальных пошаговых открытый — Europa Universalis 4. Игра от студии Paradox Interactive славится своим продуманным геймплеем, историчностью и глобальностью. Бесплатная раздача будет проходить до 13 декабря 21:00 по мск, а ...

Почему я перешёл с Python на Go: choose your fighter Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-ра...

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

Пишем чат под Android на Websocket'ах Привет Хабр!Во время локдауна я решил поупражняться в разработке под Android. Начать решил с простой гиперказуальной игры с элементами дуэли. Взаимодействие игроков решил реализовать через отдельный сервер и websocket'ы, но пока читал про все это дело, понял, что простого ту...

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

Apple запатентовала складные iPad и iPhone Бюро патентов и торговых знаков США зарегистрировало свежую патентную заявку от компании Apple.В данном патенте описывается идея создания некоего устройства, которое в будущем может стать как новым гибким iPad, так и iPhone+. Сейчас же его внешний вид напоминает Microsoft Su...

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

[Перевод] Пишем чистый код при помощи деструктуризации объектов в JavaScript Сравниваем традиционный способ извлечения значений и деструктуризацию (ES6) в JavaScriptВ этой статье мы рассмотрим традиционное присваивание значений из объектов в переменные и новый синтаксис деструктуризации в ES6. Материал адаптирован на русский язык совместно с тимлидом...

«Сделка века» между ARM и NVIDIA, против которой выступают почти все, под угрозой. NVIDIA, возможно, передумала Более года назад, 14 сентября 2020 г., компания NVIDIA объявила о намерении провести поглощения одного из крупнейших глобальных разработчиков процессорных архитектур. Речь идет о компании ARM, на основе разработок которой производятся мобильные и не только процессоры с мини...

Как скрестить Коня и Трепетную лань «Бить (Bash) или не бить», - спрашивал один датский принц. Вот и у меня возник аналогичный вопрос, когда у нас в компании появился сервер сборки Bamboo. Как можно в задании Bamboo, выполняющем скрипт Bash или Cmd, написать команды, одновременно понятные интерпретатору команд...

[Перевод] Простое объяснение симуляции жидкости в реальном времени Эта статья представляет собой простой и интуитивно понятный разбор симуляции жидкостей для программистов и технических художников. Вместо сложных математических выражений я постараюсь дать вам простое геометрическое понимание физики жидкостей. Реализация выполнена на вычисл...

Пишем простого slack-бота на Java Привет! Я — Саша Казанцев, разработчик в hh.ru. В статье я расскажу, как сделать простого бота в Slack на java и немного о других вариантах использования slack api.Слак обладает обширной и всеобъемлющей документацией и туториалами, и чтобы написать эталонного бота, лучше про...

[Перевод] Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python Прим. Wunder Fund: в статье рассказано, зачем появился и существует GIL, как он работает, и как он влияет на скорость работы Питона, а также о том, куда в будущем вероятно будет двигаться Питон. У нас в фонде почти все, что не написано на плюсах — написано на Питоне, мы прис...

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

Вангеры 3D: пример использования Emscripten в Rust Вангеры в 2022 году продолжают удивлять, прежде всего людьми которые когда-то полюбили эту игру, но сегодня не забывают и вкладывают много сил, делая её лучше, современнее. Оригинальная игра получила обновление с поддержкой полноценного 3D, да не абы какого, а кросс платформ...

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

Microsoft Gaming приветствует невероятные команды и легендарные франшизы Activision Blizzard Наша команда стремится предоставить радость и чувство причастности к игровому сообществу всем жителям планеты. Мы знаем, что игры – одна из самых живых и динамичных форм развлечений в мире. Кроме того, каждый из нас точно знает, насколько интересными и сильными бывают общени...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

[Перевод] Многомодульность в Android и Dagger: пошаговый пример Наше мобильное направление продолжает делиться собственным опытом, а также переводить те статьи, которые могут сослужить разработчику хорошую службу. Эту статью по Android, написанную в 2020 году, мы выбрали, изучая вопросы оптимизации внедрения зависимостей на проекте, и пе...

Call of Duty: Warzone выходит на мобильные устройства Call of Duty: Warzone, бесплатная игра в жанре «королевская битва», скоро получит мобильную версию. В твите Activision объявила, что нанимает несколько новых лиц для создания мобильной игры. Предстоящая Warzone станет второй игрой CoD для мобильных устройств после выхода Cal...

Ракета на палочке Всем привет! Меня зовут Илья!Если вы читали мою прошлую статью, то наверное уже знаете что я увлекаюсь любительским ракетостроением. Это сложная и долгая тема. Давайте сейчас не будем строить большую ракету, а в этой статье давайте поговорим о чём-нибудь попроще. Ну, наприме...

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

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

Сегодня состоится анонс мобильной игры Warcraft 3 Blizzard представит мобильную игру Warcraft 3 мая. Анонс новой увлекательной мобильной игры состоится в 20:00 МСК. Подробности на официальном сайте разработчика. Blizzard делает большие ставки на мобильные устройства. Ранее проскакивала информация о возможной игре Warcr...

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

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

Почти 4 тысячи новых рабочих мест появится в ВАО и ЗелАО Два застройщика приступили к реализации проектов в рамках программы стимулирования создания мест приложения труда. На востоке столицы началось строительство офисно-торгового центра, а в Зеленограде на площадке «Алабушево» ОЭЗ «Технополис Москва» — подготовка строительн...

Huawei может решить проблему отсутствия 5G в своих смартфонах оригинальным способом – при помощи аксессуара Как пишет источник, смартфоны Huawei, обделенные поддержкой 5G, в скором времени могут ее обрести. Причем речь и о новых моделях, и о тех, которые уже выпущены. Достигнуто это будет при помощи дополнительного аксессуара – специального чехла. Напомним, проблема со...

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

Playstation Spartacus станет реальностью уже на этой неделе. Это ответ Sony на Xbox Game Pass Как сообщают источники, на этой неделе Sony готовится представить новый сервис подписки на видеоигры для PlayStation. Сервис находится в разработке под кодовым названием Spartacus и считается ответом Sony на Xbox Game Pass. По данным Bloomberg, новый сервис будет сочета...

Функциональный Kotlin. Часть 2. Каррированные функции и где они обитают Вторая статья из цикла о функциональном программировании на Kotlin с разбором принципа работы, концепции и способов применения каррирования на практике. Читать далее

Главный секрет операторов match/case в пайтоне Не так давно увидела свет версия языка пайтон 3.10. В ней был добавлен pattern matching statement (оператор сопоставления с шаблонами). Как гласит официальное описание этого оператора в PEP622, разработчики в большей мере вдохновлялись наработками таких языков как: Scala, Er...

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

Просто о шаблонах C++ Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором. Читать далее

О жидком металле замолвите слово. Мысли об аппаратной и программной реализации Т-1000 Если вы — представитель моего поколения, и еще помните, что такое «ждать неделю, пока будет этот фильм по РТР» — то, вероятно, вас в детстве тоже интересовал вопрос «Как уничтожить Т-1000». Еще в школе друг сказал мне: «Тебе показали первого Терминатора, чтобы ты понял второ...

[Перевод] Blogged Answers: (почти) полное руководство по особенностям рендеринга в React. Часть 1 Подробности о том, как происходит рендеринг в React и как влияет на рендеринг применение контекста.Я часто сталкиваюсь с недопониманием относительно того, как, почему и когда React повторно рендерит компоненты и каким образом применение контекста и React-Redux влияет на врем...

Как я тестировал Android-приложения с помощью Samsung Remote Test Lab Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в “IT-Школе Samsung” на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сил...

[Перевод] Pyxel  для любителей ретро игр Pyxel -- это игровой движок для Python в стиле ретро.Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт...

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

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

Go, я создал: интегрируем Allure в Go красиво Привет! Меня зовут Антон, я ведущий инженер по тестированию в Ozon: занимаюсь созданием и поддержкой end-to-end Go-тестов бэкенда для QA.Мы довольно долго писали тесты в основном на Python. Go – молодой язык, и популярных устоявшихся инструментов у него пока немного. В Pytho...

PHP Дайджест № 214 (11 – 25 октября 2021) Фото: Иван Ганцев. Подборка свежих новостей и материалов из мира PHP. Конфликт вокруг расширения Swoole и создание форка OpenSwoole; асинхронные фреймворки Amp и ReactPHP выпустили общую реализацию ивент-лупа; PHP 8.1 RC 4; принят первый RFC для 8.2. Также в выпуске два ...

Погружение в Helm Package Manager. Часть первая Helm — один из самых популярных пакетных менеджеров для Kubernetes. Познакомиться с ним полезно любому DevOps-инженеру и всем, кто сталкивается с задачами деплоя приложений. Эта статья — первый из двух материалов, которые можно вместе можно рассматривать как краткое, но дост...

[Перевод] Простая система ветровой эрозии на основе частиц Полный исходный код этого проекта, а также объяснение того, как его использовать и читать, можно найти на Github [здесь]. Проект рендерится при помощи моего собственного [TinyEngine]. В прошлом году я много экспериментировал со способами реализации эрозии на основе частиц ...

Текстовая CAPTCHA в 2022 В этой статье я попробую пройти весь путь в распознавании text-based CAPTCHA, от эвристик до полностью автоматических систем распознавания. Попробую проанализировать, жива ли еще капча(речь про текстовую), или пора ей на покой.Впервые текстовая капча(text-based CAPTCHA), дал...

Малайзия запустила национальную программу цифровизации экономики Проект MyDigital был разработан как дополнение к национальной политике развития, включая 12-й план Малайзии (12MP) и Концепцию общего процветания 2030 (SPV 2030). Инициатива MyDIGITAL также согласована со стремлениями, заложенными в Целях устойчивого развития ООН. Цифровая э...

Как проходит интервью мобильных разработчиков в Тинькофф Привет! Я Максим Коробов, руководитель отдела разработки мобильного приложения Тинькофф. В статье расскажу о том, как проходит отбор кандидатов на вакансии разработчиков iOS и Android, что спрашивают на первичном и техническом интервью и какие задачи предлагают решать во вре...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

Анонсирована новая часть The Witcher на Unreal Engine 5 Разработчики из польской студии CD Projekt RED официально подтвердили, что они занимаются разработкой новой игры популярной серии «Ведьмак» (The Witcher). Мы рады сообщить, что работаем над следующим проектом в серии игр «Ведьмак», который положи...

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

От Prototype Pollution к RCE на ZeroNights X В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Secu...

Huawei продолжит реализацию своей стратегии глобализации На конференции MWC Barcelona 2022 действующий председатель Совета директоров Huawei Го Пин (Guo Ping) рассказал о планах компании продолжить реализацию своей стратегии глобализации и увеличить стратегические инвестиции в фундаментальные технологии. Благодаря этим инвестициям...

[Перевод] Нетрадиционные подходы к использованию GraphQL Привет, Хаброжители! Стартовала весенняя распродажа от издательства «Питер». Эту статью также можно было бы назвать «Чего по науке нельзя делать с GraphQL».Читая различные посты в блогах и руководства, мы узнаем, что существует некий правильный способ работы с GraphQL. Но в...

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

FLauncher - новая программа запуска приложений для Android TV Несмотря на то, что Android TV и Google TV основан на Android, он предназначен только для использования приложений и игр, созданных для телевизоров. Вот почему приложения для смартфонов не отображаются в Android TV Play Store, а когда вы загружаете приложения без ТВ-интерфей...

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

Книга «Дизайн-мышление: канвасы и упражнения. Полный набор инструментов» Привет, Хаброжители! Издание содержит все самые важные и ценные инструменты для реализации дизайн-мышления на практике. Более 100 экспертов мирового сообщества по дизайн-мышлению приняли участие в создании этой книги и показали, насколько актуальна тема сегодня, как происхо...

В России появится национальный репозиторий для хранения программ с открытым кодом Минцифры создаст репозиторий для хранения программ с открытым исходным кодом

Tidy stemming велосипед, который поехал Когда в NLP задачах речь доходит до стемминга, то никто особо не заморачивается - берет готовую реализацию, и она работает. Правда работает она только в тех случаях, когда текст является "классическим", то есть это человекочитаемый текст без огромного числа сокращений сл...

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

Minecraft выходит на Xbox Game Pass для ПК Microsoft объявила, что Minecraft присоединился к библиотеке игр Game Pass для ПК, и подписчики теперь могут пользоваться обеими версиями на Windows 10 и 11. Игроки Minecraft теперь могут пользоваться версиями Java Edition и Minecraft Bedrock Edition на Windows с помощью Xbo...

Герман Греф: метавселенная Facebook пока невозможна технически Глава Сбербанка Герман Греф заявил на форуме «Финополис», что не верит в успешную реализацию метавселенной главы Meta Марка Цукерберга. Причиной Греф считает технические ограничения, из-за которых до сих пор нет ни одной полноценной реализации метавселенных и связанных с ним...

Какие проекты делают выпускники Практикума Привет! Я Максим Карпов, лид Мастерской — части программы трудоустройства Яндекс.Практикума. Многие выпускники сталкиваются с одной и той же проблемой. При трудоустройстве компании изучают портфолио кандидата: если в нём есть не только учебные, но и реальные проекты, шанс по...

Экосистема React в 2022 году В данной статье мы рассмотрим текущее состояние экосистемы React, а также какие инструменты и библиотеки нам необходимы чтобы покрыть все основные кейсы для успешной разработки приложения. Читать далее

[Перевод] Синхронные и асинхронные стектрейсы: опыт использования в Facebook Здесь мы подробно поговорим о том, каковы технические отличия между реализацией асинхронных стектрейсов по сравнению с реализацией традиционных стектрейсов, а также с какими сложностями можно столкнуться, реализуя такие асинхронные стектрейсы поверх корутин C++. Читать далее

[recovery mode] Над пропастью во лжи Сейчас, когда обучение созданию искусственного интеллекта преподают в продвинутых детских садах и утренний разговор с кофеваркой о перспективах урожая в Эфиопии стали реальностью, количество курсов "Создай себе немного интеллекта" уже невозможно сосчитать, то наверно осталос...

Язык Эсперанто: как он связан с Троцким и Красной армией, а также его краткая история и грамматика В нашем мире существует 7000 тысяч языков и естественно, при большей необходимости интернационального общения людей разных наций друг с другом, вызванного политикой, экономикой, туризмом и просто обычным интересом, человечеству не обойтись без международного языка, на котор...

[Перевод] Как в Java устроено выделение регистров в памяти Привет, Хаброжители! Обратите внимание на большую распродажу в честь Старого Нового года. Когда виртуальная машина Java компилирует ваш исходный код Java в машинный, одна из задач, которые она должна при этом выполнить – решить, где хранить локальные переменные Java и други...

Гидропоника для балкона? Почему бы и да Картинка: kartinkin.net Скоро лето и хочется чего-нибудь эдакого, связанного с природой, чего-нибудь зелёненького, может быть даже цветущего… Если вас мучают те же самые мысли, что и меня, то вполне можно попытаться объединить реализацию этих мыслей и свои технические навык...

Скриптовый (script) 3D редактор OpenSCAD В основу 3D-script редактора OpenSCAD положена абсолютно обратная парадигма, в данном редакторе полностью отсутствует какой либо графический интерфейс для создания 3D-объектов, нет ни одной "кнопки" или пункта "меню" при помощи которого вы могли бы создать как...

[Перевод] Как сделать игру 2048 на React Автор этого туториала сосредоточился на анимации. Он использовал хуки библиотеки React, её Context API, а также TypeScript и LESS. В конце вы найдёте ссылки на игру, её код и демо анимаций. Подробности рассказываем под катом, пока у нас начинается курс по Frontend-разработке...

Хакеры освоили метод заражения ПО на стадии исходного кода Как пишет D-Russia со ссылкой на The Record, злоумышленники эксплуатируют т.н. двунаправленные управляющие Unicode-символы внутри комментариев исходного кода. Такие символы нужны, чтобы "объяснить" алгоритму, как отображать текст: слева направо или справа налево, ч...

Менеджер личных финансов Firefly III Для оптимизации личных финансов часто рекомендуют записывать и анализировать свои, по крайней мере основные, расходы и доходы, планировать бюджет. Для этого создано множество приложений на различных платформах. Многие из них, как правило, платные или требуют платной подписки...

От 1FA к Zero-Trust через рынок ИБ В настоящее время в контексте систематического увеличения как в размерах, так и в инфраструктурной сложности существующих систем кибербезопасности, а также логического завершения устоявшейся парадигмы локализации средств защиты организаций внутри их периметра, возникает необ...

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

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

«E» и «D» в теории ICED — вовлечённость пользователя и самобытность продукта (часть 3) В прошлых статьях мы познакомились с общей теорией ICED и продвижением по векторам «I» (Infrequent, степени редкости) и «C» (степень контроля над пользовательским опытом). В этой статье хочу рассказать, каким образом продвигаться вправо по векторам «E» (engagement, вовл...

В компании «Юнидата» создан отдел стандартизации НСИ Благодаря созданию нового отдела компания «Юнидата», успешно реализующая многочисленные проекты в области НСИ, еще больше усилила свои возможности и компетенции в этом направлении. Компания «Юнидата» сформировала новое структурное подразделение — отдел стандартизации НСИ....

[Перевод] Гайдлайны и бритвы компании Bungie по кодингу на C++ Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny. Это похоже на то, как если бы группе лю...

[Перевод] Правила перезаписи PostgreSQL Представления (Views) — это не совсем то, о чём вы можете подумать. В этой статье мы разберём правила перезаписи PostgreSQL, как они работают, что они могут и чего не могут делать. Начиная с версии 10, PostgreSQL поддерживает концепцию правил перезаписи, которые позволяют ...

[Перевод] Абсолютный поворотный энкодер с однодорожечным кодом Грея В этом материале речь пойдёт о физической реализации абсолютного поворотного энкодера. Разрешение этого энкодера составляет 6 градусов, то есть — 60 шагов. Этого достаточно для того чтобы сделать на его основе часы. Здесь используется одношаговый код Грея. Читать дальше &r...

Игровая мышь XPG Vault Concept со встроенным SSD XPG только что анонсировала новую концепцию игровой мышки. Это игровая мышь с RGB-подсветкой, которая ничем не отличается от тысячи вариантов, доступных на рынке. Мышь оснащена встроенным SSD-накопителем емкостью 1 ТБ. Для тех, кто не знает, XPG - это суббренд китайского ...

Создатели Subway Surfers выпустили эксклюзивную игру MetroLand в Huawei AppGallery В магазине приложений AppGallery от Huawei вышла игра, которую нельзя найти в каком-то другом месте. Речь идёт о MetroLand от компании Kiloo, создавшей очень успешную мобильную игру Subway Surfers. Kiloo выбрал AppGallery для выпуска MetroLand, которая стала эксклюзивны...

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы) SQL является мощным инструментом для обработки множеств, а функционал PostgreSQL позволяет делать многие вещи еще проще, поэтому идеально подходит для реализации некоторых алгоритмов на графах.Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная...

Идея для языка программирования искусственного интеллекта. Свойство-ориентированный подход В данной статье предлагается новый свойство-ориентированный подход к организации объектной модели в языках программирования. Основная идея - вынести свойство из объекта и сделать понятия свойства и объекта равноправными. Это позволит получить крайнюю гибкость и универсально...

РВК и ОАО «РЖД» подписали соглашение о сотрудничестве в сфере инноваций Взаимодействие будет проходить по нескольким основным направлениям:Развитие корпоративного акселератора ОАО "РЖД" до отраслевого акселератора, в котором планируется финансовое участие крупных отраслевых предприятий. Это позволит РЖД создать платформу, объединяющую ...

Миграция данных из различных RDBMS в HADOOP В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark. Читать далее

4 года Q# В этой статье мы решили собрать все самые важные новинки в языке Q# за этот год. Среди них Azure Quantum, QIR Alliance, Python и многое другое. Подробности под катом.Здесь вы можете увидеть все примечания к выпускам за год. Читать далее

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

Ссылки и ссылочные типы в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющи...

Ancient Sword Qimen Yanjia вышла в Тайване на Андроид В Тайване появилась пошаговая игра Ancient Sword Qimen Yanjia. В ней приятная графика, много вкусной еды и прикольный арт. Ancient Sword Qimen Yanjia — мобильный проект, который появился в тайваньском Google Play. Игра предлагает создание отряда из редких персонажей, это мо...

Valve выпустила онлайн-инструмент для проверки вашего каталога игр на совместимость со Steam Deck Теперь можно узнать, будет ли ваша существующая библиотека Steam хорошо работать со Steam Deck

Отправка SMS кириллицей с AT-модема Оперативное информирование клиентов, когда их достаточно много для ручного обзвона, но недостаточно много для подключения массового сервиса, вроде sms.ru (на самом деле сервис хорош, но недавняя политика некоторых мобильных операторов создала определённые финансовые сложност...

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

Apple поделился новыми функциями iMovie, которые появятся в апреле После завершения мероприятия «Peek Performance» Apple представила две новые функции для iMovie, которые называются Magic Movie и Storyboards. С помощью Magic Movie вы можете быстро создавать видео, выбирая медиафайлы или альбомы из своей библиотеки и позволять пакету автомат...

[recovery mode] Low Cost Engineering как метод бережливого производства в технологическом стартапе Тот, кто не готов внедрять новые решения, достаточно скептично относится к такой формулировке как Low Cost Engineering, считая, что создание прототипа – это огромные затраты. Опытные же инженеры все чаще используют данную концепцию как один из инструментов бережливого произв...

Вызов виртуальных функций в конструкторах и деструкторах (C++) В разных языках программирования поведение виртуальных функций отличается, когда речь заходит о конструкторах и деструкторах. Неправильное использование виртуальных функций – это классическая ошибка при разработке на языке С++, которую мы разберём в этой статье. Читать даль...

Unity: 8 причин отказаться от Coroutine в пользу Async Когда речь заходит об асинхронных операциях в Unity, на ум первым делом приходит coroutine. И это не удивительно, так как большинство примеров в сети реализованы именно через них. Но мало кто знает, что Unity поддерживает работу с async/await еще с 2017 версии.Так почему же ...

Программа Blender 3.0 с открытым исходным кодом для 3D-моделирования и анимации Blender 3.0, долгожданное программное обеспечение для 3D-моделирования следующего поколения, теперь доступно для загрузки и представляет собой бесплатное приложение с открытым исходным кодом для всех, кто может создавать как 2D, так и 3D-контент. Blender Foundation уже некот...

Разбираемся с сессиями в SQLAlchemy В этой небольшой статье я хочу дать ответ на вопрос, который возник у меня, когда я познакомился с сессиями в SQLAlchemy. Если сформулировать его кратко, то звучит он примерно так: “А зачем оно надо вообще”? Меня, как человека пришедшего из мира джанги, сессии приводили в ун...

Зачем прыгает быстрая коричневая лиса, или Панграммы в английском языке «The quick brown fox jumps over the lazy dog» — эту фразу на английском знают почти все, кто так или иначе имеет отношение к компьютеру.Это небольшое предложение, которое содержит все буквы английского языка. Лингвисты называют его «панграмма». Сегодня мы расскажем, для чего...

FSNotes 5 для iOS — заметочник для гиков Привет, Habr! Больше 4 лет я пишу программу заметочник под macOS и iOS. Я уже упоминал вскольз о нюансах разработки, сегодня время пришло написать о самой программе.Если кратко, то FSNotes это программа для написания, каталогизации и хранения заметок в максимально открытом в...

Креативный директор Uncharted Эми Хенниг создает игру Marvel Эми Хенниг, бывший креативный директор Naughty Dog, которая в настоящее время руководит Skydance New Media, будет работать над новой видеоигрой Marvel. Skydance описывает игру , которая является ее первой, «повествовательной, блокбастерной приключенческой игрой с полностью о...

Культовая классика мобильных игр. Оригинальная Angry Birds возвращается Культовая оригинальная мобильная игра Angry Birds, которая принесла успех студии Rovio, возвращается на смартфоны.  Оригинальная игра вышла в далёком 2012 году, а в 2019 году была удалена из магазинов приложений Google и Apple. И вот теперь Rovio возвращает классик...

Рождение Albumentations В этом посте я расскажу историю появления Open Source библиотеки Albumentations как я ее запомнил. Я не буду углубляться в технические детали. Основная задача текста - логирование, то есть надо написать историю, которую мне будет интересно прочитать через 20 лет. История буд...

Инструменты OSINT: изображения и видео OSINT, Open-source intelligence — разведка по открытым источникам включает в себя поиск, выбор и сбор разведывательной информации из общедоступных источников, а также её анализ. Предлагаем вашему вниманию подборку инструментов для анализа изображений и видео. Теперь вы бу...

Бизнес-аналитик – кто он? Профессия бизнес-аналитика вызывает множество вопросов. Более того, в разных ситуациях под термином «бизнес-аналитик» понимают самых разных специалистов и, соответственно, ожидают разных компетенций и результатов. Я предлагаю разобраться в этом вопросе как можно подробнее.Ин...

Реальный кейс: с чем мы столкнулись при переходе на облачную модель Тема облаков не новая и, возможно, уже набила оскомину: на каждом шагу мы слышим про cloud-native, гибридное, распределённое и мультиоблако. В этой статье я не планирую рассуждать про виды облаков и их истинное предназначение. Мне бы хотелось уйти от теории и поэтапно рассмо...

Становление IT-шника Эта статья и не статья вовсе. А рассказ о жизни. Я такое обычно не пишу, потому что сложно рассказать о жизни так, чтобы не свалиться к нытью или в преукрашивание. Честный байопик создать сложно.Но после прочтения этой статьи и предыдущей статьи автора захотелось как-то отве...

ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России 2021 год в машинном обучении ознаменовался мультимодальностью — активно развиваются нейросети, работающие одновременно с изображениями, текстами, речью, музыкой. Правит балом, как обычно, OpenAI, но, несмотря на слово «open» в своём названии, не спешит выкладывать модели в о...

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

Лущим веб с помощью R Кадр из мультфильма «Раз горох, два горох», 1981, Союзмультфильм Сбор исходных данных встречается во многих задачах, связанных с аналитикой. Веб тоже нередко выступает источником. Вероятность попасть на полностью готовый и причесанный источник почти близка к нулю. Всегда пр...

Элегантный вопросительный знак В этой заметке я хочу поделиться элегантным решением одной задачи с сайта-хрестоматии RosettaCode. Речь пойдёт о программе, вычисляющей функцию Минковского — одного из инструментов теории чисел и динамических систем. Несмотря на то, что реализовать эту функцию относительно н...

В гробу я видел весь ваш DevOps… Эта статья о вреде выделенных команд DevOps инженеров в организации. Начну издалека. В книге Джорджа Массера "Нелокальность" приводится такой интересный момент оценки расстояния с точки зрения влияния. "Лев близко, значит он может напасть" - это о влиянии через определение ...

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

Hyper Light Breaker совсем про другое, нежели Hyper Light Drifter Студия Heart Machine принимается за разработку Hyper Light Breaker. Это новая страница в мире Hyper Light с совершенно новой концепцией и протагонистом. Hyper Light Breaker — приключение от третьего лица с массивными биомами, брутальными монстрами и неким королём, которого ...

Обзор языка функционального программирования Koka Как-то заглянув на GitHub, обнаружил Koka — язык функционального программирования со статической типизацией. Koka разрабатывается с 2012 года Daan Leijen в Microsoft Research, USA. Его исходники выкладываются на GitHub под лицензией Apache 2.0. Как признаются его авторы, он ...

Центробанк предупредил об угрозе замещения рубля криптовалютой В России могут обязать использовать для майнинга российское оборудование  Использование криптовалют в качестве средства платежа неизбежно в случае их массового приобретения гражданами, что может повлечь замещение рубля. Об этом говорится в заявлении первого зампре...

Подключение и Настройка ElasticSearch + MySql + Yii2 Если вдруг поиск на вашем проекте начал тормозить, то самое время присмотреться к поисковым движкам.Сегодня я расскажу как установить и настроить поисковой движок ElasticSearch на сервере под управлением Ubuntu и сделать авто импорт данных из MySql, а также мы настроим взаим...

Основные тренды ЦОД в 2022 году и примеры проектов Привет, Хабр! Компания Acer снова с вами! Мы планируем рассказывать об интересных продуктах: как своих, так и других участников рынка. В первую очередь речь пойдет о серверах и соответствующих корпоративных решениях.Сегодня же публикуем первый свой пост – это аналитика наиб...

Neovim: модульность для разработчика В этой статье речь пойдёт про некоторые его преимущества, которые, на мой взгляд, наиболее важны для конечного пользователя. Читать далее

Потратил 1 000 000 $, чтобы сделать свой переводчик. Продолжение истории Начало этой истории тут:https://habr.com/ru/post/492524/ ВступлениеЯ занимаюсь переводчиками с 2012 года, и эта тема выбрана не случайно. Еще тогда было замечено, насколько сильно переводы могут влиять на показатели бизнеса. В нашем случае поддержка всего 15 языков вмес...

Intel представила 12-е поколение десктопных процессоров: характеристики и цены Intel сегодня анонсировала процессоры 12-го поколения Alder Lake-S для настольных ПК. Core i9 12900K на 30% быстрее в некоторых играх по сравнению с AMD Ryzen 9 5950X и до 100% быстрее в приложениях для создания контента по сравнению с Core i9-11900K. Как и ожидалось…

Проблемы с зависанием ПК в Elden Ring исправлены Elden Ring был запущен в конце февраля и получил восторженные отзывы критиков и геймеров. Игра является отличной демонстрацией идеала игрового дизайна From Software, но в конечном итоге доказывает, что движок рендеринга компании по-прежнему требует доработки после многих лет...

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать н...

Контролируем scroll полностью или реализация события React: onRenderChildrenComplete Бывало так, что после загрузки страницы, вам нужно сделать прокрутку экрана к заданному месту? Все ли всегда получалось с первого раза? И что делать если скролл все равно дергается в процессе загрузки страницы?Если вам интересны ответы на эти вопросы, то прошу под кат (остор...

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

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

Из чего состоит мировой эфир. Последняя теория Менделеева В марте 1869 года была опубликована первая версия периодической системы Менделеева. Систематический вид из рядов и групп она приобрела через пару лет – вот так выглядел вариант от 1871 года. Как известно (о чем я уже упоминал в статье про пределы таблицы Менделеева и элемент...

Один из лучших 3D-принтеров с автоматическим выравниванием в 2021 году? Вы ищете 3D-принтер с автоматическим выравниванием? MINGDA Magician X стоит попробовать.Magician X - это хорошо продуманный 3D-принтер, который предлагает несколько преимуществ по сравнению с принтерами аналогичного размера и стиля, такими как сверхмощная функция автоматичес...

OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD Привет, Хабр! На связи Холодаев Алексей, младший системный администратор Cloud4Y. Сегодня хочу поделиться опытом использования OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD.В ходе работы над одним из проектов возникла задача по созданию нескольких сотен п...

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

Внедрение Q# в ваши любимые языки и платформы (Python, .NET, ASP.NET, Julia, Lua, PowerShell) Не секрет, что Q# и Quantum Development Kit позволяют легко писать квантовые программы и запускать их на симуляторах и на оборудовании через службу Azure Quantum, с использованием Python, .NET или даже через Jupyter Notebook. Более того, инфраструктура, которая поддерживает ...

Недельный геймдев: #50 — 26 декабря, 2021 Из новостей на этой неделе: AMD открыла онлайн библиотеку материалов MaterialX, вышел ImGui 1.86, Quad Patcher для Maya, Intel обновила своё членство в Blender Foundation до уровня Corporate Patron.Из интересностей: работа над феодальной Японией в Ghost of Tsushima, как с...

Kawaii Islands: NFT Metaverse позволяет заработать криптовалюту Игра Kawaii Islands: NFT Metaverse готовится к мобильному запуску. Сейчас доступна веб-версия с возможностью заработка крипты. Kawaii Islands — симулятор фермера, строителя и дизайнера, который основан на NFT-технологиях. То есть игроки могут зарабатывать валюту и выводить ...

Как работает React: подробное руководство Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../style.scss' import MyReact from './my-react' const buttonStyles = { border: 'none...

Pale Moon, open-source форк Mozilla Firefox, продолжает развиваться: особенности и возможности браузера За прошедшие годы в мире разработано немало браузеров. Некоторые из них набирают популярность, другие же пропадают, не успев «родиться». Но есть и те, что не слишком хорошо известны IT-сообществу, не говоря уже про обычных пользователей, но, тем не менее, держатся на плаву ...

Шесть рекомендаций для реализации NLP-проекта Директор по машинному обучению Quizlet Лин Ченг дает на портале InformationWeek несколько рекомендаций предприятиям для решения задач в области МО и обработки естественного языка (natural language processing, NLP), которые ...

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

Почему видеографы выбирают Андроид? Привет, камрады, киноделы и просто читатели!Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для видеосъёмки на телефон.Внезапные 100K прочтений моей первой статьи о недостатках телефонов Андроид побудили меня написать эту статью-р...

Warcraft идёт на смартфоны. Blizzard выпустит мобильную игру в этой вселенной уже в этом году В нынешнем году геймеры, предпочитающие мобильные устройства, должны получить новую игру по культовой франшизе. Речь о мобильной игре во вселенной Warcraft.  Мобильные игры в последние годы приносят своим создателям намного больше, чем игры для ПК и консолей. Поэт...

Метод проб и ошибок: как мы создавали кастомный импортер в Unity3D для текстурных массивов Основной контент в играх — это почти всегда текстуры, поэтому нужно особенно внимательно следить за ними в целом, их размерами и сжатием. Раньше на проекте  War Robots у нас был устоявшийся и вполне рабочий пайплайн по импорту текстурных массивов, на выходе которог...

Разработка игры на Unity с нуля до релиза Приветствую, Хабр!

Tarantool: ускорение разработки с Rust Tarantool, как известно, поддерживает любой язык, который совместим с C и компилируется в машинный код. В том числе есть возможность реализации хранимых функций и модулей на Lua и C. Тем не менее, уже в двух своих проектах мы использовали Rust (в одном полностью перенесли Lu...

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 3 — NAT и сетевые соединения) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

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

Настройка docker в debian 11.2 Docker единственная система контейнерной виртуализации с которой мне еще не доводилось сталкиваться, по этому после изучения данной темы решил написать данную публикацию. В данной публикации пойдет речь о сборке собственного образа (с помощью dockerfile) на основе официальны...

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

Видеокарты Radeon станут быстрее на величину до 24% просто благодаря новому драйверу Компания AMD выпустила обновлённые видеокарты Radeon RX 6000, а вместе с ними рассказала о грядущем графическом драйвере. Он выйдет в конце месяца и принесёт значительные улучшения различных функций.  Во-первых, AMD обещает неплохую прибавку производительности в р...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)