Pull to refresh
2
0
Кирилл Пополов @ezhikov

User

Send message

Рубин на рельсах: продакшен и деплой для чайников

Reading time13 min
Views33K
Год назад я довел свое первое рельсовое приложение до приемлемого вида. Вопрос использования готового кода в продакшене ранее меня не заинтересовал. С чего вдруг? Несложный язык, лаконичный фреймворк — уж деплой-то явно не сложнее, чем преодоление ментального тормоза после PHP.

Команда разработчиков Rails рекомендует использовать Phusion Passenger, он что-то вроде mod_php — установил, разместил файлы и полетел. На момент изучения вопроса на форумах хватало баталий о производительности решений; Passenger в них фаворитом не значился.

Совета относительно альтернативы я спросил у техдиректора сайта с миллионом уников в сутки — тот отправил меня гуглить на тему Nginx и Unicorn. Инструкция по настройке продакшена, найденная на Хабре, датировалась 2009 годом. Помимо прочего, ее просто переполняли изъяны уроков «Как нарисовать сову».

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

«Хабрахабр» представляет Geektimes

Reading time4 min
Views223K
Анонсируя внесение «Хабрахабра» в реестр распространителей информации, мы дали понять, что планируем перенести часть контента на новый проект. Решение о вынесении непрофильных хабов в другое, изолированное от «Хабрахабра» место, давно зрело внутри компании. Но для принятия решения начать действовать чего-то не хватало. Внесение «Хабра» в реестр распространителей информации послужило толчком для начала решительных действий.


Читать дальше →

Рецепты хорошей типографики

Reading time7 min
Views57K
Судя по результатам голосования, которое я проводил в своём блоге, большинство пользователей никак не типографируют тексты перед публикациями (НЛО не считается). Те, кто работают над текстами, в большинстве своём делают это вручную, поэтому я решил попробовать собрать воедино рецепты экранной типографики, дабы не забывать самому и напомнить другим. Не думаю, что статья будет чем‐то новым для опытных верстальщиков. Новички узнают, профи исправят :)

Содержание

  1. Дефисы, тире, минусы и другие палочки
  2. Кавычки и чёрточки
  3. Скобки
  4. Многоточие
  5. Заголовки, списки

Читать дальше →

Что будет с законом о запрете хранения персональных данных россиян за рубежом

Reading time3 min
Views15K
Все мы помним, что Президент России Владимир Путин подписал закон, обязывающий хранить персональные данные российских граждан только на территории России. Об этом сообщается на портале правовой информации.

image

Закон вступает в силу 1 сентября 2016 года. И вот интересные моменты.
Читать дальше →

Улей: маленькая война, глубокая стратегия, странный GameDev

Reading time8 min
Views87K


В одной из школ Подмосковья психолог столкнулся с тем, что у детей очень плохо с концентрацией внимания. По тестам 90-х годов, разработанным для нормальных учеников СССР, наши современные дети справлялись чуть лучше чем никак. Учительский состав тоже на это жаловался, виня компьютерные, консольные и планшетные игры. Кидать свиньёй в птицу, очевидно, приятнее, чем доказывать равенство треугольников.

Психолог попросила у нас логических игр, чтобы дети могли играть и думать при этом. Мы насыпали немного разных. Особенно показательна история Улья – через полгода группа учеников, играющая в него, показывала самый большой отрыв от контрольной по внимательности и концентрации.

Я рассказал об этом Джону Янни, разработавшему Улей. И тем самым ввёл его в приступ умиления и ностальгии. И он поделился историей разработки игры от первых настольных шагов в 1982 году до неожиданного рывка на Steam, Android и iOS в современности. Ниже — уютная сказка про гика, который внезапно встретился с реальностью, и немного моих заметок по этой истории.
Читать дальше →

Для чего нормальным пацанам нужна миссия компании — и немного кибернетики

Reading time5 min
Views47K


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

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

Но, тем не менее, если вы используете распределённое управление, эта вот самая непонятная фигня вам жизненно необходима.
Читать дальше →

Arr.js: события для стандартного массива

Reading time3 min
Views12K
Arr.js — это «класс», унаследованный от стандартного Array. Отличительными особенностями являются: наличие события change для отслеживания любых изменений в массиве, и методы insert(), update(), remove(), set(), get() для упрощенной работы с массивом. Доступны все «родные» методы стандартного Array.

var fruits = new Arr('apple', 'orange', 'pineapple');

fruits.on('change', function(event) {
  alert('I changed fruits: ' + fruits.join(', '));
});

