Пишем GraphQL API сервер на Yii2 с клиентом на Polymer + Apollo. Часть 4. Валидация. Выводы

Автор: admin от 6-09-2017, 13:15, посмотрело: 38

Часть 1. Сервер

Часть 2. Клиент

Часть 3. Мутации

Часть 4. Валидация. Выводы



Валидация и UnionType



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

->

Категория: Программирование

 

Вышел GitLab 9.5: Верификация коммитов GPG и шаблоны проектов

Автор: admin от 6-09-2017, 13:15, посмотрело: 30

Вышел GitLab 9.5: Верификация коммитов GPG и шаблоны проектов



В GitLab 9.5 мы представляем верификацию коммитов GPG, шаблоны проектов, автоповтор неудавшихся работ CI, навигацию по дифф-файлу мерж реквестов, существенные улучшения производительности и многое другое.


->

Категория: Программирование

 

Дизайн и математика игр-кликеров

Автор: admin от 6-09-2017, 12:05, посмотрело: 31

Дизайн и математика игр-кликеров



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



Что такое инкрементная игра?



Игрок нажимает на кнопку, число увеличивается. Нажимает снова, число снова увеличивается. Игрок продолжает нажимать, и постепенно разблокирует функцию, увеличивающую число за игрока. Числа растут, даже когда вы не играете. И этот процесс повторяется вечно.



В сущности, такова общая структура «инкрементной» игры. Она кажется простой, даже примитивной, но в игровом процессе есть неожиданная глубина и привлекательность. Стили игры могут быть разными — от коммерчески успешных и казуальных Clicker Heroes и AdVenture Capitalist до более экспериментальных или хардкорных примеров, таких как Candy Box, Cookie Clicker и Sandcastle Builder.



Дизайн и математика игр-кликеров
Cookie Clicker, самое начало.



Что же самое важное в инкрементной игре? Хотя в этом жанре есть множество вариаций и экспериментов, фундаментальными аспектами дизайна являются:




  • наличие хотя бы одной валюты или числа,

  • которые увеличиваются с заданной скоростью с минимальными усилиями, или вообще без усилий,

  • и которые можно тратить на увеличение скорости прироста.



  • Именно цикл накопления, реинвестиций и ускорения определяет основы жанра и отличает его от игр, в которых присутствует просто увеличивающийся счёт. Например, в примечательной Cookie Clicker игрок стремится к росту количества «печенек», которое изначально увеличивается нажатием на огромное печенье, а потом тратит печенье на покупку апгрейдов, позволяющих создавать ещё больше печенья.
    ->

    Категория: Программирование » Game Development

     

    Переходим на сторону сервера с bem-express

    Автор: admin от 5-09-2017, 21:40, посмотрело: 32

    — Сначала вы его отрицаете, потом вы его ненавидите, а потом вы не можете без него жить.

    из доклада Артема Курбатова «БЭМ: мастер-класс»



    Методология БЭМ существует достаточно долго и принята на вооружение в Google, EPAM Systems, BBC, Альфа-Банке. При этом она все еще вызывает беспокойство у типичного разработчика и менеджера проектов среднего звена.



    Переходим на сторону сервера с bem-express



    У некоторых смельчаков изучение БЭМ не ушло дальше ограничения возможностей CSS для получения более предсказуемых результатов. И хотя БЭМ давно вышел за пределы верстки, до сих пор на вопрос «Знаете ли вы БЭМ?» можно услышать: «Конечно, это про подчеркивания в классах».



    Если ваше представление о БЭМ близко к этому, я отвечу вам словами работодателя при приеме на работу новоиспеченного выпускника: «Забудьте о том, что вы слышали о БЭМ ранее». Методология БЭМ настолько интересна, насколько большинству о ней ничего не известно. Чтобы понять всю прелесть БЭМ, необходимо иметь представление обо всех технологиях, библиотеках, фреймворках и инструментах, которые БЭМ предоставляет. Изучите их, оставайтесь инопланетянином, ребенком, который удивляется тому, с чем взрослые смирились.


    ->

    Категория: Программирование » Веб-разработка

     

    Новости онлайн-курсов Mail.Ru Group: «Программирование на Python»

    Автор: admin от 5-09-2017, 17:05, посмотрело: 38

    Новости онлайн-курсов Mail.Ru Group: «Программирование на Python»

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

    ->

    Категория: Программирование » Веб-разработка

     

    Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов

    Автор: admin от 5-09-2017, 12:10, посмотрело: 31

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



    Анализ статистики GitHub показывает, что по показателям активных репозиториев и push-запросов, javascript находится на первом месте, да и в других категориях он показывает довольно высокие позиции.



    Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов

    Статистические сведения по javascript с GitHub




    С другой системой статистических сведений по GitHub можно ознакомиться здесь, она подтверждает то, что было сказано выше.



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



    Как ни странно, существует множество разработчиков, которые регулярно пишут на javascript, но не знают, что происходит в его недрах. Пришло время это исправить: этот материал посвящён обзору JS-движка на примере V8, механизмов времени выполнения, и стека вызовов.
    ->

    Категория: Программирование » Веб-разработка

     

    Простая работа со Steamworks

    Автор: admin от 5-09-2017, 10:40, посмотрело: 36

    Простая работа со Steamworks


    Unity, C#, Steamworks.NET и Facepunch.Steamworks



    Введение



    Как и большинству разработчиков игр, мне очень хочется выложить мою игру в Steam.



    Как и большинству инди-разработчиков игр, мне не хватает доступа к ресурсам/знаниям, которые дали бы мне чётко понять, что же действительно значит «быть в Steam».



    Сложно заполнить этот пробел в знаниях, потому что, несмотря на подробную документацию возможностей Steam, трудно понять, с чего начать в этом огромном хранилище документов и как связаны между собой его отдельные части. Кроме того, основные обсуждения платформы Steam проходят в закрытом форуме, доступном только для подтверждённых платформой через Steam Direct или реферальную ссылку Valve разработчиков. То есть для начинающих поиск ответов на простые вопросы может оказаться сложной задачей.



    Поэтому я решил написать высокоуровневый обзор для людей, которые только начинают разбираться в том, как заставить Steam работать с их играми. В частности, я подробно рассмотрю Steamworks SDK, программную библиотеку Valve, предоставляющую доступ к таким аспектам, как мастерская (Workshop), таблицы лидеров (Leaderboards), достижения (Achievements) и так далее.



    Steamworks хорошо задокументирована компанией Valve, но документация написана с точки зрения человека, использующего нативную библиотеку C++ и уже имеющего представление о том, как все эти функции пересекаются. Если это не ваш случай, то так даже лучше! Ниже представлено объяснение для другого человека, который пишет игру на языке более высокого уровня и просто хочет обеспечить простую интеграцию со Steamworks (а это возможно, я гарантирую!). Конкретнее, этот пост предназначен для людей, использующих в той или иной форме C#, а в идеале — работающих в игровом движке Unity.
    ->

    Категория: Программирование

     

    Транслируем WebRTC, RTSP и RTMP потоки на Media Source Extensions по протоколу Websocket

    Автор: admin от 5-09-2017, 04:15, посмотрело: 47

    Транслируем WebRTC, RTSP и RTMP потоки на Media Source Extensions по протоколу Websocket

    Media Source Extensions



    Media Source Extensions (далее MSE) — это API браузера, позволяющее играть аудио и видео через соответствующие HTML5 тэги и .



    Чтобы проиграть кусок аудио или видео, нужно скормить этот chunk в данный элемент через MSE API. На основе MSE построены HLS-плееры. HLS фрагменты передаются в MSE и отображаются в плеере.



    Давайте посмотрим на его Can I Use подробнее. ->

    Категория: Программирование » Веб-разработка

     

    QIWI Server Party: пиво DevOps не помеха

    Автор: admin от 5-09-2017, 04:15, посмотрело: 31

    Привет всем! Совсем скоро состоится мероприятие под кодовым названием QIWI Server Party! Встреча для back-end разработчиков, которым важно дело, а не “эффективные рабочие процессы”.



    Будут интересные доклады и квалифицированные спикеры! Например, наш коллега Сергей Чеканский расскажет, «Почему BigData бесполезна»! А также своим опытом работы с Kubernetes поделится Антон Дубенчук. Плюс будет еще пара интересных тем.



    QIWI Server Party: пиво DevOps не помеха


    Ну и, разумеется, неформальное общение, пиво и BBQ. За подробностями добро пожаловать под кат!
    ->

    Категория: Программирование

     

    Шпаргалка по тестированию требований к мобильным приложениям

    Автор: admin от 4-09-2017, 19:00, посмотрело: 35

    Шпаргалка по тестированию требований к мобильным приложениям

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



    Статья ориентирована на тестировщиков, которых просят провести ревью ТЗ и найти в нём несоответствия, и на аналитиков, которым разработчики после прочтения ТЗ часто задают вопросы формата: «А что должно быть, если …?».

    ->

    Категория: Программирование » Веб-разработка