Продолжаю выкладывать доклады с Pixonic DevGAMM Talks — нашего сентябрьского митапа для разработчиков высоконагруженных систем. Много делились опытом и кейсами, и сегодня публикую расшифровку выступления backend-разработчика из Saber Interactive Романа Рогозина. Он рассказывал про практику применения акторной модели на примере управления игроками и их состояниями (другие доклады можно посмотреть в в конце статьи, список дополняется).
Рубрика «бэкенд» - 3
Практика использования модели акторов в бэкэнд-платформе игры Quake Champions
2018-10-12 в 8:48, admin, рубрики: quake, Анализ и проектирование систем, архитектура, Блог компании Pixonic, бэкенд, геймдев, доклад, конференции, конференция, конференция разработчиков игр, митап, Проектирование и рефакторинг, разработка игрКак мы переписали архитектуру Яндекс.Погоды и сделали глобальный прогноз на картах
2017-11-30 в 7:37, admin, рубрики: map reduce, WebGL, Блог компании Яндекс, бэкенд, высокая производительность, высоконагруженные системы, машинное обучение, погода, разработка, фронтендПривет!
Как говорится, по традиции раз в год мы в Яндекс.Погоде выкатываем что-нибудь новенькое. Сначала это был Метеум – традиционный прогноз погоды с помощью машинного обучения, затем наукастинг – краткосрочный прогноз осадков на основе метеорологических радаров и нейронных сетей. В этом посте я расскажу вам о том, как мы сделали глобальный прогноз погоды и построили на его основе красивые погодные карты.
Сперва пару слов про продукт. Погодные карты — способ узнавать погоду, очень популярный на западе и пока что не очень популярный в России. Причиной тому является, собственно, сама погода. Из-за особенностей климата наиболее населенные регионы нашей страны не подвержены внезапным погодным катаклизмам (и это хорошо). Поэтому интерес к погоде у жителей этих регионов скорее бытовой. Так, людям в центральной России важно знать, например, какая погода будет в Москве в выходные или что в четверг в Питере будет дождь. Такую информацию проще всего узнать из таблицы, в которой будет дата, время и набор погодных параметров.
Раздача фронтенда через CDN
2017-11-10 в 20:25, admin, рубрики: amazon, angular, AWS, CDN, certbot, ci, cloudfront, Git, gitlab, javascript, nginx, php7.1, s3, бэкенд, Разработка веб-сайтов, фронтендВ мире современных веб-технологий все стремительно развивается и меняется. Пару лет назад совершенно нормальным было по запросу клиента рендерить DOM структуру на сервере (например, при помощи PHP) и отдавать уже полностью сформированную страницу. Сейчас все чаще появляются сайты c полным отделением фронтенда (Angular, React, Vue.js...) от бэкенда (некие API эндпоинты), где на фронтенде почти весь контент формируется посредством скриптов, а сервер отдает только данные по запросу. Тут можно было бы упомянуть SSR (Server Side Rendering), но не об этом данное произведение.
В любые времена перед разработчиками и владельцами сайтов стояла непростая задача: доставить контент как можно быстрее, как можно большему количеству клиентов. Одно из самых правильных решений — использовать CDN (Content Delivery Network) для раздачи статичных файлов. В случае с динамическим рендером страниц на сервере мы должны были ограничиваться небольшим списком объектов, которые можно было разместить в CDN: таблицы стилей, файлы скриптов, изображения. Однако, фронтенд, написанный на Angular (React, Vue.js...), статичен целиком, включая индексную страницу. Вот тут и возникает мысль: а почему бы не организовать раздачу через CDN всего фронтенда?
В данной статье пойдет речь о настройке комплексного решения для разработки, контроля версий, автоматической сборки и доставки статического сайта с использованием Gitlab CI, Amazon S3 и Amazon CloudFront. Также речь пойдет о настройке сопутствующих вещей: git, безопасное соединение по протоколу HTTPS, доменная почта, DNS хостинг, бэкенд сервер…
Если вас заинтересовала эта тема, добро пожаловать под кат.
Осторожно! Много скриншотов.
Читать полностью »
Дайджест интересных материалов для мобильного разработчика #209 (19 июня — 25 июня)
2017-06-25 в 12:48, admin, рубрики: App Store, apple, backend, Google, SDK, Блог компании Everyday Tools, бэкенд, контроллы, маркетинг, монетизация, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSВ новом дайджесте плохой бэкенд, плохие магазины Apple и Google, плохие креативы, смерть гамбургера. Зато хорошие SDK, качественный код, самодостаточные контроллы, будущее еды и сельского хозяйства. Добро пожаловать!
CocoaConf DС 2016: Swift server side
2017-05-04 в 9:29, admin, рубрики: swift, Блог компании NIX Solutions, бэкенд, разработка под iOSВ сентябре 2016 года наши iOS-разработчики побывали в Вашингтоне на конференции CocoaConf DC, где получили массу интересного опыта. Там было очень много увлекательных докладов по разным направлениям, различного уровня сложности. В этой статье мы бы хотели рассказать о докладе, который заинтересовал своей необычностью и новизной — «Creating a Server Side Application with your Favourite Language: Swift!» Джонатана Гатри (Twitter, Github). Джонатан является одним из разработчиков Perfect — фреймворка, который позволяет использовать язык Swift в разработке серверных приложений. Эта тема интересна многим iOS-разработчикам, ведь большинство «домашних» идей останавливает проблема реализации серверной части. При этом изучение дополнительных языков или привлечение сторонних людей не добавляет энтузиазма.
В статье сделан упор на теоретическую часть вопроса, а не на код. Практические руководства можно найти в разделе «Дополнительные материалы», или же в поисковике.
Читать полностью »
Игры и облако. Мифы и реальность. Ожидаем горячее обсуждение 12 апреля. Приходите виртуально
2017-04-05 в 14:30, admin, рубрики: azure, blob, Microsoft Azure, Service Fabric, webapp, Блог компании Microsoft, бэкенд, игры, разработка игрПару месяцев назад ко мне пришли коллеги и сказали, давайте расскажем разработчикам игр о том, как можно использовать Azure для разработки игровых бэкендов. Я знал, что нам есть, что рассказать, но искал, кого к нам пригласить, чтобы это была не просто обзорный рассказ от Microsoft, а ещё и мнение эксперта индустрии, который знаком с нашим облаком не понаслышке. И вот, коллеги из Game Insight выкатили статью про использование Azure в реальной игре. И я понял, надо приглашать Андрея Ивашенцева! Это были непросто — Андрей очень занят и его тяжело застать в Москве, но мы смогли!
Читать полностью »
Синдром самозванца: сражение с усталостью от фронтенда
2017-02-27 в 9:25, admin, рубрики: бэкенд, выгорание, групповая поддержка, Карьера в IT-индустрии, описание вакансии, психотерапия для программистов, синдром самозванца, усталость от JavaScript, усталость от фронтенда, фронтенд, чистый код, метки: Чистый кодНедавно я разговаривал с другом из бэкенд-разработки о том, сколько часов провожу за программированием и изучением кода в свободное время. Он показал отрывок из книги Дяди Боба «Чистый код». Там разработчики, которые репетируют код перед запуском в работе, сравниваются с музыкантами, которые много часов готовят инструменты к концерту.
Мне понравилась аналогия, но я не уверен, что готов полностью подписаться на такое; это тот самый тип мышления, который в первую очередь приводит к выгоранию. Хорошо, если вы хотите углубить своё мастерство и расширить навыки, но если делать это непрерывно в течение всего дня — долго не протянешь.
Усталость от фронтенда очень реальна. Я видео много постов об усталости от JavaScript, но мне кажется, что проблема распространяется за пределы этого конкретного языка.
Читать полностью »
Terraform, Azure, Иркутск и еще 1207 слов о переносе игры в облако
2017-01-30 в 11:44, admin, рубрики: 2020:My Country, azure, backend, Game Insight, terraform, Блог компании Game Insight, бэкенд, ит-инфраструктура, Облачные вычисления, онлайн-игра, перенос в облако, Серверное администрирование, Сетевые технологииУ нас были балансировщики нагрузки, несколько серверов приложений, 5 баз данных, 24 ядра, 32 гигабайта оперативки, nginx, php, redis, memcached и еще куча других сетевых технологий всех форм и расцветок. Не то чтобы это был необходимый минимум для бэкенда, но когда начал делать отличные онлайн-игры, становится трудно остановиться. Мы знали, что рано или поздно перейдем и на облако.
Как Discord обрабатывает более 1 000 000 push-запросов в минуту с помощью Elixir GenStage
2016-12-15 в 19:21, admin, рубрики: Discord, Elixir, erlang, Erlang/OTP, firebase, GenStage, push-запросы, push-уведомления, xmpp, бэкенд, высокая производительность, обратное давление, Разработка систем передачи данных, сброс нагрузки, Системы обмена сообщениями, Тестирование веб-сервисов, чаты
Discord
Discord испытал небывалый рост. Чтобы справиться с ним, нашему отделу разработки досталась приятная проблема — искать способ масштабирования сервисов бэкенда.
В этом деле мы добились большого успеха с помощью одной технологии, которая называется Elixir GenStage.
Идеальный шторм: Overwatch и Pokémon GO
Этим летом наша система мобильных push-уведомлений стала скрипеть от нагрузки. Чат /r/Overwatch перевалил за 25 000 одновременных пользователей, а чат-группы Pokémon GO возникали повсеместно, так что внезапные всплески потока уведомлений стали серьёзной проблемой.
Читать полностью »
Как мы строили облачный бэкенд для мобильного шутера
2016-12-01 в 9:25, admin, рубрики: Amazon Web Services, AWS, backend, cloud, Game Insight, guns of boom, Блог компании Game Insight, бэкенд, никто не читает теги, облако, разработка игр, разработка мобильных приложенийПривет! Совсем недавно мы запустили в России и еще нескольких странах многопользовательский мобильный шутер Guns Of Boom, который уже скачало более полумиллиона человек. Для обеспечения плавной и бесперебойной игры такого количества пользователей нужен хороший бэкенд. В этой статье мы расскажем, почему мы решили использовать для этого облако, и кратко опишем особенности построения бэкенда на основе облачных сервисов.