Как стать автором
Обновить
21
0

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

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

Ceph. Анатомия катастрофы

Время на прочтение20 мин
Количество просмотров60K
Ceph — это object storage, призванный помочь построить отказоустойчивый кластер. И все-таки отказы случаются. Все, кто работает с Ceph, знают легенду о CloudMouse или Росреестре. К сожалению, делиться отрицательным опытом у нас не принято, причины провалов чаще всего замалчивают, и не дают будущим поколениям научиться на чужих ошибках.

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


Далее вы найдете видео и текстовую версию одного из лучших докладов DevOpsConf Russia 2018.


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

Где Agile ужасен, особенно Scrum

Время на прочтение15 мин
Количество просмотров95K
Гибкость — без сомнения хорошая вещь, и в манифесте Agile есть смысл. По сравнению с хрупкой практикой под названием «водопад», Agile заметно лучше. Тем не менее, на практике гибкие подходы часто наносят глубокий вред, и в действительности вряд ли здесь уместна дихотомия Agile/Waterfall.

Я видел, как множество вариантов Agile, называемых Scrum, реально убивают компанию. Под «убивают» я имею в виду не «ухудшение культуры», а скорее когда акции компании падают почти на 90% за два года.

Что такое Agile?


Agile вырос из среды веб-консалтинга, где он приносил определённую пользу: при работе с привередливыми клиентами, которые не знают, чего они хотят, обычно приходится выбирать из двух вариантов. Или одолеть клиента: установить ожидания, соответствующую оплату за переделки и поддерживать отношения равенства, а не подчинения. Или принять некорректное поведение клиента (как, скажем, приходится многим дизайнерам) и ориентировать рабочий поток вокруг клиентской дисфункции.
Читать дальше →
Всего голосов 87: ↑66 и ↓21+45
Комментарии214

Дружелюбная защита WEB ресурса от атак перебором

Время на прочтение4 мин
Количество просмотров11K
Одна из проблем, которая возникает перед WEB-ресурсами имеющими персональные кабинеты — атака перебором. Да, простой перебор всех вариантов пароля для конкретной учетки. Тупо? Возможно, но такая атака может сильно нагрузить ресурс. К тому же, если контроля сложности пароля пользователя при регистрации нет, она может оказаться еще и успешной.

Чаще всего, вопрос решается относительно просто. Если пользователь ввел несколько раз неправильно пароль, его учетка блокируется на какое-то время. Альтернативное решение — выводить капчу. Сразу, или после нескольких неудачных попыток. Ну, и не забудем про 2F авторизацию, которая почти неуязвима. Казалось бы — профит! Но, не все так радужно…
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии21

Процессы разработки глазами эксплуатации. Взгляд с другой стороны баррикад

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


Привет, Хабр! И снова на связи Алексей Приставко.

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

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

В этой статье я постараюсь ответить на следующие вопросы:

  • Как методы и процессы разработки отражаются на эксплуатации?
  • Что движет каждой стороной конфликта?
  • В чем первопричина разногласий?

Добро пожаловать под кат!
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии26

Подводные камни HttpClient в .NET

Время на прочтение9 мин
Количество просмотров93K
Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.

Достаточно частая проблема в программировании — то, что разработчики сфокусированы только на функциональных возможностях того или иного компонента, при этом совершенно не учитывают очень важную нефункциональную составляющую, которая может влиять на производительность, масштабируемость, легкость восстановления в случае сбоев, безопасность и т.д. Например, тот же HttpClient — вроде бы и элементарный компонент, но есть несколько вопросов: сколько он создает параллельных соединений к серверу, как долго они живут, как он себя поведет, если DNS имя, к которому обращался ранее, будет переключено на другой IP адрес? Попробуем ответить на эти вопросы в статье.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии12

Как машинное обучение помогло мне понять некоторые аспекты раннего развития детей

Время на прочтение6 мин
Количество просмотров26K
Когда моему первому сыну было всего два, он уже любил машины, знал все марки и модели (даже больше, чем я, благодаря моим друзьям), мог их распознавать по небольшой части изображения. Все говорили: гений. Хотя и отмечали полную бесполезность этих знаний. А сын тем временем спал с ними, катал их, расставлял ровно в ряд или квадратиком.

Мальчик любит машинки
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии80

11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

Время на прочтение7 мин
Количество просмотров42K
Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной.

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

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

image

Сегодня мы представляем вашему вниманию перевод материала, в котором рассмотрены опенсорсные JavaScript-библиотеки для визуализации данных.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии19

Видеть невидимое. Поляризация в дальнем ИК (8-12мкм)

