• Обратная сторона Agile — разбирая чужие ошибки

      "Глупый учится на своих ошибках, умный на чужих".


      Всем доброго дня. В этой статье я намереваюсь разобрать ошибки произошедшие и досконально описанные в топике Обратная сторона Agile. Это ни в коей мере не holywar, ни тем более какой-либо blame. Мне лишь интересно препарировать эти вопросы со стороны исследования и отчасти восстановить доброе имя SCRUM'a.

      Читать дальше →
    • Возможности PostgreSQL, которых нет в MySQL, и наоборот



      Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
      Читать дальше →
    • Пишем, собираем и запускаем HelloWorld для Android в блокноте. Java 8 и Android N

      • Tutorial

      Два с половиной года назад я опубликовал статью Пишем, собираем и запускаем HelloWorld для Android в блокноте. Она стала пользоваться огромной популярностью и набрала около 80 000 просмотров. С появлением новых инструментов, таких как Jack ToolChain, возникла необходимость переиздания и обновления статьи.

      Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.

      Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
      Читать дальше →
    • Создание уровней по методу Super Mario World

      • Перевод
      Несколько лет назад я написал книгу, в которой проанализировал все уровни игры Super Mario World (1990). В ней я вывел систему, по которой была создана большая часть её уровней. Игра Super Mario World – это классика жанра, она сама по себе стоит того, чтобы её изучить. Но уроки, которые она преподносит, могут и сегодня широко применяться при разработке игр. Метод Super Mario World, или метод Nintendo, активно используется для создания уровней в самых разнообразных играх – даже в тех, которые сделаны не компанией Nintendo.

      В этом уроке мы рассмотрим простую форму организации контента, которая берет начало еще в 90-х годах. По мере того как разработчики игр (в особенности из компании Nintendo) совершенствовали свое ремесло, они интуитивно вырабатывали определенные способы организации контента. Я постараюсь объяснить, как можно сознательно использовать эти интуитивные приемы в ваших играх.


      Читать дальше →
      • +9
      • 15,5k
      • 3
    • Создаем мобильную игру на Monogame, решая типичные проблемы начинающего разработчика

      Целью данной статьи является систематизация материалов для создания простых игр на фреймворке Monogame. В статье будут рассмотрены решения типичных задач, с которыми приходится сталкиваться всем разработчикам при создании игр для мобильных платформ: независимость текстур от разрешения экрана, создание меню и смена игровых сцен (экранов), нюансы работы со звуком и шрифтами, сохранение рекордов. В статье приведены примеры кода, а так же даны ссылки на полезные и актуальные источники информации по Monogame и разработке под платформу Windows в целом, ну и конечно, моя история создания своих первых игр.
      Читать дальше →
    • Убийцы оптимизации

      • Перевод
      image

      В этом посте изложены советы, как не написать код, производительность которого окажется гораздо ниже ожидаемой. Особенно это касается ситуаций, когда движок V8 (используемый в Node.js, Opera, Chromium и т. д.) отказывается оптимизировать какие-то функции.
      Читать дальше →
    • Путеводитель по реализации 2Д платформеров (окончание)

      • Перевод
      Окончание перевода статьи «путеводитель по реализации 2Д платформеров».
      Начало

      Тип №3: Битовые маски


      Он подобен тайловому (плавному) методу, но вместо использования больших тайлов используется картинка для проверки столкновений для каждого пиксела. Это позволяет лучше проработать игру, но и значительно увеличивает сложность, использует больше памяти и требует что-то схожее с графическим редактором для создания уровней. Такая маска обычно не используется непосредственно для визуализации, поэтому нужны дополнительные средства — например, большое графическое изображение (подложка), индивидуально для каждого уровня. Из-за подобных проблем эта техника довольно редка в использовании, но позволяет добиться более качественных результатов, чем варианты, основанные на тайлах. Этот метод удобен для создания динамического окружения — разрушения можно просто «рисовать» в битовую маску для изменения уровня. Хороший пример — игры серии Worms.

      Worms World Party с разрушаемой топографией
      Примеры: Worms, Talbot’s Odyssey

      Читать дальше →
      • +28
      • 18,9k
      • 3
    • Путеводитель по реализации 2Д платформеров (начало)

      • Перевод
      Так как ранее я был разочарован количеством информации по этому вопросу, я решил восполнить этот пробел, собрав разные виды реализации 2Д платформеров, описав их сильные и слабые стороны и порассуждав над деталями реализации.

      Моей целью было создать исчерпывающий и понятный путеводитель по реализации 2Д платформеров.



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

      Четыре решения


      Мне приходит на ум четыре основных варианта решений при создании платформера. В рамках этой статьи будут рассмотрены все четыре, но из-за большого объема статья поделена на 2 части (прим. пер).
      Читать дальше →
    • Как мы внедряем Open source в госкомпаниях и крупной коммерции России



        КРОК — одна из самых больших в России компаний по построению IT-инфраструктур. У нас в год 2000+ проектов, из которых 200 штук — с бюджетом больше миллиона. Долларов. Внутри этой огромной компании есть мой небольшой отдел, который занимается тем, что ставит open source для крупных заказчиков.

        Нередко приходится сталкиваться с мнением, что open source — это кривые поделки гаражных программистов. Мы работаем только с нормальным рабочим ПО; помогаем подобрать оптимальные варианты решений для инфраструктуры и обеспечиваем поддержку там, где производитель по очевидным причинам сделать этого не может. Это — не самая простая работа, в основном, связанная с мифами и легендами про открытое ПО.

        Но к чёрту детали, давайте покажу, что и как можно поставить на рабочие места, сервера, в облако, для СУБД, VDI и серверов приложений. И про галстук.
        Читать дальше →
      • Разработка REST API на Express, Restify, hapi и LoopBack

        • Перевод
        • Tutorial
        Если вы работаете над Node.js приложением, то есть все шансы, что у него появится некое API, которое будет использовано вами или кем-то другим. Наверняка это будет REST API и перед вами возникнет дилемма — какие инструменты и подходы использовать. Ведь выбор так широк…

        image

        Благодаря невероятно активному сообществу Node.js, количество результатов на NPM по запросу «rest» зашкаливает. У каждого есть свои реализации и подходы, но у некоторых есть что-то общее в создании REST API на Node.js.
        Читать дальше →
      • AniJS – библиотека для декларативного описания CSS-анимации

          На днях занимался созданием лэндинга с приличным набором анимации, возникающей во время взаимодействия со страницей. Прям чувствовал, что должна быть какая-нибудь крутая библиотека для решения задачи. И тут я нашёл AniJS, которая меня совершенно покорила!

          Читать дальше →
        • Управление рисками

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

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

            Читать дальше
          • Сборник полезных ссылок для системного администратора

              Думаю у каждого грамотного системного администратора есть коллекция ссылок на полезные в работе ресурсы. Я имею в виду различные сайты и блоги, на которых выкладываются полезные с точки зрения системного администратора посты.
              Предлагаю ими поделиться в формате ссылка — описание.
              Пример: habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.

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

              P.S. Хабр, опеннет и лор можно не упоминать. Можно выкладывать ссылки на конкретные статьи, если считаете их очень полезными.

              Начну с себя (т.к я администрирую linux, то и ссылки у меня в основном соответствующие):
              Читать дальше →
            • Прокрастинация. Новые задачи. Часть 2

                Сегодня мы продолжим борьбу с прокрастинацией.

                Поговорим о новых задачах, узнаем что такое РЭПТ и для чего нужен план, существует ли кооперативная работа и когда это всё кончится?

                Интересно?
                Добро пожаловать под кат
              • Дао разработки справочной документации для IT-продукта

                  image
                  Привет!

                  Любите читать хелпы? А писать? Думаю, что 99% из вас ответят “НЕТ”.

                  Но от создания справки никуда не денешься, ведь справка является обязательным средством общения с пользователем. А чтобы создание хелпов не оказалось чем-то сложным, неуправляемым и непонятным, необходимо построить чёткий и отлаженный процесс.

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

                  Читать дальше →
                • 3D на рабочий стол Windows (+исходники)

                    3D модели на рабочем столеС Рождеством дорогие Хабравчане!

                    Хочу бескорыстно поделиться своим скромным проектом.

                    Основные возможности:

                    • вывод 3D графики (модели, сцены) на рабочий стол Windows;
                    • переход в скринсейвер и обратно;
                    • импорт моделей;
                    • установка последнего 3D кадра картинкой рабочего стола;


                    Ну и что дальше
                  • Прокрастинация. Символическая система вознаграждения. Часть 1

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

                    Для тех кто хочет преодолеть прокрастинацию быстро, просто прочитав эту статью
                    Подробности под катом
                  • Работа и жизнь гика с проблемами концентрации внимания

                      Каждый — гениален. Но если вы будете судить рыбу по ее способности лазать по деревьям,
                      она всю жизнь проживет с верой в свою глупость.

                      Альберт Эйнштейн

                      Лень — это привычка отдыхать до того, как ты устанешь.

                      Жюль Ренар


                      Проблемы с концентрацией внимания? Внешнее воздействие сбивает с толку? Кажется, что все кругом рушится? Не получается запоминать вещи? Выход есть. Чтобы все было нормально, надо только чуть-чуть помочь. Надо принять себя и научиться с этим жить.

                      Решительно сократить количество проблем можно, придерживаясь следующих рекомендаций:
                      1. В голове держать не больше трех-пяти вещей за раз, объединив действия в большие смысловые блоки.
                      2. Раз и навсегда выбрать решение по ежедневному набору мелочей: вносить дела к календарь, проверять утюг и т.п.
                      3. Разложить все вещи по своим местам и поддерживать заведенный порядок.
                      4. Дублировать необходимые и часто используемые вещи; разложить их по всем углам.
                      5. Умело пользоваться календарем, мобильником и другими инструментами интернет-века.
                      6. И самое главное: НЕ ОТВЛЕКАТЬСЯ ПО МЕЛОЧАМ!
                      Интересно? Читаем дальше!
                    • Создание гостевого доступа в Интернет с Web-аутентификацией

                      Приветствую, коллеги.

                      Пролог


                      Возникла у нас задача – сделать гостевой интернет. Т.е. гость приходит, подключается к сети (WiFi или кабель) и пытается выйти в Интернет. При попытке зайти на сайт у него «должно спросить пароль».
                      Надо отметить, подобные вопросы о решении такой задачи часто возникают на форумах. Есть куча платного софта (не рассматривался в принципе, ибо задача низкоприоритетная) и какие-то бесплатные решения. Поиск по форумам не дал определиться с выбором, посему было решено в свободные минуты сделать сие самостоятельно.

                      Основными требования:


                      Ресурсы на создание – как человеческие (рабочее время), так и материальные – минимальны.
                      Нагрузка – маленькая. Обычно такой системой будут пользоваться не более 10 человек в день.
                      Критичность доступности – низкая. Если система сломалась – то ремонтировать будут в последнюю очередь. Потеря нескольких пакетов – не принципиальна.
                      Изолированность – полная. Если сломают какие-либо части – локальная сеть не должна пострадать.
                      Платформонезависимость – клиентами будут всякие гаджеты – от телефона до большого компа.
                      Читать дальше →
                    • Проброс видеокарты в гостевую ОС из гипервизора Xen

                      Предыстория


                      После прочтения этой статьи, моя девушка предложила попробовать вставить в мой системник вторую видеокарту и получить две машины на одном железе. Мы проделали длинный совместный путь проб и ошибок, столкнулись с интересными проблемами, решение которых я хотел бы описать.
                      Читать дальше →