🛠 Сага: эффективный шаблон микросервисной архитектуры
Полную бизнес-транзакцию, как правило, очень сложно описать с помощью одной транзакции в базе данных. Возьмем, к примеру, процесс покупки в онлайн-магазине — с момента нажатия кнопки «Купить» до момента доставки заказа к вашей двери происходит серия шагов:
🔸 Размещение заказа. Пользователь выбирает нужные товары, добавляет их в корзину и начинает процесс оформления заказа. Система сохраняет информацию о видах товаров, их количестве, имени заказчика, адресе и способе доставки.
🔸 Создание счета-фактуры. После размещения заказа создается счет-фактура, который служит основной записью о транзакции и используется для выставления счета и учета.
🔸 Обработка платежа. Инициируется процесс оплаты, пользователь предоставляет данные банковской карты или электронного кошелька. Оплата безопасно обрабатывается, и после успешного завершения заказ подтверждается.
🔸 Отправка товара. После обработки платежа заказ готовится к отправке: создается информация для отслеживания, система уведомляет пользователя об ориентировочной дате доставки.
Каждый из этих шагов включает взаимодействие с различными микросервисами — сервисов заказов, платежным сервисом и сервисом доставки. Для успешного и последовательного выполнения бизнес-транзакции важна безупречная координация всех частей системы. Эта задача кажется очень сложной, но к счастью, есть универсальный и надежный паттерн, который помогает выстроить взаимодействие микросервисов самым оптимальным образом — Сага. О нем и пойдет речь в статье.
🍉 Подборка лучших статей «Библиотеки программиста» за август: сохраняй в заметки, чтобы не пропустить #самыйсок
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
🤖🛠️ Секреты эффективного промптинга: 4 способа улучшить качество ответов чат-бота
🎮 Как зарабатывать на играх или зачем изучать игровую аналитику в 2024 году
🏄 6+ главных алгоритмов балансировки нагрузки
🖼️ 5 стратегий рендеринга веб-страниц: как выжать максимум из вашего сайта
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов
🏃 Самоучитель по Go для начинающих. Часть 15. Конкурентность. Горутины. Каналы
🆕📜 Что нового в TypeScript 5.5: 4 ключевых улучшения
🎮📖 Библиотека геймдизайнера: 10 must-read книг 2024 года
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
🏗️ Структуры данных для разработчиков: 10 самых важных
🔍 Детальное сравнение и углубленный анализ производительности Java, Go, C++, Rust: как сборка мусора влияет на производительность и эффективность использования ресурсов
Любопытное исследование, в котором рассматриваются накладные расходы, связанные с использованием языков с автоматической сборкой мусора (Java и Go) по сравнению с языками с ручным управлением памятью (C++ и Rust), в контексте систем репликации конечного автомата (SMR), работающих в облаке.
👉 Читать
Arch.Meetup by Sber: современное управление архитектурой данных – регистрация открыта ✅
Уже 11 сентября в офисе Сбера и онлайн вместе с ИТ-архитекторами, data-инженерами и спикерами из трех IT-компаний поговорим об архитектуре данных и ее роли в управлении данными.
В программе – сразу 3 доклада, нетворкинг с большим архитектурным сообществом, выставка новых продуктов и технологий Сбера и фуршет.
О чем поговорим?
▪️Есть ли Архитектура данных за пределами хранилищ?
▪️Как моделировать данные на Enterprise-уровне?
▪️Как архитектура помогает в вопросах инвентаризации данных?
▪️Что такое Data API и почему мы часто говорим об интегрируемости данных?
👉🏻 Подробная программа и регистрация – по этой ссылке. Успей пройти регистрацию – количество очных мест ограничено.
🏃 Самоучитель по Go для начинающих. Часть 16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
В статье познакомимся с концепцией тестирования кода и её основными видами, изучим инструменты стандартного пакета testing, научимся запускать и визуализировать тесты. В качестве практического задания напишем и протестируем алгоритм «Решето Эратосфена».
👉 Читать гайд
📌 Остальные части в серии:
1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
😀 Платные подписки есть? А если найду?!
💬 А у вас есть? На какие сервисы? Поделитесь в комментариях👇
#холивар
💡🎨 Источники вдохновения для UI/UX-дизайнеров и фронтендеров: 50 полезных ресурсов
Ищете идеи для своего следующего проекта? Эта подборка поможет вам найти вдохновение и новые подходы к дизайну. Разберем первые десять, а остальные читайте в статье:
• Websitevice – новая, часто обновляемая галерея с широким спектром примеров веб-дизайна. Удобная фильтрация по категориям.
• One Page Love – коллекция высококачественных одностраничных сайтов и лендингов.
• Landingfolio – большая коллекция красивых лендингов, оптимизированных для маркетинга.
• Lapa Ninja – тщательно отобранные примеры веб-дизайна с полными скриншотами страниц.
• Godly – обширная галерея с анимированными превью сайтов, мобильных и десктопных приложений.
• Siteinspire – объемная коллекция лучших веб-дизайнов с удобной сортировкой.
• Maxibestof – огромная подборка примеров, курируемая опытным дизайнером.
• InspoVault – фокусируется на качестве, а не количестве примеров, в основном в минималистичном и креативном стилях.
• Landing Gallery – специализируется на эффектных лендингах.
• SEE + SAW – галерея с динамичными видеопревью сайтов.
Регистрация на Java meetup 2024 уже открыта! ⚡️
7 сентября встречаемся в штаб-квартире Сбера на Кутузовском проспекте, чтобы поговорить о Spring Framework, нативных сборках Java-приложений и устройстве разработки в мире open source.
Для опытных разработчиков на митапе будет инсайдерская информация и глубокое погружение в технологию, а для тех, кто только начинает путь в IT — простое и понятное изложение материала.
По ссылке — подробное расписание и заявка на участие. До встречи на Java meetup 2024! 💚
🛠️ Высокая доступность, масштабируемость и пропускная способность: шпаргалка по проектированию системы с типичными решениями
👉 Источник
#инфографика
🤔 Как небольшой команде переехать на ClickHouse
Петр Гонин, инженер по данным в Okko, делится опытом переезда на ClickHouse. Причин для переезда было несколько, но одной из главных была низкая производительность — среднее время аналитического запроса составляло около минуты, а после переезда составило около 2 с. И это не предел.
Из статьи вы узнаете, как удалось прийти к текущему состоянию хранилища данных и с какими проблемами пришлось столкнуться.
👉 Читать
🙇♂️ На кого идти учиться, чтобы затраты на обучение когда-нибудь окупились
Ожидаемо, что айтишные специальности первые в списке. Как думаете, актуальна ли данная статистика для России?
👉 Источник
🤩 Минимальный набор знаний о concurrency, который нужен каждому разработчику
Все знания о конкурентности, которые у вас есть, наверняка получены из множества разных источников.
Если хочется навести порядок в голове и разобраться в сути дела, ловите руководство, которое можно осилить за короткое время.
👉 Источник
🙌 20 популярных проектов с открытым исходным кодом, начатых или поддерживаемых крупными компаниями
👉 Источник
🎮📖 Библиотека геймдизайнера: 10 must-read книг 2024 года
От концепции до реализации, от баланса до монетизации – представляем вашему вниманию 10 ключевых книг 2024 года, которые помогут вам достичь новых высот в геймдеве.
👉 Статья
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
$1.1M — именно столько заработал американский школьник
Он использовал API ChatGPT и создал удобную оболочку, которая делает взаимодействие с ним еще проще.
В итоге получил: приложение для App Store, которое считает калории по фото. Его скачали более 100 тысяч человек.
Как вам такой подход к бизнесу? Кажется, теперь каждый может заработать свой миллион 🙂
😮 Японцы наняли 10 котов для своих айтишников
Они не просто домашние животные, а полноценные «employees». Среди них есть «главный клерк», «аудитор» и даже «председатель» — кот по имени Футаба.🤔
Коты помогают создать уютную атмосферу в офисе и даже способствуют снижению уровня увольнений. Самые важные сотрудники получают всё необходимое: собственные туалеты, полки и защиту от когтей на стенах.
😁 — Хочу котиков себе на работу
🌚 — У меня свой котик
🥱 — Не нужны котики, так как не сосредоточишься на работе (душнила)
Привет, друзья! 👋
Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬
1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧✨
Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
Санкт-Петербург, приглашаем в гости в Сбер! 💚
В нашем уютном технохабе пройдёт первый внешний митап для инженеров сопровождения, DevOps-инженеров и разработчиков.
Дата и время: 18 сентября, 18:30–21:00
Локация: ул. Уральская, д.1, Литера Ч.
Поговорим о развёртывании CI/CD-конвейеров, расскажем про реализацию облачных сервисов в Cloud.ru и обменяемся опытом по работе с Jenkins и практике создания комплементарных технологических команд.
Спикеры и темы:
▪️ Коротин Александр, Сбер: «Как десятикратно разогнать скорость поставки в большом Enterprise»
▪️ Алексей Молчанов, Cloud.ru: «Cloud.ru: Operations & SRE»
▪️ Алексей Снятков, Сбер: «Развитие лидеров и построение комплементарной команды»
Регистрируйтесь и приходите на IT Talk by Sber, будет интересно!
🎙️ Подкаст Podlodka: Зачем учить язык С в 2024 году
С — язык, на котором написана значимая часть всего, что нас окружает: от ядра операционной системы до мозгов автомобиля, из колонок которого вы будете слушать этот подкаст. В выпуске вместе с Игорем Жирковым ведущие разбираются с тем, насколько современный C похож на язык, с которым вы познакомились в той самой книге Кернигана и Ритчи, какие особенности делают его одним из самых нетерпимых языков к ошибкам программиста, и стоит ли вообще на нем писать код в 2024 году.
⏳ Таймкоды:
00:00 О чем выпуск
05:00 Чем интересен Си
13:22 Мифы о Си
24:59 История развития языка Си
35:25 Стандарты Си
59:50 Современный Си и его отличия от старого
01:05:27 Топ-3 ошибок, которым подвержен Си
01:12:40 Ключевые фичи Си
01:21:10 Организация кода и модулей
01:26:09 Синтаксис и семантика Си
01:31:10 Неопределенное поведение и его последствия
01:39:24 Семантика и производительность
01:45:02 Оптимизация производительности
01:51:02 Компиляторы и их разнообразие
02:02:20 Экосистема Си
02:08:54 Какие языки могут заменить Си
02:16:05 Нужно ли преподавать Си в вузах
02:28:46 Заключение
▶ Смотреть или слушать полностью
▶ Полная подборка языковых и платформенных выпусков подкаста
#подкасты
🔥 Elasticsearch (и Kibana) снова с открытым исходным кодом! Интересно, можно ли вернуть доверие сообщества так же легко? 🤔
👉 Подробнее
#новости
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🏗️ Структуры данных для разработчиков: 10 самых важных
Структуры данных — фундамент эффективной разработки. Кратко разберем 10 ключевых структур данных, которые необходимо освоить каждому разработчику для создания производительных и масштабируемых приложений, а подробнее читайте в статье👇
🔹 Списки отлично подходят для хранения и обработки упорядоченных данных и полезны в различных приложениях, таких как управление задачами, ленты соцсетей и корзины интернет-магазинов.
🔹 Массивы — упорядоченная коллекция элементов фиксированного размера и хорошо подходят для ситуаций, где размер коллекции известен или редко меняется.
🔹 Стеки следуют принципу «последним пришел — первым вышел». Они идеальны для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.
🔹 Очереди работают по принципу «первым пришел — первым вышел». Они подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.
🔹 Кучи используются для планирования задач и управления памятью. Они особенно полезны в реализации очередей с приоритетами, где нужен доступ к элементу с наивысшим или наименьшим приоритетом.
🔹 Деревья организуют данные иерархически. Они полезны для представления данных с естественными иерархиями или связями и могут использоваться в различных приложениях, таких как индексация баз данных.
🔹 Хеш-таблицы позволяют эффективно искать, вставлять и удалять данные. Они используют хеш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохраненным значениям за постоянное время.
🔹 Суффиксные деревья специализируются на поиске строк в документах, что делает их идеальными для текстовых редакторов и алгоритмов поиска.
🔹 Графы отслеживают отношения и находят пути, что делает их незаменимыми в социальных сетях, рекомендательных системах и алгоритмах поиска путей.
🔹 KD-деревья хороши для поиска ближайших соседей и важны для картографических приложений и геолокационных сервисов.
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
В новой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.
Вот алгоритмы, которые мы рассмотрим:
🔹линейная регрессия;
🔹SVM;
🔹дерево решений;
🔹случайный лес;
🔹наивный байес;
🔹логистическая регрессия.
🔗 Читать статью
☄️ -35% на все курсы Proglib Academy
Берем от лета максимум, чтобы прокачать мозги, получить крутой оффер, уехать на Бали и больше не быть онлайн 😎
👾 Математика для Data Science – 19 490 рублей 29 990 рублей
👾 Алгоритмы и структуры данных – 23 390 рублей 35 990 рублей
👾 Основы программирования на Python – 12 990 рублей 19 990 рублей
Переходите, активируйте пробную версию и начинайте учиться уже сейчас!
🌚 А еще вы можете активировать бесплатную демо-версию любого курса – https://proglib.io/w/aa0b92b6
А также посмотреть вебинары на интересующие вас темы 🙌🏻
Привет, друзья! 👋
Мы готовим статью о том, что делать, если вы наврали в резюме, и нам нужна ваша помощь! 🤔
Поделитесь своим опытом и мнением, а самые интересные и полезные советы мы обязательно включим в нашу статью.
❓ Сталкивались ли вы когда-нибудь с ситуацией, когда пришлось преувеличить свои навыки в резюме? Как вы с этим справились?
❓ Какой, по вашему мнению, самый эффективный способ исправить ситуацию, если вы немного приукрасили свое резюме?
❓ Как вы думаете, какая «ложь» в резюме может быть простительной, а какая — абсолютно недопустимой?
💬 Не стесняйтесь делиться своими историями и мнениями в комментариях! Ваш опыт может помочь другим избежать подобных ситуаций или найти выход, если они уже в них оказались. Спасибо за участие!
Сервис Notion, предназначенный для создания и редактирования заметок и баз данных, прекратит свою работу в России с 9 сентября
🆕📜 Что нового в TypeScript 5.5: 4 ключевых улучшения
Кирилл Мыльников, frontend-разработчик в компании Usetech, подробно рассматривает четыре значительных улучшения в версии 5.5 и их сравнение с ограничениями предыдущей версии. Эти нововведения позволяют разработчикам создавать более безопасный и легко поддерживаемый код.
☑️ TypeScript 5.5 предлагает значительные улучшения в проверке типов, обеспечивая более точное обнаружение ошибок еще на этапе компиляции.
☑️ Новые фичи, такие как предикаты выводимых типов и сужение потока управления, значительно улучшают опыт разработки, упрощая чтение и поддержку кода.
☑️ TypeScript 5.5 гарантирует совместимость с существующими кодовыми базами, облегчая обновление без необходимости кардинальных изменений и обеспечивая плавный переход.
☑️ Эта версия эффективно обрабатывает критические изменения и устаревшие функции, позволяя разработчикам адаптировать свой код к современным стандартам и передовым практикам веб-разработки.
👉 Читать статью
👉 Зеркало