Kafka UI краткий гайд
Буквально недавно я начал создавать свой аналог сервиса Discord, используя веб-сокеты и передавая сообщения через очередь. В один из моментов мне понадобилось проверить, корректно ли проходят сообщения в этой очереди. Тогда я осознал, как неудобно каждый раз заходить в docker контейнер и вручную вводить команду для просмотра всех сообщений в топиках. После дня анализа и советов от моего коллеги, опытного DevOps-инженера Паши, я пришел к выводу, что kafka-ui от команды provectus — это наилучший и наиболее удобный инструмент для визуализации данных в Kafka.
Читать: https://habr.com/ru/articles/753398/?utm_campaign=753398
Буквально недавно я начал создавать свой аналог сервиса Discord, используя веб-сокеты и передавая сообщения через очередь. В один из моментов мне понадобилось проверить, корректно ли проходят сообщения в этой очереди. Тогда я осознал, как неудобно каждый раз заходить в docker контейнер и вручную вводить команду для просмотра всех сообщений в топиках. После дня анализа и советов от моего коллеги, опытного DevOps-инженера Паши, я пришел к выводу, что kafka-ui от команды provectus — это наилучший и наиболее удобный инструмент для визуализации данных в Kafka.
Читать: https://habr.com/ru/articles/753398/?utm_campaign=753398
👍2
Top18 Spring Cloud Features for Microservices Architecture in Java
Hello guys, If you are doing Java development using Spring Boot then you may already know that Spring Cloud is a popular open-source framework for implementing microservices in Java. It provides a wide range of features that simplify the development, deployment, and management of Microservices in Java. In this article, we will discuss some of the key features of the Spring Cloud framework that makes it an excellent framework for developing Microservices in Java. Microservices architecture is a modern approach to building complex applications as a collection of loosely coupled, independently deployable services.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/04/spring-cloud-features-for-microservices.html
Hello guys, If you are doing Java development using Spring Boot then you may already know that Spring Cloud is a popular open-source framework for implementing microservices in Java. It provides a wide range of features that simplify the development, deployment, and management of Microservices in Java. In this article, we will discuss some of the key features of the Spring Cloud framework that makes it an excellent framework for developing Microservices in Java. Microservices architecture is a modern approach to building complex applications as a collection of loosely coupled, independently deployable services.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/04/spring-cloud-features-for-microservices.html
❤1
OpenJDK plan would add computed constants to Java
Read: https://www.infoworld.com/article/3704272/openjdk-plan-would-add-computed-constants-to-java.html#tk.rss_java
Read: https://www.infoworld.com/article/3704272/openjdk-plan-would-add-computed-constants-to-java.html#tk.rss_java
👍1
Difference between @RequestParam and @PathVariable in Spring MVC
Hello guys, if you are wondering what is difference between @ReqestParam and @PathVaraible annotation in Spring MVC, most likely because it was asked to you on a Java and Spring interview or maybe you are just curious then you have come to the right place. In the past, I have talked about difference between @Component, @Service, @Reposistory and @Controller annotations and in this comprehensive article we are going to take an in-depth look at the difference between the two most frequently used annotations in Spring MVC. It provides two commonly used annotations, namely @RequestParam and @PathVariable, which play a significant role in parameter handling within web applications.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/08/difference-between-requestparam-and.html
Hello guys, if you are wondering what is difference between @ReqestParam and @PathVaraible annotation in Spring MVC, most likely because it was asked to you on a Java and Spring interview or maybe you are just curious then you have come to the right place. In the past, I have talked about difference between @Component, @Service, @Reposistory and @Controller annotations and in this comprehensive article we are going to take an in-depth look at the difference between the two most frequently used annotations in Spring MVC. It provides two commonly used annotations, namely @RequestParam and @PathVariable, which play a significant role in parameter handling within web applications.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/08/difference-between-requestparam-and.html
❤1👍1
Java Joins the Ranks in Semantic Kernel SDK
Microsoft has announced the availability of its Semantic Kernel software development kit (SDK) for Java, designed to mesh Large Language Models (LLMs) with popular programming languages, extending support beyond C# and Python.
By Shaaf Syed
Read: https://www.infoq.com/news/2023/08/semantic-kernel-java/
Microsoft has announced the availability of its Semantic Kernel software development kit (SDK) for Java, designed to mesh Large Language Models (LLMs) with popular programming languages, extending support beyond C# and Python.
By Shaaf Syed
Read: https://www.infoq.com/news/2023/08/semantic-kernel-java/
Новый взгляд на Maven-plugin для IDEA — GMaven
Привет, меня зовут Григорий Мясоедов, ранее я имел опыт работы в JetBrains в команде build tools, а конкретно занимался Maven-plugin. В этой статье я хочу поговорить о том как устроен плагин под капотом, его сильных и слабых местах, и о том что я в итоге со всем этим сделал.
Одна из самых частых проблем, которыми я занимался в JetBrains, звучала так - “через командную строку Maven проект собирает, но в IDEA он не импортируется (импортируется с ошибками)”. Как будет показано ниже большинство этих проблем связаны с архитектурой JB Maven плагина.
Читать: https://habr.com/ru/articles/753828/?utm_campaign=753828
Привет, меня зовут Григорий Мясоедов, ранее я имел опыт работы в JetBrains в команде build tools, а конкретно занимался Maven-plugin. В этой статье я хочу поговорить о том как устроен плагин под капотом, его сильных и слабых местах, и о том что я в итоге со всем этим сделал.
Одна из самых частых проблем, которыми я занимался в JetBrains, звучала так - “через командную строку Maven проект собирает, но в IDEA он не импортируется (импортируется с ошибками)”. Как будет показано ниже большинство этих проблем связаны с архитектурой JB Maven плагина.
Читать: https://habr.com/ru/articles/753828/?utm_campaign=753828
🔥1
Топ-5 бесплатных курсов по базам данных и SQL-запросам для начинающих, которые можно изучать онлайн в 2023 году - Best of Lot
Здравствуйте, ребята, в этом блоге я уже довольно давно делюсь некоторыми бесплатными ресурсами по программированию, например, книгами и курсами. Ранее я уже рассказывал о бесплатных курсах по Java, Maven, Spring, структуре данных и алгоритмам, а сегодня я расскажу о некоторых бесплатных онлайн-курсах по изучению SQL и баз данных. Почему вы должны изучать SQL? Ну, это один из обязательных навыков для программистов, разработчиков приложений и ИТ-специалистов. Как и Linux, это тот навык, который будет служить вам дольше, чем любой другой язык программирования, фреймворк или библиотека.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/02/5-free-database-and-sql-query-courses-programmers.html
Здравствуйте, ребята, в этом блоге я уже довольно давно делюсь некоторыми бесплатными ресурсами по программированию, например, книгами и курсами. Ранее я уже рассказывал о бесплатных курсах по Java, Maven, Spring, структуре данных и алгоритмам, а сегодня я расскажу о некоторых бесплатных онлайн-курсах по изучению SQL и баз данных. Почему вы должны изучать SQL? Ну, это один из обязательных навыков для программистов, разработчиков приложений и ИТ-специалистов. Как и Linux, это тот навык, который будет служить вам дольше, чем любой другой язык программирования, фреймворк или библиотека.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/02/5-free-database-and-sql-query-courses-programmers.html
👍3
Исчерпывающее руководство по одномерным массивам в Java
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку.
Дадим определение массиву.
Массив — это структура данных фиксированного размера, являющаяся объектом и состоящая из ячеек, расположенных последовательно в памяти, которые могут хранить в себе значения только одного, заранее заданного типа. При этом каждая ячейка обладает адресом (порядковым номером, индексом), позволяющим получать к ней доступ.
На картинке ниже схематично изображен массив размерностью 10, заполненный числами, а также индексы ячеек:
Читать: https://habr.com/ru/articles/753638/?utm_campaign=753638
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку.
Дадим определение массиву.
Массив — это структура данных фиксированного размера, являющаяся объектом и состоящая из ячеек, расположенных последовательно в памяти, которые могут хранить в себе значения только одного, заранее заданного типа. При этом каждая ячейка обладает адресом (порядковым номером, индексом), позволяющим получать к ней доступ.
На картинке ниже схематично изображен массив размерностью 10, заполненный числами, а также индексы ячеек:
Читать: https://habr.com/ru/articles/753638/?utm_campaign=753638
Предложена опережающая компиляция для JVM
Read: https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Read: https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Топ-9 онлайн-курсов для изучения Python в 2023 году - Лучшее из многого
Здравствуйте, ребята, если вы хотите изучить язык программирования Python в 2023 году и ищете лучшие курсы Python
и ищете лучшие курсы Python, то вы попали по адресу. В Интернете существует множество
ресурсов для изучения Python в Интернете, включая бесплатные и платные. В прошлом я
я уже рассказывал о многих доступных источниках, таких как бесплатные книги, учебники, курсы, специализации и сертификации. Тем не менее, многие из вас спрашивали о более полных и
продвинутые курсы по Python, чтобы овладеть этим важнейшим навыком программирования в 2023 году. Мы
мы отобралинесколько продвинутых онлайн-курсов по Python с таких платформ, как Udemy, Coursera, edX, ZTM Academy и Pluralsight , чтобы помочь вам изучить Python на лучших ресурсах.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2020/05/top-5-courses-to-learn-python-in-depth.html
Здравствуйте, ребята, если вы хотите изучить язык программирования Python в 2023 году и ищете лучшие курсы Python
и ищете лучшие курсы Python, то вы попали по адресу. В Интернете существует множество
ресурсов для изучения Python в Интернете, включая бесплатные и платные. В прошлом я
я уже рассказывал о многих доступных источниках, таких как бесплатные книги, учебники, курсы, специализации и сертификации. Тем не менее, многие из вас спрашивали о более полных и
продвинутые курсы по Python, чтобы овладеть этим важнейшим навыком программирования в 2023 году. Мы
мы отобралинесколько продвинутых онлайн-курсов по Python с таких платформ, как Udemy, Coursera, edX, ZTM Academy и Pluralsight , чтобы помочь вам изучить Python на лучших ресурсах.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2020/05/top-5-courses-to-learn-python-in-depth.html
Поднимаем кластер PostgreSQL в Docker и Testcontainers
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Читать: https://habr.com/ru/articles/754168/?utm_campaign=754168
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Читать: https://habr.com/ru/articles/754168/?utm_campaign=754168
👍1
Какие темы в IT вас интересуют больше всего?
Anonymous Poll
5%
Ещё только начинаю, не выбрал конкретное направление
11%
Веб-разработка
8%
Мобильная разработка
4%
Тестирование
4%
Разработка игр
3%
Управление командами / проектами
64%
Бэкенд
1%
Разработка настольного ПО
1%
Разработка встраиваемых систем
1%
Другое / не IT (пожалуйста, напишите в комментариях ваш вариант)
👍1
Топ-5 курсов для изучения Quarkus for Java Microservices онлайн в 2023 году - Лучшее из многого
Здравствуйте, ребята, если вы ищете альтернативу Spring Boot для разработки Java-микросервисов
и если вам интересно узнать больше о фреймворках
таких как DropWizard, MicroNaut и Quarkus для создания микросервисов на Java, то вы пришли по адресу
вы попали по адресу. В прошлом я уже рассказывал о лучшими бесплатными курсами по созданию микросервисовпо использованию Spring Boot и RxJava, а также рассказывал о важнейших принципах и паттернах создания микросервисов
в этой статье я расскажу о лучших онлайн-курсах по изучению фреймворка Quarkus
курсами по изучению фреймворка Quarkus в 2023 году.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/02/top-5-courses-to-learn-quarkus.html
Здравствуйте, ребята, если вы ищете альтернативу Spring Boot для разработки Java-микросервисов
и если вам интересно узнать больше о фреймворках
таких как DropWizard, MicroNaut и Quarkus для создания микросервисов на Java, то вы пришли по адресу
вы попали по адресу. В прошлом я уже рассказывал о лучшими бесплатными курсами по созданию микросервисовпо использованию Spring Boot и RxJava, а также рассказывал о важнейших принципах и паттернах создания микросервисов
в этой статье я расскажу о лучших онлайн-курсах по изучению фреймворка Quarkus
курсами по изучению фреймворка Quarkus в 2023 году.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/02/top-5-courses-to-learn-quarkus.html
Как решить проблему "Error starting Application Context" в Spring Framework?
Здравствуйте, Spring Boot - это популярный фреймворк для создания Java-приложений, обеспечивающий оптимизацию процесса разработки. Однако, как и любое другое программное обеспечение, приложения Spring Boot могут столкнуться с ошибками при запуске. Одной из распространенных ошибок, с которой могут столкнуться разработчики, является ошибка "Error starting ApplicationContext" . Эта ошибка обычно указывает на проблемы с конфигурацией или зависимостями приложения, но очень сложно найти, что именно не так и как это исправить. В прошлом я уже делился советами о том , как исправить ошибку создания бобов, а в этой статье мы рассмотрим различные решения для исправления этой ошибки и обеспечения успешного запуска вашего приложения Spring Boot.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/08/how-to-solve-error-starting-application.html
Здравствуйте, Spring Boot - это популярный фреймворк для создания Java-приложений, обеспечивающий оптимизацию процесса разработки. Однако, как и любое другое программное обеспечение, приложения Spring Boot могут столкнуться с ошибками при запуске. Одной из распространенных ошибок, с которой могут столкнуться разработчики, является ошибка "Error starting ApplicationContext" . Эта ошибка обычно указывает на проблемы с конфигурацией или зависимостями приложения, но очень сложно найти, что именно не так и как это исправить. В прошлом я уже делился советами о том , как исправить ошибку создания бобов, а в этой статье мы рассмотрим различные решения для исправления этой ошибки и обеспечения успешного запуска вашего приложения Spring Boot.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/08/how-to-solve-error-starting-application.html
Как настроить несколько источников данных в Spring Boot? Пример учебника
Spring Boot - это популярный фреймворк для создания Java-приложений, упрощающий процесс разработки. В некоторых сценариях может потребоваться работа с несколькими базами данных или источниками данных в приложении Spring Boot. Ранее мы рассмотрели , как изменить порт приложения Spring Boot, а в этой статье мы расскажем вам о том, как настроить и использовать два источника данных в Spring Boot. Мы рассмотрим различные подходы и приведем практические примеры, которые помогут вам эффективно управлять несколькими источниками данных в вашем приложении.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/07/how-to-configure-two-data-sources-in.html
Spring Boot - это популярный фреймворк для создания Java-приложений, упрощающий процесс разработки. В некоторых сценариях может потребоваться работа с несколькими базами данных или источниками данных в приложении Spring Boot. Ранее мы рассмотрели , как изменить порт приложения Spring Boot, а в этой статье мы расскажем вам о том, как настроить и использовать два источника данных в Spring Boot. Мы рассмотрим различные подходы и приведем практические примеры, которые помогут вам эффективно управлять несколькими источниками данных в вашем приложении.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/07/how-to-configure-two-data-sources-in.html
❤2👍2
Топ-6 лучших онлайн-курсов по безопасности Spring Security для Java-разработчиков в 2023 году
Безопасность - один из важнейших аспектов современного веб-приложения, будь то веб-приложение на Java, .NET или написанное с использованием любой другой веб-технологии. В мире Java,Spring Security правит пространством безопасности. Это один из редких фреймворков, который предоставляет множество функций безопасности, таких как аутентификация, авторизация, управление сессиями, remember me и ряд других полезных функций "из коробки". Поскольку конкурентов у Spring security не было, а со своей задачей он справляется очень хорошо, то вскоре он стал стандартом де-факто для реализации безопасности как в Java-веб-приложениях, так и в REST API и основных Java-приложениях. Рост популярности фреймворка Spring, безусловно, помогает ему закрепить свое место.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2017/12/top-5-spring-security-online-training-courses.html
Безопасность - один из важнейших аспектов современного веб-приложения, будь то веб-приложение на Java, .NET или написанное с использованием любой другой веб-технологии. В мире Java,Spring Security правит пространством безопасности. Это один из редких фреймворков, который предоставляет множество функций безопасности, таких как аутентификация, авторизация, управление сессиями, remember me и ряд других полезных функций "из коробки". Поскольку конкурентов у Spring security не было, а со своей задачей он справляется очень хорошо, то вскоре он стал стандартом де-факто для реализации безопасности как в Java-веб-приложениях, так и в REST API и основных Java-приложениях. Рост популярности фреймворка Spring, безусловно, помогает ему закрепить свое место.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2017/12/top-5-spring-security-online-training-courses.html
👍1
Article: Evolving the Federated GraphQL Platform at Netflix
This article describes the journey of the migration towards a Federated GraphQL architecture. Specifically, it shows the GraphQL platform Netflix has built consisting of the Domain Graph Services framework for implementing GraphQL services in Java using Spring Boot and graphql-java, and tools for schema development. It also describes how the ecosystem has evolved at various stages of adoption.
By Kavitha Srinivasan
Read: https://www.infoq.com/articles/federated-GraphQL-platform-Netflix/
This article describes the journey of the migration towards a Federated GraphQL architecture. Specifically, it shows the GraphQL platform Netflix has built consisting of the Domain Graph Services framework for implementing GraphQL services in Java using Spring Boot and graphql-java, and tools for schema development. It also describes how the ecosystem has evolved at various stages of adoption.
By Kavitha Srinivasan
Read: https://www.infoq.com/articles/federated-GraphQL-platform-Netflix/
Java News Roundup: Payara Cloud, MicroProfile Telemetry, Foojay.io Calendar, JVM Language Summit
This week's Java roundup for August 7th, 2023 features news from JDK 22, JDK 21, GraalVM Native Build Tools 0.9.24, Spring Cloud 2023.0.0-M1, Spring Modulith 1.0-RC1, Payara Cloud, Quarkus 3.2.4, MicroProfile Telemetry 1.1, OpenXava 7.1.4, Foojay.io calendar and JVM Language Summit 2023.
By Michael Redlich
Read: https://www.infoq.com/news/2023/08/java-news-roundup-aug07-2023/
This week's Java roundup for August 7th, 2023 features news from JDK 22, JDK 21, GraalVM Native Build Tools 0.9.24, Spring Cloud 2023.0.0-M1, Spring Modulith 1.0-RC1, Payara Cloud, Quarkus 3.2.4, MicroProfile Telemetry 1.1, OpenXava 7.1.4, Foojay.io calendar and JVM Language Summit 2023.
By Michael Redlich
Read: https://www.infoq.com/news/2023/08/java-news-roundup-aug07-2023/
❤2👍1
Учить Python или Java? Вот в чём вопрос
Постарались собрать все аргументы, что выбрать новичкам — Python или Java — но вы тоже добавляйте в комментариях.
Читать: «Учить Python или Java? Вот в чём вопрос»
Постарались собрать все аргументы, что выбрать новичкам — Python или Java — но вы тоже добавляйте в комментариях.
Читать: «Учить Python или Java? Вот в чём вопрос»
Ракету пустил и забыл. Или как заставить DI работать
Ваш первый день на работе. Вчера вы рассказывали про чистую архитектуру, SOLID принципы, и про то, как создавать аккуратную и масштабируемую архитектуру.
Сегодня нужно написать простенький экран, который будет отображать список. Вы с огромным энтузиазмом начинаете реализовывать прекрасный список - каталог товаров магазина. Один запрос, один список. Все сделали красиво, фрагмент создался, подтянул из DI ViewModel, которая в свою очередь передала остальным слоям, чтоб загрузить данные по АПИ и закешировать их. Все эти компоненты правильно освобождаются, так как все это сделано как надо отдельным Субкомпонентом с отдельным скоупом.
Следующий день, оказалось, что к списку нужно добавить расценки, однако их можно загружать только отдельным запросом. Этот запрос оказался тяжелым на сервере, так что каждый ответ может приходить дольше чем обычно, и сам запрос ко всему списку разбит на несколько подзапросов. При отправке запроса клиент должен выслать список наиболее просматриваемых товаров пользователем. Бэк при этом очень попросил лишний раз запросы не делать, так как сервер и так не справляется.
В одночасье, мы понимаем, что наша шаблонная архитектура превращается из легкой и понятной в сложную и нечитабельную. А все потому, что нам нужно прежде всего обеспечить жизненный цикл компонентов достаточно большим, чтобы эти компоненты успели: собрать информацию для запроса, выполнить долгие запросы, а может быть и несколько за раз, при страничной загрузке, сохранить ответы сервера и закешировать их, также сформировать один общий список товаров с 2 разных запросов и, наконец, выполнить фильтрацию и сортировку конечного списка.
Читать: https://habr.com/ru/articles/754580/?utm_campaign=754580
Ваш первый день на работе. Вчера вы рассказывали про чистую архитектуру, SOLID принципы, и про то, как создавать аккуратную и масштабируемую архитектуру.
Сегодня нужно написать простенький экран, который будет отображать список. Вы с огромным энтузиазмом начинаете реализовывать прекрасный список - каталог товаров магазина. Один запрос, один список. Все сделали красиво, фрагмент создался, подтянул из DI ViewModel, которая в свою очередь передала остальным слоям, чтоб загрузить данные по АПИ и закешировать их. Все эти компоненты правильно освобождаются, так как все это сделано как надо отдельным Субкомпонентом с отдельным скоупом.
Следующий день, оказалось, что к списку нужно добавить расценки, однако их можно загружать только отдельным запросом. Этот запрос оказался тяжелым на сервере, так что каждый ответ может приходить дольше чем обычно, и сам запрос ко всему списку разбит на несколько подзапросов. При отправке запроса клиент должен выслать список наиболее просматриваемых товаров пользователем. Бэк при этом очень попросил лишний раз запросы не делать, так как сервер и так не справляется.
В одночасье, мы понимаем, что наша шаблонная архитектура превращается из легкой и понятной в сложную и нечитабельную. А все потому, что нам нужно прежде всего обеспечить жизненный цикл компонентов достаточно большим, чтобы эти компоненты успели: собрать информацию для запроса, выполнить долгие запросы, а может быть и несколько за раз, при страничной загрузке, сохранить ответы сервера и закешировать их, также сформировать один общий список товаров с 2 разных запросов и, наконец, выполнить фильтрацию и сортировку конечного списка.
Читать: https://habr.com/ru/articles/754580/?utm_campaign=754580
👍2
Как принимать и выдавать JSON в качестве ответа в Spring Boot? Пример учебника
Приветствую всех, добро пожаловать в этот блог. В этом кратком руководстве мы подробно рассмотрим, какпотреблять и создавать JSON-ответы с помощью широко известного Java-фреймворка Spring Boot. Как мы все знаем, Spring Boot - это фреймворк, предназначенный для создания безопасных веб-приложений, микросервисов, REST API и готовых к производству приложений Spring. Современные приложения работают с большим объемом данных, которые они передают в формате JSON. JSON - это стандартное текстовое представление структурированных данных. Это один из популярных форматов для передачи данных через Интернет. Благодаря удобному синтаксису и небольшому весу он помогает ускорить процесс.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/04/how-to-accept-and-produce-json-as.html
Приветствую всех, добро пожаловать в этот блог. В этом кратком руководстве мы подробно рассмотрим, какпотреблять и создавать JSON-ответы с помощью широко известного Java-фреймворка Spring Boot. Как мы все знаем, Spring Boot - это фреймворк, предназначенный для создания безопасных веб-приложений, микросервисов, REST API и готовых к производству приложений Spring. Современные приложения работают с большим объемом данных, которые они передают в формате JSON. JSON - это стандартное текстовое представление структурированных данных. Это один из популярных форматов для передачи данных через Интернет. Благодаря удобному синтаксису и небольшому весу он помогает ускорить процесс.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/04/how-to-accept-and-produce-json-as.html
👍4