fruits.push('banana');

Читать дальше →

Пишем тестопригодный javascript

Reading time7 min
Views13K
[Прим. перев.]: предлагаю вашему вниманию перевод статьи Бена Черри, в прошлом разработчика Twitter. В этой статье он приводит несколько советов по написанию javascript кода, пригодного для тестирования.

Культура разработки в Twitter требует написания тестов. У меня не было опыта тестирования Javascript до работы в Twitter, поэтому мне пришлось многому научиться. В частности, некоторые шаблоны программирования, которые я привык применять, о которых я писал и призывал к их использованию, оказались непригодными для тестирования. Поэтому я подумал, что стоит поделиться некоторыми наиболее важными принципами, которые я разработал для написания тестопригодного Javascript кода. Примеры, которые я привожу, основаны на QUnit, но могут быть применены к любому фреймворку для тестирования Javascript'а.

Избегайте синглтонов


Один из моих наиболее популярных постов был о том, как использовать javascript шаблон «Модуль» для создания синглтонов в вашем приложении. Этот подход может быть простым и полезным, но он создает проблемы для тестирования по одной простой причине: синглтон загрязняет состояние объекта между тестами. Вместо синглтона в виде модуля, следует создавать его как конструируемый объект и присваивать его экземпляру глобального уровня во время инициализации вашего приложения.
Читать дальше →

Что такое маркетинг, и почему эти люди пытаются обмануть вас в большинстве случаев — ликбез

Reading time7 min
Views139K


Зацепил меня один кусок дискуссии про маркетинг сегодня на Хабре. Что это, как это, как оно для IT. Всё там хорошо кроме одного — нет понимания, что маркетинг — это не специальный шаман в проекте, который что-то там крутит, а фиговина, в которой должен живо принимать участие каждый. В IT, не в IT — неважно. Поэтому расскажу, почему.

Представьте себе небольшую парикмахерскую на первом этаже жилого дома. Наверняка у вас есть такие рядом. У неё очень ограничен круг потенциальных клиентов – это жители ближайших домов. Маркетинг – это сделать так, чтобы большинство из них стриглись именно там. Каждый косяк – это потерянный клиент (а новому взяться негде, помните?). Каждый успех – это клиент на 5-6 лет минимум, то есть не одна стрижка, а сразу много.

С другой стороны, мы чаще наблюдаем ситуацию ресторана на потоке туристов. Турист поест и не вернётся. Главное – чтобы он зашел и сел. Можно готовить почти баланду, можно хамить, можно терять клиентов направо и налево. Турист не вернётся. Вам плевать на него.

Так вот, маркетинг – это сделать так, чтобы продукт и клиент сошлись. В моём понимании – пройти всю цепочку от разработки и производства продукта до его продажи и использования в течение нескольких лет. Найти все места этой цепочки, где можно сделать лучше – и сделать это. Поработать с людьми внутри компании, чтобы они понимали, зачем всё это и почему.
Читать дальше →

Интерфейсы в реальном мире

Reading time5 min
Views180K
IT-интерфейсы часто растут из физических. Например, вот аппаратные чекбоксы:



Вообще, лучший же пример правильного инженерного интерфейса – это гранёный стакан.

Почему? Очень просто. С одной стороны, он дружелюбен к советским роботам: круглая верхняя полоса позволяет автоматической мойке нащупать его ещё с 40-х годов. С другой стороны, он прощает человеческие ошибки: ребра останавливают скатывание стакана со стола при падении. Плюс он просто красивый.

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

Фонд Майкла Джей Фокса использует носимую электронику для исследования болезни Паркинсона

Reading time1 min
Views7.8K
image

Чтобы собрать данные от пациентов, эксперты Фонда Майкла Джей Фокса объединились с Intel. Носимые устройства будут отслеживать симптомы болезни Паркинсона, после чего платформу Intel используют для обработки статистических данных.

Преимущество перед классическим сбором информации «руками» с записью данных в журналах очевидно: носимые гаджеты смогут отслеживать информацию о медлительности движения, интенсивности тремора и качестве сна 24 часа в сутки. В планах Фонда и Intel также разработка мобильного приложения, с помощью которой пациенты самостоятельно смогут добавлять информацию о своем состоянии, о приемах лекарств, что добавит деталей для исследователей.

Под хабракатом — видео (на английском).
Читать дальше →

Всё, что я не понимал про устройство Firefly, было на арктической яхте

Reading time6 min
Views94K
Когда я смотрел сериал, то в упор не понимал, как можно спрятать контрабанду на таком маленьком судне. Когда мы начали грузить еду на арктическую яхту в реале, я как-то сразу быстро разобрался. И вообще потом всю дорогу меня не покидало чувство, что примерно как-то так должен быть устроен маленький космический корабль в будущем.


Двигатель внутреннего сгорания. Слева и справа за стенами – баки с соляром. Итого мы везём чуть более 4,5 тонн топлива при потреблении около 2,5 литров в час.


Панель управления питанием

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

История спецэффектов в кинематографе

Reading time10 min
Views151K


История кинематографа неразрывно связана с историей спецэффектов. От первых примитивных уловок с освещением и фальшивых кинжалов в немом кино, до целых миров и невероятно реалистичных существ, которых никогда не существовало. Сейчас практически ВСЕ фильмы с приличным бюджетом в той или иной степени используют виртуальные декорации.

Что первично в кино — сюжет или игра актёров? Спецэффекты или мастерство оператора-постановщика? Безусловно, все эти составляющие крайне важны. Но, всё же, некоторые фильмы стали знамениты именно благодаря использованным спецэффектам. И пусть сегодня некоторые из них выглядят обыденно, а некоторые наивно, в своё время они стали вехами в кинематографе. Конечно, вообще таких фильмов было много. Но мало кто может похвастаться спецэффектами, исключительно благодаря которым стало возможно рассказать задуманную историю. Такими спецэффектами, которые не просто вызывали вау-эффект, а действительно брали за душу. Которые заставляли сопереживать главному герою, проникаться ситуациями, в которых он оказывался. Давайте вспомним о некоторых из таких знаковых фильмов.
Читать дальше →

GameDev для викторин — я принёс вам кучу бесполезных фактов и немного ветвэра

Reading time10 min
Views39K


Итак, вводная: обычные викторины скучны.

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

Давайте сделаем свою викторину, которая использует потребности основных типов игроков:
  • «Киллеров» — тех, кто охотится за сложными вопросами и получает от этого удовольствие.
  • «Манчкинов» — этот подтип игроков нуждается в признании крутости социальными путями. Очки важнее вопросов.
  • «Ачиверов» — этим парням важно перебрать все квесты игры. В викторине они хотят перебрать все вопросы и узнать на них ответы из любопытства. Для них — специальная категория вопросов.
  • «Приключенцев» — тех, кто ищет социальных взаимодействий, и, скорее всего, не умеет отвечать на вопросы. Для них мы приготовим блеф.


Давайте поиграем


Правила простые. Нужно отвечать на вопросы числами, стараясь попасть точнее. Читаете вопросы, думаете не больше минуты, открываете спойлер проверять ответ. Вот так:

Если масса человека на Земле равна 100 кг, какова будет его масса на Юпитере?
100 кг. Если вы не понимаете, почему, стоит повторить школьный курс физики.

На какое наибольшее количество частей поделят круг 4 прямые линии?
На 11 фрагментов

Какова вероятность того, что в группе из 60 человек у двух из них совпадут число и месяц рождения (в процентах)?
~99% (замечательный пример того, как неинтуитивно воспринимается теория вероятности)

В каком году появился первый компьютерный вирус?
Рабочие примеры программ-вирусов появились в 1961 году, через 10 лет после теории о принципах их работы. Первые вирусы не были зловредами, а просто доказывали свою возможность размножаться внутри системы — McIlroy et al. Darwin, a Game of Survival of the Fittest among Programs. Первые же ПК-совместимые вирусы появились 1981 для платформы Apple II
Читать дальше →

Модернизация портала «МегаФона»

Reading time7 min
Views29K


Здравствуйте, меня зовут Юрий Михайлов. В компании «МегаФон» я занимаю должность директора «Центра компетенций Онлайн». Сегодня я хотел бы рассказать о том, как мы переделали портал www.megafon.ru и создали мобильное приложение «МегаФон Личный кабинет».

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

Эта масштабная работа началась в 2013 году. Были запущены десятки больших проектов, ведь требовалось провести много исследований: оценить сильные и слабые стороны наших сайтов, детально изучить лучший мировой опыт. Необходимо было определить цели и задачи, провести проектирование новых интерфейсов. С самого начала мы поставили перед собой цель: перейти от подхода «сайт — это справочник абонента» к философии важного канала обслуживания и продаж.

Ниже представлен рассказ о том, какие задачи мы перед собой поставили и что уже сделали.
Читать дальше →

Как выстроить получение обратной связи, если у вас точки отсюда и до Южно-Сахалинска

Reading time4 min
Views18K


Прошлый раз меня спросили, как можно контролировать магазины за 1500 километров от Москвы и дальше. Очевидно, что никак. Есть классические методы, но они не особо работают. К счастью — мы можем спокойно спроецировать интернет-методы на физическую розницу и здесь.

Если задуматься, суть задачи в получении объективной обратной связи. Проблема, на самом деле, довольно старая и известная. Классическая задача такова: вы – мэр города. Вам нужно быть в курсе о проблемах, которые вы можете решать. Чем лучше вы их решаете – тем больше шанс, что вас изберут мэром ещё раз. И город для вас — это не только «клиенты», идущие на выборы, но и непосредственная база знаний для обратной связи. Каждый человек представляет собой опыт, которым нужно пользоваться.
Читать дальше →

Безопасность магазина в рознице: основные атаки

Reading time7 min
Views113K


Вынос товара


Тащат всё, даже ненужное. Кажется, из спортивного интереса, по привычке или просто потому, что получилось. Но есть и настоящие профи. В простом случае товар банально кладётся в карман, в более сложных — избавляется от меток для противокражных ворот либо экранируется специальной сумкой с аналогом решетки Фарадея в стенках (от этого страдают магазины одежды). Крутые дорогие противокражные ворота умеют отличать редкоземельные магниты и сумки с экранирующими камерами на входе — поэтому новым витком стали аналоги средств РЭБ, в частности, разные китайские глушилки. Но куда чаще несут в кармане, рукаве, штанах, за голенищем или в коробке другого товара.

DDoS-атака на магазин с воровством


Представьте, в магазин внезапно заходит человек 15. Например, цыганский табор. Уследить за товаром просто физически невозможно. Мера — сначала напоказ нажимается тревожная кнопка (ещё на момент входа). Иногда такую атаку пытаются предпринять школьники, заваливаясь целым классом, но их-то найти по школам довольно просто (лица есть на видеонаблюдении).
Читать дальше →

Больше Марсов хороших и разных

Reading time4 min
Views16K
Наверно все знают о павильоне «Космос» на ВДНХ. И многие слышали о его нелегкой судьбе после развала СССР. Из воплощения советского триумфа в космосе он превратился в безликий ангар используемый под склады и продажу садово-шанцевого инструмента. Только в глубине, у дальней стенки павильона, висел стыдливо завешенный холстиной портрет Юрия Гагарина.

Однако в 2012 году левое крыло павильона арендовала организация под безликим названием «Парки развития». Но строить они стали то, что потом назвали «Интеракториум Марс-терраформинг».


Читать дальше →

Как мы в Мосигре обрабатываем баги и косяки — разборы конкретных случаев

Reading time8 min
Views71K


Прошлый раз я писал про чужие баги. Честно будет написать теперь про наши. Они бывают трёх основных типов:

  1. Когда косякнули мы, и это реально мы.
  2. Когда виноват внешний курьер, почта или кто-то ещё — но клиент всё равно считает это косяком магазина (и, в целом, прав в этом).
  3. Когда есть брак в товаре, и виноват производитель – но клиент брал у нас, поэтому ответственность за косяк должна быть тоже на нас.

Когда-то мы думали, что достаточно уменьшить до минимума количество косяков первого типа, и всё будет отлично. Но нет, этого оказалось мало. Дело в том, что покупатель не особо разделяет в своём мировоззрении товар, продавца и доставку. И если в 6:15 утра в Иркутске в его дом стучит страшное небритое лицо с посылкой – это тоже лицо компании.

Теперь давайте расскажу с примерами, в том числе по обратной связи с Хабра.
Читать дальше →

Безопасность покупателя в рознице: что надо знать лично вам

Reading time6 min
Views253K


Ценник должен быть с печатью или подписью. Он является документом и обязательно должен быть на товаре. Если вы видите что-то с ценником (неважно, где и как оно стоит), вы имеете право купить его по цене на нём.

Пример: вам говорят, что товар по акции кончился. Вы видите один в витрине в герметичном ящике под потолком, но с ценником. Вам не имеют права отказать в его продаже.

Второй пример: когда обновляются цены, в торговом зале может остаться ценник со старой ценой ниже. Цена в базе другая? Ну и что, вот ваш же документ. Если же вдруг ценник без печати-подписи, и на таком товаре нет правильного ценника — регистрируйте нарушение. Ценники обязательно должны быть хотя бы на одном товаре из пачки.
Читать дальше →

Information

Rating
Does not participate
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity