Pull to refresh
40
0

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

Send message

Зачем Python нужен Гейм-Дизайнерам

Level of difficultyEasy
Reading time3 min
Views2.8K

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

Зачем все таки...

Вышло крупное обновление Charon / 2025.1.1

Reading time5 min
Views956

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

Аналогом являются Articy Draft или CastleDB.

Читать далее

Самые опасные сетевые порты: как найти и закрыть все лазейки

Reading time7 min
Views38K

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

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

10 лучших практик логирования в Python

Level of difficultyEasy
Reading time19 min
Views42K

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

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

Читать далее

Сити-ферма: майним зелень в подвале

Level of difficultyEasy
Reading time9 min
Views22K

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

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

Мы посетили сити-ферму в подвале — новый проект ребят LedFarm.by, которые знакомы читателям теплицей на Linux.

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

Читать далее

Самый быстрый поиск пути на Go без аллокаций и СМС

Reading time10 min
Views11K

Алгоритмы важны. Но реализовать их можно очень по-разному.


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


Любите оптимизации, специализированные структуры данных и трюки с битами? Тогда скорее под кат!


Читать дальше →

Построение пайплайна обработки данных в реальном времени с использованием Python

Level of difficultyHard
Reading time11 min
Views9.6K

Привет, Хабр!

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

В этой статье мы рассмотрим как построить пайплайн обработки данных в реальном времени с использованием Python.

Читать далее

Проектирование веб-приложений с помощью Python и Flask

Reading time8 min
Views19K

Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный директор курсов по Python в Skillbox, СЕО Forkway и автор канала Python — учим и работаем

Читать далее

Решаем задачу по взаимодействию микросервисов на Python тремя способами

Level of difficultyEasy
Reading time6 min
Views18K

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

Gitea + Drone + Nginx + Portainer. Пошаговое руководство по деплою аналога github на своём железе

Reading time8 min
Views20K

В данном туториале я расскажу вам как можно задеплоить gitea на своём железе с использованием docker-compose подключить drone, для возможности автоматизации тестирования и доставки собственных приложений, настроить reverse-proxy через nginx для доступа через сеть и включить portainer для мониторинга запущенных контейнеров.

Читать далее

YouTubeDrive: хранение файлов на YouTube

Reading time9 min
Views41K


Хостинг неограниченного размера? Звучит как нечто фантастическое и невозможное по законам природы. Примерно как вечный двигатель. Но что, если такое возможно? (не вечный двигатель, конечно, а неограниченный хостинг).

Если подумать, ведь бесплатное хранилище неограниченного размера предоставляют десятки интернет-сервисов, от соцсетей до фотохостингов. Например, ограничение YouTube на размер одного видеоролика — 12 часов или 256 ГБ, но на количество видеороликов ограничений нет.
Читать дальше →

Главный цикл в пошаговых играх

Level of difficultyMedium
Reading time12 min
Views14K

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

Читать далее

Как настроить быстрый персональный VPN в Azure

Reading time3 min
Views13K

Всем привет! Я расскажу о том как в течении 10 минут создать личный VPN сервер в нужном регионе.

Очевидно, что для настройки потребуется доступ к Azure. Я сделал такой доступ через Azure Benefit (google 'how to activate azure benefit for msdn subscribers'). В марте-апреле этого года данная штука активировалась для жителей нашей страны, а вот в этом месяце с этим как мне сказали уже есть проблемы. В таком случае - обращайтесь к друзьям с доступом к Azure.

В статье будет максимально простая инструкция с большим количеством картинок.

Читать далее

«Exploring in UE4» Принципы передвижения персонажа (часть 1)

Reading time19 min
Views13K

Привет, Хабр! Представляю вашем вниманию перевод первой части статьи《Exploring in UE4》移动组件详解[原理分析](2019.7.14更新).

Машинный перевод статьи на английском языке "Exploring in UE4" game character movement principle (part 1)

1. Глубокое понимания компонентов передвижения.

В большинстве игр, движение игрока является базовой операцией. Даже если нет так называемого «игрока», то должны быть какие-то объекты, которыми вы можете управлять или которыми управляет ИИ.

GamePlay фреймворк от UE4 предоставляет разработчикам отличное решение для реализации передвижения. Поскольку UE использует компонентную идеологию проектирования (т.е. разделение и инкапсуляция различных функций в конкретные компоненты), основные функции этого решения полностью реализованы в компонентах. Логика передвижения будет обрабатываться по-разному в зависимости от сложности игры. Если это простая игра жанра RTS с видом сверху, она может обеспечивать только базовое движение по координатам. В RPG от первого лица игрок может улететь в небо. Для пикирования в полете требуется более сложное движение. Но, независимо от типа полета, UE помогает нам реализовать его, преимущественно из-за его предыдущего опыта разработки FPS игр.

Читать далее

Модель игрового цикла: как устроены хорошие игры

Reading time23 min
Views25K

Потешу своё геймдизайнерское самолюбие и скажу, что у разработки игр и искусства много общего: ни та, ни другая область в достаточной мере не формализована и не изучена с научной точки зрения. Хотя попытки были: взять, к примеру, труд Иосифа Шиллингера «Математические основы искусств» из первой половины XX века.

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

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

Читать далее

Простые инкрементальные бэкапы в Linux с помощью TAR и GPG

Reading time3 min
Views15K

Мой скрипт, с помощью которого я делаю бэкапы в Linux

Обожаю UNIX-way, тут бэкапы можно делать значительно более гибкими.

Для бэкапа home директории я использую обычный tar с инкрементацией и шифрую его своим gpg ключом.

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

Читать далее

Основы Интерактивных карт

Reading time7 min
Views37K

Для визуализации интерактивных карт рассмотрим библиотеку - Folium.

Folium — это мощная библиотека визуализации данных в Python, которая была создана в первую очередь для того, чтобы помочь людям визуализировать гео-пространственные данные.

Folium - это библиотека с открытым исходным кодом, созданная на основе возможностей Datawrangling экосистемы.

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

Также можете создать карту и наложить маркеры, а также кластеры маркеров поверх карты для крутых и очень интересных визуализаций.

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

На официальной странице документации Folium:

Читать далее

Как правильно верстать в 2022 году. Часть 2. Как правильно вкладывать теги друг в друга

Reading time4 min
Views22K

Меня зовут Николай и я Frontend-разработчик в логистическом стартапе Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.

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

Читать далее

Парсинг для взрослых или Инфраструктура для промышленного парсинга

Reading time7 min
Views20K

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

Читать далее

Dart, Flutter и кроссплатформа: небольшой разбор на практике

Reading time11 min
Views16K

Кто-нибудь пробовал использовать Dart / Flutter как на клиенте на нескольких платформах, так и в качестве сервера? Кто-то, конечно. пробовал, хотя далеко не каждый за этим приходил к Flutter. Я на своём pet-проекте провёл такой эксперимент, и хотел бы поделиться результатами и выводами.

Читать далее
1
23 ...

Information

Rating
Does not participate
Location
Чернигов, Черниговская обл., Украина
Date of birth
Registered
Activity