Библиотека Java разработчика
Відкрити в Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Показати більше9 987
Підписники
-324 години
-177 днів
-5930 днів
Архів дописів
❗️Хотите научиться эффективно работать с базами данных?
Наращивайте объем знаний и навыков на вебинарах, приуроченных к старту онлайн-курса «Базы данных» в OTUS.
✅ 1 августа — «Системные таблицы PostgreSQL»
Изучим основные системные таблицы и их устройство.
✅ 16 августа — «MySQL NDB cluster»
Рассмотрим шардинг и особенности архитектуры
🎁 На занятии 16 августа спикер Евгений Аристов, архитектор баз данных PostgreSQL, разыграет свою книгу «PostgreSQL 14. Оптимизация, Kubernetes, кластера, облака».
👉 РЕГИСТРАЦИЯ
https://otus.pw/5PHL/
Нативная интеграция. Информация о продукте www.otus.ruКак на самом деле работает Java ClassLoader system? (с картинками)
Когда я впервые погрузился в мир загрузчиков классов Java, это было ответом на любопытный вопрос. Популярные источники (Wikipedia, Baeldung, DZone) содержат устаревшую, иногда противоречивую друг другу информацию, и это несоответствие послужило толчком для написания этой статьи — поиска ясности в лабиринте ClassLoader System.
Будучи разработчиком Java, вы наверняка сталкивались с ClassNotFoundException или NoClassDefFoundError — загадочными сообщениями, которые на мгновение останавливают наш процесс разработки. Класс не найден — понятно по названию, но не найден где? Кто и как его ищет, куда доставляет?
https://habr.com/ru/articles/748758/
👉@BookJava
Java
Что такое главный метод? Что такое public static void main? Что за PSVM?
Что такое статический модификатор? Как работает static поле, метод, класс?
Метод hashCode: что делает? Как переопределить? Чем отличается от equals?
Ключевые слова this и super: зачем нужны? Чем отличаются?
Какой порядок инициализации в Java?
Как работает кеширование в пуле чисел? 💾 Java Integer Pool
final переменные
Чем отличается final метод от обычного?
Зачем нужен final класс в Java?
Модификатор final: зачем нужен в Java? Как он меняет классы, методы и переменные?
источник
👉@BookJava
⁉️ Как реализовать упрощенный http сервер на Java Core?
📢📢 Узнаем 1 августа в 20:00 мск на открытом уроке онлайн-курса «Java Developer. Professional» в OTUS.
Любому веб-разработчику важно понимать, как внутри работает http-сервер. На вебинаре разберем как с помощью стандартной Java библиотеки разработать небольшой http сервер, что позволит вам лучше понять принципы работы application server'ов.
🟠Это отличная возможность перенять опыт преподавателя и посмотреть на процесс обучения изнутри.
Оплата курса возможна любым удобным для вас способом.
➡️ Для участия в вебинаре зарегистрируйтесь: https://otus.pw/oX34/
Нативная интеграция. Информация о продукте www.otus.ruJava. Об Iterator и Iterable c примерами
В данном видео объясняется что такое паттерн Iterator и интерфейс Iterable в языке программирования Java. На примерах показывается для чего нужен Iterator и как его использовать. Рассматривается так же вопрос удаления и вставки элементов в LinkedList за константное время.
GitHub
👉@BookJava
Локация следующего Tech talk by Sber — Новосибирск! 📍
Да-да, уже 27 июля IT-специалисты Новосибирска получат классную возможность узнать больше о том, как реализуются задачи в Сбере, пообщаться с топовыми экспертами и завести интересные знакомства.
В программе митапа — доклады только на актуальные темы:
✔️ Дмитрий Дрожжин расскажет о том, зачем Сбер изобрел свой язык программирования и как его используют в проектах.
✔️ Марат Юлдашев раскроет все секреты развертывания приложений на стенды с помощью ARGOCD.
✔️ А Владимир Медин поделится историей тернистого пути Jenkins в Enterprise и расскажет, как специалистам Сбера удалось найти решение даже при пиковой нагрузке.
В перерывах вас ждет неформальное общение и вкусный кейтеринг. Регистрируйтесь по ссылке — встречаемся 27 июля в 18:00 по адресу: Food Factory, ул. Коммунистическая, 14 👌
Как прочитать криптографический ключ?
Для чтения криптографического ключа необходимо использовать классы Java Cryptography Architecture (JCA). Пример кода для чтения криптографического ключа из файла вида PKCS#8 с помощью этих классов может выглядеть следующим образом:
// Загружаем публичный ключ из файла
FileInputStream fis = new FileInputStream("public.pem");
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
byte[] keyBytes = new byte[dis.available()];
dis.readFully(keyBytes);
dis.close();
// Преобразуем байты в объект PublicKey
X509EncodedKeySpec spec = new X509EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PublicKey publicKey = kf.generatePublic(spec);
// Используем ключ для выполнения криптографических операций
👉@BookJavaТимлид в команду разработки на Java
Гибридный формат в городах РФ, Сербии, Казахстана, Армении, Беларуси.
Инфраструктура Яндекса — это набор сервисных провайдеров, на основе которых строится runtime облака, хранилища, системы офлайн-вычислений и другие продукты компании. Все провайдеры объединены проектной, ресурсной и ролевой моделью — это позволяет быстрее запускать новые продукты и гарантировать стабильность работы уже существующих. Наша команда разрабатывает базовые сервисы, которые реализуют эти модели и связывают всю инфраструктуру воедино, позволяют группировать ресурсы по проектам, предоставлять к ним доступы.
Ищем опытного тимлида в команду разработки на Java, который поможет спроектировать и реализовать новые компоненты системы, будет руководить командой, нанимать новых инженеров и развивать их.
Наш стек: Java 11, Spring Boot, Reactor, HTTP и gRPC API, Kotlin, PostgreSQL.
Мы ждем, что вы:
- разрабатывали на Java больше трех лет;
- пишете эффективный и понятный код;
- управляли командой разработки; нанимали людей и знаете, как правильно развивать разработчиков;
- можете вести за собой младших участников команды, делиться с ними знаниями и опытом;
- знаете, как устроены веб-сервисы;
- работали с реляционными и нереляционными базами данных и понимаете их устройство, *nix-подобными ОС.
- знаете популярные Java-библиотеки и фреймворки (Spring Boot, jUnit, Netty, Reactor);
Условия:
- сильная команда, с которой можно расти;
- зарплата на уровне рынка и выше;
- премии каждые полгода для всех, кто успешно прошёл ревью;
- расширенная программа ДМС: оплата 80% стоимости ДМС для супругов и детей;
- гибкий график работы.
Откликнуться: https://goo.su/5inhyN или в ТГ: @Karm_Anna
Создание аннотации в java [Java Annotations | Reflection api]
Создаем собственные аннотации. Изучаем из чего состоит аннотация, для чего они нужны и как их обрабатывать. Николай Бунис, senior инженер, расскажет вам про основные составляющие аннотации, ее жизненный цикл и область применения. Используя Reflection Api разберемся как создать свою аннотацию и напишем обработчик наших аннотаций.
В качестве примера возьмем всем знакомую ситуацию когда нужно провалидировать поля класса на минимальную и максимальную длину, соответствие email шаблону и тд. Существует 2 основных варианта как это сделать. Первый это писать каждый раз логику валидации для каждого конкретного класса. Ну а второй вариант это сделать обработчик аннотаций и аннотировать поля класса. Таким образом логика будет написана единожды. Именно этот пример мы и будем разбирать в нашем видео.
источник
👉@BookJava
lfa Backend Stories Meetup #2 🔥
26 июля встречаемся на митапе для бэкенд-разработчиков: эксперты из Альфы и Авито обсудят межсерверное взаимодействие и архитектурные паттерны, которые могут упростить жизнь разработчику.
🔺 Александр Карташов, Senior Java Developer, расскажет про технологии межсервисного взаимодействия на примере проектов Альфа-Банка.
🔺 Василий Рыбин, Java Developer, познакомит с архитектурным паттерном API Gateway.
🔺 Павел Агалецкий, Lead Engineer в Авито, рассмотрит механики валидации контрактов внутренних API и протокол межсервисного взаимодействия в Авито.
🔺 Екатерина Попкова, Java/Kotlin Developer, расскажет, что такое Сага и как его можно реализовать на Camunda Platform 8.
✔️ Зарегистрироваться на митап и узнать больше о программе
Принцип инверсии зависимости - SOLID в деталях
Принцип инверсии зависимости гласит: "Код, реализующий высокоуровневую политику, не должен зависеть от кода, реализующего низкоуровневые детали. Напротив, детали должны зависеть от политики". В этом ролике я постарался наглядно продемонстрировать применение этого принципа.
В серии роликов «SOLID в деталях» я постараюсь подробно рассказать о принципах SOLID, а так же продемонстрировать их практическое применение.
источник
👉@BookJava
🥷 Готов выбрать светлую сторону силы, юный джавист?
Эксперты OTUS приготовили для тебя полный сложной практики онлайн-курс «Java Developer. Professional», который расширит твои возможности использования Java.
🟠За 6 месяцев ты прокачаешь алгоритмы и сборщики мусора, байт-код и classloader, паттерны и тестирование, работу с окружением — логирование, jdbc и Hibernate, библиотеки и фреймворки, многопоточность и многое другое.
🦸🏼♂️Компании-партнеры ждут, когда ты овладеешь этим мастерством. Проходи вступительный тест и помни большая сила — большая ответственность.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/VlGLx/
Нативная интеграция. Информация о продукте www.otus.ruJava. Префиксное дерево. Основные операции, сохранение в файл, практическое применение.
В данном видео я рассказываю о префиксных деревьях. Разбираем, что из себя представляет префиксное дерево, для чего оно применяется. Изучаем и реализуем основные операции с префиксным деревом на языке программирования Java. Кроме этого я показываю как сохранить дерево в файл и потом загрузить обратно. С помощью этого проверяю, насколько выгодней может быть хранение строк в префиксном дереве на примере автомобильных номеров.
00:00 - Вступление
00:26 - Применение в приложении
01:58 - Построение дерева и операции с ним
06:33 - Построение префиксного дерева на Java
11:22 - Операции с префиксным деревом на Java
16:31 - Сохранение дерева в файл
20:51 - Загрузка дерева из файла
25:32 - Экономия по сравнению со списком
27:12 - Замечание о Null-безопасности
28:26 - Заключение
источник
👉@BookJava
Top Core Java Interview Questions for Freshers and Experienced
https://www.edureka.co/blog/interview-questions/java-interview-questions/
👉@BookJava
⁉️ Конструкторы и блоки инициализации в Java, что это и как с этим работать?
⚡️Узнаем 24 июля в 20:00 мск на открытом уроке онлайн курса «Углублённое изучение Java» от OTUS.
В рамках вебинара мы:
- Разберём конструктор на запчасти.
- Определим финалистов (финальные переменные).
- Наведём порядок (инициализации).
♨️ Усаживайтесь поудобнее, берите в руки карандаш. Мы будем решать задачи, подобные тем, что встречаются на собеседовании и точно встретятся на экзамене Oracle, и даже сложнее. С конструкторами в Java у вас больше никогда не возникнет сложностей.
🔵Это отличная возможность перенять опыт преподавателя и посмотреть на процесс обучения изнутри.
Оплата курса возможна любым удобным для вас способом.
➡️ Для участия в вебинаре зарегистрируйтесь:https://otus.pw/vq3T/
Нативная интеграция. Информация о продукте www.otus.ruТехническое интервью Java Developer - Сергей Гонтаренко
00:00 Введение
02:38 Почему Сергей выбрал Java?
05:20 Кроссплатформенность Java
06:24 Типы данных
08:00 Wrapper Classes (Классы обертки)
09:45 Ссылочные типы данных
11:40 Инкапсуляция
18:50 Метод vs Конструктор
21:38 Интерфейс vs Абстрактный класс
31:20 Collections. HashSet vs TreeSet
38:46 JDK, JRE, JVM
40:15 Как хранить и обрабатывать пароль работая с Java
44:28 HashMap vs HashTable
45:24 Техническая задача на реализацию Immutable Class
50:15 Enum (перечисления)
52:20 Техническая задача на работу с Enum
01:03:10 Spring. Spring Scope
01:04:55 Техническая задача на знание аннотаций в Spring
01:21:55 Базы данных. Left, Right, Inner Join
01:24:05 Техническая задача на знание баз данных
01:41:28 Заключение
источник
👉@BookJava
Подборка 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
Хотите усовершенствовать свои навыки Java с помощью Groovy?
Начните с открытого урока "Введение в функциональное программирование в Groovy" от OTUS. Вебинар пройдёт 24 июля в 20:00 и проведет его преподаватель Андрей Поляков, старший разработчик в Unlimint.
Урок приурочен к старту онлайн-курса "Groovy Developer"
🔥На уроке вы:
- познакомитесь с понятием функциональное программирование;
- узнаете в чем отличие функционального программирования от ООП;
- познакомитесь с Closures, контекстом исполнения, областями видимости;
- познакомитесь с использованием Closures как функций.
Кому будет полезен этот урок?
Разработчикам, QA, DevOps, которые хотят более глубоко понять, как работают инструменты тестирования
и CI/CD jenkins.
После вебинара полный курс можно приобрести в рассрочку.
⚡️Для участия зарегистрируйтесь: https://otus.pw/OYYH/
Реклама. Информация о рекламодателе на сайте www.otus.ru.
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👉@BookJava
