Как стать автором
Обновить
226.45
Рейтинг

Анализ и проектирование систем *

Анализируй и проектируй

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Планирование, Разработка, Тестирование, Поддержка… Грубые ошибки на примере Пятёрочки (X5ID)

Анализ и проектирование систем *Управление разработкой *

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

Изменения произошли после очередного обновления ПО, казалось бы, ну что там такого может случиться? Пришлось совершить покупку без карты и попробовать "вылечить" проблему.

Попытка 1. - зарегистрироваться

Ну ок, давай зарегистрируемся снова, привязка по телефону, должно всё восстановиться. Нажимаем кнопку, получаем код и... ПО предлагает активировать старую карту или получить новую, виртуальную, дальше не пускает...

Лезу в сумку, нахожу карту, ввожу номер, результат: "Ваша карта уже активирована, ничем не можем помочь, идите в поддержку, она поможет."

Ну ОК, Пятёрка предлагает воспользоваться поддержкой с помощью WhatsUp, по идее удобно, не надо держать у уха, сообщения сохраняются и т.п. одни плюсы в общем. Мучаюсь с меню робота, зову оператора, пишу сообщение в поддержку, описывая проблему и.... "Ждите ответа." Это было в 10:26 утра, в 14:37 оператор ответил, "Дайте Вашу дату рождения и последние числа номера карты", Я не мог смотреть на телефон в это время, работа и всё такое, открыл через 5 минут в 14:42, однако, оператор уже попрощался со мной и даже попросил оценить качество обслуживания.

Читать далее
Всего голосов 17: ↑12 и ↓5 +7
Просмотры 6.4K
Комментарии 36

Новости

Размышления об идеальной архитектуре для JavaScript

JavaScript *Анализ и проектирование систем *Node.JS *ООП *TypeScript *
Из песочницы

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

Спойлер: миллионерами мы так и не стали.

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

Спойлер: тестами код мы тоже так и не покрыли.

Давид Хейнемейер Ханссон, создатель фреймворка Ruby on Rails, в своей статье Test-induced design damage утверждает, что те архитектурные изменения, которые необходимо внести в проект, чтобы сделать возможным написание unit тестов для контроллеров, настолько сильно бьют по остальным характеристикам кода, что лучше отказаться от этой идеи в пользу интеграционных тестов.

Реально ли придумать такую архитектуру, которая не заставляла бы чем-то жертвовать?

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 5.6K
Комментарии 22

Разработка B2B-оптового магазина лекарственных средств и правильное встраивание в экосистему заказчика

Анализ и проектирование систем *

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

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 775
Комментарии 1

Как мы смогли обзвонить 1,5 млн абонентов за несколько часов

Блог компании Neuro.net Высокая производительность *Анализ и проектирование систем *Сетевые технологии *Искусственный интеллект

 И снова здравствуйте. Продолжаем разговор о разработке и совершенствовании нашей высоконагруженной платформы, с рассказом об интересных кейсах, проблемах и их решении.

Сегодня поговорим о создании с нуля платформы, которая дает возможность обзвонить 1 500 000 абонентов всего за несколько часов. В свое время бизнес-отдел поставил такую задачу и нам нужно было ее решить в сжатые сроки. Все самое интересное о решении этой задачи  - под катом.

Читать далее
Всего голосов 31: ↑17 и ↓14 +3
Просмотры 2K
Комментарии 17

Бесплатный сыр в Docker — как поднять сотни сетевых ловушек на одной машине

Блог компании Бастион Информационная безопасность *Анализ и проектирование систем *Виртуализация *Сетевые технологии *


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

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 7.7K
Комментарии 23

Bitwise — обучающий проект по созданию программного и аппаратного стека компьютера с нуля

Программирование *Анализ и проектирование систем *Системное программирование *Компиляторы *C *

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

В 2017 году, Per Vognsen - программист с более чем 15-летним стажем, работавший в таких компаниях как NVIDIA и Oculus берет паузу и в марте 2018 стартует амбициозный обучающий проект Bitwise, в котором он собирается разработать и написать весь программно-аппаратный стек для простого компьютера с нуля и запустить его на FPGA. 

Проект должен был включать в себя операционную систему, компилятор, системные библиотеки, а также HDL код для центрального процессора и периферийных контроллеров. Пререквизиты к нему минимальны - свободное владение языком Cи (и немного Python), а также знание некоторых алгоритмов и структур данных из стандартных CS курсов. Все остальное объясняется по ходу написания кода.

Проекты подобные Bitwise можно пересчитать по пальцам (думаю многие еще вспомнят о знаменитом Handmade Hero от Casey Muratori). Автором данного проекта выступает отличный программист, который в формате скринкастов показывает и объясняет каждое решение по ходу написания кода. Этой короткой статьей я бы хотел заполнить пробел и познакомить большее число людей с проектом Bitwise, так как сам извлек из него много нового.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 3.5K
Комментарии 5

Neoflex проводит Hiring Week для Java-разработчиков и системных аналитиков

Блог компании Neoflex JavaScript *Java *Анализ и проектирование систем *Разработка под Java ME *


С 18 по 24 октября Neoflex приглашает Senior Java-разработчиков и системных аналитиков принять участие в Neoflex Hiring Week. Присоединяйся к нашей команде и получай welcome-бонус в размере одного оклада.

Как принять участие в Neoflex Hiring Week?

  • Заполни заявку на сайте;
  • Получи подтверждение от рекрутера;
  • Пройди техническое собеседование;
  • Прими оффер в течение 48 часов и получи welcome-бонус!
Читать дальше →
Рейтинг 0
Просмотры 878
Комментарии 0

Гетерогенные транзакции на примере Kafka vs. RDBMS

Анализ и проектирование систем *Микросервисы *

Данный текст описывает общесистемные подходы, используемые при работе с брокером сообщений Kafka, и общие архитектурные подходы, применяемые при работе с системами, имеющими несовместимые транзакционные модели.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 3.5K
Комментарии 14

Больше чем compliance. Как выявлять кибератаки и выполнять требования ГОСТ Р 57580.1-2017 с помощью SIEM-системы

Блог компании Positive Technologies Информационная безопасность *Анализ и проектирование систем *IT-стандарты *Законодательство в IT

«ГОСТ Р 57580.1-2017 „О безопасности финансовых (банковских) операций“ обязателен для выполнения кредитными и некредитными финансовыми организациями» — эта сухая фраза из стандарта, как, впрочем, и весь документ, порождает множество вопросов. На кого конкретно распространяются его требования? В какие сроки их необходимо выполнить? Как происходит оценка соответствия вашей организации требованиям ГОСТа? Какие меры защиты реально реализовать с помощью SIEM-систем?

Мы решили разобраться в этой теме и попросили Наталию Казанькову, старшего менеджера по продуктовому маркетингу Positive Technologies, ответить на наши вопросы и рассказать простыми словами, для чего данный ГОСТ нужен и как на практике компаниям соответствовать его требованиям. В статье вас ждет приятный бонус — специальное предложение на MaxPatrol SIEM All-in-One для тех, кому необходимо реализовать требования  этого стандарта.

Подробнее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 2K
Комментарии 0

Микросервисы глазами аналитика

Анализ и проектирование систем *Микросервисы *

Расскажу про системы с микросервисной архитектурой (MSA). Как они устроены, как я их анализировала, какие увидела проблемы и преимущества.

Статья не раскрывает лучшие практики использования микросервисов и не разоблачает их излишнюю популярность. Основная цель - описать технологию и процесс работы с ней с точки зрения системного аналитика.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 12K
Комментарии 19

За двумя зайцами погонишься — чеклист для HighLoad системы гуглить будешь

Высокая производительность *Программирование *Анализ и проектирование систем *IT-инфраструктура *
Из песочницы

Эта статья будет полезна, если вы начинаете проект, который может перерасти в HL (HighLoad) или у вас уже есть проект, который имеет высокую нагрузку. Каждый пункт этого чек-листа поможет избежать определенных проблем, возникающих в процессе эксплуатации таких систем. И хотя некоторые пункты могут показаться довольно очевидными, а иные даже лишними, я рекомендую ознакомиться со всем списком, т.к. судя по статьям на хабре, периодически с некоторыми из этих проблем встречаются компании, которые уже обрели некоторую популярность. Дополняя систему каким то компонентом довольно просто забыть о таких вещах, как KeepAlive между двумя сервисами, а процессы изменения и дополнения в IT происходят постоянно.

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

