Pull to refresh
16
0
Александр Шалахин @shalakhin

Начальник отдела разработки

Send message

Tornado vs Aiohttp: путешествие в дебри асинхронных фреймворков

Reading time12 min
Views25K
Привет! Я Дима, и я довольно давно и плотно сижу на Python. Сегодня хочу показать вам отличия двух асинхронных фреймворков — Tornado и Aiohttp. Расскажу историю выбора между фреймворками в нашем проекте, чем отличаются корутины в Tornado и в AsyncIO, покажу бенчмарки и дам немного полезных советов, как забраться в дебри фреймворков и успешно оттуда выбраться.


Читать дальше →
Total votes 58: ↑57 and ↓1+56
Comments16

Микросервисы: опыт использования в нагруженном проекте

Reading time17 min
Views68K


На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

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

Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

Про что сама эта история? Это про то, как мы росли, как проект развивался, как происходило какое-то переосмысление каких-то его частей, какого-то взаимодействия. Так или иначе, это про масштабирование проекта, потому что это всё — ради того, чтобы выдержать ещё больше нагрузки, предоставить клиентам ещё больше функционала и при этом не упасть, не потерять ключевых характеристик. В общем, чтобы клиент остался доволен. Ну и немного про то, какой путь мы прошли. С чего мы начинали.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments65

React или Vue? Выбираем библиотеку для фронтенд-разработки

Reading time7 min
Views84K
На чём делать фронтенд? Самый верный способ найти ответ – попробовать лучшие библиотеки самостоятельно. В идеале, хорошо бы начать с самого простого и понять, как таинственные для непосвящённого конструкции превращаются в готовые к выводу страницы. Дальше же, вооружившись пониманием основ, можно осмысленно читать документацию и усложнять собственные эксперименты до тех пор, пока ответ не покажется очевидным.



Сегодня мы поговорим о React.js и Vue.js. Это – одни из самых популярных JavaScript-библиотек в мире. Взгляните на этот список, посмотрите их репозитории на GitHub. И та, и другая обладают впечатляющими возможностями и служат для создания пользовательских интерфейсов. Работать с ними довольно просто, главное – сразу понять, что к чему, сделать правильный первый шаг. Собственно говоря, этому вот первому шагу в разработке с использованием React и Vue и посвящён данный материал.
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments109

Интернационализация (i18n) в Angular 2

Reading time5 min
Views33K
Для создания мультиязычных интерфейсов Ангулар предлагает использовать механизм разметки HTML шаблонов специальным маркером i18n который после компиляции удаляется из финального кода. Для этого достаточно указать этот маркер как атрибут тега окружающего текст.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments10

React Native — одного JS мало

Reading time5 min
Views193K

Итак, пришла пора быстро погрузиться в тему. Для усиления эффекта, использую разные техники преобразования информации в знания. В частности, представляю конспект доклада Алексея Андросова (старшего разработчика интерфейсов, Yandex).

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments84

Засуньте этот инфостиль себе в текст: 22 заповеди сильного редактора

Reading time9 min
Views48K
Не так давно я прочёл книгу «Пиши, сокращай» (авторы — Максим Ильяхов и Люда Сарычева) — современные популяризаторы инфостиля. Крутые чуваки, и книга тоже крутая.

Периодически в книге встречаются фразы в жирной оранжевой рамке — это основные идеи авторов. Фразы как бы закрепляют ранее описанные советы. Очень ценный ресурс.

Я быстро забываю прочитанное, поэтому выписал весь текст из оранжевых рамок в таблицу. Теперь, когда нужно писать статью, использую таблицу как руководство. Вот из чего она состоит.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments32

5 уроков семимесячного пребывания в стартаповом аду

Reading time3 min
Views6.2K
Не каждый стартап основан на пустых обещаниях или неоправданной рекламной свистопляске, но многие, именно на этом и основаны.

image

Автор:Стив Тобак — консультант по вопросам управления, публицист, бывший топ-менеджер и автор книги «Настоящие лидеры не ведутся. Как выделиться в век предпринимателя». Тобак управляет компанией «Invisor Consulting» ии ведёт собственный блог.

«Стартапы- это навсегда.» Так мне сказал основатель и директор нового, на тот момент, весьма раскрученного стартапа. Изучая стенды на промышленной выставке в Лос-Вегасе, этот ветеран техиндустрии. расписал волшебную картину с молочными реками и кисельными берегами, известную в миру как Земля Стартапов.
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments0

12 кейсов по биг дате: подтвержденные примеры из индустрии, когда биг дата приносит деньги

Reading time8 min
Views36K
Хабр, привет! Проанализировали кейсы по big data, в которых технологии больших данных помогли компаниям более эффективно работать с клиентами или оптимизировать внутренние процессы.

Кстати, совсем скоро у нас стартует первый набор программы Big Data for Executives, цель которой подготовить руководителя или владельца бизнеса к использованию данных в своей деятельности. Почитать о ней подробнее можно здесь.
Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments12

SSL-сертификаты: всем, каждому, и пусть никто не уйдёт обиженным

Reading time8 min
Views97K
Как ранее сообщалось на GeekTimes, EFF при поддержке Mozilla, Cisco, Akamai, IdenTrust и исследователей из Мичиганского университета (University of Michigan) создали новый некоммерческий центр сертификации (Certificate Authority) Let's Encrypt [1]. Целью проекта является ускорение перехода всемирной паутины от HTTP к HTTPS.
Подробности, часть из которых уже была описана на GeekTimes
Total votes 110: ↑110 and ↓0+110
Comments81

Выразительный JavaScript: Рисование на холсте

Reading time23 min
Views124K

Содержание




Рисование — это обман.
М.К.Эшер


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

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

Есть две альтернативы. Первая – SVG, масштабируемая векторная графика, также основанная на DOM, но без участия HTML. SVG – диалект для описания документов, который концентрируется на формах, а не тексте. SVG можно встроить в HTML, или включить через тег <img>.

Вторая альтернатива – холст (canvas). Холст – это один элемент DOM, в котором находится картинка. Он предоставляет API для рисования форм на том месте, которое занимает элемент. Разница между холстом и SVG в том, что в SVG хранится начальное описание форм – их можно в любой момент сдвигать или менять размер. Холст же преобразовывает формы в пиксели (цветные точки растра), как только нарисует их, и не запоминает, что эти пиксели из себя представляют. Единственным способом сдвинуть форма на холсте является очистить холст (или ту часть, которая окружает форму) и перерисовать её на другом месте.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments3

Многоликие функции Swift

Reading time16 min
Views43K
Русский перевод очень полезной статьи Natasha Murashev The Many Faces of Swift Functions.

Хотя у Objective-C синтаксис выглядит несколько странно, по сравнению с другими языками программирования, синтаксис метода — прост и понятен. Вот небольшой экскурс в прошлое:

+ (void)mySimpleMethod
{
    // метод "класса"
    // нет параметров
    // нет возвращаемых значений
}

- (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2:(NSNumber *)param2
{
    // метод "экземпляра"
    // первый параметр - типа NSString указатель, 
    // второй параметр  - типа NSNumber указатель
    // должен вернуть значение типа NSString указатель
    return @"hello, world!";
}


В противоположность этому, синтаксис Swift выглядит в большинстве случаев также, как и в других языках программирования, но временами он может быть более сложным и запутанным, чем в Objective-C.

Прежде чем я продолжу, я хочу прояснить разницу между «методами» и «функциями» в Swift, так как я повсеместно буду использовать оба этих термина в этой статье. Вот определение «методов», данное в книге Apple «Swift Programming Language»:

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments27

Тонкости nodejs. Часть II: Работа c ошибками

Reading time5 min
Views19K
Обработка ошибок в JS – та еще головная боль. Не ошибусь, если скажу, что ошибки – самое слабое место всего языка. При чем проблема состоит из двух других: сложности отлова ошибки в асинхронном коде и плохо спроектированного объекта Error. И если первой проблеме посвящено множество статей, то о второй многие незаслуженно забывают. В этом материале я постараюсь восполнить недостаток и рассмотреть объект Error более пристально.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments15

История операционных систем Apple. Часть 2. Взлет Macintosh

Reading time11 min
Views136K
Продолжаем знакомиться с историей операционных систем Apple. Сегодня Lisa, Macintosh вплоть до System 7 и ранние попытки использовать Unix.
Первая часть: habrahabr.ru/post/194696

Приход графики


image
Apple представил компьютер Lisa в январе 1983 года, за год до Макинтоша. Стартовая цена составляла $9995. Сердцем новинки был 32-битный процессор Motorola 68000. При создании разработчики явно вдохновлялись Xerox PARC, см. habrahabr.ru/post/194696. Этому способствовала договоренность между Xerox и Apple — акции в обмен на технологию. Следует заметить, что проект Lisa начали еще до причащения к PARC. В целом непонятно, какие именно идеи позаимствовали у Xerox, а какие изобрели своими силами.

Lisa OS

Lisa Office System (OS), операционная система этого компьютера, имела полностью графический интерфейс. Был файловый менеджер с иконками, при клике запускалось соответствующее приложение. В комплекте также был табличный процессор LisaCalc, программа для рисования диаграмм LisaGraph, продвинутый редактор списков LisaList, менеджер проектов LisaProject, рисовалка LisaDraw, эмулятор ANSI терминала LisaTerminal и т. д. Кроме того, на Lisa поддерживалась работа SCO Xenix.
Читать дальше →
Total votes 152: ↑141 and ↓11+130
Comments27

Компания Lytro представила пленоптическую камеру второго поколения

Reading time2 min
Views134K
Компания Lytro, основанная выходцем из Стэнфордского университета Рена Нг (Ren Ng), занимается коммерциализацией пленоптической фотографии, или фотографии светового поля, когда матрица с помощью системы микролинз фиксирует не плоскую картинку, а полную информацию о световом поле объекта съемки — фокусировку таких снимков можно производить уже после съёмки, а кадры, полученные такой камерой, позволяют получить стереоизображение. Очень подробную и большую статью о принципе работы такой камеры опубликовал хабраюзер Antelle. Первая камера Lytro была больше похожа на забавную игрушку, чем на серьёзный фотоаппарат, и качество снимков было не слишком высоким — при рендеринге в обычное плоское изображение разрешение составляло всего около мегапикселя.

Камера второго поколения, названная Lytro Illym, уже гораздо больше похожа на настоящий фотоаппарат, как по внешнему виду, так и по характеристикам. Диагональ сенсора увеличена с 1/3" до 1", разрешение снимков составляет 40 мегалучей (в этих единицах измеряется разрешение пленоптических камер) против 11 у первой Lytro. Плоские отпечатки со снимков Lytro Illym могут теперь иметь разрешение порядка 4 мегапикселей, пропорционально выросла и точность фокусировки. Большую часть камеры занимает зум-объектив с эквивалентным фокусным расстоянием 30-250 мм и постоянной апертурой F2. Камера имеет поворачивающийся 4-дюймовый видоискатель разрешением 800х480 пикселей. Её цена — 1600 долларов. Первые поставки ожидаются в июле.

image
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments125

Я, пират

Reading time17 min
Views278K


Все-таки красные у меня глаза или нет? Кажется не очень. Может так и должно быть? Я внимательно разглядывал себя в зеркало. Нет, всё-таки красные, хоть и не так сильно. Может не стоит уже с утра проверять почту и ходить по всем этим сайтам? Ну напишут там что-то, а я не прочитаю, ну и что такого? Нет, каждый раз просыпаюсь и первым делом туда…

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Total votes 228: ↑205 and ↓23+182
Comments70

Что случается, когда проект, получивший финансирование на Kickstarter, проваливается?

Reading time5 min
Views146K
Озвученный выше вопрос стал меня интересовать, когда компания, на которую я удаленно работаю, начала не только строить планы, но и делать какие-то реальные шаги для размещения собственного проекта на Kickstarter. Настроение у руководства более чем оптимистичное. Начитавшись success stories, перспектива получить финансирование «сейчас», а думать об обязательствах «потом» просто дурманит и манит к себе любого предпринимателя. Как человека больше отвечающего за техническую часть проекта, слегка пообщавшегося с потенциальными подрядчиками как в наших краях, так и в Китае, параллельно с более глубоким пониманием наших возможностей и деталей реализации проекта у меня в голове неуклонно рос один показатель — риски. Я конечно «командный игрок», «сфокусирован на цели» и вовремя зажигаю блеск в глазах и выравниваю спину в нужный момент, но дело в том, что компания в которой я работаю мне действительно нравится и работа которой занимаюсь достаточно интересна, поэтому перспектива проекта, который может убить бизнес, в котором мне, пусть и небольшому винтику, комфортно работается меня не радует. Вначале отдельные замечания, а затем все более настойчивое акцентирование внимания на потенциальных рисках все же возымело действие на руководство (может ввиду его адекватности мне и нравится место работы?) и повернувшись лицом в сторону проблемы было решено выяснить, что же собственно будет, если после получения финансирования компания не в состоянии выполнить свои обязательства перед спонсорами?
Читать дальше →
Total votes 106: ↑102 and ↓4+98
Comments36

Ebay. Украина. О таможне и пересылках — 2012

Reading time7 min
Views192K
Небольшое предисловие. В 2010 году на Хабре был опубликован пост Ebay. Украина. О таможне и пересылках, в котором aevdox рассказал о нюансах доставки товаров с Ebay применительно к Украине и, особенно, об украинских таможенных правилах. Прочитав этот пост, я почувствовал, что мне есть, что к нему добавить, и, не будучи хабражителем, написал письмо автору. Так там появился «Upd # 3».

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

А теперь к сути. С принятием в 2012 году нового Таможенного кодекса Украины (далее – ТК) и его вступлением в силу информация в статье «Ebay. Украина. О таможне и пересылках» сразу же безнадёжно устарела. Прежде всего потому, что новый кодекс отменил нормативно-правовые акты, на которые я ссылался в своём дополнении (Закон № 2681-III, Постановление Кабмина № 1652), и теперь эти отношения регулирует сам кодекс. Регулирует он их уже иначе. Я попытался разобраться с тем, что же изменилось для нас, простых покупателей с Ebay, и соответственно актуализировать информацию в статье.

Если вкратце – «жить стало легче, жить стало веселей».
Подробности далее
Total votes 154: ↑149 and ↓5+144
Comments97

Curiosity провел самое подробное геологическое исследование на Марсе

Reading time3 min
Views115K
Рентгеноскопическая дифракция — один из самых точных методов минералогического анализа. Благодаря этому методу получается узнать именно минеральный состав, а не химический. Ведь, например, алмаз и графит, с точки зрения химии — идентичны, но различные условия формирования повлияли на строение кристаллической решетки, и радикально изменили свойства минерала. Цель Curiosity — как раз определить какие условия приводили к возникновению того или иного минерала, а значит узнать какие условия были на Марсе в древности.
image
Читать дальше →
Total votes 160: ↑155 and ↓5+150
Comments23

Спросите спеца по iTunes

Reading time4 min
Views45K
Я продолжаю публиковать западные статьи о секретах OS X и советах по соответствующему софту. Прошлый материал вызвал живой отклик с массой советов-комментариев, которые со временем будут скомпилированы в новый материал. Сегодня я решил разместить материал из журнала MacWorld. Автор Кирк МакЭлхерн отвечает на вопросы пользователей об iTunes. Понятно, что многое может быть вам знакомо, но я вот, например, наконец-то догадался, что в колонки можно добавить еще и дату добавления и удобно смотреть свои новые загрузки, а не создавать смарт-лист с нужными времеными интервалами…

Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments34

Рекомендательные системы — будущее интернета

Reading time3 min
Views6.1K
image

Недавно наткнулся на новомодный тренд: рекомендательные системы, — на конкретного его представителя Surfingbird (нет, я не сотрудник данной компании). Сразу встал вопрос, как я могу на этом заработать, не стоит ли готовиться к очередной смене схемы поведения пользователей в сети?

Почему так серьезно?

Читать дальше →
Total votes 38: ↑20 and ↓18+2
Comments47
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity