• Если вы решили перейти с PHP на Python, то к чему следует подготовиться

      Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

      Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

      Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


      Python с точки зрения PHP-программиста...
    • Подборка полезных CSS рецептов, или чем мы занимаемся на голых пятницах

      • Tutorial


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

      Итак, представляем вашему вниманию сборку интересных и (надеемся) малоизвестных HTML и CSS-рецептов. Будем рады, если каждый из вас узнает что-то новое!
      Вперед!
      • +101
      • 86,5k
      • 75
    • Как мы делали мод под Oculus Rift для World of Tanks

        image

        Предыстория


        Примерно полтора года назад в руки разработчиков минской студии Wargaming попал DK1. Спустя месяц, когда все наигрались в Team Fortress и Quake в Full 3D, возникла идея заделать что-нибудь с Oculus в самих «Танках». О процессе, результатах и подводных камнях работы с Oculus — читайте ниже.
        Читать дальше →
      • GUI в игре World of Tanks. Часть первая: эволюция интерфейсов игры

          image

          Сегодня мы проведем экскурс в историю развития Graphical User Interface (GUI) в игре World of Tanks.

          Игра прошла длинный путь к успеху, и ее GUI менялся и полностью переделывался несколько раз в погоне за повышающимися требованиями армии танкистов, которая неуклонно росла.

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

          Читать дальше →
        • Голые пятницы #1

          • Tutorial
          голые пятницы

          Всем доброго времени суток. Сегодня мы поговорим о том, как красиво оформить выделенный текст, совладать с отступами в кнопках, прокачать скролл в мобильных браузерах, скрестить цвет текста с цветом границ, а также рассмотрим интересные новые единицы измерения.
          Поехали!
        • PostgreSQL. Как правильно хранить котов или история одной миграции

            История взята из реального проекта. Но поскольку реальный проект слишком скучный (и под NDA), в этой статье используется упрощенный пример.

            Жил-был один проект. И была у него база данных. И была в базе таблица для хранения, ну, скажем, котов. Вот такая:
            CREATE TABLE cats (
                id serial,
                cname varchar(20),
                ctype varchar(20),
                primary key(id)
            );
            

            Все довольно просто: у каждого кота есть id, имя и некий тип.

            Конечно, у нас были бизнес-требования к котам и их типам. Например, мы точно знали, что у нас есть типы big furry, neko и sudden danger. Предполагали, что могут появиться типы long tail и sleeper-eater. Но мы ожидали, что требования будут меняться. И пока не известно, какие в итоге понадобятся типы. Поэтому использовали тип данных varchar(20).
            Читать дальше →
          • Создание World of Tanks Blitz на базе собственного движка DAVA

              image

              Пролог


              Эта история началась более трех лет назад. Наша небольшая компания DAVA стала частью Wargaming, и мы начали обдумывать, какие проекты делать дальше. Чтобы напомнить, каким был мобайл три года назад, скажу, что тогда не было ни Clash Of Clans, ни Puzzle & Dragons, ни многих очень известных сегодня проектов. Mid-core тогда только-только начинался. Рынок был в разы меньше сегодняшнего.

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

              Тогда в разработке у нас находилось несколько игр. Одна из них носила рабочее название «Sniper». Основной геймплей-идеей была стрельба в снайперском режиме из стоящего в обороне танка, по другим танкам, которыми управлял AI и которые могли атаковать в ответ.

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

              С этого все и началось!

              Когда мы начинали разработку “Снайпера”, то рассматривали технологии, которые тогда были доступны для мобильных платформ. На тот момент Unity был еще на достаточно ранней стадии своего развития: по сути, необходимых нам технологий еще не было.

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

              Также мы понимали, что на C# мы не сможем выжать максимум из устройств, под которые мы разрабатываем, и всегда будем ограничены.
              Unreal Engine 3 тоже не подходил по ряду похожих причин.

              В итоге, мы решили дорабатывать свой движок!
              Читать дальше →
            • Последняя суббота месяца: линуксовка

              • Tutorial
              image

              Каждую последнюю субботу месяца в Минске проходит Линуксовка — своего рода лайт-версия LVEE. Здесь нет регламента: спикеры ничем не ограничены (в том числе, заявится на выступление с докладом можно прямо в ходе Линуксовки) — все проходит максимально свободно. На встрече в октябре было снято несколько докладов:
              • The Best of LinuxCon Europe 2013 (imho);
              • Измерение удобства современных оконных интерфейсов;
              • Libusb vs linux kernel — сравнение userspace & kernelspace API;
              • Обзор базовых лицензий свободного ПО;
              • Внедрение open-source TCP/IP стека LwIP в Android-приложение во имя Сатаны.

              Все видео доступны под катом, также как и ссылки на сами презентации.
              Читать дальше →
              • +47
              • 11,9k
              • 3
            • Erlang в Wargaming

                Язык Erlang известен не очень широко, хотя это довольно интересная технология, очень сильная в своей нише. Последние несколько лет Erlang все чаще применяется в веб-разработке.

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

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


                Читать дальше →
              • Опыт домашнего марсоходостроения


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