Ознакомиться с чек-листом
Всего голосов 40: ↑40 и ↓0 +40
Просмотры 5.8K
Комментарии 10

Как белка с ИИ сэкономила нам 100 миллионов на обогащении руды

Блог компании Группа НЛМК Анализ и проектирование систем *Промышленное программирование *Машинное обучение *

В последнее время у нас на СГОКе (это Стойленский горно-обогатительный комбинат) можно услышать фразы типа: «А что тебе белка сегодня советовала?» Со стороны странновато, но объясняется просто: мы запустили систему с ИИ, которая рекомендует операторам оптимальные настройки оборудования при любом из тысяч возможных сочетаний технологических параметров (все это для получения максимальной производительности обогатительной секции). Официальное название системы очень длинное, а неформально мы зовем ее «Белка» — по аналогии с названием компании, которая помогала нам в разработке, хотя многие сотрудники уверены, что название происходит от пушистого грызуна, которому, теоретически, может и руда по зубам.

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

Читать далее
Всего голосов 55: ↑55 и ↓0 +55
Просмотры 6.6K
Комментарии 20

Представление объектами: трудности роста

Программирование *Анализ и проектирование систем *Проектирование и рефакторинг *
Перевод

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.2K
Комментарии 15

О процессе подготовки ИТ специалистов в ВУЗах. Взгляд работодателя, подсмотренный изнутри

Анализ и проектирование систем *Управление персоналом *Законодательство в IT Карьера в IT-индустрии Бизнес-модели

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

Мы всегда кичились своим профессионализмом, а разбавлять его дилетантами, размывая, завоеванный трудом и потом авторитет, не вписывалось в наши представления об успешном видении бизнеса. Но время шло, мы с тоской смотрели на пролетающие мимо упущенные возможности, и помянув, об утопающих и вариантах их спасения, подались в наш региональный университет на свой страх и риск искать сотрудничества. Как оказалось, утечке ИТ мозгов из региона подверглись не только предприятия, но и ВУЗы. А посему, к нашей радости, в глазах руководства университета мы увидели, зеркальное отражение тоски, точь в точь сродни нашей.  В общем встретили нас радушно, с распростертыми объятиями, заложив смычку ИТ бизнеса с ИТ обучением. Таким образом ресурсный голод толкнул меня на тропу преподавательской деятельности. Я и до этого практиковал обучение, но среди действующих ИТ специалистов, повышая их профессиональный уровень отдельными внесистемными тренингами. А тут, мы подрядились сразу на ведение двух предметов, которые надо было читать системно, на протяжении года, шаг за шагом приближая студентов к совершенству. Работа длительная стратегическая, ставшая для маленькой такой компании, как наша, настоящим вызовом. Но, как оказалось, и в таком подходе можно отыскать множество своих плюсов. Из полуфабриката "Айтшника" с абсолютно не зашоренными стереотипами мозгами, чистыми бескорыстными душами, ежесекундно рвущимися в бой, оказалось можно лепить сотрудника, по образу и подобию, воображаемого нами идеала специалиста.

Вы не любите студентов? Вы просто не умеете их готовить.

Читать дальше
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 5.6K
Комментарии 55

Лезем в сорцы компилятора — как работает goscheduler (Часть II)

Блог компании FirstVDS Программирование *Анализ и проектирование систем *Системное программирование *Компиляторы *

Чтение рекомендуется начать с первой части, в которой мы терзаем ОС нереальным количеством потоков, смотрим, что из этого вышло, и видим, что согласованность — это не обязательно многопоточность.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 1.6K
Комментарии 3

Подробное руководство по инверсии зависимостей. Часть 1

Программирование *Java *Анализ и проектирование систем *Проектирование и рефакторинг *
Из песочницы

Инверсия зависимостей - один из принципов SOLID, который лежит в основе построения гексагональной архитектуры приложения. Существует множество статей, которые раскрывают суть принципа и объясняют как его применять. И, возможно, читатель уже знаком с ними. Но в рамках данной статьи будет продемонстрирован подробный разбор "тактических" приемов для успешного использования инверсии зависимостей и, возможно, в этом смысле даже искушенный читатель сможет найти для себя что-то новое. Примеры представлены на языке программирования Java с соответствующим окружением, но при этом для чтения достаточно понимания похожих языков программирования.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 9.3K
Комментарии 130

Несколько технических вопросов к ДЭГ

Тестирование IT-систем *Анализ и проектирование систем *
Из песочницы

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

Главный редактор эХО Москвы, Венедиктов, который упорно проталкивал ЭГ, и утверждает, что всё честно, и никто его ни в чём, обратном, не убедил.

Вопрос технический и интересный. И поэтому, я изучил Что же не так с ДЭГ в Москве? от Жижина. Зашёл на https://observer.mos.ru/all/ и скачал дампы базы данных, которые лежат там, PostgreSQL server и попробовал разобраться, что именно не так.

Читать далее
Всего голосов 39: ↑37 и ↓2 +35
Просмотры 6.3K
Комментарии 19

До 11 и младше: вспомним предыдущие версии Windows

Блог компании JUG Ru Group Анализ и проектирование систем *Разработка под Windows *История IT

Выход Windows 11 — хороший повод вспомнить всю историю MS Windows длиной почти в 36 лет. Журналист PCMag Джон Дворак как-то пошутил, что когда Microsoft анонсировала Windows, у Стива Балмера еще были волосы (во что сложно поверить). 

Так что теперь, когда на Хабре уже обсудили новую версию, давайте вспомним предыдущие. Чтобы пост не вышел слишком длинным, пришлось описывать их кратко. Но если у вас есть что добавить, смело делайте это в комментариях.

А если текст вызовет прилив ностальгии, запустить первые версии Windows можно в эмуляторе на сайте PCjs Machines. Из-за пребывания на нём был немного сорван дедлайн сдачи этой статьи.

Ностальгировать
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 11K
Комментарии 40

Simics: RISC-нём?

Блог компании Auriga Анализ и проектирование систем *Виртуализация *FPGA *Программирование микроконтроллеров *
Tutorial

Ранее в сериале… Ах, да, не все технари уважают сериалы. Тем не менее, слово Simics уже было написано в заголовке и мне не отвертеться от того, что все последующее будет своеобразным практическим продолжением материала «Симуляторы компьютерных систем – похожи ли на реальность» моего коллеги @alex_dzen.

Из этих трех статей мы знаем, что есть такие симуляторы аппаратного обеспечения и ими пользуются серьезные дядьки из больших компаний. Наверное, меня тоже можно отнести к этим «дядькам», но у меня есть одна слабость — на досуге я люблю что-нибудь паять и использую для проектов «несерьезную» среду Arduino, где в качестве процессоров применятеся что-нибудь из «несерьезных» Atmel-ARM или ESP32-RISC. И интрига в том, можно ли использовать Simics для небольших и хобби-проектов?

Расрыть интригу
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.7K
Комментарии 3

Роль архитектора в больших компаниях

Анализ и проектирование систем *Управление разработкой *Управление проектами *
Из песочницы

Япония... Свет из окон широкими полосами освещает длинное помещение. Цех по сборке телефонных аппаратов. Вдоль стен стоят столы, над каждым склонился работник, каждый что-то делает, но от нашего взора это скрыто ссутуленными спинами. У некоторых на столах стоят дополнительные лампы и увеличительные стёкла на штативе. В конце длинного помещения у стены лицом к нам сидит японец с барабаном и не быстро, но с чёткостью метронома отбивает ритм. Все работники к нему привыкли и не замечают его, но тем не менее каждый удар барабана проносится по нервной системе и вплетается в движения. Каждый делает что-то своё, но общий ритм придаёт всей деятельности гармонию. Работа делается так же ритмично, в ней нет места для пауз и размышлений о бренности бытия. Всё подчинено ритму.

Читать далее
Всего голосов 4: ↑0 и ↓4 -4
Просмотры 2.6K
Комментарии 0

Вклад авторов