Получи случайную криптовалюту за регистрацию!

Системный сервант

Логотип телеграм канала @breakfront — Системный сервант С
Логотип телеграм канала @breakfront — Системный сервант
Адрес канала: @breakfront
Категории: Технологии
Язык: Русский
Количество подписчиков: 1.88K
Описание канала:

Заметки про IT, системный анализ и хорошее самочувствие

Рейтинги и Отзывы

2.00

3 отзыва

Оценить канал breakfront и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

2


Последние сообщения

2022-04-19 18:12:29
#breakfront_tooltips

Выложу и тут свою памятку для погружения в новый проект.
5.8K views15:12
Открыть/Комментировать
2022-04-04 21:22:10 #breakfront_analysis_fails
Продолжаю рубрику с ошибками анализа.

ПАГИНАЦИЯ

Пагинация - это выдача данных по частям, разбитыми на страницы или блоки. Например, товары интернет-магазина можно выдавать, сортируя по дате создания, разными способами:
-с 1го по 50й,
- 15 товаров, следующих за товаром с артикулом 1111-111,
- товары страницы 4 при размещении 100 записей на странице,
- и т. д.

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

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

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

Поэтому нельзя давать возможность посмотреть сразу ВСЕ. Даже если сейчас в вашем интернет-магазине 500 товаров - через 3 года их может стать 500 тысяч.

И даже если сейчас вы не хотите или не можете делать пагинацию, надо хотя бы сделать ограничение. Например, чтобы можно было получить только первые 1000 записей. Также необходимо делать ограничение, если хотите дать возможность потребителю выбирать количество товаров на одной странице. Например, сделать максимум 100 - тогда пользователь может посмотреть по 10, 15, 50, 100 записей на странице, но не по 1000.

Пагинация делается при разработке и ее необходимо описывать в требованиях. Тут (глава 11 п. 16), тут и тут есть про виды пагинации и какие с ней могут возникнуть трудности.
1.2K viewsedited  18:22
Открыть/Комментировать
2022-03-17 21:40:40 Провела тут для группы Systems.Education вебинар про основы интеграции. Мне лично было интересно .


1.5K views18:40
Открыть/Комментировать
2022-03-11 21:15:11
Горячая линия по поиску работы: свежие апдейты.

В понедельник провели эфир про работу в Армении с Нареком Асликяном.

Послушать можно на нашем канале, а в блоге уже готова статья с основными тезисами и полезными ссылками.

В четверг провели эфир, где отвечали на вопросы про карьеру и поиск работы.

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

Эфир, как обычно, в ютубе, статья — в блоге.

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

А послушать все вышедшие эфиры можно в отдельном плейлисте на нашем ютуб-канале.

За анонсами новых эфиров и появлением новых материалов следите в нашем телеграм-канале: @newhr

Задать свой вопрос можно через форму.
1.3K views18:15
Открыть/Комментировать
2022-03-11 21:15:11 Хорошее дело люди делают.
998 views18:15
Открыть/Комментировать
2022-01-17 18:17:06 ​​#breakfront_analysis_fails

ОБРАТНАЯ СОВМЕСТИМОСТЬ

Начну рубрику "Ошибки анализа", где буду писать про фейлы, которые встречала или делала сама.

Первой расскажу про распространенную и довольно опасную проблему: отсутствие обратной совместимости при обновлениях.

Обратная совместимость - это способность ПО при обновлении поддерживать и новую, и старую функциональности.

Хороший пример обратной совместимости - мобильные приложения. Допустим, на главном экране банковского приложения отображался баланс на счете. А в новой версии приложения вы решили показать на главном экране весь триллион услуг банка.

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

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

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

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

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

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

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

Добавлю, что для контроля обновлений, например, API, часто оперируют версионированием вроде 1.2.3. Где:

- 1 - мажорный номер версии, подразумевающей несовместимые изменения.
- 2 - минорные изменения с обратной совместимостью.
- 3 - номер релиза с исправлением ошибок с сохранением обратной совместимости.
1.2K views15:17
Открыть/Комментировать
2021-11-27 17:46:08 ​​#breakfront_tooltips

По итогам недавнего поиска работы делюсь ресурсами с вакансиями и своим алгоритмом подготовки к собеседованиям.

Ресурсы для поиска работы

Для всея IT:

- LinkedIn - это социальная сеть для рабочих контактов. Иногда рекрутеры сами находят ваш профиль и присылают вакансии. Это международный сайт и там вполне реально найти работу в зарубежной компании, однако он заблокирован на территории РФ (из-за отсутствия серверов с персональными данными в России).
- ХабрКарьера - русский аналог LinkedIn, уже довольно популярный как у соискателей, так и у рекрутеров. Здесь удобно смотреть рейтинги компаний и читать отзывы сотрудников.
- g-mate - помогает подбирать вакансию/кандидата по заточенным под IT параметрам. Возможен поиск вакансий сразу по нескольким профилям. Например: менеджер/аналитик/архитектор. Также есть телеграм-бот, он высылает список вакансий, подходящих под запрос.
- HeadHunter и SuperJob - вряд ли кто-то не в курсе, но для полноты списка оставлю.
- Ханти - проект для реализации схемы "рекомендуй братуху".

Для аналитиков:

- https://t.me/analyst_job
- https://t.me/foranalysts
- Анализ и проектирование в ИТ-проектах - группа в FB
- Бизнес-аналитики. Вакансии и резюме. Freelance - группа в FB

Итак, где искать понятно, теперь про "как искать".

Алгоритм подготовки

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

Алгоритм был таким:

1. Определить цель поиска, критерии успеха и ограничения (время, деньги, локация и пр.).
2. Выписать пожелания для будущей работы с приоритетами.
3. Выяснить, какие бывают вопросы и темы для обсуждения на собеседованиях.
4. Повторить то, что знаешь и умеешь.
5. Изучить незнакомые вопросы, заполнить пробелы в знаниях.
6. Определить границы своих компетенций.
7. Составить список вопросов для работодателя.
8. Составить список признаков "точно не того" работодателя.
9. Сделать таблицу с перечнем работодателей, их контактами, комментариями, статусами и датами собеседований.

В дополнение пара статей с вопросами на собеседованиях для системных аналитиков: раз, два.
1.3K viewsedited  14:46
Открыть/Комментировать
2021-11-03 21:39:53 Полная версия интервью для Профессионалы 4.0 о работе системного аналитика.
1.1K views18:39
Открыть/Комментировать
2021-10-24 14:47:19 ​​#breakfront_tooltips

Подборка бесплатных курсов про базы данных и SQL


Часто в обязанности системного аналитика входит работа с базами данных(БД). В моем опыте это в основном были задачи такого типа:

1. Понимать структуру БД, доставать SELECT-запросами нужные данные: например, выгрузить отчет для анализа бизнес-показателей.
2. Писать задания на разработку, указывая конкретные таблицы и поля, формат данных и их взаимосвязи. Такой подход точно необходим при интеграциях.
3. Проверять работу системы, анализируя корректность и полноту данных в БД (все ли поля заполняются нужной информацией, например).
4. Проектировать логическую модель БД, опираясь на выявленные при анализе сущности предметной области.

Тем не менее, эти навыки получается применить не всегда: где-то NoSQL, где-то команда делает только API, где-то микросервисы и т.д. Поэтому мне не раз приходилось забывать и вспоминать заново основы SQL и реляционных БД. За это время накопился список неплохих бесплатных курсов по этой теме.

Вот эти курсы, расположенные в порядке возрастания сложности:

1. SQL для непрограммистов - очень хороший практический курс для начинающих, на мой взгляд. С заданиями на реальной БД и понятными объяснениями.
2. sql-ex - именно объяснения были не все понятны, но тренажер для запросов там классный.
3. Введение в базы данных - тут больше про проектирование, нормальные формы и пр. Не всё подробно разъясняют, но в целом курс полезный.
4. Введение в реляционные базы данных - теоретические основы от МФТИ. Сложно, но интересно.

ER-диаграммы обычно рисую в draw.io. Но именно для обучения хорошо подходят программы, где сразу по схемам можно создать БД: MySQL Workbench, ERwin. Из бесплатных клиентов мне нравится DBeaver, из платных - TablePlus.
А какие у вас любимые инструменты для работы с БД?
1.3K viewsedited  11:47
Открыть/Комментировать
2021-10-12 23:44:55 Видимо реакции как-то убирают комментарии, поэтому эта запись для комментариев к статье про микросервисы.
981 views20:44
Открыть/Комментировать