Java for Beginner
713 subscribers
644 photos
173 videos
12 files
1.01K links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

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

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
Анонс нового сериала на Netflix ✌️😂

https://t.me/Java_for_beginner_dev

#Mems
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Jackson

Tree Model и Streaming API в Jackson: когда нужна гибкость и производительность

Jackson предлагает не только стандартную POJO-сериализацию, но и более гибкие модели работы с JSON. Среди них — Tree Model и Streaming API.
Tree Model даёт полную свободу при работе с JSON-структурой, а Streaming API — максимальную производительность при чтении/записи больших файлов.


Tree Model (JsonNode): работа с JSON как с деревом

Иногда структура JSON заранее неизвестна или слишком сложна, чтобы описывать её через Java-классы. В таких случаях удобно использовать дерево узлов — JsonNode.

Пример: чтение JSON как дерева
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

String json = "{ \"user\": { \"name\": \"Alice\", \"age\": 30 } }";

ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(json);

String name = rootNode.path("user").path("name").asText();
int age = rootNode.path("user").path("age").asInt();

System.out.println("Имя: " + name + ", Возраст: " + age);


Tree Model позволяет легко:
— обходить структуру вручную
— проверять наличие полей
— работать с вложенностью и массивами
— модифицировать JSON "на лету"


Когда использовать Tree Model

Когда структура JSON может меняться
Когда нужно читать только часть данных
При разработке универсальных парсеров
Когда сложно заранее описать модель через классы


Streaming API (JsonParser/JsonGenerator)

Для огромных JSON-файлов (например, логов, экспорта из БД) загрузка всего файла в память может быть невозможной. Здесь пригодится стриминговый API — он читает JSON по частям, как поток.

Пример: чтение JSON через JsonParser
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;

JsonFactory factory = new JsonFactory();
JsonParser parser = factory.createParser(new File("data.json"));

while (!parser.isClosed()) {
JsonToken token = parser.nextToken();

if (JsonToken.FIELD_NAME.equals(token) && "name".equals(parser.getCurrentName())) {
parser.nextToken();
System.out.println("Имя: " + parser.getValueAsString());
}
}
parser.close();


Когда использовать Streaming API


Работа с большими JSON-файлами, которые нельзя загрузить полностью
Требуется максимальная производительность
Необходимо читать JSON "по частям"
Парсинг в системах с ограниченной памятью (например, embedded)


Сравнение подходов

POJO-модель — просто, типобезопасно, но требует классов
Tree Model — гибко, удобно для анализа/модификации
Streaming API — быстро и экономно, но требует ручного контроля


#Java #Training #Medium #Jackson #Tree_Model #Streaming_API
👍3
Всем привет 😊

Сегодня не будет обучающих постов или постов с мемами.

В этот день мы, как и все адекватные жители планеты, чтим память миллионов человек отдавших свою жизнь в борьбе с фашистской Германией.

Чтим тех, кто сегодня как и тогда, воюет за свободу и независимость нашей Родины.

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

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

С Днем Победы! ⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
🎖 Анатолий Китов — фронтовик, который мечтал соединить страну через компьютеры

В День Победы стоит вспомнить не только тех, кто сражался с оружием в руках, но и тех, кто, пройдя войну, посвятил жизнь будущему — науке и технологиям. Один из таких людей — Анатолий Иванович Китов (1920–2005).

Китов — участник Великой Отечественной, артиллерист, позже — доктор технических наук, генерал-майор, основоположник советской кибернетики и один из первых, кто мечтал о "государственной вычислительной сети" задолго до появления интернета.



🪖 Военная биография

В 1940 году окончил артиллерийское училище.
Прошёл всю войну — от Брянского фронта до Восточной Пруссии.
Был тяжело ранен, но вернулся в строй.
Уже тогда проявлял интерес к вычислениям: составлял таблицы стрельбы, занимался баллистикой.


«Война научила меня одной важной вещи: точность и скорость расчетов — вопрос жизни и смерти».



💻 После войны: путь к вычислительной технике

После демобилизации поступает в Военную артиллерийскую академию им. Дзержинского.
Защищает диссертацию по автоматизации военных расчетов.
В 1950-е — начинает работу с первыми ЭВМ (МЭСМ, БЭСМ).
Предлагает использовать компьютеры не только в военной, но и в народнохозяйственной сфере.


«Если бы все министерства были объединены в одну вычислительную сеть — экономика стала бы прозрачной и эффективной».
(из письма Хрущёву, 1959)


🌐 Первая идея "советского интернета"

В 1959 году Китов отправляет в ЦК КПСС письмо под названием «Красная книга» — манифест о создании национальной автоматизированной системы управления экономикой (АСУ).

Он предлагает:

Централизованную сеть ЭВМ по всей стране;
Автоматизацию планирования и снабжения;
Снижение бюрократии через программирование.


Это предложение опередило ARPANET и идеи интернета на 10 лет, но в СССР кибернетика тогда ещё считалась "буржуазной лженаукой".

«Меня не поняли. Или не захотели понять. Мечта осталась в ящике».


⚙️ Вклад в науку

Один из авторов первого учебника по программированию в СССР.
Участвовал в создании первых языков программирования в СССР (в т.ч. АЛГЭМ).
Продвигал идеи автоматизации в оборонной промышленности.


📘 Наследие

Китов не только изобрёл термины, схемы и алгоритмы. Он пытался изменить мышление эпохи — чтобы компьютеры служили людям, а не только военной машине.
Сегодня, когда мы сидим в IDE и запускаем CI/CD пайплайны, можно вспомнить, что в 1950-е в СССР жил человек, который хотел сделать единую цифровую систему управления всей страной.


https://kitov.rea.ru/polnaa-biografia
🔥9👍1🤮1
🎖 Александр Ляпунов — фронтовик, который научил СССР программировать

В День Победы важно помнить не только тех, кто сражался с оружием в руках, но и тех, кто после войны строил новое мирное будущее — с помощью разума, логики и вычислительной техники. Один из таких людей — Александр Андреевич Ляпунов (1911–2003).

Ляпунов - это:
Математик, логик, кибернетик.
Один из основоположников теории алгоритмов и программирования в СССР.
Ветеран Великой Отечественной войны.
Один из авторов первого отечественного языка программирования («Альфа»).
Участвовал в создании первой советской ЭВМ — БЭСМ.


🪖 Военные годы


В начале войны — сотрудник Академии наук СССР.
Служил в рядах Красной Армии, занимался военными расчётами и криптоанализом.
После войны продолжил научную работу в сфере автоматизации и математики.


🧮 После войны — математика, логика, ЭВМ

Работал в Институте точной механики и вычислительной техники АН СССР.
Один из первых, кто преподавал программирование в СССР.
В 1954 году стал соавтором учебника «Основы программирования» — первого в стране.
Создавал языки программирования и системы автоматического перевода с математического языка на машинный код.

«Язык программирования — это мост между идеей и железом».


💻 Язык «Альфа» — шаг в сторону системного программирования

Совместно с Андреем Ершовым и Сергеем Масловым, Ляпунов разработал в конце 1950-х язык "Альфа" — предшественник более развитых систем программирования.
Основан на математической логике и языках типа АЛГОЛ.
Предназначался для научных расчётов.
Был использован на первых отечественных ЭВМ (в т.ч. БЭСМ-2).


🔬 Исследователь искусственного интеллекта

С 1960-х годов Ляпунов активно интересовался темами:
Машинного перевода;
Искусственного интеллекта;
Теории автоматов.
Он был одним из тех, кто помогал вносить термин «кибернетика» в научный обиход СССР, когда её ещё воспринимали с подозрением.


📘 Учитель поколений

Занимался научной педагогикой;
Подготовил целую плеяду учёных-программистов;
Один из основателей советской школы автоматического программирования.


https://www.computer-museum.ru/galglory/lypunov2.htm
википедия
👍81🤮1
🎖 Сергей Лебедев — человек, который построил первый советский компьютер

9 мая мы говорим не только о прошлом, но и о людях, которые после войны проложили путь к будущему. Один из них — Сергей Алексеевич Лебедев (1902–1974) — инженер, создатель первой советской ЭВМ, основатель советской школы вычислительной техники.

Лебедев - это:
Электротехник, математик, академик.
Автор первой в СССР цифровой электронной вычислительной машины — МЭСМ (1951).
Руководитель проекта БЭСМ — самой мощной машины в Европе на тот момент.

Практически в одиночку заложил основы того, что позже стало IT-отраслью в СССР.

🪖 Война: расчёты для Победы

Во время Великой Отечественной Лебедев:
Руководил отделом в Энергетическом институте АН СССР;
Занимался молниезащитой авиации и боевой техники;
Курировал расчёты для систем ПВО и баллистики;
Его методы позволили существенно ускорить проектирование систем вооружения.


💻 МЭСМ — первый советский «компьютер»

В 1948 году Лебедев переезжает в Киев, где в здании бывшего монастыря начинает работу над машиной МЭСМ — Малой электронной счётной машиной.
Команда: около 20 инженеров и студентов;
Первый запуск — декабрь 1951 года;
Производительность: ~50 операций в секунду (на то время — прорыв);
Машина полностью отечественная, собрана без западной помощи.


"Примечательно то, что проектирование, монтаж и отладка машины были выполнены в течении трех лет. При этом в разработке участвовали лишь 11 инженеров и 15 технических сотрудников. Тогда как на разработку первого в мире электронного компьютера ЭНИАК (США) ушло пять лет и было задействовано 13 разработчиков и более 200 техников."


⚙️ БЭСМ — Большая ЭВМ

Следующим шагом стала БЭСМ — более мощная машина, которая:
Вошла в тройку самых мощных компьютеров мира в 1950-х;
Использовалась для расчётов в атомной промышленности, космосе, аэродинамике;
Применялась при проектировании спутников и баллистических ракет.


🌐 Без него не было бы советского программирования

Лебедев не только создавал «железо», он:
Разрабатывал архитектуру команд;
Поддерживал развитие языков программирования (в том числе автокод и "Адресный язык");
Сформировал первое поколение инженеров-программистов в СССР;
Поддерживал развитие автоматизированных систем управления (АСУ).


🧬 Наследие

Основал Институт точной механики и вычислительной техники (ИТМиВТ);
Его ученики — ключевые фигуры в истории вычислительной техники СССР;
Его имя носит одна из крупнейших лабораторий в России.



https://habr.com/ru/companies/ua-hosting/articles/388169/
Вики
6👍1🤮1
👍5
Channel photo updated
Всем субботний, солнечный привет! ✌️

Целую неделю я думал над итогами опроса о канале.

На основные вопросы - почему новые подписчики приходят и потом уходят, почему имеющиеся поставили канал на заглушку и не читают его - напрашиваются вполне очевидные выводы:

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

Основываясь на этих проблемах, с которыми Вы возможно согласны, я решил:

- Пересмотреть объем и частоту обучающих постов. Теперь когда в нашем оглавлении, есть практически весь Java Core, можно сконцентрироваться на изучении более точечных и новых технологий новых версий Java, библиотек и фреймворков.
- Ежедневно возвращаться и более обстоятельно рассматривать темы для новичков, но в более популярном формате.
- Полностью переработать оглавление, чтобы человеку любого грейда было легко найти интересующую тему, которая рассматривалась в канале.
- Добавить немного авторского мнения и разбора некоторых моментов в разработке.
- Дать возможность новичкам выбирать темы для разбора - путем выбора и голосования.


Что скажете на такие предложения? 🤓
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🤔1
Нужны ли нам посты для полных новичков в Java, по типу: Как запустить IDEA, как создать первый класс и так далее?
Anonymous Poll
20%
Да, несомненно! 👍
15%
Да, наверно.. 🤷‍♀️
43%
Не знаю. Мне точно не нужны ☺️
22%
Нет не нужны, в интернете много информации, пусть учатся гуглить 🖕
👍1