Pull to refresh
70
2.5
Новгородов Игорь @blind_oracle

Инженер, разработчик

Send message

Waterfall, Agile, Scrumban — плюсы и минусы, или Что не так с эталонными подходами к разработке

Reading time12 min
Views17K

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

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

Спойлер: многие затронутые вопросы спорные, и готовых решений у нашей команды нет (как, наверное, у большинства PM). Так что заранее приглашаю всех желающих к диалогу и обмену опытом в комментариях.

Читать далее
Total votes 32: ↑30 and ↓2+34
Comments38

ЦЕРН увеличил объем своего хранилища до первого в истории эксабайта. Как хранятся данные Большого адронного коллайдера

Level of difficultyMedium
Reading time6 min
Views19K

Когда Большой адронный коллайдер запущен — как например, во время своего второго цикла, с начала 2015 года по 2018 год, — он обрабатывает события на частоте 40 МГц. Другими словами, он учитывает 40 миллионов событий в секунду. Это необходимо, чтобы отслеживать столкновения между частицами, длящиеся менее 25 наносекунд.

Каждое событие содержит в себе примерно 1 мегабайт данных. Это значит, что в систему во время работы коллайдера входит примерно 40 терабайт данных. В секунду! Абсолютно фантастический объем информации, ведь петабайт набирается примерно за полминуты. Около 72 000 средних жестких дисков заполнялись бы каждый час.

Обрабатывать всё это на такой же скорости не представляется возможным; для анализа подобных объемов данных после окончания работы установки требуются годы. Значительная часть отфильтровывается еще на этапе сбора, на что тоже уходят огромные вычислительные ресурсы. Но всё‑таки остальную часть информации нужно где‑то хранить. Для этого европейская организация по ядерным исследованиям (ЦЕРН) содержит самый большой ЦОД в мире.

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments39

«Надо переехать с Oracle на PostgreSQL. Ты только не волнуйся!»

Reading time8 min
Views26K

С этого сообщения в мессенджере началось мое масштабное расследование вопроса, который давно не дает спать многим айтишникам — можно ли вот так взять и переехать с Oracle на «свободную» СУБД PostgreSQL?

Этот вопрос сначала бередил умы только тех, кто был в курсе стоимости закупок лицензий. В крупных компаниях бюджет на это мог составлять несколько десятков миллионов долларов. А потом каждый год поддержка вендора «съедала» ещё 22% от стоимости лицензий. Теперь та финансовая боль сменилась другой, и у компаний поменялся запрос: а можно ли заменить? И главное, можно ли организовать это в разумные сроки и по адекватной стоимости? 

Скажу сразу, что в этом посте не будет технических аспектов миграции с СУБД Oracle на PostgreSQL. Как это делать и как обходить сложности — разберем в следующий раз. Тут же больше поговорим о целесообразности и возможности миграции. С этим мы разбирались в ходе одного проекта, а заодно развенчали строй существующих иллюзий. 

Красная таблетка
Total votes 50: ↑49 and ↓1+55
Comments73

Самый полный чек-лист для защиты от мошенников

Reading time17 min
Views161K

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

Читать далее
Total votes 117: ↑115 and ↓2+144
Comments169

Почему планирование лечения — это необходимость для пациента и клиники

Reading time9 min
Views9K
image

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

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

А это важно. Потому что, по логике, нужно описать состояние пациента на диагностике, показать ему все проблемы, показать точный план лечения для каждой, собрать это в комплексный план и объяснить ему. Так он поймёт, что именно происходит, сколько времени это займёт, сколько денег нужно и из чего конкретно складывается смета.

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

Но давайте начнём с того, что каждый врач лечил пациентов творчески-неповторимо, на вдохновении и интуиции.
Читать дальше →
Total votes 18: ↑15 and ↓3+19
Comments12

«Просто похудеть» — непросто

Reading time15 min
Views127K

Интернет наводнен статьями о том, как похудеть "просто съедая меньше чем потратил" и отчетами об успешном опыте некоторых везунчиков. Чего нету (ну или очень мало) в интернете — это отчетов о том, как миллионы людей безрезультатно пытаются просто "съесть меньше", садясь на все новомодные диеты и неизменно возвращаясь к тому, с чего начинали, а иногда и скатываясь по шкале индекса массы тела в еще более красную зону.


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

Хакнуть свой мозг
Total votes 157: ↑135 and ↓22+166
Comments638

Go и кэши CPU

Reading time8 min
Views21K

Источник: unsplash.com

По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике».

Мартин Томпсон (создатель LMAX Disruptor) применил эту концепцию к программированию. Если в двух словах, то понимание базового оборудования улучшит ваши навыки, когда речь заходит о разработке алгоритмов, структур данных и так далее.

Команда Mail.ru Cloud Solutions перевела статью, автор которой углубился в устройство процессора и рассмотрел, как понимание некоторых концепций CPU помогает принимать оптимальные решения.
Читать дальше →
Total votes 51: ↑48 and ↓3+66
Comments17

Коты в коробочках, или Компактные структуры данных

Reading time12 min
Views28K

image


Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а приложение едва на половине загрузки важного контейнера?


В целом, можно ли сжать структуру данных, чтобы она занимала заметно меньше места, но не теряла присущих ей достоинств? Чтобы доступ к хэш-таблице оставался быстрым, а сбалансированное дерево сохраняло свои свойства. Да, можно! Для этого и появилось направление информатики «Succinct data structures», исследующее компактное представление структур данных. Оно развивается с конца 80-х годов и прямо сейчас переживает расцвет в лучах славы big data и highload.


А тем временем на Хабре найдется ли герой, способный пересковоговорить три раза подряд
[səkˈsɪŋkt]?

Читать дальше →
Total votes 127: ↑127 and ↓0+127
Comments43

Возможности Python 3, достойные того, чтобы ими пользовались

Reading time5 min
Views44K
Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.



Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.
Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments82

Восемь малоизвестных опций Bash

Reading time3 min
Views44K
Некоторые опции Bash хорошо известны и часто используются. Например, многие в начале скрипта пишут

set -o xtrace

для отладки,

set -o errexit

для выхода по ошибке или

set -o errunset

для выхода, если вызванная переменная не установлена.

Но есть много других опций. Иногда они слишком путано описаны в манах, поэтому я собрал здесь некоторые из наиболее полезных, с объяснением.
Читать дальше →
Total votes 82: ↑79 and ↓3+76
Comments13

Эффективная разработка и сопровождение Ansible-ролей

Reading time11 min
Views22K
Ansible — система, которая решает различные задачи автоматизации, включая конфигурирование, резервное копирование и деплой проектов. Систему приятно использовать для написания сценариев автоматизации от простого окружения до крупного проекта. В сценариях важную роль играют playbooks и роли — структурированные playbooks.

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

Как раз об этом расшифровка доклада Александра Харкевича на DevOps Conf Russia. В докладе: разработка Ansible-ролей через CI, механизм разработки публичных ролей и публичных ролей с тестовыми прогонами в приватной инфраструктуре. А еще в докладе нет вывода.


Total votes 19: ↑19 and ↓0+19
Comments9

Используем Apple Pay и карту Тройка в качестве пропуска на работу

Reading time16 min
Views108K
Используем Apple Pay, Android Pay, Mastercard Paypass, Visa PayWave и карту Тройка в качестве пропуска на работу

TL;DR В статье описывается процесс создания системы контроля доступа (СКУД), в которой в качестве идентификатора могут использоваться карты Тройка, любые бесконтактные банковские карты EMV, а также телефоны с Apple Pay и Android Pay. Управление системой происходит через Telegram-бота.

Основные задачи системы


  • Избавиться от лишних карт — в качестве идентификатора используется то, что уже есть у пользователя: транспортная карта, телефон или банковская карта. Какой идентификатор использовать — каждый выбирает сам. Система работает со всеми типами идентификаторов одновременно.
  • Избавиться от бюро пропусков и сложных программ управления — нам надоело выдавать и забирать карты у пользователей, держать отдельные компьютеры для управления пропусками, изучать переусложненные программы.
  • Управление через Telegram — заведение и удаления пользователей происходит удаленно и не требует компьютера.
Total votes 118: ↑118 and ↓0+118
Comments164

Министерство внутренней безопасности США изъяло восстановленные батареи к ноутбукам Apple, назвав их поддельными

Reading time3 min
Views31K


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

Сейчас, похоже, противостояние между той же Apple и независимыми сервисными центрами продолжает развиваться. Не так давно Луис Россман, квалифицированный специалист по ремонту техники Apple заявил, что в скором времени разница между восстановленными и поддельными устройствами станет яблоком раздора. И как в воду глядел — в прошлом месяце у него же Министерство внутренней безопасности США изъяло старые модели батарей для морально устаревших нотбуков Apple примерно на сумму в $1000. Причина — объявление всей партии поддельной.
Total votes 36: ↑30 and ↓6+24
Comments137

Знай сложности алгоритмов

Reading time2 min
Views1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Moby/Docker в продакшене. История провала

Reading time18 min
Views73K

Обновление: у этой статьи появилось продолжение, переведённое @achekalin. В каком порядке читать — на ваше усмотрение: в этой статье можно получить удовольствие от обширной попоболи автора, а в продолжении — от сделанных им выводов.


Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.


В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.


Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!


У нас 12 докеризованных приложений, бегающих на проде прямо в момент написания этой заметки, размазанные на 31 хост на AWS (по одному приложению на хост, дальше объясню — почему).


Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.

Читать дальше →
Total votes 141: ↑132 and ↓9+123
Comments175

Настройка виртуальной инфраструктуры: оптимизация кластера VDI

Reading time8 min
Views16K
Ну как оптимизация. Креативные усилия по выравниванию кренящейся и шатающейся инфраструктуры, которую изо всех сил пытались удержать способом «ничего не трогайте, всё может поломаться». Опасная фраза, быстро превращающаяся в жизненную философию ИТ специалиста, остановившегося в развитии. Источник «ошаманивания» ИТ.

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



Итак, дано:
Инфраструктура виртуализации VMware Enterprise Plus. Включает продуктив, тестовую зону и VDI. Последний реализован на базе продукта fujitsu Pano Logic, который уже 2 года как не обновляется и, судя по всему, не поддерживается.
Основной модернизируемый кластер — VDI, как самый объёмный критичный сервис и самый плотный по утилизации ресурсов. Реализован на базе полных клонов, ибо связанные клоны pano manager сам по себе не понимает, а покупать ещё и View бизнес не хочет.

В качестве СХД используется набор массивов EMC — несколько CX4-240 и пара VNX. А также есть такой изыск как IBM SVC. Используется для консолидации и виртуализации хранения (то есть lun монтируются со стораджей на SVC, там объединяются в пулы, а на этих пулах уже создаются новые LUN, отдаваемые серверам). Все хранилища подключены по FC SAN.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments7

SYN-флудим со спуффингом на 14 mpps или нагрузочная вилка V 2.0

Reading time6 min
Views19K
Что-то меня пробило на написание заметок последнее время, поэтому пока энтузиазм не спал раздаю долги.
Год назад я пришёл на хабр со статьёй "TCP(syn-flood)-netmap-generator производительностью 1,5 mpps", после которой многие писали и даже звонили с просьбой описать создание такой же «вилки» со спуффингом на максимуме возможностей 10GB сети. Я всем обещал, а руки всё не доходили.
Кто-то скажет, что это руководство для хакеров, но ведь свинья грязи найдёт, а те кому нужен этот инструмент в благонадёжных целях могу остаться ни с чем.

image
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments44

Мониторинг событий информационной безопасности с помощью ZABBIX

Reading time9 min
Views171K
image

Некоторое время поработав с Zabbix, я подумал, почему бы не попробовать использовать его в качестве решения для мониторинга событий информационной безопасности. Как известно, в ИТ инфраструктуре предприятия множество самых разных систем, генерирующих такой поток событий информационной безопасности, что просмотреть их все просто невозможно. Сейчас в нашей корпоративной системе мониторинга сотни сервисов, которые мы наблюдаем с большой степенью детализации. В данной статье, я рассматриваю особенности использования Zabbix в качестве решения по мониторингу событий ИБ.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments29

Information

Rating
1,238-th
Location
Zürich, Швейцария
Date of birth
Registered
Activity