Pull to refresh
6
0

Пользователь

Send message

Moby/Docker в продакшене. История провала

Reading time18 min
Views73K

Обновление: у этой статьи появилось продолжение, переведённое @achekalin. В каком порядке читать — на ваше усмотрение: в этой статье можно получить удовольствие от обширной попоболи автора, а в продолжении — от сделанных им выводов.


Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.


В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.


Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!


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


Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.

Читать дальше →
Total votes 141: ↑132 and ↓9+123
Comments175

Как повторить сервис anyroom.io в несколько строк JS и без бэкенда

Reading time3 min
Views16K


Месяц назад на Hacker News в топ вышел пост про сервис AnyRoom: простенький бэкенд на Go, который позволяет создавать телефонные конференции. Рейтинг больше ста, обсуждения в комментах, Исходный код на github, подписки по 50 долларов в месяц — в общем, всё как у взрослых. После первого удивления «неужели это кому-то нужно?!?» я немного погуглил «голосовая конференция без регистраций и sms недорого», подивился дороговизне приложений и понял что таки да, нужно. А на Voximplant такую штуку можно собрать за полчаса и десяток строк JavaScript-кода. Кто хочет создать стартап и попиариться на Hacker News? Под катом рассказываю, как.
Total votes 43: ↑40 and ↓3+37
Comments5

Пора завязывать использовать пробелы вместо табуляции в коде

Reading time3 min
Views91K

Этот топик — ответ на топик "Пора завязывать использовать символы табуляции в коде".
Я хотел было ответить к комментариях, но в силу объема и желания независимости от исходного топика решил создать новый топик.

Итак, под катом — почему табы лучше пробелов, самые значительные заблуждения касательно табов и как ими правильно пользоваться.

Читать дальше →
Total votes 513: ↑389.5 and ↓123.5+266
Comments407

Внутренняя структура игры Contra

Reading time22 min
Views50K
image

Как и многие из тех, кто программирует видеоигры, в детстве я часто играл в игры для NES. Меня всегда поражало, как разработчики смогли добиться столь многого минимальными усилиями, поэтому я потратил кучу времени на анализ внутренней работы некоторых игр. Сегодня я начинаю серию постов, в котором буду документировать то, чему научился, с точки зрения программиста игр. Я постараюсь сосредоточиться на работе систем игры на уровне движка, а не на аппаратном уровне (то есть буду говорить о том, как игра решает, что нужно отрисовать в текущем кадре, а не о том, как работают спрайты на NES). Также я постараюсь добавить любые крупицы информации об играх, которые мне покажутся интересными, например, неочевидное с точки зрения игрока поведение или примеры багов в логике игры.
Читать дальше →
Total votes 113: ↑112 and ↓1+111
Comments32

Реализация псевдо-3D в гоночных играх

Reading time40 min
Views50K

Введение


Почему псевдо-3d?

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

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

Стоит заметить, что не в каждой старой гоночной игре используются эти техники. В действительности описываемый в статье метод — это только один из способов создания псевдотрёхмерной дороги. В других случаях используются спроецированные и отмасштабированные спрайты или различные способы реального проецирования дороги. Степень смешения реальной математики с трюками зависит от создателей. Надеюсь, вам понравится изучение предложенного мной спецэффекта.
Total votes 92: ↑91 and ↓1+90
Comments18

Узкие места в облаках: истории Pokemon Go и Trivia Crack

Reading time8 min
Views6.5K
image

Урок: «Система, работающая с двумя миллионами пользователей, не обязательно сможет справиться с десятью миллионами».

После выпуска Pokémon Go в США в июле 2016 года она стала самой популярной на тот момент игрой в дополненной реальности. Этот продукт многолетнего сотрудничества игрового разработчика Niantic и Google (пока Niantic не встала на ноги, она была внутренним стартапом Google). Поэтому инфраструктура Pokémon Go сильно зависела от облачной платформы и служб приложений Google. (Компании Nintendo и Pokémon тоже приняли участие в создании захватывающего игрового процесса выращивания маленьких монстриков для мобильных платформ.)

Это была не первая игра Niantic в дополненной реальности. Ранее компания создала Ingress, игру о вторжении инопланетян, выпущенную в 2013 году для устройств Android. Но Pokémon Go стала игрой совершенно другого уровня — покемоны уже давно были культурным феноменом. Игра заинтересовала аудиторию, долгие годы ожидавшую мобильную игру. Поэтому количество установок росло стремительно. За полдня игра заняла первую позицию по доходам на iPhone. В какой-то степени это был самый масштабный в мире выпуск мобильной игры.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments3

Так когда же умрет электронная почта?

Reading time5 min
Views17K
История email началась еще в 1972 году, когда Рэй Томлинсон (Ray Tomlinson) предложил использовать символ «@» (at-sign) для обозначения сообщений, которые нужно передать с одного компьютера на другой.

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

Но в последнее время всё чаще появляется информация о том, что дни email сочтены. В своем исследовании специалисты компании Radicati выявили тенденцию к снижению количества отправляемых личных писем. Связано это в первую очередь с распространением социальных сетей и появлением мессенджеров, которые также называют «убийцами» email.

Читать дальше →
Total votes 38: ↑23 and ↓15+8
Comments100

TDD все еще сравнивают с TLD — мнения экспертов

Reading time8 min
Views29K


Специалисты из нескольких ВУЗов Европы – Давиде Фуччи, Джузеппе Сканиелло, Симоне Романе, Мартин Шеппэрд, Бойсе Сигвени, Фернандо Уйагуари, Бурак Туран, Наталья Юристо и Марку Ойиво – провели очередное исследование на тему эффективности тестирования ПО. Они рассмотрели методологии Test Driven Development (TDD) и Test Last Development (TLD).



Исследователи сравнивали их по двум показателям – суммарная скорость разработки продукта и качество исходного кода. Первая методология (разработка через тестирование – TDD) вновь не оправдала возложенных надежд: популярная ранее схема тестирования после разработки (TLD) оказалась не менее эффективной. Так что по указанным выше показателям существенных отличий они не обнаружили.

В таком случае чем же объясняется вспышка интереса к TDD, когда она только появилась? Эта методология возникла в 2000-х, так что теперь элемент новизны можно смело сбросить со счетов. Тем не менее, предметом споров она остается до сих пор.
Читать дальше →
Total votes 58: ↑52 and ↓6+46
Comments136

“Зонтичный” мониторинг: перископ для бизнеса

Reading time7 min
Views5.7K
Решение HPE Operations Bridge в представлении не нуждается. Множество компаний используют его в качестве эффективного инструмента для обработки событийной информации, которая поступает от отдельных компонентов ИТ-инфраструктуры. Однако это решение может быть масштабировано для инфраструктуры в целом — подобно «зонтику», собирающему и анализирующему данные со всех систем, находящихся в пределах его охвата.  


Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments0

Метод Super Mario World: серии препятствий

Reading time6 min
Views6.3K
Это третий урок из цикла о том, как применять метод Super Mario World при построении собственных уровней в Super Mario Maker. В предыдущих статьях мы рассмотрели способы упорядочить элементы геймплея в Mario Maker на таких уровнях сложности организации контента, как испытание (низкий) и модуляция (средний). Если вы еще не успели прочесть их, вам стоит это сделать, потому что данная статья основывается на пройденном ранее материале.


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Создание пакета Debian с нуля

Reading time10 min
Views38K
Создание пакета Debian с нуля является своего рода волшебным процессом. Вы могли бы начать гуглить с запросом “Создание пакета Debian с нуля” и получить множество результатов, ни один из которых не стал бы тем, который Вам необходим. Несомненно, Вы найдете большой обзор команд, которые используются в Debian и, если Вы роете достаточно глубоко, Вы сможете все же найти пару команд, которые помогут создать базовый пакет Debian, но не смогут объяснить, что происходит. Более подробную информацию о том, что все же «происходит» Вы можете получить, в данном посте мы попробуем это частично затронуть.

Читать дальше →
Total votes 51: ↑34 and ↓17+17
Comments27

Обзор физики в играх Sonic. Части 5 и 6: потеря колец и нахождение под водой

Reading time5 min
Views21K


Продолжение цикла статей о физике в играх про Соника. В этом посте рассматриваются потеря колец и нахождение под водой.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments4

Как мы рассылали SMS со старой Nokia и телефона на Android

Reading time4 min
Views29K
image

Примерно год назад мы запустили свой маленький проект с оповещениями о поломках Московского метро.

Самой главной проблемой в нем оказалась рассылка смс. Мы не ожидали, что проект понравится и у нас будет 1500+ регистраций. В самом лучшем случае мы расчитывали человек на 300. Этим мы были приятно удивлены.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments83

Поэтапное руководство по созданию иконок

Reading time11 min
Views80K
image

Статья была опубликована на smashingmagazine автор статьи Scott Lewis.

Найти недорогие качественно сделанные иконки и векторные изображения не составляет труда – именно для этого есть такие веб-сайты, как Iconfinder (где работает автор настоящей статьи). В распоряжении дизайнеров тысячи наборов иконок премиум класса, и сотни наборов доступны для бесплатного скачивания.

В данной статье приводится руководство по дизайну векторных иконок, которое включает в себя шесть этапов. Мы рассмотрим эти этапы после того, как разберем основные принципы успешного дизайна иконок. Эти принципы хорошо известны и подробно рассмотрены в таких работах, как Руководство по дизайну иконок Джона Хикса, а также в руководстве от Google Материальный дизайн в разработке системных иконок. Шесть этапов, которые мы будем рассматривать в данной статье, должны восприниматься, как рекомендации, а не как догмы. Способность чувствовать, где нужно следовать правилам, а когда их лучше нарушить – это важное качество, которое должен развить в себе каждый хороший дизайнер, и мы наглядно это продемонстрируем.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments32

Хардкор-стартап. Часть 2: Как собрать команду мечты

Reading time8 min
Views4.5K
image

Оглянувшись назад, я понимаю, что за 5 лет 3 раза собирал команду…
В предыдущей статье я рассказал сколько было “НЕТ” и “ДА” на пути к осуществлению мечты, сколько раз мне приходилось собирать и распускать команду, с какими сложностями я столкнулся, сколько ошибок совершил. Эту часть хроники я хочу посвятить моей команде. Для тех, кто не читал первую часть хардкор-стартапа: я — бизнесмен с идеей и небольшим опытом работы с программистами за плечами, который захотел попытать свое счастье в тех-стартапе.
Читать дальше →
Total votes 16: ↑7 and ↓9-2
Comments24

Хардкор-стартап. Часть 1: Как воплотить свою мечту

Reading time6 min
Views6K

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

Сегодня можно подвести первые итоги. На пути у меня было много НЕТ, несколько ДА, и три выбора, которые, впрочем, нужно делать практически каждый день.

Читать дальше →
Total votes 18: ↑10 and ↓8+2
Comments13

Big Data головного мозга

Reading time14 min
Views93K

Наверно, в мире данных нет подобного феномена настолько неоднозначного понимания того, что же такое Hadoop. Ни один подобный продукт не окутан таким большим количеством мифов, легенд, а главное непонимания со стороны пользователей. Не менее загадочным и противоречивым является термин "Big Data", который иногда хочется писать желтым шрифтом(спасибо маркетологам), а произносить с особым пафосом. Об этих двух понятиях — Hadoop и Big Data я бы хотел поделиться с сообществом, а возможно и развести небольшой холивар.
Возможно статья кого-то обидит, кого-то улыбнет, но я надеюсь, что не оставит никого равнодушным.


image
Демонстрация Hadoop пользователям

Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments75

High-Density WiFi. Часть 3: О технологиях. Часть 4: о деньгах

Reading time16 min
Views8.5K
«Переходи в мою команду и никогда не будешь вторым»
Жозе Моуриньо




Теперь поговорим о каждом блоке, из которого строятся правильные HD WiFi сети Аруба. Начнем с самого важного блока HD WiFi инфраструктуры – блока оптимизации радиосреды, без которого работа HD сети невозможна в принципе. Еще раз, кратко напомню основные сложности построения HD WiFi сетей:

  • WiFi работает в нелицензируемом спектре – огромное количество источников интерференции
  • Часто WiFi сети пересекаются между собой, конкурируя за радиоресурс
  • Множество не-WiFi устройств могут влиять на WiFi сеть, снижая ее производительность (Bluetooth, AV Systems, и т.д.)
  • Радиосреда в HD сетях очень динамична, меняется крайне быстро и наплывами
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

High-Density WiFi. Часть 1: пропуск в премьер-лигу. Часть 2: о подходах

Reading time7 min
Views14K
«По делам их узнаете их»
Матфей 7:20




Сегодня на рынке беспроводных технологий сложилась ситуация, когда WiFi решения не делает только ленивый. Китайские вендоры, американские вендоры, европейские вендоры, израильские вендоры, российские вендоры… все выпускают «беспроводные решения для корпоративных сетей». Но, как в футболе, есть Реал Мадрид, Челси и Бавария, а есть Пахтакор и Дижон, при всем уважении. И те и другие бегают по полю 68 на 105 метров и бьют ногами по мячу, пытаясь попасть в рамку 7 на 2,5. Но тут весь вопрос не в том «ЧТО ОНИ ДЕЛАЮТ», а в том «КАК ОНИ ЭТО ДЕЛАЮТ».
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments13

Мультиплеер в быстрых играх (Часть III: появление врага)

Reading time4 min
Views54K


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)

Введение


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

В этой статье мы рассмотрим последствия одновременного подключения нескольких игроков к одному серверу.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments54
1
23 ...

Information

Rating
Does not participate
Registered
Activity