Библиотека Java разработчика
10.8K subscribers
1.14K photos
564 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
Как обеспечить работу современного кода JavaScript во всех браузерах

https://javascript.plainenglish.io/how-to-ensure-that-the-modern-javascript-code-which-we-write-run-on-all-browsers-dd3c6d2a88b9

👉@BookJava
👍1
Что такое метки и как их использовать?

Наверняка вам приходилось писать неуклюжий код выхода из циклов нескольких уровней вложенности:

boolean flag = false;
for (...) {
for (...) {
if (...) { x = true; break; }
}
if (flag == true) break;
}

В Java существует полезный синтаксис, который упрощает код в таких ситуациях – метки (label).

Метка используется как пункт назначения для операторов break и continue. Помечать можно любой блок – цикл for, while, даже простой блок и операторы switch и if. Метки делают возможным использование оператора break вне цикла, хотя пользы в этом обычно немного.

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

👉@BookJava
👍8👎8
Сколько стоит джун, мидл или сеньор?

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

На эти вопросы отвечает skillmaps.ru — открытая база знаний для развития IT-специалистов. Навыки разбиты по классическим грейдам: Junior, Middle, Senior и привязаны к реальным зарплатам. По каждому навыку есть подборка ссылок-материалов, необходимых для освоения.

На skillmaps.ru буквально в несколько кликов можно узнать сколько стоят твои навыки и смело выставлять кост руководству 😉
👍3💩1
Как использовать шаблон команды в Java

Узнайте, как использовать шаблон Command для инкапсуляции запросов в виде объектов, которые вы можете выполнять по отдельности или последовательно в своих программах Java.

https://www.infoworld.com/article/3667498/how-to-use-the-command-pattern-in-java.html

👉@BookJava
👍3
Что можно делать с классом Connection?

Итак, в результате соединения JDBC драйвера создается объект Connection – сессия работы с базой данных. Это главный класс при работе с JDBC. Основная роль этого класса – исполнение SQL-выражений (Statement) и получение их результатов в виде ResultSet.

Connection предоставляет в виде класса DatabaseMetaData мета-информацию о базе данных в целом: таблицы, поддерживаемая грамматика SQL, хранимые процедуры, возможности этого соединения, и т.д..

В коннекшне задается множество настройки самого соединения. Это уровень изоляции транзакций, режим авто-коммита, ключи шардирования, и многое другое. Маппинг типов данных SQL в Java-типы задается здесь же, свойством typeMap.

Помимо выполнения выражений, Connection предоставляет средства для управления транзакциями. Его методами можно создать Savepoint, откатиться к нему, закоммитить транзакцию когда авто-коммит отключен.

#SQL

👉@BookJava
👍8
Нужны ли в Java «инлайн»-типы?

Типы-значения — это главная часть экспериментального проекта Valhalla, которая должна наделить язык Java новыми способностями. Это история не только о производительности, но и о безопасности, абстракции, выразительности, легкости сопровождения и т. д. Но этот доклад посвящен производительности, тому, какие преимущества типы-значения принесут Java в этом плане и как ими воспользоваться.

https://www.youtube.com/watch?v=snrbobBVjyc

👉@BookJava
👍2
Криптография в Java

Для желающих освоить основы криптографии в Java.

https://jenkov.com/tutorials/java-cryptography/index.html

👉@BookJava
👍9😱1
Media is too big
VIEW IN TELEGRAM
Многопоточность в Java

00:53 What is a Java Thread?
02:00 Thread Lifecycle
06:01Creating a Thread
23:55 Main Thread
27:29 Multi-Threading
41:15 Thread Pool

👉@BookJava
👍2
Подборка GitHub-репозиториев для Java-разработчиков

Java Design Patterns - то типовые и повторно используемые шаблоны для решения частых проблем в проектировании приложений.
https://github.com/iluwatar/java-design-patterns


Realworld – это GitHub-репозиторий, с которым нужно ознакомиться всем разработчикам, особенно Full-stack.
https://github.com/gothinkster/realworld

Algorithms - правильные алгоритмы позволяют улучшить производительность приложения.
https://github.com/TheAlgorithms/Java

Awesome Java - есть практически все по Java, а сам материал подается в форме справочника.
https://github.com/akullpp/awesome-java

RxJava Android Samples – это реализация Java ReactiveX, в которой реактивное программирование предлагается через наблюдаемые объекты (Observables).
https://github.com/kaushikgopal/RxJava-Android-Samples

👉@BookJava
🔥7👍41
Продвинутая Java

Динамический массив (ArrayList) - Введение
Динамический массив (ArrayList) - Как устроен?
Введение в многопоточность в Java
Ключевое слово volatile
Введение в тестирование. Модульное (Unit) тестирование.

источник

👉@BookJava
👍5
Микросервисы на Spring

монолитные приложения
что такое микросервисы
монолит или микросервисы
CI/CD Devops
что такое Spring Cloud
что такое Service Discovery
схема работы тестового проекта
создание модульного проекта в IDEA
добавление модуля Eureka Server
разбор проекта Eureka Server
доработка модуля Eureka Server
добавление модуля клиента Eureka
прямой вызов микросервиса по порту
что такое API Gateway
добавление API Gateway
перенаправления в API Gateway
добавление нового микросервиса
что такое Load Balancer
Load balancer в API Gateway
стандартные порты приложений

источник

👉@BookJava
👍6👎1