Pull to refresh
3
0
Tony Skorik @TCapS

Software Engineer @ AliExpress Russia

Send message

Шардированный кэш на базе Memcached

Reading time11 min
Views8.4K

Привет! Меня зовут Андрей Барболин, я Senior Software Engineer в команде Order Management System. Сегодня я расскажу вам, как мы сделали шардированный кэш и под стресс-тестами добились 30 миллионов операций в секунду, а также про первую open source библиотеку от AliExpress Россия.

Читать далее
Total votes 19: ↑18 and ↓1+20
Comments27

ОС с нуля: Глава 1, Часть 1 — Загрузчик

Reading time4 min
Views18K

Хай Хабр! Это серия статей по написанию моей ОС с нуля. Я лютый фанат ретропрограммирования, поэтому я мгновенно забуду про существование EDК. Просьба не писать комменты по типу "BIOS давно устарела где UEFI?". Пишу это просто чтобы было, что почитать вечером и порелаксить. Спасибо.

Читать
Total votes 24: ↑23 and ↓1+26
Comments59

Что происходит в «Пиковой даме» Пушкина и во что они играют?

Reading time16 min
Views77K


Если коротко — Пушкин открыл жанр «киберспортивной фантастики». Только до появления фантастики и киберспорта. Его одно из самых известных произведений — «Пиковая дама» — это рассказ про мегапопулярную в свете игру в карты с элементами философских вопросов. Попадание в тогдашнюю аудиторию стопроцентное благодаря невероятно простому порогу входа (31 страница текста итого), очень узнаваемым персонажам, невероятной куче пасхалок, сарказму и актуальной теме.

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

Поэтому мы сейчас поговорим про пасхалки «Пиковой дамы», как Пушкин вьехал сапогом в зубы понтёру и немного про математику. Кстати, Александр Сергеевич был тем ещё кутилой, что не совсем вяжется с образом, который дают на литературе в школе. И поскольку вы сейчас, скорее всего, дома, предлагаю прикоснуться к прекрасному.
Читать дальше →
Total votes 171: ↑167 and ↓4+211
Comments69

Автоматизация аэропорта в HEL

Reading time8 min
Views15K
Хельсинки-Вантаа — один из лучших аэропортов Северной Европы по рейтингу Скайтракса. Именно туда приходит мемичный рейс из Сингапура SIN -> HEL.


Система трекинга пассажиров. Видно, кто в какой очереди, сколько времени стоит, из какого сектора пришёл и так далее.

В прошлый раз я рассказывал про Finnair. HEL — их базовый аэропорт, и они очень плотно интегрированы. Пример — сверхкороткие транзиты по 35 минут (40 через границу), которые требуют дико отлаженных процессов и современной техники как для пропуска всех пассажиров, так и для того, чтобы успеть обработать весь багаж и почти ничего не потерять.

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

image

Для меня же самое прекрасное в HEL — это атмосфера какого-то невероятного спокойствия и расслабленности. Матти, продакт-овнер аэропорта, сказал просто:

— А! Это мы проигрываем шуршание листьев и пение птиц, но очень-очень тихо.

Прислушался — и правда, проигрывают. На пределе чувствительности.
Читать дальше →
Total votes 46: ↑44 and ↓2+57
Comments32

Древности: 50 оттенков ICQ

Reading time9 min
Views45K
Недавно из поста на Хабре я узнал, что в мессенджере ICQ массово удаляют старые неактивные аккаунты. Решил проверить две своих учетки, к которым подключался относительно недавно — в начале 2018 года — и таки да, они тоже удалены. При попытке подключения или входа в аккаунт на сайте с заведомо правильным паролем получил ответ, что пароль неправильный. Получается, что у меня больше «нет аськи». Вроде бы не беда, но ощущение непривычное: больше 20 лет она у меня была, а теперь нет. Я коллекционер ретротехнологий, но не считаю себя активистом, сторонником сохранения вечных ценностей, борцом за всё старое и доброе. Все в этом мире меняется, и нечего горевать ни по седым волосам, ни тем более по последовательности из семи или девяти цифр, которая когда-то была гордо напечатана на моей визитной карточке.



Но есть повод подвести итог. ICQ живет, но меня там больше нет, а значит можно рассказать всю историю формата «я и аська» от начала и до конца. Это пост во имя ностальгии, в моих терминах — рыдалка, но не только. В очень ограниченном виде я восстановил экспириенс двадцатилетней давности, когда на рубеже веков ICQ была мессенджером номер один. Послушал те самые звуки, отправил пару сообщений самому себе. Не буду говорить, что нынче ICQ «не торт»: в конце концов своих конкурентов (AOL Instant Messenger, MSN Messenger, Yahoo Messenger) этот сервис успешно пережил. 15-20 лет назад в ICQ были реализованы почти все фичи современных средств сетевого общения, только произошло это слишком рано. Об этом и поговорим.
Total votes 58: ↑57 and ↓1+80
Comments170

Коронавирус COVID-19: только факты, без паники

Reading time5 min
Views298K
Паника — худшее, что может случиться во время пандемии. Хабр всегда был и остается местом, где людям важны факты, а не домыслы. Факты такие: коронавирус оказался заразным и в некоторых случаях — смертельным. Государства избирательно закрывают границы, авиакомпании отменяют рейсы, массовые мероприятия переносятся. Лучшее, что можно сделать — как следует подготовиться. Ниже мы собираем самые внятные и полезные статьи, которые выходили на площадке в последнее время. Материал будет дополняться.
Читать дальше →
Total votes 72: ↑59 and ↓13+92
Comments220

Коронавирус: филогения, курение, летальность и снижение рисков заболеть

Reading time8 min
Views260K


Есть ощущение, что про эпидемию COVID-19 сейчас вещают из каждого утюга. В этом плане Хабр радует хорошими постами с нормальными источниками и конструктивным обсуждением. Я тоже решила поделиться свежими препринтами на тему экспрессии ACE2 у укуренных мышей, особенностями генетики и эволюции вируса, а также рекомендациями о снижении рисков заболеть. И ещё поскольку мы занимаемся средствами для глаз в лаборатории, меня просто достали вопросами, что помогает. Если коротко — лучше всего помогает пакет на голову.
Total votes 81: ↑75 and ↓6+105
Comments196

Почему Мастерхост был обречен: взгляд изнутри

Reading time8 min
Views104K
замок с алтуфьево

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

Я проработал там 5 лет, и я хочу рассказать, что именно было не так с этой компанией.
Читать дальше →
Total votes 201: ↑197 and ↓4+271
Comments301

Коронавирус: почему надо действовать прямо сейчас

Reading time19 min
Views5.6M

Вступление


Учитывая всё, что происходит с коронавирусом, может оказаться очень сложно принять решение, что делать прямо сейчас. Стоит ли подождать, пока станет больше информации? Надо ли предпринять что-то уже сегодня? Если да, то что?

В этой статье со множеством графиков, данных и моделей из большого числа источников мы постараемся ответить на вопросы:

  • Сколько людей заболеют коронавирусом в вашем регионе?
  • Что случится, когда они начнут заболевать?
  • Что вы должны делать?
  • Когда?

Когда вы закончите читать статью, вы придёте к следующим выводам:

  • Коронавирус приближается к вам.
  • Он приближается с экспоненциальной скоростью: сперва постепенно, а потом внезапно.
  • Это вопрос нескольких дней. Может быть, неделя или две.
  • Когда это случится, ваша система здравоохранения будет перегружена.
  • Ваши сограждане будут лечиться в коридорах.
  • Изможденные медицинские работники сломаются. Некоторые погибнут.
  • Им придётся решать, кто из пациентов получит лечение, а кто умрет.
  • Единственный способ предотвратить это — социальная изоляция уже сегодня. Не завтра. Сегодня.
  • Это значит держать как можно больше людей дома, начиная с сегодняшнего дня.

Если вы политик, общественный деятель или руководитель, у вас есть власть и ответственность, чтобы предотвратить описанное выше.

Сейчас вы можете опасаться: что, если это избыточная реакция? Не станут ли люди смеяться надо мной? Вдруг они разозлятся на меня? Не буду ли я выглядеть глупо? Не лучше ли подождать, пока другие сделают первые шаги? Что, если это слишком навредит бизнесу?

Однако через 2-4 недели, когда весь мир будет закрыт и изолирован, когда окажется, что несколько драгоценных дней социальной изоляции, которые вы организовали, спасли жизни, вас больше не будут критиковать. Люди будут благодарить вас за то, что вы приняли правильное решение.

Итак, давайте разбираться.
Много графиков и длинный текст
Total votes 424: ↑368 and ↓56+456
Comments2074

Функциональное программирование — это не то, что нам рассказывают

Reading time17 min
Views126K

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



Хотя люди обычно признают удобства ФП фич, ведь намного приятнее писать:


int Factorial(int n)
{
    Log.Info($"Computing factorial of {n}");
    return Enumerable.Range(1, n).Aggregate((x, y) => x * y);
}

чем ужасные императивные программы вроде


int Factorial(int n)
{
    int result = 1;
    for (int i = 2; i <= n; i++)
    {
        result *= i;
    }
    return result;
}

Так ведь? С одной стороны да. А с другой именно вторая программа в отличие от первой является функциональной.


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

Читать дальше →
Total votes 208: ↑200 and ↓8+251
Comments795

Что за черт, Javascript

Reading time17 min
Views161K


Этот пост — список забавных и хитрых примеров на JavaScript. Это отличный язык. У него простой синтаксис, большая экосистема и, что гораздо важнее, огромное сообщество.


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

Читать дальше →
Total votes 104: ↑89 and ↓15+74
Comments155

Разработка сайта на WebAssembly с помощью NetCore 3 и Blazor

Reading time4 min
Views22K

Мое мнение, что WebAssembly будущее интернета. Данная технология на текущий момент уже интегрирована в большинство современных браузерах (а точнее в их движках) на ПК и мобильных устройствах. В таких браузерах как Chrome, Edge, Firefox, и WebKit.


В данной статье я опишу как начать разработку сайта WebAssembly в Visual Studio. Статья подойдет для тех, кто хотел бы понять, как начать разрабатывать SPA приложения без использования JavaScript, зная только asp.net mvc, c#, верстку html и css.


На момент выхода статьи фреймворк NetCore 3 находится в стадии RC1, а Blazor имеет версию 3.0.0-preview9.19457.4. Релиз NetCore 3 запланирован на сентябрь 2019. Что относительно Blazor то его релиз обещают позднее в ноябре 2019 года, скорее всего после релиза NetCore 3.1


Оглавление:

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments74

Безопасный способ обмена JWT в ASP.NET Core + SPA

Reading time8 min
Views42K

Вступление


Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он позволяет нам меньше управлять состоянием и хорошо масштабируется. Неудивительно, что авторизация и аутентификация с его помощью все чаще используется в современных веб-приложениях.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments10

Джеф Безос: «Отправляемся в Космос на благо Земли»

Reading time20 min
Views18K
Это самое лучшее видео, которое я посмотрел за 2019 год. Жаль, что я его не посмотрел в мае, а только сейчас, когда вышел перевод на русский.

В первой части Джеф Безос рассказывает про свои детские мечты о космосе и о своем способе мышления о будущем (горизонт планирования более 200 лет, энергоистощение, начинать с малого, делать вещи не для сиюминутной выгоды, а для перспективы, проекты на несколько поколений вперёд и пр), во второй части — о своем лунном проекте. В конце Джеф передаёт эстафету подрастающему поколению. Приятного просмотра.


Расшифровка:

20 секунд до старта.
15 секунд до старта.
Переход на автономное управление.
Двенадцать.
Одиннадцать.
Десять.
Девять.
Начинаю зажигание.
Total votes 40: ↑30 and ↓10+20
Comments417

Как быть опубликованным в Google Play в 2019

Reading time5 min
Views22K

Вступление


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

Читать дальше →
Total votes 36: ↑35 and ↓1+34
Comments20

Архитектура программного обеспечения переоценена, простой и понятный дизайн — недооценен

Reading time10 min
Views47K
image

Вашему вниманию предлагается перевод поста Гергелия Ороса, занимающего должность Engineering Manager в Uber. В нем он делится своим взглядом на проектирование крупномасштабных систем, основанном на собственном практическом опыте работы в Uber и Microsoft. В сочетании с комментариями на Hacker News, которые добавляют весомые контр-аргументы и дополняют точку зрения автора, его статья стала одним из самых интересных постов недели. В статье используется термин «дизайн кода» для сравнения с традиционной «архитектурой» — о нем подробнее можно прочитать здесь.

На мою долю выпало достаточно опыта в проектировании и создании крупномасштабных систем. Я принимал участие в переписывании распределенной системы платежей в Uber, проектировании и релизе Skype на Xbox One и выпуске в открытый доступ RIBs — мобильного архитектурного фреймворка, созданного в Uber. Все эти системы имели тщательно продуманный дизайн, прошли через несколько итераций, с ними связано множество совещаний, проведенных у маркерной доски, и других обсуждений. Затем придуманный дизайн сводился к дизайн-документу, который распространялся среди других разработчиков для сбора дополнительной обратной связи, который продолжался до тех пор, пока мы не переходили к разработке.

Все эти системы отличали большие масштабы: их создавали сотни разработчиков — или они использовали их в своих разработках — и сегодня они бьются в сердцах систем, которыми ежедневно пользуются миллионы людей. Причем, эти проекты создавались не с нуля. Система платежей должна была заменить две другие существующие платежные системы, используемые десятками других систем и дюжинами команд, и все это — без какого-либо ущерба для бизнеса. Переписывание приложения Uber было проектом, над которым одновременно работало несколько сотен инженеров — он включал в себя портирование всей существующей функциональности на новую архитектуру.
Читать дальше →
Total votes 73: ↑66 and ↓7+59
Comments66

Новое доказательство решает вопрос аппроксимации таких чисел, как пи

Reading time9 min
Views18K

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



Двоичная запись π бесконечна. Но бесконечное число дробей могут приближаться к этому числу со всё возрастающей точностью.

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

Доказательство разрешает задачу почти 80-летней давности, известную, как гипотеза Даффина-Шаффера. Тем самым оно даёт окончательный ответ, занимавший математиков с древних времён: при каких условиях возможно представлять иррациональные числа, длящиеся бесконечно долго – типа числа пи – простыми дробями типа 22/7? Доказательство устанавливает, что ответ на этот довольно общий вопрос обнаруживается в результате единственного вычисления.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments5

Парамагноны и магноны: энергия из тепла

Reading time8 min
Views7.9K


Оглянитесь вокруг, что вы видите? Дома, машины, деревья, людей и т.д. Все куда-то бегут, все куда-то спешат. Город, напоминающий муравейник, особенно в час пик, всегда наполнен движением. И такая же картина наблюдается не только в «большом» мире, но и на атомарном уровне, где неисчислимое множество частиц движутся навстречу друг другу, сталкиваются, отдаляются и вновь находят нового партнера для своего невероятно сложного и порой столь кратковременно танца. Отбросим в сторону утрирование и поэтичность и поговорим сегодня об исследовании, в котором международная команда ученых из университета штата Северная Каролина, Ок-Риджской национальной лаборатории, университета штата Огайо и Китайской академии наук доказали, что парамагноны могут преобразовывать разницу температур в электрическое напряжение. Что такое парамагноны, в чем их уникальная особенность, как ученые реализовали свой необычный «генератор» и насколько он эффективен? Об этом мы узнаем из доклада исследовательской группы. Поехали.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments15

Must-have алгоритмы машинного обучения

Reading time5 min
Views31K
Хабр, привет.

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи. Этот пост — краткий обзор общих алгоритмов машинного обучения. К каждому прилагается краткое описание, гайды и полезные ссылки.

Метод главных компонент (PCA)/SVD


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

image

SVD — это способ вычисления упорядоченных компонентов.

Полезные ссылки:


Вводный гайд:

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

Профилирование со сверхсветовой скоростью: теория и практика. Часть 1

Reading time13 min
Views10K
Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора:
мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных).



В первой мы попробуем выжать всё возможное из существующих профилировщиков.
Во второй части сделаем собственный маленький профилировщик, а в третьей посмотрим, как же профилировать то, что профилировать не принято, потому что существующие инструменты не очень для этого подходят. Если готовы пройти этот путь — жду вас под катом :)
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments3
1
23 ...

Information

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