ASTAKHOV_JAVA_LAB
212 subscribers
59 photos
6 videos
1 file
22 links
🚀 Школа чистого кода Сергея Астахова
✔️Освещаю свою историю успеха
✔️Делюсь лайфхаками
✔️Обучаю детей понимать и программировать
✔️Создаю комьюнити
Download Telegram
🔥Почему многопоточность в Java — это боль?

Многопоточность — это когда программа выполняет несколько задач “параллельно” (ну или почти параллельно). Вместо того чтобы делать всё по очереди, как в однопоточном коде, мы запускаем несколько "потоков выполнения" — как будто раздаём задачи разным работникам.

1. Непредсказуемость
Потоки выполняются в случайном порядке, как коты, которым дали вкусняшку. Результат? Гонки данных, NullPointerException в самый неожиданный момент и прочие "сюрпризы".

2. Deadlock — как два упрямца в дверях
Представьте: один поток схватил ресурс A и тянется к B, а другой уже держит B и хочет A. Они так и будут вечно стоять, упершись лбами, как два кота в дверном проеме. Никто не хочет уступать — классический пат!

3. Сложно отлаживать
Ошибки могут проявляться раз в 1000 запусков. Попробуй поймать баг, который возникает только у заказчика в полночь на пятницу 13-го.

4. JVM "оптимизирует" код
Перестановка инструкций, кэширование переменных — иногда кажется, что Java сама не знает, что делает.

Вывод
Многопоточность — это мощно, но опасно. Если не разобраться как следует, можно наломать дров.


https://vk.com/club_javalab

#Java #Многопоточность #Программирование #Юмор #Deadlock #ГонкаДанных #JVM #Кодинг #Разработка #IT #Программисты #Технологии #Код #Багфиксинг #Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥3
«Эти ребята держат целый музей уже 180 лет. Но знаете, кто держит современный мир?»

В Питере есть два вида людей:
1️⃣Те, кто фоткает Атлантов
2️⃣Те, кто их пародирует😎

Я сегодня — второй. Но если эти ребята держат Новый Эрмитаж, то я держу кое-что не менее важное — Java-код!

Как атланты поддерживают здание, так Java поддерживает:
✔️Android-приложения
✔️банковские системы
✔️даже алгоритмы, которые рекомендуют вам посты про Питер!

А ещё Java, как и эти гиганты:
🔹Надёжная (не «упадёт» под нагрузкой)
🔹 Выносливая (работает годами без сбоев)
🔹 Классика, которая никогда не устаревает

P.S. Атланты молчат, а Java — нет.

https://vk.com/club_javalab

#JavaАтлант #ЭрмитажКод #ПрограммированиеДляСильных
#обучаюJava #объясняюпросто
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍6🔥4🤣4
🔥ClassLoader'ы в Java — разбираем на пальцах

Представьте, что JVM — это библиотека, а ClassLoader'ы — это библиотекари разного уровня доступа.

1️⃣Три уровня библиотекарей:
- Главный хранитель (Bootstrap): Имеет доступ к самым важным книгам (Object, System, String)
- Заместитель (Extension): Работает с дополнительной литературой (jar-ки в jre/lib/ext)
- Дежурный (Application): Ищет книги, которые вы принесли с собой (ваши классы)

2️⃣Как происходит поиск:
Когда вы пишете new MyClass(), JVM:
1. Сначала спрашивает у дежурного
2. Если не находит — идёт к заместителю
3. В крайнем случае обращается к главному хранителю
4. Если книга нигде не найдена — получаете "библиотечную повестку" (ClassNotFoundException)

3️⃣Важные особенности:
Принцип делегирования: всегда спрашивают старших коллег сначала
Уникальность: одна книга = один библиотекарь (иначе конфликт)
Гибкость: можете нанять своего библиотекаря (кастомный ClassLoader)

Почему это важно?
- Безопасность: системные классы защищены
- Гибкость: можно грузить разные версии библиотек
- Контроль: управление процессом загрузки

Простой пример:

ClassLoader loader = MyClass.class.getClassLoader();
System.out.println(loader); // Узнаём, кто загрузил класс


#Java #JVM #ClassLoaders #ПрограммированиеДляДетей #обучаюJava #объясняюпросто #Программисты #Кодинг

P.S. ClassLoader'ы — как хорошие библиотекари: вы их не замечаете, пока всё работает. Но когда что-то ломается — понимаете, насколько они важны!
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥43👍3💯1
🚀Что такое GitHub и зачем он нужен?

Привет, юные программисты ! 🎮

Представьте, что GitHub — это как "Майнкрафт" для программистов, только вместо кубиков тут код, а вместо криперов — баги, которые взрывают твой проект, если не починить. 😅

GitHub — это сайт, где:
Хранят код (как сундук с сокровищами, но вместо алмазов — строчки кода).
Работают в команде (как строители в "Фортнайте", только без танцев).
Исправляют ошибки (как учитель исправляет твоё сочинение, но без красной ручки).

Пример из жизни:
Ты пишешь игру "Змейка" 🐍, но она почему-то летает. Твой друг заходит в GitHub, находит ошибку и говорит: "Бро, у тебя змея вместо ползания использует код из 'Flappy Bird'!" И всё чинит. 💻

Так что если хочешь стать крутым разработчиком — осваивай GitHub! А то твой код так и останется "секретным проектом" в блокноте. 😉

#GitHubДляЧайников #ПрограммированиеДляДетей #КодИлиПропустишьКрутое #ДетиКодируют #Java #объясняюпросто
12👍2🔥1👌1
🔥Java и подростки: почему это круче, чем кажется родителям?

Ваш ребёнок сутками сидит за компьютером и бормочет что-то про "классы" и "объекты"? Поздравляем - возможно, он осваивает Java! Вот почему это стоит поощрять:

1. Это не просто "игры в компьютере"
На Java создают:
• Мобильные приложения (включая Android)
• Серьёзные банковские системы
• Даже часть легендарного Minecraft!

2. Ошибки - часть процесса
Когда код не работает - это не провал, а нормальный этап обучения. Как падать, учась кататься на велосипеде.

3. Это прокачивает мозг
Java учит:
• Логическому мышлению
• Умению решать сложные задачи
• Терпению и внимательности

Как грамотно поддержать юного программиста:
✔️Вместо "Опять за компом!" спросите: "Что интересного сегодня написал?"
✔️Предложите практический проект - например, простой калькулятор или программу для учёта карманных денег
✔️Похвалите за упорство - даже если не понимаете код

P.S. Если услышите странные фразы вроде "public static void main" - не пугайтесь. Это не ругательство, а начало большого пути в мир технологий! 🙂

#JavaLab #РодителямНаЗаметку #ПрограммированиеДляПодростков #объясняюпросто #ПрограммированиеДляДетей #Код
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3🔥2💯2🏆1
«Java: язык, на котором начинали легенды»

Джеймс Гослинг хотел управлять тостерами, а создал Java. Вывод: если проект провалился — просто переименуй его.

📚Джошуа Блох написал книгу, после которой все поняли, что пишут код неправильно.

📱Патрик Нутон сделал Java мобильной (RIP Nokia, но Android всё равно на Java).

Notch написал Minecraft на Java "просто потому что". Результат — $2.5 млрд от Microsoft.

💰12-летние гении делали игры на Java и становились миллионерами.

Вывод: Java — это билет в IT-легенды. Главное — начать, а там либо слава, либо NullPointerException. 😉

#Java#Программирование #ITЛегенды #Кодинг #Разработка
#Minecraft #Notch #ДжеймсГослинг #ИсторияУспеха #NullPointerException
#AndroidDev#МобильнаяРазработка #КнигиПоПрограммированию #ДжошуаБлох
#ГенииIT#УчиJava #КарьераВIT #КофеИКод #ПрограммистШутки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2
🚀Spring Boot + дети = адская (но весёлая) комбинация!

Привет, коллеги-педагоги и просто любители Java!

Решил провести смелый педагогический эксперимент – начал изучать Spring Boot с детьми. Почему? Ну, во-первых, они ещё не знают, что это сложно. Во-вторых, если они смогут понять, почему @Autowired – это не про автомобили, а про магию DI, то, возможно, и взрослые студенты перестанут меня пугать взглядом, полным отчаяния.

