Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
🧠 Хотите упростить создание тестовой отчетности?

Ждём вас на открытом практическом уроке «Организовываем отчетность по автотестам на Allure» от OTUS.

💪 На вебинаре разберем:
- интеграцию Allure с Groovy pipeline на Jenkins;
- разницу между TestResult и TestResultContainer;
- интеграцию allure артефактов с Allure TestOps.

☝️Все это позволит вам оптимизировать работу и сэкономить время на рутинных задачах.

👉 Зарегистрируйтесь, чтобы посетить бесплатный урок: https://otus.pw/yRsK/

Встречаемся 15 мая в 20:00 мск в преддверии старта курса «Java QA Engineer. Professional». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍64🔥2😁2
🖥 SQL-инъекции JDBC, JPA, Spring Data

В данной статье речь пойдёт о таком типе уязвимости приложений как внедрение SQL кода.
Вообще, в мире Java разработки существует несколько простых правил, позволяющих практически полностью исключить возможности внедрения SQL:
— Не использовать конкатенацию строк в запросах к базам данных.

— Использовать PreparedStatement/CallableStatement вместо Statement. Библиотеки spring-jdbc, Hibernate, MyBatis, JOOQ и прочие также внутри используют PreparedStatement.

— Передавать параметры запросов с помощью методов setParameter, а не в самом запросе.

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

📎 Код примеров на GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉16👍11🔥41
Присоединяйтесь к нашему бесплатному курсу и начните увлекательное путешествие в мир Java!

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

🎓 Чему вы научитесь:
— Создавать программы с использованием основных конструкций языка.
 — Разделять код на методы для повторного использования.
 — Анализировать ошибки в коде с использованием отладочной печати.

💼 Включено в курс:
29 уроков (видео и/или текст), 35 упражнений в тренажере, 95 проверочных тестов + дополнительные материалы.

Вы с нами?😉
🎉9👍63🔥3
Экземплярный инициализатор

Это блок кода внутри класса, который выполняется каждый раз при создании нового экземпляра класса. Он используется для инициализации экземплярных переменных.
🔥135👍5
📘 С чего начать изучение Apache Kafka?

Apache Kafka — многогранный и непростой инструмент. Даже если вы уверены, что знаете его, наш курс докажет вам обратное!

💻 Начните работу с Kafka на открытом практическом уроке от OTUS, где вы:

— разберете особенности и устройство Kafka;
— познакомитесь с основными утилитами;
— рассмотрите базовое API для работы с Kafka.

Спикер — опытный разработчик и преподаватель.

Встречаемся 20 мая в 20:00 мск в преддверии старта курса «Apache Kafka». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwNvwq

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍83🔥2
🖥 Semgrep — статический анализатор кода для Java и не только

brew install semgrep

Semgrep — это быстрый open-source инструмент статического анализа для обнаружения ошибок и проверки соблюдения стандартов в процессе редактирования, коммита и т.д.
Semgrep — это семантический grep для кода: если grep "2" будет искать только точную строку 2, то Semgrep будет искать x = 1; y = x + 1 при поиске 2. И он делает это на 30 с лишним языках!

Правила Semgrep выглядят как код, который вы уже пишете; никаких абстрактных синтаксических деревьев, сложных regex или DSL.

🖥 GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153🔥31
Познакомьтесь с основами востребованного языка программирования Java на бесплатном мини-курсе Skillbox! Узнайте, как Java-разработчики работают в офисе, на фрилансе, удалёнке и что нужно для старта карьеры. Бессрочный доступ за пару кликов: 👉 https://epic.st/I9NB6E?erid=2Vtzqw8P1Tf

Что вас ждёт:

✔️ Полезная теория
За 4 занятия изучите основы профессии и языка Java по видеоматериалам.

✔️ Интересная практика
Напишете первые проекты: Telegram-бота, программу для обработки файлов и чат на Spring. Опыт и знания в IT не нужны для их выполнения.

✔️ Живой эфир с экспертом по Java
В финале в прямом эфире пообщаетесь с Даниилом Пилипенко, который более 19 лет работает в сфере Java и веб-разработки.

🎁 За время обучения вы получите 5 полезных материалов в подарок, сертификат на скидку 10 000 рублей на любой курс, персональную карьерную консультацию и доступ к изучению английского языка в Skillbox на год.

