Что лучше использовать — ENUM или справочник?
На самом деле вопрос не в том, что лучше, а какие данные вы собираетесь хранить в поле.
🔹 ENUM — отличный выбор, когда значения заранее известны и редко изменяются. Например, если тип клиента может быть только «Basic» или «Premium», тогда ENUM подходит идеально. Это решение упрощает архитектуру, так как нет необходимости создавать дополнительную таблицу.
🔹 Справочник лучше использовать, если возможные значения могут изменяться со временем или пополняться. Например, для поля «Специализация врача» справочник будет подходящим вариантом, так как список специализаций может расширяться, и каждая специализация может иметь дополнительную информацию (описание, коды, и т.д.).
Сравнение подходов см. в картинках👆
#db
На самом деле вопрос не в том, что лучше, а какие данные вы собираетесь хранить в поле.
🔹 ENUM — отличный выбор, когда значения заранее известны и редко изменяются. Например, если тип клиента может быть только «Basic» или «Premium», тогда ENUM подходит идеально. Это решение упрощает архитектуру, так как нет необходимости создавать дополнительную таблицу.
🔹 Справочник лучше использовать, если возможные значения могут изменяться со временем или пополняться. Например, для поля «Специализация врача» справочник будет подходящим вариантом, так как список специализаций может расширяться, и каждая специализация может иметь дополнительную информацию (описание, коды, и т.д.).
Сравнение подходов см. в картинках👆
#db
👍8❤3💯3
Документация говорит одно, а проект работает по-другому. Что?!
Anonymous Poll
65%
Документация устарела ещё до того, как я её закончил? 🤯
21%
Как этот проект ещё жив? 🧐
11%
Это всё тестовая версия, правда? 😅
3%
У меня свой вариант. Напишу в комментариях ✍️
😁5😭3❤2👍2💯1
Судя по прошедшему опросу, проектирование бизнес-логики — ваша любимая задача! 🎯
https://t.me/analystcore/91
И это неудивительно! Для системных аналитиков бизнес-логика — это основа всего. Продумывать её — значит превращать разрозненные требования в чёткое и понятное «А что мы делаем?».
💡 Почему это важно? Да потому что без этого никуда! Ни к проектированию БД, ни к API, ни к интеграциям не приступить, пока бизнес-логика не будет продумана от и до.
Вот несколько инструментов, которые помогут вам на этом этапе:
- UML (диаграммы активности и последовательности) — для визуализации процессов и взаимодействий.
- BPMN — для построения бизнес-процессов с участием всех ролей.
- Use Case — помогает продумать сценарии взаимодействия пользователя с системой.
- Flowcharts — простые и понятные блок-схемы, показывающие пошаговые действия.
Ключевые моменты при проектировании бизнес-логики:
1️⃣ Понять основные цели бизнеса.
2️⃣ Учесть все возможные сценарии.
3️⃣ Проработать расширения «а что может пойти не так?»
Для многих аналитиков это самый важный и интересный этап работы, потому что именно здесь рождаются основные решения, которые определяют успех всего проекта. 🔥
https://t.me/analystcore/91
И это неудивительно! Для системных аналитиков бизнес-логика — это основа всего. Продумывать её — значит превращать разрозненные требования в чёткое и понятное «А что мы делаем?».
💡 Почему это важно? Да потому что без этого никуда! Ни к проектированию БД, ни к API, ни к интеграциям не приступить, пока бизнес-логика не будет продумана от и до.
Вот несколько инструментов, которые помогут вам на этом этапе:
- UML (диаграммы активности и последовательности) — для визуализации процессов и взаимодействий.
- BPMN — для построения бизнес-процессов с участием всех ролей.
- Use Case — помогает продумать сценарии взаимодействия пользователя с системой.
- Flowcharts — простые и понятные блок-схемы, показывающие пошаговые действия.
Ключевые моменты при проектировании бизнес-логики:
1️⃣ Понять основные цели бизнеса.
2️⃣ Учесть все возможные сценарии.
3️⃣ Проработать расширения «а что может пойти не так?»
Для многих аналитиков это самый важный и интересный этап работы, потому что именно здесь рождаются основные решения, которые определяют успех всего проекта. 🔥
👍10❤3💯3
Что мы знаем о Lean?
Когда мы говорим об Agile, первыми на ум приходят Scrum и Kanban. Но есть и Lean, который также заслуживает внимания. 😎
Lean означает «бережливый» и пришёл из производства (Lean Enterprise). Он направлен на минимизацию потерь: устраняем лишнее и концентрируемся на ценности для клиента.
Lean в IT работает аналогично: создаём минимальную версию, получаем фидбэк и дорабатываем. Знакомо? Да, ведь многие идеи Lean мы используем, не осознавая этого — например, концепцию MVP. Это ключевой элемент подхода Lean Startup, предложенного Эриком Рисом.
Принцип 20/80 (Принцип Парето) также пересекается с философией Lean.
✨ Основная идея Lean — создавать, тестировать и учиться. Идеально подходит для новых продуктов. Это модель экспериментов: потратив минимальные ресурсы (те самые 20%), вы получаете обратную связь и решаете, стоит ли продолжать разработку.
Более подробно смотри в картинках 👆
#dev_process
Когда мы говорим об Agile, первыми на ум приходят Scrum и Kanban. Но есть и Lean, который также заслуживает внимания. 😎
Lean означает «бережливый» и пришёл из производства (Lean Enterprise). Он направлен на минимизацию потерь: устраняем лишнее и концентрируемся на ценности для клиента.
Lean в IT работает аналогично: создаём минимальную версию, получаем фидбэк и дорабатываем. Знакомо? Да, ведь многие идеи Lean мы используем, не осознавая этого — например, концепцию MVP. Это ключевой элемент подхода Lean Startup, предложенного Эриком Рисом.
Принцип 20/80 (Принцип Парето) также пересекается с философией Lean.
✨ Основная идея Lean — создавать, тестировать и учиться. Идеально подходит для новых продуктов. Это модель экспериментов: потратив минимальные ресурсы (те самые 20%), вы получаете обратную связь и решаете, стоит ли продолжать разработку.
Более подробно смотри в картинках 👆
#dev_process
👍10🔥3💯2
Коротко о Scrum
Сегодня Scrum — одна из самых популярных гибких методологий. Многие команды работают по Scrum, хотя редко можно встретить тех, кто полностью следует методологии. Всегда идет что-то не по плану. 😅
Основная идея Scrum — это деление работы на короткие итерации — спринты (обычно 2-4 недели). В конце каждого спринта команда предоставляет работающий продукт или его часть 🚀.
Команда небольшая и включает три ключевые роли:
- Product Owner — управляет приоритетами задач.
- Scrum Master — помогает команде следовать Scrum.
- Команда разработчиков — выполняет задачи 👩💻👨💻.
Основной инструмент управления задачами — Backlog (список всех задач проекта). Задачи, которые выполняются в текущем спринте, входят в Спринт-бэклог.
Также в Scrum есть ряд обязательных мероприятий: планирование, дейли, демо, ретроспектива.
Scrum предлагает чёткую структуру работы и регулярную обратную связь от заказчиков 🤝.
#dev_process
Сегодня Scrum — одна из самых популярных гибких методологий. Многие команды работают по Scrum, хотя редко можно встретить тех, кто полностью следует методологии. Всегда идет что-то не по плану. 😅
Основная идея Scrum — это деление работы на короткие итерации — спринты (обычно 2-4 недели). В конце каждого спринта команда предоставляет работающий продукт или его часть 🚀.
Команда небольшая и включает три ключевые роли:
- Product Owner — управляет приоритетами задач.
- Scrum Master — помогает команде следовать Scrum.
- Команда разработчиков — выполняет задачи 👩💻👨💻.
Основной инструмент управления задачами — Backlog (список всех задач проекта). Задачи, которые выполняются в текущем спринте, входят в Спринт-бэклог.
Также в Scrum есть ряд обязательных мероприятий: планирование, дейли, демо, ретроспектива.
Scrum предлагает чёткую структуру работы и регулярную обратную связь от заказчиков 🤝.
#dev_process
👍8❤🔥2💯2
Такой себе дейли...
Сегодня поговорим о мероприятии «Дейли», которое есть в Скраме, Канбане и других методологиях. У каждой команды дейли проходят по-разному, и судить, хороший он или нет, — дело субъективное 😅. Но всё-таки попробуем!
Такой себе дейли, когда один человек что-то рассказывает, а другой параллельно кодит/пишет ТЗ/переписывается и никого не слушает. Или когда это дейли со всеми аналитиками или разработчиками из разных областей/проектов — им, конечно, неинтересен статус друг друга. Плохой дейли — это когда всё сводится к простому отчёту: «Что я сделал вчера? Что буду делать сегодня?» и никакого обсуждения проблем.
Какой дейли считается хорошим?
Хороший дейли — это не отчёт. Он должен быть направлен на решение блокеров. Обсуждаем только то, что мешает двигаться вперёд. Нечего обсуждать? Расходимся.
Почему дейли ещё называют стендапом? В былые времена люди на нём стояли. Он должен быть настолько быстрым, чтобы никто не устал стоять. Быстро разобрали блокеры — и всё.
#dev_process
Сегодня поговорим о мероприятии «Дейли», которое есть в Скраме, Канбане и других методологиях. У каждой команды дейли проходят по-разному, и судить, хороший он или нет, — дело субъективное 😅. Но всё-таки попробуем!
Такой себе дейли, когда один человек что-то рассказывает, а другой параллельно кодит/пишет ТЗ/переписывается и никого не слушает. Или когда это дейли со всеми аналитиками или разработчиками из разных областей/проектов — им, конечно, неинтересен статус друг друга. Плохой дейли — это когда всё сводится к простому отчёту: «Что я сделал вчера? Что буду делать сегодня?» и никакого обсуждения проблем.
Какой дейли считается хорошим?
Хороший дейли — это не отчёт. Он должен быть направлен на решение блокеров. Обсуждаем только то, что мешает двигаться вперёд. Нечего обсуждать? Расходимся.
Почему дейли ещё называют стендапом? В былые времена люди на нём стояли. Он должен быть настолько быстрым, чтобы никто не устал стоять. Быстро разобрали блокеры — и всё.
#dev_process
👍8💯4⚡1
Как проходит ваш дейли?
Anonymous Poll
17%
Обсуждаем все подряд, кроме реальных задач 🤔
29%
Отчитываемся так, будто это экзамен перед начальством 📋
6%
Каждый на своём проекте, но приходим на общий дейли 🤷♂️
8%
Беру попкорн 🍿 — это самое интересное событие дня!
40%
Дейли проходит нормально, как по теории.
👍6💯4😁3
JOIN или WHERE для фильтрации данных в БД? И как на это влияет проектирование?
Вопрос от подписчика: Что быстрее — запросы с фильтрацией через WHERE или JOIN? Лучше поместить все атрибуты в одну таблицу и фильтровать там, или использовать несколько таблиц и объединять их с помощью JOIN?
Давайте разбираться 💡
В реляционных БД нормализация подразумевает разделение данных на таблицы, которые объединяются через JOIN. Это предотвращает дублирование данных и поддерживает их целостность.
НО! Если критична скорость запросов, денормализация (где все данные в одной таблице, фильтруются через WHERE) может быть быстрее, хотя увеличивает объём БД.
Пример, когда действительно уместно поместить все данные в одну таблицу, — это аналитические отчёты 📊.
Для аналитики продаж можно объединить таблицы «клиенты», «заказы», и «продукты» в одну — «Sales_Report». Это ускорит выполнение запросов, особенно когда данные редко изменяются и вам просто нужно быстро фильтровать и сортировать их для аналитики.
Любое существенное изменение в БД лучше обсуждать с разработчиками 👥, чтобы выбрать оптимальный вариант. Скорее всего, разработчики предложат использовать JOIN и продумают, как ускорить запросы с помощью индексов, VIEW или кэширования.
❓ Помните, вы всегда можете задать свой вопрос в форме ниже.
https://forms.gle/PEfLrfaxA5evix7VA
Всё анонимно и без стеснения 💬😉
#db
Вопрос от подписчика: Что быстрее — запросы с фильтрацией через WHERE или JOIN? Лучше поместить все атрибуты в одну таблицу и фильтровать там, или использовать несколько таблиц и объединять их с помощью JOIN?
Давайте разбираться 💡
В реляционных БД нормализация подразумевает разделение данных на таблицы, которые объединяются через JOIN. Это предотвращает дублирование данных и поддерживает их целостность.
НО! Если критична скорость запросов, денормализация (где все данные в одной таблице, фильтруются через WHERE) может быть быстрее, хотя увеличивает объём БД.
Пример, когда действительно уместно поместить все данные в одну таблицу, — это аналитические отчёты 📊.
Для аналитики продаж можно объединить таблицы «клиенты», «заказы», и «продукты» в одну — «Sales_Report». Это ускорит выполнение запросов, особенно когда данные редко изменяются и вам просто нужно быстро фильтровать и сортировать их для аналитики.
Любое существенное изменение в БД лучше обсуждать с разработчиками 👥, чтобы выбрать оптимальный вариант. Скорее всего, разработчики предложат использовать JOIN и продумают, как ускорить запросы с помощью индексов, VIEW или кэширования.
❓ Помните, вы всегда можете задать свой вопрос в форме ниже.
https://forms.gle/PEfLrfaxA5evix7VA
Всё анонимно и без стеснения 💬😉
#db
Google Docs
Вопросы от подписчиков
AnalystCore приветствует вас! 🎉
У вас есть вопросы о системном анализе, карьере в IT или работе системного аналитика? Напишите нам! Мы соберём ваши вопросы и ответим на них в будущих постах.
У вас есть вопросы о системном анализе, карьере в IT или работе системного аналитика? Напишите нам! Мы соберём ваши вопросы и ответим на них в будущих постах.
👍10❤3⚡2💯1
Коротко о Kanban
Kanban — это гибкая методология разработки ПО.
🛠️ Визитная карточка канбана — доска с задачами.
Главная идея Kanban — это непрерывная работа над задачами, которые появляются по мере необходимости. Процесс не требует фиксированных спринтов, что делает метод идеальным для однотипных задач, например, для очереди задач в команде техподдержки.
В канбане постоянно что-то «наваливается», а команда распределяет задачи между сотрудниками и продолжает работу. Здесь важна взаимозаменяемость членов команды: если один сотрудник не может продолжить задачу, её легко подхватывает другой — это обеспечивает гибкость и оперативность в решении проблем. ⚡️
#dev_process
Kanban — это гибкая методология разработки ПО.
🛠️ Визитная карточка канбана — доска с задачами.
Главная идея Kanban — это непрерывная работа над задачами, которые появляются по мере необходимости. Процесс не требует фиксированных спринтов, что делает метод идеальным для однотипных задач, например, для очереди задач в команде техподдержки.
В канбане постоянно что-то «наваливается», а команда распределяет задачи между сотрудниками и продолжает работу. Здесь важна взаимозаменяемость членов команды: если один сотрудник не может продолжить задачу, её легко подхватывает другой — это обеспечивает гибкость и оперативность в решении проблем. ⚡️
#dev_process
🔥7👍3❤2💯1