Обзор курса System Design Interview на tryExponent.com: стоит ли он своих денег?
Для успешного прохождения собеседования на должность разработчика в крупных компаниях важно овладение системным дизайном. Курс System Design Interview на tryExponent.com предлагает 10 часов полезного материала и доступ к обширной базе вопросов. Благодаря этому курсу можно уверенно подготовиться к интервью, а положительные отзывы подтверждают его эффективность. Обзор курсов и книг для IT-специалистов
В статье рассматриваются различные ресурсы для IT-обучения, включая книги по веб-разработке, курсы по облачным технологиям и машинному обучению. Также представлены отзывы на образовательные платформы, такие как DataCamp и Pluralsight. Идеально для тех, кто хочет развиваться в IT!
Подробности: http://www.java67.com/2025/04/review-is-system-design-interview.html
#en
@a_cup_of_java | Другие наши каналы
Для успешного прохождения собеседования на должность разработчика в крупных компаниях важно овладение системным дизайном. Курс System Design Interview на tryExponent.com предлагает 10 часов полезного материала и доступ к обширной базе вопросов. Благодаря этому курсу можно уверенно подготовиться к интервью, а положительные отзывы подтверждают его эффективность. Обзор курсов и книг для IT-специалистов
В статье рассматриваются различные ресурсы для IT-обучения, включая книги по веб-разработке, курсы по облачным технологиям и машинному обучению. Также представлены отзывы на образовательные платформы, такие как DataCamp и Pluralsight. Идеально для тех, кто хочет развиваться в IT!
Подробности: http://www.java67.com/2025/04/review-is-system-design-interview.html
#en
@a_cup_of_java | Другие наши каналы
42bdc9df-bb8b-462f-bf5d-dd592bc8f3ef.gif
108.2 KB
💡 Coursera Plus или Pluralsight: что выбрать программистам в 2025 году?
Онлайн-обучение становится важной частью профессионального роста. Coursera Plus предлагает курсы от университетов и крупных компаний, предоставляя доступ к специализациям и сертификатам. Pluralsight акцентирует внимание на технической экспертизе и доступности. Выбор зависит от ваших потребностей в обучении. Обзор: Лучшие курсы и книги по веб-разработке
В статье обсуждаются популярные курсы и книги для начинающих веб-разработчиков, а также предлагается выбор лучших ревью курсов по облачным технологиям и системному дизайну. Узнайте, какие ресурсы помогут вам улучшить навыки программирования и освоить востребованные технологии.
Подробности: http://www.java67.com/2021/12/pluralsight-membership-vs-coursera-plus.html
#en
@a_cup_of_java | Другие наши каналы
Онлайн-обучение становится важной частью профессионального роста. Coursera Plus предлагает курсы от университетов и крупных компаний, предоставляя доступ к специализациям и сертификатам. Pluralsight акцентирует внимание на технической экспертизе и доступности. Выбор зависит от ваших потребностей в обучении. Обзор: Лучшие курсы и книги по веб-разработке
В статье обсуждаются популярные курсы и книги для начинающих веб-разработчиков, а также предлагается выбор лучших ревью курсов по облачным технологиям и системному дизайну. Узнайте, какие ресурсы помогут вам улучшить навыки программирования и освоить востребованные технологии.
Подробности: http://www.java67.com/2021/12/pluralsight-membership-vs-coursera-plus.html
#en
@a_cup_of_java | Другие наши каналы
Single Sign-On плагин для Sonatype Nexus Repository
Хочу рассказать о своём проекте - Single Sign-On плагин для Sonatype Nexus Repository. Плагин реализует аутентификацию через SSO и пользовательские токены для Nexus редакции "Community Edition". Если вам интересна эта тема, то добро пожаловать под кат.
Читать: https://habr.com/ru/articles/904766/?utm_campaign=904766
@a_cup_of_java | Другие наши каналы
Хочу рассказать о своём проекте - Single Sign-On плагин для Sonatype Nexus Repository. Плагин реализует аутентификацию через SSO и пользовательские токены для Nexus редакции "Community Edition". Если вам интересна эта тема, то добро пожаловать под кат.
Читать: https://habr.com/ru/articles/904766/?utm_campaign=904766
@a_cup_of_java | Другие наши каналы
Избавляемся от Flaky тестов в CI/CD при помощи JMina
Представьте: вы написали код, покрыли его тестами, запустили их локально — тесты успешно прошли. Вы загрузили изменения в репозиторий, пайплайн успешно завершился. Самое время расслабиться и приступить к новым задачам. Но не тут-то было!
Спустя некоторое время в CI/CD падает тест. Вы запускаете тесты локально — они проходят успешно. Вы снова запускаете пайплайн в CI/CD — и тесты снова проходят. Однако через какое-то время ситуация повторяется.
Читать: https://habr.com/ru/articles/904952/?utm_campaign=904952
@a_cup_of_java | Другие наши каналы
Представьте: вы написали код, покрыли его тестами, запустили их локально — тесты успешно прошли. Вы загрузили изменения в репозиторий, пайплайн успешно завершился. Самое время расслабиться и приступить к новым задачам. Но не тут-то было!
Спустя некоторое время в CI/CD падает тест. Вы запускаете тесты локально — они проходят успешно. Вы снова запускаете пайплайн в CI/CD — и тесты снова проходят. Однако через какое-то время ситуация повторяется.
Читать: https://habr.com/ru/articles/904952/?utm_campaign=904952
@a_cup_of_java | Другие наши каналы
👍2
Основные паттерны микросервисной архитектуры: Strangler Fig, API Gateway, Service Mesh и другие
Микросервисная архитектура стала де-факто стандартом для построения современных масштабируемых приложений. Вместо единого монолитного приложения система разбивается на набор мелких независимых сервисов, каждый из которых отвечает за свою четко обозначенную функцию. Такой подход позволяет упрощать разработку и развертывание отдельных компонентов, повышать отказоустойчивость и масштабируемость системы. Однако переход к микросервисам и их эффективное использование сопряжены с рядом сложных задач. Для их решения в практике выработаны архитектурные паттерны – типовые подходы и шаблоны проектирования.
В данной статье мы разберем несколько ключевых паттернов, связанных с микросервисами. Речь пойдет о паттернах миграции и интеграции (таких как Strangler Fig – «удушающее дерево» и API Gateway), о сетевых и структурных паттернах (Service Mesh, Sidecar), о шаблонах работы с данными (Database per Service, CQRS) и об особом подходе к хранению состояния (Event Sourcing). Для каждого паттерна мы рассмотрим его суть, назначение, примеры использования, а также плюсы и возможные сложности. К некоторым паттернам приведены упрощенные диаграммы и фрагменты кода, чтобы иллюстративно показать, как они работают на практике.
Читать: https://habr.com/ru/articles/904954/?utm_campaign=904954
@a_cup_of_java | Другие наши каналы
Микросервисная архитектура стала де-факто стандартом для построения современных масштабируемых приложений. Вместо единого монолитного приложения система разбивается на набор мелких независимых сервисов, каждый из которых отвечает за свою четко обозначенную функцию. Такой подход позволяет упрощать разработку и развертывание отдельных компонентов, повышать отказоустойчивость и масштабируемость системы. Однако переход к микросервисам и их эффективное использование сопряжены с рядом сложных задач. Для их решения в практике выработаны архитектурные паттерны – типовые подходы и шаблоны проектирования.
В данной статье мы разберем несколько ключевых паттернов, связанных с микросервисами. Речь пойдет о паттернах миграции и интеграции (таких как Strangler Fig – «удушающее дерево» и API Gateway), о сетевых и структурных паттернах (Service Mesh, Sidecar), о шаблонах работы с данными (Database per Service, CQRS) и об особом подходе к хранению состояния (Event Sourcing). Для каждого паттерна мы рассмотрим его суть, назначение, примеры использования, а также плюсы и возможные сложности. К некоторым паттернам приведены упрощенные диаграммы и фрагменты кода, чтобы иллюстративно показать, как они работают на практике.
Читать: https://habr.com/ru/articles/904954/?utm_campaign=904954
@a_cup_of_java | Другие наши каналы
❤2👍2
👨💻 Новые релизы Spring: что нового?
В конце апреля 2025 года в экосистеме Spring вышли релиз-кандидаты множества компонентов, включая Spring Boot, Spring Data, Spring Security и другие. В новых версиях исправлены баги и добавлены улучшения, такие как новые аннотации и поддержка Docker. Полные детали ищите в примечаниях к релизам.
Подробности: https://www.infoq.com/news/2025/04/spring-news-roundup-apr21-2025/
#en
@a_cup_of_java | Другие наши каналы
В конце апреля 2025 года в экосистеме Spring вышли релиз-кандидаты множества компонентов, включая Spring Boot, Spring Data, Spring Security и другие. В новых версиях исправлены баги и добавлены улучшения, такие как новые аннотации и поддержка Docker. Полные детали ищите в примечаниях к релизам.
Подробности: https://www.infoq.com/news/2025/04/spring-news-roundup-apr21-2025/
#en
@a_cup_of_java | Другие наши каналы
Forwarded from Типичный программист
LLM4Decompile: языковая модель для декомпиляции бинарников
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел🔥
#инструменты
Это опенсорс LLM-ка, способная превращать бинарный код программы в читаемый C-код. Сейчас она поддерживает декомпиляцию Linux x86_64 на всех уровнях оптимизации GCC — от O0 до O3.
Проект активно развивается: в будущем планируется поддержка других архитектур и языков. А все материалы и модель — в свободном доступе.
Реально крутой проект, аналогов пока не видел
#инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
В центре внимания Java: Local Variable Type Inference
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды.
Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
Читать: https://habr.com/ru/companies/axiomjdk/articles/904928/?utm_campaign=904928
@a_cup_of_java | Другие наши каналы
Мы (команда Axiom JDK) подготовили перевод статьи про var, или Local Variable Type Inference (LVTI). Из этой статьи вы узнаете как работает var, когда эту фичу лучше использовать в коде, а когда — воздержаться. Всё это с примерами кода и комментариями от нашей команды.
Примечание от команды Axiom JDK: Хотя статья написана в 2019 году, она остаётся актуальной в 2025: var (Local Variable Type Inference) уже давно является частью LTS-релизов и ключевой особенностью современного Java-кода, но по-прежнему вызывает споры и вопросы даже у опытных разработчиков. Это отличный материал от Брайана Гётца — одного из архитекторов Java — с разбором принципов, которые не устарели. С тех пор появилось больше практики, но базовая теория осталась неизменной. Мы публикуем перевод как удобный справочник по механике var, его компромиссам и подводным камням.
Читать: https://habr.com/ru/companies/axiomjdk/articles/904928/?utm_campaign=904928
@a_cup_of_java | Другие наши каналы
👍3
Jqwik: обзор тестирования на основе свойств в UI и API
Привет, Хабр! Меня зовут Денис, я SDET-специалист в компании SimbirSoft. Работая на проектах, я приобрел опыт использования различных инструментов тестирования. Спустя тонны написанных автоматизированных тестов по тест-кейсам и техникам тест-дизайна, хочу рассказать вам о возможности тестирования не конкретных данных, а их свойств. Статья будет полезна всем, кто уже знаком с тестированием на основе примеров и позволит расширить кругозоров в понимании подготовки данных.
В своей статье я описал методы гарантии качества ПО, такие как тестирование на основе примеров и тестирование на основе свойств, а также составил таблицу с описанием параметров их взаимодействия с тестовым оракулом. Рассказал об инструменте тестирования на основе свойств Jqwik для языка Java, привел примеры использования случайного набора данных на UI и API, раскрыл возможности инструмента и потенциал работы с ним в рамках генерации тестов.
⚡
Читать: https://habr.com/ru/companies/simbirsoft/articles/903686/?utm_campaign=903686
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Меня зовут Денис, я SDET-специалист в компании SimbirSoft. Работая на проектах, я приобрел опыт использования различных инструментов тестирования. Спустя тонны написанных автоматизированных тестов по тест-кейсам и техникам тест-дизайна, хочу рассказать вам о возможности тестирования не конкретных данных, а их свойств. Статья будет полезна всем, кто уже знаком с тестированием на основе примеров и позволит расширить кругозоров в понимании подготовки данных.
В своей статье я описал методы гарантии качества ПО, такие как тестирование на основе примеров и тестирование на основе свойств, а также составил таблицу с описанием параметров их взаимодействия с тестовым оракулом. Рассказал об инструменте тестирования на основе свойств Jqwik для языка Java, привел примеры использования случайного набора данных на UI и API, раскрыл возможности инструмента и потенциал работы с ним в рамках генерации тестов.
⚡
Читать: https://habr.com/ru/companies/simbirsoft/articles/903686/?utm_campaign=903686
@a_cup_of_java | Другие наши каналы
👍2
Новости Java: От Gradle 8.14 до завершения поддержки Spring Cloud Data Flow
На прошлой неделе Java сообщество встретило Gradle 8.14 с улучшенной производительностью, возможность использования Java 24 в Open Liberty, релиз-кандидат Hibernate ORM 7.0 и объявление об окончании open-source поддержки Spring Cloud Data Flow. Подробнее на InfoQ.
Подробности: https://www.infoq.com/news/2025/04/java-news-roundup-apr21-2025/
#en
@a_cup_of_java | Другие наши каналы
На прошлой неделе Java сообщество встретило Gradle 8.14 с улучшенной производительностью, возможность использования Java 24 в Open Liberty, релиз-кандидат Hibernate ORM 7.0 и объявление об окончании open-source поддержки Spring Cloud Data Flow. Подробнее на InfoQ.
Подробности: https://www.infoq.com/news/2025/04/java-news-roundup-apr21-2025/
#en
@a_cup_of_java | Другие наши каналы
Как сократить время сборки с помощью кеширования контекста от Spring Test
Новый перевод от команды Spring АйО расскажет вам, как грамотно использовать кеширование контекста для сокращения времени сборки приложения и как избежать часто встречающихся ловушек, в которые попадают многие программисты, когда делают это неправильно.
Читать: https://habr.com/ru/companies/spring_aio/articles/905586/?utm_campaign=905586
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам, как грамотно использовать кеширование контекста для сокращения времени сборки приложения и как избежать часто встречающихся ловушек, в которые попадают многие программисты, когда делают это неправильно.
Читать: https://habr.com/ru/companies/spring_aio/articles/905586/?utm_campaign=905586
@a_cup_of_java | Другие наши каналы
PyCharm стал единым продуктом. Что это означает?
JetBrains объявили о переходе PyCharm к единой модели распространения. С релизом 2025.1 обе редакции — Community и Professional — объединяются в один продукт. Команда Spring АйО не могла пройти мимо данной новости. Теперь при установке вы сразу получаете доступ ко всем Pro-функциям на один месяц. По его истечении можно продолжить использовать базовые возможности бесплатно или приобрести подписку на Pro-версию (что невозможно для пользователей из РФ).
Читать: https://habr.com/ru/companies/spring_aio/articles/905902/?utm_campaign=905902
@a_cup_of_java | Другие наши каналы
JetBrains объявили о переходе PyCharm к единой модели распространения. С релизом 2025.1 обе редакции — Community и Professional — объединяются в один продукт. Команда Spring АйО не могла пройти мимо данной новости. Теперь при установке вы сразу получаете доступ ко всем Pro-функциям на один месяц. По его истечении можно продолжить использовать базовые возможности бесплатно или приобрести подписку на Pro-версию (что невозможно для пользователей из РФ).
Читать: https://habr.com/ru/companies/spring_aio/articles/905902/?utm_campaign=905902
@a_cup_of_java | Другие наши каналы
Шардировать или не шардировать
Если ваш сервис рассчитан на миллиарды пользователей, то несомненно возникнет вопрос о масштабировании.
Ранее, автор уже рассмотрел способ масштабирования через партицирование. В данной статье рассмотрим шардирование к сервиса Баланс дабы обеспечить его работу с миллиардами пользователей без необходимости использовать суперкомпьютеры, а при желании вовсе запускать на "кофеварках".
В чём вопрос?
Читать: https://habr.com/ru/articles/905910/?utm_campaign=905910
@a_cup_of_java | Другие наши каналы
Если ваш сервис рассчитан на миллиарды пользователей, то несомненно возникнет вопрос о масштабировании.
Ранее, автор уже рассмотрел способ масштабирования через партицирование. В данной статье рассмотрим шардирование к сервиса Баланс дабы обеспечить его работу с миллиардами пользователей без необходимости использовать суперкомпьютеры, а при желании вовсе запускать на "кофеварках".
В чём вопрос?
Читать: https://habr.com/ru/articles/905910/?utm_campaign=905910
@a_cup_of_java | Другие наши каналы
Пара советов по покрытию тестами проекта на SpringBoot
Уверен многие сталкивались с ситуацией когда тесты на проекте разрастаются бесконтрольно, проходят долго, а любое изменение в коде приводит в нескольким дням отладки и исправления падающих тестов.
В этой статье я попробовал привести пару советов, которые помогут сделать так, чтобы тесты документировали код, который они проверяют, модифицировать их было не больно и длительность тестовых пайплайнов не улетала за десятки минут
Читать: https://habr.com/ru/articles/906318/?utm_campaign=906318
@a_cup_of_java | Другие наши каналы
Уверен многие сталкивались с ситуацией когда тесты на проекте разрастаются бесконтрольно, проходят долго, а любое изменение в коде приводит в нескольким дням отладки и исправления падающих тестов.
В этой статье я попробовал привести пару советов, которые помогут сделать так, чтобы тесты документировали код, который они проверяют, модифицировать их было не больно и длительность тестовых пайплайнов не улетала за десятки минут
Читать: https://habr.com/ru/articles/906318/?utm_campaign=906318
@a_cup_of_java | Другие наши каналы
Большой гайд по мобильной разработке от Tproger: полезные статьи, практики и советы
Делимся нашими статьями про мобильную разработку: iOS, Android, Flutter, SwiftUI, Jetpack Compose, публикация в сторах и советы по доступности — всё в одном месте.
Читать: «Большой гайд по мобильной разработке от Tproger: полезные статьи, практики и советы»
@a_cup_of_java | Другие наши каналы
Делимся нашими статьями про мобильную разработку: iOS, Android, Flutter, SwiftUI, Jetpack Compose, публикация в сторах и советы по доступности — всё в одном месте.
Читать: «Большой гайд по мобильной разработке от Tproger: полезные статьи, практики и советы»
@a_cup_of_java | Другие наши каналы
Cервисы в Android
Под ОС Android можно разрабатывать приложения различного уровня сложности: от простых оконных игр до довольно сложных системных приложений. Достаточно распространенным типом приложений являются сервисы, и в этой статье мы поговорим о том, какие сервисы бывают и как их можно написать.
Читать: https://habr.com/ru/companies/otus/articles/903614/?utm_campaign=903614
@a_cup_of_java | Другие наши каналы
Под ОС Android можно разрабатывать приложения различного уровня сложности: от простых оконных игр до довольно сложных системных приложений. Достаточно распространенным типом приложений являются сервисы, и в этой статье мы поговорим о том, какие сервисы бывают и как их можно написать.
Читать: https://habr.com/ru/companies/otus/articles/903614/?utm_campaign=903614
@a_cup_of_java | Другие наши каналы
🟢 Важные темы на QCon London 2025
На третий день QCon London 2025 обсуждались ключевые темы: политика AMQP, где Джон О'Хара рассказал об эволюции стандартов сообщений. Также обсуждались серверные базы данных и симбиоз архитектуры и безопасности, без которого системы теряют устойчивость.
Подробности: https://www.infoq.com/news/2025/05/day-three-qcon-london-2025/
#en
@a_cup_of_java | Другие наши каналы
На третий день QCon London 2025 обсуждались ключевые темы: политика AMQP, где Джон О'Хара рассказал об эволюции стандартов сообщений. Также обсуждались серверные базы данных и симбиоз архитектуры и безопасности, без которого системы теряют устойчивость.
Подробности: https://www.infoq.com/news/2025/05/day-three-qcon-london-2025/
#en
@a_cup_of_java | Другие наши каналы
Как автотесты и GitHub Actions помогают улучшать свои пет-проекты
Привет. Сегодня поговорим о том, как я в последние 2 недели поправил свои пет-проекты, а также исправил серьёзные ошибки благодаря автотестам и налаженному CI/CD через GitHub Actions.
Читать: https://habr.com/ru/articles/906624/?utm_campaign=906624
@a_cup_of_java | Другие наши каналы
Привет. Сегодня поговорим о том, как я в последние 2 недели поправил свои пет-проекты, а также исправил серьёзные ошибки благодаря автотестам и налаженному CI/CD через GitHub Actions.
Читать: https://habr.com/ru/articles/906624/?utm_campaign=906624
@a_cup_of_java | Другие наши каналы
❤1👍1
Программирование без условных операторов
В программировании на C-подобных языках (и не только) частенько приходится использовать условные операторы, такие как
К слову, многие отмечают, что последний оператор
Тем не менее, как бы там ни было, существует целый ряд иных подходов, который позволяет избавиться от этих операторов, что само по себе довольно любопытно, поэтому, рассмотрение этих подходов и видится интересным.
Давайте исследуем некоторые из них…
Читать: https://habr.com/ru/companies/beget/articles/903758/?utm_campaign=903758
@a_cup_of_java | Другие наши каналы
В программировании на C-подобных языках (и не только) частенько приходится использовать условные операторы, такие как
If, else, switch — и особенно часто их используют новички, потому что их понимание и работа достаточно проста (в итоге, могут рождаться, иной раз, поистине монструозные конструкции — грешен, практиковал:-))).К слову, многие отмечают, что последний оператор
switch им приходилось видеть только на разнообразных олимпиадных задачках или школьных уроках, в то время как в реальной работе применяется он достаточно редко (а вы его используете, и насколько часто?).Тем не менее, как бы там ни было, существует целый ряд иных подходов, который позволяет избавиться от этих операторов, что само по себе довольно любопытно, поэтому, рассмотрение этих подходов и видится интересным.
Давайте исследуем некоторые из них…
Читать: https://habr.com/ru/companies/beget/articles/903758/?utm_campaign=903758
@a_cup_of_java | Другие наши каналы
👎5
Как работает React-паттерн «Составной компонент» (compound component) и для чего он нужен
Разбираем типичные проблемы при разработке компонентов. Изучаем, какие архитектурные подходы вложены в паттерн. Реализуем паттерн на примере компонента Аккордеон и смотрим на плюсы и минусы подходов
Читать: «Как работает React-паттерн «Составной компонент» (compound component) и для чего он нужен»
@a_cup_of_java | Другие наши каналы
Разбираем типичные проблемы при разработке компонентов. Изучаем, какие архитектурные подходы вложены в паттерн. Реализуем паттерн на примере компонента Аккордеон и смотрим на плюсы и минусы подходов
Читать: «Как работает React-паттерн «Составной компонент» (compound component) и для чего он нужен»
@a_cup_of_java | Другие наши каналы