Собеседование на английском — дело непростое. Но хорошее планирование и подготовка ключевых моментов сделают этот процесс более приятным и безобидным.
User
Выбор MQ для высоконагруженного проекта
В нашем проекте десятки микросервисов, каждый из которых зарезервирован: две или более абсолютно идентичных копии сервиса установлены на разных физических серверах, и клиент (другой микросервис) может обращаться к любой из них независимо.
Если микросервис перестает отвечать на запросы в результате аварии, его клиенты должны быть мгновенно перенаправлены на резервный. Для управления потоком запросов часто используют так называемые очереди сообщений (message queues).
Недавно используемая нами очередь перестала нас устраивать по параметрам отказоустойчивости и мы заменили ее. Ниже мы делимся нашим опытом выбора.
Масштабируя TLS
Хабр, это доклад с одного из «не главных» залов Highload++ 2016. Артём ximaera Гавриченков, технический директор Qrator Labs, рассказывает про прикладное шифрование, в том числе, в высоконагруженных проектах. Видео и презентация в конце поста — спасибо Олегу Бунину.
Приветствую! Мы продолжаем находиться на сессии про HTTPS, TLS, SSL и всё такое.
То, о чём я сейчас буду говорить — не какой-то туториал. Как говорил мой преподаватель в университете по базам данных, Сергей Дмитриевич Кузнецов: «Я не буду учить вас настраивать Microsoft SQL сервер — пусть это делает Microsoft; не буду учить вас настраивать Oracle — пусть это делает Oracle; не буду учить вас настраивать MySQL — делайте это сами».
Точно так же и я не буду учить вас настраивать NGINX — это всё есть на сайте у Игоря Сысоева. Что мы обсудим, так это некий общий взгляд на проблематику и на возможности для решения проблем, которые возникают при внедрении шифрования на публичных сервисах.
Обманываем время: о тестировании с «подставным» временем на Linux и Docker
При разработке очередного бота для группы в Telegram у меня возникла необходимость испытать его при различных значениях системного времени. Этот бот в конце каждого дня отправляет (или, в зависимости от ряда условий, не отправляет) сообщение в чат и производит манипуляции с некоторыми предыдущими своими сообщениями (или, опять же, не производит).
Менять системное время глобально ой, как не хотелось. Муторно, плюс у меня в ней столько всего понаставлено, не дай Б-г что-то заглючит (вряд ли, но мало ли). Думал запустить VirtualBox, но уж больно лень было ставить «чистую» Убунту, расшаривать папки, и т. д., тем более что этот вариант жрёт, как троглодит серьёзно потребляет машинные ресурсы.
Но буквально недавно я начал ковырять Docker. «У него просто обязан быть механизм контроля системного времени внутри контейнера», — подумал я. Рассмотрим, что же в результате вышло.
Методы обхода защитных средств веб-приложений при эксплуатации XSS-векторов
Несмотря на большое количество рекомендаций по защите веб-приложения от клиент-сайд атак, таких как XSS (cross site scripting) многие разработчики ими пренебрегают, либо выполняют эти требования не полностью. В статье будут рассмотрены способы обхода средств фильтрации и при эксплуатации xss-векторов.
Дюк, вынеси мусор! — 3. CMS и G1
Сегодня мы продолжаем цикл статей о сборщиках мусора, поставляемых с виртуальной машиной Oracle Java HotSpot VM. Мы уже изучили немного теории и рассмотрели, каким образом с кучей расправляются два базовых сборщика — Serial GC и Parallel GC. А в этой статье речь пойдет о сборщиках CMS GC и G1 GC, первостепенной задачей которых является минимизация пауз при наведении порядка в памяти приложений, оперирующих средними и большими объемами данных, то есть по большей части в памяти серверных приложений.
Два этих сборщика объединяют общим названием «mostly concurrent collectors», то есть «по большей части конкурентные сборщики». Это связано с тем, что часть своей работы они выполняют параллельно с основными потоками приложения, то есть в какие-то моменты конкурируют с ними за ресурсы процессора. Конечно, это не проходит бесследно, и в итоге они разменивают улучшение в части пауз на ухудшение в части пропускной способности. Хотя делают это по-разному. Давайте посмотрим, как.
Загадка выпадающего списка «Амазона»
Запаздывание необходимо не только для того, чтобы сберечь ресурсы машины пользователя, но и по соображениям юзабилити: если не добавить задержку, то переводить курсор мыши на выпавшее подменю будет неудобно, придётся вести его сначала горизонтально в меню, не задевая другие пункты, и лишь после выбирать нужный подпункт.
Аудит актуальных уязвимостей без регистрации и смс
Вступление
Как известно каждому, кто хоть раз подписывался на рассылки по ИБ, количество найденных за день уязвимостей часто превышает возможности человека по их разбору. Особенно, если серверов — много, особенно если там зоопарк из ОС и версий.
В этом топике я расскажу о том, как мы решили эту проблему. И да, Perl* жив :)
«Человек посередине», использующий отозванные сертификаты. Часть 1
Последовательность действий, сразу приходящая в голову:
1. Связаться с удостоверяющим центром.
2. Отозвать сертификат сервера.
3. Перегенерировать ключи.
4. Запросить для сервера новый сертификат.
5. Поднять бокал за успех операции и попытаться жить дальше.
К сожалению, всё не так просто. В этой и следующей статьях мы подробно ответим на следующие вопросы:
- Какие механизмы проверки статуса сертификатов бывают?
- Как они реализованы в современных Веб-браузерах?
Кто виноват?Почему они реализованы именно так?Что делать?Какие есть перспективы?
Эта статья будет полезна тем, кому интересно разобраться в применяющихся на практике механизмах проверки статуса сертификатов (проверки, является ли сертификат отозванным).
UPD: добавили вторую часть статьи! Прочитать можно тут.
Что «убивает» продавца
В какой-то мере, продажи всегда являются манипуляцией. Есть продукт, ценность которого завышена по сравнению с реальной себестоимостью. Поэтому, важно обладать умением манипулировать (управлять) вниманием потенциального покупателя для привлечения его к покупке этого продукта.
За последние два года я понял, что был не прав в своей категоричности по поводу продаж. Оказывается, всё, что я делаю, тоже продается. Всё, чем я был увлечен, всё, что создавал. Продажа товаров, моих услуг, продажа себя происходит по определенным законам и правилам, чтобы быть успешным в своём деле.
Иногда, приходилось манипулировать. Иногда я продавал услуги слишком дешево, только потому, что хотел получить отзыв об услуге от покупателя.
Нужно было продавать, чтобы платить зарплаты, оплачивать счета за аренду, вкладывать деньги в развитие. Я был немного в отчаянии, немного напуган, но очень хотелось быть уверенным, что мои планы удачно реализуются.
Красивые формы для приёма банковских карт с CardInfo.js
UPD. CardInfo больше не работает. Используйте BinKing.
Гайд по использованию: https://habr.com/ru/post/527796/
Сайт сервиса: https://binkng.io
Всем кто верстал, верстает или будет верстать форму для приёма банковских карт дарю плагин CardInfo.js, с помощью которого можно сверстать вот такую форму:
Плагин по номеру карты определяет один из 49 российских банков (потом и прочие страны добавлю), выдаёт вам логотип банка, цвета для фона, ссылку на сайт банка, определяет тип карты, его логотип и прочее. С этими данными делаете что хотите, верстаете любую форму.
Поиграться с формой можно на демо странице. Код плагина и инструкции по установке на гитхабе.
Под катом:
- Пара слов о плагине;
- Про базу банков, и почему их 49, а не 50;
- Про логотипы банков;
- Про логотипы типов;
- Несколько моих вопросов к читателям;
Байесовские многорукие бандиты против A/B тестов
Здравствуйте, коллеги. Рассмотрим обычный онлайн-эксперимент в некоторой компании «Усы и когти». У неё есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.
Сколько стоит DDoS построить? Подсчет стоимости DDoS-атаки
Распределённая атака типа «отказ в обслуживании», DDoS — очень популярный инструмент у злоумышленников. Причины, по которым киберпреступники и обычные интернет-хулиганы используют этот инструмент, самые разные. Это и нанесение вреда конкуренту, и остановка работы какой-либо системы безопасности или сервиса с требованием выкупа. Известны случаи, когда группы, организовавшие атаку такого типа, требовали у жертв по 5 биткоинов (более $5000 по текущему курсу).
Причем DDoS сейчас, фактически, стал общедоступным инструментом. Этот тип атаки достаточно дешев (конечно, все зависит от масштаба), его можно быстро запустить и так же быстро остановить. На днях стало известно, сколько берут создатели разного рода ботнетов за проведение DDoS-атак.
Всё, что вы хотели знать о стек-трейсах и хип-дампах. Часть 2
Всё, что вы хотели знать о стек-трейсах и хип-дампах. Часть 1
Перед вами вторая часть расшифровки доклада Андрея Паньгина aka apangin из Одноклассников с одного из JUG'ов (допиленная и расширенная версия его доклада с JPoint 2016). В этот раз мы закончим разговор о стек-трейсах, а также поговорим о дампах потоков и хип-дампах.
Итак, продолжаем…
OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%
Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers
и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers
потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.
Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.
Технологический стек классификации текстов на естественных языках
Публикация артефакта в Maven Central через Sonatype OSS Repository Hosting Service
важной, на мой взгляд, теме, как публикация своих артефактов в Maven Central. Конечно, следует
отдать должное сотрудникам Sonatype: их официальный гайд (ссылка в конце статьи) достаточно полно
описывает весь процесс. Но в нём нет некоторых неочевидных тонкостей (вроде проблемы хранения
паролей), и он сам выглядит немного неряшливо. На русском же языке на эту тему ресурсов я не нашёл в
принципе. Лично для меня это не страшно, но многих это может остановить.
Изменение размера изображения с учётом содержимого
Изменение размера изображения с учётом содержимого (Content Aware Image Resize), жидкое растяжение (liquid resizing), ретаргетинг (retargeting) или вырезание шва (seam carving) относятся к методу изменения размера изображения, где можно вставлять или удалять швы, или наименее важные пути, для уменьшения или наращивания изображения. Об этой идее я узнал из ролика на YouTube, от Shai Avidan и Ariel Shamir.
В этой статье будет рассмотрена простая пробная реализация идеи изменения размера изображения с учётом содержимого, естественно на языке Rust.
Для подопытной картинки, я поискал по запросу1 "sample image"
, и нашел её2:
7 стратегий, который помогут вам избавиться от прокрастинации
Находка для шпиона: ААБ-тестирование как оптимальный вариант сплит-теста
ААБ-тест или ABA-тест — это когда трафик делят на три части: первую и вторую направляют на сайт без изменений, а третью с изменениями.
Что это дает?
- Выше точность теста. Считаем, что Б дает относительно достоверный результат только когда А и А сравняются.
Information
- Rating
- Does not participate
- Location
- San Jose, California, США
- Date of birth
- Registered
- Activity