Время на прочтение4 мин
Количество просмотров18K
Поляризация используется во многих областях, наиболее известное применение из которых – это разделение стереопары в 3Д фильмах у некоторых телевизоров и в кинотеатрах, это круговая поляризация. При фотосъемке применяют поляризационные фильтры, чтобы избавиться от паразитных бликов за счет эффекта, когда свет приобретает поляризацию при отражении. Но о том, с какой поляризацией фотоны излучаем мы и объекты вокруг нас, информации почти нет. На просторах интернета вы практически не найдёте информации и примеров того, как выглядит истинное собственное поляризованное излучение объектов.

Все началось с того, что мы разработали очень чувствительный тепловизионный модуль VLM640, который обладал чувствительностью не хуже 20мК в диапазоне 8-12мкм, что очень неплохо для неохлаждаемых болометрических камер. Производитель сенсоров обратился к нам и предложил инженерный образец из экспериментальной пластины болометрических детекторов с интегрированными поляризационными фильтрами. Для нас это было очень почетно, но в то же время понимания, что мы должны в итоге получить, не было. Технология и сама идея увидеть собственную поляризацию тепловых квантов-фотонов объектов, которые нас окружают, абсолютно новая, и опыта обработки такой информации у нас не было.

В данной статье мы постараемся показать вам поляризацию в тепловизинном диапазоне, и это пока первая и единственная статья на эту тему в рунете (по крайней мере, мы не смогли пока найти ничего похожего).
Итак, приступим…
Красивые видео далее...
Всего голосов 40: ↑39 и ↓1+38
Комментарии63

Договоры бывают разные, или на что вы подписались

Время на прочтение5 мин
Количество просмотров20K
Периодически отслеживаю на тостере вопросы по юриспруденции. И не раз сталкивался с тем, что у людей возникают проблемы из-за непонимания разницы между подрядом и услугами. Казалось бы, какая разница в этих ваших правовых дефинициях? Есть же контракт! А вот и нет, подходы отличаются весьма существенно. В некоторых случаях настолько кардинально, что лучше заранее понимать, на что подписываешься.

image

Что это вообще, блин, такое?


Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии76

Как сделать стандарт за 10 дней

Время на прочтение8 мин
Количество просмотров18K
Приветствую всех! Я работаю в Департаменте информационной безопасности ЛАНИТ, руковожу отделом проектирования и внедрения. В этой статье я хочу поделиться опытом, как на старте карьеры совсем в другой компании подготовил стандарт для организации защиты персональных данных в медучреждениях. Это история о том, как написать 500 страниц с нуля за 10 дней, сделанных ошибках и сложностях, которые не были преодолены. Надеюсь, мой опыт поможет всем, на кого свалилась задача написать руководящий документ, стандарт или закон.

Источник
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии43

О реле замолвим мы слово

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

— Его убил пусковой ток!

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

А в чем, собственно, проблема? Ну, посчитали ток в нагрузке и взяли реле с соответствующим номиналом. Но такой расчет, возможно, будет ошибочен: вся проблема заключается в пусковых токах.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии84

Что представляет собой веб-приложение в продакшне?

Время на прочтение8 мин
Количество просмотров16K
На заре карьеры я работал в компании, которая выпускала систему управления контентом. Эта CMS помогала отделам маркетинга самостоятельно управлять сайтами, а не полагаться на разработчиков при каждом изменении. Система помогла клиентам сократить операционные расходы, а мне — научиться создавать веб-приложения.

Хотя сам продукт имел очень общее назначение, клиенты обычно использовали его для конкретных задач. Эти задачи выжимали максимум из CMS, а разработчикам приходилось искать решение проблем. После десяти лет работы в таком окружении я узнал огромное число способов, как может сломаться веб-приложение в продакшне. Некоторые из них обсудим в этой статье.

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

Если вы начали работу в таком окружении, а затем приступили к созданию и развёртыванию веб-приложения с нуля, то очень быстро узнаете, что такое «до опасного поверхностные знания».
Читать дальше →
Всего голосов 35: ↑31 и ↓4+27
Комментарии5

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

Время на прочтение6 мин
Количество просмотров63K
Привет, друзья! В этой статье хотел бы рассказать про интересный алгоритм из дисциплины «Исследование операций» а именно про Венгерский метод и как с его помощью решать задачи о назначениях. Немного затрону теории про то, в каких случаях и для каких задач применим данный алгоритм, поэтапно разберу его на мною выдуманном примере, и поделюсь своим скромным наброском кода его реализации на языке R. Приступим!

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

Тридцать шесть градусов красоты

Время на прочтение11 мин
Количество просмотров16K
Сеточные системы координат, в которых плоскость делится на одинаковые симметричные элементы — на квадраты, треугольники, шестиугольники, достаточно известны. Им соответствуют квадратная, треугольная, шестиугольная симметрия. Но еще существует симметрия десятиугольная.

В ней плоскость не делится на десятиугольники, вместо этого все линии расположены под углами кратными 36°. Координаты в этой системе можно записывать целыми числами, по два целых числа на горизонтальное и вертикальное направление.



Расскажу как это нарисовать.
Читать дальше →
Всего голосов 84: ↑84 и ↓0+84
Комментарии22

Как находить ботов на ютубе: внешние паттерны взаимодействия комментаторов

Время на прочтение4 мин
Количество просмотров17K
Всем привет! Это небольшой пост (с большим количеством картинок) о визуализации и анализе комментариев на ютубе. Предыдущие посты: 1, 2.

В этот раз мы поговорим о комментариях, которые отличаются от большинства других комментариев и представлены в виде отдельных регионов. Обычно они ассоциируются с поведением ботов, но это может быть и другое автономное сообщество комментаторов. Что они из себя представляют и как их находить на ютубе? Давайте выясним.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии2

Статистическое управление процессами (Часть 1. Опыт внедрения)

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

Предисловие


«У нас приемлемый уровень брака!» именно с этой фразы начинается общение почти с каждым директором по качеству на производственных предприятиях в России. Многие из них даже будут уверять, что добились качества мирового уровня в виде 3,4 бракованных изделий на 1 000 000 произведенных. Да и в целом на всех профильных форумах и конференциях мы слышим, что в России лучшее качество в мире, а все остальные страны нам завидуют.

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

Во времена СССР качество достигалось за счет полного и непрекословного соблюдения всевозможных ГОСТов. Но, к сожалению, в наших реалиях соблюдение ГОСТов не является приоритетным требованием (за исключением предприятий ВПК), а главная цель производства — сделать все быстрее и дешевле. Исходя из этого тезиса у нас активно внедряются методы оптимизации в виде инструментов Lean и сокращается персонал при увеличении объемов производства.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

C#: один сценарий использования для любых задач

Время на прочтение10 мин
Количество просмотров17K
Привет, Хабр! Мы продолжаем рассказывать об асинхронном программировании на C#. Сегодня поговорим о едином сценарии использования или пользовательском сценарии, подходящем для любых задач в рамках асинхронного программирования. Затронем темы синхронизации, взаимоблокировок, настройки операторов, обработки исключений и много другого. Присоединяйтесь!

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

CORS, CSP, HTTPS, HSTS: о технологиях веб-безопасности

Время на прочтение8 мин
Количество просмотров39K
Автор материала, перевод которого мы публикуем сегодня, говорит, что существует множество причин изучать веб-безопасность. Например, вопросами безопасности интересуются пользователи веб-сайтов, которых беспокоит возможность кражи их персональных данных. Безопасность заботит веб-разработчиков, которые стремятся к повышению уровня защиты создаваемых ими проектов. То же самое можно сказать и о начинающих программистах, которые ищут работу и готовятся к собеседованиям. Цель этой статьи заключается в том, чтобы понятным языком рассказать о некоторых важных технологиях веб-безопасности. Прежде чем приступить к разговору об этих технологиях, при упоминании которых обычно оперируют сокращениями вроде CORS, CSP и HSTS, рассмотрим пару базовых концепций безопасности.

image
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии2

Вычисление определённых интегралов: базовые алгоритмы

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

image
В этой публикации описаны простейшие методы вычисления интегралов функций от одной переменной на отрезке, также называемые квадратурными формулами. Обычно эти методы реализованы в стандартных математических библиотеках, таких как GNU Scientific Library для C, SciPy для Python и других. Публикация имеет целью продемонстрировать, как эти методы работают "под капотом", и обратить внимание на некоторые вопросы точности и производительности алгоритмов. Также хотелось бы отметить связь квадратурных формул и методов численного интегрирования обыкновенных дифференциальных уравнений, о которых хочу написать ещё одну публикацию.

Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии39

Как мы уместили таблицы в экран смартфона и унифицировали в рамках дизайн-системы

Время на прочтение4 мин
Количество просмотров13K
Мы разрабатываем рабочие инструменты для сотрудников и партнеров заказчика. Большинство созданных нами модулей содержит таблицы, реестры, карточки с детальной информацией.

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

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

Для дизайн-проектирования это ставит нам 2 задачи:

1. Превратить большое в маленькое – перевести объемные списки в мобильное представление.



2. Разработать подход к унификации – унифицировать мобильное представление для разных списков в рамках нашей экосистемы. Чтобы пользовательский опыт был единообразным, вне зависимости от модуля, с которым работает пользователь.

В этой заметке поделимся тем, как мы подходили к решению задач перевода таблиц в списки и унификации представления разных списков.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии5

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность