Forwarded from S0ER
В следующем году я планирую открыть исходники NarisApp для всеобщего доступа, чтобы любой желающий мог при желании принять участие, либо просто посмотреть как у нас все устроено.
С помощью платформы я планирую помогать новичкам и готовить для них задачи с набором видео-лекций по архитектуре. Я подготовил первый материал Интенсив. Введение в архитектуру для разработчика
Прошу всех принять участие в тестировании платформы и писать свои замечания в комментарии к этому посту. Какие проблемы есть в интерфейсе, что нравится, что нет. Буду благодарен.
UPD. Делать логин не обязательно, публичные материалы можно смотреть на вкладке Структура, щелкая по значкам в конце каждого пункта.
С помощью платформы я планирую помогать новичкам и готовить для них задачи с набором видео-лекций по архитектуре. Я подготовил первый материал Интенсив. Введение в архитектуру для разработчика
Прошу всех принять участие в тестировании платформы и писать свои замечания в комментарии к этому посту. Какие проблемы есть в интерфейсе, что нравится, что нет. Буду благодарен.
UPD. Делать логин не обязательно, публичные материалы можно смотреть на вкладке Структура, щелкая по значкам в конце каждого пункта.
👍1🔥1
Forwarded from S0ER
Что нужно знать про Docker контейнеры
📍 Контейнеры. Поддержка контейнеров сделана на уровне ядра Linux. Идея состоит в том, чтобы создать изолированные контейнеры, которые не могут обращаться друг к другу и имеют свой пул выделенных ресурсов. При этом все контейнеры работают с общим ядром.
📍 В windows, macos и т.д. для поддержки контейнеров создают легковесные виртуальные машины Linux
📍 По умолчанию контейнеры не содержат никаких файлов, в них можно делать только вызовы ядра.
📍В контейнеры можно добавить библиотеки и исполняемые файлы, тогда в рамках контейнера можно запускать разный софт.
📦 Docker - это инфраструктура управления контейнером.
📦 для добавления файлов используется понятие "образ" (image)
📦 образ содержит наборы файлов - библиотеки, исполняемые файлы и т.д.
📦 популярные образы содержат необходимые файлы для запуска разных приложений, например: mysql, linux-alpine, nodejs и т.д.💡
#знания #архитектура
SOER | PRO | Boosty
📍 Контейнеры. Поддержка контейнеров сделана на уровне ядра Linux. Идея состоит в том, чтобы создать изолированные контейнеры, которые не могут обращаться друг к другу и имеют свой пул выделенных ресурсов. При этом все контейнеры работают с общим ядром.
📍 В windows, macos и т.д. для поддержки контейнеров создают легковесные виртуальные машины Linux
📍 По умолчанию контейнеры не содержат никаких файлов, в них можно делать только вызовы ядра.
📍В контейнеры можно добавить библиотеки и исполняемые файлы, тогда в рамках контейнера можно запускать разный софт.
📦 Docker - это инфраструктура управления контейнером.
📦 для добавления файлов используется понятие "образ" (image)
📦 образ содержит наборы файлов - библиотеки, исполняемые файлы и т.д.
📦 популярные образы содержат необходимые файлы для запуска разных приложений, например: mysql, linux-alpine, nodejs и т.д.
#знания #архитектура
SOER | PRO | Boosty
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Forwarded from S0ER
Операционные и аналитические данные
Вся разработка строится на обработке данных, данные бывают разные - изображения, тексты, сигналы и т.д., можно по-разному классифицировать данные, объединять их в группы, разделять по разным принципам. Но в контексте данной заметки нам важно разделить данные на "операционные данные" и "аналитические данные". Именно так они делятся с позиции бизнеса.
Операционные данные
Это бизнес-данные, которые отражают текущее состояние бизнеса. Эти данные постоянно меняются и их нужно поддерживать в корректном состоянии.
Целостность достигается за счет использования транзакций, функциональность реализуется с помощью OLTP (online transaction processing).
Основная проблема операционных данных - изменчивость. Чтобы гарантировать целостность используют либо ACID, либо BASE подходы.
Обычно для операционных данных реализуется стандартный CRUD интерфейс.
Передача данных во внешние источники делается через REST, GraphQL, event-driven подходы и т.д.
Аналитические данные
Это timeseries-данные, которые описывают исторический взгляд на вещи (аналитика). Эти данные нужны для построения отчетов, оперативного мониторинга и т.д.
Эти данные не изменяются во времени, только накапливаются и аггрегируются, поэтому нет нужды обеспечивать целостность. Для обработки используются OLAP (online analytical processing) системы.
Аналитические данные используются для построения информационных моделей в машинном обучении.
Для хранения используются DataLake (централизованный подход), DataMesh (децентрлизованный подход)
#знания #статья
SOER | PRO | Boosty
Вся разработка строится на обработке данных, данные бывают разные - изображения, тексты, сигналы и т.д., можно по-разному классифицировать данные, объединять их в группы, разделять по разным принципам. Но в контексте данной заметки нам важно разделить данные на "операционные данные" и "аналитические данные". Именно так они делятся с позиции бизнеса.
Операционные данные
Это бизнес-данные, которые отражают текущее состояние бизнеса. Эти данные постоянно меняются и их нужно поддерживать в корректном состоянии.
Целостность достигается за счет использования транзакций, функциональность реализуется с помощью OLTP (online transaction processing).
Основная проблема операционных данных - изменчивость. Чтобы гарантировать целостность используют либо ACID, либо BASE подходы.
Обычно для операционных данных реализуется стандартный CRUD интерфейс.
Передача данных во внешние источники делается через REST, GraphQL, event-driven подходы и т.д.
Аналитические данные
Это timeseries-данные, которые описывают исторический взгляд на вещи (аналитика). Эти данные нужны для построения отчетов, оперативного мониторинга и т.д.
Эти данные не изменяются во времени, только накапливаются и аггрегируются, поэтому нет нужды обеспечивать целостность. Для обработки используются OLAP (online analytical processing) системы.
Аналитические данные используются для построения информационных моделей в машинном обучении.
Для хранения используются DataLake (централизованный подход), DataMesh (децентрлизованный подход)
#знания #статья
SOER | PRO | Boosty
Forwarded from S0ER
Структурировал темы по архитектуре, которые должны входить в архитектурный минимум каждого инженера.
P.S. сорян за качество, xmind не дает сделать лучше.
P.S. сорян за качество, xmind не дает сделать лучше.
Forwarded from S0ER
Операционные и аналитические данные
Вся разработка строится на обработке данных, данные бывают разные - изображения, тексты, сигналы и т.д., можно по-разному классифицировать данные, объединять их в группы, разделять по разным принципам. Но в контексте данной заметки нам важно разделить данные на "операционные данные" и "аналитические данные". Именно так они делятся с позиции бизнеса.
Операционные данные
Это бизнес-данные, которые отражают текущее состояние бизнеса. Эти данные постоянно меняются и их нужно поддерживать в корректном состоянии.
Целостность достигается за счет использования транзакций, функциональность реализуется с помощью OLTP (online transaction processing).
Основная проблема операционных данных - изменчивость. Чтобы гарантировать целостность используют либо ACID, либо BASE подходы.
Обычно для операционных данных реализуется стандартный CRUD интерфейс.
Передача данных во внешние источники делается через REST, GraphQL, event-driven подходы и т.д.
Аналитические данные
Это timeseries-данные, которые описывают исторический взгляд на вещи (аналитика). Эти данные нужны для построения отчетов, оперативного мониторинга и т.д.
Эти данные не изменяются во времени, только накапливаются и аггрегируются, поэтому нет нужды обеспечивать целостность. Для обработки используются OLAP (online analytical processing) системы.
Аналитические данные используются для построения информационных моделей в машинном обучении.
Для хранения используются DataLake (централизованный подход), DataMesh (децентрлизованный подход)
#знания #статья
SOER | PRO | Boosty
Вся разработка строится на обработке данных, данные бывают разные - изображения, тексты, сигналы и т.д., можно по-разному классифицировать данные, объединять их в группы, разделять по разным принципам. Но в контексте данной заметки нам важно разделить данные на "операционные данные" и "аналитические данные". Именно так они делятся с позиции бизнеса.
Операционные данные
Это бизнес-данные, которые отражают текущее состояние бизнеса. Эти данные постоянно меняются и их нужно поддерживать в корректном состоянии.
Целостность достигается за счет использования транзакций, функциональность реализуется с помощью OLTP (online transaction processing).
Основная проблема операционных данных - изменчивость. Чтобы гарантировать целостность используют либо ACID, либо BASE подходы.
Обычно для операционных данных реализуется стандартный CRUD интерфейс.
Передача данных во внешние источники делается через REST, GraphQL, event-driven подходы и т.д.
Аналитические данные
Это timeseries-данные, которые описывают исторический взгляд на вещи (аналитика). Эти данные нужны для построения отчетов, оперативного мониторинга и т.д.
Эти данные не изменяются во времени, только накапливаются и аггрегируются, поэтому нет нужды обеспечивать целостность. Для обработки используются OLAP (online analytical processing) системы.
Аналитические данные используются для построения информационных моделей в машинном обучении.
Для хранения используются DataLake (централизованный подход), DataMesh (децентрлизованный подход)
#знания #статья
SOER | PRO | Boosty
Сделал мастеркласс по версионированию документов в SPA
В этой задаче мы разберемся, как спроектировать свой подход к версионированию документов в проекте и как это помогает решать следующие проблемы:
👉 множественная обработка одних и тех же данных (например, мы редактируем документ с мобильного и десктопа), нужно понять, какие данные в каком порядке были изменены;
👉двойная загрузка данных на клиенте и, как следствие, потеря несохраненных изменений;
👉ошибки синхронизации стейта (кто раньше, кто позже).
В качестве примера взят механизм создания документов, которые используются в NarisApp.
Посмотреть воркшоп на платформе. так же можно посмотреть видео с описанием проблемы.
В этой задаче мы разберемся, как спроектировать свой подход к версионированию документов в проекте и как это помогает решать следующие проблемы:
👉 множественная обработка одних и тех же данных (например, мы редактируем документ с мобильного и десктопа), нужно понять, какие данные в каком порядке были изменены;
👉двойная загрузка данных на клиенте и, как следствие, потеря несохраненных изменений;
👉ошибки синхронизации стейта (кто раньше, кто позже).
В качестве примера взят механизм создания документов, которые используются в NarisApp.
Посмотреть воркшоп на платформе. так же можно посмотреть видео с описанием проблемы.
👍2🔥2❤1
Монолитная архитектура - простая, мощная и часто недооцененная классика.
Я собрал для вас все основные моменты, которые необходимо помнить, работая с этим архитектурным шаблоном.
Постарался сделать емкои и без лишней воды.
Я собрал для вас все основные моменты, которые необходимо помнить, работая с этим архитектурным шаблоном.
Постарался сделать емкои и без лишней воды.
🔥4