Как стать автором
Обновить
9
0
Maxim Kuzovlev @KY3EH

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

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

Концепции распределенной архитектуры, с которыми я познакомился при построении крупной системы платежей

Время на прочтение12 мин
Количество просмотров36K
Я присоединился к Uber два года назад в качестве мобильного разработчика, имеющего некоторый опыт разработки бекенда. Здесь я занимался разработкой функционала платежей в приложении — и по ходу дела переписал само приложение. После чего я перешёл в менеджмент разработчиков и возглавил саму команду. Благодаря этому я смог гораздо ближе познакомиться с бэкендом, поскольку моя команда несёт ответственность за многие системы нашего бэкенда, позволяющие осуществлять платежи.

До моей работы в Uber у меня не было опыта работы с распределёнными системами. Я получил традиционное образование в Computer Science, после чего с десяток лет занимался full-stack разработкой. Поэтому, пусть я и мог рисовать различные диаграммы и рассуждать о компромиссах (tradeoffs) в системах, к тому моменту я недостаточно хорошо понимал и воспринимал концепции распределённости — такие, например, как согласованность (consistency), доступность (availability) или идемпотентность (idempotency).

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

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

Итак, давайте приступим к нашему погружению в SLA, согласованность, долговечность данных, сохранность сообщений, идемпотентность и некоторые другие вещи, которые мне потребовалось выучить на своей новой работе.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии2

Иерархия IT-систем и выбор программного обеспечения для организации труда

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

И очень важно помнить при выборе и внедрении IT-систем, что первичен здесь — труд, а не программное решение. Я не единожды сталкивался с тем, что люди выбирали программу просто потому что: “она понравилась”. В результате появляются попытки “натянуть” процессное производство, например, работу молокозавода, на ERP-систему, предназначенную для дискретного производства (сборка изделий).
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии10

3D-движок, написанный на формулах MS Excel

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

Скриншот экрана игры

Эта статья посвящена тому, как я смог написать 3D-движок только на формулах Excel. Я реализовал следующий функционал:

  • бесконечная процедурно генерируемая карта лабиринта
  • рендеринг трассировкой лучей в реальном времени
  • вычисление окклюзии
  • рендеринг простейшего освещения
  • шейдер освещения и вычислений
  • движок естественного движения
  • в 3D-движке не используются макросы

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

Можете скачать файл и протестировать его самостоятельно!
Всего голосов 229: ↑226 и ↓3+223
Комментарии101

640 КБ на самом деле хватит всем

Время на прочтение10 мин
Количество просмотров119K
image

Никогда не сдавайтесь


Действительно ли Билл Гейтс произнёс фразу «640 КБ должно хватить всем»? Её история довольно туманна, однако чаще всего её приписывают Биллу, так что, возможно, он действительно такое говорил.

Его довольно часто за это высмеивали. Мысль о общем пространстве памяти размером всего 640 КБ по современным стандартам смехотворна. В этот размер не уместится даже исполняемые файлы большинства программ-установщиков.

Для сравнения: калькулятор в Windows 10 занимает в состоянии простоя 16,2 МБ оперативной памяти — почти в 26 раз больше, чем объём доступной DOS-программам памяти в 1980-х.

Странные дела


Поверите ли вы мне, если я скажу, что до сих пор существует активное сообщество, использующее эту устаревшую платформу и разрабатывающее для неё ПО?

Наверно, вашим первым вопросом будет «Но зачем?» И я хорошо вас понимаю. Давайте рассмотрим некоторые группы, которые до сих пор заинтересованы во вложениях усилий в DOS.
Читать дальше →
Всего голосов 110: ↑109 и ↓1+108
Комментарии203

Неожиданная встреча. Глава 14

Время на прочтение13 мин
Количество просмотров6.3K
Заркон работал с текущими сводками. Прошла неделя с тех пор как флот начал операцию внутри СЦМ и центральной власти удалось восстановить формальное подчинение корпораций закону. Заркону была доступна в полном объёме информация не только Ордена, но и Церкви. И картина событий ему очень не нравилась. В СМИ вовсю обсуждался теракт, его исполнение и заказчики. Строились версии одна фантастичнее другой. Но чистая фактологическая информация намекала, что везде слишком всё согласовано. Налицо был явно продуманный, хитрый, очень умный и детальный масштабный план по дестабилизации систем СЦМ.

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


Читать дальше...
Всего голосов 15: ↑12 и ↓3+9
Комментарии13

10 приемов по созданию красивых бизнес презентаций из 2017 года

Время на прочтение6 мин
Количество просмотров381K
Встречали ужасные PowerPoint презентации с разноцветными слайдами и безвкусными картинками? Тогда вы точно должны прочитать эту статью!

ВАЖНО: здесь я пишу только про бизнес презентации для чтения — не для публичных выступлений. Это важно понять, так как техники разные в этих двух форматах. Под форматом «бизнес презентаций для чтения» я подразумеваю такие документы как коммерческие предложения, спонсорские пакеты, инвестиционные презентации проектов, презентации продуктов, которые в большинстве случаев отправляются исключительно по электронной почте.

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

Начнем с самого важного при создании презентации:
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии48

Документируем и тестируем REST API с помощью SpringRestDocs

Время на прочтение11 мин
Количество просмотров24K
Добрый день, хочу затронуть тему документирования REST API. Сразу же оговорюсь, этот материал будет ориентирован на инженеров работающих в Spring экосистеме.
На нескольких последних проектах я использовал фреймворк SpringRestDocs, он успешно закрепился в портфолио, был показан знакомым, которые также начали успешно его применять и теперь я хочу поделиться с Вами в статье о его возможностях и преимуществах. Статья позволит разобраться с применением SpringRestDocs и начать его использовать.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии8

Бестиарий С++. Справочник по загадочным персонажам

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


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

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии43

Flightradar24 — как это работает?

Время на прочтение4 мин
Количество просмотров124K
Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени.



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

Восполним этот пробел. О том, как это работает продолжим под катом.
Читать дальше →
Всего голосов 130: ↑129 и ↓1+128
Комментарии190

Дюжина приемов в Linux, которые действительно сэкономят уйму времени

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


Эта статья также есть на английском.

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

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

Под катом — дюжина приемов в командной строке — из личного опыта.
Читать дальше →
Всего голосов 128: ↑122 и ↓6+116
Комментарии169

Единый репозиторий для управления Enterprise Architecture

Время на прочтение7 мин
Количество просмотров16K
Моя история не для всех. В том смысле, что тема не хайповая. Но тем, кто в теме, надеюсь, будет интересно. Она (история) основана на реальном опыте последних лет. Я расскажу об одном из вариантов — с моей точки зрения, эффективном, — управления сложным архитектурным ландшафтом.

Что я подразумеваю под «сложным»: это несколько сотен бизнес-приложений с довольно внушительной дисперсией атрибутов — технологии, разнородность функциональности, связанность с другим приложениями, критичность, возраст, размер и так далее. Добавьте сюда динамику, поскольку ландшафт неустанно меняют несколько десятков внутренних и внешних команд. Иными словами — самый отпетый, или, на устойчивом жаргоне, «кровавый» энтерпрайз.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии17

RFDS: скорая помощь Австралии с SLA в 1 час до любой точки континента

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


Представьте для начала, что вы живёте в раю на краю земли, и вокруг на 500 километров нет людей. Это прекрасно во всех ситуациях кроме той, когда вас укусила змея, и жить вам осталось 2 часа, если двигаться. Или примерно 20-25 часов, если лежать в тени и пускать пену и слюни в траву.

Можно же носить с собой вакцину, правда? Да. Вместе с холодильником. Это увеличивает ваши шансы выжить при укусе змеи до 20%. Дело в том, что вакцин пять штук. И введение не той гарантированно убьёт вас за 15 минут. Нужно либо держать в руках ту змею, что вас укусила и внимательно её рассматривать, читая инструкцию (а большинство укусов ощущается как укол травой, и иногда жертвы даже не знают, что это было, пока не начнёт кружиться голова) — ну либо иметь под рукой полевую лабораторию для экспресс-анализов. И ещё если вы вдруг на двадцатом году жизни узнаете о выборочном дальтонизме, радоваться будете недолго. И это только змеи, потому что есть ещё куча обычных бытовых вещей от прихватившего аппендицита до проблем с сердцем.

А государство очень заинтересовано, чтобы фермы развивались. И вот в этот момент на сцене появляется RFDS. Королевская служба летающих докторов. Медицинский спецназ Австралии.
Читать дальше →
Всего голосов 185: ↑184 и ↓1+183
Комментарии191

NIST наконец-то меняет рекомендации по паролям: теперь рекомендуются длинные парольные фразы

Время на прочтение4 мин
Количество просмотров45K
На фото: Лорри Фейт Кранор, профессор Университета Карнеги — Меллон, в платье с 500 самыми популярными паролями в интернете, на саммите по кибербезопасности в Стэнфордском университете. Она надеется, что изучение платья поможет окружающим людям осознать необходимость поменять свой слабый пароль.

В 2003 году Билл Бёрр (Bill Burr) работал менеджером среднего звена в Национальном институте стандартов и технологий. Ему с коллегами поручили написать скучную инструкцию — документ с инструкциями по выбору и управлению паролей, который должен был стать рекомендацией для государственных организаций США. Сотрудники выполнили задание — и этот документ стал известен как NIST Special Publication 800-63B. Лично Бёрр написал приложение А к этому стандарту (Appendix A) — восьмистраничный пример, который даёт практические советы по выбору и управлению паролями. Билл Бёрр рекомендовал чередовать цифры, специальные символы, строчные и прописные буквы, а также периодически менять пароли.

Рекомендация NIST с годами превратилась в стандарт, который стал обязателен для исполнения во многих государственных учреждениях, а сам сейчас автор в полной мере осознал масштаб своих ошибок и теперь очень сожалеет о содеянном, пишет The Wall Street Journal.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии165

AV-ресивер Denon AVR-X2400H: отвечая требованиям времени или больше чем HI-FI

Время на прочтение5 мин
Количество просмотров18K
Я стараюсь избегать в этом блоге откровенно рекламных публикаций. Но в ряде случаев я сталкиваюсь с устройствами, о которых действительно хочется написать. Сравнительно недавно у меня появилась необходимость купить AV-ресивер: попросил брат, который предпочитает смотреть кино дома, страдает лёгкой формой аудиофилии и поэтому достаточно критично относится к технике.



Сам я никогда не был горячим поклонником кинотеатров для дома (предпочитаю посещать общественные), а с AV-ресиверами сталкивался исключительно по причине работы в Pult, поэтому задача оказалась сравнительно непростой. Бюджет покупки был ограничен 50 000 рублей, что также осложняло выбор.

После двухнедельного вгрызания в даташиты и консультаций с нашими спецами по AV, я остановил свой выбор на Denon AVR-X2400H. Устройство впечатлило меня настолько, что я решил сделать небольшой обзор. Постараюсь выразить восторг без пафоса, лишнего субъективизма и приторной «джинсовости». Если вам интересно, что именно меня так впечатлило — добро пожаловать под кат!
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии48

Время смелых. Как мигрировать в облака, не нарушая требований регуляторов?

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


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


Несмотря на то, что в мире банковский сектор стал одним из первых использовать облачные технологии, в РФ к ним, из-за принятия ряда новых законов (Закона «О персональных данных» и сопутствующих документов), финансовые учреждения относятся осторожно. И если рынка частных облаков законодательные акты не коснулись, то публичных компании опасаются. Ведь использование «внешних» сервисов всегда требовало повышенного внимания к вопросам информационной безопасности, все-таки банковская отрасль. Кроме того, за последние годы существенно увеличилось количество киберугроз и хакерских атак, и теперь на участников финансового рынка накладываются ужесточенные требования законодательства РФ в области защиты информации и акты регулирующих органов.


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


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

