🐘🧠 Оптимизация использования памяти в 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
ℹ️ Конкурс на лучшее видео: четвертый день
Сводка: мем с сеньорами уверенно закрепился наверху с 6ью тысячами просмотров. Смогут ли догнать новые видео лидера?
🆕 Объявим победителя 12го августа, за выходные у участников будут все шансы нарастить позиции.
— Поддержите просмотром лучшее видео по вашему мнению в нашем инстаграме*
*Организация Meta признана экстремистской в РФ
🏄 6+ главных алгоритмов балансировки нагрузки
Балансировка нагрузки — процесс распределения входящих запросов между доступными серверами. Популярные подходы к балансировке по-разному решают проблему перегрузки системы.
В этой статье мы рассмотрим принципы работы, преимущества, недостатки и оптимальные сценарии использования самых известных алгоритмов.
👉 Читать статью
👉 Зеркало
🔆 Потоковая обработка данных в реальном времени: архитектура на базе 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 признана экстремистской в РФ
Многие мечтают стать тимлидом, но только некоторые знают, что для этого мало уметь писать код и разбираться в архитектуре.
Сильный тимлид умеет управлять проектами любых масштабов, оценивать их стоимость и отслеживать финансовую эффективность, и что немаловажно – управлять командой.
Все эти знания можно получить на совместной магистерской программе ИТМО и компании «Самолет» – «Руководитель IT-разработки».
Помимо лекций и практик вас ждут:
– Учебные и бизнес-проекты от от Big Tech компаний
– Хакатоны каждый семестр
– Индивидуальные карьерные консультации с экспертами.
На программе можно обучаться бесплатно – 10 мест оплачивает компания «Самолет», так и на коммерческой основе. Лучшие студенты будут получать дополнительную стипендию «Самолет».
Переходите на сайт, чтобы получить программу обучения и подать документы
Реклама. Университет ИТМО ИНН:7813045547
🔔 Конкурс на лучшее видео: третий день
За ночь у нас сменился лидер, кто бы мог подумать, но видео с сеньорами обогнало мем с джуном.😄
— С таким развитием событий у сегодняшних видео есть все шансы побить лидера. Да и всегда есть шанс залететь в рекомендации инстаграма*.
‼️ Публикации видео будут до 9го августа в нашем инстаграме*
*Организация Meta признана экстремистской в РФ