Социальные сети Рунета
Понедельник, 20 мая 2024

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

Возвращаемся на Гроув-Стрит. Анализ движка Grand Theft Auto: San Andreas на Unity Серия Grand Theft Auto стала культовой в игровой индустрии, а San Andreas — одной из самых запоминающихся частей для многих игроков. Время проходит, но фанаты всё так же преданы игре. Кто-то достаёт старый и пыльный диск с ностальгией, а некоторые заходят ещё дальше. Сегодня...

PVS-Studio в 2023 За окном январь 2024 года, а это значит, пора подвести итоги за 2023 год! В этой статье мы не только рассмотрим всё новое, что появилось за 2023 год, но и освежим память по основным функциональным возможностям статического анализатора PVS-Studio. Читать дальше →

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, ...

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

Операция «K». Ищем баги в коде IntelliJ IDEA В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio. Читать далее

[Перевод] Этот опасный рефакторинг Ошибки во время рефакторинга могут дорого обойтись. Модернизация, ведущая к отказу системы, или внесение новой функциональности параллельно с ошибочными правками явно принесут вред. Но степень вреда может быть разной. Читать дальше →

Лучшие игровые движки 2024 для 2D разработки Defold - это бесплатный движок для создания 2D игр и других интерактивных приложений. Он разработан компанией King (известной по игре Candy Crush) и предлагает простой и эффективный способ создания кроссплатформенных проектов. 1. Язык программирования: Defold использует язык...

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки. Но я знаю Python. Оказывается, для любителей парсел...

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

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

Воплощаю мечту, создавая игру. Часть 2-я Вторая часть статьи про разработку компьютерной игры в одиночку на игровом движке Unreal Engine 5. Вторая часть является заключительной моего знакомства с аудиторией и в ней я высказываю свои мысли по поводу покупных механик и 3D моделей в marketplace, делюсь результатами р...

Как начать работать с IPv6 там, где его нет (часть 3) В предыдущих частях цикла статей (часть 1, часть 2) мы настроили подключение к IPv6-брокеру на VDS под управлением операционной системы CHR от Mikrotik. Подготовили туннелирование до устройств сети, которые как умеют, так и нет работать с VPN, используя PPTP, SSTP и статич...

Unreal Engine vs Unity vs GoDot. Что нужно знать, если ты не программист Доброго времени суток, дорогие хабражители. Продолжаем разбор строения игр, игровых движков и их особенностей с точки зрения человека, которому никогда в жизни не говорили «тыжпрограммист». Сегодня на повестке дня выбор игрового движка из двух гигантов игростроя: Unity и U...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Простой тест llvm/libjit часть II, те же + gnu lightning Эта статья является продолжением Простой тест libjit vs llvm, где сравнивалось быстродействие библиотек для Just In Time компиляции llvm и libjit на примере задачи решета эратосфена. В этой статье решается точно та же задача — решето эратосфена при помощи еще одной JIT биб...

Опечатки, нулевые указатели и коварный таб: 33 фрагмента в библиотеке GTK GTK – популярный фреймворк с открытым исходным кодом для создания графических интерфейсов, который интересно проверять с помощью анализатора PVS-Studio. Тем более, что предыдущую проверку мы делали около 3 лет назад, а значит, наверняка найдём в нём новые ошибки. Очень не х...

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

Графика древности: пятая волна. Аутсайдеры и современность (часть 4/4) В предыдущих частях этого лонгрида мы узнали всё про лидеров пятого поколения игровых консолей и про параллельную реальность 3D-ускорителей на персональных компьютерах. Казалось бы, тема исчерпана. Но не спешите расслабляться. В заключительной, самой объёмной части статьи м...

Ламповый дисплей для компьютера, часть 6: заключительная сборка в корпусе Вы добрались до шестой, заключительной части цикла статей о ламповом дисплее для компьютера. В этой статье я опишу, как осуществлялась окончательная сборка дисплея в корпусе и что из этого вышло. Нелишне будет привести ссылки на предыдущие статьи цикла: Часть 1 – обзор сос...

Локацию из Diablo II воссоздали на движке Unreal Engine 5 Очередным «ремастером» занялся один из фанатов игры Михал Ваврух, который решил показать своё видение небольшой локации 3 акта «Средоточие Ненависти», в которой обитает игровой босс Мефисто. Кроме него ещё парочка противников, но в целом весь этаж отведён для сражения с вл...

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

Делаем RPG на Go: часть 0 Один из самых частых вопросов в нашем сообществе разработке игр на Go — это с чего начать. В этой серии статей мы будем изучать движок Ebitengine и создадим RPG в процессе. Читать дальше →

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

Анализ зависимостей бинарных файлов на основе ML. Заключительная часть В прошлой статье мы разобрали идею нашего компонентного анализатора и поделились результатами некоторых экспериментов, проведенных в лабораторных условиях. Результаты, полученные на маленькой части датасета в размере 3000 библиотек, вышли довольно оптимистичными. В этой стат...

Рождение и проверка временем Sid Meier's Civilization II Сейчас пятилетний перерыв между играми одной серии не кажется слишком большим: почти с таким интервалом выходили, к примеру, Anno 2070, 2205 и 1800. Но в 90-е темп разработки был совсем иным, ведь создание игры с нуля занимало не больше года. Так почему же вторая часть «Циви...

Как использовать макросы для систематизации документов «как в Confluence»? Привет! Приятно ведь читать хорошо оформленные статьи на уютном хабре? В которых часть текста спрятана под катом, есть подписи к картинкам, красивые и понятные таблицы и все остальные плюшки? Я думаю очень приятно. Поэтому предлагаю рассмотреть немного полезных советов, о то...

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

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

Состоялся релиз Counter-Strike 2 В Steam состоялся релиз Counter-Strike 2. Игра вышла в Steam и доступна для всех желающих совершенно бесплатно. Вторая часть является переработанной Counter-Strike: Global Offensive, которая была перенесена на игровой движок Source 2. Релиз состоялся спустя 2 месяца после ...

Timeweb Cloud CLI. Часть 1: S3 Салют! Не так давно компания Timeweb Cloud выпустила новую версию своего CLI (twc), который позволяет легко и удобно управлять всеми предоставляемыми ресурсами облачной платформы. В этой серии статей рассмотрим основные сценарии применения этого инструмента. В данном мате...

Android Lint: оптимизируем проверку мердж-реквестов Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспол...

Как настроить библиотеку SFML C++ в Visual Studio 2022 статическая компоновка В этой статье рассказывается, как настроить ваши проекты SFML С++ со статической компоновкой используя интегрированную среду разработки программного обеспечения Visual Studio.Установка SFML библиотекиЗагрузите библиотеку SFML c официального сайта. Выбираем самую последнюю ве...

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

Мапперы на Famicom, NES, Денди: откуда взялись и зачем нужны (часть 2/2) Продолжаем обстоятельный разговор про «мапперы» — устройства управления расширенной памятью на игровых консолях Famicom, NES и Денди. Во второй части статьи рассмотрим особенности нескольких основных видов мапперов и их влияние на содержание игр, сложности программирования,...

Шаг за шагом: разработка 3D-игры в Godot 4.2 для начинающих И снова привет, Хабр! В прошлой статье я рассказал, как создавать 2D-игры на движке Godot. По вашим запросам — добавляем измерение и переходим в мир 3D. На этот раз мы погрузимся в трехмерные объекты и элементы анимирования. Подробности под катом! Читать дальше →

Российская студия анонсировала создание нового игрового движка Case Engine Российский игровой движок объявил намерение интегрироваться с Blender и стать платформой нового поколения для инди-разработчиков видеоигр.

Графика древности: пятая волна. Nintendo 64 и PC (часть 3/4) В предыдущих двух частях статьи (тут и тут) мы обсудили общие черты пятого поколения игровых консолей и подробно разобрали особенности первой тройки лидеров поколения — 3DO, Sega Saturn и Sony PlayStation. Однако, всего лишь через три года после начала поколения в новейши...

