В Dbeaver есть полезная фича "SQL Templates"
чтобы каждый раз не вводить основные команды, можно пользоваться готовыми шаблонами,
что значительно ускоряет написание скриптов.
По дефолту уже настроено 5 шаблонов, так же можно добавлять свои.
https://dbeaver.com/docs/wiki/SQL-Templates/
а вот здесь есть шаблоны для разных БД, можно импортировать к себе
https://gitlab.com/davidhooey/dbeaver_templates
чтобы каждый раз не вводить основные команды, можно пользоваться готовыми шаблонами,
что значительно ускоряет написание скриптов.
По дефолту уже настроено 5 шаблонов, так же можно добавлять свои.
https://dbeaver.com/docs/wiki/SQL-Templates/
а вот здесь есть шаблоны для разных БД, можно импортировать к себе
https://gitlab.com/davidhooey/dbeaver_templates
👍5
Hypermodern Python
Не только virtualvenv живет питон.
Эта серия статей представляет собой руководство по современным инструментам Python с упором на простоту и минимализм. В ней рассказывается о создании полной и актуальной структуры проекта Python с модульными тестами, статическим анализом, проверкой типов и документацией. , а также непрерывная интеграция и доставка.
Там под катом 6 статей, но как по мне выходит слишком сложно, в свой проект я бы такое не потянул.
Не только virtualvenv живет питон.
Эта серия статей представляет собой руководство по современным инструментам Python с упором на простоту и минимализм. В ней рассказывается о создании полной и актуальной структуры проекта Python с модульными тестами, статическим анализом, проверкой типов и документацией. , а также непрерывная интеграция и доставка.
Там под катом 6 статей, но как по мне выходит слишком сложно, в свой проект я бы такое не потянул.
Claudiojolowicz
Hypermodern Python
A guide to modern Python tooling with a focus on simplicity and minimalism.
👍2
Небольшой опрос?
Как вы разделяете код и даги в airflow/prefect/dagster
Как вы разделяете код и даги в airflow/prefect/dagster
Anonymous Poll
19%
Все пишу в даг
77%
Разделяю логику и исполнение
3%
Свой ответ в комментах
Если для языков программирования есть стайлгайды, как пример PEP 8 для питона, то в мире SQL все не так однозначно.
Каждая компания вводит свой стайлгайд, работал я в местах, где к примеру запрещены триггеры, работал там, где вообще нет стайлгайда, но все же основные принципы форматирования SQL кода полезно знать и вот один из них.
тык
Каждая компания вводит свой стайлгайд, работал я в местах, где к примеру запрещены триггеры, работал там, где вообще нет стайлгайда, но все же основные принципы форматирования SQL кода полезно знать и вот один из них.
тык
www.sqlstyle.guide
Руководство по стилю SQL · SQL style guide by Simon Holywell
Руководство по стилю SQL · A consistent code style guide for SQL to ensure legible and maintainable projects
🫡3
Vizro — это набор инструментов для создания модульных приложений визуализации данных. Он позволяет пользователям создавать индивидуальные информационные панели за считанные минуты без необходимости продвинутого программирования или опыта проектирования. Vizro поддерживает конфигурации, написанные в моделях Pydantic, JSON, YAML, словарях Python и т. д.
⚡1
Tech interview questions
Интересное репо.
Тщательно подобранные технические инженерные вопросы опытными инженерами, которые провели множество собеседований.
Интересное репо.
Тщательно подобранные технические инженерные вопросы опытными инженерами, которые провели множество собеседований.
GitHub
GitHub - moabukar/tech-vault: A list of many interview questions & real-world challenges in Tech! (https://tech-vault-web.vercel.app/)
A list of many interview questions & real-world challenges in Tech! (https://tech-vault-web.vercel.app/) - moabukar/tech-vault
👍2
Storage challenges in the evolution of database architecture
Команда инженеров Postman решила проблему с хранилищем в сервисе синхронизации, который работал с 2014 года и сталкивался с ограничениями физического хранилища в кластере AWS RDS Aurora. Первоначально команда попыталась удалить старые записи, чтобы освободить место, но обнаружила, что это не работает должным образом из-за определенных ограничений. Затем они разработали подход к освобождению таблиц без ущерба для надежности системы, в результате чего было освобождено 60 ТБ пространства.
Команда инженеров Postman решила проблему с хранилищем в сервисе синхронизации, который работал с 2014 года и сталкивался с ограничениями физического хранилища в кластере AWS RDS Aurora. Первоначально команда попыталась удалить старые записи, чтобы освободить место, но обнаружила, что это не работает должным образом из-за определенных ограничений. Затем они разработали подход к освобождению таблиц без ущерба для надежности системы, в результате чего было освобождено 60 ТБ пространства.
Postman Blog
Storage Challenges in the Evolution of Database Architecture | Postman Blog
Learn how Postman engineers solved a physical storage issue in the database layer of the service behind Postman Collections.
Делал как то перевод статьи
с сайта stratascratch.
Лучшие практики написания SQL-запросов: Как структурировать свой код.
В этой статье основное внимание уделяется тому, как правильно писать SQL-запросы и как их можно улучшить, в частности, когда речь идет о производительности и читаемости.
В заключение, вот еще раз список лучших практик написания SQL-запросов:
- Удалить несколько вложенных запросов
- Обеспечьте согласованность псевдонимов
- Удалите ненужные предложения ORDER BY
- Удалить ненужные подзапросы
- Если возможно, используйте WHERE, а не HAVING.
- Отформатируйте свой код в соответствии с лучшими практиками
с сайта stratascratch.
Лучшие практики написания SQL-запросов: Как структурировать свой код.
В этой статье основное внимание уделяется тому, как правильно писать SQL-запросы и как их можно улучшить, в частности, когда речь идет о производительности и читаемости.
В заключение, вот еще раз список лучших практик написания SQL-запросов:
- Удалить несколько вложенных запросов
- Обеспечьте согласованность псевдонимов
- Удалите ненужные предложения ORDER BY
- Удалить ненужные подзапросы
- Если возможно, используйте WHERE, а не HAVING.
- Отформатируйте свой код в соответствии с лучшими практиками
👍2
Нужно ли проводить крупные айти конференции?
Вопрос спорный и вызовет много подгорания, как с одной так и с другой стороны.
Как пример вы рабогатеет в условном гугле,крупнейшие компания мира.
Вам как спикеру выгодно выступать, (AZURE Fabric)
делаете свой бренд,
возможно появится очередная школа))
Которые покажут на конференции ни кому не нужный фрэймворк.
Пример разраба из провинции, денег ходить по офлайн выставкам нет, а те что смотрит, его прошлагодние запуски, которые уже не актуальн, знания получается обрывочные, а чаще всего это набор базовых вебринаров.
И стоит наш разраб из провинции и думу, как ему быть?
В банке на Informativa и Oracle за 300к или же ваш модные дата сэтки, но перспиктивы туманные)(уже момент проебали со все модорным западныЬ
Куда идти здесь вопрос лично каждого, а вот конференции я бы старался сделать более доступными;
Поэтому, как многие говорят не гонитесь за хайпом учите технологии,.
Хотя у нас хватает замечательных лекций от Института Биоинформатики
Вопрос спорный и вызовет много подгорания, как с одной так и с другой стороны.
Как пример вы рабогатеет в условном гугле,крупнейшие компания мира.
Вам как спикеру выгодно выступать, (AZURE Fabric)
делаете свой бренд,
возможно появится очередная школа))
Которые покажут на конференции ни кому не нужный фрэймворк.
Пример разраба из провинции, денег ходить по офлайн выставкам нет, а те что смотрит, его прошлагодние запуски, которые уже не актуальн, знания получается обрывочные, а чаще всего это набор базовых вебринаров.
И стоит наш разраб из провинции и думу, как ему быть?
В банке на Informativa и Oracle за 300к или же ваш модные дата сэтки, но перспиктивы туманные)(уже момент проебали со все модорным западныЬ
Куда идти здесь вопрос лично каждого, а вот конференции я бы старался сделать более доступными;
Поэтому, как многие говорят не гонитесь за хайпом учите технологии,.
Хотя у нас хватает замечательных лекций от Института Биоинформатики
👍2🤔2
Database migrations
Миграция баз данных может быть одной из самых неприятных проблем для инженера. При миграции базы данных следует учитывать массу вещей. В этой статье обсуждаются сложности, возникающие при миграции баз данных. В нем рассказывается, почему они могут быть трудными, почему никто не хочет с ними работать, различные сценарии, время простоя и многое другое. Статья завершается списком лучших практик.
Миграция баз данных может быть одной из самых неприятных проблем для инженера. При миграции базы данных следует учитывать массу вещей. В этой статье обсуждаются сложности, возникающие при миграции баз данных. В нем рассказывается, почему они могут быть трудными, почему никто не хочет с ними работать, различные сценарии, время простоя и многое другое. Статья завершается списком лучших практик.
Vadim Kravcenko
Mastering Database Migrations: Tips for Success
Navigate the complexities of database migrations with ease. Learn best practices and strategies for seamless schema changes and avoid common pitfalls. Start improving your migration skills today!
👍1
Pull-Request в FastApi вышли из под контроля.
Хороший инструмент, но все это становится похожим на абсурд.
Уже почти 500PR, это в 2 раза больше чем к ядру Linux.
Уязвимости в безопасности, который не закрыты уже 2 года.
Весь бомбежь начался в одном сабреддите.
Подводя итог, автор говорит, что любит фрэймворк и хочет, чтобы он развивался, но на проблемы закрывать глаза больше нельзя.
#FastApi
Хороший инструмент, но все это становится похожим на абсурд.
Уже почти 500PR, это в 2 раза больше чем к ядру Linux.
Уязвимости в безопасности, который не закрыты уже 2 года.
Весь бомбежь начался в одном сабреддите.
Подводя итог, автор говорит, что любит фрэймворк и хочет, чтобы он развивался, но на проблемы закрывать глаза больше нельзя.
#FastApi
👍2
Python не отстает от JS в создании новых фрэймворков.
FastStream - это фрэймворк
для создания асинхронных сервисов, взаимодействующих с потоками событий.
FastStream упрощает процесс написания producers и consumers для очередей сообщений,
автоматически выполняя весь анализ, работу в сети и генерацию документации.
#python
FastStream - это фрэймворк
для создания асинхронных сервисов, взаимодействующих с потоками событий.
FastStream упрощает процесс написания producers и consumers для очередей сообщений,
автоматически выполняя весь анализ, работу в сети и генерацию документации.
#python
faststream.airt.ai
FastStream - FastStream
FastStream Python messaging framework documentation
👍1
Lightdash - это open-source BI платформа, созданная как альтернатива Looker.
Lightdash легко интегрирует визуализацию данных со слоями моделирования и преобразования, создавая единый источник показателей данных для команд. Он предлагает быстрый переход от проектов dbt к комплексной платформе BI, позволяя предоставлять аналитику для всей организации.
Есть как платная версия в облаке, так и self-hosted
#bi
Lightdash легко интегрирует визуализацию данных со слоями моделирования и преобразования, создавая единый источник показателей данных для команд. Он предлагает быстрый переход от проектов dbt к комплексной платформе BI, позволяя предоставлять аналитику для всей организации.
Есть как платная версия в облаке, так и self-hosted
#bi
Lightdash
Lightdash | Build Intelligence, not just dashboards.
Lightdash is the AI-first, open-source BI platform for modern data teams. Connect to dbt, define metrics once, and get instant, trustworthy insights.
Netflix Tech Stack - Databases
Команда инжинеров Netflix выбирает различные базы данных
для обеспечения возможности потоковой передачи в больших масштабах.
В качестве реляционной базы данных: Netflix выбирает MySql
для выставления счетов, подписок, налогов и доходов.
Они также используют CockroachDB для поддержки многорегиональной архитектуры,
глобальных транзакций и data pipeline workflows.
Колоночные базы данных: Netflix в основном использует их в аналитических целях.
Они используют Redshift и Druid для структурированного хранения данных, Spark и конвейерную обработку данных,
а также Tableau для визуализации данных.
В качестве key-value базы данных: Netflix в основном использует EVCache,
построенный на основе Memcached. EVCache работает с Netflix более 10 лет
и используется для большинства сервисов, кэшируя различные данные,
такие как домашняя страница Netflix и персональные рекомендации.
Wide-column база данных: Cassandra обычно является выбором по умолчанию в Netflix.
Они используют его практически для всего, включая информацию о видео/актере,
пользовательские данные, информацию об устройстве и историю просмотров.
Time-series база данных: Netflix создал базу данных в памяти с открытым исходным кодом
под названием Atlas для хранения и агрегирования показателей.
Неструктурированные данные: S3 является выбором по умолчанию и хранит практически все,
что связано с файлами изображений, видео, показателей и журналов. Apache Iceberg также используется с S3 для хранения больших данных.
Команда инжинеров Netflix выбирает различные базы данных
для обеспечения возможности потоковой передачи в больших масштабах.
В качестве реляционной базы данных: Netflix выбирает MySql
для выставления счетов, подписок, налогов и доходов.
Они также используют CockroachDB для поддержки многорегиональной архитектуры,
глобальных транзакций и data pipeline workflows.
Колоночные базы данных: Netflix в основном использует их в аналитических целях.
Они используют Redshift и Druid для структурированного хранения данных, Spark и конвейерную обработку данных,
а также Tableau для визуализации данных.
В качестве key-value базы данных: Netflix в основном использует EVCache,
построенный на основе Memcached. EVCache работает с Netflix более 10 лет
и используется для большинства сервисов, кэшируя различные данные,
такие как домашняя страница Netflix и персональные рекомендации.
Wide-column база данных: Cassandra обычно является выбором по умолчанию в Netflix.
Они используют его практически для всего, включая информацию о видео/актере,
пользовательские данные, информацию об устройстве и историю просмотров.
Time-series база данных: Netflix создал базу данных в памяти с открытым исходным кодом
под названием Atlas для хранения и агрегирования показателей.
Неструктурированные данные: S3 является выбором по умолчанию и хранит практически все,
что связано с файлами изображений, видео, показателей и журналов. Apache Iceberg также используется с S3 для хранения больших данных.
Не так давно я писал про PeerDb.
Подъехали бенчмарки, где сравнивают PeerDb и Airbyte.
На обработку 1.5 тб данных, точнее перегнать их в Snowflake:
Airbyte заняло 83 часа
PeerDb заняло 5 часов.
А по заявлениям ребят из PeerDb, Fivetran будет медленнее чем Airbyte.
Такая скорость в PeerDb достигается, за счёт параллелизма.
Подробнее тут.
Подъехали бенчмарки, где сравнивают PeerDb и Airbyte.
На обработку 1.5 тб данных, точнее перегнать их в Snowflake:
Airbyte заняло 83 часа
PeerDb заняло 5 часов.
А по заявлениям ребят из PeerDb, Fivetran будет медленнее чем Airbyte.
Такая скорость в PeerDb достигается, за счёт параллелизма.
Подробнее тут.
Telegram
Data Explorers Hub
Что там по опенсорсу
PeerDB - это первая Postgres ETL/ELT платформа которая позволяет быстро и просто перемещать данные в Postgres и из нее 🖥🚀
Платформа позволяет синхронизировать, преобразовывать и получать данные с помощью простых SQL запросов.
В PeerDB…
PeerDB - это первая Postgres ETL/ELT платформа которая позволяет быстро и просто перемещать данные в Postgres и из нее 🖥🚀
Платформа позволяет синхронизировать, преобразовывать и получать данные с помощью простых SQL запросов.
В PeerDB…
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
How do companies ship code to production?
👍6
Шаг 1. Процесс начинается с того, что владелец продукта создает пользовательские истории на основе требований.
Шаг 2. Команда разработчиков собирает пользовательские истории из бэклога и запускает их в спринт в течение двухнедельного цикла разработки.
Шаг 3. Разработчики помещают исходный код в репозиторий кода Git.
Шаг 4: В Jenkins запускается сборка. Исходный код должен пройти модульные тесты, порог покрытия кода и шлюзы в SonarQube.
Шаг 5. После успешного завершения сборки она сохраняется в артефакте. Затем сборка развертывается в среде разработки.
Шаг 6. Над разными функциями может работать несколько команд разработчиков. Функции необходимо тестировать независимо, поэтому они развертываются на QA1 и QA2.
Шаг 7. Команда контроля качества выбирает новые среды контроля качества и выполняет тестирование качества, регрессионное тестирование и тестирование производительности.
Шаг 8. Как только сборки QA проходят проверку команды QA, они развертываются в среде UAT.
Шаг 9. Если тестирование UAT пройдет успешно, сборки станут кандидатами на выпуск и будут развернуты в производственной среде по графику.
Шаг 10. Команда SRE (Site Reliability Engineering) отвечает за production мониторинг.
Шаг 2. Команда разработчиков собирает пользовательские истории из бэклога и запускает их в спринт в течение двухнедельного цикла разработки.
Шаг 3. Разработчики помещают исходный код в репозиторий кода Git.
Шаг 4: В Jenkins запускается сборка. Исходный код должен пройти модульные тесты, порог покрытия кода и шлюзы в SonarQube.
Шаг 5. После успешного завершения сборки она сохраняется в артефакте. Затем сборка развертывается в среде разработки.
Шаг 6. Над разными функциями может работать несколько команд разработчиков. Функции необходимо тестировать независимо, поэтому они развертываются на QA1 и QA2.
Шаг 7. Команда контроля качества выбирает новые среды контроля качества и выполняет тестирование качества, регрессионное тестирование и тестирование производительности.
Шаг 8. Как только сборки QA проходят проверку команды QA, они развертываются в среде UAT.
Шаг 9. Если тестирование UAT пройдет успешно, сборки станут кандидатами на выпуск и будут развернуты в производственной среде по графику.
Шаг 10. Команда SRE (Site Reliability Engineering) отвечает за production мониторинг.
System design 101
Этот репозиторий содержит руководство, объясняющее сложные системы с помощью визуальных средств и простых терминов. Он предназначен для людей, готовящихся к собеседованию по проектированию систем, или для тех, кто хочет просто понять, как системы работают под поверхностью. В руководстве рассматриваются протоколы связи, CI/CD, шаблоны архитектуры, архитектура микросервисов, платежные системы и многое другое.
Этот репозиторий содержит руководство, объясняющее сложные системы с помощью визуальных средств и простых терминов. Он предназначен для людей, готовящихся к собеседованию по проектированию систем, или для тех, кто хочет просто понять, как системы работают под поверхностью. В руководстве рассматриваются протоколы связи, CI/CD, шаблоны архитектуры, архитектура микросервисов, платежные системы и многое другое.
GitHub
GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design…
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews. - ByteByteGoHq/system-design-101
👍5❤4
У dagster, тот что убийца airflow есть достаточно не плохой блог, где они рассказывают про best practices в дата инжиниринге.
Серии статей о Python для дата инжиниринга , призванной помочь инженерам данных, специалистам по данным, аналитикам данных, инженерам машинного обучения или другим людям, которые плохо знакомы с Python, освоить основы. На сегодняшний день это руководство для начинающих состоит из следующих статей:
Part 1: Python Packages: a Primer for Data People (part 1 of 2)
Part 2: Python Packages: a Primer for Data People (part 2 of 2)
Part 3: Best Practices in Structuring Python Projects
Part 4: From Python Projects to Dagster Pipelines
Part 5: Environment Variables in Python
Part 6: Type Hinting
Part 7: Factory Patterns
Part 8: Write-Audit-Publish in data pipelines
Part 9: CI/CD and Data Pipeline Automation (with Git)
Серии статей о Python для дата инжиниринга , призванной помочь инженерам данных, специалистам по данным, аналитикам данных, инженерам машинного обучения или другим людям, которые плохо знакомы с Python, освоить основы. На сегодняшний день это руководство для начинающих состоит из следующих статей:
Part 1: Python Packages: a Primer for Data People (part 1 of 2)
Part 2: Python Packages: a Primer for Data People (part 2 of 2)
Part 3: Best Practices in Structuring Python Projects
Part 4: From Python Projects to Dagster Pipelines
Part 5: Environment Variables in Python
Part 6: Type Hinting
Part 7: Factory Patterns
Part 8: Write-Audit-Publish in data pipelines
Part 9: CI/CD and Data Pipeline Automation (with Git)
dagster.io
Python Packages Primer for Data People 1/2
Start mastering Python project structure with this guide to modules, imports, and package organization for data practitioners.
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Лучшие способы проверить функциональность системы
Тестирование функциональности системы,
является важным шагом в разработке программного обеспечения и процессах проектирования.
Оно гарантирует, что система или программное приложение работают должным образом,
соответствуют требованиям пользователя и работают надежно.
Здесь мы рассмотри лучшие основные способы тестирования:
✅ Модульное тестирование: обеспечивает правильную работу отдельных компонентов кода по отдельности.
✅ Интеграционное тестирование: проверяет, что различные части системы работают без сбоев.
✅ Тестирование системы: оценивается соответствие всей системы требованиям пользователя и производительности.
✅ Нагрузочное тестирование: проверяет способность системы справляться с высокими рабочими нагрузками и выявляет проблемы с производительностью.
✅ Тестирование на ошибки: оцените, как программное обеспечение обрабатывает неверные входные данные и ошибочные состояния.
✅ Автоматизация тестирования: автоматизирует выполнение тестовых примеров для повышения эффективности, повторяемости и уменьшения количества ошибок.
❓ Как вы подходите к тестированию функциональности системы в своих проектах по разработке программного обеспечения?
Тестирование функциональности системы,
является важным шагом в разработке программного обеспечения и процессах проектирования.
Оно гарантирует, что система или программное приложение работают должным образом,
соответствуют требованиям пользователя и работают надежно.
Здесь мы рассмотри лучшие основные способы тестирования:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2