Pull to refresh
  • by relevance
  • by date
  • by rating

Технология CRUD-матрицы. Практический опыт

Agile *
Пример дублирования функционала
Технология CRUD-матрицы — это хороший инструмент для каждого члена Agile-команды на протяжении всего жизненного цикла продукта. CRUD-матрица позволяет наладить адекватный диалог с клиентом и выявить дублирование функционала, а также устранить противоречивость модели. Что касается оценки времени, то в этом моменте CRUD-матрица значительно уступает такому инструменту, как “planning poker”, который позволяет провести адекватную оценку с учетом объективных причин.
Добро пожаловать за подробностями...
Total votes 14: ↑11 and ↓3 +8
Views 23K
Comments 14

Видеозаписи летнего аналитического фестиваля 2010-2012

System Analysis and Design *
Tutorial
За 3 года существования летнего аналитического фестиваля мы накопили большое количество записей интересных выступлений. И сегодня хотим поделиться с вами подборкой:

1. Предпроектные работы


2. Выявление требований

Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Views 10K
Comments 13

Analyst Days III: вместе с вами мы сделаем эту конференцию лучшей в области системного и бизнес-анализа

Лаборатория тестирования corporate blog System Analysis and Design *
Изюминка Analyst Days – в ее участниках
image


24 мая в третий раз системные и бизнес аналитики смогут с головой окунуться в свою профессиональную область на международном уровне благодаря Analyst Days III – единственной конференции на пространстве СНГ, которая собирает экспертов из разных городов и стран в одном месте.

Конференцию Analyst Days мы задумали около 3 лет назад, когда пришла идея отстраниться от распространенного формата универсальных конференций, которые в ограниченные временные рамки пытаются включить «все и ничего»: продуктовую разработку, управление проектами и персоналом многое-многое другое. Порой тема анализа на таких конференциях вообще забывается. Нам же хотелось сделать что-то совершенно иное и, что немаловажно, более полезное, пусть и для менее широкого круга людей.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Views 4K
Comments 1

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 2

NAUMEN corporate blog Java *

Сценарии интеграции с Apache Camel



Сколько вы знаете шаблонов интеграции приложений(EIP)? Сколько из них вы можете использовать?

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

Если вы знакомы с шаблонами, но решаете стоит ли связываться с «верблюдом», то наши примеры помогут разобраться. Если вам интересен путь от сценариев использования к реализации интеграции, то эта статья как раз об этом. Прошу под кат.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Views 25K
Comments 9

Универсальный инструмент для установки бэкдоров: Что не так с системными обновлениями

Латера Софтвер corporate blog Information Security *Website development *


В нашем блоге на Хабре мы не только рассказываем о развитии своего продукта — биллинга для операторов связи «Гидра», но и публикуем материалы о работе с инфраструктурой и использовании технологий.

Немецкий журналист и хакер Ляйф Риге (Leif Ryge) написал для издания Ars Technica интересный материал о том, что современный подход к организации обновлений программного обеспечениях несет в себе серьезные риски информационной безопасности. Мы представляем вашему вниманию главные мысли этой заметки.
Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 17K
Comments 19

Вы препарируете труп используя SOLID

Programming *Java *System Analysis and Design *.NET *ООP *
Как говорится «это безумие, делая снова и снова одно и тоже, ничего при этом не меняя, надеяться на какой-нибудь другой результат». Но порой используя одни и те же подходы, утверждения и действия для получения, казалось бы, предсказуемого результата, человек искренне удивляется почему не вышло на этот раз.

Есть область где подобное действия не только вызывали бы скептицизм, но могут преподносится как единственно верные – объектно-ориентированное программирование.

Начнем мы, как и положено, с самой слабой из парадигм «принципов SOLID», которые хорошо, что в граните не выбиваю. Приготовитесь много букв…
Читать дальше →
Total votes 62: ↑23 and ↓39 -16
Views 8.3K
Comments 85

Может ли компания с десятками тысяч сотрудников быть Agile: опыт МТС

МТС corporate blog IT systems testing *Programming *System Analysis and Design *Functional Programming *
Recovery mode
Директор центра инноваций МТС Владимир Хренков рассказывает, как сохранить гибкость при крупных размерах.

Нет, это не про идеальный шпагат для тяжеловеса. Речь идет об Agile — методике, позволяющей разрабатывать гибкое ПО, которое бы отвечало всем требованиям современного бизнеса. Но чем крупнее компания, тем она считается неповоротливей. И тем сложнее ей приспособиться к новым техническим веяниям. Однако с недавних пор Agile перестала быть атрибутом исключительно мелких IT-контор и становится все более востребованной у больших игроков. Среди них — крупнейший в России оператор сотовой связи МТС. Владими Хренков расскажет об особенностях перехода на гибкие технологии, а также можно ли им доверить решение проектов государственной важности.


image

Читать дальше →
Total votes 39: ↑19 and ↓20 -1
Views 6.7K
Comments 16

Эмулятор БК-0010 на FPGA

FPGA *
Sandbox


Большинство любительских проектов FPGA, опубликованных на Хабре, сделаны на оборудовании фирмы Altera (теперь Intel). Давайте для разнообразия посмотрим, что можно сделать на продукции его основного конкурента – Xilinx. Мы возьмём и сделаем достаточно большой и сложный проект, в процессе реализации которого нам понадобится:

  • Выбрать Development board и необходимые PMOD к ней
  • Определиться с дизайном проекта, выбрать clock domains и правила перехода между ними
  • Освоить основные функции Xilinx Vivado – создание проекта, работу с блочными схемами, компиляцию, симуляцию, отладку
  • Сделать несколько IP с интерфейсом AXI4
  • Поработать с внешними устройствами
  • Сделать с нуля собственный процессор с контроллером шины и обработкой прерываний
  • Написать модуль для верификации
  • Наконец собрать всё вместе и получить реализацию на FPGA легендарного (как минимум для тех, кто тогда жил) компьютера середины 80-х – БК-0010

Планируется цикл статей, в которых всё это будет подробно описано, сегодня первая из них. Проект написан на System Verilog с небольшими вставками Verilog и VHDL в тех местах, где это необходимо. От читателя требуется понимание базовых принципов языков Verilog/VHDL на уровне книжки Харрис&Харрис.
Читать дальше →
Total votes 56: ↑55 and ↓1 +54
Views 16K
Comments 44

Эмулятор БК-0010 на FPGA — часть 2

FPGA *

Первая часть

Если вы уже успели поработать с блочным дизайном в Vivado, то могли увидеть, что внешний вид многих стандартных IP изменяется в зависимости от настраиваемых параметров. Например, модуль AXI-GPIO может быть одноканальным или двухканальным в зависимости от параметра «Enable dual channel»:

Для проекта БК-0010 нам тоже будет удобно воспользоваться этой технологией и сегодня мы узнаем, как это сделать.

Также в этой части мы:

  • Рассмотрим общие сведения об архитектуре БК-0010
  • Поговорим об интерфейсах, о том, как их создавать и как с ними работать.
  • Создадим несколько вспомогательных IP, внешний вид и характеристики которых меняются в зависимости от параметров.
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Views 7.8K
Comments 5

Как мы унифицируем аналитическую деятельность в CUSTIS

CUSTIS corporate blog System Analysis and Design *

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

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 4.8K
Comments 0

WI-FI в метро: Поймай меня, если сможешь. Сложности конфигурирования динамических сетей

MaximaTelecom corporate blog Network technologies *Wireless technologies *


Когда Wi-Fi только появился на первых линиях метро, мы поняли, что превращаемся в героя Билла Мюррея из «Дня сурка». С той лишь разницей, что он каждый раз просыпался 2 февраля, а мы неделями пытались поймать поезда хотя бы одной ветки и залить на них одну и ту же конфигурацию. Настраивать ее вручную было плохой идеей — поезда уходили в депо и стояли там несколько дней.

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 13K
Comments 32

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

2ГИС corporate blog Website development *Programming *System Analysis and Design *Language localisation *


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

Под катом вы найдете историю, как этот вопрос решали в 2ГИС. Я расскажу на примере последнего кейса с Дубаем, но практики применимы для любого языка.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 6.1K
Comments 6

Как разделить фронтенд и бэкенд, сохранив взаимопонимание

ISPsystem corporate blog System Analysis and Design *Designing and refactoring *API *

image


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


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


Мне посчастливилось начать программировать в те годы, когда не было разделения на бэкенд и фронтенд-программистов, когда не звучали слова «прототип», «продуктолог», «UX» и «QA». Мир был проще, деревья выше и зеленее, воздух чище и во дворах играли дети, а не парковались автомобили. Как бы мне ни хотелось вернуться в то время, нужно признать, что всё это не замысел суперзлодея, а эволюционное развитие общества. Да, общество могло развиваться иначе, но, как известно, история не терпит сослагательного наклонения.

Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Views 18K
Comments 21

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

Instant Messaging *.NET *C# *DevOps *Microservices *
Sandbox
Tutorial

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 45K
Comments 5

RabbitMQ. Часть 2. Разбираемся с Exchanges

Instant Messaging *.NET *C# *DevOps *Microservices *
Tutorial

Exchange — обменник или точка обмена. В него отправляются сообщения. Exchange распределяет сообщение в одну или несколько очередей. Он маршрутизирует сообщения в очередь на основе созданных связей (bindings) между ним и очередью.


Exchange не является Erlang-процессом. Из соображений масштабируемости exchange — это строка (ссылка на модуль с кодом, где лежит логика маршрутизации) во встроенной базе данных mnesia. 1 тысяч обменников будут потреблять всего 1МБ памяти.

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 48K
Comments 10

IdentityServer4. Основные понятия. OpenID Connect, OAuth 2.0 и JWT

.NET *C# *DevOps *Microservices *
Tutorial

Этим постом я хочу открыть ветку статей посвященную IdentityServer4. Начнем мы с основных понятий.


Самым перспективным на текущий момент протоколом аутентификации является OpenID Connect, а протоколом авторизации (предоставления доступа) является OAuth 2.0. IdentityServer4 реализует эти два протокола. Он оптимизирован для решения типичных проблем безопасности.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 19K
Comments 15

Принципы работы детского отделении интенсивной терапии в виде ответа на «Программист, стая и Джон Стейнбек» или

Personnel Management *
Sandbox
Это ответ на статью за авторством nmivan.

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

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

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

Работа докторов мне очень напомнила работу программистов — у них даже стендапы есть. Просто дебажат они людей, а не код. Я участвовал в куче разного рода митингов и обсуждениях решений совершенно непонятных и очень срочных проблем и подметил некоторые интересные принципы работы народа там.
Читать дальше →
Total votes 70: ↑69 and ↓1 +68
Views 8.2K
Comments 38

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings

Instant Messaging *.NET *C# *DevOps *Microservices *
Tutorial

Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занимать порядка 80Mb.


Binding (привязка) — правило, которое сообщает обменнику в какую из очередей должны попадать сообщения.

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 39K
Comments 9

Не монолитом единым. Модульный подход в Unity

Unity3D *
Sandbox
🔥 Technotext 2020
image

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

Под термином «Модульный подход» имеется ввиду организация ПО, которая использует внутри себя независимые, подключаемые, конечные сборки которые можно разрабатывать параллельно, менять на ходу и достигать разного поведения ПО в зависимости от конфигурации.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 4.8K
Comments 6
1