Ответы пользователя по тегу Python
  • Discord.py bot удалить категорию?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Ответ написан
    Комментировать
  • Python: можно ли в модуль импортировать обычный текстовый файл json?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Нельзя и не надо так делать.

    Но если очень хочется, то можно: https://github.com/kragniz/json-sempai
    Ответ написан
    Комментировать
  • Что написать для пополнения портфолио?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Для портфолио подойдёт любой внедрённый проект: сайт с посещениями, бот с пользователями, игра с игроками, etc.

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

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

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

    Рекомендовать более точные темы сложно, поскольку не указано чем конкретно хотите заниматься (в какой области хотябы: веб, машинное обучение, офлайн по, etc).

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

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    Бэкендеров в геймдеве не хватает: днём с огнём не сыщешь, иди. Может даже денег дадут хороших.
    Для большого количества игр бэкенд ничем не отличается от обычного сайта, разве что страницы рендерить не надо. Вообще, игровая логика — не самый большой кусок сервера, когда она на нём делается.
    Геймдев ничем не отличается от любой другой разработки. Это просто миф. Всё те же проблемы, всё те же критерии. Разве что работники менее дисциплинированные, но это от команды зависит.
    На питоне вполне неплохо пилят сервера (как непосредственно игровые, так и инфраструктурные). Wargaming не жалуется. На клиенте Python тоже есть (в тех же танках, например), но в индустри используется не так активно.

    Pygame — мало кто использует, это скорее привет из прошлого для туториалов. Но можно найти движки с биндигами питона.
    Ответ написан
    Комментировать
  • Имеет ли смысл писать игры вроде terraria,crypt of the necrodancer и т.д. на python(pygame)?

    Tiendil
    @Tiendil
    Разработчик ПО.
    terraria,crypt of the necrodancer

    Это очень разные технически игры. Crypt of the necrodancer вполне можно полностью на питоне делать.

    С Террарией могут быть проблемы с производительностью из-за механик (сложная модель мира, много обсчитывать). Может потребоваться переписать логику на чём-то более производительном (на плюсах, например). Но рабочий прототип на чистом питоне можно будет сделать.

    Тут правильно советуют готовые движки, у Python с ними не очень хорошо. Можно попробовать Godot, он позволяет использовать Python для описания логики. Или Kivy - движок не игровой, но для некоторых игр сгодится.

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    Это вопрос тут раз в месяц появляется.

    Сервера WoT на Python с большего, видимо можно.
    Ответ написан
    Комментировать
  • Какую python3-библиотеку для работы с github api Вы посоветуете?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Подозреваю, все эти библиотеки хостятся на гитхабе. Посмотрите размер сообщества (по звёздочкам, форкам). У какой больше, ту и берите.
    Ответ написан
    Комментировать
  • Кому проще устроиться?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Проще всего устроиться джуниору с мозгом, всё остальное вторично.
    Ответ написан
    Комментировать
  • Так у чего производительность выше и вероятность успешного завершения проекта у node.js или Python?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Главный фактор, влияющий на все Ваши вопросы — опыт команды «вообще» и с конкретной технологией в частности.

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

    С точки зрения Python vs Node могу только сказать, что, на мой взгляд, средний программист на Python грамотнее среднего программиста на Node, поскольку среди последних много фронтэндщиков, которые с серверами работали мало.

    Ничего более конкретного на свормулированный таким образом вопрос ответить скорее всего нельзя.
    Ответ написан
    2 комментария
  • Где найти Open Sourse проекты?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Присоединяйся к разработке the-tale.org

    Все исходники открыты: https://github.com/Tiendil/the-tale

    Берёшь задачу делаешь, делаешь пул-реквест, получаешь критику, пока всё правильно не будет сделано, и код попадает в рабочий проект.

    В вики на гитхабе рассказано подробнее.
    Ответ написан
    Комментировать
  • Как реализовать НЕ рентгеновское зрение "врагов" в игре?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Не нужно ничего вырезать.

    Берёте все ключевые точки в области видимости (врагов, друзей, лут, ещё что-то) и проверяете есть ли препятствия на линии между ними и ботом. Т.е. проверяете, пересекает ли линия какое-либо препятствие. Если пересекает, то бот точку не видит.
    Ответ написан
    2 комментария
  • Возможно ли разработать конкурентно способную 2-d игру написанную на Python ( pygame)?

    Tiendil
    @Tiendil
    Разработчик ПО.
    БольшАя часть цивилизации 4 написана на питоне.
    БОльшая часть WoT написана на питоне.

    Так что вполне возможно. Наверняка есть биндинги для популярных графических библиотек/движков.
    Ответ написан
    Комментировать
  • Как сделать глобальный Enum в Python 2.7?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Посмотрите эту библиотеку: https://pypi.python.org/pypi?name=Rels&version=0.2...
    Ответ написан
    Комментировать
  • В чем преимущество динамически типизированных языков?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Преимущество у динамически типизированных языков, конечно, не в синтаксисе, а в семантике.

    Благодаря определению типов во время исполнения программы сильно облегчается метапрограммирование. Очень сильно облегчается. Оно, в свою очередь, упрощает всю остальную работу.

    Благодаря гибкости кода в рантайме (см. тот же duck typing) и интроспекции (анализ свойств объектов и кода) получается на порядок проще и быстрее писать универсальные алгоритмы и конструкции вроде декораторов, всяческих ORM и подобных вещей. Это сильно упрощает интерфейсы библиотек, что в совокупности ведёт к более простому коду и к плавной кривой обучения новичков.

    Из моей практики (5 лет писал на C++, потом столько же на Python, эти сроки немного пересекались) могу сказать, что с точки зрения ошибок типизации (а собственно их и ставят в недостаток динамически типизированным языкам) разница минимальна — они очень редки и все отлавливаются автоматическими тестами. Конечно, если у вас руки откуда надо растут, а если не откуда надо, то эти ошибки будут далеко не самой большой проблемой. Поэтому в области разработки софта, не требовательного к производительности, такие языки рулят.

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

    В итоге мы получаем классическую дилемму: повышение уровня абстракции против повышения уровня специализации. У каждого пути есть свои плюсы и минусы.

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    1. постмодерация — разрешите пользователям жаловаться на сообщения и реагируйте по факту жалоб.
    2. существуют системы, автоматически определяющие тон сообщения и тематику, их можно научить автоматически блокировать подозрительные сообщения.

    Обычно используют два этих способа. Начинают с первого и постепенно внедряют второй. Для второго 100% есть сервисы, уже реализующие нужный функционал, но они могут быть дороги. Альтернатива — разработать что-то своё, но нужен эксперт по анализу данных.
    Ответ написан
    2 комментария
  • Какие существуют специализации на python'е?

    Tiendil
    @Tiendil
    Разработчик ПО.
    >какие технологии нужны, чтобы набрать в этой области full-stack.
    Этот термин относится в основном в вебу, в других областях он редко применяется. И предполгает владение разными технологиями (включая языки), а не каким-то набором технологий на одном языке.

    По поводу вакансий. Wargaming, для примера, перманентно ищет питонистов для всего: от веба и автоматизации, до разработки серверов танков. Вообще, в геймдеве в AAA проектах питон довольно часто применяется.

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    Присоединяйся к разработке the-tale.org

    Все исходники открыты: https://github.com/Tiendil/the-tale

    Берёшь задачу делаешь, делаешь пул-реквест, получаешь критику, пока всё правильно не будет сделано, и код попадает в рабочий проект.

    В вики на гитхабе рассказано подробнее.
    Ответ написан
    3 комментария
  • Как произвести проверку входных данных Python?

    Tiendil
    @Tiendil
    Разработчик ПО.
    try:
        vibor = int(vibor)
    except ValueError:
        print u'неверный формат данных'
        exit()
    Ответ написан
    2 комментария
  • Где взять практические задачи?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Напишите пару мелких игрушек, хотя бы тетрис или змейку. Но полноценные: с интерфейсом, конфигурацией, сохранениями, звуком и так далее.

    В процессе потыкаетесь в кучу разных областей.
    Ответ написан
    Комментировать
  • Как организовать шаблонизатор на Python?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Чем готовые шаблонизаторы не устраивают? Вот, например, jinja.pocoo.org/docs/dev

    Код будет выглядеть примерно так: {{rand(3, 10)}} {{randline("bla-bla")}}

    Вместо {{ и }} можно настроить использование любых других сиволов
    Ответ написан
    2 комментария