• Улучшение производительности PHP 7

    • Перевод


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

    В этой статье мы рассмотрим, что изменилось в движке Zend седьмой версии по сравнению с пятой, а также разберёмся, как можно эффективно использовать внутренние оптимизации. В качестве исходной точки возьмём PHP 5.6. Зачастую многое зависит от того, как те или иные вещи написаны и представлены движку. При написании критически важного кода необходимо уделять внимание его производительности. Изменив несколько мелочей, вы можете сильно ускорить работу движка, зачастую без ущерба для других аспектов вроде читабельности кода или управления отладкой. Свои рассуждения я докажу с помощью профилировщика Blackfire.
    Читать дальше →
  • Правила хорошего тона при написании плагина на jQuery

    Правила хорошего тона при написании плагина на jQueryЯ написал уйму плагинов на jQuery. Если посмотреть код всех плагинов, сортируя их по дате публикации на github, то можно проследить эволюцию кода. Ни в одном из этих плагинов не соблюдены все рекомендации, которые будут описаны ниже. Все что будет описано, лишь мой личный опыт, накопленный от проекта к проекту.
    Писать расширения на jQuery довольно просто, но если хотите узнать как написать их так, чтобы потом их было просто поддерживать и расширять, добро пожаловать под кат.
    Читать дальше →
  • Налоговый суслик. Особенности упрощенной системы налогообложения при работе по договорам с Apple, Google и другими

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

    Прочтите внимательно эту статью, если вы применяете упрощенную систему налогообложения с объектом налогообложения «доход» по ставке 6 процентов и продаете игры или приложения в Google Play, Apple App Store, а также прочий цифровой контент — например, 3D-модели — в Steam, Unity Asset Store или на других площадках, в условиях договоров с которыми фигурируют комиссии, агентские вознаграждения и прочие формы разделения выручки между сторонами.

    Из материала вы узнаете:

    • Почему разработчику желательно обладать хотя бы базовой юридической грамотностью
    • Чем с точки зрения Гражданского кодекса являются игры и приложения и какие права на них есть у разработчиков помимо авторского права
    • Что такое агентский договор и почему все это важно при работе по договору с Apple или Google
    • Кто такой налоговый суслик и почему он может превратиться в пушного зверя
    • Какой «подвох» существует для применяющих «упрощенку» в части определения налоговой базы
    • Почему налог на добавленную стоимость (НДС) продолжает преследовать нас, даже когда мы не являемся его плательщиками
    • Как, с точки зрения Федеральной налоговой службы, облагаются НДС внутриигровые покупки (InApp Purchases)
    Покажите мне суслика!
  • Анимация персонажей в Blender 3D — это просто



      Мир open source не стоит на месте и постоянно развивается. Про Blender 3D написано уже много статей, но помимо Blender, существует еще много полезных и бесплатных программ. Одна из них, это MakeHuman. На Хабре упоминания о ней имеются, но какой либо информации по ней нет. Предлагаю вам заглянуть под кат и посмотреть, что анимация персонажей в связке MakeHuman+Blender3D, это действительно просто. Осторожно, много картинок.
      Посмотрим...
    • 50+ лучших дополнений к Bootstrap



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

        Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
        Читать дальше →
      • Порядок событий в Unity3D

          Доброго времени суток.
          Не так давно заинтересовался этим движком. Благо, русских материалов на эту тему достаточно много, в том числе и на хабре.
          Однако, я нигде не видел описание (на русском языке) порядка возникновения различных событий в создаваемых играх, а это один из факторов оптимального размещения скриптов в тех или иных функциях.
          Поэтому решил перевести раздел Execution Order of Event Functions из англоязычной справки Unity3D.
          Надеюсь, из этого выйдет что-нибудь путнее. Кто заинтересовался — добро пожаловать под кат =)
          Читать дальше →
        • Режимы смешивания в Unity

          Многие наверняка слышали о режимах смешивания (blend modes), которые присутствуют в большинстве популярных программ для работы с изображениями и видео. Там это — важный инструмент создания контента, давно уже ставший неотъемлемой их частью.

          А что же в играх?

          Допустим, появилась необходимость использовать Color Dodge смешивание для системы частиц или UI-художник сделал красивую графику для игрового интерфейса, но некоторые его элементы используют какой-нибудь Soft Light. А может, вам понадобилось подвергнуть трёхмерный объект Divide-смешиванию, чтобы получить эффект прямиком из кинокартин Линча?



          В данной статье мы рассмотрим принцип работы популярных режимов смешивания и постараемся максимально точно воссоздать их эффект на игровом движке Unity.
          Читать дальше →
        • Pool объектов для Unity3d

          Все знают что операции создания и удаления объектов не дешевые. Например создавать каждый раз пулю и уничтожать, довольно накладно для тех же мобильных устройств. Может стоит не уничтожать пулю, а скрывать ее. Вот решил поделится своей реализацией Pool Manager.
          Читать дальше →
          • +7
          • 24,8k
          • 8
        • Приемы при проектировании архитектуры игр

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

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

            В публикации рассматриваются следующие темы:
            • Наследование VS компоненты
            • Сложные иерархии классов юнитов, предметов и прочего
            • Машины состояний, деревья поведений
            • Абстракции игровых объектов
            • Упрощение доступа к другим компонентам в объекте, сцене
            • Сложные составные игровые объекты
            • Характеристики объектов в игре
            • Модификаторы (баффы/дебаффы)
            • Сериализация данных

            Читать дальше →
          • Перевод часов в России, опять… и php5-intl


              Доброе %время суток%.

              Предыстория


              Ничего не предвещало беды. Задолго до были обновлены tzdata и всё, до чего могли руки дотянуться. Но в очередной момент перевода часов мой сайт стал выдавать московское время на час больше. Беглая проверка показала, что сама OS, mysql и php (функция date) возвращают время корректно и указывают часовой пояс +3 для Москвы. Собака же зарыта оказалась в хорошем расширении php5-intl. Функция format класса IntlDateFormatter упорно возвращала часовой пояс +4 для Москвы.
              Читать дальше →