Как это выглядит в реальности?

- Я: "Ребята, сегодня будем делать REST-контроллер!"
- Ученик: "Это типа пульт для API?"
- Я: "Ну... почти. Только вместо кнопок – аннотации, а вместо батареек – зависимости."
- Ученик: "А если нажать не ту аннотацию, он взорвётся?"
- Я: "Нет, но исключение вылетит такое, что мама не горюй."

Чему мы уже научились?

Бины – это не фасоль, а "NoSuchBeanDefinitionException" – не заклинание из Гарри Поттера.
"Autowired" – это когда Spring сам подкидывает тебе зависимости, а ты даже не просил (как мама с тёплыми носками).
REST – это не про отдых, а про то, как твой сервис общается с внешним миром (и иногда кричит

Бин когда его не понимают).

Выводы после первых занятий:

1. Дети не боятся сложных терминов – они просто придумывают им свои объяснения. ( "Спринг – это как конструктор, но если забыл @Service, всё разваливается").
2. Они искренне верят , что если долго смотреть на StackOverflow, то ответ сам появится. И знаете что? Они правы.
3. Главное – не давать им доступ к @Transactional, а то начнут применять это в жизни: "Мама, я убрал комнату, но если что-то пойдёт не так – откатываюсь на диван!"

В общем, Spring Boot с детьми – это весело, сложно и очень мотивирует (хотя бы потому, что они задают вопросы, на которые ты сам не всегда знаешь ответ).

P.S. Кто ещё учит детей/подростков enterprise-технологиям? Делитесь опытом в комментах! Может, соберём детский курс: "Spring Boot для тех, кто ещё верит в магию" ? 😂

#Java #SpringBoot #ПрограммированиеДляДетей #ПедагогНеРобот #Java #УчиJava #Разработка #Программирование #объясняюпросто #Обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥21👍1👌1😎1
🚀 Spring Security: защита как приключение! 🔑🖥

Сегодня с юными разработчиками разбирали Spring Security — потому что изучать авторизацию и аутентификацию должно быть весело! 😄

Представьте: ваш API — это неприступная крепость 🏰, CSRF-токены — секретные пароли 🔑, а OAuth2 — золотой билет в закрытый клуб 🎫. А если злоумышленник попытается прорваться? Пусть встретит 403 Forbidden — это как табличка "Вход только для своих" 🚫🤺.

Что запомнили дети:
@PreAuthorize — это как строгий родитель 👨👦, который решает, кому можно в комнату.
PasswordEncoder — волшебный шифр , превращающий пароли в тайные коды.
@PermitAll — почти как "вход свободный" 👐, но лучше не злоупотреблять!

Spring Security оказался похож на игру в "казаки-разбойники" 🤠👮, только с аннотациями и ролями. Главное — чтобы защита была надёжной , а код оставался понятным даже для новичков!

Как вы объясняете сложные концепции просто и интересно? Делитесь в комментариях! 👇😊

#Java #SpringSecurity #ПрограммированиеДляДетей #ЮморВIT #КодимКакВзрослые #Обучение #КофеИКод #Кодинг #ДетиКодируют 💡🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍21
🚀Spring Boot + H2 + Hibernate: Когда база данных становится лучшим другом 🤝⌨️

Сегодня наши приложения сделали первый шаг во взрослую жизнь - научились хранить данные! Ну наконец-то, а то одними "Hello World" сыт не будешь 🍔

Что освоили:
H2 - база данных, которая помещается в карман (если бы у программ были карманы) 👛

Hibernate - волшебник, превращающий ваши объекты в SQL-запросы (абракадабра! 🔮)

JPA - набор аннотаций, которые делают за вас всю грязную работу (@Entity устал, @Entity отдыхает 😴)

Забавные моменты:
- Когда CrudRepository сам генерирует методы, и вы чувствуете себя хакером из фильмов 🕶️
- Момент осознания, что @OneToMany - это как родительский контроль, но для данных 🔗
- Первый раз, когда H2 сохранила ваши данные, и они не потерялись (ура! )


Кто-нибудь уже успел подружить Spring Boot с PostgreSQL или MySQL? Делитесь опытом (и забавными багами 🐞) в комментариях!

#SpringBoot #Hibernate #Java #ПрограммированиеСУлыбкой #БазыДанныхНашеВсё #КодимСКайфом


P.S. H2 - единственная база данных, которая прощает вам ошибки... потому что после перезапуска всё исчезает! 😂👋
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥32👍2
Optional в Java: Элегантный способ сказать "Может быть, а может и нет!"

Друзья, сегодня мы с учениками разбирали Optional — самый вежливый способ избежать встречи с NullPointerException! 📞💥

Optional — это как:
- Вежливый охранник на входе в клуб 🕴️🎟️
- Таксист, который предупреждает: "Машина может приехать, а может и нет"
- Космонавт с страховочным тросом 🚀

Что узнали:
Раньше: if (user != null) { return user.getName(); } — код-детектив
Теперь: return Optional.ofNullable(user).map(User::getName) — код-стилист 💅

Фишка Optional:
Он не решает проблему отсутствия значения, но делает её очевидной! Как табличка "Осторожно: возможна гололёд!" ❄️⚠️

Забавные аналогии:
- .orElse() — запасной ключ от квартиры 🏠
- .orElseGet() — "сбегай в магазин, если чего-то нет" 🔥
- .orElseThrow() — "или конфета, или истерика!" 😤

Юморные моменты урока:
Когда пытаешься вызвать .get() у пустого Optional — получаешь NoSuchElementException, как будто искал деньги в пустом кармане! 😭

Главный вывод:

Optional учит нас тому, что в жизни не всегда есть ответы... и это нормально! ☯️

А вы уже перешли на Optional? Или всё ещё живёте в мире if-ов? Делитесь в комментах! 😊

#Java #Optional #ПрограммированиеСЮмором #NullPointerException #КодСЮмором 💻#ДетиКодируют #объясняюпросто #Кодинг #РодителямНаЗаметку #
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3🔥3💯2
Твой код кричит "ПОМОГИИИ!"? Время знакомства с Mockito.

Друзья, есть правило: сначала тест — потом код. Это как чертеж перед постройкой моста. 🏗️

Это Unit-тест— он проверяет каждую детальку изолированно.

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

На помощь приходит Mockito! 🦸‍♂️

Это библиотека-обманщик. Она создает «подставуху» — мок-объект, который притворяется базой данных, сервисом или чем угодно. Ваш код думает, что общается с настоящим классом, а на самом деле это ловкая имитация!

Зачем? Чтобы проверить работу именно вашего класса, а не всех его соседей.

Mockito — это лучший друг тестировщика. Он говорит неправду, но только ради высшей цели — стабильного кода! 😎

#java #юниттесты #mockito #тестирование #кодбезбагов #КодСЮмором #Обучение #объясняюпросто #УчиJava
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2👌2🔥1👏1
С Днём программиста, или Компиляция прошла успешно! 🎉


Дорогие мои джависты, кодомёты и отладчики всех мастей! Поздравляю вас с нашим профессиональным праздником — Днём программиста! 🥳

Пусть в вашей жизни всегда будет:
100%
покрытие тестами на удачу.
NullPointerException обходит ваш код стороной.
Горячий кофе — всегда в `main`-потоке, а не в бесконечном цикле ожидания.
StackOverflowError случается только при чтении полезных статей, а не в продакшене.
А ваш личный Garbage Collector вовремя уносит все проблемы и печали. 🗑️

Желаю, чтобы ваш жизненный код всегда компилировался без ошибок, а в console выводились только радостные сообщения!

Отмечайте этот 256-й день года как истинные профессионалы: отключите уведомления, заварите самый крепкий CoffeeBean и напишите наконец-то тот самый, идеальный,успешно! 🎉



С праздником! 🥳
#ДеньПрограммиста #Java #JavaJunior #Программист #Юмор #Код #Кофе`
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥2🏆1
🤐Кванториум в лицах: Астахов Сергей Иванович

Сегодня в нашей рубрике «Кванториум в лицах» — уникальный педагог, превращающий сложный код в увлекательное приключение.

Знакомьтесь: Астахов Сергей Иванович — наставник направления «Java-лаборатория с элементами технического английского». Его миссия — с ранних лет показать, что программирование — это не страшно, а невероятно интересно и перспективно.

📌Кратко о главном:

Родился 17 марта 1995 года в Москве — IT-столице России.

Окончил легендарный МАДИ по специальности «Информатика и вычислительная техника», получив фундаментальное техническое образование.

Прошел профессиональные курсы Java-разработчика и применяет эти знания на практике каждый день.

Сам прошел долгий путь обучения и разработал собственную методику, которая позволяет объяснять сложные концепции Java на «понятном» языке даже детям с 7 лет!

Постоянно находится в авангарде IT-индустрии: работает QA-тестировщиком на Java в крупной компании при департаменте исследований и разработки.

💡Почему именно он?
Сергей Иванович — блестящий пример практикующего эксперта. Он не только учит теории, но и ежедневно участвует в реальных проектах, знает последние тренды и требования рынка. Его подход — это уникальное сочетание глубоких знаний, практического опыта и настоящего дара преподавания.

«Моя цель — развенчать миф о сложности программирования. Когда семилетний ребенок с восторгом говорит: «У меня сработало!» — я понимаю, что мы зажигаем новую звезду в мире IT. Java — это мощный инструмент для творчества, и я показываю это ребятам».


👍Спасибо, Сергей Иванович, за то, что открываете нашим ребятам дверь в мир большого программирования с самого детства, давая им реальное преимущество для будущей профессии!

А в следующих выпусках вас ждут новые истории о тех, кто делает наш Кванториум уникальным. Следите за новостями! 💻

#СергейИванович #Java #Кванториум #запись #БудущееЗдесь #КванториумВЛицах
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍5🔥4
Java с нуля: как это бывает у младшей группы!😎

Привет всем подписчикам! У нас отличные новости: учебный год начался, и теперь у меня целых 3 новые группы, полные энтузиазма!🤓

Сегодня хочу рассказать про самую юную нашу команду. Ребята только открыли для себя мир Java, ☕️и это невероятно интересно наблюдать! Мы начинаем с азов: что такое переменная, как дать команду компьютеру... И вы знаете, это фантастика — видеть, как детский ум мгновенно находит закономерности и схватывает материал на лету!

Для меня это всегда источник вдохновения. Они не боятся пробовать и ошибаться, а значит, самые крутые результаты у нас ещё впереди! 🎉Мы постепенно будем двигаться от простых алгоритмов к настоящим мини-проектам.

Следите за отчётами, будет много интересного! 🤪Если у вас есть вопросы о том, как проходят занятия, смело задавайте в комментариях!

#ОбучениеДетей #ПрограммированиеСНуля #JavaJunior #ITОбразование #ЗанимательнаяИнформатика #РодителямНаЗаметку
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1822👍1🔥1
Объясняю программирование, как пятилетнему... ну, или ученику 5-го класса! 🧒 👧Сегодня говорим о МЕТОДАХ.

Представьте, что ваш код — это вы на кухне. А ваш супер-помощник — блендер🧃. Давайте научимся им управлять с помощью методов!

Что такое метод?

Метод — это как кнопка на панели управления блендера. Нажал на кнопку — блендер выполнил заранее заложенное в него действие.

Например, у нас есть метод взбитьСмузи(). Что внутри? Целая последовательность действий:
1. Взять йогурт.
2. Добавить ягоды.
3. Закрыть крышку.
4. Готово!

В коде это выглядело бы так:

Это и есть метод! Блок кода с названием.


  void взбитьСмузи() {
System.out.println("Беру йогурт...");
System.out.println("Добавляю ягоды...");
System.out.println("Запускаю двигатель!");
System.out.println("БЗЗЗЖЖЖ! ");
System.out.println("Ваш смузи готов!");
}
}

Метод — это название для группы команд. Вместо того чтобы каждый раз писать 5 строк, мы пишем одно слово — взбитьСмузи() , и все 5 команд выполняются сами! Удобно? Ещё как!

А теперь — ВЕРШИНА МАСТЕРСТВА! Метод с ПАРАМЕТРАМИ.

А что, если мы хотим взбивать не только смузи, но и суп, или молочный коктейль? Не покупать же три разных блендера!

Правильно, нужно просто сказать блендеру ЧТО именно взбивать и КАК сильно. Вот эти «что» и «как» — и есть параметры !

Давайте научим наш блендер универсальному методу взбить().

В скобочках мы указываем ПАРАМЕТРЫ - то, что мы "даём" методу в руки.


void взбить( String чтоВзбивать, int скорость) {

System.out.println("Загружаю в блендер: " + чтоВзбивать);

System.out.println("Выставляю скорость: " + скорость);

System.out.println("БЗЗЗЖЖЖ с силой " + скорость + "! ");



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


#JavaДляДетей #ПрограммированиеДляНачинающих #ОбъясняюПросто #МетодыВJava #АналогииВПрограммировании #РодителямНаЗаметку #JavaJunior #ПрограммированиеСНуля #Код
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2🤔21
Рубрика "Объясняем просто": Конструкторы в Java🏎️💨


Ваш класс — это чертеж автомобиля ✏️. В нем есть описание: колеса, руль, двигатель. Но пока это просто бумага.

Конструктор — это заводской конвейер , который собирает реальную машину по этому чертежу!

Как это работает:
• new — это кнопка «Запустить конвейер»
• Конструктор по умолчанию — собирает базовую комплектацию 🚙
• Конструктор с параметрами— это заказ опций: цвет «красный» 🔴, двигатель V8 , кожаный салон

Нет конвейера (конструктора) — нет и машины , только чертеж. А с ним — пожалуйста, ваш готовый объект к услугам!

#Java #ОбъясняемПросто #Программирование #Аналогии #ООП #АналогииВПрограммировании #ПрограммированиеДляНачинающих #JavaДляДетей #ПрограммированиеСНуля
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
Знаете, как проверяют, что приложение в телефоне работает без сбоев? 📱
Я сходил на встречу таких специалистов — тестировщиков . Они ищут баги 🐞, чтобы у нас всё «летало» ✈️.


1. Про рекламу в играх и приложениях 🎮
Оказывается, нужно проверить миллион мелочей: чтобы объявление не выскакивало в самый ответственный момент (например, при победе 🏆), чтобы кнопка «закрыть» была заметной 👆, и чтобы после просмотра вас действительно награждали . Целая наука!

2. Про скорость проверок
Представьте: программисты каждый день вносят изменения в приложение. Чтобы всё не развалилось, его постоянно тестируют. И делают это не только люди, но и специальные программы-роботы 🤖. Их нужно настроить так, чтобы они работали быстро и без ошибок. Как спортивная команда — нужна слаженность .

3. Про «ферму телефонов» 📱
Это выглядит футуристично: много разных смартфонов, подключённых к компьютеру . На них одновременно запускают новую версию приложения и смотрят, как оно себя ведёт на каждом. Как будто стресс-тест для гаджетов!

4. Про чек-листы
Даже у роботов-тестировщиков есть подробный план действий — что и в каком порядке проверять. Его сначала пишут обычным языком, а потом превращают в код. Как рецепт с пошаговыми инструкциями ✏️➡️👨‍💻.

Зачем я об этом пишу?
Потому что за всем этим — и играми, и соцсетями, и банковскими приложениями — стоят не только дизайнеры и программисты, но и тестировщики . А ещё потому, что основа большинства таких «роботов-у помощников» — программирование. Та самая Java, которую мы изучаем, может управлять целой фермой телефонов или проверять, правильно ли работает кнопка в вашем любимом приложении .

Было здорово увидеть, как теория становится практикой где-то рядом . Все доклады были живыми и интересными — чувствовался настоящий азарт и любовь к своему делу! ❤️‍🔥

vk.com/club_javalab

#Технологии #Программирование #КакЭтоУстроено #Образование #Интересное #IT #ОбъясняемПросто #Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥843👍1💯1