Библиотека 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
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux


https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика

https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Чат программистов📌
https://t.me/developers_ru

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике

Excel лайфхак📌
https://t.me/Excel_lifehack
👍2
Media is too big
VIEW IN TELEGRAM
SOLID в деталях: Принцип открытости/закрытости

источник

👉@BookJava
👍7
Java EE to Jakarta EE 10 Recipes: A Problem-Solution Approach for Enterprise Java 3rd Edition
Автор: Josh Juneau (2022)

Примеры в этой книге подчеркивают возможности Jakarta EE, помогая вам создавать оптимизированные и надежные приложения с использованием новейших технологий Java. Книга построена по принципу "проблема-решение", когда каждый раздел представляет распространенную проблему программирования и показывает, как решить эту проблему наилучшим образом, используя новейшие возможности Jakarta EE. Решения представлены в виде рабочих примеров кода, которые вы можете загрузить и сразу же использовать в своих собственных проектах. Даются четкие описания, которые помогут вам понять и научиться строить дальнейшие решения.

Скачать

👉 @java_360
👍4👏2
Объясните разницу между Linkedlist и Arraylist.

ArrayList — это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка.

LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой.

Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов.

👉@BookJava
👍6
Отличие интерфейса Runnable и Callable?

• Интерфейс Runnable появился в Java 1.0, а интерфейс Callable был введен в Java 5.0 в составе библиотеки java.util.concurrent;
• Классы, реализующие интерфейс Runnable для выполнения задачи должны реализовывать метод run(). Классы, реализующие интерфейс Callable - метод call();
• Метод Runnable.run() не возвращает никакого значения, Callable.call() возвращает объект Future, который может содержать результат вычислений;
Метод run() не может выбрасывать проверяемые исключения, в то время как метод call() может.

👉@BookJava
👍8
Подборка 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
👍2
Мечтали о космосе, а работаете в опенспейсе?

Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.

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

Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.

Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!

Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.

🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!

Да пребудут с вами силы мультивселенной капибары!
(Упс… кажется, мы спалили первую пасхалку, Хьюстон)

Ерид: LdtCKZmzw
👍1
Spring Security в деталях

Аутентификация - Spring Security в деталях
Получение информации о пользователе - Spring Security в деталях
Ещё один способ получения аутентифицированного пользователя #java #springsecurity
Точки входа аутентификации - Spring Security в деталях
Источники информации о пользователях - Spring Security в деталях
Устаревшие DSL в Spring Security 6.1
Отладка контекста безопасности - Spring Security в деталях
DSL и конфигураторы контекста безопасности - Spring Security в деталях
Фильтры безопасности - Spring Security в деталях

источник

👉@BookJava
👍3
Проблема квадрата/прямоугольника, объяснение и решение

В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.

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


👉@BookJava
👍2
Что такое пакет? Перечислите различные преимущества пакетов.

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

👉@BookJava
👍4
Шпаргалка по паттернам проектирования

👉@BookJava
👍112