JavaStart
874 subscribers
924 photos
28 videos
631 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯31
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7💯5👍1
Логирование в Java. Часть 1.

Что такое логирование и логи?

Наверняка вы когда-либо уже слышали слово лог / логи касательно разработки. Давайте разберемся, что же такое логи?

Логирование Java — это процесс, при котором программа записывает сведения о своем исполнении в консоль, или некий файл, или базу данных. Логирование дает возможность отслеживать ход исполнения программы и конкретно кода.

Иногда с вашим программным продуктом происходит что-то непонятное, и он начинает себя вести не так, как задумано. Первое, что приходит на ум в этом случае, — в программе есть наличие ошибок. Самый простой способ это проверить — использовать логи программы, так как это возможность посмотреть, что происходит «внутри» самой программы в конкретном месте.

Логирование Java напоминает процесс работы «черного ящика» в самолете — в случае возникновения критических ситуаций оно способно «рассказать», что не так работает и на что обратить внимание.

В разработке лог — это специальный файл, который выполняет функцию «бортового журнала» программы. Именно в этот файл, а точнее в лог, программа производит записи о своей работе. Лог-файлы программа может создавать самостоятельно, чтобы вносить туда текстовые пометки.

Если мы с вами посмотрим на Картинку 1, то увидим так называемые логи:

Сначала записаны строки с текстом сообщения “Что-то не важное”
Затем строка с текстом “Состояние объекта”
Далее выводится сообщение “Какая-то информация”
“Предупреждение”
“Ошибка!”
И наш привычный System.out.println(“Hello world!”);
Далее снова строки логирования.

Логирование в Java приложении можно сделать в любом месте нашего приложения, перед любым методом или после него, передав в сообщение логирования свой текст или значение какой-либо переменной в конкретный момент времени.

В коде строка логирования с кастомным текстом сообщения может выглядеть, например, как на Картинке 2 - перед методом сохранения информации о юзере в базу мы пишем такую строчку с текстом логирования:

log.info("Saving data for user #{}", userId);
// Пусть userId у нас равен 123
someRepository.save(user);

И в лог файле непосредственно перед вызовом метода сохранения мы получим строку:

Saving data for user #123

Обратите внимание, что на Картинке 1 сообщения логирования различаются цветом. Это потому что существуют разные уровни логирования. О них в следующем посте!

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍32
Логирование в Java. Часть 2.

Уровни логирования.

Мы выяснили, что такое логи и что такое логирование Java. Нетрудно догадаться, что если в лог-файл записывать все действия программы, то там будет большое количество различных сведений.

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

Уровни логирования применяются в программах на различных языках программирования, в том числе и на Java. Различают несколько основных уровней (Картинка 1):

debug — выводится информация, которая пригодится для отладки программы;

info — обычные и стандартные сообщения, чаще всего информативные;

warning — нефатальное предупреждение;

error — записи ошибок;

fatal — фатальная ошибка;

off — сообщения не выводятся;

trace — информация для точной отладки;

all — выводится вся информация.

Чаще всего в коммерческой разработке используются уровни debug, info, warning, error и trace.

В конфигурационном файле нашего приложения в любой момент можно включить или выключить запись любого уровня логирования. Либо оставить несколько уровней, чтобы писались в лог, либо же оставить какой-то один уровень.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👨‍💻3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42💯2
Задача на логику:

Каждый третий рыбак — работает на заводе, а каждый четвертый работник на заводе — рыбак. Кого больше, рыбаков или работников на заводе?

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤓21
Ответ к задаче про рыбаков и работников на заводе:

🔍 Условия:

Каждый третий рыбак работает на заводе.
Каждый четвертый работник на заводе — рыбак.
📊 Если обозначить количество рыбаков как X, а работников на заводе как Y, то:

Рыбаки, работающие на заводе: X/3.
Работники завода, которые являются рыбаками: Y/4.
Так как это одно и то же количество, у нас получается уравнение: X/3 = Y/4

🙌 Тогда: 4X = 3Y

💡 Это значит, что: X/Y = 3/4

А это уже говорит о том, что работников на заводе в 1.33 раза больше, чем рыбаков!

🛥 Вывод: Работников на заводе больше, чем рыбаков!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍3🔥32
Логирование в Java. Часть 3.

Библиотеки логирования.

Библиотеки логирования Java — это набор инструментов, который применяют при логировании программ. Различают несколько популярных инструментов логирования:

– Apache log4j
Это первый набор инструментов для логирования Java, который появился еще в 1999-м году. Внутри себя имеет различные способы вывода логов, несколько форматов логирования и мн. др. Раньше данная библиотека активно применялась, но уже долгое время этот проект не развивается.

– JUL
Имеет множество уровней логирования, например, только для отладки у этого инструмента есть в арсенале 3 отладочных уровня вместо одного стандартного.

– SLF4J
Этот инструмент является оберткой над многими популярными логгерами, например: logback, log4j, jul и др.

– Logback
Был создан как альтернатива умирающему log4j, поэтому он вобрал в себя все лучшее из этого инструмента, при этом усовершенствовал некоторые показатели.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻3
Какова типичная длительность спринта в Scrum?
Anonymous Quiz
1%
От 12 до 18 месяцев
83%
От 1 до 4 недель
4%
1 день
3%
6 месяцев
10%
Посмотреть ответ
3👍3😁1🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯4👍1
Модификатор доступа static в Java. Часть 1.

Очень частый вопрос, который задают джунам на собеседованиях - Расскажите про модификатор static в Java.

Давайте рассмотрим ключевое слово static: его применение к переменным, методам, блокам инициализации, вложенным классам (nested classes).

В общих чертах и простыми словами:

В языке программирования Java ключевым словом static помечают члены класса (поля или методы), которые принадлежат классу, а не экземпляру этого класса.

Это означает, что какое бы количество объектов вы не создали, всегда будет создан только один член, доступный для использования всеми экземплярами класса.

Ключевое слово static применимо к переменным, методам, блокам инициализации, импорту и вложенным классам (nested classes).

Дальше подробнее о каждом случае.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍3💯1