Как стать автором
Обновить
0
0
Антон Романов @anthonyr

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

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

Обзор актуальных протоколов достижения консенсуса в децентрализованной среде

Время на прочтение19 мин
Количество просмотров15K
Эта статья посвящена поверхностному обзору ключевых подходов к достижению консенсуса в децентрализованной среде. Материал позволит разобраться с задачами, которые решают рассмотренные протоколы, областью их применения, особенностями проектирования и использования, а также позволит оценить перспективы их развития и имплементации в децентрализованных системах учета.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии26

QUIC, TLS 1.3, DNS-over-HTTPS, далее везде

Время на прочтение18 мин
Количество просмотров29K
Хабр, привет! Это транскрипция доклада Артема ximaera Гавриченкова, прочитанного им на BackendConf 2018 в рамках прошедшего фестиваля РИТ++.



— Здравствуйте!

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

Это (под катом) заголовок одного из блогов, в интернете вы могли таких заголовков видеть очень много. В том посте написано, что HTTP/2 — это не какое-то отдаленное будущее, это наше настоящее; это современный протокол, разработанный Google и сотнями профессионалов из многих продвинутых компаний, выпущенный IETF в качестве RFC в далеком 2015 году, то есть уже 3 года назад.

Стандарты IETF воспринимаются индустрией, как такие железобетонные документы, как могильная плита, фактически.
Читать дальше →
Всего голосов 77: ↑75 и ↓2+73
Комментарии75

Указатели C как лингвистический парадокс

Время на прочтение2 мин
Количество просмотров33K
Недавно один знакомый, которого я знаю через совсем не программистские круги, попросил помочь ему с лабораторной по C++. В коде было примерно следующее:

void do_something(MyObj *input[], int count)
{
    MyObj **copy = new MyObj*[count];
    for (int i = 0; i < count; ++i)
        *copy[i] = *input[i];
    ...
}

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

Лет десять назад на одном форуме была загадана детская, вроде, загадка:
Для чего еду обеда
Людоедоедоеда
Пригласила на обед
Людоедоедовед?
Я хочу показать, что эта загадка имеет самое прямое отношение к C/C++, поскольку тема указателей легко может быть разобрана по аналогии.
Читать дальше →
Всего голосов 65: ↑56 и ↓9+47
Комментарии244

10 причин [не] использовать k8s

Время на прочтение18 мин
Количество просмотров50K
Сегодня мы поговорим про Kubernetes, про грабли, которые можно собрать при его практическом использовании, и про наработки, которые помогли автору и которые должны помочь и вам. Постараемся доказать, что без k8s в современном мире никуда. Противникам k8s также предоставим отличные причины, почему не стоит на него переходить. То есть в рассказе мы будем не только защищать Kubernetes, но и ругать его. Отсюда в названии появилось это [не].

Эта статья основана на докладе Ивана Глушкова (gli) на конференции DevOops 2017. Последние два места работы Ивана так или иначе были связаны с Kubernetes: и в Postmates, и в Machine Zone он работал в инфракомандах, и Kubernetes они затрагивают очень плотно. Плюс, Иван ведет подкаст DevZen. Дальнейшее изложение будет вестись от лица Ивана.


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

Zabbix Moscow Meetup 2018 в Badoo: обзор и материалы

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


Привет, Хабр!

Меня зовут Илья Аблеев, я работаю в отделе мониторинга компании Badoo. 23 июня мы с коллегами провели очередной Zabbix Moscow Meetup.

В роли спикеров митап посетили представители компаний Zabbix, Badoo, QIWI и Grafana Labs. Мы уделили особенно много времени общению участников и сессии вопросов и ответов с представителями компании Zabbix.

Эта встреча сообщества стала четвёртой по счёту. Когда кто-то говорит о порядковом номере события, обычно выделяют те, которые делятся на пять или десять. Но в нашем случае я бы выделил именно четвёртый митап. Чем он так примечателен? Смотрите и читайте сами — добро пожаловать под кат.
Всего голосов 27: ↑26 и ↓1+25
Комментарии0

Zabbix как сканер безопасности

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

Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей.


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


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


Что развернуто в большинстве продуктовых систем? Конечно же мониторинг. И довольно часто это Zabbix. Так давайте к нему и прикрутимся!

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

Как безопасно программировать в bash

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

Почему bash?


В bash есть массивы и безопасный режим. При правильном использовании bash почти соответствует практикам безопасного кодирования.

В fish сложнее допустить ошибку, но там нет безопасного режима. Поэтому хорошей идеей станет прототипирование в fish, а затем трансляция с fish на bash, если вы умеете правильно это делать.

Предисловие


Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck.

Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки.

Главное, что нужно знать о программировании в bash


Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде $var и подстановки команд вроде $(cmd) подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки.
Читать дальше →
Всего голосов 74: ↑73 и ↓1+72
Комментарии39

Настройка BGP для обхода блокировок, версия 3, без VPS

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

UPDATE: Статья перестала быть актуальной, новую версию читайте здесь.


Зачем всё это делается в принципе и как оно устроено логически — описано в первой и второй статьях.


После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.


Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.

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

Кнопочные смартфоны в 2018

Время на прочтение11 мин
Количество просмотров120K
Долго я откладывал эту информацию от всеобщего обозрения, но вот пришло время поделится ей с вами.

Предисловие


В этой статье я расскажу, как мир упустил один очень удобный и надежный сегмент рынка. Сейчас есть большое обилие смартфонов на разных ОС, разных размеров, дизайна, характеристик и т.д. Но несмотря на всё это, общий функционал у них одинаковый, производители пытаются внести что-то особенное, вроде двойных камер, сканера отпечатков пальца, безрамочный экран и многое другое. Но со временем эксклюзивные функции появляются на всех смартфонах, включая бюджетный класс.
Всего голосов 70: ↑51 и ↓19+32
Комментарии201

Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat

Время на прочтение5 мин
Количество просмотров39K
Вряд ли кто-то будет спорить, что наблюдение за производительностью дисковой подсистемы — чуть ли не важнейшая задача для всех высоконагруженных систем хранения и баз данных. Я изначально столкнулся с этим давным-давно, еще когда приходилось наблюдать за PostgreSQL. В последнее время вернулся к этому вопросу в связи с необходимостью тестирования различных хранилищ.

Сегодня хочу поделиться с сообществом своим текущим опытом на реальном примере zabbix и его связке с block stat.


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

Настройка BGP для обхода блокировок, версия 2, «не думать»

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

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


Поэтому здесь я приведу сжатую пошаговую инструкцию, как обходить блокировки, если у вас есть:


  • линукс-машина (ubuntu) вне поля блокировок;
  • роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
  • настроенный NAT на этом туннеле, позволяющий вам работать через него;
  • желание.

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


Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии112

Почему мы живем внутри пространства, но сбоку от времени. Разница в восприятии времени и пространства

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

Представление о пространстве и времени (время)


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


Представление о времени


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


Время мы не осознаем целиком, лишь его часть, выбранную нами для изучения. Чтобы разные части стыковались, мы верим в существование Абсолютном времени. Это позволяет предположить, что, изучая время, мы изучаем какую-то часть Абсолютного времени.

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

Ограничение скорости обработки запросов в nginx

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

Фотография пользователя Wonderlane, Flickr


NGINX великолепен! Вот только его документация по ограничению скорости обработки запросов показалась мне, как бы это сказать, несколько ограниченной. Поэтому я решил написать это руководство по ограничению скорости обработки запросов (rate-liming) и шейпингу трафика (traffic shaping) в NGINX.

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

Архитектура платежной системы. Банальности, проверенные опытом

Время на прочтение26 мин
Количество просмотров50K
Главное в платежной системе — взять денежки, перевести записи из одной таблички в ту же самую табличку со знаком «минус». Звучит не очень сложно, пока не пришли юристы. Платежные системы во всем мире облагаются огромным количеством всевозможных отягощений и указаний. Поэтому в рамках разработки платежной системы приходится все время балансировать на грани между тяжелым enterprise и вполне нормальным масштабируемым web-приложением.

Под катом рассказ Филиппа Дельгядо (dph) на Highload++ про опыт, накопившийся за несколько лет работы над платежной системой для российского легального букмекерского бизнеса, про ошибки, но и про некоторые достижения, и про то, как грамотно смешать, но не взбалтывать, web с enterprise.


Всего голосов 51: ↑51 и ↓0+51
Комментарии27

Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

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

Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

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

РКН заблокировал несколько КРУПНЫХ подсетей Amazon и Google (UPD.: и продолжает блокировать новые!)

Время на прочтение2 мин
Количество просмотров78K
Сегодня вечером сразу на нескольких ресурсах появилась новость о блокировке РКН нескольких подсетей Amazon. Позже появилась информация, что в бан улетела и одна из подсетей Google.

В течение дня список заблокированных подсетей заметно вырос. По данным 2018.schors.spb.ru, общее количество заблокированных IP-адресов приближается к 20 миллионам.

Пользователи в комментариях к статье сообщают о многочисленных проблемах с доступностью ресурсов, которые находятся на заблокированных IP-адресах.

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

Заголовок спойлера
13.52.0.0/14 Amazon
13.56.0.0/14 Amazon
18.184.0.0/15 Amazon
18.194.0.0/15 Amazon
18.196.0.0/15 Amazon
18.196.0.0/15 Amazon
34.192.0.0/10 Amazon
35.156.0.0/14 Amazon
35.160.0.0/13 Amazon
35.176.0.0/15 Amazon
35.184.0.0/13 Google
35.192.0.0/12 Google
35.208.0.0/12 Google
35.224.0.0/12 Google
52.0.0.0/11 Amazon
52.28.0.0/15 Amazon
52.58.0.0/15 Amazon
52.192.0.0/11 Amazon
52.208.0.0/13 Amazon
54.72.0.0/15 Amazon
54.88.0.0/16 Amazon
54.160.0.0/12 Amazon
54.228.0.0/15 Amazon

Больше блокировок богу блокировок!
Всего голосов 115: ↑113 и ↓2+111
Комментарии1039

Больше, чем государство: Британская Ост-индская торговая компания

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


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

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

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

Первый способ решения проблемы был прост как полено — перекредитоваться и зализать раны, а потом медленно отдавать занятое. Но вот только Амстердам давал под 14% в месяц, и поэтому слегка окосевшие от голландской наглости англичане брать отказались.

Оставалось думать. Это было непривычно, поэтому результат тоже получился неожиданный.
Читать дальше →
Всего голосов 134: ↑128 и ↓6+122
Комментарии95

Алгоритм выбора location в Nginx

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

Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алгоритмы. В статье также будет дан пример уязвимого конфига.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии21

Кому из айтишников на Руси жить хорошо (а кому будет еще лучше)

Время на прочтение11 мин
Количество просмотров34K
Похоже, сегодня ИТ-специалисту в России стало легче найти работу. Последние впечатления от российского рынка труда: предложения с уровнем зарплаты существенно выше среднего получают специалисты самых разных профилей и не обязательно высокой квалификации. Более того, похоже, что в кои-то веки ИТ-профессионалы получили возможность выбирать из конкурентных предложений! Кандидаты без специального образования и довольно посредственно, на уровне любителя, разбирающиеся в профильных технологиях, с гордостью публикуют в соцсетях свои новые должности — разработчиков, специалистов по технической поддержке, внедренцев…

К тому же, в прессе все чаще появляются истории о низкоквалифицированных разработчиках, которые тем не менее успешно проходили интервью, и уже в ходе работы наносили огромной финансовый ущерб компании. Так, Uber в 2015 случайно опубликовал паспортные данные своих водителей, а Google в 2010 году понес убытки в $100 млн долларов и проиграл суд компании Oracle за использование без разрешения 11 строк кода. И уже не из жизни гигантов: когда работодатель не понимает, что делает разработчик, а сам сотрудник пользуется этим и завышает как сложность своей работы, так и ее стоимость, а впоследствии и пренебрегает добросовестностью исполнения служебных заданий.

Наш интерес к этим вещам далеко не праздный, ведь для агентства AGIMA ИТ-профессионалы — главный производственный актив. Поэтому HR-отдел агентства попросил наших аналитиков отложить в сторону Google Analytics, сплит-тестирования, карточные сортировки и разобраться в этих вопросах. В ходе эксперимента ни один аналитик и текущий проект компании не пострадали.
Читать дальше →
Всего голосов 42: ↑31 и ↓11+20
Комментарии57

Ностальгии пост. Тайны цен Интернета: почему мегабит может стоить от $0 до $200 или как получить 100 Гбит/с за копейки?

Время на прочтение39 мин
Количество просмотров27K
Я хорошо помню то время, когда в 2001 году, спустя десятилетие после начала эры www, первый раз вышел в Интернет-сеть. Это было то волшебное чувство, когда перед тобою открывается неограниченный мир информации, который, в сравнении с теперешним, был весьма ограничен. И речь даже не о том, что не было ни социальных сетей, ни Инстаграмов, ни Youtube, большинство из этих соц. сетей лишь убивают время в наши дни, хотя некоторые и позволяют получить долю полезной информации, чем народ в них сидящий, занят далеко не всегда. Что говорить, фотографий в нормальном разрешении почти не было, про стримминг видео говорить и не приходилось, вэб был довольно простым и сайты старались писать на голом html, делая их как можно проще и легче для ускорения загрузки при использовании низкоскоростных соединений и уменьшения потребления ресурсов на стороне сервера. Но какое же хорошее это было время :)



В это же время в США уже вполне себе были распространены выделенные линии среди домашних абонентов со скоростью подключения до 768 Кбит / с и более. Ещё в 1998 году можно было обзавестись корпоративной линией c подобной скоростью в крупных городах США по цене порядка $400 / месяц, а для домашних пользователей были доступны варианты высокоскоростного Интернет-доступа от $99 за 128К канал, годом позднее уже можно было получить 384К за $40, цены постоянно снижались. В Украине, как в прочем и в РФ, был доступен в основном только дорогой и медленный Dial-Up. Выделенные линии были чем-то невероятным и позволить себе канал в 1 Мбит / с или 2 Мбит / с мог разве что Интернет-провайдер, который предоставлял доступ в сеть для абонентов посредством модемного подключения для сотен и даже тысяч абонентов. Провайдер, обладавший подключением в 1 Мбит / с в Украине или РФ, реально мог обеспечивать доступом в Интернет город с населением в 100 000+ человек. Услуга не была ещё столь массовой и % пользователей был небольшой, особенно в регионах.
Всего голосов 34: ↑33 и ↓1+32
Комментарии36

Информация

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