Java for Beginner
688 subscribers
586 photos
161 videos
12 files
900 links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
☄️ Оглавление для обучающих постов.
(периодически обновляемое)

Если хотите найти информацию по Java, ранее опубликованную на канале - для Вас подготовлено оглавление!

✔️ Пользуйтесь на здоровье!

🔜 Часть 1.
🔜 Часть 2.
🔜 Часть 3. SPRING
🔜 Часть 4. SPRING продолжение
🔜 Функциональное программирование
🔜 Reflection API
🔜 Модульность в Java
🔜 Multithreads in Java
🔜 Описание классов в Java
🔜 Comparable и Comparator
🔜 Collectors в Java
🔜 Основы криптографии в Java
🔜 Объектно-реляционное отображение (Аннотации JPA и Hibernate)

🔜 Установка IntelliJ IDEA Ulimate

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

Прошу понять и потерпеть неудобства
🤝

Читайте, используйте, будут вопросы - пишите! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1😱11
📌 Факт дня:

А вы знали, что термин "лог" был придуман в 17 веке?


Несмотря на то, что в английском омонимом этого слова является слово «бревно», привычный айтишникам «лог» ничем общего с брёвнами не имеет. Этот термин существует с 17 века, тогда словом log обозначали судовой журнал.


#facts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
📌 Цитата дня: Эд Кэтмелл

"Неудача — это часть процесса творчества."


Эд Кэтмелл, президент Pixar, сказал это в 2009 году в книге "Creativity, Inc.", вдохновляя на эксперименты в IT.

Почитать короткую биографию
И немного из хабра

#Citation #Biography
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Jackson

В мире Java-программирования одна из самых частых задач — это работа с JSON. Будь то обмен данными между сервером и клиентом, интеграция с внешними API или хранение конфигураций — JSON стал стандартом де-факто. Именно для этих целей и был создан Jackson.

Что такое Jackson

Jackson — это одна из самых популярных Java-библиотек для работы с JSON. Она позволяет сериализовать объекты Java в JSON и обратно — десериализовать JSON в Java-объекты. Причем делает это быстро, эффективно и с минимальными накладными расходами.

Быстрая история

2007 год — Джейсон Т. Смит (Jason T. Smith) начал разработку Jackson.
2009 год — Первый стабильный релиз (Jackson 1.x).
2012 год — Выпуск Jackson 2.0 с полностью переработанным API.
Сейчас — Jackson активно поддерживается, последняя версия (на 2024 год) — Jackson 2.16+.


Где используется Jackson

Сегодня Jackson используется практически везде, где в Java-приложениях требуется работа с JSON:
В REST API на базе Spring Boot и других фреймворков
В микросервисной архитектуре для обмена данными между сервисами
При интеграции с внешними веб-сервисами
Для сохранения и чтения конфигураций в формате JSON
В тестировании при генерации или проверке JSON-структур
Многие крупные компании и проекты строят на Jackson свою работу с данными. Более того, Spring Framework по умолчанию использует Jackson для сериализации и десериализации JSON, что дополнительно укрепило его позиции.


Почему Jackson так популярен

Есть несколько причин, почему Jackson стал стандартом:

Производительность
Jackson славится своей высокой скоростью работы, что критично при обработке больших объемов данных.

Простота использования
Для базовых операций достаточно создать один экземпляр ObjectMapper и вызвать пару методов. В большинстве случаев не нужно писать дополнительный код.

Гибкость
Jackson поддерживает тонкую настройку через аннотации и внешнюю конфигурацию. Можно легко адаптировать сериализацию под любые требования.

Расширяемость
Jackson предлагает богатую экосистему модулей: поддержка новых типов данных (например, Java 8 Date/Time API), работа с CBOR, XML, YAML и другими форматами.

Интеграция с фреймворками
Такие популярные решения как Spring Boot, Dropwizard и многие другие "из коробки" работают с Jackson.

#Java #Training #Medium #Jackson
👍2🔥21
Что выведет код?

import java.util.*;

public class Task020525 {
public static void main(String[] args) {
TreeSet<Integer> tree = new TreeSet<>();
tree.add(5);
tree.add(3);
tree.add(8);
tree.add(3);

System.out.println(tree.floor(4) + " " + tree.ceiling(4));
}
}


#Tasks
👍1
Варианты ответа:
Anonymous Quiz
15%
5 3
15%
3 3
56%
3 5
15%
null null
👍1
И заставит думать о себе плохое 😂

https://t.me/Java_for_beginner_dev

#Mems
2👏1
Вопросы с собеседования 👩‍💻

Какой метод возвращает текущую версию Java?
Anonymous Quiz
38%
System.javaVersion()
19%
Runtime.version()
14%
Java.version()
21%
System.getProperty("java.version")
7%
"Идея дай мне Java"
👍1
Jackson. Быстрая сериализация и десериализация объектов

Работа с JSON в Jackson строится вокруг главного класса — ObjectMapper. Это основной инструмент для конвертации Java-объектов в JSON и обратно.

ObjectMapper: главный рабочий инструмент

ObjectMapper — это универсальный класс, предоставляющий удобные методы для:
Сериализации (преобразования объекта в JSON)
Десериализации (преобразования JSON обратно в объект)


Создание экземпляра максимально простое:
ObjectMapper objectMapper = new ObjectMapper();


Сериализация объекта в JSON

Сериализация — это процесс превращения Java-объекта в строку JSON.

Рассмотрим пример:
import com.fasterxml.jackson.databind.ObjectMapper;

public class Main {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();

User user = new User("Alice", 25);

String jsonString = objectMapper.writeValueAsString(user);
System.out.println(jsonString);
}
}

class User {
private String name;
private int age;

public User() {
}

public User(String name, int age) {
this.name = name;
this.age = age;
}

// Геттеры и сеттеры обязательны для Jackson
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}


Результат работы программы:
{"name":"Alice","age":25}

writeValueAsString превращает объект в строку JSON. Можно также сохранить результат сразу в файл через writeValue(new File("user.json"), user).


Десериализация JSON в объект

Десериализация — это обратный процесс: превращение JSON-строки в объект Java.

Пример:
String jsonInput = "{\"name\":\"Bob\",\"age\":30}";

User user = objectMapper.readValue(jsonInput, User.class);

System.out.println(user.getName()); // Выведет: Bob
System.out.println(user.getAge()); // Выведет: 30

readValue принимает JSON и класс, в который нужно преобразовать данные. Важно, чтобы у целевого класса был публичный конструктор без параметров и стандартные геттеры/сеттеры.


На что обратить внимание

🔹 Обязательны геттеры/сеттеры или public-поля (иначе Jackson не увидит поля).
🔹 Пустой конструктор нужен для десериализации.
🔹 Имена полей JSON и Java должны совпадать (или использовать аннотации, об этом в след. посте).
🔹 Обработка исключений — методы writeValueAsString() и readValue() могут выбросить JsonProcessingException.


#Java #Training #Medium #Jackson
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Кто там сказал что в 30 поздно зайти в "IT"?

https://t.me/Java_for_beginner_dev

#Mems
👍2🔥1
Всем привет! 👋

Пользуясь длинными выходными размышляю о дальнейшей судьбе нашего канала. 🧑‍💻

Пытаюсь понять зачем он вообще нужен Вам и мне, какое будущее его ждет?


Ведь изначально, канал был задуман как обучающее подспорье для новичков в Java (и скорее для себя самого), где вообще не зная ничего, можно было что-то подчерпнуть о программировании на Java.
Но сейчас я ушел за middle-уровень, публикуя посты о сложных технологиях, библиотеках и идеях, опираясь на Ваши вопросы и предлжения.


Правильно ли это?

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

Возможно, попробовать как-то это совместить? 🤔

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

Правильно ли это? Я не знаю... 🤔

Может стоит добавлять больше смайлов на каждую строчку ‼️
Или какой-то бредовой отсебятины типа: "Ой, я этим пользовался, мне зашло и даже работает"?
🤦‍♂️

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

Все эти вопросы я скорее адресую к тем подписчикам, кто недавно присоединился к каналу и возможно хочет уйти.
Просто интересно, что нужно людям, чего они ищут на канале, почему заходят и потом уходят?


Но и тех кто со мной с самого начала, я попрошу высказаться... 🤝

А между тем 26.05 каналу год 🎂

Может есть идеи как это отпраздновать?

Ну и подытоживая, скажу, что сегодня будет день посвященный вопросам и ответам.

Хотелось бы узнать мнение всех подписчиков 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Моя уверенность что проект тащу я, выглядит так 😃

https://t.me/Java_for_beginner_dev

#Mems
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
This media is not supported in your browser
VIEW IN TELEGRAM
Сеньор-инфоцыган, который не согласился на офферы в Google, Amazon и Uber, чтобы обучить ТЕБЯ

https://t.me/Java_for_beginner_dev

#Mems
👍2😁21
👋

Ну а теперь, давайте подведем итоги под этим постом.

Несмотря на ранее написанные комментарии выше, я хотел бы, чтобы ВЫ поделились именно тут вашим итоговым мнением о канале.

🔵Что ждет канал?
🔵Что улучшить или добавить, а что убрать?
🔵Что сделали бы Вы если завтра стали админом канала?
🔵Почему Вы пришли на канал и до сих пор не ушли или почему собираетесь?

Делитесь мнениями, я все прочитаю и учту!

Спасибо ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7