❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
📶 Паттерны коммуникации в распределенных системах
Распределенные системы состоят из многих отдельных частей/узлов, работающих вместе, но физически расположенных в разных местах. Эти части системы должны общаться друг с другом через сеть, чтобы система могла функционировать как единое целое.
Хотя коммуникация критически важна, правильно ее организовать бывает непросто: разработчики иногда пытаются использовать один и тот же подход ко всем задачам коммуникации, что может быть неэффективно. Важно понимать, что существуют разные способы организации коммуникации, и выбор правильного метода зависит от конкретной задачи. Рассмотрим основные паттерны коммуникации, которые можно использовать для решения разных задач.
☑️ Запрос-ответ с HTTP
Этот синхронный паттерн коммуникации предполагает, что один сервис отправляет запрос другому сервису и ожидает ответа или ошибки, блокируя свою работу до получения результата. REST, наиболее популярный архитектурный стиль для этой модели коммуникации, использует методы протокола HTTP — GET, POST, PUT и DELETE.
Однако использование этого паттерна может привести к проблемам, если сервисы образуют цепочку взаимодействий: в таком случае сбой одного из сервисов может привести к отказу всей операции, а также к расточительному использованию ресурсов и каскадным сбоям.
☑️ Общие данные
Этот паттерн часто остается незамеченным, поскольку разработчики не всегда воспринимают его как модель коммуникации. В рамках этого подхода один компонент записывает данные в определенное место, а другой компонент считывает и обрабатывает эти данные. Например, один сервис может загрузить файл в облачное объектное хранилище (например, в корзину Amazon S3), а другой сервис затем извлекает этот файл для дальнейших действий.
Главное преимущество этого паттерна — простота реализации и возможность обеспечения взаимодействия между устаревшими и современными системами без проблем совместимости. Однако он не подходит для сценариев, требующих низкой задержки.
☑️ Асинхронный запрос-ответ
В отличие от синхронного подхода, запрос-ответ может быть реализован асинхронно и без блокировки. В этом случае получающий сервис должен явно знать место назначения для отправки ответа. Для реализации этого паттерна идеально подходят очереди сообщений, которые позволяют буферизовать несколько запросов.
Основная сложность здесь — корреляция между запросом и ответом: экземпляр сервиса, отправивший запрос, может отличаться от экземпляра, получающего ответ, поэтому требуется способ отслеживания запросов.
☑️ Коммуникация на основе событий
В этом подходе сервисы не общаются напрямую друг с другом, а генерируют события, которые могут быть использованы другими сервисами. Это требует наличия места для отправки данных о событиях и механизма, позволяющего получающим сервисам обнаруживать эти события. Брокеры сообщений, такие как RabbitMQ, могут обрабатывать оба этих аспекта. Издатели используют API для отправки событий в брокер, который управляет подписками и уведомляет подписчиков при поступлении события.
Этот паттерн идеально подходит для создания слабосвязанных взаимодействий между сервисами. Однако брокер сообщений должен обеспечивать надежную доставку событий, их упорядочивание и согласованность. Кроме того, добавляется дополнительный компонент в систему.
📨 Материал взят из нашей еженедельной email-рассылки, посвященной бэкенду. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.
🔆 Потоковая обработка данных в реальном времени: архитектура на базе Kafka, Flink и Pinot
Системы для потоковой обработки данных обеспечивают непрерывный прием, обработку и анализ информации по мере ее поступления. Их главная цель — предоставление аналитических выводов и принятие решений практически в режиме реального времени.
Такие системы используются, к примеру, для мгновенной персонализации рекламы, анализа поведения пользователей и обнаружения мошеннических действий. Требования к системам очень высоки:
• Низкая задержка — максимально быстрая обработка данных с минимальным временем ожидания.
• Высокая пропускная способность — для обработки больших объемов данных.
• Отказоустойчивость — система должна продолжать работу даже при возникновении сбоев.
Для реализации эффективной системы нужно решить множество серьезных проблем, которые возникают на каждом этапе обработки данных:
Прием данных
• Необходимо работать с разными источниками данных, форматами и структурами.
• Надо поддерживать высокую пропускную способность даже при резких всплесках объема данных.
Обработка
• Каждую запись нужно обработать только один раз.
• Надо реализовать работу со сложными сценариями (вычисления с сохранением состояния; обработку событий, поступивших не по порядку; обработку данных, прибывших с задержкой).
• Все это должно выполняться масштабируемо и отказоустойчиво!
Аналитика в реальном времени
Надо обеспечить:
• Быстрые ответы на запросы к свежим данным.
• Непрерывный прием и обработку данных из потоковых источников.
• Сохранение полноты и согласованности данных.
Пока что не существует одного инструмента, способного выполнять все эти действия. Поэтому архитектуры потоковой обработки в реальном времени обычно состоят из нескольких специализированных инструментов от Apache, работающих вместе:
• Kafka отвечает за надежный прием и передачу данных.
• Flink обеспечивает мощную обработку потоков данных.
• Pinot предоставляет возможности для быстрой аналитики.
На основе этих инструментов можно создать комплексное, гибкое и масштабируемое решение, способное справиться со всеми проблемами, связанными с обработкой данных в реальном времени. Подробнее — в этой публикации.
📨 Материал взят из нашей еженедельной email-рассылки, посвященной бэкенду. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.
🛠 PGlite — WASM-сборка Postgres от ElectricSQL. Она упакована в клиентскую библиотеку TypeScript, которая позволяет запускать Postgres в браузере, Node.js и Bun, без необходимости установки каких-либо других зависимостей.
И да, она занимает всего 3 МБ в gzip-архиве и поддерживает множество расширений Postgres, включая pgvector.
Любите автоматизацию и искусственный интеллект? Создайте и опубликуйте базу данных Postgres с помощью ИИ, созданного на основе PGlite компанией Supabase.
👉 Сайт & GitHub
🎮 Внимание, инди-разработчики и создатели небольших игровых проектов! 🔊
У вас есть уникальный опыт, которым вы хотите поделиться? Мы предлагаем вам отличную возможность!
Напишите статью о вашем проекте и процессе разработки:
• Архитектурные решения и паттерны проектирования
• Оптимизация производительности и решение технических проблем
• Использование новых технологий или фреймворков
• Опыт работы с игровыми движками (Unity, Unreal Engine, Godot и др.)
• Реализация сложных игровых механик
• Алгоритмы ИИ и поведение неигровых персонажей
• Сетевой код и решение проблем многопользовательского режима
• Кроссплатформенная разработка и особенности портирования
• Инструменты и методологии для повышения эффективности разработки
• Опыт внедрения процедурной генерации контента
• Решение проблем с управлением памятью и оптимизацией ресурсов
• Интеграция с внешними сервисами и API
• и т. д.
Мы опубликуем её совершенно бесплатно на нашем сайте и в социальных сетях!
Это ваш шанс:
• Поделиться своим опытом с сообществом
• Получить дополнительное освещение вашего проекта
• Внести вклад в развитие индустрии инди-игр
Не упустите эту возможность рассказать свою историю!
📩 Отправьте вашу идею на hello@proglib.io с темой «Статья от инди-разработчика».
🎯 Коллекция ресурсов для успешного прохождения следующего технического собеса
Добавить можно множество мок-собеседований на русском языке на YouTube.
👉 Источник
⚡️ Machine learning - самый крупный обучающий ресурс в Telegram, посвященный машинному обучению.
По контенту:
1. Разбираем и запускаем за вас самые свежие модели.
2. Составляем ежедневные дайджесты главных релизов и новостей из мира ии и мо, чтобы вы ничего не пропустили.
3. Публикуем бесплатные МЛ курсы 2024 года.
4. 2300 реальных задач с собесов с разбором
5. Учебники для скачивания.
А здесь целая папка для всех, кто любит и изучает машинное обучение.
И многое другое.
Это первоисточник всего, что появляется в платных курсах и популярных ресурсах по МО и ИИ.
Подписывайтесь, такие знания в 2024-м году на вес золота: @ai_machinelearning_big_data
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
Масштабирование улучшает производительность и повышает надежность систем хранения данных путем оптимизации использования ресурсов и распределения нагрузки. В этой статье мы рассмотрим 7 эффективных методов масштабирования и оптимизации базы данных.
🔗 Читать статью
🔗 Зеркало
🆙 Python укрепляет позиции в индексе TIOBE
Вероятно, Python станет самым популярным языком программирования в истории
😒 Почти 80% программистов несчастны на работе
Хотя разрабы хорошо зарабатывают и часто могут работать удаленно, многие все равно недовольны. Недавний опрос айтишников на Stack Overflow (65,4 тысяч разработчиков из 185 стран) выявил несколько любопытных аспектов:
⚡ 32,1% профессиональных программистов ненавидят свою работу.
⚡ 47,7% разработчиков признались, что утратили мотивацию, выгорели и не испытывают никакого энтузиазма.
⚡ Лишь 20,2% утверждают, что вполне довольны своей нынешней работой.
Согласно опросу, основные причины раздражения разработчиков — техдолг и сложность технологического стека, с которым они должны работать. Добавьте к этому постоянную необходимость выполнения задач в нереалистичные сроки, бесконечные совещания и массовые увольнения по всей отрасли... Пожалуй, 80% звучит вполне логично, если не сказать — занижено.
💬 Как думаете, ситуация в России с этим лучше/хуже?
🗑️ Как работает сборщик мусора: наглядная иллюстрация для разработчика
👉 Источник
#инфографика
🤦♂️ Мы шутили над «опытными пользователями ПК», а ведь они вымирают
К какой парадоксальной ситуации нас привели современные тенденции в UX, UI и стратегия Mobile-First?
👉 Читать
🍔 CrowdStrike предложила подарочную карту номиналом 10$ в знак извинений за инцидент с синим экраном. Но и здесь случился очередной конфуз — некоторые карты оказались недействительными
А теперь по поводу того самого обновления, из-за которого около 8,5 миллионов Windows-систем по всему миру легли с синим экраном. У CrowdStrike есть два вида обновления — Sensor Content и Rapid Response Content. Последний обновляется через конфиги системы Falcon. Экземпляры шаблонов создаются, проверяются и развертываются на сенсорах через «файлы каналов». Сенсор интерпретирует эти файлы для обнаружения и предотвращения вредоносов.
19 июля было развернуто два новых экземпляра шаблонов. Из-за ошибки в валидаторе контента один из экземпляров был принят, несмотря на наличие «проблемных данных». Это вызвало ошибку чтения памяти, выход за ее границы, что и привело к сбою винды (BSOD). Обновление, положившее системы, прошло только автоматическое тестирование и не было проверено локально на устройствах 🤷♂️
#назлобудня
▶️ Конкурс на лучшее видео: пятый день
Последнее видео загружено. Лидер прошлых дней держит свою позицию. Каждый просмотр может изменить результат в нашем инстаграме*
🔜 За эти выходные у каждого видео будет шанс набрать просмотры. В понедельник объявим результат и отпишем в личку победителю.
*Организация Meta признана экстремистской в РФ
🚀 Топ-5 стратегий кэширования
➡️ Реальное использование:
🔹 Cache Aside + Write Through: обеспечивает согласованную синхронизацию кэша/БД, позволяя при этом осуществлять контроль заполнения кэша во время чтения. Немедленные записи в базу данных могут нагружать БД.
🔹 Read Through + Write Back: абстрагирует БД и хорошо справляется с потоком трафика записи, задерживая синхронизацию. Однако это сопряжено с риском большей потери данных, если кэш выйдет из строя до синхронизации буферизованных записей с базой данных.
👉 Источник
#инфографика
Привет, друзья! 👋
Мы готовим статью на тему: «5 признаков зависимости от программирования». Нам очень важно ваше мнение! Поделитесь своим опытом и советами, и самые интересные из них мы включим в статью.
⌛ Как вы понимаете, что программирование начинает занимать слишком много места в вашей жизни? Какие признаки вы замечаете?
🏄 Какие методы и стратегии вы используете, чтобы сохранить баланс между работой и личной жизнью?
😔 Был ли у вас опыт, когда программирование негативно влияло на ваши отношения с близкими или здоровье? Как вы справились с этим?
Ваши ответы помогут многим! Спасибо за участие!
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов
Сложные (и многочисленные) операции в базе данных требуют солидного объема оперативной памяти — например, для создания набора результатов PostgreSQL обычно приходится:
🔹 Выполнить поиск по индексу.
🔹 Извлечь связанные строки из одной или нескольких таблиц.
🔹 Объединить, отфильтровать, агрегировать и отсортировать кортежи в пригодный для использования результат.
Каждый из этих шагов требует памяти, и PostgreSQL может обрабатывать тысячи таких запросов одновременно. Так что рано или поздно перед разработчиками любого серьезного проекта встает необходимость решения нескольких сложных вопросов:
🔹 Как грамотно оптимизировать использование доступной памяти?
🔹 В каком соотношении распределить ОЗУ между несколькими типами памяти, которые необходимы PostgreSQL для эффективной работы?
🔹 Как предотвратить защитное завершение операционной системой процесса PostgreSQL, который использует слишком много памяти?
Для ответов на все эти вопросы нужно определить, сколько именно памяти использует PostgreSQL для основных процессов — а это сама по себе нетривиальная задача. Советы по настройке памяти так многочисленны и разнообразны, что в них сложно сориентироваться.
Поэтому в этой статье мы сведем всю мудрость экспертов к конкретным шагам, которые помогут максимально эффективно распорядиться доступной памятью.
🔗 Читать статью
🔗 Зеркало
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🤯⚡ Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. Эти данные доступны всегда. И это не баг, а фича.
Это настолько огромный вектор атак для всех организаций, использующих GitHub, что родился новый термин: Cross Fork Object Reference (CFOR). CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков).
Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.
👉 Подробнее
🤔 Как меняется математика в разных индустриях: от мобильных игр к фондовым рынкам
🗓 22 августа в прямом эфире разберем как математика применяется в разных отраслях бизнеса. И какие математические навыки необходимы для успешной работы в каждой из них.
Приглашенный спикер: Павел Запольский – Senior Quantitative Researcher at Exness и Co-founder GrowLytics. Запустивший более 10 проектов по машинному обучению и анализу данных для ведущих компаний.
😮 На вебинаре узнаете:
🔵 Математика в бизнесе: Чем отличаются разные сферы друг от друга. Почему стоит понимать специфику сферы
🔵 ML и продуктовое IT: Чем различается математическая сложность от индустрии к индустрии. Какие к ним необходимы уровни подготовки
🔵 Баевская математика в GameDev. Баевская математика как альтернатива AB тестированию. Как математические методы применяются в разработке игр
🔵 Finance: Что такое количественные финансы и математическое моделирование. Обсудим текущие индустриальные тренды в отрасли
🔵 Backtest: Как знания математики делают ваши активы более надежными
🔵 На практике подробно разберем два математических кейса по GameDev и Backtest.
➡️ Зарегистрироваться: https://proglib.io/w/0a8eb1c0
▶ Подборка топовых докладов с конференции Saint HighLoad++ 2023: на заметку разрабу
• Распределенные графовые СУБД — будущее для аналитики на Больших Данных? / Павел Велихов (TigerGraph)
• Как мы переживаем сплит-брейн и продолжаем писать данные по S3-протоколу / С. Богатырев (YADRO)
• Use actors, Luke / Андрей Парамонов (Dodo Engineering)
• Управляем доступом в распределённой Linux-инфраструктуре / Антон Жаболенко, Павел Пархомец
• Warden — зачем нам свой service mesh? / Ильяс Нежибицкий (Ozon)
• Делаем Сбербанк Онлайн надежнее и надежнее: как мы готовимся к пиковым нагрузкам / Артем Арюткин
• 7 петабайт логов в Elastic. Как мы это сделали? / Роман Николаев (Тинькофф)
• 5 GB трейсов в секунду, или Как устроена система трассировки в Ozon / Владимир Балун (Ozon)
• Микросервисы как худший архитектурный выбор для стартапа / Даниил Подольский (YADRO)
• Современные базы данных. Как выбрать СУБД в 2023? / Олег Бондарь (Яндекс)
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
😎👨💻 Вам следует написать новый язык программирования: он будет ужасным, но это нормально
У нас, программистов, есть почти полный контроль над машиной и, теоретически, мы способны создать всё с нуля. Так как мы работаем с программными инструментами и сами пишем софт, то можем создавать инструменты для себя, начиная с операционной системы и выше. Это привилегия, недоступная для большинства областей деятельности.
Так почему бы в качестве пет-проекта не выбрать новый ЯП и какой в этом вообще смысл? Вы узнаете о грамматике и архитектуре языка, парсинге, среде исполнения и многом другом.
👉 Подробнее читайте в статье.
🔄 Построение отказоустойчивой (fault tolerant) системы: шпаргалка для разработчика
Отказоустойчивость — свойство технической системы сохранять свою работоспособность после отказа одной или нескольких её составных частей.
👉 Источник
#инфографика
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👑 Конкурс на лучшее видео: победитель определен
Выходные принесли сюрприз в нашу гонку за победой. Мем про джуна обошел видео про сеньоров!
Победителем становится видео с мемом про джунов и получает 40.000₽🔥
Интрига держалась до последнего дня. Спасибо всем, кто помогал просмотрами в нашем инстаграме*
*Организация Meta признана экстремистской в РФ
🖼️ 5 стратегий рендеринга веб-страниц: как выжать максимум из вашего сайта
Рендеринг — это процесс превращения кода в контент. За годы развития интернета эта технология прошла долгий путь — от формирования простейших HTML-страниц на стороне сервера до динамического обновления интерактивных приложений без перезагрузки. Сейчас в ходу несколько методов рендеринга:
🔹 Генерация статических сайтов (предварительно генерирует HTML-страницы во время сборки приложения).
🔹 Генерация на стороне сервера (генерирует полный HTML для страницы при каждом запросе).
🔹 Генерация на стороне клиента (использует JavaScript для рендеринга контента в браузере пользователя).
🔹 Инкрементальная статическая регенерация (позволяет обновлять отдельные страницы после сборки сайта).
🔹 Частичный пререндеринг (экспериментальный подход, который стремится автоматически оптимизировать стратегии рендеринга).
В статье разбираем преимущества и недостатки каждого подхода👇
🔗 Читать статью
🔗 Зеркало
🔼Топ свежих книг, которые стоит почитать разработчику
🔸 Нечеткое сопоставление данных в SQL
Это практическое руководство для работы с неидеальными или разнородными данными с помощью SQL. Автор подробно объясняет, как нормализовать данные, удалить дубликаты, и извлечь информацию из сложных форматов, таких как XML и JSON. Основной акцент сделан на реальных кейсах, демонстрирующих, как применять техники нечеткого поиска и сопоставления данных для улучшения их качества и анализа
🔸 Фундаментальный подход к программной архитектуре: паттерны, свойства, проверенные методы
Книга охватывает широкий спектр тем, начиная от паттернов архитектур и заканчивая практическими методами построения масштабируемых и устойчивых систем. Авторы делятся своим богатым опытом, предоставляя примеры и рекомендации по применению архитектурных принципов в реальных проектах, что делает книгу полезной как для начинающих архитекторов, так и для опытных разработчиков, стремящихся улучшить свои навыки в этой области
🔸 Data mesh в действии
В книге подробно рассматриваются основные принципы Data Mesh, включая владение доменами, управление данными как продуктом, федеративное вычислительное управление и создание самообслуживаемых платформ данных. Читатели узнают, как децентрализовать управление данными для повышения их доступности и безопасности, а также как перейти от традиционных монолитных архитектур данных к более гибким и масштабируемым системам, подходящим для современных требований бизнеса.
🔸 Тюнинг систем: экспериментирование для инженеров от A/B-тестирования до байесовской оптимизации
В книге рассматриваются современные методики, начиная от основ A/B-тестирования и заканчивая более сложными подходами, такими как байесовская оптимизация. Она предназначена для инженеров, занимающихся разработкой ПО, машинным обучением и количественным трейдингом, и помогает выбрать наиболее эффективные инструменты и подходы для улучшения производительности систем. Читатель научится минимизировать затраты на эксперименты и достигать наилучших результатов.
🛣️ SQL roadmap
Пошаговое руководство по изучению SQL, которое можно взять за основу. Более подробная дорожная карта представлена на roadmap.sh (прикрепили в компентариях).
#roadmap