Sacred: ностальгия прошедшая проверку временем К 2004 году многие игроки уже успели насладиться Diablo II и хотели попробовать что-то новое, что-то, что подарит им те же ощущения и при этом предложит совершенно другой игровой опыт. В этот год вышла Sacred (или, как ее назвал официальный локализатор Акелла, «Князь тьмы»...

Команда разработчиков 2:21 перенесла "Маленькое большое приключение Твинсена" на движок Unity Команда разработчиков 2:21, известная своей работой на движке Unreal Engine 5, перенесла разработку игры "Маленькое большое приключение Твинсена" на движок Unity

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

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

Настройка протокола OSPF на оборудовании Cisco и HUAWEI В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат. ...

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

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

AtomSite 1.1. Русская версия блог-движка на ASP.NET MVC Перевел один из немногих готовых работающих движков на ASP.NET MVC. Далее — объяснение, что такое AtomSite (для тех, кто не слышал о нем) и много скриншотов. Что такое AtomSite?AtomSite 1.1 — это блог-движок, написанный на платформе ASP.NET MVC. Он находится на ранних...

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

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

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

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

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

CD Projekt Red обсуждает переход на движок Unreal Engine 5 Польская студия CD Projekt RED в прошлом месяце анонсировала новую часть серии игр-бестселлеров The Witcher и рассказала, что игра будет построена на движке Unreal Engine 5.

Делаем RPG на Go: часть 0.5 В предыдущей статье мы начали знакомство с Ebitengine. В этой части структура игры будет доработана и переведена на сцены. Читать дальше →

Сверхпроводящие материалы. Часть 1 Привет! Это моя первая статья на Хабр. Буду писать про то, чем занимаюсь в науке простыми и сложными словами.Ну что, поехали читать про сверхпроводящие материалы. Жамк

Не Unity единым… Игры бывают разные, большие и маленькие, триA и супер инди, в компаниях с сотнями разработчиков и что создаются гениями-одиночками. Редко их делают с нуля и пишут код только игры, чаще пишут игровые тулы, редактор и параллельно пишут саму игру. За всей этой многомиллиардной ...

[Перевод] Искусство создания понятных графиков Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения. В папке Scripts/ на Github есть файлы .Rmd, генерирующие показанные ниже графики. Для их работы требуются R, RStudio и пакет rmarkdown. R: Скачать R R...

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

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

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

SSH-Туннели простыми словами В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме. Читать далее

Основные функции Apache Tomcat Привет, дорогие читатели! Apache Tomcat — это открытое программное обеспечение, реализующее спецификации Java Servlet, JSP и Java WebSocket, предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Softw...

Создаем игру на SFML Приветствую всех игроделов и им сочуствующих. В этой статье я хочу рассказать о таком фреймворке, как SFML, и попытаться написать на нем простейшую игру (в нашем случае это будет клон легендарного Pong). v Читать дальше →

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

Создание шаблонов сайта в Joomla 4+ Последние статьи на Хабре о создании шаблонов для Joomla - 2015-2017 годов. В этой статье опытным разработчикам будет интересно посмотреть на отличия от предыдущих версий Joomla и, возможно, дополнить статью ценным советом. Тем же, кто чаще работал с другими движками статья ...

Умный дом на openHAB+MQTT+Arduino. Часть 2: Датчики, релюшки Продолжаем разговор за бюджетный умный дом, в этой статье мы соберем простой модуль на Arduino Nano. Предыдущая статья, посвященная настройке кластера openHAB, находится тут. Читать далее

[Перевод] В чем разница между движками и средами выполнения JavaScript? Среду выполнения и движки часто ошибочно называют одним и тем же.Вы скорее всего слышали термины "движок JavaScript" и "среда выполнения JavaScript", которые используются, как взаимозаменяемые понятия, подразумевающие под собой "программу, которая выполняет JavaScript". Их ч...

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

KORG в кармане Игровые консоли могут издавать звуки? Звуки могут меняться, если в игре происходят разные действия? Могут. Так, стоп! Но ведь это уже основа для создания музыкального софта для консолей. «Ни слова больше!», — слова не мальчика, но композитора, который стоит за созданием пор...

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изуча...

Отечественному игровому движку вернули «гражданство» Минцифры вернуло российский игровой движок Unigine в реестр отечественного ПО

Движок Unity открыли для разработки приложений под Apple Vision Pro Разработчики игрового движка Unity сообщили о завершении бета-тестирования, длившегося полгода, и открытии своего продукта для всех, кто будет создавать приложения для гарнитуры Apple Vision Pro.

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

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

Мобильная разработка за неделю #520 (18 — 24 декабря) В этом дайджесте «условное ценообразование» для подписок и как управлять сложностью состояния, еще одно проигранное дело Google и как компания смогла проиграть там, где Apple выиграла, как почувствовать себя кассиром, анимации переходов во Flutter, рефакторинг кода и многое ...

Нейропаучок пробует силы! Часть 1 Здравствуй, дорогой читатель. В статье речь пойдет об обработке показаний с датчика с применением как простых алгоритмов, так и нейронной сети. Что проще – решай сам. Во время бурения, в связи с низкой скоростью передачи данных, данные каротажа, условно ...

Книга «Объектно-ориентированный Python, 4-е изд.» Привет, Хаброжители! Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляетс...

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.В ...

Эй конвертер, не шипи! Строптивые преобразователи платы для E-Ink экранов (Ч2) Приветствую вас, друзья! Продолжаем разработку системы питания универсальной платы для E-Ink экранов. В этой части займёмся запуском и отладкой прототипа, «почувствуем вкус» ферритовых бусин, взорвём полсхемы. Поработаем с обратной связью: узнаем простой способ испытания ус...

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Кажется, дождь собирается. Пишем Vue-приложение для прогноза погоды В статье рассмотрим, как сделать простое приложение погоды без дизайн-макета‎. Поработаем с HTML, CSS, JavaScript, Vue, Vite, подключением API, а также развернем проект на облачном сервере. Подробности под катом! Читать дальше →

RAG (Retrieval Augmented Generation) — простое и понятное объяснение Краткое и понятное описание подхода RAG (Retrieval Augmented Generation) при работе с большими языковыми моделями. Читать далее

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 17. Завершающий урок и итоги От переводчика. Итак, дорогие друзья, нам с вами всё-таки удалось совершить маленькое чудо — перевести на русский язык и сделать доступным для широкого круга русскоговорящих любителей электроники, микроконтроллеров и IT технологий, можно сказать, культовый курс по построен...

Практическое руководство по Rust. Бонус Hello world! Представляю вашему вниманию бонусную часть практического руководства по Rust. Первая часть Вторая часть Третья часть Четвертая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые ...

PostgreSQL 17: Часть 3 или Коммитфест 2023-11 Ноябрьский коммитфест принес немало интересного! Без лишних предисловий приступаем к обзору. Самое интересное об июльском и сентябрьском коммитфестах ― в предыдущих статьях серии: 2023-07, 2023-09. Читать дальше →

Простые шаги к эффективному code review Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает около 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов п...

Советские игровые автоматы: ностальгический гейминг с запахом резины. Часть 1: как родился «Морской бой»? Многие старшие миллениалы, не говоря уже о более старших поколениях, впервые познакомились с играми на экране или на специальном устройстве либо посредством «Ну, погоди!» и других устройств «Электроники», либо на аркадных игровых автоматах. Уже в 90-е годы они повсеместно у...

FreeCAD и C++ код с неопределённым поведением для медитации Изучая код проекта с помощью статического анализатора, иногда задаёшься вопросом: "Как возникла ошибка и почему её до сих пор не заметили?" Хотите посмотреть пример? Тогда приглашаем познакомиться с этой статьёй. Читать дальше →

Собираем DOCX из ADOC Статья про то, как можно собрать docx-файл из git(adoc)-дерева.По мнению автора, статья может быть интересна тем, кто хочет уйти от стандартных методов хранения документации. Ведь техническая документация всегда лежит на стыке кода, практик devops_а и нас, простых читателей....

Как сделать тесты на Espresso более читабельными и стабильными Если вы писали тесты на Espresso — тестовом фреймворке от Google с открытым исходным кодом, — то вы знаете, что они не всегда стабильны и легко читаемы. Меня зовут Ксения Никитина, я являюсь Android-разработчиком в мобильной команде «Лаборатории Касперского». В этой статье я...

Советские игровые автоматы — ностальгический гейминг с запахом резины. Часть 2: «Городки» и электронные тиры Советские игровые автоматы стали порождением сближения СССР и Запада в начале 70-х годов, при брежневско-никсоновской разрядке. Советский Минкульт выкупил большую часть игровых автоматов, которые появились в Москве на международной выставке «Аттракцион-71», и уже в 1974 год...

Укрощаем DNS в Wireshark. Часть 2 В предыдущей статье мы начали рассматривать использование анализатора пакетов Wireshark для работы с DNS. В этой мы продолжим рассмотрение данной темы и поговорим о рекурсии DNS. Здесь принцип обмена пакетами будет немного сложнее, потому что помимо обмена DNS пакетами между...

PostgreSQL 17: Часть 2 или Коммитфест 2023-09 Продолжаем следить за новинками 17-й версии PostgreSQL. На этот раз поговорим о том, чем запомнился сентябрьский коммитфест. Самое интересное об июльском коммитфесте ― в предыдущей статье серии: 2023-07. Читать дальше →

Куда пропала прибыль на ферме 3D-принтеров? ДИСКЛЕЙМЕР: Статья написана автором блога на основе интервью с сооснователем компании Техно 3D, Дмитрием Стенько.В 2016-м мы с одногруппниками скинулись по 45 000 ₽ на голландский 3D-принтер. Родители одного нашего компаньона выделили нам каморку в пекарне и мы занялись...

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

Робот-пылесос Genio Deluxe 550 Pro: простая модель с влажной уборкой Пылесос продемонстрировал неплохие результаты уборки. За тестовый забег (почти 30 минут) он подобрал чуть меньше 90% тестового мусора, при этом основная часть несобранного мусора пришлась на небольшую область. По меркам простых роботов, не оснащенных датчиком-лидаром, это вп...

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

[Перевод] Классическое программирование на грани вымирания Все изображения в этой статье сгенерированы нейросетью DALL-E 2 Приближается конец эпохи классических компьютерных наук, и большинство из нас словно динозавры в ожидании падения метеорита. Период моего юношества пришёлся на 80-е годы. Тогда я занимался программированием ПК...

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

Qucs-S: руководство по видам моделирования, часть 1 Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S...

Пишем прошивку для старого пин-пада Приветствую всех! Многие из нас уже знают, что POS-terminal'ы и пин-пады обычно собираются на базе заказных чипов, даташиты на которые не найти. Но, понятное дело, так было далеко не всегда. И мне стало интересно: а что, если попробовать найти такой древний терминал, отревер...

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

Практическое руководство по Rust. 4/4 Hello world! Представляю вашему вниманию четвертую и последнюю часть практического руководства по Rust. Первая часть Вторая часть Третья часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уве...

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо дей...

Как «воспитать ламу» и ускорить ML-эксперименты Часто проведение ML-экспериментов сводится к долгому поиску и загрузке нужных датасетов и моделей, скрупулезной настройке гиперпараметров с целью проверки гипотез. Но что делать, когда времени мало, а за ночь нужно зафайнтюнить ламу? Давайте это и узнаем. Статья написана п...

Самодельные портативные игровые консоли и ESPboy С некоторых пор в среде самодельщиков обрёл популярность новый формат — портативные игровые устройства на основе недорогих микроконтроллеров и OLED или TFT-экранчиков, подражающие популярным портативным игровым системам прошлого, таким как Game Boy компании Nintendo 1989 го...

Быстро или мгновенно — с какой скоростью должен работать ваш продукт. Часть 1 Всем привет! Я Антон Телицын, продакт-менеджер в AI-центре Тинькофф, до этого работал в Miro над движком доски. В обеих компаниях сталкивался с вопросами управления скоростью реакции продуктов в разных ситуациях.Это первая статья про управление отзывчивостью продуктов. Рассм...

Nvidia представила новую платформу для ускорения запуска ИИ На конференции GTC компания Nvidia представила новую программную платформу Nvidia NIM, предназначенную для упрощения запуска пользовательских и предварительно обученных моделей искусственного интеллекта в производственных средах. NIM объединяет оптимизированные модели и движ...

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 3. Модули и типы В прошлых двух частях мы ознакомились с синтаксической моделью F#-кода и с инструментами для неё. Объёмный пример туда уже не влез, но необходимость в нём осталась. Так родились ещё две заключительные части цикла. Их объединяет общий проект, но в остальном они представляют с...

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

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

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

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

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

Тысячи игровых разработчиков захотели попробовать отечественный аналог Unreal Engine 5 и Unity Российский игровой движок Nau Engine, который финансируется холдингом VK, привлёк внимание многих разработчиков.

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор ...

«Once you go Rust, you never go back»: создаем игру для программистов на Bevy Привет, Хабр! В прошлой статье я рассказал о своем переходе в геймдев и моей концепции «хакерской» игры. Здесь же сосредоточился именно на разработке, а также на инструментах Bevy и Rust, которые использовал для игрового движка. Интересно узнать из первых уст, как создаются...

Лучшее время для инди-игр и скандал со Sweet Baby Inc: что происходит с игровой индустрией В своей новогодней статье с итогами про видеоигры я сказал, что 2023 год стал лучшим годом в истории компьютерных игр. В статье вы могли прочесть небольшой обзор: 8 игр, которые, на мой субъективный взгляд, стали лучшими за 2023 год. Но в 2023 году вышло чуть больше, чем 8 ...

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

Плэнер — язык логического программирования для ИИ: что из него получилось Боты под управлением системы GOAP (Goal Oriented Action Planning), источник Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом...

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

Ускорение игрового 2D движка Flame до стабильных максимальных FPS на телефонах и ПК Оптимизация больших карт и столкновений во Flame. Для тех, кто хочет сделать бесшовный огромный мир и не думать о плохих последствиях. Читать далее

Парсинг веб-сайтов: взгляд изнутри Статья о парсинге веб-сайтов освещает следующие аспекты:• Понятия парсинга и скрапинга; • Законность и этика парсинга; • Парсинг с использованием requests и BeautifulSoup; • Статические страницы; • Динамические страницы; • Работа с API; • Защита от парсеров; • Способы обхода...

Полигон для творчества за 1500 р. Ч3 Экран, Малина, OpenOCD и бусики Приветствую вас, друзья! Когда под рукой хороший тренажёр, так и тянет опробовать на нём новые для себя технологии и инструменты, сделать какой-то интересный проект. Или получше познакомиться с ним, чтобы в дальнейшем использовать как платформу для обкатывания новых идей....

[Перевод] Большинство оконных приложений — это недоработанные real-time приложения В приложениях пользовательского интерфейса таких платформ, как Windows, Linux и macOS, скрывается ряд недоработок, которые порой снижают их быстродействие до раздражающе медленного. Сюда относятся нюансы работы в реальном времени, блокирование памяти при доступе к диску и н...

ИИ займётся проверкой документов в России Российская ИТ-компания Smart Engines разработала новую систему, которая с помощью искусственного интеллекта (ИИ) проверяет подлинность документов.

[Перевод] Ладья на XSS: как я хакнул chess.com детским эксплойтом Шахматы – это одно из многих моих хобби, за которыми я провожу свободное время, когда не ковыряюсь с какой-нибудь электроникой. При этом играю я так себе, и когда мне изрядно надоело проигрывать, я решил заняться тем, что у меня получается гораздо лучше… хакнуть систему! В...

Ламповый дисплей для компьютера, часть 5: коллектор, видеоусилитель и изображение Рад приветствовать всех, читающих уже пятую часть цикла статей о ламповом дисплее для компьютера, в которой можно рассмотреть долгожданный результат проделанной опытно-конструкторской работы. Прежде чем перейти к такому описанию, кратко напомню содержание предыдущих частей: ...

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

[Перевод] Тестируем PCIe в новом Raspberry Pi 5 Если вы ещё не в курсе, то недавно было объявлено о выходе Raspberry Pi 5. Я специально снял ролик, где разобрал всю аппаратную часть – что изменилось, что появилось и чего не стало. В этой статье я представлю вам спецификацию новой модели, расскажу о некоторых особенностя...

Что скрывается в коде игрового движка, написанного на Java? Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java. Читать...

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label В прошлом месяце я рассказал, зачем нужна семантика, на примере атрибута role. Если вы не читали мою статью, пожалуйста, прочтите её перед тем, как читать эту. А сегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копировани...

[Перевод] Записываем музыку при помощи CSS Grid Слишком часто я наблюдал за тем, как импровизирующий музыкант трясущимися руками пытается увеличить pdf размером A4 на крошечном экране телефона в самом разгаре исполнения. Мы обязаны создать плавный и отзывчивый рендеринг музыки для веба! В вебе нотная запись должна быть с...

Статический анализ структуры базы данных (часть 1) Статический анализ структуры базы данных — это процесс выявления ошибок, нерекомендуемых практик и потенциальных проблем в базе данных только на основе структуры, типов данных, свойствах объектов. Статиеский анализ структуры не задействует ни пользовательские данные, ни ста...

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

Магия swizzle из шейдеров в C++ В шейдере мы можем написать vec3 v0 = v1.xxy * 2 и любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может не иметь той же самой размерности, как в м...

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 1: во всём виноват Конан-Варвар Фэнтези в наши дни имеет массу разных форм и поджанров. Классическое и тёмное, эпическое и ироническое, городское, славянское, китайское, и прочее всякое-разное. И всё же, когда дело касается мира компьютерных и настольных игр, при слове «фэнтези» мы первым делом представля...

Как подготовиться к собеседованию с помощью Telegram-бота на Node.js В этой статье мы разработаем бота для подготовки к собеседованиям. Он будет задавать вопросы по HTML, CSS, JS и React. При этом часть из них будет с вариантами ответа, а часть — без. Базу вопросов вы сможете пополнять самостоятельно. Во время разработки вы научитесь работа...

Зачем нужен архитектор 1С. Часть 2 В предыдущей статье habr.com/ru/companies/otus/articles/772490 я постарался на конкретном примере показать различие между разработчиком 1С и архитектором 1С. Насколько по разному они подходят к решению одной и той же задачи. В этот раз я приведу пример, в котором различие ...

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

[Перевод] Состояние WebAssembly – 2023 и 2024 Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский “WebAssembly в действии” (Питер, 2022). Предыдущий обзор Состояние WebAssembly в 2022-23 годах опубликован автором в январе 202...

Самый простой способ обхода блокировок доступа к сайтам любых стран Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать? Я понимаю (программ...

Опыт создания Ajax-приложения В начале В данной статье речь пойдет о написании Ajax-приложения. Если говорить проще — то, о написании сайта – работающего без перезагрузок. Быстро, легко, доступно. В этой статье не будет рассматриваться код серверной стороны, будут только примеры, для лучшего понимания. ...

Российский игровой движок Nau Engine привлекает разработчиков со всего мира Nau Engine, российский аналог известных игровых движков, финансируемый холдингом VK, привлек интерес более чем 11 тысяч разработчиков со всего мира. Начало альфа-тестирования запланировано на конец 2023 года.

Практическое руководство по Rust. 3/4 Hello world! Представляю вашему вниманию третью часть практического руководства по Rust. Первая часть Вторая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современ...

Костыли из 90-х и принцип HTML First Кадр из презентации Frontmania 2022: Kilian Valkhof — Stop using JavaScript for that Недавно на Хабре публиковался перевод статьи «Вам не нужен для этого JavaScript» с примерами, где код JS легко заменить на HTML. На самом деле возврат к основам HTML, простым сайтам и чи...

Всё под контролем! История игровых устройств ввода: от привычных до самых странных Привет, Хабр! Меня зовут Сергей Милосердов, и я работаю системным аналитиком Nau Engine. Как часть команды часть корабля продукта, предметно я очень глубоко погружен в игровую индустрию и ее историю. До того, как я присоединился к разработке движка, у меня был большой опыт р...

Создание стереопар по одиночным космоснимкам Небольшая программка для упрощения создания стереопар из космоснимков. Скачать Возможности: 1. Автоматический поворот снимков на основании введенных азимута цели и отклонения от надира. 2. Просмотр созданных стереопар через анаглифические очки и невооруженным глазом. 3. Со...

Как начать работать с IPv6 там, где его нет (часть 2) В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройств...

Запускаем игры под Wine c поддержкой Native Wayland Иллюстрации к статье подготовлены нейросетью freepik.com. Многие люди на планете играют в видео игры. Игры помогают улучшить когнитивные способности, провести приятно свободное время. Данная статья посвящена тому, как запустить Windows игры под Linux в Wayland. Эта статья м...

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

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

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

Обзор ноутбуков с двумя дисплеями. Новая модель SZBOX DS16 с процессором от Intel, YogaBook C930 и другие Источник. Китайцы выпускают немало интересных девайсов: от одноплатников до игровых портативных консолей и компьютеров. Недавно, например, вышел ноутбук SZBOX DS16, который обладает неплохими характеристиками. Но у него есть небольшая особенность — вместо клавиатуры наход...

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

YouTube Shorts из терминала. Как автоматизировать создание видео с помощью FFMPEG и Bash. Часть 2 Привет, Хабр! В прошлой части я рассказал, как автоматизировать простую нарезку YouTube-видео на Shorts, добавить туда текст и размытый фон. Сегодня займемся более комплексной задачей — генерацией вертикальных видео на основе записи с геймплеем и текстом. В тексте узнаете, ...

Что не увидит SCA Всем привет!

Из ASCII в Pixel Art и обратно Привет, ребята! Новую игру я делаю на своем старом движке текстового режима. Однако это псевдотрехмерная (2.5D) пиксельная игра с перспективой. Оказалось, что символьный ASCII движок может справиться с этой задачей, нужно только сделать пару апгрейдов. Читать далее

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

[recovery mode] Простой production-ready генератор студийных фото продуктов В данной статье мы рассмотрим простой пример готового к запуску в продакшн приложения с генеративным пайплайном. Расчет идет на возможность простого масштабирования и распределения вычислений на GPU. Читать далее

[Перевод] Умные программисты пишут STUPID-код Умные программисты пишут STUPID-код, ведь они понимают, что неожиданно возникшая сложность может привести к провалу проекта. ▍ Страдание На момент написания этой статьи на моих часах 21:30. Этим утром я проснулся в хорошем, оптимистичном настроении, рассчитывая на прекрас...

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

Анализ зависимостей бинарных файлов на основе ML Всем привет!

[Перевод] Вероятно, вы неправильно используете метод __init__ в Python Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов...

Разбираем TLS по байтам. Часть 2: где собаки зарыты Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только не все дети знают, что это значит и как работает. Кажется я это уже писал? Ах да, это же вторая часть статьи с разбором TLS. В первой мы увидели, что такое «защищённое соединение», ск...

Книга «Roblox: играй, программируй и создавай свои миры. 2-е изд» Что такое Roblox? Это красочная компьютерная платформа для создания и публикации своих игр. Мир Roblox изо дня в день становится все популярней, и ты можешь стать его частью! Если ты мечтаешь стать геймдизайнером и создать свою игру, но не знаешь, с чего начать, эта книга п...

Как создать веб-приложение на базе Telegram Mini Apps Telegram Mini Apps — отличная возможность выйти за пределы обычных ботов и попробовать себя в создании более интересных интерфейсов приложений. На базе этого инструмента можно создать магазин или даже сервис для заказа шавермы. В этой статье познакомимся с Telegram Mini Ap...

Чем заняться на каникулах? 5 идей для пет-проектов, которые можно сделать за новогодние праздники Привет, Хабр! В 2023 году наши коллеги создали много интересных проектов: виртуальную девушку в Telegram, нетипичную игру на Flipper Zero и бота для заказа шавермы. Под катом собрали лучшие инструкции и разделили их по времени разработки. Сохраняйте подборку в закладки: при...

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

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

TECNO представил два мини-ПК на MWC24: самый маленький игровой мини-ПК с водоохлаждением TECNO, глобальный инновационный технологический бренд, в очередной раз принял участие в Mobile World Congress (MWC) 2024 Barcelona, представив два своих мини-ПК и удостоившись награды BEST OF MWC от высокотехнологичных СМИ: «первый в мире» MEGA MINI Gaming G1 с водяным охлаж...

[Перевод] На Энцеладе есть все необходимые для жизни ингредиенты Океанический спутник Сатурна Энцелад привлекает всё большее внимание в процессе поисков внеземной жизни в нашей Солнечной системе. Большая часть того, что мы знаем об Энцеладе и его ледяном океане, получена в результате работы миссии «Кассини». Исследование системы Сатурна а...

Создание своего UEFI загрузчика Привет Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на эк...

Статические испытания российского самолета завершатся в 2025 году На испытательном стенде Сибирского научно-исследовательского института авиации имени С. А. Чаплыгина продолжаются сертификационные статические испытания пассажирского самолета SSJ New. Они включают в себя проверку прочности различных компонентов самолета, таких как фюзеляж, ...

[Перевод] Потерян и не найден Салют! В этой статье я попытался разобрать назначение и основные сценарии использования директории lost+found в Linux. ❯ Обзор Если мы запустим fsck, команду проверки и восстановления файловой системы, она может найти фрагменты данных, на которые нет ссылок нигде в файло...

[Перевод] За 25 лет я выучил 30 языков программирования. Хочу поделиться своим опытом Привет, Хабр! Перевели для вас статью программиста-самоучки, в арсенале которого — три десятка языков программирования. Надеемся, она вдохновит вас поделиться собственными историями становления в кодинге не меньше, чем нас в beeline cloud. Приятного чтения!Всё началось в дал...

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

[Перевод] Создаем свой аналог sqlite c нуля. Часть #1 Это цикл статей где мы создаем базу данных с нуля. За образец автор взял sqlite, так как простая база данных, где вся база данных храниться в одном файле и меньше фич по сравнению с mysql.Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске...

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

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

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

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 16. CSS для позиционирования От переводчика. Для тех, кто ознакомился с курсом по созданию веб-серверов на Arduino, автор делает последние штрихи и даёт последние необходимые знания по устройству веб-страниц. Материал этой статьи не относится напрямую к построению серверов, но содержит необходимую инф...

Недельный геймдев: #145 — 29 октября, 2023 Из новостей: движок от VK за основу взял Dagor Engine от Гайджинов, разработчик Dreams и LittleBigPlanet собирается сократить 15-20% сотрудников, Steam изменит валюты магазина в Турции и Аргентине на доллары.Из интересностей: самые живые игровые экосистемы, механика морал...

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

Можно ли взломать хакера? Распутываем кибератаки с CTF-турнира. Часть 3 Привет, Хабр! Продолжаем путешествовать по CTF-турнирам. Из последних — 0xL4ugh CTF 24 от одноименной команды из Египта. В статье расскажу, как я решил задачи из категории DFIR (Digital Forensics and Incident Response) и web. Сохраняйте в закладки: пригодится как опытным, т...

Сборка мусора в V8 В этой статье мы детально разберем процесс сборки мусора движком V8. Познакомимся с понятиями поколений, Minor и Major Garbage Collection, посмотрим, как аллоцируются, трассируются и маркируются объекты в памяти. Что происходит с пустыми областями после очистки, и как выполн...

React + Three.js. Создаём собственный 3D шутер. Часть 3 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

React + Three.js. Создаём собственный 3D шутер. Часть 2 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

React + Three.js. Создаём собственный 3D шутер. Часть 1 Привет, дорогие пользователи мира IT!В эпоху активного развития веб-технологий и интерактивных приложений, 3D-графика становится всё более актуальной и востребованной. Но как создать 3D-приложение, не теряя преимуществ веб-разработки? В этой статье мы рассмотрим, как сочетат...

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

Базовые принципы и практики разработки чистого кода Культовый разработчик Кент Бек сформулировал принципы написания ПО, которые в вольном изложении звучат приблизительно так:1. Заставь код работать.2. Сделай его понятным.3. Оптимизируй для лучшей производительности.Этим основам не один десяток лет, однако джуны (да и старшие ...

Lionsgate разрабатывает третью часть «Иллюзии обмана» Фильмом займётся режиссёр «Анчартеда».

Изометрическое Черчение в Inkscape Во время инженерной работы постоянно приходится проектировать заказные детали. Очевидно, что нужен какой-то векторный редактор для быстрого и простого создания статической графики. Редакторы 3D черчения как правило платные. При этом есть бесплатные программы для 2D черчения....

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение. Хочу играть и не пр...

Шутки про программистов. Классификация Заставка сайта The Olognion, который специализируется на сатирических «новостях» про IT-индустрию Шутки про программистов — особый вид юмора и городского фольклора. Некоторые из них рассчитаны на самих программистов, то есть понятны только им, хотя другие доступны и более ш...

Обучение с подкреплением. Q-обучение. Понятное объяснение В данной статье я подробно опишу один из методов обучения с подкреплением - обучение на основе функции полезности (Q-обучение или Q-learning). Читать далее

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

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

Совместное развертывание System Center 2012 (метод и проблемы) Видимо, для сокращения времени внедрения и упрощения тестового развертывания Microsoft System Center 2012 был создан инструмент Unified Installer для унифицированной установки. Вкратце его суть — развертывание всех компонентов системы из одного окна. Ниже подробно разберем...

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2 Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи. Мы уже выпустили первую часть. В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и и...

Derby Madness может потягаться с Wreckfest. В игре есть Жигули Derby Madness — мобильная игра в жанре «гонки», доступная в App Store многих стран, включая Россию, с 14 декабря 2023 года. Информации о версии на Android нет. В Derby Madness игроки участвуют в дерби против ботов и, возможно, реальных геймеров. В целом по графике и геймпле...

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

Испытания 5 отечественных АКБ в корпусе D23. Часть 3: запуск автомобиля разряженным аккумулятором Привет, Хабр! Вот и снег выпал. А готов ли ваш автомобиль к зиме? Необходимо предусмотреть и зимние шины, и незамерзающие жидкости в стеклоомывателе и системе охлаждения двигателя. Смазать гаражные замки графитной смазкой. И конечно же, быть уверенными в аккумуляторе. Поэ...

[Перевод] Насколько потолстел JavaScript к 2024 году? Я немного отстал от современных тенденций фронтенд-разработки. Помню, были статьи на тему раздутия веб-среды, в которых писали, что средний размер страницы начал достигать нескольких мегабайтов! И всё это время я жил с мыслью, что если средний размер страницы равен, скаже...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Как получить гражданство в Германии? Сейчас проходят финальные слушания по принятому закону, который позволит получить гражданство за 5 лет или в особых случаях 3 года. Раньше это было 8 лет. Дальше в статье идет детальный разбор закона и его 4-ех основных требований с ссылками на статьи и цитаты. Читать дале...

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

Графика древности: пятая волна. Новые технологии и 3DO (часть 1/4) К началу 1990-х годов, после двадцати лет доминирования на компьютерных и телевизионных экранах, эпоха пиксельной графики и плоских игр подходила к концу. Назревали большие перемены, ведь старая графическая архитектура игровых консолей практически достигла пика своих возмож...

Статический анализ мультиязычности Angular приложения c помощью ngx-translate-lint Не так давно мне довелось решить интересную задачу, направленную на снижение риска того, что разработчик забудет о мультиязычности приложения и это станет причиной заведения нежеланных багов в будущем. Изначально я искал решение проблемы на Хабре, но, увы, не нашел. Поэтому ...

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

Недельный геймдев: #164 — 10 марта, 2024 Из новостей: Apple восстановит аккаунт разработчика Epic Games, Warner Bros. меняет стратегию, K-D Lab открыла код игрового движка qdEngine, хакеры не взламывали Epic Games.Из интересностей: как Persona сочетает 2d и 3d арт, разработка игр с использованием Go и библиотеки...

Фамильный вики-движок Bonsai: 6 лет спустя Прошло шесть с лишним лет с момента, когда я начал работать над проектом Bonsai. Если в двух словах, то это вики-движок, заточенный под хранение семейной истории и построение генеалогических деревьев. Он распространяется в полностью открытом и бесплатном виде, подразумевая у...

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

Цикл статей о Greenplum. Часть 1. GP под капотом Всем привет!Как вы знаете, многие поставщики ПО ушли с российского рынка ввиду введённых санкций и многие компании столкнулись с необходимость заняться импортозамещением в кратчайшие сроки. Не стал исключением и наш заказчик. Целевой системой, на которое было принято решение...

Remedy и Rockstar анонсировали ремейки первых двух частей Max Payne Теперь на движке Northlight Engine, который использовался в Alan Wake 2.

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

Легкий путь к власти: тестируем API Госуслуг с PyCades без головной боли Упростите свою работу с Госуслугами, используя PyCades! В этой статье мы предложим простые шаги для автоматизации работы с заявлениями через API Госуслуг, устраним рутину с формами и сделаем проще взаимодействие с информационными системами.

Skylight представляет приложение календаря на 27-дюймовом сенсорном экране Он предназначен для упрощения распределения домашних дел, планирования приёма пищи или организации встреч путем простого размещения семейного календаря на 27-дюймовом сенсорном экране.

Китайская SMIC неожиданно для всех занялась освоением 3-нм техпроцесса. Откуда такие возможности? О том, что Китай, несмотря на все сложности, не только держится на плаву в плане разработки и производства электроники, но и делает определенные успехи, мы уже писали. У некоторых китайских компаний достижения даже значительнее, чем можно было бы ожидать. Например, SMIC акт...

Postgresso #10 (59) PostgreSQL 16.1- а также PostgreSQL 15.5, 14.10, 13.13, 12.17 и 11.22 (эта версия последняя, которая будет поддерживаться в линейке 11). Обновление закрывает 3 проблемы безопасности:CVE-2023-5868: показ содержимого памяти в вызовах функций с агрегацией (memory disclosure in ...

[Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++ В этой статье речь пойдёт о повышении скорости компиляции библиотеки {fmt} до уровня библиотеки ввода-вывода Cи stdio. Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библио...

[Перевод] Как я портировал Sonic 2 на графический калькулятор Этот пост посвящён тому, как я портировал 8-битный Sonic 2 на TI-84+ CE Часть 1: с чего всё началось Эта история началась осенью 2022 года, когда я смотрел видео This Does Not Compute об истории игр на графических калькуляторах. Примерно на пятой минуте автор мимоходом упо...

Простая архитектура с использованием MVVM и делегатов в Android. Оптимальное решение для малых проектов В этой статье мы рассмотрим, как создать простую архитектуру Android, используя паттерн MVVM (Model-View-ViewModel) и делегаты для эффективного управления состоянием. Читать далее

[Перевод] Разбираемся с динамической памятью (кучей) в приложениях Java Начнём с простого вопроса. В самом ли деле каждый Java-разработчик понимает, как в Java работает память? Одна из обязанностей любого Java-разработчика — гарантировать, что в результате тонкой настройки приложения на Java из него получится выжать такую производительность, как...

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автон...

В Steam до 19 февраля бесплатно раздают движок RPG Maker XP Пользователи Steam и так постоянно завалены акциями, фестивалями и специальными предложениями, а тут ещё и студия Gotcha Gotcha Games решила сделать неожиданный подарок. Разработчики отдают совершенно бесплатно полную версию игрового движка RPG Maker XP, который смогут забра...

Очередная версия Alternativa3D 8.12.0 с поддержкой Flash Player 11 Beta 2 Представляем вашему вниманию новую публичную сборку движка Alternativa3D 8. Версия 8.12.0 поддерживает Flash Player 11 Beta 2, то есть полностью совместима с самой свежей на данный момент сборкой Flash Player. Мы также значительно ускорили систему мышиных событий и добавили ...

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

Безопасный Continuous Deployment БД по принципам DB-First В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First. Читать далее

An incursion under C#. Протаскиваем F# в Godot Godot — игровой движок, который имеет нативную поддержку dotnet. К сожалению, эта поддержка до такой степени заточена под C#, что F# она выходит боком. Почти все проблемы разрешимы, но при недостатке опыта они скатываются в большой пластилиново-волосатый валик у самого входа...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

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

Как провести фаззинг REST API с помощью RESTler Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаз...

Разработка HID-драйвера: шаг за шагом Предлагаем погрузиться в мир Human Interface Device (HID) в контексте операционной системы реального времени «Нейтрино». В статье мы расскажем про архитектуру HID и коснемся практических аспектов создания драйверов для устройств ввода. Кроме того, затронем вопросы системной...

[Перевод] Настоящий игровой роутер Гоняем GTA: Vice City на беспроводном роутере TP-Link TL-WDR4900. Читать дальше →

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный м...

Управление производством игровых уровней (Часть 1) Всем привет! Сегодня хочу поделиться с вами опытом, полученным за время управления отделом по производству игрового контента, а в частности игровых уровней для кооперативного шутера. Он поможет вам не допустить некоторых ошибок в планировании, а также улучшить ваше производс...

Гений 21 века. Чем сейчас занимается Фабрис Беллар Некоторые программисты настолько хорошо известны, что не нуждаются в особом представлении. Наверное, Фабрис Беллар — самая яркая звезда современности. Автор мультимедийного комбайна FFmpeg, эмулятора QEMU и десятков других полезных программ — абсолютный гений и пример програ...

Видеокарта VGA для микроконтроллера. Часть 2. От идеи до мелкой серии В первой части была описана идея видеокарты VGA для простого микроконтроллера (или ардуины), с помощью которой можно выводить информацию на стандартный монитор с интерфейсом VGA даже с самых слабых и медленных ядер. Карта, сердцем которой является высокоскоростная ПЛИС, бе...

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

Проект «Селенит». Часть 1: Побуждение к действию История эта началась новогодним утром 2018 года. В то время, когда ничего не подозревающие соотечественники мирно отсыпались после безудержного новогоднего веселья, я решил, окончательно и бесповоротно, открыть проект. Воодушевление от руководства чужими проектами к тому в...

<dl> или <table>? Исследуем подходы к представлению пар ключ-значение в HTML Казалось бы, простая задача - сверстать список пар ключ-значение. Бери <div> и делай. Но что, если захотелось подушнить? Этим и займёмся в статье...Рассмотрим три подхода к решению этой задачи: <div>, <dl>, <dt>, и <dd>, и <table>. Обсудим...

Игровой движок Unity 6 с поддержкой многочисленных ИИ-инструментов выйдет в 2024 году Нейросети — это глобальный тренд.

Как начать работать с IPv6 там, где его нет (часть 1) Появлением на свет этот материал обязан переводу статьи IPv6 — это катастрофа (но поправимая) (автор Mathew Duggan) и является её логическим продолжением. Если вы живёте в небольшом городе, которого в том числе нет в этом списке, и ваш провайдер в него не входит, то велика...

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

Рисуем рабочий процессор в Paint и запускаем на нём ОС | Ритуал по призыву демона Тьюринга Однажды в тёмном-тёмном городе, в тёмном-тёмном подвале, очередной обезумевший контентмейкер за паяльной станцией подключал программатор к умному термосу. Термос этот он нашёл на улице и хотел перепрошить его маленький и беззащитный Cortex-M0+. Человек бредил. Раз в пару ...

So.cl: Поисковик от Microsoft Неделю назад на Хабре появилась статья "So.cl: социальная сеть от Microsoft, основанная на социальном поиске" и я считаю, что после прочтения данной статьи складывается неправильное впечатление об этом сервисе. Я зарегистрировался на So.cl, и ознакомился со стран...

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

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

История студии Remedy. Судьба под контролем Расставание с крупным издателем, потеря прав на своё главное детище, а именно Alan Wake, прощание с большими бюджетами на разработку – для многих игровых студий подобные обстоятельства были бы равны гвоздям в крышку гроба. Для многих, но не для студии Remedy. Они не прост...

Принцип матрешки К эксперименту, представленному ниже, меня подвиг данный комментарий. Я решил переплюнуть фотожабу, которая там была представлена. Поэтому у меня будет Windows 3.11 inside Windows 98 inside Windows XP inside Windows 7. PS. Данный эксперимент делался исключительно ради пров...

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

[Перевод] Мудреный код — пожалуй, худший выбор Когда я учился в университете, Leetcode поломал мне мозг. Я смотрел на лучшие из лучших решений, которые укладывались в одну строчку малопонятного кода, и в своем заблуждении думал: «Как же мне достигнуть такого высокого уровня?» Что тут вообще происходит? Такой подход ч...

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

Оптимизация JavaScript. Inline Caches Думаю, ни для кого не секрет, что все популярные JavaScript движки имеют схожий пайплайн выполнения кода. Выглядит он примерно следующим образом. Интерпретатор быстро компилирует JS-код в байт "на лету". Полученный байт код начинает исполняться и параллельно обрабатывается о...

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

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

Вышла первая часть Warcraft: Chronicles of the Second War — ремейка Warcraft II на движке Warcraft III: Reforged Пока доступна только сюжетная кампания за орков.

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

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js Всем привет! Это моя первая публикация на хабре, поэтому буду благодарен за любую обратную связь, которая поможет мне писать ещё лучше.В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телегра...

SwiftUI уроки (часть 1) В чём особенность этих уроков?Основаны на книге "Mastering SwiftUI" от Appcoda: Мы берем за основу материал этой книги, но не слепо следуем ей.Интерпретация и перевод: Мы адаптируем материал книги для русскоговорящей аудитории, делая его более понятным и ...

Практическое руководство по Rust. 2/4 Hello world! Представляю вашему вниманию вторую часть практического руководства по Rust. Первая часть Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком пр...

[Перевод] Большая шпаргалка по Rust. 2/2 Hello world! Представляю вашему вниманию вторую часть большой шпаргалки по Rust. Первая часть. Обратите внимание: шпаргалка рассчитана на людей, которые хорошо знают любой современный язык программирования, а не на тех, кто только начинает кодить. Также настоятельно реком...

Как располагать элементы игровых интерфейсов Правильное расположение элементов игрового интерфейса помогает людям решать задачи, которые мы перед ними ставим В статье примеры подходов и решений, которые упрощают жизнь игрокам  =) Читать далее

Я научился управлять компьютером силой мысли: обзор нейроинтерфейса NextMind Dev Kit Совсем недавно мне в руки попала невероятная вещь — нейроинтерфейс NextMind Dev Kit. С виду небольшое устройство, простая пластиковая «шкатулка» с несколькими платами и девятью электродами, которая может согласовать мозг с компьютером. На выходных у меня нашлось немного вр...

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

Фабрика должна расти: настраиваем игровой кластер Factorio Игроки Factorio делятся на две группы. Одни отвергают игру в первые часы, а другие «залипают» на несколько суток и строят масштабные производственные линии. Несмотря на отличную оптимизацию игры, некоторые базы настолько велики, что даже самый мощный компьютер перестает спр...

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

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

Берёшь предоплату — получи заявление о мошенничестве: как могут «кошмарить» исполнителя Казалось бы, берёшь предоплату и работаешь нормально, зачем договор. Но бывают случаи, когда заказчик требует вернуть предоплату и угрожает судом и налоговой Как подготовиться к этой ситуации, как себя вести — об этом статья.Потому что бывает так:- Заказчик заплатил ава...

Как улучшить английский в документации. Часть 3: мировая аудитория Мировая статистика говорит, что английским владеет примерно 1,4 миллиарда человек, но носителей среди них всего 380 миллионов. То есть статистически семь из десяти читателей англоязычной документации — не носители языка.Если мы хотим, чтобы наша английская документация хорош...

Итоги RecSys 2023: разбор знаковых статей прошедшей конференции. Часть 1 ACM RecSys — международная конференция, на которой эксперты в области рекомендательных систем делятся своими наработками и исследованиями, задавая тренды развития технологий и подходов. Команда ОК изучила статьи конференции RecSys 2023 и сделала разбор наиболее интересных из...

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

[Перевод] Автоматизация тестирования с Cucumber, Selenium и Java В этой статье я постараюсь познакомить вас с технологиями для создания чистых, устойчивых к изменениям и простых для понимания автоматизированных тестов. Надеюсь, вы узнаете что-что новое об автоматизации или хотя бы познакомитесь с моим подходом. Статья будет полезна в перв...

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 2 Всем привет! В этой статье (части) рассмотрим вопросы, связанные с великим и могучим TypeScript'ом, которые задают на собеседованиях. Если вы не читали прошлую статью, где описаны вопросы по JS, вот ссылочка. Пожалуйста, не заучивайте вопросы, это вредно для вашего здоровья!...

Golang: как найти мёртвый код в проекте, а заодно оценить покрытие тестами живого кода В Go 1.20 сделали возможность сбилдить приложение с флагом cover go build -cover после чего, если запустить такое приложение, то будет собираться статистика, показывающая, какие части кода были выполнены, а какие нет, и складываться в папочку, указанную в переменной окружени...

Disney и Epic Games объединились, чтобы создать «новую игровую вселенную» на движке Unreal Engine Disney инвестирует в Epic полтора миллиарда долларов. Что будет совсем не лишним.

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

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

Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости Всем привет! Снова с вами Юрий Шабалин. Уже много лет я занимаюсь безопасностью мобильных приложений и в своих исследованиях доношу важность этого направления для бизнеса.В одной из прошлых статей я составлял шорт-лист мифов о безопасности мобильных приложений. Один из них б...

Аудит производительности 1С-систем: на что обращаем внимание Эта статья немного философская. В начале года хочется порассуждать о причинах, которые подвигают компании заняться более глубоким анализом проблем производительности своих ИТ-систем. Если у вас был опыт привлечения внешних подрядчиков для этой задачи, то предлагаю порассужда...

4 распространенных заблуждения и недопонимания про дефицит калорий. Часть 1 Почему все рекомендуют именно 20% дефицит калорий и что будет, если сделать дефицит больше - 50% или 100%? Верно ли, что потерю жира можно предсказать по формуле 1 гр жира за каждые 9 кк дефицита? Правда ли, что при большем дефиците сжигается меньше жира? И есть ли разница м...

Разбор crackme от KilLo (.net) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

Музыка игрового мальчика, LSDj, LGPT и EBT Сегодня расскажу о сортах чиптюна, долгой жизни старой портативной игровой системы, мостике между видеоигровой и клубной музыке, необычной музыкальной субкультуре, управлении сложным музыкальным редактором с помощью всего восьми кнопок, программах с провокационными названия...

«Двигай телом»: обзор новой игровой консоли Nex Playground На выставке CES 2024 Nex Playground назвали интересной инновацией этого года. Из необычного — консоль использует технологию отслеживания движений, чтобы пользователи могли управлять процессом игры. Мы решили разобраться, откуда пошел тренд на «управлением всем телом» и како...

PostgreSQL 17: Часть 4 или Коммитфест 2024-01 Весна уже в разгаре, а мы вспомним горячие новости самого зимнего, январского коммитфеста. И сразу начнем с козырей. Читать дальше →

Графика древности: палитры, часть 2/2 В предыдущей части цикла статей мы рассмотрели историю эволюции палитр в цветной компьютерной графике домашних компьютеров и игровых консолей, а также причины, почему они оказались именно такими и содержали те или иные цвета. Однако тема палитровой графики ещё не исчерпана....

Sega: история успеха на аркадном рынке (часть 1) Сейчас Sega известна любому геймеру. А уже в далёкие восьмидесятые японская корпорация была одной из самых крупных компаний, создававших инновационные тайтлы. Без того, что создала Sega тогда на аркадном рынке, не было бы и развития как этого самого рынка, так и развития иг...

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

Ламповый дисплей для компьютера, часть 4: блок питания, строчная развертка и первый растр Краткое содержание предыдущих статей цикла: Часть 1 – обзор возможных концепций и постановка задачи Часть 2 – запуск ЭЛТ и фокусировка электронного пучка в ней Часть 3 – построение канала синхронизации и блока кадровой развертки В этой части будет рассказ о тех электрон...

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

[Перевод] Ад Рендера 2.0. Книга вторая. Пайплайн Статья взята отсюда и переведена на русский язык. В статье автор подробно разбирает принцип работы графического пайплайна в GPU , используя простые и понятные иллюстрации.Пайплайн в ДетатяхБольшинство конструктивных отзывов, которые я ...

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

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

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

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

[Перевод] Начало работы с Axum — самым популярным веб-фреймворком Rust Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum все больше набирает обороты. В этой ста...

Самый маленький Docker образ Rust приложения Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust у...

Qt Creator* ищет ошибки в Qt Creator Как-то так странно получилось, что у нас уже почти год как существует и поддерживается плагин PVS-Studio для Qt Creator. И при этом мы до сих пор не выпустили хорошей статьи с проверкой самой IDE. Исправляем сие недоразумение и предлагаем вам посмотреть, чем живёт недавно пе...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

PVS-Studio помогает оптимизировать проекты на Unity Engine Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке. Читать дале...

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

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

Книга «Как сочинить видеоигру: 201 совет от сценариста Broken Sword и Resident Evil» Привет, Хаброжители! Разработка сценария для видеоигры — увлекательное дело. Но игровым писателям приходится постоянно учиться и бросать вызов ограничениям. Это связано с тем, что игровая индустрия развивается и становится все более зрелой. Тут и стремительное совершенств...

Управление сервоприводами, часть 4. Управление «сервами» по I2C с Repka Pi через серво-драйвер Robointellect Controller В предыдущих статьях нашей серии про сервоприводы мы рассказывали, как они устроены, как можно управлять сервоприводами с помощью широтно-импульсной модуляции ШИМ (Pulse Width Modulation,  PWM) с помощью контроллеров Robointellect Controller 001, а также напрямую че...

Как мы делали маркетплейс металлопроката и почему отказались от готового решения, часть 1 Представьте себе, что арматуру для строительства дома можно заказать так же просто, как и чайник домой. Идея для наших быстрых времён просто отличная! Да, такой формат продукции не доставить в пункт выдачи около дома, но ведь есть варианты. Например, в малых объёмах металл у...

Игровых систем на Linux прибыло: компания Playtron разрабатывает альтернативу Windows и SteamOS Когда речь заходит об игровом программном обеспечении на базе Linux, сразу же вспоминается Steam Deck от Valve. В свое время выпуск новой игровой портативной консоли, да еще на базе полностью нового софта, стал сенсацией. Впечатление усиливалось тем фактом, что софт базиров...

У Rockstar Games снова утечка: В Сеть просочился исходный код GTA V и фрагменты игрового движка Rage Если это не пиар, то тогда что? Опять во всём обвинят "русских хакеров"?

«Слово из трёх букв», или Пишем SMS-аналог Wordle с помощью MTС Exolve Привет, Хабр! Сегодня поговорим об игре «Угадай слово» и её вариациях, например Wordle («Вордли»). Скорее всего, вы с ней сталкивались, а если нет, поясню: она похожа на старую добрую «Виселицу» — есть загаданное слово, и надо за ограниченное количество попыток его угадать. ...

Коты-психопаты, анимешницы и БДСМ имени Сталина: какими были первые веб-комиксы на русском языке? Часть 2 В первой части мы поговорили о начале русскоязычных веб-комиксов в нулевые годы. Продолжим наш рассказ и вспомним о ещё нескольких популярных и знаковых сериях комиксов Рунета вроде бы недавней, но уже далёкой эпохи рубежа нулевых и десятых годов XXI века. И в них будет нес...

ТОП-7 инди-игр или кто спасает игровую индустрию Майские праздники за окном, а значит, и долгожданные выходные. Самое время свернуть вкладки с рабочими задачами и переключиться на любимые игры. Пока кто-то тестирует «Смуту», а кто-то досматривает сериал о Вселенной Fallout, мы предлагаем обратиться к миру «индюшатины» и уз...

В помощь тем, кто погружается в Smali Целевая аудитория этой статьи — люди, которые решили заняться исследованием .apk файлов, имеющие опыт разработки под Android и знакомые с основами синтаксиса Smali. Эта статья является оригинальной и ранее нигде не публиковалась. При копировании, прошу указывать ссылку на э...

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

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

Как подружить JUnit 5 и Robolectric? Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестовог...

5 простых и понятных приложений «Галерея» для Android При текущем обилии софта в магазинах приложений и не только, сейчас почти у каждого есть любимый редактор фото, программа для работы с видео и прочие аналогичные приложения. Зачастую отдельные, а не интегрированные в единый комбайн, который многие вендоры и разработчики се...

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

Кожаный мешок или генеративная сетка? Генерируем обложку книги ТЛДР одной картинкой. Задача. О чём эта статья. Задача у меня довольно понятная — нужна обложка для моей SciFi книги. Есть ТЗ, есть эскиз. Нейросети с таким не справятся, так как нужна сцена из книги, образы не мейнстримные, не представленные широко в массовой, и тем более ...

MovableType — отрывки из разработки плагинов MovableType — не сильно популярная в нашей стране, однако весьма стоящая на посмотреть система ведения блогов. Из коробки поддерживает множество блогов, с 5й версии — еще и управление полноценное сайтом. Работает на perl, путем генерации множества статических html файлов, за...

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

Оживляем тахометр из кабины «Боинга» Приветствую всех! В ходе просмотра «Расследований авиакатастроф» я не раз задумывался над тем, что хотел бы заполучить в коллекцию что-то из авиационных приборов. И вот, вдохновлённый статьёй полугодовой давности, я таки раздобыл один такой экземпляр. А раз так — самое время...

[Перевод] Как устроено автоматическое удаление мёртвого кода в Meta* В фреймворке Systematic Code and Asset Removal Framework (SCARF) компании Meta* есть подсистема выявления и удаления мёртвого кода. SCARF использует статический и динамический анализ программ для выявления кода, мёртвого с точки зрения как бизнеса, так и языков программиро...

Программа поиска эллипсов и определения их параметров МНК Привет! Я новичок на Харбре. Меня зацепила статья от 2011 года: «Детектирование эллиптических частиц на микрофотографии. Новый алгоритм поиска эллипсов на изображении». https://habr.com/ru/articles/135332/. Вот комментарий к этой статье (Mrrl 27 дек 2011 в 07:49): «А почему ...

Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать В настоящее время искусственный интеллект (ИИ) стремительно развивается. Мы являемся свидетелями интеллектуальной мощи таких нейросетей, как GPT-4 Turbo от OpenAI и Gemini Ultra от Google. В Интернете появляется огромное количество научных и популярных публикаций. Зачем же н...

Алгоритм Monte Carlo Tree Search простыми словами Можно ли научить ИИ играть в настольную игру и выигрывать в ней, если мы сами не знаем как это сделать? Да! И один из способов — использовать алгоритм Monte Carlo Tree Search (MCTS). Он актуален даже сейчас, в эпоху развития нейронных сетей. У многих людей, в том числе и у...

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

ПИУ-2. Оживляем плазменный текстовый индикатор из СССР Приветствую всех! Месяц с небольшим назад я рассказывал о таком девайсе как МС6205. Тема подобных экранов меня заинтересовала, и вот ко мне в руки попал другой экземпляр, однострочный и с более простым управлением. Тем не менее, несмотря на схожий вид, внутри он устроен сове...

Эволюция оценки программиста на интервью Я более десяти лет жизни писал код в одной российской компании и активно собеседовал-нанимал людей. За это время успел пообщался с четырьмя сотнями кандидатов. На моих интервью было все – от алгоритмических задач до разговоров о «жизни». Но форма вторична – я рассматриваю ин...

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

Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.Разберем технические особенности...

Создан самый маленький в мире ускоритель частиц — размером меньше монеты Все мы знаем про БАК, Большой адронный коллайдер, расположенным рядом с Женевой в гигантском тоннеле на глубине сотни метров. Это одна из самых больших инженерных конструкций в мире, и её постройка обошлась Европе в $6 млрд (а могла быть и дороже, просто часть тоннелей сущес...

[Перевод] Кто реально угрожает C++ (нет, Rust, не ты) Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости. Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В это...

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

«Пора ли гнать на мороз Computer Vision — scientist'ов ?» (Fondation Models и вокруг) Прошлый год в Computer Vision запомнился тем, что появилось множество больших претрейненных сетей (Fondation Models). Самая известная - GPT4v (ChatGPT с обработкой изображений).В статье я попробую простым языком объяснить что это такое (для тех кто пропустил), как меняет инд...

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

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

[Перевод] Создание эмулятора игр MS-DOS в Kubernetes В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере. Кроме того, по ходу статьи я дам советы и рекоменд...

Архитектура RISC-V продолжает развиваться: сразу пять крупных компаний займутся внедрением технологии по всему миру На днях стало известно о том, что несколько известных компаний, включая Robert Bosch GmbH, Infineon Technologies AG, Nordic Semiconductor ASA, NXP® Semiconductors, Qualcomm Technologies, Inc., основали новую организацию, которая получила название Quintauris GmbH. Она будет з...

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

[Перевод] Почему я отказался от разработки игр на Rust, часть 1 Предисловие: этот пост представляет собой очень длинный перечень мыслей и проблем, возникавших у меня за годы работы; также в нём рассматриваются некоторые из аргументов, которые мне часто говорили. В посте выражено моё мнение, сформировавшееся у меня в процессе разработки и...

ESPspectrum прошивка ESPspectrum - проект на основе компьютера ZX spectrum, с собственной простой операционной системой. Это вторая статья проекта ESPspectrum. В данной статье описывается программный код OC. Есть возможность открывать, редактировать, создавать и удалять файлы. Есть калькулятор с...

Собрали 11 тысяч заявок, закрытые тесты начнутся в 2023 году: глава Nau Engine — о российском игровом движке Главное из интервью РБК с директором проекта Nau Engine Александром Мясищевым.

Web3 приложение Twitter на React.js + Solidity | часть 2 Hello, в первой части был подготовлен проект, подключены кошельки и написан backend на Solidity, значит пришло время писать frontend на React.Проект далёк от продакшена и является простым примером для новичков, предназначенным для демонстрации взаимодействия с...

SwiftUI уроки (часть 6) Мы наконец-то добрались до одних из самых важных тем связанных с управлением данными, включая их модификацию, слежение за ними и передачу. Мы начнем с самых простых вещей таких как State и Binding Читать далее

[Перевод] Снижение потребления LoRa ноды (TPL5010/TPL5110) От переводчика. В этой статье автор исследует тему снижения тока потребления беспроводной LoRa ноды при помощи использования специализированных микросхем семейства нано-потребляющих таймеров TPL5010/TPL5110. Плюс затрагивает вопрос влияния Arduino загрузчика на время жизни...

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

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

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

Как мы своими силами коммутаторы чинили Привет, Хабр! В 2016 году мы в Selectel начали закупать коммутаторы производителя Е. Планировали за несколько лет ввести в работу несколько сотен устройств — и это оправдалось. Сегодня в продакшене работает больше 300 коммутаторов. Данная модель позволила нам реализовать ...

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

Формальные методы проверки смарт-контрактов Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про п...

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

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

То, что вы пишете, это точно composables? В этой статье c помощью простого чек листа за пару шагов выясним, являются ли функции, которые вы пишете в своем vue коде, настоящими composables Читать далее

Собрали 11 тысяч заявок от студий, закрытые тесты начнутся в 2023 году: глава Nau Engine — о российском игровом движке Главное из интервью РБК с директором проекта Nau Engine Александром Мясищевым.

Алгоритмы вокруг нас Привет, друзья! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Маленький дисклеймер. Данная статья – материал для размышления. В особенности для людей, которые разрабатывают новые алгоритмы и реализуют их.  Читать далее

В РВСН стартовали комплексные проверки с выходом «Ярсов» на позиции Сообщения о выводе на полевые позиции ракетных комплексов «Ярс» наверняка кто-то поэкзальтированнее попробует истолковать как подготовку к ядерной войне, особенно за рубежом. При этом ту часть сообщения, в которой говорится о том, что этот вывод проводится в рамках контрольн...

Вызволяем увлажнитель из сетей Xiaomi Вероятно, вы слышали о том, что сухость воздуха — одна из частых причин появления статического электричества. Вот и я решил обзавестись увлажнителем, когда заметил, что кошка бьется током почти при каждом прикосновении. И нет, ее зовут не Электро или Шторм Спирит. Знакомьте...

PostgreSQL: обеспечение уникальности записи с проверкой даты валидности Как бы вы решали такую задачу? Предположим, есть таблица с купонами, и у купонов есть некая дата устаревания valid_until. Вам надо обеспечить такое ограничение (constraint) на уровне БД, чтобы у одного человека мог быть только один действующий купон. Т.е., таблица изначально...

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

Геймерский мини-ПК ACEMAGIC TANK03: на что способен маленький гигант игрового мира с Core i9-12900H Пару месяцев назад в продажу поступил мини-ПК ACEMAGIC TANK03 с отличной для своего размера производительностью. Так, он оснащён чипом Intel Core i9-12900H (в максимальной комплектации) и графикой NVIDIA GeForce RTX 3080M. Кроме того, он ещё и выглядит весьма интересно — зам...

В Steam начался свободный бета-тест изометрического лутер-шутера Project GGG Сегодня — 12 декабря — в Steam начался открытый бета-тест изометрического экшена Project GGG (Gun, Gang, Gold) от студии ACTION SQUARE, который продлится до 18 декабря. Принять участие в мероприятии может любой желающий, запросив доступ к тесту на странице магазина. Полноцен...

Как создать простой LoRa мессенджер: обмен текстовыми сообщениями между устройствами без интернета В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфра...

Как ответить на вопрос «Когда будет готово?» на основе статистики Всем привет! Я Анастасия Жадринская, деливери-менеджер в Тинькофф. Да, эта статья опять про оценки и сроки выполнения задач. Сроки без вуду, астрологии, гаданий и привлечения экспертов. В статье рассмотрю метод Монте-Карло — элегантный и простой в применении математический п...

ИОЛА (IOLANET2): уникальная ретро-сеть отечественного производителя и безуспешный эксперимент Доброго всем здоровья! Речь пойдет о попытке организации простейшей сети — объединении двух компьютеров, содержащих сетевые ISA-карта ИОЛА при помощи коаксиального кабеля, и о возникшей тупиковой ситуации. Одна из целей этой статьи — сбор комментариев для продолжения эксп...

[Перевод] Крупномасштабный стриминг видео с использованием Kubernetes и RabbitMQ Давайте поговорим о тех проблемах, с которыми приходится сталкиваться на сайтах для стримингового видео, и как организовать архитектуру такого сайта, чтобы было проще справляться с нагрузками. Читать дальше →

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

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

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

Сам себе экосистема. Часть 4: как я реализовал клиент Telegram на Android-смартфоне 14-летней давности? С момента выхода первой части статьи из рубрики «сам себе экосистема» прошёл уже практически год! За это время, мы успели с вами реализовать клиенты VK и YouTube, которые работают на Android 2.2+, а также на Windows Phone 8, написать небольшую 2D-игру с нуля весом менее 1М...

«Клиентов нужно не искать, а создавать»: погружение в Telegram API через TDLib Сперва я рассказывал простые вещи о Telegram Bot API и делал интересных ботов — виртуальную подругу и друга для заказа шавермы. Затем коснулся тестовых серверов и юзерботов. И наконец, пришла пора заглянуть глубже — узнать, как сделать свой клиент для Telegram. Что такое TL...

С Новым, 2024 годом! Дорогие читатели!  Вот и закончился 2023 год. Коллектив iXBT.com поздравляет вас с праздником и желает вам в новом году успехов, крепкого здоровья и драконьей мудрости, ведь новый год — это год Дракона.  создано DALL-E Мы, в свою очередь, будем и дальше...

Создание простого калькулятора в android studio В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio. Читать далее

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

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

Сказ о том, как я эмулятор Intel 4004 на Python писал (часть 2) Небольшой дисклеймер: перед прочтением данной статьи ознакомьтесь с первой частью, дабы вникнуть в суть происходящего. Желаю вам приятного прочтения :)Это вторая часть о том, как я писал и продолжаю писать и улучшать эмулятор Intel 4004 с очень ограниченным функционалом на я...

В Paint для Windows 11 добавили ИИ-генератор изображений на базе нейросети DALL-E 3 В простой и понятный графический редактор Paint добавлена функция Cocreator.

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

Глубокий JS. В память о типах и данных Всех нас учили, что в JavaScript есть примитивные и ссылочные типы данных. Исчерпывающая информация есть в официальной документации, а на просторах интернета полно статей на этот счет.Теория теорией, однако, JS-код исполняется не в теории, а на практике. Точнее, его компилир...

Библиотека libopencm3: Быстрый старт (Часть 3). Работа с USART, прерываниями, I2C и таймерами Часть 1. Настройка окружения для работы с libopencm3Часть 2. Работа с GPIO, SPI, отладка проекта при помощи GDBЧасть 3. Работа с USART, прерываниями, I2C и таймерамиДанная статья является заключительной в цикле, посвященном быстрому старту разработки под STM32 при помощи lib...

Проведение фишинг-учений с использованием вредоносных ссылок и HTML-приложений. Часть 1 Многим угрозам можно противопоставить технические средства защиты информации (СЗИ): как базовые, так и системные решения. Но сколько бы ни стоило СЗИ, и сколько бы ни знал о устройстве инфраструктуры специалист, главной головной болью все равно остается человеческий фактор. ...

[Перевод] Реверс-инжиниринг ячейки регистра процессора Intel 386 Новаторский Intel 386 (1985 год) стал первым 32-битным процессором линейки x86. У него есть множество внутренних регистров: регистры общего назначения, индексные регистры, селекторы сегментов и более специализированные регистры. В этом посте мы изучим кремниевый кристалл 38...

Быстрое обновление проектов на клиентских серверах через FTP Задача Часто приходится сталкиваться с долгосрочными проектами, которые требуют разработки на тестовом сервере под Linux, и после проверки клиентом — обновления кода на его сервере. Разумеется, имеет смысл использовать систему контроля версий (мы используем SVN), и когда ест...

Два секундомера на логических микросхемах Привет, Хабр! Сегодня мы рассмотрим и соберём два цифровых таймера без микроконтроллера. Это прекрасные примеры того, каким образом можно добиться желаемого результата максимально простыми средствами. Читать дальше →

Microsoft не успеет внедрить движок Adobe PDF в свой браузер вовремя Компания Microsoft объявила о переходе встроенного PDF-ридера Microsoft Edge на технологию Adobe PDF в прошлом году. Это изменение позволит пользователям Edge просматривать PDF-документы с помощью движка Adobe в его качестве.

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

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

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

«Есть глюоны, кварки, виртуальные фотоны и… ячейки памяти»: что такое LUN-СХД, или как мы виртуализировали хранилище Источник: Huawei. Вся жизнь — это выбор. Между Apple и Android, MySQL и PostgreSQL, здоровым питанием и тортом после 18:00. Но как быть, если его хочется, а отрабатывать калории в зале — не очень? Обычно весь торт есть не заставляют, поэтому его можно нарезать небольшими ч...

Мониторинг на Python: как сохранить метрики в мультипроцессном режиме Привет, Хабр! Меня зовут Никита, я backend-разработчик команды клиентских сервисов. В Selectel мы строим и поддерживаем IT-инфраструктуру для компаний, которые развивают свои цифровые продукты. В нашем департаменте около 20 приложений, большая часть из которых работает на F...

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

Затачиваем Astesrisk для работы с BLF Cisco BLF (Busy Lamp Field) — в общем, это набор индикаторов на IP телефоне, которые показывают статус линии: свободно или занято. В этой статье мы научим Asterisk правильно работать с телефонами Cisco для отображения BLF статусов. Читать дальше →

Cisco Config Cleaner. Бета-тестирование Друзья! Мы обкатываем на нашем сайте новую идею, а именно проверку конфигурационных файлов cisco IOS на согласованность и непротиворечивость. На данный момент мы реализовали функционал для выявления «мусорных» списков доступа, а также выявление таких опасных «хвостов», как...

Геймдев на Lisp. Часть 1: ECS и металингвистическая абстракция В данной серии практических руководств мы подробно рассмотрим создание несложных 2D-игр на Common Lisp. Результатом первой части станет настроенная среда разработки и простая симуляция, отображающая двумерную сцену с большим количеством физических объектов. Предполагается, ч...

Испытания 5 отечественных автомобильных аккумуляторов в корпусе D23. Часть 1: лечим разбалансировку Привет, Хабр! Вы думали, что в новых аккумуляторных батареях не бывает разбалансировки? — Бывает, причем у большинства. И это не признак брака или подделки, а особенность технологии, которую необходимо учитывать. Читать дальше →

Диафрагмы для самодельных фотообъективов на 3D принтере В продолжение статьи "Простейшие 3D печатные оправы (фокусеры) для проекционных объективов"Для меня объектив без диафрагмы – неполноценный. Поэтому изначально хотелось установить диафрагму даже на проекционные объективы в простейших фокусерах или объективы без диафрагм (напр...

Простой способ создания самодельных витражей с помощью ЧПУ-станка Картинка Vecstock, Freepik Сегодня поговорим о такой интересной технике оформления стёкол, как витраж, а также попробуем прикинуть, как нам создать его минимальными усилиями! Читать дальше →

Осваиваем 3-рублёвые микроконтроллеры PADAUK Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять. Читать дальше →

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

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

Оцифровка бизнес-процессов как неотъемлемая часть современного бизнес-ландшафта «Если вашего бизнеса нет в интернете, то вас нет в бизнесе», – эту фразу Билла Гейтса помнят, пожалуй, все. Она оказалась пророческой: без сети жить может лишь такой бизнес, у которого нет конкурентов. Например, “сельпо” в далёкой деревне, в которой прекрасная продавщица зна...

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

Неочевидные моменты TypeScript и способы их решения Разрабатывая на TypeScript, можно столкнуться с ситуациями, в которых код будет работать не так, как ожидается. В статье разберем несколько таких моментов. Часть просто придется иметь ввиду, часть решается обновлением, а часть исправляется – обо всем по порядку. Если вам бу...

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

Как мы в 2 раза ускорили решение MILP-проблем за счет ML Многие задачи, с которыми мы имеем дело при цифровизации производства (неважно какого), – это задачи оптимизации: оптимизация производственного расписания, оптимизация цепочек поставок и размещения объектов, оптимизационное планирование и прочее. Многие из них сводятся к про...

Что такое движок Unreal Engine 5, и что он может? Практически все современные игры создаются на так называемых движках. Это набор инструментов, который существенно облегчает жизнь программистам. В этой статье мы расскажем все, что нужно знать про движок Unreal Engine 5, а также покажем, что он может.

Как установить Windows 11 Да, статья о том, как установить Windows 11 правильно. Этот процесс нынче сопровождается таким количеством шаманских плясок, что ей-богу, проще Arch устанавливать. Решил вот поместить все познания по этому вопросу из головы в статью. Читать далее

Вышла часть фанатского ремейка Warcraft 2 на движке Reforged Ремастер Warcraft III с подзаголовком Reforged вызвал ярость у геймеров по всему миру, но оказалось, что в его релизе есть что-то хорошее — движок, с помощью которого фанаты создают ремейк второй части стратегии

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

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

Как пытались (пере)программировать мозги, и что из этого получилось? Часть 4: Нуарный коп, оргии и тюремные эксперименты В прошлой части наш антигерой Сидни Готтлиб дорвался-таки до своего большого проекта MKUltra: ему дали много денег и ещё больше полномочий на то, чтобы научиться взламывать человеческое сознание с помощью психоактивных веществ, гипноза и любых иных способов без особого вним...

Настоящие российские коммутаторы, ИИ-ускорители и новые видеокарты от NVIDIA: новинки в мире железа за март Если спросить у популярного GPT-бота, какое серверное железо появилось в марте 2024 года, — он расскажет о серверах на основе квантовых вычислений. А еще про сверхпроводящие интерференционные устройства и технологии ионных ловушек для хранения и обработки кубитов. Правда эт...

Цифровая музыка на микрокомпьютерах (часть 2/2) В первой части статьи мы узнали про существование такого явления, как цифровая музыка, то есть состоящая из оцифрованных кусочков звучания реальных инструментов, на маломощных 8-битных микрокомпьютерах 1980-х годов, а затем углубились в детали этой истории в рамках горячо л...

Бруксизм, или дентальный компрессионный синдром Здравствуйте, друзья! В продолжение к предыдущей моей статье про связь имплантации и ортодонтического лечения, сегодня я расскажу про проблемы, которые возникают при гипертонусе жевательных мышц. Читать дальше →

[Перевод] Как программисту побороть синдром самозванца И вернуть себе самоуважение.

Простой пример ИИ для управления роботом. TensorFlow + Node Js Немного слов обо мне: мое хобби это робототехника. На данный момент экспериментирую с шагающим роботом на базе SunFounder PiCrawler. Последнее время тема искусственного интеллекта (ИИ) приобретает все большую популярность. Причиной этому служит в том числе совершенствование ...

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

Космическая обсерватория «Евклид»: первые фотографии и планы по изучению «тёмной» части Вселенной О космическом телескопе «Евклид» мы уже писали. Так, 1 июля ракета Илона Маска Falcon 9 отправила эту систему в космос. По словам учёных, этот инструмент должен помочь в изучении Вселенной, включая самую загадочную для нас её часть — тёмную материю и тёмную энергию. С телеск...

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

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

Как распространялся open-source-софт в 1992 году: Walnut Creek Software Распространение программного обеспечения с открытым исходным кодом никогда не было настолько простым и быстрым, как сейчас. Повсеместная доступность интернета и удобные инструменты позволяют получать доступ к открытому ПО в любое время. Но в начале 90-х, когда интернет лишь ...

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

Форма, преобладающая над содержанием: любовь к бракованным кадрам, переросшая в бренд Уже год я снимаю на плёнку. Не часто, но периодически уезжаю из Москвы в родной город с проявленной катушкой плёнки. И чем больше снимаю, тем чаще прихожу к выводу, что, по сути, занимаюсь ломографией тоже. А ведь ломография — вещь очень интересная! Читать дальше →

Как собрать мощный игровой ПК на Intel и NVIDIA в конце 2023 года и не разориться Если вы не доверяете процессорам и видеокартам от AMD, то нужно приготовиться расстаться с крупной суммой при сборке мощного игрового ПК, ведь компоненты от Intel и NVIDIA почти всегда обходятся дороже.

Apple M1 — разбор с точки зрения аппаратной безопасности Давным-давно, в далёкой-далёкой яблочной компании зародилась идея создать собственный процессор для ноутбуков. И вот, спустя годы, Apple презентовала свой десктопный процессор M1. В этой статье мы сосредоточимся на разборе безопасности свежего процессора от Apple. Компания...

Во что поиграть? — Fallout Tactics Brotherhood of Steel Подобно Heroes of Might and Magic IV, о которой я писал в начале этой недели, Fallout Tactics Brotherhood of Steel, несмотря на попытки привнести в серию что-то новое и как-то разнообразить игровой процесс, оказалась провалом. Фанаты восприняли очередную часть любимой игры в...

Книга рецептов Rust. 1/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Читать дальше →

Игровая экономика Premium игр на примере PC 4х стратегии Как спроектировать экономику для вашей игры? Это вопрос, ответ на который может занять небольшой цикл лекций или статей. Принципиальная разница в подходе основана в первую очередь на модели монетизации: F2P или B2P. Второе, что определяет подход к разработке экономической си...

«Иногда твоя работа выглядит магией»: что делают дата-сайентисты в промышленности и почему так востребованы Привет, Хабр! Меня зовут Светлана Потапова, я руковожу «Северсталь Диджитал» — подразделением ИТ-функции Северстали, которое занимается разработкой и внедрением решений на основе машинного обучения. Data Science уже давно вышла за пределы ИТ-компаний, шагнула дальше банков и...

Как сайты обнаруживают ботов по TLS Порой случается так что несмотря на то что мы в точности повторяем запрос к сайту из своего любимого HTTP клиента в ответ мы получаем ошибку. Но ведь в браузере запрос проходит! В чём же дело? В этой статье мы с этим разберемся! Читать далее

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

Распределенная трассировка с Jaeger и Clickhouse Привет! Меня зовут Филипп Бочаров, я руководитель центра мониторинга и наблюдаемости в МТС Digital. Мы делаем распределённую трассировку, чтобы контролировать качество наших сервисов и предотвращать аварии. В этой статье разберём, как добиться понятной и прозрачной работы от...

Как пройти техническое интервью на позицию системного аналитика в финтех-проект Привет Хабр! Мы в SSP SOFT разрабатываем заказное ПО для ведущих российских банков и финтех-проектов. Системный аналитик (СА) — одна из ключевых фигур в проектных командах, и такие вакансии с грейдами сеньор, мидл и джун регулярно появляются в компании. Для технического инте...

Остаться в живых (keepalive) feat. HTTP/2, Go & gRPC-Go Привет, Хабр!) Меня зовут Ильяс. В этой статье мы разберём известную идею — keepalive в межсервисном взаимодействии, которая спасла уже не одну компанию в трудное время :). Но чтобы добавить интереса, мы разберём, какие проблемы в keepalive принесли современные технологии (в...

Плагины IDE — простой способ войти в безопасную разработку. Без регистрации и СМС Разработчики используют плагины каждый день, и их функциональность призвана упростить разработку, например, автоматически проверять проставление всех специальных символов (таких как «;», «:») или соблюдение синтаксиса. Они буквально были созданы для того, чтобы разработчики ...

От винта! Смотрим движок War Thunder и говорим с его создателями Как говорил Юрий Гагарин: "В будущем мы будем летать, много летать". В определённой мере игровой движок Dagor Engine от Gaijin Entertainment позволяет это сделать. Давайте посмотрим, как он сделан, и поговорим с его создателями! Поехали!

Энтузиаст запустил Deus Ex на движке Unreal Engine 5 Вместо того, чтобы осуществить перенос на новый движок, автор использует утилиту для переноса игрового процесса с UE1 на UE5 в реальном времени

Как решить типичные проблемы Django нестандартным подходом: Fake Injection Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я back...

Google Chrome на iOS перестанет быть «неполноценным», но лишь у европейцев Apple объявила о том, что разрешит альтернативным браузерным движкам работать на iOS-устройствах в странах Европейского союза. Это отход от многолетней практики компании, требующей, чтобы все браузеры использовали ее собственный движок WebKit, который критиковали за ограниче...

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.В то же время мне показалась весьм...

Недельный геймдев: #157 — 21 января, 2024 Из новостей: мобильный Cascadeur, продажи Palworld превысили миллион копий за восемь часов с релиза и онлайн в Steam превысил миллион игроков, War Robots вернулась в Китай, Piranha Bytes на грани закрытия, GPU Reshape, за последний год треть раз...

[Перевод] 15+ Инструментов на базе искусственного интеллекта для разработчиков Перевод статьи https://www.marktechpost.com/2023/12/04/15-ai-tools-for-developers-august-2023.От переводчика: Выбор темы современных инструментов на базе ИИ оказался для меня не только хайповым, но и лично значимым. Мой интерес к этой области возник из желания совместит...

[Перевод] Функции ранжирования: RANK, DENSE_RANK, and NTILE В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникал...

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

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

Декодирование файла, поиск уязвимости и взлом пароля. Решаем задачи по сетям из KnightCTF 2024 Привет, Хабр! В прошлой статье я рассказывал о турнире KnightCTF 2024, который организовала команда из Бангладеша. Но туда вошли не все задачи. Под катом расскажу еще о четырех из категории networking. Читайте далее — узнаете, как получить секретную информацию в bash-histor...

#Net Oчень добрый день. Меня зовут Тимур и я программист. В прошлой своей статье я вкратце описал как можно внести минорные правки в код хромиума, собрать его и подтянуть в собственную сборку электрона. Статья имела оглушительный успех и вызвала бурные дебаты (34 комментария з...

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

Ламповый дисплей для компьютера. Часть 1 — обзор концепций и постановка задачи Всем привет! Мне с большим трудом удалось побороть лень и начать писать новый цикл статей, но на этот раз не о лазерах. Дело в том, что лазеры – не единственный мой интерес, значительное место в списке интересов у меня занимает ламповая техника в её разнообразных проявлениях...

Как проверить локаторы с помощью Playwright В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики. Обычно мои статьи были холиварными, а не техниче...

Шаблонизируй это или Как ускорить разработку при помощи одного документа Привет! На связи лид команды аналитиков Magnus Tech Владислава Никитина.В заказной разработке каждый проект начинается со сбора бизнес-требований к будущей системе. Это важный этап, ведь именно здесь определяются контуры задач, которыми займутся разработчики. И с ним связан ...

Модульные механики на Unity Привет, Хабр! Меня зовут Игорь, и я Unity Developer. В этой статье хотел бы рассказать, как можно делать модульные механики для игровых объектов, за счет разделения данных и логики без ECS. Читать далее

Doom. Часть 2. В поисках неведомого Кадата или магический реализм, сюрреализм и странные сны. 8 необычных вадов Doom совсем не был бы тем, чем он является, не сопровождай его определённая степень сюрреализма как окружения, так и происходящего, выгодно отличающего его от условно типовых шутеров в стиле милитари, и не менее условных хорроров / психоделических работ, имеющих больше или м...

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

[Перевод] Поисковый движок в 80 строках Python В сентябре я устроился на должность поискового дата-саентиста и с тех пор часть моих обязанностей заключается в работе с Solr — опенсорсным поисковым движком на основе Lucene. Я знал основы работы поискового движка, но мне хотелось понять его ещё лучше. Поэтому я закатал рук...

Кратко про то, как устроен компилятор Go Привет, Хабр! В back in 2007 трое гуру из Google — Роб Пайк, Кен Томпсон и Роберт Гриземер — решили, что мир нуждается в чем-то свежем и быстром. Они метили на упрощение процесса разработки, но при этом хотели сохранить весь перфоманс на уровне C. И вот, в 2009 году появился...

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

Немецкая игровая консоль из 1990 года: Game Master от компании Hartung. Интересная находка с барахолки Привет, Хабр! В воскресенье я снова поехал на барахолку, которая находится под Валенсией. Но этот поход я опишу как-то отдельно, сегодня речь пойдет лишь об одной интересной находке — игровой консоли Game Master. Девайс появился в продаже в 1990 году, причем разновидностей ...

Как мы решали вопрос многоязычности в боте Русский или English? Что для бота хорошо, то разработчику работа :)ВведениеВ этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и ...

Книга рецептов Rust. 2/2 Hello world! Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust. Первая часть Читать дальше →

Новый ИИ-инструмент Google Genie поможет создать простую видеоигру Новая модель искусственного интеллекта Google Genie может произвести революцию в игровой индустрии. Модель предназначена для создания простых 2D-игр.

[Перевод] Cloudflare открыла код Rust-фреймворка для программируемых сетевых сервисов — Pingora Мы гордимся тем, что открываем исходный код Pingora — фреймворка на Rust, который мы используем для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare. Pingora выпускается под лицензией Apache 2.0. Читать дальше →

Дополнительные руки и бегающие змеи. Что ещё умеют экзоскелеты? От простого к сложному Хабр часто рассказывает об экзоскелетах. Эти устройства преследуют две глобальные цели: вернуть утраченную функцию организма или, что редко, дать человеку новые возможности. Как водится, не вполне предусмотренные природой. Читать дальше →

Как перезагрузиться, пройдя пешком 250 км, или каким был для меня Путь Сантьяго Всем привет! Меня зовут Катя Черных, я бизнес аналитик в Х5 Tech, работаю на продукте Ценообразование. Живу в Москве, со времён ковида работаю удалённо и большую часть дня провожу дома. Поэтому к планированию отпуска отношусь серьёзно, стараюсь уезжать подальше из своего дом...

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 2 Продолжим наш рассказ о том, как странная компания нерядовых людей со стрёмными тараканами в голове сделали суперхит — и навсегда изменили всю индустрию геймдева. В прошлый раз мы оставили наших главных героев, Джона Кармака и Джона Ромеро, на пути в мрачный луизианский гор...

Мастерим многопоточность: техники и инструменты для Java-разработчиков. Часть 1 Привет, Хабр! Это первая часть обзора по изучению существенных тем Java стека и туториала по их применению. В этой статье вы найдете важные аспекты многопоточности в Java, а также полезные шпаргалки с практическими примерами.Меня зовут Влад, я Java-разработчик в компании Sim...

Почему Windows настолько медленнее Linux. Расползание фич Время выполнения общих команд Git в Ubuntu и Windows 11 (в секундах, чем меньше — тем лучше), источник: OpenBemchmarking.org В далёком 2013 году один из разработчиков Microsoft детально объяснил, в чём главные технические проблемы при разработке ядра Windows NT. Спустя дес...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами, часть 2 Вторая статья из цикла, посвященного проектированию с использованием стандартного интерфейса AXI-Stream, а также отладке и документации проектов. Читать далее

Разбираем самый маленький JPEG в мире Недавно на Хабре была опубликована статья Разбираем самый маленький PNG в мире. Интересно, а какой самый маленький файл JPEG? В ответах на StackOverflow и Reddit можно встретить размеры 107, 119, 125, 134, 141, 160 байтов. Все они представляют серый прямоугольник 1 на 1. И к...

6 лет из жизни инди-разработчика А привет, Хабр. У меня для тебя есть история длиной в шесть лет. История о том, как я учился делать свои собственные игры без навыков программирования и что из этого вышло. Почему так долго и почему так делать не стоит. Насто...

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

Графика древности: палитры, часть 1/2 Хотя пиксельная графика прошлых лет полна нюансов, несомненно, одной из её главнейших характеристик, наряду с разрешением, является палитра — ограниченный набор цветов, которым нарисовано пиксельное изображение. Уникальное сочетание цветов, доступное на отдельно взятом стар...

Французы представили собственный робот-автомобиль Роботы автомобили сейчас становятся все более распространенными. Пока, понятное дело, все эти автомобили — просто пилотные проекты, и наиболее известным проектом являются самоуправляемые авто от Google. Однако и другие компании начинают создавать собственные проекты. На дн...

Twitter улучшил свой поисковый движок В своем официальном блоге Twitter объявил об улучшении своего поискового механизма. Поиск обзавелся автодополнением запроса и вкладкой «People you follow» («Люди, за которыми вы следите») в результатах поиска twitter.com. Автодополнение запроса показывает наиболее вероятны...

Игровая легенда из нулевых: каким был Nokia N-Gage QD? Обзор, аппаратный ремонт и программирование под Symbian Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD...

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

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

Создатели ноутбуков и планшетов Microsoft Surface займутся созданием нового Xbox Новое поколение игровой консоли Xbox разрабатывается не той командой, которая была за ответственна за предыдущие поколения консолей.

Файтинг MultiVersus выйдет в релиз в конце мая с крупным обновлением Издатель Warner Bros. Games вместе с разработчиками из Player First Games объявил, что файтинг-платформер MultiVersus выйдет в релиз уже 28 мая. Новинка будет распространяется по модели Free-to-play и появится на ПК и консолях PlayStation 4|5, Xbox One и Xbox Series X|S. Нап...

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

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

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

Рассматриваем мифический фреймворк C2 Mythic. Часть 1 Привет Хабр, на связи лаборатория кибербезопасности AP Security. В этой статье мы продолжим разбирать C2-фреймворки. На этот раз, мы будем изучать относительно новый фреймворк под названием Mythic. Приятного прочтения! Читать далее

Road Run, или как я свою первую игру делал. Часть 6 Модели, сделанные в блендере, о которых я рассказывал в предыдущих частях, готовы и могут быть загружены в игровой движок. В этой части пойдёт речь о том, как собрать и заставить двигаться дорогу в Unity 3d. Читать далее

Заглядываем в консоль: пасхалки и приглашения на работу, которые вы могли пропустить Это статья о поиске пасхалок в коде и о том, что мне удалось найти. Покажу, где были поиски, и на каких популярных сайтах их все-таки удалось найти. Погнали! Читать дальше →

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

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

ХабраЧеллендж или как мы запустили фабрику статей Уверены на все 100%, что каждый читатель Хабра в своей жизни сталкивался с непреодолимым чувством неизбежного, или, как его еще принято называть, сочинением по русскому языку или литературе. И вроде есть понятная и рабочая формула: «‎Главное ― начать, а дальше процесс пойдет...

«Ситилинк» и «Мерлион»: о чем стоит знать перед трудоустройством К нам в профсоюз обратился сотрудник «Ситилинка» и поделился своей историей трудового конфликта: в оффере одно, а в договоре другое; перестали платить часть зарплаты; игнорируют и не обсуждают проблемы; пытаются уволить. Дальше весь текст будет от лица автора. Читать далее

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1 Кто такой детектор?Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN. Читать далее

Как я попробовал написать авиасимулятор Давным-давно, в 2015 году я написал свою первую статью на хабр: Пишем простую* игровую физику самолёта Статья появилась не сама по себе — я писал игру, но так её и не доделал. За предыдущие девять лет я несколько раз возвращался к проекту, что-то улучшал, но по-факту он так...

Визуализация результатов escape-анализа в VS Code В Go есть возможность получить отчёт о выполняемом escape-анализе: go build -gcflags '-m=3 -l'. В этой статье я расскажу, как можно визуализировать этот отчёт в VS Code. Дополнительно приведу способ, как в несколько кликов проверить теорию (escape-анализ) практикой (профилир...

Почему проверять результат вызова malloc c помощью assert плохая идея Указатель, который вернула функция malloc, необходимо проверить перед использованием. Неправильным решением будет использовать для этого макрос assert. В этой статье мы разберём, почему это является антипаттерном. Читать дальше →

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

Выдержит ли проверку временем Twisted Metal 2? Если спросить у увлечённых геймеров, какие они знают самые культовые гонки на выживание прошлого, то большинство назовёт Carmageddon, Vigilante 8 (самые олдфажные – Quarantine) и, конечно же, Twisted Metal. И если про первую я уже писал обзор, то про оставшиеся три – лишь пр...

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

Взлом вашей первой программы Наша задача - сделать так, чтобы программа выводила "Good" в независимости от того, что пользователь ввёл в поле пароля. Если вы захотели декомпилировать данную программу, закинув EXE-файл в программу по типу dotPeek или ILSpy, то у вас ничего не выйдет. Ведь данная программ...

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

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