TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #msfabric

当前筛选 #msfabric清除筛选
Data Science Jobs

@datasciencejobs · Post #2587 · 02.03.2025 г., 12:04

Ищем Data Engineer (Middle/Middle+/Senior) в аутстафф-компанию Top Selection для работы над зарубежным ритейл-проектом. Грейд: Senior Название компании: Top Selection Локация: Не важно Часовой пояс: МСК Предметные области: ритейл Формат работы: Удалёнка Мы ищем Data Platform Engineer с опытом работы в Microsoft Fabric или Databricks для построения и оптимизации дата-платформы в ритейле. Основная задача – разработка облачной платформы обработки данных, интеграция с различными источниками и аналитика в реальном времени. Работа в ритейле требует глубокого понимания данных о продажах, цепочке поставок, потребительском поведении и управлении товарными запасами. Обязанности: Ключевые обязанности (MS Fabric): - Проектирование архитектуры данных на Microsoft Fabric (OneLake, Lakehouses, Synapse Data Warehouse, Power BI). - Разработка и внедрение ETL/ELT-конвейеров данных (Fabric Data Pipelines, Azure Data Factory). - Оптимизация хранения и обработки данных в OneLake и Lakehouses. - Настройка Real-Time Analytics (анализ транзакций, логистика, продажи в режиме реального времени). - Интеграция с Power BI и построение семантических моделей. - Оптимизация SQL-запросов для больших объемов данных в Synapse Data Warehouse. - Автоматизация CI/CD-конвейеров (Azure GitOps). - Обеспечение безопасности данных и соответствие стандартам работы с персональными и коммерческими данными. Технологии, с которыми предстоит работать: - Microsoft Fabric: - OneLake (облачное lakehouse-хранилище данных) - Lakehouses (совмещение Data Lake и традиционных DWH) - Data Pipelines (аналог Azure Data Factory) - Synapse Data Warehouse (облачный аналитический движок) - Real-Time Analytics (потоковая обработка данных) - Power BI & Semantic Models (бизнес-аналитика) - KQL (Kusto Query Language) для анализа событий и логов - DevOps & CI/CD: - Azure GitOps, YAML-пайплайны - Автоматизированное развертывание и управление инфраструктурой данных Требования: - Практический опыт работы с Microsoft Fabric или Databricks (или другим релевантным облачным стеком). - От 2 лет опыта в data engineering и облачных хранилищах данных. - Глубокие знания SQL, Python, Spark/PySpark, T-SQL. - Опыт оптимизации SQL-запросов и работы с большими объемами данных. - Понимание архитектуры баз данных и lakehouse-концепции. - Опыт работы с ETL/ELT-процессами, DataOps, CI/CD для данных. Пожелания: Будет плюсом: - Опыт работы с потоковыми данными (Kafka, Event Hubs, Stream Analytics). - Знание ритейл-данных (ценообразование, товарные запасы, программы лояльности). - Опыт работы с Delta Lake, Databricks ML. - Оптимизация SQL-запросов и настройка кластера Spark. Сертификации (желательно): - Microsoft Certified: Fabric Analytics Engineer Associate - Microsoft Certified: Azure Data Engineer Associate - Databricks Certified Data Engineer Associate/Professional Контактные данные: @mherchopurian / @datasciencejobs #вакансия#DataEngineer#Middle#MSFabric#Databricks#Удаленно