Разработка web API

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

Интро


Это краткий перевод основных тезисов из брошюры «Web API Design. Crafting Interfaces that Developers Love» Брайана Маллоя из компании Apigee Labs. Apigee занимается разработкой различных API-сервисов и консталтингом. Кстати, среди клиентов этой компании засветились такие гиганты, как Best Buy, Cisco, Dell и Ebay.

В тексте попадаются комментарии переводчика, они выделены курсивом.

Собираем API-интерфейсы, которые понравятся другим разработчикам


Понятные URL для вызовов API

Первый принцип хорошего REST-дизайна — делать вещи понятно и просто. Начинать стоит с основных URL адресов для ваших вызовов API.

Ваши адреса вызовов должны быть понятными даже без документации. Для этого возьмите себе за правило описывать любую сущность с помощью коротких и ясных базовых URL адресов, содержащих максимум 2 параметра. Вот отличный пример:
/dogs для работы со списком собак
/dogs/12345 для работы с отдельной собакой
Дальше
Всего голосов 235: ↑224 и ↓11+213
Комментарии128

Orienteer: обзор платформы и обновлений последнего релиза

Время на прочтение6 мин
Количество просмотров5.2K
После нашей первой статьи о том, как из Orienteer и docker сделать BaaS, мы обещали рассказать, что такое Orienteer, кому и как он может быть полезен. А тут еще и повод есть хороший: мы зарелизили версию 1.2 нашей платформы.

Версия 1.2 полностью поддерживает установку с помощью docker-образов, есть интеграция с процессным движком Camunda BPM, встроен интеграционный фреймворк Apache Camel, с помощью удалённого логирования ошибок стало проще получать диагностическую информацию о состоянии системы и многое другое.



Итак, обо всём этом коротко и по порядку под катом. Но краткость не всегда полезна, так что, дорогой читатель, есть одна просьба. Если мы были излишне кратки, а вы хотите узнать о чем-то более подробно — пишите в комментариях!

Ах, да — в статье вы найдете маленький подарок читателям Хабрахабр.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Удобная памятка и 8 ссылок на документацию по ГОСТ 34 (автоматизированные системы)

Время на прочтение2 мин
Количество просмотров35K
Одним пятничным вечером несколько лет назад я получил задание от руководителя подготовить за выходные ТЗ на конкурс. Видимо, я слишком уж излучал радость от предстоящих выходных, и боссу просто было приятно занять их чем-то новым и интересным, как он считал – ведь до этого с техническими документами мне работать не доводилось. Сейчас уже не смогу припомнить, какая там была система, но точно какой-то мониторинг. Субботнее утро принесло разочарование. Миллионы ссылок, сотни статей одна другой информативнее. От одной аббревиатуры ГОСТ веяло скукой и пылью. Примерно так и началось мое знакомство с семейством ГОСТ 34 на автоматизированные системы. Под катом удобная памятка по этому самому ГОСТу, которая совершенно случайно когда-то повстречалась на просторах сети и помогла систематизировать данные в знатном ворохе документов.

gost_1.png
Окунуться в ГОСТ и вынырнуть
Всего голосов 14: ↑11 и ↓3+8
Комментарии23

Правильное обнаружение проблем с помощью Zabbix

Время на прочтение14 мин
Количество просмотров75K
Алексей Владышев

Алексей Владышев ( alexvl )


Меня зовут Алексей Владышев, я являюсь создателем Zabbix, и в данный момент я отвечаю за его архитектуру и roadmap.

Это вводная лекция, сначала я расскажу, что такое Zabbix, потом – как работает Zabbix с точки зрения высокоуровневой архитектуры и с точки зрения обнаружения проблем. Мы будем говорить о том, как обнаруживать проблемы применительно к Zabbix, как можно использовать Zabbix, чтобы обнаруживать проблемы.
Всего голосов 25: ↑24 и ↓1+23
Комментарии43

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность