Рубрика «python» - 51

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

Создание процедурной анимации смерти при помощи автоматов падающего песка - 1

Автоматы падающего песка

Автомат падающего песка — это клеточный автомат, симулирующий перемещение песчинок и создание куч песка под действием гравитации.

Правила просты:

  • Если ячейка под песчинкой пуста, то песчинка движется в пустую ячейку (см. (a)).
  • Если ячейка под песчинкой заполнена, но свободна ячейка внизу слева или внизу справа, то песчинка движется туда (см. (b)). Если свободны обе, то одна из них выбирается случайным образом.
  • В остальных случаях песчинка не движется.

Читать полностью »

Новогодние бенчмарки компьютеров Эльбрус

LuaBenchmarks.png

Продолжение статьи Большое тестирование процессоров различных архитектур. В этот раз я решил измерить производительность конкретных сред/языков программирования (C#, Java, JavaScript, Python, Lua) на компьютерах с процессорами Эльбрус и сравнить их с компьютерами (даже телефонами) на процессорах архитектурой ARM и X86-64.

Языки программирования:

  • C#
  • PHP
  • JavaScript (Browser, не NodeJS)
  • Java
  • Python
  • Lua

Список тестов

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

Читать полностью »

Привет.

Продолжим тему декодирования различных видов радиосигналов. Одним из интересных форматов, разработанных еще в прошлом веке, является APT (Automatic Picture Transmission). Он используется для передачи изображений Земли из космоса, и что для нас гораздо более интересно и актуально, прием сигналов APT прост и доступен радиолюбителям.

Декодируем сигнал метеоспутника NOAA в 50 строчек кода - 1
Спутник NOAA © en.wikipedia.org/wiki/NOAA-15

Для тех, кому интересно, продолжение под катом.Читать полностью »

Приветъ Хабр
Приветъ Хабр

Всем добрейшего дня! Совсем недавно закончилось ежегодное международное соревнование AI Contest, организатором которого является Сбер вместе с российскими и зарубежными партнёрами в рамках конференции Artificial Intelligence Journey. Задачи этого года: Digital Петр: распознавание рукописей Петра I, NoFloodWithAI: паводки на реке Амур и AI 4 Humanities: ruGPT-3Читать полностью »

Я единственный из 1400, или самый крутой рекрутинг, что я проходил - 1

Я уже лет 10 пишу код на питоне, и последние 2.5 года стабильно работал на американскую компанию. Наверно, многим знакома история, когда ты кодишь-кодишь, вроде всё неплохо, и внезапно ты - самый знающий и опытный в команде и добро пожаловать в тим лиды. Астрологи объявили неделю менеджмента, количество кода снизилось на 100%.

Читать полностью »

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри - 1

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

Под катом рассмотрим используемые инструменты, а потом перейдём к примеру реализации.
Читать полностью »

Rust глазами Python-разработчика - 1

Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу новостей, и мы сделали это на Rust.

В статье мы расскажем о том, что заставило нас отойти от привычного стека технологий, и покажем, какие плюсы по сравнению с Python есть у Rust.

Мы не ответим на вопрос, почему выбор пал именно на Rust, а не Go, например, или на какой-либо другой язык. Также мы не будем сравнивать производительность Python- и Rust-приложений – эти темы достойны отдельного обсуждения.

Читать полностью »

10 полезных советов для начинающих изучать Django - 1

1. Используйте относительные пути в конфигурации

Не задавайте абсолютный путь в settings.py, это будет полезно, если вы будете в дальнейшем запускать проект из разных расположений, например при развертывании на другом веб-сервере, у которого пути будут другими. Используйте следующий код в settings.py если ваши шаблоны и статические файлы расположены внутри каталога проекта Django:

# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)

Читать полностью »

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим:

  • Причины появления утечек в Python-приложениях.

  • Доступные инструменты для отладки и мониторинга работающего приложения.

  • Общую методику поиска утечек памяти.

Читать полностью »

Типовые ошибки на собеседовании - 1

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js