Please open Telegram to view this post
VIEW IN TELEGRAM
image_2025-01-25_13-02-48.png
118.9 KB
Шпаргалка посвящена концепциям объектно-ориентированного программирования (ООП) в языке Java.
Она охватывает четыре основные концепции:
🍩 Наследование (Inheritance) - использование ключевого слова extends для наследования свойств от родительского класса и расширения функционала дочерним классом.
🍩 Абстракция (Abstraction) - создание абстрактных классов и интерфейсов, где определяются только идеи, а реализация предоставляется в дочерних классах.
🍩 Полиморфизм (Polymorphism) - способность объектов принимать разные формы, например, через перегрузку методов или переопределение.
🍩 Инкапсуляция (Encapsulation) - скрытие внутренней реализации класса и доступ к данным через публичные методы (геттеры и сеттеры).
Каждая концепция сопровождается примерами кода.😨
👉 Java Portal | #ресурсы
Она охватывает четыре основные концепции:
Каждая концепция сопровождается примерами кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Простой Telegram-бот на Java и Spring Boot
В данном видеоуроке я показываю как можно разработать свой собственный Telegram-бот на Java с использованием Spring Boot. После просмотра данного видео, вы сможете создать свой собственный Telegram-бот, но уже с более сложным функционалом.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
В данном видеоуроке я показываю как можно разработать свой собственный Telegram-бот на Java с использованием Spring Boot. После просмотра данного видео, вы сможете создать свой собственный Telegram-бот, но уже с более сложным функционалом.
Please open Telegram to view this post
VIEW IN TELEGRAM
dac10c60ec5d2fe6bd3d3f8736cf0ce0.pdf
2.4 MB
На схеме показано, как отлаживать проблемы в Kubernetes:
🍩 Проверяешь Pods (запускаются ли они, готовы ли).
🍩 Ищешь ошибки (CrashLoopBackOff, проблемы с образом, пробами и т.д.).
🍩 Проверяешь Service и Ingress (доступны ли эндпоинты, настроены ли порты).
🍩 Пошагово исправляешь проблемы командой kubectl.
Цель — сделать приложение доступным.
👉 Java Portal | дать буст
Цель — сделать приложение доступным.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Методы списка в Java кратко.
add() – добавляет элемент в список.
get(index) – возвращает элемент по индексу.
indexOf(element) – находит индекс элемента.
remove(element) – удаляет элемент из списка.
clear() – очищает список.
size() – возвращает размер списка.
isEmpty() – проверяет, пуст ли список.
contains(element) – проверяет, есть ли элемент в списке.
reverse() – переворачивает порядок элементов
👉 Java Portal | дать буст
add() – добавляет элемент в список.
get(index) – возвращает элемент по индексу.
indexOf(element) – находит индекс элемента.
remove(element) – удаляет элемент из списка.
clear() – очищает список.
size() – возвращает размер списка.
isEmpty() – проверяет, пуст ли список.
contains(element) – проверяет, есть ли элемент в списке.
reverse() – переворачивает порядок элементов
Please open Telegram to view this post
VIEW IN TELEGRAM
Принципы проектирования программного обеспечения 👇
[1.] KISS (Keep It Simple, Stupid)
▶ Программное обеспечение должно быть максимально простым.
▶ Используйте понятный и лаконичный код, избегайте излишней сложности и сосредотачивайтесь на основных функциях.
[2.] DRY (Don't Repeat Yourself)
▶ Код не должен дублироваться.
▶ Используйте функции и классы для объединения общего кода.
▶ Применяйте переменные и константы для хранения значений, которые используются в нескольких местах.
[3.] YAGNI (You Ain't Gonna Need It)
▶ Не добавляйте в программное обеспечение функции, которые не нужны.
▶ Поддерживайте простоту и удобство сопровождения.
[4.] SOLID
▶ Принцип единственной ответственности – класс должен выполнять только одну задачу.
▶ Принцип открытости/закрытости – классы должны быть открыты для расширения, но закрыты для изменения.
▶ Принцип подстановки Барбары Лисков – объекты дочернего класса должны заменять объекты базового класса без нарушения функциональности.
▶ Принцип разделения интерфейса – клиенты не должны зависеть от методов, которые они не используют.
▶ Принцип инверсии зависимостей – зависимости должны внедряться в класс, а не быть жёстко закодированными.
[5.] Принцип наименьшего удивления**
▶ Разрабатывайте программное обеспечение так, чтобы оно соответствовало ожиданиям пользователя.
▶ Используйте знакомую терминологию и соглашения, предоставляйте понятные инструкции.
▶ Применяйте четкие и лаконичные сообщения об ошибках.
[6.] Принцип модульности**
▶ Проектируйте программное обеспечение как набор независимых модулей.
▶ Это упрощает понимание, сопровождение и тестирование кода.
[7.] Принцип абстракции
▶ Скрывайте детали реализации от пользователя.
▶ Это делает программное обеспечение более понятным и удобным.
[8.] Принцип инкапсуляции
▶ Программное обеспечение должно скрывать внутреннее состояние объекта от внешнего мира.
▶ Это повышает устойчивость и удобство сопровождения.
[9.] Принцип наименьшего знания
▶ Проектируйте программное обеспечение так, чтобы минимизировать объем знаний модуля о других модулях.
▶ Это помогает повысить модульность и гибкость системы.
[10.] Принцип низкой связности и высокой когезии
▶ Связность – это степень зависимости элементов модуля друг от друга.
▶ Модуль с низкой связностью имеет мало зависимостей, и его элементы слабо зависят друг от друга.
❗ Когезия – это степень, с которой элементы модуля относятся к одной цели.
▶ Модуль с высокой когезией имеет одну четко определенную задачу, и все его элементы связаны с её выполнением.
👉 Java Portal | дать буст
[1.] KISS (Keep It Simple, Stupid)
[2.] DRY (Don't Repeat Yourself)
[3.] YAGNI (You Ain't Gonna Need It)
[4.] SOLID
[5.] Принцип наименьшего удивления**
[6.] Принцип модульности**
[7.] Принцип абстракции
[8.] Принцип инкапсуляции
[9.] Принцип наименьшего знания
[10.] Принцип низкой связности и высокой когезии
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезная подсказка по Linux 😏
Команда
Однако
❗ Если команда
👉 Java Portal | дать буст
Команда
ls
— это отличный инструмент командной строки для отображения файлов и каталогов в Linux.Однако
lsd
— это ещё более современная альтернатива команде ls. Она предлагает иконки, цветной вывод и представляет информацию в более наглядном и удобном для чтения формате.$ lsd -lah
lsd
не предустановлена в вашей системе, обратитесь к документации вашей операционной системы, чтобы узнать, как её установить.Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
GRADLE. Сборщик проектов. (Java Enterprise - полный курс)
Курс посвящен Gradle, его конфигурации, структуре, управлению зависимостями, созданию тасков, плагинов и работе с многомодульными проектами.
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Курс посвящен Gradle, его конфигурации, структуре, управлению зависимостями, созданию тасков, плагинов и работе с многомодульными проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает Java.
На изображении представлена схема работы Java.🤯
1 Java-разработчик пишет код на Java, создавая
2 Компилятор (javac) компилирует этот код, преобразуя его в байт-код и создавая
3 Байт-код выполняется виртуальной машиной Java (JVM) на основе установленного Java Runtime Environment (JRE).
4.JVM начинает выполнение с метода
5 Результатом выполнения программы является вывод.
Для работы требуется установка JDK, который обеспечивает необходимые инструменты и библиотеки. Код может запускаться на любой операционной системе и оборудовании, где доступна JVM.
👉 Java Portal | дать буст
На изображении представлена схема работы Java.
1 Java-разработчик пишет код на Java, создавая
.java
файл.2 Компилятор (javac) компилирует этот код, преобразуя его в байт-код и создавая
.class
файл.3 Байт-код выполняется виртуальной машиной Java (JVM) на основе установленного Java Runtime Environment (JRE).
4.JVM начинает выполнение с метода
public static void main
.5 Результатом выполнения программы является вывод.
Для работы требуется установка JDK, который обеспечивает необходимые инструменты и библиотеки. Код может запускаться на любой операционной системе и оборудовании, где доступна JVM.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Коллекция реализаций разных алгоритмов и структур данных на Java
Эта подборка пригодится для подготовки к собеседованию, в частности для секции "Алгоритмы".
Здесь есть примеры реализаций графовых алгоритмов, имплементация структур данных, таких как очередь, куча, задания на алгоритмы Кнута-Морриса-Пратта, Ахо-Корасик и много других задач
⛓ Ссылка: https://github.com/indy256/codelibrary
👉 Java Portal | #ресурсы
Эта подборка пригодится для подготовки к собеседованию, в частности для секции "Алгоритмы".
Здесь есть примеры реализаций графовых алгоритмов, имплементация структур данных, таких как очередь, куча, задания на алгоритмы Кнута-Морриса-Пратта, Ахо-Корасик и много других задач
Please open Telegram to view this post
VIEW IN TELEGRAM
Confluent только что завершила крупнейшую в мире миграцию Kafka-кластеров с ZooKeeper на KRaft.
Они переместили тысячи кластеров на KRaft «без простоя».
«Миграция тысяч кластеров в KRaft в Confluent Cloud была одной из самых значимых операционных задач, с которыми мы когда-либо сталкивались.»
На это у них ушел примерно год, но в итоге это упростило их облачные операции.
Вам тоже стоит готовиться к переходу на KRaft.👇
В следующем релизе 4.0 поддержка ZooKeeper будет полностью убрана.😆
И этот релиз уже на подходе — сейчас решают последние проблемы.
Кроме того, KRaft был признан готовым для производства с Kafka 3.3 (ноябрь 2022 года) — уже два года назад.
Они даже удалили старый класс😮
«Confluent Cloud теперь на 100% работает на KRaft, и вам тоже стоит перейти.»
Поздравления команде и спасибо за развитие Kafka!
👉 Java Portal | дать буст
Они переместили тысячи кластеров на KRaft «без простоя».
«Миграция тысяч кластеров в KRaft в Confluent Cloud была одной из самых значимых операционных задач, с которыми мы когда-либо сталкивались.»
На это у них ушел примерно год, но в итоге это упростило их облачные операции.
Вам тоже стоит готовиться к переходу на KRaft.
В следующем релизе 4.0 поддержка ZooKeeper будет полностью убрана.
И этот релиз уже на подходе — сейчас решают последние проблемы.
Кроме того, KRaft был признан готовым для производства с Kafka 3.3 (ноябрь 2022 года) — уже два года назад.
Они даже удалили старый класс
KafkaController
! Это был один из моих любимых классов в Kafka «Confluent Cloud теперь на 100% работает на KRaft, и вам тоже стоит перейти.»
Поздравления команде и спасибо за развитие Kafka!
Please open Telegram to view this post
VIEW IN TELEGRAM
Essential Java
Это бесплатная книга о языке программирования Java.
Книга написана, чтобы предоставить четкое и лаконичное объяснение тем как для начинающих, так и для опытных программистов.
Большинство примеров связаны с онлайн-песочницей, где можно изменять код и запускать его заново.
Вы также можете быстро перейти к нужному разделу, используя оглавление слева и поиск сверху ( для поиска можно использовать только клавиатуру, нажав😏
➖ Содержание основано на теперь уже заброшенном проекте StackOverflow Documentation, но было значительно переработано и улучшено.
📖 Читать: ссылка
👉 Java Portal | #книги
Это бесплатная книга о языке программирования Java.
Книга написана, чтобы предоставить четкое и лаконичное объяснение тем как для начинающих, так и для опытных программистов.
Большинство примеров связаны с онлайн-песочницей, где можно изменять код и запускать его заново.
Вы также можете быстро перейти к нужному разделу, используя оглавление слева и поиск сверху ( для поиска можно использовать только клавиатуру, нажав
/
). Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Этот ресурс имба для создания баз данных!
✓ Создавай и модифицируй таблицы с помощью естественного языка
✓ Рисуй диаграммы с отношениями
✓ Используй ИИ, чтобы запросить все, что хочешь
✓ Разворачивай с одним кликом
🔜 ссылка
👉 Java Portal | дать буст #ресурсы
✓ Создавай и модифицируй таблицы с помощью естественного языка
✓ Рисуй диаграммы с отношениями
✓ Используй ИИ, чтобы запросить все, что хочешь
✓ Разворачивай с одним кликом
Please open Telegram to view this post
VIEW IN TELEGRAM
Полный курс по Spring Boot с проектами за 15 часов.
Видео представляет собой полный курс по Spring Boot, который включает в себя создание и настройку проектов, разработку REST API, работу с JSON, обработку параметров и исключений, а также построение реальных приложений, таких как системы управления сотрудниками и банковские приложения.😤
📲 Cмотреть источник: тут
👉 Java Portal | #видео
Видео представляет собой полный курс по Spring Boot, который включает в себя создание и настройку проектов, разработку REST API, работу с JSON, обработку параметров и исключений, а также построение реальных приложений, таких как системы управления сотрудниками и банковские приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ментальная карта для изучения структур данных и алгоритмов
Карта помогает систематизировать знания о производительности и применении различных алгоритмов и структур данных.🔥
👉 Java Portal | #ресурсы
Карта помогает систематизировать знания о производительности и применении различных алгоритмов и структур данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Запутались в терминах EntityManager, Hibernate Session, кэш первого уровня и PersistenceContext?
Ключ к их пониманию в том, что все они привязаны к транзакции.🚬
Без
С
👉 Java Portal | #tips
Ключ к их пониманию в том, что все они привязаны к транзакции.
Без
@Transactional,
каждый findById() запускает SQL-запрос SELECT. С
@Transactional
выполняется только один SELECT.Please open Telegram to view this post
VIEW IN TELEGRAM
Туториал по Spring Boot + jOOQ - серия из 5 частей 🔥
Начни прямо сейчас: ссылка
Узнай, как:
☑ Начать работать с jOOQ
☑ Интегрировать jOOQ с Spring Boot
☑ Генерировать код для типобезопасных запросов
☑ Обрабатывать отношения «один ко многим», «многие к одному» и «многие ко многим»
👉 Java Portal | #cтатья
Начни прямо сейчас: ссылка
Узнай, как:
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы не можете вспомнить название команды, можно использовать ключевые слова для поиска в мануалах. Синтаксис следующий:
$ man -k keyword
Например, чтобы найти команды, связанные с zip, введите:
$ man -k zip
Please open Telegram to view this post
VIEW IN TELEGRAM