Как стать автором
Обновить
11
0
skipidar @skipidar

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

Отправить сообщение

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

Время на прочтение18 мин
Количество просмотров73K

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


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


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


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


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


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

Читать дальше →
Всего голосов 141: ↑132 и ↓9+123
Комментарии175

Как программно разметить спутниковую фотографию? Решение задачи Dstl Satellite Imagery Feature Detection

Время на прочтение9 мин
Количество просмотров11K


Привет, Хабр! Меня зовут Евгений Некрасов, я программист-исследователь в Mail.Ru Group. Сегодня я расскажу о своем решении соревнования по анализу данных Dstl Satellite Imagery Feature Detection, которое было посвящено сегментации спутниковых изображений. В этом соревновании я использовал относительно простой поход к моделированию и занял 7 место из 419 команд. Под катом — рассказ, как мне это удалось.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии3

Разработка простой игры в Game Maker. Эпизод 1

Время на прочтение16 мин
Количество просмотров23K


Продолжаем реализовывать клон Plants vs Zombies в Game Maker, изучая основные особенности разработки игр в этой среде. В этом эпизоде мы затронем такие понятия как скрипты, таймлайны, ключевое слово other, depth, переопределим событие Draw, изучим несколько полезных функций и поговорим об отладке игр.

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии0

Сайты справа налево: как подключить RTL-стандарт

Время на прочтение4 мин
Количество просмотров39K
Когда неподготовленный человек видит сайт на арабском, иврите или любом другом RTL (right-to-left) языке, у него кружится голова: справа налево располагаются не только текст, но и элементы интерфейса.



Когда мы в Alconost впервые столкнулись с необходимостью локализовать сайт на арабский, а затем протестировать его, нам пришлось изучить, как именно RTL пользователи смотрят на мир:
  • вместо подчёркивания, курсива или р а з р я д к и арабы обычно пользуются надчёркиванием;
  • дробный перенос слова на другую строку не допускается;
  • пустое пространство в строке устраняется растяжением букв;
  • цифры пишутся слева направо;
  • в арабском знаки препинания пишутся слева направо;
  • в иврите и в арабском нет заглавных букв.

А если в RTL текст нужно вставить слово на латинице, оно пишется как обычно: слева направо. Такой смешанный RTL-LTR текст превращается в отличный тренажер для глаз.
Как же добиться поддержки RTL на сайте?
Всего голосов 15: ↑12 и ↓3+9
Комментарии13

Алекс Шульц (часть 1): введение в growth hacking

Время на прочтение12 мин
Количество просмотров20K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии0

15 лучших JavaScript-библиотек для построения диаграмм и сводных таблиц

Время на прочтение6 мин
Количество просмотров309K
Практически невозможно представить себе информационную панель без диаграмм и графиков. Они быстро и эффективно отображают сложные статистические данные. Более того, хорошая диаграмма также улучшает общий дизайн вашего сайта.

В этой статье я покажу вам некоторые из лучших JavaScript библиотек для построения диаграмм/схем (и сводных таблиц). Эти библиотеки помогут вам в создании красивых и настраиваемых графиков для ваших будущих проектов.

Хотя большинство библиотек являются бесплатными и свободно распространяемыми, для некоторых из них есть платные версии с дополнительным функционалом.

Читать дальше →
Всего голосов 71: ↑65 и ↓6+59
Комментарии17

Построение параллельных кривых в картографических веб-приложениях

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


Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии11

Дзен-мани и Яндекс.Деньги — автоматический учет финансов

Время на прочтение2 мин
Количество просмотров8.1K
imageМы ждали этого давно и теперь рады рассказать про первую интеграцию системы учета финансов и Яндекс.Денег.

Дзен-мани — онлайн-сервис, который позволяет вести учет наличных, карт, вкладов, кредитов и ПИФов, cоставлять финансовый план, планировать цели и получать рекомендации по их достижению.

Под катом скринкаст (как это работает в Дзен-мани) и наша PHP библиотека для интеграции с Яндекс.Деньгами.
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии28

Как продвигать игру в AppStore: делюсь опытом на примере Wordrive

Время на прочтение13 мин
Количество просмотров35K
Хочу поделиться опытом по продвижению своей новой игры для iPhone/iPad — Wordrive.

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

Итак, вот у вас готово приложение и оно появилось в AppStore. Первый поток людей на него направляется из iTunes/App Store, сам собой — за счет появления в «новинках». Рассчитывать на него нечего — он как пришел, так и уйдет через пару-тройку дней. За это время нужно делать все, чтобы о программе или игре стали писать в сети. Если программа за это время сможет собрать еще и интернет-аудиторию, то выйти в топы будет сильно проще. А чтобы ее собрать, к моменту запуска в App Store нужно уже много что сделать.

Читать дальше →
Всего голосов 109: ↑104 и ↓5+99
Комментарии89

40 механик для социальных игр

Время на прочтение4 мин
Количество просмотров30K
Разработчик игр Раф Костер (Raph Koster) составил всеобъемлющий список базовых правил, на которых основаны социальные отношения в играх (мультиплеер, параллельная игра и т.д.). Эти правила для разработчиков игры заменяют азбуку. Во многом они пересекаются с принципами игровой механики, которые уже обсуждались на Хабре.

Раф Костер приобрёл известность как создатель дизайна Ultima Online и креативный директор проекта Star Wars Galaxies, после чего основал собственную студию.
Читать дальше →
Всего голосов 102: ↑92 и ↓10+82
Комментарии33

Офис на необитаемом острове — реальность

Время на прочтение10 мин
Количество просмотров29K
Трудно вспомнить, когда и за какими напитками нам впервые пришла в голову мысль, что если все лето путешествовать не получается, и в перерыве между поездками все равно нужно работать, то нужно делать это в любимых нами Ладожских шхерах. Но в прошлом году мы это сделали — организовали на месяц коворкинг-офис на гранитном основании. И повторяем в этом году. По дороге мы приобрели некоторый опыт, который и хотим обобщить в этой статье. Мало ли, пригодится кому.

Офис-веранда
рассказ о том, как это сделать, и какие на этом пути встречаются трудности
Всего голосов 364: ↑353 и ↓11+342
Комментарии254

Плагин для WordPress. Делаем из LaTex формул картинки с помощью Google API

Время на прочтение2 мин
Количество просмотров1.5K
После того как прочитал статью на Хабре "В Google Docs появился редактор формул", решил написать для своего блога на WordPress плагин который будет выводить картинки вместо формул LaTex. Для этого я использую недокументированную возможность Google API.

читать дальше
Всего голосов 14: ↑14 и ↓0+14
Комментарии7

Поисковая оптимизация. Часть 1 — внутренние факторы

Время на прочтение3 мин
Количество просмотров1.9K
Рекомендации по html-коду, вёрстке и немного — по копирайтингу. Актуально для февраля-2009

Это не очередной список «101 совет, как достичь идеала в том-то», которых полно в интернете. Это «инсайдерская информация» SEO-компании, ведущей более 600 проектов. Перечислено то, на что мы обращаем внимание, начиная поисковую оптимизацию. Разумеется, не всё получается реализовать (например, движок сайта что-то не позволяет, а где-то пункты противоречат(!) друг другу). Ничего страшного. Если больше половины рекомендаций получается реализовать, то это уже очень хорошо!
Читать дальше →
Всего голосов 115: ↑73 и ↓42+31
Комментарии79

Типы знаний программиста и как их улучшать

Время на прочтение3 мин
Количество просмотров1.7K
Давайте опишем типы знаний и как они развиваются в мозгу программиста. Существуют три типа знаний:
  • Концептуальные (почему?, что?, если? — т.е. семантика) — понимание концепций, принципов, отношений и основных подходов к разработке программных систем. Этот тип знаний обосновывает почему архитектура приложения или алгоритм должны быть написаны определённым образом, каковы альтернативы и почему выбранный вариант — лучший с логической точки зрения. Концептуальные знания дают широкое видение и понимание того, что стоит за решение конкретных проблем в данной задаче.
    Применение: находите более качественные решения для сложных проблем
    Приобретение: изучение компьютерных и околокомпьютерных наук, концепций проектирования и программирования; создание своих собственных теорий, основанных на практике и опыте.
  • Практические (как? — т.е. процедура) — знание того, как решать конкретную проблему в программировании. Это не требует глубокого понимания концепций и теории, стоящих за выбором конкретного способа воплощения.
    Применение: быстрое решение проблем с помощью хорошо себя зарекомендовавших и проверенных решение без изобретения «велосипедов» с нуля.
    Приобретение: поиск существующих решений, обучение на примерах или переиспользование своих решений.
  • Опытные (включая интуицию) — внутреннее индивидуальное знание, которое формируется со временем в процессе разработки. Этот тип знаний позволяет синтезировать и органично использовать два предыдущих типа знаний, принимая оптимальные решения, а также оценивая получаемые концептуальные и практические знания. Его сложно передать другому человеку, так как немалая его часть находится на уровне подсознания.
    Применение: используйте свой опыт и интуицию для принятия лучших решений.
    Приобретение: разрабатывайте программы и делайте выводы из результатов

Читать дальше →
Всего голосов 57: ↑50 и ↓7+43
Комментарии13

SnapKeys 2i: Невидимая клавиатура для сенсорных устройств

Время на прочтение2 мин
Количество просмотров7.5K
Здравствуй, Хабр!

Краткий пролог

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

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии36

Как я использовал BitTorrent Sync между офисами в РФ и Китае

Время на прочтение6 мин
Количество просмотров55K
Давно не видел статей о BitTorrentSync, и очень удивляюсь: ведь это такой полезный инструмент. Буквально на днях вышла новая версия*, и я решил рассказать, как применил это решение на работе.



Начало

Однажды в нашей компании наступил момент, когда встала необходимость обмениваться довольно тяжёлыми файлами — макетами продукции и упаковки (100-500 мегабайт) между офисами в Москве, Екатеринбурге и офисом в провинции Чжэцзян, КНР. Сложность была в катастрофически низкой скорости и надёжности связи РФ — Китай.

Когда я обратил внимание на проблему, царил полный разброд и шатание:
Читать дальше →
Всего голосов 80: ↑75 и ↓5+70
Комментарии80

Что такое на самом деле Big Data и чем они прекрасны. Лекция Андрея Себранта в Яндексе

Время на прочтение3 мин
Количество просмотров107K
Директор по маркетингу сервисов Яндекса Андрей Себрант рассказал студентам Малого ШАДа о том, что такое большие данные, и о тех, зачастую неожиданных местах, где они находят своё применение.




Bid Data как понятие у всех на слуху уже не первый год. Но точное представление о том, что же представляет собой это понятие, есть далеко не у всех, особенно это касается людей за пределами IT-сферы. Проще всего несведущему человеку объяснить это на практическом примере.

Два года назад огромная сеть магазинов Target стала использовать машинное обучение при взаимодействии с покупателями. В качестве обучающей выборки использовались данные, накопленные компанией за несколько лет. В качестве маркеров конкретных покупателей использовались банковские и именные скидочные карты. Алгоритмы проанализировали, как и в каких условиях менялись предпочтения покупателей и делали прогнозы. А на основе этих прогнозов покупателям делались всевозможные специальные предложения. Весной 2012 года разразился скандал, когда отец двенадцатилетней школьницы пожаловался, что его дочери присылают буклеты с предложениями для беременных. Когда сеть Target уже приготовилась признавать ошибку и извиняться перед обиженными покупателями, выяснилось, что девочка действительно была беременна, хотя ни она, ни ее отец на момент жалобы не знали об этом. Алгоритм отловил изменения в поведении покупательницы, характерные для беременных женщин.
Конспект лекции
Всего голосов 92: ↑80 и ↓12+68
Комментарии11

UX-стратегия на практике. Часть 1 — Фреймворк

Время на прочтение14 мин
Количество просмотров31K
В идеале дизайном нужно заниматься системно с запуска первых продуктов компании. Но так получается далеко не всегда по самым разным причинам — важно запуститься как можно раньше, не было денег на старте, требовался максимально быстрый рост, концепция постоянно менялась в поиске работающей бизнес-модели и т.п. Вспомните первые Windows, Android до версии 4.0 и уйму других продуктов. Почему так происходит?

Стратеги

Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Комментарии9

Несколько интересностей и полезностей для веб-разработчика (выпуск 2)

Время на прочтение3 мин
Количество просмотров83K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Webflow



С помощью данного сервиса вы сможете сверстать кроссбраузерный отзывчивый макет за 55 минут. Очень красивый и удобный интерфейс. Идеальное решение для веб-дизайнеров, 26 000 из которых уже используют Webflow. Для создания двух проектов сервис бесплатный, а в дальнейшей перспективе вас ждут вполне демократичные цены. Инструмент реально «крутой».

Если Вам GUI для верстки не комильфо сам по себе как для меня, все равно рекомендую зарегистрироваться и экспортировать парочку responsive макетов. А еще есть простой генератор отзывчивого лэйаута и Responsive Patterns.

Parallax.js


Функциональный и простой инструмент для создания параллакс эффекта.

Читать дальше →
Всего голосов 124: ↑114 и ↓10+104
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Германия
Дата рождения
Зарегистрирован
Активность