• Сетевое программирование для разработчиков игр. Часть 3: виртуальные соединения поверх UDP

    • Перевод
    От переводчика: Это перевод третьей статьи из цикла «Networking for game programmers». Мне очень нравится весь цикл статей, плюс всегда хотелось попробовать себя в качестве переводчика. Возможно, опытным разработчикам статья покажется слишком очевидной, но, как мне кажется, польза от нее в любом случае будет.
    Первая статья — http://habrahabr.ru/post/209144/
    Вторая статья — http://habrahabr.ru/post/209524/



    Виртуальные соединения поверх UDP


    Введение

    Привет. Меня зовут Гленн Фидлер и я приветствую вас в третьей статье из цикла “Сетевое программирование для разработчиков игр”.

    В предыдущей статье мы разобрались, как отправлять и принимать пакеты, используя протокол UDP.

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


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

    Но сначала, нам нужно более плотно разобраться, как работает интернет.
    Читать дальше →
    • +28
    • 31,9k
    • 5
  • Как создать идеальный Pull Request

    • Перевод
    С ростом компании меняются люди и проекты. Не так давно в блоге GitHub появилась интересная статья, в которой автор рассказывает, как делать, а как лучше не делать Pull Request’ы. Перевод, традиционно, спрятан под катом.

    Читать дальше →
  • Привычка Stack Overflow

    • Перевод
    Stackoverlow уже стал незаменимым инструментом для множества разработчиков. Продвигаемая авторами модель использования – это “база знаний”. Набираем вопрос в гугле → попадаем на stackoverlow → читаем ответ → profit! Так сайт работает для большинства – за счет гораздо меньшей группы разработчиков, которая отвечает на вопросы. Зачем они это делают? Большинство – для повышения собственной квалификации и социальной реализации. И для карьеры полезно, и комплексы стороной обходят, и кризис среднего возраста не придет. Под катом – перевод статьи одного такого разработчика, который делится своими практическими наработками о том, как ему удалось отвечать на вопросы начинающих разработчиков каждый день.

    stackoverflow for fun and profit!
  • В офисе QIWI прошла обучающая лекция Евгения Кривошеева «Инженерия и бизнес — счастливы вместе»

      В офисе QIWI прошла обучающая лекция Евгения Кривошеева «Инженерия и бизнес — счастливы вместе». Лекция продолжалась 3 часа и собрала около 100 активных слушателей из IT-подразделения QIWI.

      Материалы по лекции во вложении.


      Читать дальше →
    • Starban. Гибкая методология разработки, геймификация и еще много модных слов

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


      Хорошо, есть методология, которая выдумана командой программистов «для себя», но которую, по нашему мнению, будет интересно попробовать и другим. Внутри команды воссоздаётся небольшая экономическая модель рыночных отношений, а приоритеты регулируются при помощи курса внутрикомандной валюты.
      Starban
      • +10
      • 9,5k
      • 3
    • Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

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

        В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



        Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

        Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
        Читать дальше →
      • Чем проще, тем лучше, или когда ELB не нужен

          Скорее всего, передовой облачный провайдер Amazon Web Services в первую очередь ассоциируется с EC2 (виртуальные инстансы) и ELB (балансировщик). Типичная схема разворачивания web-сервиса — EC2 инстансы за балансировщиком (Elastic Load Balancer).Преимуществ у такого подхода очень много, в частности, у нас «из коробки» есть проверка состояния нод, мониторинг (количество запросов, логи), легко настраивамое авто-масштабирование и т.д. Но далеко не всегда ELB — лучший выбор для распределения нагрузки, а иногда и вовсе не подходящий инструмент.

          Под катом я покажу два примера использования Route 53 вместо Elastic Load Balancer-а: первый — из опыта компании Loggly, воторой — из моего личного.
          Читать дальше →
        • Тестируем Mighty Editor и Phaser. HTML5 игра за час

          • Перевод


          HTML5 игры растут и развиваются, также как инструменты для их создания. Например, phaser.js стал достаточно популярным движком, подходящим для производства игр среднего размера. Но каждый раз, применяя phaser.js, разработчикам html5 игр приходится писать повторяющийся код для стандартных операций. Визуальный редактор позволяет сгенерировать типовой код автоматически.
          Читать дальше →
        • Scala WAT: Обработка опциональных значений

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

            Какое-то время назад мы полностью перевели на Scala один из основных для веба проектов. За это время я наблюдал эволюцию разработчиков, включая свою собственную, и у меня скопился объёмный список конструкций, которые тянет написать, если вы раньше писали на Java, и для которых правильное решение на Scala может не быть сходу очевидным. Данные рекомендации могут быть не очень понятны тем, кто до сих пор пишет на Java и не видел до этого код на Scala. Я не буду разъяснять работу стандартных функций и функциональных концепций, всё ищется по ключевым словам в сети.
            Читать дальше →
          • Ачивка как инструмент манипуляции игроком в GameDev


              Ачивка, которая даётся вам за то, что вы посмотрели свои ачивки (Galaxy Trucker)

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

              Посмотрите на эту ачивку, например:


              Она не только позволяет быстрее распознавать профиль пользователя, но и содержит важную опорную информацию. По ней мы узнаём, что рейтинг топика больше 50 — это хорошо, а 30 постов с таким рейтингом — крутое достижение. То есть здесь решается и задача ускорения передачи информации о юзере, и задаётся цель (что правильно для сообщества), и обозначаются критерии достижения этой цели.
              Читать дальше →