Сразу после регистрации пришлём гайд по профессии Java-разработчика 😉

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
👍84🔥4😁4
👩‍💻 Шаблонизация с Helm - Разработка проектов со Spring

В заключительном ролике цикла автор хочет вкратце рассказать о Helm - инструменте, который позволяет упростить процесс написания дескрипторов развёртывания для Kubernetes за счёт шаблонизации. Все написанные ранее дескрипторы развёртывания для сервисов имеют по большей части схожую структуру, и шаблонизация в данном случае позволит уменьшить дублирование кода и в целом ускорить процесс развёртывания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143🔥2
Кто такой архитектор ПО и как им стать?

Архитектор ПО — одна из самых востребованных позиций на современном рынке IT.

Узнайте, что нужно, чтобы претендовать на эту должность, на бесплатном практическом уроке от OTUS. Спикер — опытный эксперт из крупной компании. На вебинаре разберём:

- какую роль выполняет архитектор и зачем он нужен;
- какие бывают архитекторы;
- чем отличается архитектура от проектирования.

Встречаемся 20 мая в 19:00 мск в рамках курса «Software Architect». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

Ссылка для регистрации: https://vk.cc/cwOJ1V

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
6🔥4😁4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 JMusicBot — музыкальный бот на Java для Discord, который легко настроить и запустить

Фишки бота:
— Легко запускается (нужно только Java)
— Быстрая загрузка песен
— Не требуется никаких внешних ключей (кроме токена Discord Bot)
— Плавное воспроизведение
— Настройка сервера для роли диджея, который может модерировать музыку
— Чистые и красивые меню
— Поддерживает множество сайтов, включая Youtube, Soundcloud и другие
— Поддержка многих онлайн-радио/потоков
— Поддержка локальных файлов
— Поддержка плейлистов (как веб-/ютуб, так и локальных)

🖥 GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥5👍3
👩‍💻 Как и зачем Java-разработчику сочетать DTO, MapStruct и Spring?

Расскажем на открытом практическом уроке от OTUS.
Спикер занятия — Senior Software Engineer.

На вебинаре мы:

- разберем паттерн DTO (Data Transfer Object);
- обсудим проблемы, которые решает паттерн и его основные сценарии использования на примере небольшого приложения на Spring Boot;
- изучим инструмент MapStruct, чтобы сделать данное сочетание удобным и сократить количество boilerplate кода.

Встречаемся 23 мая в 20:00 мск в преддверии старта курса «Разработчик на Spring Framework».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!

➡️ Регистрация на урок: https://vk.cc/cwP6E6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2
🖥 LangChain4j — Java-версия LangChain

<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>0.30.0</version>
</dependency>


Цель LangChain4j - упростить интеграцию возможностей AI/LLM в Java-приложения.
Проект воплощает идеи из LangChain, Haystack и LlamaIndex.

🖥 GitHub
🟡 Доки

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2😁2
⌨️ Управление доступом к членам класса

Модификаторы уровня доступа определяют, могут ли другие классы использовать определенное поле или вызывать определенный метод.

Существует 4 уровня доступа:

private
Указывает, что доступ возможен только в его собственном классе.

package-private (нет явного модификатора)
Указывает, что доступ только внутри своего собственного пакета.

protected
Указывает, что доступ возможен только внутри его собственного пакета (как в случае с package-private) и, кроме того, для подкласса его класса в другом пакете.

public
Указывает, что доступ возможен отовсюду.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍241🔥1
Лучшие практики разработки ПО, которые помогут строить высококачественные, поддерживаемые и расширяемые системы

Изучите их на открытом практическом уроке «Domain Driven Design» от OTUS, где мы разберем:

- основные принципы DDD;
- проектирование Bounded Context;
- применение DDD в архитектуре проекта.

Спикер — опытный разработчик в одной из крупнейших российских компаний.

Встречаемся 29 мая в 20:00 мск в рамках старта большого курса «Highload Architect». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!

➡️ Ссылка для регистрации: https://vk.cc/cwQug2

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍73🔥2
👩‍💻 Java. Enum на примерах.

В данном видео автор рассказывает о Enum в языке программирования Java. Показывает разные варианты применения Enum на примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🔥2
Ростов-на-Дону, приглашаем 23 мая на митап IT Talk by Sber 👨‍💻

Обещаем интересную программу и много нетворкинга. Будем слушать доклады на тему soft skills, проектирования ПО и роли AI в тестировании.

Спикеры и темы:

👉 Виталий Куценко — руководитель направления дивизиона «Кредитные продукты и процессы» — «Послание к самому себе: "…про архитектуру приложений"».

👉 Ирина Коровина — главный инженер по разработке управления технологий маркетинга — «Искусственный интеллект: новый помощник тестировщика. Как мы попробовали применить AI в Медиа».

👉 Михаил Новотарский — руководитель направления, QA-лид внутреннего сервиса «СберДруг» — «Управление гневом в работе ИТ-команд».

Локация: Ростов-на-Дону, Лофт «РУБИН» Театральный просп., 85 (этаж 4)

Ждём вас 23 мая в 18:00!
Регистрируйтесь по ссылке 😉
9🔥5
🖥 Преобразование кода ASCII в символы в Java

▶️Если в двух словах, то для быстрого преобразования ASCII-кода в символ на Java, вы можете использовать следующий код:
char asciiCharacter = (char) 65; // ASCII-код 65 — это 'A'

Чтобы произвести конвертацию ASCII-кода в символ, достаточно явно привести значение целочисленного типа int к символьному типу char.


▶️Чуть подробнее про ASCII и символы в Java

В Java символы ASCII представлены с использованием типа данных char, который способен представлять 16-битные символы Unicode. Поскольку ASCII является подмножеством Unicode, они корректно представлены в этой системе.

Преобразование осуществляется без обращения к вспомогательным операциям, например, к таблицам преобразования или к добавочным методам; для этого Java просто производит преобразование числового значения в ASCII-код.

Важно учесть, что в ASCII кодировке есть управляющие символы (0-31, 127), а также буквы, цифры и символы пунктуации (32-126), входящие в стандартный набор ASCII.


▶️Проверка, что число в нужном диапазоне

Предварительная проверка диапазона числа спасёт от возможных проблем. Убедитесь, что число, которое вы собираетесь преобразовать, лежит в пределах от 0 до 255:
int asciiCode = 65;
if (asciiCode >= 0 && asciiCode <= 255) {
char character = (char) asciiCode;
// "Всегда подтверждай правильность диапазона перед преобразованием!" – золотое правило разработчика
}

Такой подход повышает надёжность вашего кода и помогает избежать ошибок.


▶️Преобразование символа в строку

Если вам необходим результат в виде строки, а не символа, используйте метод Character.toString или просто добавьте символ к пустой строке:
String characterStr = Character.toString((char) asciiCode);
// или проще
String characterStr = "" + (char) asciiCode;

Теперь у вас есть как символ, так и строка.

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194
Хотите узнать о технологиях в Яндексе? Слушайте I like techno 🔥

I like techno — подкаст про технологии от Яндекс Еды, Лавки, Такси, Маркета, Доставки и Техплатформы Екома и Райдтеха. В выпусках эксперты рассказывают, что стоит за простыми приложениями в гаджетах, и говорят о бизнесе, продукте и людях, которые создают технологии.

В первых двух эпизодах обсудили технологии в Яндекс Еде и Лавке и продуктовую разработку в Такси и Самокатах.

Узнайте подробнее на сайте подкаста и переходите слушать на YouTube и Яндекс Музыку! 🎧
👍52🔥2🤩1
🖥 Java kanban — пет-проект на Java

Суть проекта заключается в реализации помощника по организации работы. Доска kanban помогает разбить задачи на более мелкие, чтоб упростить и ускорить процесс реализации. Эта доска имеет возможность реализации простых CRUD операций и отправки и получения данных с сервера, с помощью библиотек Gson и HttpServer. В проекте реализованы 2 сервера, один из которых отвечает за приём, отправку, старт и остановку работы сервера, второй — за внутреннюю реализацию процессов работы сервера. Также в приложении есть возможность сохранять данные локально (в файле формата CSV с возможностью последующего считывания с файла при перезагрузке приложения) и написаны JUnit тесты.

🖥 GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥165👍5