JavaStart
909 subscribers
906 photos
28 videos
616 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3💯21
Какой функциональный интерфейс из java.util.function предназначен для преобразования значения из типа T в тип R?
Anonymous Quiz
11%
Supplier<R>
6%
Predicate<T>
68%
Function<T,R>
6%
Consumer<T>
9%
Посмотреть ответ
👍32🎉2
Что напечатает код?

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Что напечатает код?
Anonymous Quiz
57%
1
31%
2
8%
Что-то другое
4%
Посмотреть ответ
3👍2🎉1
Архитектура приложений простыми словами. Часть 2. Монолитная архитектура.

Сегодня давайте углубимся в мир монолитных приложений и узнаем, почему это хороший вариант для старта в программировании. На собеседованиях иногда могут спросить о вашем понимании монолитной архитектуры в целом.

Что такое монолит?

Монолит – это архитектурный подход, при котором все компоненты приложения объединены в одну большую программу. Весь код, базы данных и функциональности находятся внутри этого "единого" приложения.

Преимущества монолитной архитектуры:

🚀 Простота начала
Разработка и развертывание монолитного приложения обычно проще, особенно для начинающих.

🔄 Меньше сложности
Все компоненты находятся в одном месте, что упрощает отладку и обслуживание.

📦 Простота масштабирования
При необходимости можно масштабировать весь монолит.

Когда выбрать монолит?

🔹 Если наш проект небольшой и нам важно быстро начать.
🔹 Если команда разработчиков ограничена и нам нужно облегчить управление проектом.

Секрет успешной монолитной архитектуры:

🧩 Хорошая структура кода
Желательно разделять код на логические модули, чтобы упростить понимание и поддержку.

🛠️ Обновления
Желательно регулярно обновлять библиотеки и компоненты для поддержания безопасности и актуальности.

Так что, несмотря на рост популярности микросервисов, монолиты остаются надежным и удобным вариантом для начинающих программистов и небольших проектов.

Проявите креативность, структурируйте код и продолжайте учиться – и ваши монолиты будут стремительно расти вместе с вами!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥2
🔍 Ответ на задачу про логические операторы

Разберем работу логических операторов в данном коде на Java. У нас есть три логические переменные: a, b, и c, со значениями true, false, и false соответственно. В условии if используется комбинация операторов  (логическое "ИЛИ") и && (логическое "И").

Стоит помнить, что оператор && имеет более высокий приоритет, чем оператор || . Поэтому выражение b && c будет вычислено первым. Но поскольку b равно false, а c также false, это выражение дает в результате false.

Далее, выражение a будет всегда истинным, так как a равно true. Следовательно, полное условие в if равно true, и будет выполнена первая ветка блока:

1

Когда дело касается вложенных логических операторов в условных выражениях, расстановка скобок может значительно упростить понимание кода и избежать путаницы. В данном случае, добавим скобки для ясности:
boolean a = true;
boolean b = false;
boolean c = false;

if (a || (b && c)) {
    System.out.println("1");
} else {
    System.out.println("2");
}

Скобки вокруг выражения (b && c) четко определяют, что это будет вычислено в первую очередь. Это не только делает код более понятным, но и исключает возможность неправильной интерпретации, особенно если у вас большой и сложный условный оператор.

Используйте скобки в логических выражениях, чтобы код был читаемым как для вас, так и для вашей команды! Рекомендуется всегда группировать логические операции скобками, если существует вероятность появления неоднозначности.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍651
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍3💯2
Как называется шаблон проектирования, у которого есть внешний объект-строитель, последовательно задающий параметры сложного объекта?
Anonymous Quiz
73%
Builder
22%
Factory Method
3%
Prototype
1%
Mediator
0%
Посмотреть ответ
3👍3🎉2
Архитектура приложений простыми словами. Часть 3. Отличие Микросервисов от Монолита.

Сегодня давайте сравним два популярных подхода к разработке приложений: микросервисы и монолит.

Монолит:

🔹 Один блок
Весь код, базы данных и компоненты находятся в одном приложении.

🔹 Простота начала
Создание и развертывание монолита обычно проще.

🔹 Единое развертывание
Приложение разворачивается целиком, что может быть проще для управления.

🔹 Обслуживание
Если один единый монолитный сервис сломался, то все приложение не будет работать до исправления проблемы.

Микросервисы:

🔹 Множество компонентов
Приложение разбито на небольшие независимые микросервисы.

🔹 Масштабируемость
Микросервисы могут быть масштабированы независимо.

🔹 Гибкость
Возможность использовать разные технологии для разных микросервисов.

🔹 Обслуживание
Если сломался один или даже несколько отдельных сервисов, то приложение может продолжать свою работу в целом.

Как выбрать подход?

🔹 Монолит, если вы только начинаете и хотите простоту разработки и развертывания.

🔹 Микросервисы, если проект сложный, требует гибкости и быстрого масштабирования.

Важно подбирать подход в зависимости от целей, размера проекта и команды разработчиков. Оба варианта имеют свои плюсы и минусы. Помните, в разработке нет одного "правильного" пути – нужно выбирать наиболее подходящий для конкретной ситуации!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Когда пришел MR от тимлида

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁64💯3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🤓4💯2
IS-A отношения в Java простыми словами. Часть 1.

IS-A отношения в Java – это способ показать, что конкретный объект является типом другого объекта.

Давайте посмотрим, как ключевое слово extends используется для достижения наследования в Java.

public class Animal {
}

public class Mammal extends Animal {
}

public class Reptile extends Animal {
}

public class Dog extends Mammal {
}

На основе приведенного на Картинке примера, в объектно-ориентированных терминах верно следующее:

Класс Животное – суперкласс.

Млекопитающее – подкласс Животного.

Рептилия и Млекопитающее – подклассы Животного.

Собака является подклассом Млекопитающего и Животного.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4💯4👍1
Как из List<List<Integer>> получить плоский List<Integer> с помощью Stream API?
Anonymous Quiz
49%
flatMap(List::stream)
21%
map(List::stream)
4%
reduce(Integer::sum)
12%
collect(Collectors.toMap(...))
13%
Посмотреть ответ
👍32🎉2👨‍💻1
Какой уровень изоляции транзакций предотвращает “phantom reads”?
Anonymous Quiz
18%
READ COMMITTED
24%
REPEATABLE READ
39%
SERIALIZABLE
10%
READ UNCOMMITTED
9%
Посмотреть ответ
3👍3🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😁3💯32
Что напечатает код?

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM