Это руководство описывает развёртывание HTTPS-прокси с помощью dumbproxy на практически любом Linux-сервере. Потребуется только curl и рутовый доступ.
Пользователь
5 мини-ноутбуков конца лета 2022 года: модульность, портативность и производительность
Ноутбуки — отличный инструмент для многих представителей IT-индустрии. В целом, где ноутбук, там и твое рабочее место — в большинстве случаев это действительно так. Конечно, большую роль играет размер девайса, его производительность и некоторые другие критерии. В некоторых ситуациях большим плюсом является портативность, и в эту подборку попали как раз небольшие устройства. О большинстве из них мало кто знает, при том, что ряд моделей — модульные, что ценится многими пользователями. Давайте посмотрим, что это за девайсы.
За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS
Статья будет полезна разработчикам B2B-приложений для iOS, которые хотят разбавить свои инструменты новыми фичами, а также для product owner-ов и бэкенд-разработчиков, которые хотят поддержать взаимодействие с мобильными устройствами.
Медицинский детектив: как я разрабатывал матмодель и софт для хирургии по пересборке черепа
Изначально моей подзадачей в этом процессе была пересборка человеческих челюстей в анатомически-правильное положение. До нас задачу решал хирург-человек, полагаясь фактически на визуальные ориентиры. Это давало быстрый хороший эффект, но не всегда он сохранялся спустя годы. Чтобы решить задачу правильно, нужно было найти оптимум на стыке трёх специализаций, включая математику. И, увы, до нас почему-то никто такую команду не собирал.
Проблема в том, что хирург фактически не знает точно, куда ровнять лицо. Он выравнивает так, как считает правильным «здесь и сейчас». Это часто ведёт к осложнениям спустя годы, про которые этот самый хирург чаще всего не знает.
Мы разработали новый протокол операции. Через 3 года прошла первая операция.
В старом протоколе хирург бы снял слепки зубов, разместил бы модель фрагментов пациента в артикулятор и подготовил бы набор ручных вмешательств. Наша методика расчёта показала, что то, что мы всегда считали «визуально правильным», таким не является. Мы долго проектировали ту операцию за матмоделями, проверяя, что будет с костями. Во время операции хирург открывал мягкие ткани, ставил навигационный шаблон на костную ткань, перекраивал кости под новыми углами. Углы, под которыми скреплялись кости, выглядели контринтуитивно. Их рассчитывала матмодель на основе КТ и фотограмметрии. Она же дала сверхточную навигацию: ничего не делалось вручную, только по трёхмерной координатной привязке. Хирург быстро разрезал, поставил шаблоны, наложил пластины, скрепил пластины в расчётных точках. Что-то похожее я видел в ролике к игре Deus Ex. Хирург во время самой операции был лишь исполнителем своей заранее созданной программы.
Пациент восстановился за 4 месяца. Старый протокол подразумевал, что общее время лечения будет длиться 30 месяцев, а с этим протоколом мы сократили общее время лечения до 4–12 месяцев.
Сегодня эта операция стала новым стандартом сферы.
Потому что мы поставили под сомнение догму.
Нет HUD’а без добра: HUD в игровых интерфейсах
В играх существует огромное количество интерфейсов: инвентарь, диалоги, меню крафта и торговли, лобби, карта, деревья прокачки персонажа и его экипировки и многие другие. Все они позволяют игрокам взаимодействовать с представленными через интерфейс механиками, которые создатели игры заложили в свой продукт. И в этой статье мы подробно разберем один из самых важных элементов игрового UI: HUD (heads-up display).
HUD, если рассматривать его как цельный, самостоятельный интерфейс, может включать в себя множество различных элементов: полоски здоровья и стамины, указатели направления, метки в мире, различные диегетические элементы и мета-интерфейсы — все, что требуется для непосредственно игры в игру в зависимости от ее жанра, геймплея, набора задач и игровых ситуаций, которые необходимо решить с помощью HUD.
Все элементы HUD по сути являются отдельными интерфейсами, каждый из которых существует для передачи игроку информации определенного типа и решения своей уникальной задачи. При этом HUD, полностью или частично, практически всегда находится непосредственно перед глазами игрока, так как все его элементы отображаются на переднем плане геймплея и/или в игровом мире во время игры.
В этой статье мы поговорим лишь о нескольких базовых вещах, касающихся игрового HUD, а в последующих — уйдем в тему глубже.
Простое развёртывание сетевой лабы на базе контейнеров
Часто сетевая лаба представляет собой довольно сложную конструкцию, состоящую из множества устройств, соединенных между собой. В этом помогает виртуализация, благо всякие маршрутизаторы и т.п. могут запускаться в виде контейнеров (скажем, Quagga) или виртуальных машин (здесь я рассмотрю Mikrotik).
Тем не менее развернуть лабу из нескольких устройств с множеством сетевых интерфейсов и подключений, к примеру, для проверки BGP, в том числе между устройствами разных производителей, задача нетривиальная. Можно, конечно, писать плейбуки Ansible для развертывания виртуалок на ESXi и последующей конфигурации устройств, но это само по себе достойная задача. Может быть что-то с vagrant изобразить…
Но недавно я узнал о проекте ContainerLab.dev и весьма впечатлился. Попробовал, оценил, впечатлился еще больше. Полез на Хабр почитать тонкости и хитрости, но, к удивлению, не нашел ни единого поста на эту тему.
Решил исправить. Вдруг кому-то еще облегчит жизнь.
Руководство по CMake для разработчиков C++ библиотек
Данное руководство позволит читателю составить полную картину того, как организовать сборку C++ библиотек с использованием современных возможностей CMake. Предполагается, что читатель имеет представление о базовых понятиях из мира CMake и динамических/статических C++ библиотек, так как в руководстве они могут не объясняться.
Как написать «Змейку» в четыре переменные?
Пишем классическую «Змейку», как на КДПВ, в четыре переменные. По словам автора, «Можно написать и с двумя, но зачем осложнять себе жизнь?» К старту курса по разработке на С++ приглашаем под кат.
Private LTE: почему этим заменяют промышленный Wi-Fi, BLE, LoRa на российских предприятиях
Когда связисты разрабатывали стандарты LTE, они сразу подумали про массовое применение для любой беспроводной связи по всей планете. Поэтому внутрь «большого» LTE попадал, например, стандарт NB-IoT для энергоэффективной передачи с одной маленькой батарейки лет так пять подряд (ближайший аналог — BLE), — старый добрый стандарт раций «нажми на кнопку и говори» на случай отказа ядра сети и так далее.
Бум Private LTE (pLTE) в России начался примерно пару лет назад, а первое внедрение — около трёх лет назад. Фактически предприятиям нужен стандарт связи, который отлично подходит для работы с кучей терминалов от датчиков оборудования до диспетчерской связи. Естественно, там, где это возможно, используется старый добрый Ethernet, но есть места типа плавильных цехов, куда кабель либо нельзя прокинуть, либо очень сложно, и места вроде дронов или других подвижных частей оборудования, куда кабель не закинуть вообще. Когда датчиков уже становится много, точно нужна беспроводная сеть.
Коротко, pLTE — это закрытый контур (трафик не выходит за границы предприятия), сразу несколько стандартов связи внутри зоны действия базовых станций, аппаратная или виртуальная симка на каждом терминале, выделение «своих» лицензируемых частот от оператора и интеграция с СОРМ. Практически вы получаете всё нужное беспроводное (пять разных применений) за цену промышленного вай-фая, но есть нюансы.
Собственно, сейчас про эти нюансы я и расскажу.
Как работают регулярные выражения, или Движок regex с анимацией
К старту курса по Fullstack-разработке на Python показываем, как работают регулярные выражения, на примере их движка с визуализацией, которую вы видите на КДПВ. Под катом подробности и код.
Китайские феи, или немного о «PIXIE»
В радиолюбительском разнообразии имеется направление работы в эфире малой мощностью - QRP, т.е. с мощностью передатчика менее 10 Ватт. Но есть увлеченные радиолюбители, работающие в эфире мощностями менее 1 Ватта и при этом проводящие связи с корреспондентами, удаленными на тысячи километров.
Среди этой категории радиолюбителей очень популярны схемы трансиверов на основе простого трансивера "PIXIE", о его китайских клонах и разновидностях и пойдет речь в моем мини-обзоре.
Крошечная библиотека TFT для микроконтроллеров ATtiny
В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.
Beyond URL and URN
Рыская по интернетам, зашел на страницу про URI и спустя несколько часов осознал, как мало я знал об этом монстре. Признаюсь, до этого я думал, что URI это либо URL, либо URN. Но это не так! Есть и другие варианты идентификации ресурса в сети.
В одной лодке с «ублюдком»: 11 продвинутых советов по использованию Git
*"ублюдок" — вольный перевод слова "git" — "an unpleasant or contemptible person", "неприятный или презренный человек".
В комментариях к статье 15 базовых советов по Git для эффективной работы каждый день развернулась дискуссия на тему эффективности использования тех или иных команд и опций. Надо признать, что git
предоставляет столько различного функционала, что во-первых, за всем становится невозможно уследить, а во-вторых, его можно совершенно по-разному вписывать в рабочий процесс.
Давайте посмотрим, что можно использовать, чтобы улучшить себе жизнь. Статья предполагает, что читатель умеет пользоваться основными возможностями git
и понимает что делает, когда, скажем, вводит в консоль git rebase --merge --autostash
.
Как работает рендеринг 3D-игр: освещение и тени
Часть 1: обработка вершин
Часть 2: растеризация и трассировка лучей
Часть 3: текстурирование и фильтрация текстур
Вспомним пройденное
Ранее мы рассматривали ключевые аспекты перемещения и обработки объектов в сценах, их преобразования из трёхмерного пространства в плоскую сетку пикселей, а также способы наложения текстур на эти объекты. В течение многих лет такие операции составляли основную часть процесса рендеринга, и мы можем увидеть это, вернувшись в 1993 год и запустив Doom компании id Software.
По современным стандартам использование света и тени в этой игре было очень примитивным: источники освещения не учитывались, каждой поверхности на основании её вершин давалось общее значение цвета или значение освещённости окружения. Все признаки теней создавались благодаря хитрому использованию текстур и выбору цвета окружения.
Теней не было, потому что они не входили в задачу программистов: PC того времени представлял собой процессор на 66 МГц (то есть на 0,066 ГГц!), жёсткий диск на 40 МБ и 512-килобайтную графическую карту с минимальными 3D-возможностями. Перенесёмся на 23 вперёд: в знаменитой перезагрузке серии мы видим совершенно другую историю.
Для рендеринга этого кадра использовалось множество технологий, он может похвастаться такими этапами, как screen space ambient occlusion, pre-pass depth mapping, фильтры размытия боке, операторы тональной коррекции, и так далее. Расчёт освещения и затенения каждой поверхности выполняется динамически: они постоянно изменяются в зависимости от условий окружающей среды и действий игрока.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность