Forwarded from Типичный программист
Большая подборка статей, которая поможет изучить 30 основ проектирования систем
Осталось только лайк поставить и сохранить👍
#архитектура
1. APIs
2. Вебхуки
3. REST и GraphQL
4. API Gateway
5. Балансировщики нагрузки
6. Алгоритмы балансировки нагрузки
7. Прокси vs Обратный прокси
8. Масштабируемость
9. Доступность (Availability)
10. Единая точка отказа (SPOF)
11. Теорема CAP
12. Типы баз данных
13. SQL или NoSQL
14. Транзакции ACID
15. Индексирование баз данных
16. Шардирование или партиционирование БД
17. Согласованное хеширование (Consistent Hashing)
18. Захват изменения данных (Change Data Capture, CDC
19. Кэширование
20. Стратегии кэширования
21. Политики очищения кэша (Cache Eviction Policies)
22. CDN (Сети доставки контента)
23. Алгоритмы ограничения скорости запросов (Rate Limiting)
24. Очереди сообщений (Message Queues)
25. Фильтр Блума
26. Идемпотентность
27. Конкурентность и параллелизм
28. Состояние: stateful vs stateless
29. Long polling vs WebSockets
30. Пакетная обработка и потоковая обработка
Осталось только лайк поставить и сохранить
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3
Разница между save(), saveOrUpdate() и persist() в Hibernate
Методы Session в Hibernate по-разному сохраняют объекты. save() вставляет новый объект и возвращает ID, saveOrUpdate() вставляет или обновляет, а persist() сохраняет без возврата ID. Это важное знание для Java-разработчиков и собеседований. Полезные материалы для подготовки к интервью по Java и Spring
В блоге представлены вопросы и ответы для успешной подготовки к собеседованиям по Java, Spring Boot, микросервисам и другим технологиям. Ресурс будет полезен как начинающим, так и опытным разработчикам.
Подробности: http://www.java67.com/2016/01/difference-between-save-saveorupdate-and-persist-in-Hibernate.html
#en
@a_cup_of_java | Другие наши каналы
Методы Session в Hibernate по-разному сохраняют объекты. save() вставляет новый объект и возвращает ID, saveOrUpdate() вставляет или обновляет, а persist() сохраняет без возврата ID. Это важное знание для Java-разработчиков и собеседований. Полезные материалы для подготовки к интервью по Java и Spring
В блоге представлены вопросы и ответы для успешной подготовки к собеседованиям по Java, Spring Boot, микросервисам и другим технологиям. Ресурс будет полезен как начинающим, так и опытным разработчикам.
Подробности: http://www.java67.com/2016/01/difference-between-save-saveorupdate-and-persist-in-Hibernate.html
#en
@a_cup_of_java | Другие наши каналы
😁2
Топ-70 вопросов для интервью Java-разработчиков с опытом 1–2 года. В статье собраны популярные вопросы по ключевым темам: ООП, коллекции, многопоточность, JVM и дизайн-паттерны. Отличный материал для подготовки к интервью и повторения базовых концепций. Лучшие курсы и вопросы для карьеры в IT
В статье собрана подборка топовых курсов по программированию и системному дизайну, а также обширный список вопросов для подготовки к интервью по Java, Spring, DevOps и другим направлениям. Полезно для тех, кто готовится к собеседованиям и хочет прокачать навыки.
Подробности: http://www.java67.com/2015/09/60-java-interview-questions-for-quick.html
#en
@a_cup_of_java | Другие наши каналы
В статье собрана подборка топовых курсов по программированию и системному дизайну, а также обширный список вопросов для подготовки к интервью по Java, Spring, DevOps и другим направлениям. Полезно для тех, кто готовится к собеседованиям и хочет прокачать навыки.
Подробности: http://www.java67.com/2015/09/60-java-interview-questions-for-quick.html
#en
@a_cup_of_java | Другие наши каналы
🤨1
Лучшие онлайн-курсы по Agile и Scrum в 2025 году. В статье представлены актуальные программы для программистов и руководителей, которые хотят освоить востребованные методологии разработки и повысить эффективность командной работы в условиях быстрого развития технологий.
Подробности: http://www.java67.com/2020/10/best-agile-and-scrum-courses-for-programmers-developers.html
#en
@a_cup_of_java | Другие наши каналы
Подробности: http://www.java67.com/2020/10/best-agile-and-scrum-courses-for-programmers-developers.html
#en
@a_cup_of_java | Другие наши каналы
Интеграция MCP-сервера и Cursor для автоматизации мониторинга и тестирования
Современные LLM‑агенты могут обходиться без внешних вызовов — выдавать ответы исключительно на основе prompt’а. Но когда речь идёт о живых данных (трассы вызовов, результаты SQL‑запросов, исходный код из GitLab), нужно динамически обогащать контекст модели и давать ей «функции» для вызова.
Читать: https://habr.com/ru/articles/910464/?utm_campaign=910464
@a_cup_of_java | Другие наши каналы
Современные LLM‑агенты могут обходиться без внешних вызовов — выдавать ответы исключительно на основе prompt’а. Но когда речь идёт о живых данных (трассы вызовов, результаты SQL‑запросов, исходный код из GitLab), нужно динамически обогащать контекст модели и давать ей «функции» для вызова.
Читать: https://habr.com/ru/articles/910464/?utm_campaign=910464
@a_cup_of_java | Другие наши каналы
Новшества JDK 25: ключевые обновления OpenJDK включают финализацию API для криптографических функций, улучшения работы с многопоточностью, оптимизацию заголовков объектов и профилирование методов для ускорения запуска приложений. Релиз запланирован на сентябрь 2025 года.
Подробности: https://www.infoq.com/news/2025/05/jdk-news-roundup-may12-2025/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/05/jdk-news-roundup-may12-2025/
#en
@a_cup_of_java | Другие наши каналы
👍2
Нужно ли системному аналитику разбираться в программировании?
Мне стало интересно: насколько глубоко системный аналитик уровня Senior должен разбираться в программном коде? Где проходит грань между бизнес-фокусом и технической вовлечённостью?
Чтобы ответить на этот вопрос, я провёл исследование и опросил почти 200 системных аналитиков. Мы выяснили, какие технические навыки сегодня считаются must-have, а какие по-прежнему остаются "по желанию".
В статье я делюсь результатами опроса, реальными кейсами, мнениями коллег и выводами о том, как трансформируется роль системного аналитика в современных командах. Если вы аналитик, тимлид или архитектор - будет интересно.
Читать: https://habr.com/ru/articles/910482/?utm_campaign=910482
@a_cup_of_java | Другие наши каналы
Мне стало интересно: насколько глубоко системный аналитик уровня Senior должен разбираться в программном коде? Где проходит грань между бизнес-фокусом и технической вовлечённостью?
Чтобы ответить на этот вопрос, я провёл исследование и опросил почти 200 системных аналитиков. Мы выяснили, какие технические навыки сегодня считаются must-have, а какие по-прежнему остаются "по желанию".
В статье я делюсь результатами опроса, реальными кейсами, мнениями коллег и выводами о том, как трансформируется роль системного аналитика в современных командах. Если вы аналитик, тимлид или архитектор - будет интересно.
Читать: https://habr.com/ru/articles/910482/?utm_campaign=910482
@a_cup_of_java | Другие наши каналы
👍2❤1
Что должен уметь AI-инструмент для генерации Java тестов
Всем привет! Это вопрос мы задаем себе каждый раз, когда надо и не хочется писать тесты. И еще меньше хочется искать и исправлять ошибки в том, что нагенерит AI-ассистент. В этой статье обсудим, на какие инструменты стоит обратить внимание, каким должен быть хороший инструмент для генерации Java тестов и насколько далека мечта от реальности.
На кого будем смотреть?
Читать: https://habr.com/ru/companies/explyt/articles/909898/?utm_campaign=909898
@a_cup_of_java | Другие наши каналы
Всем привет! Это вопрос мы задаем себе каждый раз, когда надо и не хочется писать тесты. И еще меньше хочется искать и исправлять ошибки в том, что нагенерит AI-ассистент. В этой статье обсудим, на какие инструменты стоит обратить внимание, каким должен быть хороший инструмент для генерации Java тестов и насколько далека мечта от реальности.
На кого будем смотреть?
Читать: https://habr.com/ru/companies/explyt/articles/909898/?utm_campaign=909898
@a_cup_of_java | Другие наши каналы
Как Allegro автоматизирует миграции кода в 2000 микросервисах
Allegro создала решение на базе GitHub Dependabot и OpenRewrite для автоматического обновления кода в тысячах репозиториев. Это снизило ошибки и упростило масштабные миграции, улучшая надежность и скорость разработки.
Подробности: https://www.infoq.com/news/2025/05/allegro-code-migrations-scale/
#en
@a_cup_of_java | Другие наши каналы
Allegro создала решение на базе GitHub Dependabot и OpenRewrite для автоматического обновления кода в тысячах репозиториев. Это снизило ошибки и упростило масштабные миграции, улучшая надежность и скорость разработки.
Подробности: https://www.infoq.com/news/2025/05/allegro-code-migrations-scale/
#en
@a_cup_of_java | Другие наши каналы
Что нового в IntelliJ IDEA 2025.1
Недавно вышла новая версия IntelliJ IDEA 2025.1, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE.
Читать: https://habr.com/ru/companies/haulmont/articles/910674/?utm_campaign=910674
@a_cup_of_java | Другие наши каналы
Недавно вышла новая версия IntelliJ IDEA 2025.1, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE.
Читать: https://habr.com/ru/companies/haulmont/articles/910674/?utm_campaign=910674
@a_cup_of_java | Другие наши каналы
Лучшие курсы по Angular для 2025 года
В статье представлен подборка из пяти актуальных онлайн-курсов по Angular для разных уровней — от новичков до продвинутых разработчиков. Эти курсы помогут освоить создание современных веб-приложений и углубить знания в Angular. Топ популярных онлайн-курсов для IT-специалистов в 2025 году. В статье представлены бесплатные и платные курсы по программированию, веб-разработке, безопасности и облачным технологиям. Отличный обзор для тех, кто хочет прокачать навыки и идти в ногу со временем.
Подробности: http://www.java67.com/2021/12/5-best-online-courses-to-learn-angular.html
#en
@a_cup_of_java | Другие наши каналы
В статье представлен подборка из пяти актуальных онлайн-курсов по Angular для разных уровней — от новичков до продвинутых разработчиков. Эти курсы помогут освоить создание современных веб-приложений и углубить знания в Angular. Топ популярных онлайн-курсов для IT-специалистов в 2025 году. В статье представлены бесплатные и платные курсы по программированию, веб-разработке, безопасности и облачным технологиям. Отличный обзор для тех, кто хочет прокачать навыки и идти в ногу со временем.
Подробности: http://www.java67.com/2021/12/5-best-online-courses-to-learn-angular.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие бесплатные курсы по веб-дизайну в 2025 году
В статье представлены восемь бесплатных онлайн-курсов от ведущих платформ, которые помогут освоить веб-дизайн и разработку с нуля. Отличный старт для тех, кто хочет построить карьеру в IT и создавать современные сайты. Лучшие курсы для веб-разработчиков в 2025 году
В статье собраны бесплатные и полезные курсы по Python, JavaScript, Node.js, React и другим востребованным технологиям. Это отличная подборка для тех, кто хочет прокачать навыки и идти в ногу с трендами веб-разработки.
Подробности: http://www.java67.com/2020/07/top-5-free-courses-to-become-web-design.html
#en
@a_cup_of_java | Другие наши каналы
В статье представлены восемь бесплатных онлайн-курсов от ведущих платформ, которые помогут освоить веб-дизайн и разработку с нуля. Отличный старт для тех, кто хочет построить карьеру в IT и создавать современные сайты. Лучшие курсы для веб-разработчиков в 2025 году
В статье собраны бесплатные и полезные курсы по Python, JavaScript, Node.js, React и другим востребованным технологиям. Это отличная подборка для тех, кто хочет прокачать навыки и идти в ногу с трендами веб-разработки.
Подробности: http://www.java67.com/2020/07/top-5-free-courses-to-become-web-design.html
#en
@a_cup_of_java | Другие наши каналы
5 бесплатных курсов для подготовки к экзамену GCP Professional Cloud DevOps Engineer в 2025 году
В статье собраны бесплатные онлайн-курсы для успешной сдачи сертификации Google Cloud DevOps Engineer. Курсы охватывают основы облачных технологий, DevOps и работу с Google Cloud Platform, подходят как новичкам, так и опытным специалистам. Топ бесплатных курсов для изучения Ruby on Rails и других технологий в 2025 году. В подборке собраны лучшие ресурсы для новичков и опытных разработчиков, включая темы от Java до кибербезопасности. Полезно для тех, кто хочет прокачать навыки онлайн.
Подробности: http://www.java67.com/2020/10/5-free-courses-to-pass-google-cloud-professional-cloud-devops-engineer-certificaiton.html
#en
@a_cup_of_java | Другие наши каналы
В статье собраны бесплатные онлайн-курсы для успешной сдачи сертификации Google Cloud DevOps Engineer. Курсы охватывают основы облачных технологий, DevOps и работу с Google Cloud Platform, подходят как новичкам, так и опытным специалистам. Топ бесплатных курсов для изучения Ruby on Rails и других технологий в 2025 году. В подборке собраны лучшие ресурсы для новичков и опытных разработчиков, включая темы от Java до кибербезопасности. Полезно для тех, кто хочет прокачать навыки онлайн.
Подробности: http://www.java67.com/2020/10/5-free-courses-to-pass-google-cloud-professional-cloud-devops-engineer-certificaiton.html
#en
@a_cup_of_java | Другие наши каналы
Java: основные релизы мая 2025 года
Вышли LangChain4j 1.0, Vert.x 5.0, Spring Data 2025.0.0, обновления Payara и несколько релиз-кандидатов Hibernate. Также продолжается активная работа над Jakarta EE 11 и JDK 25 с новыми спецификациями и улучшениями.
Подробности: https://www.infoq.com/news/2025/05/java-news-roundup-may12-2025/
#en
@a_cup_of_java | Другие наши каналы
Вышли LangChain4j 1.0, Vert.x 5.0, Spring Data 2025.0.0, обновления Payara и несколько релиз-кандидатов Hibernate. Также продолжается активная работа над Jakarta EE 11 и JDK 25 с новыми спецификациями и улучшениями.
Подробности: https://www.infoq.com/news/2025/05/java-news-roundup-may12-2025/
#en
@a_cup_of_java | Другие наши каналы
Как провести бенчмарк кластера Camunda 8
«Могу ли я выполнять 10, 100 или 1000 экземпляров процессов в секунду на этом кластере Camunda 8?»
Это типичный вопрос, который нам задают в последнее время, и на него можно ответить с помощью бенчмаркинга. Давайте разберёмся в этой увлекательной теме в сегодняшнем посте.
Читать: https://habr.com/ru/articles/910898/?utm_campaign=910898
@a_cup_of_java | Другие наши каналы
«Могу ли я выполнять 10, 100 или 1000 экземпляров процессов в секунду на этом кластере Camunda 8?»
Это типичный вопрос, который нам задают в последнее время, и на него можно ответить с помощью бенчмаркинга. Давайте разберёмся в этой увлекательной теме в сегодняшнем посте.
Читать: https://habr.com/ru/articles/910898/?utm_campaign=910898
@a_cup_of_java | Другие наши каналы
Очистите свою память: от Finalize к Cleaner
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов.
Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям.
Java Cleaner API, представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны.
Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
Читать: https://habr.com/ru/articles/911046/?utm_campaign=911046
@a_cup_of_java | Другие наши каналы
Сборка мусора в Java отвечает за управление памятью, но не очищает ресурсы, не связанные с памятью, такие как сокеты или дескрипторы файлов.
Без надлежащего управления могут возникнуть утечки ресурсов, что приведет к снижению производительности или сбоям.
Java Cleaner API, представленный в Java 9, обеспечивает современный и эффективный механизм очистки ресурсов, когда объекты больше не доступны.
Он устраняет недостатки устаревшего метода finalize(), предлагая предсказуемый и эффективный способ управления ресурсами, не связанными с памятью: поэтому давайте совершим небольшой экскурс по методам очистки памяти от finalize до Cleaner API.
Читать: https://habr.com/ru/articles/911046/?utm_campaign=911046
@a_cup_of_java | Другие наши каналы
Spring AI 1.0: новая эра разработки AI-приложений на Java
Spring AI 1.0 упрощает создание масштабируемых AI-приложений, объединяя поддержку множества моделей от OpenAI, Google, Microsoft и других. Фреймворк предлагает удобный API, инструменты для работы с векторными базами и стандарты интеграции с внешними сервисами.
Подробности: https://www.infoq.com/news/2025/05/spring-ai-1-0-streamlines-apps/
#en
@a_cup_of_java | Другие наши каналы
Spring AI 1.0 упрощает создание масштабируемых AI-приложений, объединяя поддержку множества моделей от OpenAI, Google, Microsoft и других. Фреймворк предлагает удобный API, инструменты для работы с векторными базами и стандарты интеграции с внешними сервисами.
Подробности: https://www.infoq.com/news/2025/05/spring-ai-1-0-streamlines-apps/
#en
@a_cup_of_java | Другие наши каналы
❤🔥5👍1
Лучшие бесплатные курсы Salesforce в 2025 для новичков
Если хотите освоить Salesforce и получить востребованный навык, эта подборка бесплатных онлайн-курсов с Udemy и Trailhead — отличный старт. Здесь собраны курсы для разных уровней, которые помогут подготовиться к сертификации и начать карьеру в Salesforce. Топ бесплатных онлайн-курсов 2025 для разработчиков и IT-специалистов: изучение программирования, веб-дизайна, Salesforce, Java, этичного хакерства и многого другого. Полезные подборки помогут быстро освоить востребованные навыки и подготовиться к собеседованиям.
Подробности: http://www.java67.com/2020/07/top-5-free-courses-to-learn-salesforce.html
#en
@a_cup_of_java | Другие наши каналы
Если хотите освоить Salesforce и получить востребованный навык, эта подборка бесплатных онлайн-курсов с Udemy и Trailhead — отличный старт. Здесь собраны курсы для разных уровней, которые помогут подготовиться к сертификации и начать карьеру в Salesforce. Топ бесплатных онлайн-курсов 2025 для разработчиков и IT-специалистов: изучение программирования, веб-дизайна, Salesforce, Java, этичного хакерства и многого другого. Полезные подборки помогут быстро освоить востребованные навыки и подготовиться к собеседованиям.
Подробности: http://www.java67.com/2020/07/top-5-free-courses-to-learn-salesforce.html
#en
@a_cup_of_java | Другие наши каналы
Топ-10 бесплатных курсов по программированию на Udemy в 2025 году
В списке собраны лучшие бесплатные курсы по кодингу и веб-разработке, подходящие для новичков и тех, кто хочет прокачать навыки. Отличная возможность освоить программирование и подготовиться к востребованным IT-профессиям. Лучшие курсы по системному дизайну, структурам данных, Google Cloud и NFT собраны в одном обзоре. В статье представлены практические примеры, полезные интервью-вопросы и подборки для эффективного обучения программированию и развитию навыков в IT.
Подробности: http://www.java67.com/2022/11/10-free-udemy-courses-to-learn-coding.html
#en
@a_cup_of_java | Другие наши каналы
В списке собраны лучшие бесплатные курсы по кодингу и веб-разработке, подходящие для новичков и тех, кто хочет прокачать навыки. Отличная возможность освоить программирование и подготовиться к востребованным IT-профессиям. Лучшие курсы по системному дизайну, структурам данных, Google Cloud и NFT собраны в одном обзоре. В статье представлены практические примеры, полезные интервью-вопросы и подборки для эффективного обучения программированию и развитию навыков в IT.
Подробности: http://www.java67.com/2022/11/10-free-udemy-courses-to-learn-coding.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие бесплатные курсы по Selenium для начинающих в 2025 году
Если хотите освоить автоматизированное тестирование веб-приложений, в статье представлен подборка из 7 бесплатных курсов по Selenium с использованием Java и C#. Отличный старт для QA и разработчиков. Лучшие бесплатные курсы по программированию и IT в 2025 году
В статье представлен обширный список бесплатных и качественных курсов по Java, веб-разработке, DevOps, базам данных и другим востребованным технологиям. Отличный ресурс для прокачки навыков и подготовки к интервью.
Подробности: http://www.java67.com/2018/02/7-free-selenium-web-deriver-courses-for-java-C-developer.html
#en
@a_cup_of_java | Другие наши каналы
Если хотите освоить автоматизированное тестирование веб-приложений, в статье представлен подборка из 7 бесплатных курсов по Selenium с использованием Java и C#. Отличный старт для QA и разработчиков. Лучшие бесплатные курсы по программированию и IT в 2025 году
В статье представлен обширный список бесплатных и качественных курсов по Java, веб-разработке, DevOps, базам данных и другим востребованным технологиям. Отличный ресурс для прокачки навыков и подготовки к интервью.
Подробности: http://www.java67.com/2018/02/7-free-selenium-web-deriver-courses-for-java-C-developer.html
#en
@a_cup_of_java | Другие наши каналы
👍2
Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы
В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным.
В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC.
Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC.
Это будут jOOQ и Exposed.
Читать: https://habr.com/ru/companies/sberbank/articles/906590/?utm_campaign=906590
@a_cup_of_java | Другие наши каналы
В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным.
В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC.
Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC.
Это будут jOOQ и Exposed.
Читать: https://habr.com/ru/companies/sberbank/articles/906590/?utm_campaign=906590
@a_cup_of_java | Другие наши каналы