Пользователь
QUIC, TLS 1.3, DNS-over-HTTPS, далее везде
Хабр, привет! Это транскрипция доклада Артема ximaera Гавриченкова, прочитанного им на BackendConf 2018 в рамках прошедшего фестиваля РИТ++.
— Здравствуйте!
В названии доклада приведён длинный список протоколов, мы по нему пройдемся постепенно, но давайте начнем с того, чего в названии нет.
Это (под катом) заголовок одного из блогов, в интернете вы могли таких заголовков видеть очень много. В том посте написано, что HTTP/2 — это не какое-то отдаленное будущее, это наше настоящее; это современный протокол, разработанный Google и сотнями профессионалов из многих продвинутых компаний, выпущенный IETF в качестве RFC в далеком 2015 году, то есть уже 3 года назад.
Стандарты IETF воспринимаются индустрией, как такие железобетонные документы, как могильная плита, фактически.
Указатели 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++, поскольку тема указателей легко может быть разобрана по аналогии.
Людоедоедоеда
Пригласила на обед
Людоедоедовед?
10 причин [не] использовать k8s
Эта статья основана на докладе Ивана Глушкова (gli) на конференции DevOops 2017. Последние два места работы Ивана так или иначе были связаны с Kubernetes: и в Postmates, и в Machine Zone он работал в инфракомандах, и Kubernetes они затрагивают очень плотно. Плюс, Иван ведет подкаст DevZen. Дальнейшее изложение будет вестись от лица Ивана.
Zabbix Moscow Meetup 2018 в Badoo: обзор и материалы
Привет, Хабр!
Меня зовут Илья Аблеев, я работаю в отделе мониторинга компании Badoo. 23 июня мы с коллегами провели очередной Zabbix Moscow Meetup.
В роли спикеров митап посетили представители компаний Zabbix, Badoo, QIWI и Grafana Labs. Мы уделили особенно много времени общению участников и сессии вопросов и ответов с представителями компании Zabbix.
Эта встреча сообщества стала четвёртой по счёту. Когда кто-то говорит о порядковом номере события, обычно выделяют те, которые делятся на пять или десять. Но в нашем случае я бы выделил именно четвёртый митап. Чем он так примечателен? Смотрите и читайте сами — добро пожаловать под кат.
Zabbix как сканер безопасности
Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей.
Это довольно простой процесс сравнения установленных версий программного обеспечения на попадание в диапазон "не содержит известных уязвимостей". Ну а дальше ребята, ответственные за информационную безопасность, совместно с разработкой и админами решают какие риски можно принять, а что нужно пропатчить прямо сегодня.
Существует масса разнообразных инструментов для решения этой задачи, но у всех них с нашей точки зрения есть одна общая проблема — они требуют отдельного хлопотного развертывания и порождают в вашей инфраструктуре еще один инструмент с root-овой учетной записью. Но ведь для такого простого действия как сбор информации об установленных пакетах root не нужен! Да и обычно в инфраструктуре уже присутствуют развернутые системы с возможностью консолидации данных, совместной работы и удаленного исполнения команд на серверах. Поэтому мы решили сделать инструмент, который позволил бы в пару кликов развернуть в своей среде систему контроля уязвимостей Linux с минимальными изменениями продакшена.
Что развернуто в большинстве продуктовых систем? Конечно же мониторинг. И довольно часто это Zabbix. Так давайте к нему и прикрутимся!
Как безопасно программировать в bash
Почему bash?
В bash есть массивы и безопасный режим. При правильном использовании bash почти соответствует практикам безопасного кодирования.
В fish сложнее допустить ошибку, но там нет безопасного режима. Поэтому хорошей идеей станет прототипирование в fish, а затем трансляция с fish на bash, если вы умеете правильно это делать.
Предисловие
Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck.
Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки.
Главное, что нужно знать о программировании в bash
Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде
$var
и подстановки команд вроде $(cmd)
подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS
с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки.Настройка BGP для обхода блокировок, версия 3, без VPS
UPDATE: Статья перестала быть актуальной, новую версию читайте здесь.
Зачем всё это делается в принципе и как оно устроено логически — описано в первой и второй статьях.
После их публикации я получил несколько вопросов от людей, которые пользуются VPN с не принадлежащих им ресурсов (например, приобретающих коммерческую услугу VPN). Этим людям раньше я советовал завести VPS для развертывания BGP-сервиса или каким-то еще образом получить доступ к серверу на Linux.
Но с сегодняшнего дня для них (и для всех остальных) есть более удобный вариант — на бесплатном сервисе antifilter.download появилась возможность автоматически настраивать BGP-сессию с вашим маршрутизатором.
Кнопочные смартфоны в 2018
Предисловие
В этой статье я расскажу, как мир упустил один очень удобный и надежный сегмент рынка. Сейчас есть большое обилие смартфонов на разных ОС, разных размеров, дизайна, характеристик и т.д. Но несмотря на всё это, общий функционал у них одинаковый, производители пытаются внести что-то особенное, вроде двойных камер, сканера отпечатков пальца, безрамочный экран и многое другое. Но со временем эксклюзивные функции появляются на всех смартфонах, включая бюджетный класс.
Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat
Сегодня хочу поделиться с сообществом своим текущим опытом на реальном примере zabbix и его связке с block stat.
Настройка BGP для обхода блокировок, версия 2, «не думать»
Перечитал я трезвым взглядом свой предыдущий пост и понял, что новичкам через все эти нагромождения апдейтов и обсуждений в комментариях (которые местами были даже полезнее, чем сам пост) продираться будет затруднительно.
Поэтому здесь я приведу сжатую пошаговую инструкцию, как обходить блокировки, если у вас есть:
- линукс-машина (ubuntu) вне поля блокировок;
- роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
- настроенный NAT на этом туннеле, позволяющий вам работать через него;
- желание.
Если у вас нет чего-то из этого или у вас есть что-то другое или вы хотите узнать, почему так, а не иначе — добро пожаловать в предыдущий пост, где это всё описано более-менее подробно. Имейте в виду, что схемы включения и настройки в этом посте немного отличаются для упрощения решения.
Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.
Почему мы живем внутри пространства, но сбоку от времени. Разница в восприятии времени и пространства
Представление о пространстве и времени (время)
В представлении о пространстве и времени участвует наше представление о самом себе как о наблюдателе. Мы представляем себя как наблюдателя, который осознает свое положение в Абсолютном пространстве и синхронизирован с Абсолютным временем, определяет размеры изучаемых объектов и длительности изучаемых интервалов времени. При этом принято считать, что пространственные размеры и временные интервалы, которые человек способен распознать, лежат в довольно узких интервалах, за пределами которых человеческое восприятие бессильно что-либо воспринять. Чтобы шагнуть в другой масштаб времени или пространства, требуются приборы и воображение.
Представление о времени
Представления, описанные в главе про пространство, хочется распространить и на время. Однако, сделать это не получится. Дело в том, что пространство мы осознаем одним способом, а время — иным. И, хотя с точки зрения физики нет никакой разницы между пространственным измерением и временем, наше осознание накладывает свой отпечаток на модели, которые мы строим.
Время мы не осознаем целиком, лишь его часть, выбранную нами для изучения. Чтобы разные части стыковались, мы верим в существование Абсолютном времени. Это позволяет предположить, что, изучая время, мы изучаем какую-то часть Абсолютного времени.
Ограничение скорости обработки запросов в nginx
Фотография пользователя Wonderlane, Flickr
NGINX великолепен! Вот только его документация по ограничению скорости обработки запросов показалась мне, как бы это сказать, несколько ограниченной. Поэтому я решил написать это руководство по ограничению скорости обработки запросов (rate-liming) и шейпингу трафика (traffic shaping) в NGINX.
Архитектура платежной системы. Банальности, проверенные опытом
Под катом рассказ Филиппа Дельгядо (dph) на Highload++ про опыт, накопившийся за несколько лет работы над платежной системой для российского легального букмекерского бизнеса, про ошибки, но и про некоторые достижения, и про то, как грамотно смешать, но не взбалтывать, web с enterprise.
Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»
Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».
Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.
После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.
РКН заблокировал несколько КРУПНЫХ подсетей Amazon и Google (UPD.: и продолжает блокировать новые!)
В течение дня список заблокированных подсетей заметно вырос. По данным 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 | |
35.192.0.0/12 | |
35.208.0.0/12 | |
35.224.0.0/12 | |
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 |
Больше, чем государство: Британская Ост-индская торговая компания
По мере копания в принципах управления компанией рано или поздно натыкаешься на две большие формации — Инквизицию и Ост-индскую торговую компанию. Про первое я не готов дискутировать во избежание холиваров, а вот про второе немного раскопал.
Это бизнес, который внезапно стал больше Англии, повлиял на технический прогресс, развязал пару войн и перебил сотни тысяч людей. На половине планеты следы этой компании — от «Садов Компании» близ мыса Доброй Надежды до упоминаний в современных фильмах вроде «Пиратов Карибского моря». Бизнес впечатлял.
Представьте ситуацию: вторая половина шестнадцатого века, в Англии полная задница с финансами. Народ бухтит и не повинуется, отлаженная судебная система стала жёстким рандомом, угроза войны, никаких надёжных внешних союзов. Понятно, что всё это приведёт к ещё большим проблемам, внутреннему расколу и гражданской войне. Надо было что-то делать, и делать довольно быстро.
Первый способ решения проблемы был прост как полено — перекредитоваться и зализать раны, а потом медленно отдавать занятое. Но вот только Амстердам давал под 14% в месяц, и поэтому слегка окосевшие от голландской наглости англичане брать отказались.
Оставалось думать. Это было непривычно, поэтому результат тоже получился неожиданный.
Алгоритм выбора location в Nginx
Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алгоритмы. В статье также будет дан пример уязвимого конфига.
Кому из айтишников на Руси жить хорошо (а кому будет еще лучше)
К тому же, в прессе все чаще появляются истории о низкоквалифицированных разработчиках, которые тем не менее успешно проходили интервью, и уже в ходе работы наносили огромной финансовый ущерб компании. Так, Uber в 2015 случайно опубликовал паспортные данные своих водителей, а Google в 2010 году понес убытки в $100 млн долларов и проиграл суд компании Oracle за использование без разрешения 11 строк кода. И уже не из жизни гигантов: когда работодатель не понимает, что делает разработчик, а сам сотрудник пользуется этим и завышает как сложность своей работы, так и ее стоимость, а впоследствии и пренебрегает добросовестностью исполнения служебных заданий.
Наш интерес к этим вещам далеко не праздный, ведь для агентства AGIMA ИТ-профессионалы — главный производственный актив. Поэтому HR-отдел агентства попросил наших аналитиков отложить в сторону Google Analytics, сплит-тестирования, карточные сортировки и разобраться в этих вопросах. В ходе эксперимента ни один аналитик и текущий проект компании не пострадали.
Ностальгии пост. Тайны цен Интернета: почему мегабит может стоить от $0 до $200 или как получить 100 Гбит/с за копейки?
В это же время в США уже вполне себе были распространены выделенные линии среди домашних абонентов со скоростью подключения до 768 Кбит / с и более. Ещё в 1998 году можно было обзавестись корпоративной линией c подобной скоростью в крупных городах США по цене порядка $400 / месяц, а для домашних пользователей были доступны варианты высокоскоростного Интернет-доступа от $99 за 128К канал, годом позднее уже можно было получить 384К за $40, цены постоянно снижались. В Украине, как в прочем и в РФ, был доступен в основном только дорогой и медленный Dial-Up. Выделенные линии были чем-то невероятным и позволить себе канал в 1 Мбит / с или 2 Мбит / с мог разве что Интернет-провайдер, который предоставлял доступ в сеть для абонентов посредством модемного подключения для сотен и даже тысяч абонентов. Провайдер, обладавший подключением в 1 Мбит / с в Украине или РФ, реально мог обеспечивать доступом в Интернет город с населением в 100 000+ человек. Услуга не была ещё столь массовой и % пользователей был небольшой, особенно в регионах.
Информация
- В рейтинге
- Не участвует
- Откуда
- Ульяновск, Ульяновская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность