Рубрика «Анализ и проектирование систем» - 34

Зачем нужны дженерики в Go? - 1

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

Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментарий про дженерики. В нём также упомянуты исключения, которые мы добавили в язык в виде паники и восстановления (panic and recover) в начале 2010-го.

За три года наблюдений отсутствие дженериков всегда входило список трёх главных проблем, которые необходимо исправить в языке.
Читать полностью »

image

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

За последние годы мы прошли этот путь несколько десятков раз, и у нас уже выработался наименее болезненный способ, как это сделать.
Читать полностью »

Привет хабрасообществу!

Пятничным вечером по дороге с работы слушала крайний подкаст Habr Weekly и не могу не вставить свои 5 копеек в тему “Автовокзалы против агрегаторов”. Мы уже около 5 лет осуществляем разработку для крупного швейцарского проекта в отрасли общественного транспорта и те наблюдения, которые я успела для себя сделать, мне кажутся как никогда релевантными этой теме.

Читать полностью »

В одном твите спрашивали, почему отписка от рассылки может «занимать несколько дней». Пристегнитесь покрепче, я сейчас расскажу вам невероятную историю о том, как это делается в энтерпрайз-разработке™…

Почему отписка от рассылки занимает несколько дней? - 1

Есть один банк. Наверняка вы о нем слышали, а если вы живете в Великобритании — с вероятностью 10% это ваш банк. Я работал там «консультантом» на отличной зарплате.

Банк рассылает маркетинговые письма. В подвале каждого письма есть маленькая ссылка «отписаться». Люди иногда на эти ссылки кликают.Читать полностью »

На РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаивать, что трёп о сериалах — залог здоровой атмосферы в коллективе, и утверждать, что вам не нужны строгие рамки линтера и CI, чтобы писать хороший код. Но если вы хоть раз винили окружающих в неудачах на работе, вам стоит прочитать или посмотреть рассказ Никиты.

Работали ли вы когда-нибудь на плохой работе?

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

Blameless environment: никто не должен писать качественный код - 1

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

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

Да, это была аутсорс-разработка, но не это делало её плохой. Люди сделали ее такой.Читать полностью »

Вселенная отчётности на SAP - 1

Примерно 4 года назад мы перенесли нашу систему отчётности с Oracle на SAP Hana. Сегодня в ней хранится около 10 000 таблиц, ею пользуется 38 000 человек и в ней ежедневно происходят более 5000 процессов загрузки. На текущий момент наш комплекс, на котором работает система, представляет собой 8 серверов с 14 Тб памяти. Каждый день в системе отчётности обрабатывается 1,5 Пб данных. При этом Hana оказалась примерно в 20 раз производительнее Oracle, DB2 и MySQL. И сегодня я хочу рассказать, как мы в рамках интеграции «М.Видео» и «Эльдорадо» дополнительно повышали производительность системы отчётности, какие оптимизации вносили.
Читать полностью »

Крупные IT-компании довольно давно проводят школы для студентов и выпускников инженерных и математических специальностей. Кто не слышал о Школе анализа данных Яндекса или Школе программистов HeadHunter? Возраст этих проектов уже измеряется десятилетием.

Не отстают от них и банки. Достаточно вспомнить Школу 21 Сбербанка, Raiffeisen Java School или Финтех Школу Tinkoff.ru. Эти проекты призваны не только дать теоретические знания, но и развить практические навыки, сформировать портфолио молодого специалиста, повысить его шансы на трудоустройство.

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

Как проходил набор в Школу системного анализа Альфа-Банка - 1
Читать полностью »

За 3 последних года в Контуре случилось больше тысячи инцидентов разной степени эпичности. Причины разные: например, 36% вызвано некачественным релизом, а 14% — работами по обслуживанию железа в дата-центре. Откуда статистика? После каждого инцидента пишется отчёт — постмортем. Их пишут дежурные инженеры, которые отреагировали на уведомление об аварии и первыми начали разбираться в ее причинах. Постмортемы анализируются, выявляются и устраняются причины инцидентов, чтобы в дальнейшем подобные инциденты не возникали. Но так было не всегда.

Алексей Кирпичников (BeeVee) с 2008 года программировал в Яндексе: Пробки, спортивные спецпроекты, был тимлидом команды бэкенда Яндекс.Такси. С 2014 года занимается DevOps и инфраструктурой в Контуре — разрабатывает инструменты, которые облегчают жизнь разработчиков из продуктовых команд. Идея писать и анализировать постмортемы появилась пять лет назад, и за это время постмортемы обросли шаблонами, глоссарием, памятками, скриншотами и аналитикой. Но не это самое сложное — труднее было преодолеть инертность, страхи и непонимание смысла отчетов об инцидентах среди инженеров. Что в итоге получилось и какую непоправимую пользу может нанести «диванная аналитика» — в расшифровке доклада Алексея.

Аварии помогают учиться - 1
Обратите внимание — под ножки стола разной длины подложены книжки «Метрики», «Тесты» и «Деплой».
Читать полностью »

Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие - 1

В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всевозможные способы решения этой задачи: от простого указания программистам на подходящие общие функции (С, Go) до таких мощных систем дженериков, что они стали полными по Тьюрингу (Rust, C++). В этой статье я расскажу о системах дженериков из разных языков и их реализации. Начну с решения задачи в языках без подобной системы (вроде С), а затем покажу, как постепенное добавление расширений приводит к системам из других языков.
Читать полностью »

Бизнес-аналитика. ИТ-объекты, компоненты, инструменты

Я имел счастье (творчество) и несчастье (признание и внедрение) разрабатывать проект банковской аналитики. Разрабатывать от идеи до реализации и непосредственно участвовать во всех стадиях разработки. Больше всего мне нравилась стадия постановки и проектирования. Превращать хаос представлений в четкую постановку – это немалое удовольствие. Потом трансформировать описательность постановки в конструктивность проекта – это тоже удовольствие. Ну и, кроме того, разрабатывал архитектуру ПО и программировал. В этом тоже находились свои маленькие прелести, хотя на этой стадии каждый программист имел свое мнение и разрулить противоречивости воззрений оказывалось не просто.

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

Вот и захотелось поделиться своими воззрениями на бизнес-аналитику.

Есть, конечно, еще более важный предмет – бизнес-синтез, имеющий дело с интеграцией данных анализа и принятием решений. “Но это уже совсем другая история”.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js