Как стать автором
Обновить
43
0
Imposeren @Imposeren

Пользователь

Отправить сообщение

9 библиотек Python для разработки игр

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


Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

image
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии7

Клубничная чудо-коробка 2.0. Первая часть

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

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

Читать далее
Всего голосов 107: ↑104 и ↓3+101
Комментарии63

Доказательная медицина в оториноларингологии за последние 10 лет (мифы и что вы не знали про это)

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

Этот актёр часто используется как наглядное пособие. В настоящий момент у его персонажа подозрение на искривление перегородки носа.

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

Для примера, если при гайморите предлагают схему «рентген — пункция — антибиотики», то поздравляю, вы в надёжных руках врача образца мышления 2010 года. В 2020-х уже гораздо чаще назначается домашнее промывание (не «кукушка»), безрецептурные анальгетики и интраназальные глюкокортикоиды.

Всего за 10 лет поменялись и технологии, и подход. Вот примеры изменений:

  1. Больше нет операций вслепую. Аденоиды удаляют с помощью эндоскопа: так нет риска повредить трубные валики, создать грубые рубцы или оставить часть лимфоидной ткани. Под контролем камеры проводят также септопластику.
  2. Септопластика избавилась от большей части ада после операции: например, марлевые тампоны, которыми фаршировали пациента через нос, заменены на адекватные силиконовые трубки, которые дают возможность дышать и спокойно их доставать из носа.
  3. Сильно изменились показания к антибиотикам.
  4. Ларингит не лечат ингаляциями минералки и «пшикалками». Потому что доказано, они ни разу не помогают. Но зато могут спровоцировать удушье. Современный рецепт — голосовой покой и много воды.
  5. Отит — это не кабинет физиотерапии и синяя лампа над ухом, а капли и таблетки по рецепту. Уже доказано, УФ-лучи не проникают вглубь барабанной перепонки и не локализуют воспаление.
  6. Классический рентген по любому поводу тоже ушёл в прошлое, на практике используется КТ, в частности позволяющее видеть воспаления в клиновидных пазухах.

Читать дальше →
Всего голосов 83: ↑81 и ↓2+79
Комментарии87

Простое объяснение симуляции жидкости в реальном времени

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

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

Код проекта можно найти на моём Github.


Ресурсы, посвящённые симуляции жидкостей, могут быть очень пугающими. Помню, что когда я впервые прочитал статью о ней и увидел уравнения Навье-Стокса, то был в ужасе. Со временем я понял, что сама тема совершенно не сложна. На самом деле, если бы вам дали задачу написать собственный симулятор жидкостей, то вы, вероятно, написали бы что-то подобное на основании интуитивного понимания работы жидкостей. Если, посмотрев на уравнения Навье-Стокса, вы подумали «ага, понятно», то вы, возможно, быстрее бы реализовали симуляцию жидкости, прочитав работы, перечисленные в конце этой статьи. Я же попытаюсь не использовать сжатое выражение и объяснять всё как можно медленнее.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии8

ZFS таинственным образом поедает мой CPU

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


Отдел микросервисов Netflix обратился ко мне за помощью с загадочной проблемой. Они заявили, что у них на сервере файловая система ZFS потребляет 30% CPU. Я рассказывал об этом на конференции Kernel Recipes 2017 — да, это старая история… но её стоит рассказать ещё раз.

Постановка задачи


Этот микросервис предназначен для сбора метрик. Недавно ребята обновились на новый образ ОС (BaseAMI) — и после этого заявили, что ZFS начала потреблять более 30% ресурса CPU. Первым делом я подумал, что они ошиблись: я лично разрабатывал системные компоненты ZFS в компании Sun Microsystems — и файловая система ну никак не могла настолько загружать процессор.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии28

ТОП 10 ошибок при постройке СЭС, по результатам осмотра 100 дСЭС

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

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

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии31

Эффективное геометрическое хеширование пространства признаков для быстрого точного поиска наиболее близких дескрипторов

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

Партицирование таблиц в PostgreSQL: чек-лист для старта

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

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии31

13 заметок о 3D-печати, после 3 лет владения 3D-принтером

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

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

В рамках этой статьи я хочу изложить свои наблюдения, как непосредственного владельца 3D-принтера, в течение более чем 3 лет.
Читать дальше →
Всего голосов 129: ↑127 и ↓2+125
Комментарии172

Компиляция Python

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

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

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

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

И, наконец, хочется,  чтобы конечное приложение работало быстрее, чем в среде разработки.

И вот тут настало время скомпилировать Python-код.

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии21

Моя клубничная чудо-коробка

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

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

Читать далее
Всего голосов 172: ↑172 и ↓0+172
Комментарии106

Попытка спасти спорт, изменив то, как мы его смотрим

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

Будучи фанатом NBA (Национальная баскетбольная ассоциация), я тщательно слежу за новостями из-за океана: игры, обмены игроками, слухи и прочее. Но, как инженера, меня также привлекают различные прогнозы на основе математического анализа, статистические показатели, которые влияют на игру. Еще интересней, как информационные технологии меняют спорт. Дальше я расскажу, как один владелец команды из мира IT попытался поменять восприятие зрителями НБА на обычную ТВ-трансляцию.

Читать далее
Всего голосов 51: ↑51 и ↓0+51
Комментарии17

UUID версии 7, или как не потеряться во времени при создании идентификатора

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

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

Хотя, подобные решения, не всегда хороши. В отличие от обыкновенных цифровых значений, которые легко кешировать и сортировать, UUID не так гибки в использовании. UUID версии 7 предназначен как раз для того, чтобы разобраться с подобными проблемами.

Добро пожаловать в мир сортированых UUID
Всего голосов 38: ↑37 и ↓1+36
Комментарии176

Подборка бесплатных ассетов для разработки игры

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

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

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

Ранее на DTF уже выходили подборки ассетов. К примеру, Арсений Мирный опубликовал список полезных ресурсов для поиска ассетов. Есть подборка от Дмитрия Чикалова, который упомянул не только библиотеки, но и полезные медиа-ресурсы. Иван Михайлов в своём внушительном списке программ для разработчиков также рассказал про библиотеки ассетов.

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

Этот материал написан в поддержку нашего инди-джема, в котором ещё можно успеть поучаствовать.

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

Преобразуем миры Minecraft в трёхмерные фотореалистичные сцены с помощью нейросетей

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


Мы представляем GANcraft — работающий без участия человека фреймворк нейронного рендеринга для генерации фотореалистичных изображений больших миров из 3D-блоков, например, таких, которые созданы в Minecraft. Наша система получает на входе мир из семантических блоков, в котором каждому блоку назначена метка, например, «земля», «дерево», «трава», «песок» или «вода».

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

Кроме позиции камеры, GANcraft позволяет пользователю задавать семантику и стиль сцены.
Всего голосов 28: ↑27 и ↓1+26
Комментарии8

Мониторинг и настройка сетевого стека Linux: получение данных

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


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

Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Читать дальше →
Всего голосов 63: ↑60 и ↓3+57
Комментарии8

Настройка сетевого стека Linux для высоконагруженных систем

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

Сетевой стек — одна из самых запутанных вещей в Linux. И не только из-за сложности некоторых концепций и терминов, но и из-за изменения смысла некоторых параметров в разных версиях ядра. В этой статье приведена информация для ядра 2.2 и выше, а также, там где это возможно, указано различие между версиями вплоть до 5.5.

О том как изменять параметры ядра, описываемые здесь, можно прочитать в статье Linux Kernel Tuning for High Performance Networking: Configuring Kernel Settings.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии7

Почему мы отказались от стандартных теней Unity для мобильных шутеров и вместо этого написали свои

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

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

Сегодня мы расскажем, как в геймдеве делаются тени — в реальном времени и статичные. В своих проектах War Robots и Dino Squad мы используем сразу несколько техник — им и уделим особое внимание.

Читать далее
Всего голосов 32: ↑31 и ↓1+30
Комментарии11

Я купил 300 казахских доменных имён с эмодзи и создал свой почтовый сервис

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

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

В наше время и дня не проживёшь, чтобы не столкнуться в Интернете с каким-нибудь эмодзи, но вот домены подобного рода мне до сих пор не попадались. И мне стало интересно: а можно ли зарегистрировать такой домен?
Читать дальше →
Всего голосов 99: ↑98 и ↓1+97
Комментарии80

Иллюзии мозга. Когнитивные искажения из-за переизбытка информации

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


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

В работе с широкими массами профессионалы используют способы обхода механизма цензуры, который в мозге фильтрует информацию, поступающего из внешнего мира. Например, если усилить информацию эмоционально, то вербальное или невербальное послание легче пройдёт встроенные фильтры сознания и надолго сохранится в памяти потребителя информации.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии32
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность