• Будет ли обновления интерфейса django admin?

    Tiendil
    @Tiendil
    Разработчик ПО.
    когда разработчики разрулят эту проблему на уровне самого фреймворка.

    Разработчики не собираются разруливать это, т.к. не считают «это» проблемой. Официальная позиция примерно такая:

    Админка джанго предназначена для разработчиков и только для разработчиков. Хотите что-то более крутое — пилите сами.
    Ответ написан
    Комментировать
  • Почему в России и СНГ так не популярен фреймворк Pyramid?

    Tiendil
    @Tiendil
    Разработчик ПО.
    В ней нет ничего, чего не было бы в Django.
    У Django больше сообщество, а значит лучше поддержка.
    От добра добра не ищут.

    А каким образом прописывать роуты или получать объекты из базы — разницы нет.
    Ответ написан
    2 комментария
  • Какие существуют методы извлечения Фамилии Имени Отчества из текста?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Должны существовать корпуса со списком всех имён/фамилий/отчеств. Как минимум, можно автоматически выбрать из википедии или dbpedia (структурированные данные из википедии).

    1. Находим корпуса или формируем свой.
    2. Делаем поиск на совпадение хотя бы с одним словом (лучше, на частичное совпадени — на случай опечаток и всяких склонений).
    3. Когда находим, выделяем окрестность слова (пара слов влево-вправо) и анализируем его эвристиками.
    Ответ написан
    Комментировать
  • Интересна ли платформа для разработки сайтов на C++?

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

    1. Основная задержка при обработке запросов к страницам сайтов идёт на обращение к сторонним сервисам (базам, кэшам и так далее), а не на роутинг, поэтому выигрыш в производительности будет не таким большим, как кажется (и хочется).
    2. Действительно тяжёлые вычислительные вещи и так пишутся на C++, легко встраиваясь в инфраструктуры традиционных веб-ЯП.
    3. Затраты на содержание команды C++/Lua программистов выше, чем на PHP/Perl/Python/Ruby + пару лишних серверов, если понадобится. Плюс, за этими языками ещё и инфраструктура гигантская стоит. Сроки разработки тоже не в пользу С++ программистов.
    4. Уже есть Go — он занимает как раз ту нишу, в которую вы целите.

    Резюме — не стоит. Это не ниша C++ — этот старый благородный ЯП имел достаточно времени, чтобы её занять и не занял.
    Ответ написан
  • Как реализовать логику с модели Django?

    Tiendil
    @Tiendil
    Разработчик ПО.
    >Подскажите, как или куда вы выносите логику модели, которая делает некие изминения над атрибутами модели при выводе?

    1. Расчёт rate в примере — это не совсем логика. Просто атрибут модели, который можно рассчитать, вместо того, чтобы хранить. Такие атрибуты вполне можно оставлять в модели.
    2. Именно логику (операции над моделями) лучше отделять от них — можно просто в отдельный модуль вынести. Либо в менеджер, если они низкоуровневые.
    3. Если объект, представляемый в модели, сложен (предполагает большое количество данных в разных форматах с кучей связанных объектов, необходимостью кэширования и так далее), то имеет смысл оставить модель представлять уровень БД (для общения с базой, миграций и так далее), а для представления объекта в логике реализовать отдельный класс, объекты которого будут инициализироваться данными из модели.
    Ответ написан
    Комментировать
  • Что нужно, чтобы стать разработчиком игр?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Нужно желание и знание ЯП.
    Разработка игр ничем принципиально не отличается от любой другой области. Особенно, с точки зрения программиста.

    Игры сейчас пишут на чём угодно и для чего угодно.
    Доля успешных проектов такая же как и для любой другой области — мизерная.
    Знание математики ещё никому нигде никогда не вредило. В играх, как и в большинстве другого софта, она в большей части проекта не нужна. Необходимый минимум легко гуглится.

    В СНГ это перспективно также, как и вне СНГ — рынок игр международный, для локальных рынков их делают единицы.

    Стоит или нет — решайте сами. Этот вопрос из разряда «нравится / не нравится».
    Ответ написан
    Комментировать
  • Монетизация игры HTML5 (web-browser и/или mobile native-wrapper) и анти-читинг. Реально?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Единственная надёжная защита от читов — проведение расчётов на собственном сервере. Всё остальное — лишняя трата веремени и денег.

    Варианты монетизации, в первую очередь, зависят от жанра и ЦА. Абстрактная игра монетизируется тоже абстрактно. Но основных подходов три:

    - продажа контента: шапки, уровни, петомцы.
    - продажа экономии времени: разного рода энергия, бонусные жизни.
    - продажа преимущества перед другими игроками.
    Ответ написан
    Комментировать
  • Связать учебу в магистратуре с разработкой игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    >Подскажите что-то актуальное, что можно изучать, исследовать
    У вас уже пару лет как должен быть такой список, если его нет, то не надо идти в магистратуру и тратить 2 года впустую. Идите работать. Когда список появится, тогда и идите учиться.

    Делать игру в качестве проекта не надо — это много лишней работы, не имеющей никакого отношения к любой заявленной цели.
    Ответ написан
    2 комментария
  • Чем отличается компайлер от интерпретера?

    Tiendil
    @Tiendil
    Разработчик ПО.
    ну есть же википедия:

    компилятор
    интерпретатор
    Ответ написан
    Комментировать
  • Паттерн проектирования web-приложений, куда смотреть?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Странный вопрос. Всегда надо.

    Другое дело, на сколько детально этим надо заниматься, а это зависит от конкретных требований к приложению, которые в исходном вопросе не указаны.
    Ответ написан
    Комментировать
  • PhpGameDev: Сохранение состояния рандомного NPC во время боя. Как?

    Tiendil
    @Tiendil
    Разработчик ПО.
    - Хранить NPC имеет смысл в сущности «текущий бой», а вот где её хранить уже есть разница.
    - Если под сохранением в сессию подразумевается сохранение в cookies, то это плохая идея, т.к., в случае двух одновременных запросов от пользователя, будут конфликты.
    - Если под сохранением в сессию подразумевается сохранение на стороне сервера, то это скорее всего и есть сохранение в БД.
    - «Если рассчитывать на 20 тыс игроков в онлайне, не нагнется ли…» — вопрос не корректен, т.к. не описана логика игры и железо на сервере. Если расчёт хода раз в сутки, то не нагнётся, если раз в секунду, то может и нагнуться.
    - Число онлайна, кстати, дико оптимистично.

    Варианта два:

    1. Хранить в БД.
    2. Хранить в фоновом процессе в памяти, который и делает обсчет логики, не обращаясь к БД.

    Во втором случае, общаться с таким процессом можно, например, через отправку сообщений amqp. Результаты вычислений процесс может как ложить в кэш (который много быстрее БД), так и слать сразу клиенту (websockets).

    Если это коммерческий проект ОБЪЕКТИВНО имеющий возможность получить 20к онлайна, заморочайтись 2-ым вариантом. Если это хобби, прототип или просто изучение новой технологии — не заморачивайтесь и начните с 1-ого, когда игра разовьётся, всё станет более очевидным.
    Ответ написан
    1 комментарий
  • Как разрабатывать нетиповую архитектуру?

    Tiendil
    @Tiendil
    Разработчик ПО.
    По-моему таких материалов пока нет и даже не предвидится. Подобный опыт тяжело формализируется. Вообще, почти нигде не учат «как решать задачи» :-)

    Из непрограммистского, но инженерного могу посоветовать ознакомиться с ТРИЗ (Теория решения изобретательских задач). Большинство подходов, описанных в ней, общеупотребительные.

    Также можно почитать Феномен науки. Кибернетический подход к эволюции.
    Ответ написан
    2 комментария
  • В какой ВУЗ Питера лучше поступать с желанием стать веб-программистом?

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

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

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

    Tiendil
    @Tiendil
    Разработчик ПО.
    Работать в консоли и писать для консоли — это разные вещи. Работать в консоли, безусловно, полезнее — это позволяет понять некоторые «подкапотные» вещи. Знающий консоль, гуи освоит, обратное не всегда верно. А вот писать под консоль, на мой взгляд, детей учить не обязательно.

    Графика и дорогие роботы — это же всегда «круто», на них куда проще объяснять свои достижения сторонним людям. Вот небольшой пример, пусть мы учим алгоритмы на графах, делаем простой поиск пути по заранее заданной карте. Его можно сделать в виде:

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

    Алгоритм поиска пути будет почти одинаковый (везде может быть двухмерное клеточное поле). Сил и времени от ребёнка каждый вариант тоже требует примерно одинаковое количество. Пара вопросов:

    1. Какой из вариантов будет выглядеть круче для мамы/друга/девушки?
    2. Какой из вариантов ребёнок (да и взрослый) захочет дорабатывать?
    3. Какой из вариантов даёт больший простор для оригинальной доработки и изучения технологий/алгоритмов?

    Я бы сказал, что вариант с роботом (и далее в обратном порядке). Я учился программировать именно на консольных примерах, поэтому по своему опыту скажу, что даже если ты понимаешь «крутость» проделанной работы, другим это проще объяснить на роботах и графике.

    По поводу программирования непосредственно GUI… Это то, чем занимается большая часть программистов, поэтому для среднего программиста эти навыки потребуются с бОльшей вероятность. Вопрос в том, готовите ли Вы средних программистов.
    Ответ написан
    Комментировать
  • Как организовать структуру игры?

    Tiendil
    @Tiendil
    Разработчик ПО.
    1. Единственного правильно ответа нет.
    2. Сразу грамотно ещё никто никогда ничего не писал, не нужно надеяться и/или переживать. Если проект учебный, то просто пишите.
    3. Если «экран» — это то, что отвечает за отрисовку игры, то он точно не должен управлять логикой.
    4. Если возникают проблемы с определением того как управлять набором объектов, проще всего ввести дополнительную абстракцию (как Ваш вариант 2), только назовите не Engine (слишком уж обще), а, например, UnitsManager — все команды, касающиеся юнитов шлите ему, а он внутри уже пусть сам разберётся. Это позволит разделить всю логику на две независимые части (одна делает всё с юнитами, другая с ними ничего не делает), что упростит восприятие архитектуры.

    Это, конечно, примерно.
    Ответ написан
    3 комментария
  • Что должно быть в портфолио веб-разработчика?

    Tiendil
    @Tiendil
    Разработчик ПО.
    А этот год Вы что делали? Вот это и выкладывайте.

    Вопрос слишком общий, веб — он разный. Сделайте то, чем хотели бы заниматься. Если планируете заниматься, ну не знаю, разработкой магазинов для ИП-шников, то сделайте пример такого магазина. Если хотите игры делать — делайте игру.

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

    Поэтому, в любом случае, я бы рекомендовал пару лет провести работая в команде над каким-нибудь сложным проектом, а то год опыта — это пшык.
    Ответ написан
    2 комментария
  • Как исправить ошибку South миграции?

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

    Смотрите в сторону опции --freeze у schemamigration
    Ответ написан
    Комментировать
  • Как реализовать изменение программы средствами интерфейса ?

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

    Пользуясь своими экстрасенсорными способностями пришёл к выводу, что всё-таки через базу.
    Ответ написан
    6 комментариев
  • Какие приложения пишут на python web разработчики?

    Tiendil
    @Tiendil
    Разработчик ПО.
    На Python+Django пишут всё.

    Вот, например, worldoftanks.ru (и большинство сопутствующих сервисов на них сделано).

    Небольшой перечень сайтов на Django: https://www.djangosites.org/
    Ответ написан
    Комментировать