Привет! Совсем недавно мы запустили в России и еще нескольких странах многопользовательский мобильный шутер Guns Of Boom, который уже скачало более полумиллиона человек. Для обеспечения плавной и бесперебойной игры такого количества пользователей нужен хороший бэкенд. В этой статье мы расскажем, почему мы решили использовать для этого облако, и кратко опишем особенности построения бэкенда на основе облачных сервисов.
Рубрика «никто не читает теги» - 27
Как мы строили облачный бэкенд для мобильного шутера
2016-12-01 в 9:25, admin, рубрики: Amazon Web Services, AWS, backend, cloud, Game Insight, guns of boom, Блог компании Game Insight, бэкенд, никто не читает теги, облако, разработка игр, разработка мобильных приложенийГоловоломки TCP
2016-11-25 в 12:09, admin, рубрики: devops, tcp, Блог компании Mail.Ru Group, никто не читает теги, Сетевые технологии
Говорят, что нельзя полностью понять систему, пока не поймёшь её сбои. Ещё будучи студентом я ради забавы написал реализацию TCP, а потом несколько лет проработал в IT, но до сих пор продолжаю глубже и глубже изучать работу TCP — и его ошибки. Самое удивительное, что некоторые из этих ошибок проявляются в базовых вещах. И они неочевидны. В этой статье я преподнесу их как головоломки, в стиле Car Talk или старых головоломок Java. Как и любые другие хорошие головоломки, их очень просто воспроизвести, но решения обычно удивляют. И вместо того, чтобы фокусировать наше внимание на загадочных подробностях, эти головоломки помогают изучить некоторые глубинные принципы работы TCP.
Читать полностью »
Мониторинг и настройка сетевого стека Linux: получение данных
2016-11-21 в 9:43, admin, рубрики: linux kernel, Блог компании Mail.Ru Group, давайте кратко пробежимся, Настройка Linux, никто не читает теги, оптимизация, Сетевые технологии, системное администрирование
В этой статье мы рассмотрим, как осуществляется приём пакетов на компьютерах под управлением ядра Linux, а также разберём вопросы мониторинга и настройки каждого компонента сетевого стека по мере движения пакетов из сети в приложения пользовательского пространства. Здесь вы найдёте много исходного кода, потому что без глубокого понимания процессов вы не сможете настроить и отслеживать сетевой стек Linux.
Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
2. Обзор проблематики
3. Подробный разбор
3.1. Драйвер сетевого устройства
3.2. SoftIRQ
3.3. Подсистема сетевого устройства в Linux
3.4. Механизм управления принимаемыми пакетами (Receive Packet Steering (RPS))
3.5. Механизм управления принимаемыми потоками (Receive Flow Steering (RFS))
3.6. Аппаратно ускоренное управление принимаемыми потоками (Accelerated Receive Flow Steering (aRFS))
3.7. Повышение (moving up) сетевого стека с помощью netif_receive_skb
3.8. netif_receive_skb
3.9. Регистрация уровня протокола
3.10. Дополнительная информация
4. Заключение
Математика CSS-шлюзов
2016-11-16 в 9:58, admin, рубрики: css, Блог компании Mail.Ru Group, верстка, Клиентская оптимизация, никто не читает теги, Разработка веб-сайтовCSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.
В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать полностью »
Парсинг JSON — это минное поле
2016-10-31 в 18:45, admin, рубрики: json, php, python, swift, Анализ и проектирование систем, Блог компании Mail.Ru Group, никто не читает теги, стандарты
JSON — это стандарт де-факто, когда заходит речь о (де)сериализации, обмене данными в сети и мобильной разработке. Но насколько хорошо вы знакомы с JSON? Все мы читаем спецификации и пишем тесты, испытываем популярные JSON-библиотеки для своих нужд. Я покажу вам, что JSON — это идеализированный формат, а не идеальный, каким его многие считают. Я не нашёл и двух библиотек, ведущих себя одинаково. Более того, я обнаружил, что крайние случаи и зловредная полезная нагрузка могут привести к багам, падениями и DoS, в основном потому, что JSON-библиотеки основаны на спецификациях, которые со временем развиваются, что оставляет многие вещи плохо или вообще не задокументированными.
2. Тестирование парсинга
2.1. Структура
2.2. Числа (Numbers)
2.3. Массивы
2.4. Объекты
2.5. Строки
2.6. Двойственные значения RFC 7159
3. Архитектура тестирования
4. Результаты тестирования
4.1. Полные результаты
4.2. C-парсеры
4.3. Objective-C-парсеры
4.4. Apple (NS)JSONSerialization
4.5. Freddy (Swift)
4.6. Bash JSON.sh
4.7. Другие парсеры
4.8. JSON Checker
4.9. Регулярные выражения
5. Контент парсинга
6. STJSON
7. Заключение
8. Приложение
Как я читал показания датчиков через SNMP (Python+AgentX+systemd+Raspberry Pi) и соорудил ещё одну мониторилку
2016-10-18 в 19:16, admin, рубрики: agentx, linux, python, Raspberry Pi, selinux, snmp, systemd, zabbix, Анализ и проектирование систем, никто не читает теги, Разработка для интернета вещей, Разработка под Linux, системное программированиеВсем привет.
С момента публикации статьи про «В меру Универсальное Устройство Управления» прошло немало времени (а если быть точным, больше года). Немало, но недостаточно много, чтобы я таки написал нормальную программную начинку для этого устройства. Ведь не для красоты ж оно есть — оно должно собирать данные с датчиков и делать так, чтобы эти данные оказывались в системе мониторинга (в моём случае Zabbix)
Читать полностью »
Что такое информация с точки зрения физики?
2016-10-14 в 8:43, admin, рубрики: вопросы, информатика, информация, Научно-популярное, никто не читает теги, основы мироздания, почемучка, физика, энтропияДобрый день, земляне!
В случае каких-либо недоразумений/недопониманий, прошу считать этот пост чисто пятничным флеймом. Сразу уточню, что в этом посте нет ответа на вопрос. Я сам его ищу – поисковики не помогают – и тут лишь озвучиваю сам вопрос. Надеюсь на помощь зала.
Есть ли какие-то исследования/теории/гипотезы/whatever на тему того, чем является информация с точки зрения фундаментальной физики? С математической точки зрения тут всё ясно – есть биты, их комбинации, алгоритмы по хранению и изменению этих битов и т.д. – по-сути, вся IT-сфера как раз этим и занимается.
Читать полностью »
Как мы написали фриланс-биржу для Telegram
2016-09-22 в 6:30, admin, рубрики: bot, javascript, JS, Node, node.js, open source, telegram, биржа, боты, месяц работы и получилось что-то, никто не читает теги, Программирование, серверная разработка, фриланс, фрилансер
Добрый день, дорогие читатели! Сегодня решил рассказать вам о нашем опыте создания бота для Telegram на Node.js практически без опыта серверной разработки и на добровольных началах. Сразу оговорюсь: у меня за спиной чуть больше четырех лет разработки под iOS, у остальных членов команды тоже был опыт разработки от одного до шести лет в смежных областях. Для большинства из нас это был первый случай использования Node.js в сравнительно большом проекте. Как мы это сделали, зачем мы это сделали, почему фриланс-биржа и как она отличается от классических моделей, какие у нас были проблемы и как мы с ними боролись – под катом!
Читать полностью »
PHP: неправильный путь
2016-08-30 в 13:32, admin, рубрики: php, web-разработка, Анализ и проектирование систем, архитектура приложений, Блог компании Mail.Ru Group, никто не читает теги, Разработка веб-сайтов, Совершенный код, стандарты
В мире PHP-программирования существует набор трендов. Некоторые люди активно продвигают их (в книгах и на сайтах) как «современный PHP», а другие подходы выставляют как устаревшие, глупые или просто неверные.
Похоже, все эти люди без устали стараются заставить каждого программировать так, как они считают нужным. Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами. Материалы, представленные на сайте PHP — The Wrong Way, будут обновляться по мере появления новой информации. Приглашаем всех поучаствовать в этом.
Читать полностью »
Видеонаблюдение в подъезде: как родился PartCCTV
2016-08-10 в 11:54, admin, рубрики: cctv, diy или сделай сам, Видео-техника, видеонаблюдение, Железо, никто не читает теги
Телекоммуникационный шкаф на 9U, гордо именуемый местными электриками "серверной"
Вдохновившись статьей datacompboy об организации домового видеонаблюдения, я решил осуществить нечто подобное и в своём подъезде. Начал с формулировки техзадания: видеорегистратор выбывает из-за невозможности масштабирования в других подъездах, системник — из-за колхозинга, поэтому ядром я решил назначить сервер. Камеры IP, минимум 720P. Расположение камер тогда меня не волновало.