Forwarded from DevFM
Практика распила монолита
Несколько лет в индустрии шли жаркие споры "микросервисы против монолитов". У каждой из сторон было множество адептов. Однозначного решения нет.
Нам, как разработчикам, интересна статья про переход от монолитной архитектуры к микросервисной. Своё повествование автор ведет в разрезе высокоуровневых задач, которые приходится решать при использовании микросервисной архитектуры:
— оркестрация, управление множеством сервисов, их масштабированием и распределением нагрузки между разными серверами
— контейнеризация и хранение контейнеров
— применение API Gateway, настоящего швейцарского ножа в мире микросервисов для решения сотни инфраструктурных задач
— организация межсервисного взаимодействия. Вопрос организации остро встаёт с ростом числа команд, занимающихся разными сервисами. Без выстроенного взаимодействия уровень энтропии быстро нарастает, а проект превращается в хаос
— tracing, прослеживание пути запроса среди множества сервисов. Предлагаемое решение jaeger мы уже упоминали в отдельном посте про разухабистое логгирование
— шаблоны сервисов — не совсем очевидный пункт, но очень важный. Всё, что приведено выше, обычно решается в процессе расширения системы. Шаблонами же следует заняться с самого начала. В будущем сэкономит много времени и позволит избежать зоопарка таких похожих, но таких разных сервисов :)
В статье приводятся не только теоретические выкладки, но и конкретные инструменты. Отдельно можно порекомендовать сервис, которым пользуется автор для выбора инструментов — Cloud Native Computing Foundation. Очень классная интерактивная и наглядная карта, где для различных задач собраны сервисы, решающие эти задачи.
В заключении автор напоминает: прежде чем внедрять — подумайте, какие задачи и проблемы вы этим решаете. Эта истина применима к любой технологии
#skills
Несколько лет в индустрии шли жаркие споры "микросервисы против монолитов". У каждой из сторон было множество адептов. Однозначного решения нет.
Нам, как разработчикам, интересна статья про переход от монолитной архитектуры к микросервисной. Своё повествование автор ведет в разрезе высокоуровневых задач, которые приходится решать при использовании микросервисной архитектуры:
— оркестрация, управление множеством сервисов, их масштабированием и распределением нагрузки между разными серверами
— контейнеризация и хранение контейнеров
— применение API Gateway, настоящего швейцарского ножа в мире микросервисов для решения сотни инфраструктурных задач
— организация межсервисного взаимодействия. Вопрос организации остро встаёт с ростом числа команд, занимающихся разными сервисами. Без выстроенного взаимодействия уровень энтропии быстро нарастает, а проект превращается в хаос
— tracing, прослеживание пути запроса среди множества сервисов. Предлагаемое решение jaeger мы уже упоминали в отдельном посте про разухабистое логгирование
— шаблоны сервисов — не совсем очевидный пункт, но очень важный. Всё, что приведено выше, обычно решается в процессе расширения системы. Шаблонами же следует заняться с самого начала. В будущем сэкономит много времени и позволит избежать зоопарка таких похожих, но таких разных сервисов :)
В статье приводятся не только теоретические выкладки, но и конкретные инструменты. Отдельно можно порекомендовать сервис, которым пользуется автор для выбора инструментов — Cloud Native Computing Foundation. Очень классная интерактивная и наглядная карта, где для различных задач собраны сервисы, решающие эти задачи.
В заключении автор напоминает: прежде чем внедрять — подумайте, какие задачи и проблемы вы этим решаете. Эта истина применима к любой технологии
#skills
Хабр
Микросервисы для чайников: как на них перейти с монолита с нуля
Меня зовут Семен Катаев , я работаю в Авито над процессом перехода от монолитной архитектуры к микросервисам. Переход у нас все еще продолжается, но мне уже есть чем с вами поделиться. Это краткий...
Forwarded from Big data world
This media is not supported in your browser
VIEW IN TELEGRAM
Представляем PivotTableJS,которыйпозволяет интерактивно анализировать данные в Jupyter 🚀
https://shly.link/ghM2PV
https://shly.link/ghM2PV
#interview #ml #systemdesign
По описанию показалось, что там много материала. Но пробежаться достаточно
По описанию показалось, что там много материала. Но пробежаться достаточно
Forwarded from Записки MLEшника (Egor)
Как говорил Сократ: "Я знаю только то, что ничего не знаю". Словил сегодня вечером это чувство, когда блуждал по репе Тинькоф.
В секции подготовки к мл интервью много всякой годноты. Тут помимо прочего прилично ссылок на рускоязычные курсы, а тут по дизайну мл систем.
Ех, вот и как развиваться, когда глаза разбегаются 🥲
В секции подготовки к мл интервью много всякой годноты. Тут помимо прочего прилично ссылок на рускоязычные курсы, а тут по дизайну мл систем.
Ех, вот и как развиваться, когда глаза разбегаются 🥲
Forwarded from DevFM
Покоряем большие CSV
Классная практическая статья Working with large CSV files in Python from Scratch рассказывает о хитростях работы с большими CSV-файлами.
В статье рассматриваются примеры:
— подсчёт строк в большом файле. Для этого применяется mmap, который использует низкоуровневое API операционной системы. Это позволяет ускорить чтение большого файла. Сам mmap заслуживает отдельной статьи. В ней с примерами на питоне объясняется, откуда берётся ускорение, плюс другие интересности, в том числе уровня системных вызовов ядра
— разбиение большого файла на части, с которыми дальше удобнее работать
— перемешивание строк в файле. Такое бывает нужно, когда данные используются для обучения модельки машинного обучения
— хранение в виде столбцов ускорит выполнение запросов путём ограничения данных, среди которых идет поиск. Этот пункт достаточно хардкорный, рекомендуем пройтись отладчиком по коду — иначе не разобраться в нюансах
Мы на практике неоднократно сталкивались с гигабайтными CSV, которые иногда даже не умещались в оперативную память.
Например, вы знаете, что линуксовый sort --unique читает файл целиком в оперативную память? А для работы ему надо примерно в 2,5 раза больше памяти, чем весит исходный файл. То есть для сортировки файла в 10 гигов нужно около 25 гигов оперативной памяти. Решение этой проблемы заслуживает отдельного поста.
#python
Классная практическая статья Working with large CSV files in Python from Scratch рассказывает о хитростях работы с большими CSV-файлами.
В статье рассматриваются примеры:
— подсчёт строк в большом файле. Для этого применяется mmap, который использует низкоуровневое API операционной системы. Это позволяет ускорить чтение большого файла. Сам mmap заслуживает отдельной статьи. В ней с примерами на питоне объясняется, откуда берётся ускорение, плюс другие интересности, в том числе уровня системных вызовов ядра
— разбиение большого файла на части, с которыми дальше удобнее работать
— перемешивание строк в файле. Такое бывает нужно, когда данные используются для обучения модельки машинного обучения
— хранение в виде столбцов ускорит выполнение запросов путём ограничения данных, среди которых идет поиск. Этот пункт достаточно хардкорный, рекомендуем пройтись отладчиком по коду — иначе не разобраться в нюансах
Мы на практике неоднократно сталкивались с гигабайтными CSV, которые иногда даже не умещались в оперативную память.
Например, вы знаете, что линуксовый sort --unique читает файл целиком в оперативную память? А для работы ему надо примерно в 2,5 раза больше памяти, чем весит исходный файл. То есть для сортировки файла в 10 гигов нужно около 25 гигов оперативной памяти. Решение этой проблемы заслуживает отдельного поста.
#python
Medium
Working with large CSV files in Python from Scratch
5 Techniques
Forwarded from Aleksandr Isakov
https://habr.com/ru/company/glowbyte/blog/519382/
https://habr.com/ru/amp/post/524150/
https://habr.com/ru/company/glowbyte/blog/534610/
https://habr.com/ru/company/glowbyte/blog/552452/
https://habr.com/ru/amp/post/524150/
https://habr.com/ru/company/glowbyte/blog/534610/
https://habr.com/ru/company/glowbyte/blog/552452/
Хабр
ML и DS оттенки кредитного риск-менеджмента
Всем привет. Мы команда Advanced Analytics GlowByte и запускаем цикл статей о моделировании в задачах управления кредитным риском. Цель цикла — кратко рассказать о сфере, расширить словарь...
Forwarded from Love. Death. Transformers.
Hf выпустили годный блог по обучению на одной gpu
blog
blog
huggingface.co
GPU
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
Forwarded from Кодим на Коленке | Уроки по программированию
Redis: основы и практическое использование
Redis — база данных типа «ключ-значение». Она невероятно простая, но хорошо себя зарекомендовала как хранилище временных данных.
Сейчас эта NoSQL'ка используется почти в каждом проекте или для хранения временных данных (сессии пользователей), или для кеширования запросов. Знать её просто необходимо.
Подробнее: 👉тут
#видео #теория
Redis — база данных типа «ключ-значение». Она невероятно простая, но хорошо себя зарекомендовала как хранилище временных данных.
Сейчас эта NoSQL'ка используется почти в каждом проекте или для хранения временных данных (сессии пользователей), или для кеширования запросов. Знать её просто необходимо.
Подробнее: 👉тут
#видео #теория
Forwarded from Борис опять
Forwarded from Kaggling (Vadim Irtlach)
Всем привет! Сегодня хочу с вами поделиться документом, которым я пользовался на протяжение всего Feedback Prize 3.0 соревнования, где мы получили серебро. Там какую-ту часть информации я удалил, потому что оно было связано больше с данными из соревнования, но все названия статей и соответственно к ним ссылки приложены.
Пусть это для вас будет как методичка или шпаргалка! Удачи на будущих NLP соревнованиях!
https://docs.google.com/document/d/11Kq3XbYCgYKB3sgHlntNDyF6pCD_Smn6pMbfQl-vuAU
Пусть это для вас будет как методичка или шпаргалка! Удачи на будущих NLP соревнованиях!
https://docs.google.com/document/d/11Kq3XbYCgYKB3sgHlntNDyF6pCD_Smn6pMbfQl-vuAU
Google Docs
Методичка для NLP соревнований
Pre-training Masked Language Modeling - https://arxiv.org/abs/1810.04805 Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks - https://arxiv.org/abs/2004.10964 Replaced Token Detection - https://arxiv.org/abs/2003.10555 Frustratingly Simple…
Forwarded from Artem Ryblov’s Data Science Weekly (Artem Ryblov)
End to End Machine Learning (FREE Courses)
The best way to learn new concepts is to use them to build something. These courses are structured to build foundational knowledge (100 series), provide in-depth applied machine learning case studies (200 series), and embark on project-driven deep-dives (300 series).
- 111. Getting ready to learn Python, Mac edition
- 112. Getting ready to learn Python, Windows edition
- 201. Intro to Python
- 211. Decision Trees with Python and Pandas
- 212. Time-Series Analysis
- 213. Nonlinear Modelling and Optimization
- 221. The k-nearest neighbours algorithm
- 311. Neural Network Visualization
- 312. Build a Neural Network Framework
- 313. Advanced Neural Network Methods
- 314. Neural Network Optimization
- 321. Convolutional Neural Networks in One Dimension
- 322. Convolutional neural networks in two dimensions
Come have a look around and try one out today!
Navigational hashtags: #armknowledgesharing #armcourses
General hashtags: #machinelearning #ml #algorithms #learning #course #python #decisiontrees #pandas #timeseries #nonlinear #knn #neuralnetworks #neuralnetwork #convolutionalneuralnetworks #optimization #analysis #visualization
The best way to learn new concepts is to use them to build something. These courses are structured to build foundational knowledge (100 series), provide in-depth applied machine learning case studies (200 series), and embark on project-driven deep-dives (300 series).
- 111. Getting ready to learn Python, Mac edition
- 112. Getting ready to learn Python, Windows edition
- 201. Intro to Python
- 211. Decision Trees with Python and Pandas
- 212. Time-Series Analysis
- 213. Nonlinear Modelling and Optimization
- 221. The k-nearest neighbours algorithm
- 311. Neural Network Visualization
- 312. Build a Neural Network Framework
- 313. Advanced Neural Network Methods
- 314. Neural Network Optimization
- 321. Convolutional Neural Networks in One Dimension
- 322. Convolutional neural networks in two dimensions
Come have a look around and try one out today!
Navigational hashtags: #armknowledgesharing #armcourses
General hashtags: #machinelearning #ml #algorithms #learning #course #python #decisiontrees #pandas #timeseries #nonlinear #knn #neuralnetworks #neuralnetwork #convolutionalneuralnetworks #optimization #analysis #visualization
Teachable
End to End Machine Learning
Browse the End to End Machine Learning product catalog to explore and discover available products.