Обложка канала

Библиотека Java разработчика. Страница 27

9291 @BookJava

Библиотека Java разработчика. Книги по программированию на Java.

  • Библиотека Java разработчика

    🔥Освойте профессиональный подход к разработке серверных приложения на Java! 🚀В OTUS стартовал набор на онлайн-курс «Java Developer. Professional». На пути к новому уровню в Java-разработке вы с ведущими Java-разрботчиками погрузитесь в сервисную разработку и разберетесь в алгоритмах, многопоточности, Spring, сборщиках мусора, байт-коде и classloader, тестировании и работе с окружением. ✔️Особенность курса — подробный код-ревью от экспертов. Во время обучения вы пополните свое портфолио домашними заданиями и проектной работой, которая поможет уверенно проходить собеседования на Middle+ специалиста с зарплатой от 200 тыс. рублей. 📌Узнайте больше о программе курса и пройдите вступительный тест, чтобы попасть в группу со скидкой: https://otus.pw/13QP/
  • Библиотека Java разработчика

    Почему важен graceful shutdown в облачной среде (на примере Kubernetes + Spring Boot) В облаке многие думают над стартом приложения, но не все задумываются о том, как оно завершается. В свое время мы наловили довольно много ошибок, связанных именно с остановкой подов. Например, увидели, что Kubernetes изредка убивает наше приложение до того, как оно успевает освободить ресурсы, хотя вроде бы так происходить не должно. Воспроизвести проблему с первого подхода не получилось, и мы задались вопросом, а что же там происходит под капотом? Далее 👉@BookJava
  • Библиотека Java разработчика

    ⁉️Стремитесь к росту в Java-разработке? 🎯Начните осваивать современные возможности Spring! Ждем вас на открытом уроке «REST и Spring Session» 24 августа в 20:00 мск. На занятии с Юрием Дворжецким, ведущим full-stack разработчиком, рассмотрим, что такое REST, как пишутся REST-сервисы с использованием Spring MVC. Также обсудим вопросы применения Spring Session. Вебинар в OTUS — это возможность протестировать курс онлайн-курс «Разработчик на Spring Framework». 📌Чтобы зарегистрироваться на мероприятие, пройдите вступительный тест: https://otus.pw/qlwe/
  • Реклама

  • Библиотека Java разработчика

    Можно ли наследовать аннотацию? Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново. Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override. Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation. #Классы #Аннотации 👉@BookJava
  • Библиотека Java разработчика

    ⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих разработчиков «Альфа-Банка» и сможете проектировать масштабируемые и отказоустойчивые приложения. За 5 месяцев вы научитесь: ✅ применять архитектурные стили и паттерны проектирования — API Gateway, CQRS и «Сага»; ✅ выявлять и проверять нефункциональные требования и характеристики систем; ✅ строить распределённые системы на основе микросервисов и создавать cloud-native-приложения; ✅ принимать архитектурные решения исходя из контекста; ✅ учитывать вопросы кибербезопасности при проектировании. Навыки отточите на реальных задачах, а в конце курса презентуете итоговый проект — создадите отказоустойчивую систему по брифу от заказчика. Спешите приобрести курс со скидкой! 🔥 Также для IT-специалистов действуют специальные плюшки от государства! Узнать больше: https://clc.to/lUFx_g
  • Библиотека Java разработчика

    Как сделать хеширование паролей в Java-приложениях правильным способом! Существует множество способов хранения конфиденциальных паролей. И хотя наличие выбора - это здорово, в контексте хранения паролей неправильный выбор может стать кошмаром безопасности. В этой статье мы обсудим, как следует хэшировать пароли в Java-приложениях. Хотя вы можете применять эти принципы к любой экосистеме, мы специально покажем лучший способ хэширования паролей в Java. 👉@BookJava
    How to do password hashing in Java applications the right way

    The first rule of password hashing algorithms is: Don't write your own password hashing algorithm! Let's learn how we do password hashing.

    foojay
  • Библиотека Java разработчика

    Apache Kafka — платформа, с которой можно передавать и хранить информацию, сообщения в режиме реального времени. С ней работают везде: в крупных госкорпорациях и частном бизнесе, в финтехе и авиации. Прямых конкурентов для организации для работы микросервисов нет, поэтому сисадминам, архитекторам ПО и разработчикам всё равно придется разбираться с Apache Kafka. Можно потратить 2-3 месяца на самостоятельное изучение и чтение документации, перелопать весь YouTube и всё равно плавать. А можно прийти к нам на базовый курс по Apache Kafka и получить всё и сразу: 📌Мы собрали необходимую информацию в одном месте, материалы будут доступны 2 года; 📌За основу курса взяли опыт двух разрабов, которые внедряли Apache Kafka на предприятии с нуля. Их инсайты, опыт и выводы — всё станет вашим; 📌Курс заточен на практику: теорию сразу же можно отработать на задачах, основанных на жизненных кейсах. ⠀ Видеокурс доступен уже сейчас, а 12 сентября стартует поток со спикерами. ⠀ Кафка, от которой нельзя отказаться: https://slurm.club/3Ca20iO
  • Библиотека Java разработчика

    Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать". К какой из двух категорий относится эта статья — решать вам. В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring. 👉@BookJava
  • Библиотека Java разработчика

    🔥 Хотите углубить свои знания в области автоматизированного тестирования? 🔥 📌 Приходите 22 августа в 20:00 мск на открытый урок «Install Selenoid cluster» в OTUS. На встрече с экспертом рассмотрим разворачивание selenoid кластера с использованием docker и разберемся, как организовать балансировку нагрузки между selenoid инстансами. Еще больше полезных навыков ждет вас на онлайн-курсе «Java QA Engineer. Professional» для автоматизаторов тестирования на Java с опытом. 👉🏼 Для комфортного участия определите свой уровень подготовки. Пройдите тест https://otus.pw/Erti/
  • Библиотека Java разработчика

    Для чего используются аннотации? Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства RetentionPolicy: SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории: Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate. Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException. CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов. RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson. #Язык #Аннотации 👉@BookJava
  • Библиотека Java разработчика

    ♨️Задумываешься начать карьеру в IT в качестве Java-разработчика? 🎯 Испытай себя в этом деле на открытом уроке 22 августа в 20:00 «Элементы формальной логики. Базовые структуры данных в языке Java» в OTUS. Вместе с сертифицированным Java-разработчиком Евгением Непомнящим познакомимся с основами алгоритмов и булевой алгебры. В процессе мы изучим базовые структуры данных языка Java: массивы, списки и словари. 📚Занятие проходит в рамках буткемпа «Java Developer» для тех, кто хочет за 3 месяца освоить профессию Java-разработчика. 📌Запишитесь на урок: https://otus.pw/ZEf1/
  • Библиотека Java разработчика

    Атака на String.hashCode: прообразы и коллизии Как-то раз мне понадобилось несколько наборов строк с коллизией по хеш-коду. То есть таких, чтобы значение String::hashCode() совпадало для всех строк в наборе. Блуждание по интернету не дало результатов, примеров было мало и все они довольно однообразны. Поиск по словарям подарил забавную пару "javascript's".hashCode() == "monocle".hashCode(), но практической пользы не принёс. Полный перебор не рассматривался в виду скорой тепловой смерти вселенной. Тот самый случай, когда проще сделать всё самому. Стандартная хеш-функция строки в Java считается криптографически нестойкой, так что знаний из школьного курса математики должно быть достаточно. Далее 👉@BookJava
  • Библиотека Java разработчика

    Подборка каналов для IT специалистов 🎯 https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С https://t.me/kotlin_lib Подборки полезного материала по Kotlin https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/React_lib Подборки по React js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста https://t.me/frontend_sovet Frontend советы, примеры и практика! Программирование C++📌 https://t.me/cpp_lib Библиотека C/C++ разработчика https://t.me/cpp_knigi Книги для программистов 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 GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub CodePen 📌 https://t.me/codepen_1 Сообщество пользователей CodePen Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков Разработка игр 📌 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/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/ux_web Статьи, книги для дизайнеров https://t.me/arhitekturamira World Architecture Системное администрирование 📌 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/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике Арбитраж трафика 📌 https://t.me/partnerochkin CPA и арбитраж трафика Крипта 📌 https://t.me/bitkoinoff Новости криптовалют Метавселенная, GameFi, Crypto 📌 https://t.me/metaverse360 DeepFake 📌 https://t.me/deepfakenow Публикуем deepfake видео Мир технологий 📌 https://t.me/mir_teh Видео из мира технологий Excel лайфхак📌 https://t.me/Excel_lifehack
    1C программист

    Cтатьи, курсы, советы, шаблоны кода 1С

    Telegram
  • Библиотека Java разработчика

    Набор шпаргалок по kotlin ✍️ @kotlin_lib

    RW-Kotlin-Cheatsheet-1.1.pdf

    application/pdf
  • Библиотека Java разработчика

    Бесплатный онлайн-митап для Java-разработчиков от IT_One при поддержке JUG Ru Group. IT_One Java Meetup — 18 августа, 18:00, онлайн Доклады в программе: ✔️Роман Тищенко — «Гайд: что нужно начинающему Java-разработчику» Из этого доклада вы узнаете об основных технологиях при разработке ПО и путях развития начинающего специалиста. ✔️Андрей Дудин, Константин Харитонов — «OPENTRACING: как перестать искать иголку в стоге сена» Сотни микросервисов оставляют миллионы строк логов, а среди них нужно найти лишь одну. Спикеры расскажут, как OpenTracing может решить эту проблему. В конце доклада вас ждет бонус — лайфхаки, которые помогут сэкономить нервы и время при расследовании инцидентов. Вы также сможете поучаствовать в дискуссиях и задать вопросы спикерам. Автор лучшего вопроса получит крутую толстовку 🎁 Участие бесплатное, нужно только зарегистрироваться: https://bit.ly/3JNPHL6
  • Реклама

  • Библиотека Java разработчика

    Как Java выбирает перегруженный метод? (1/2) Метод может быть перегружен различными параметрами – в классе могут существовать несколько разных методов с одинаковым названием. При вызове такого метода выбор конкретного варианта происходит на этапе компиляции (раннее связывание). В деталях алгоритм выбора перегруженного метода описан в спецификации. Выбор происходит в два шага. На первом выбирается одна из трех фаз – множество подходящих методов. 1. Методы, в которые переданные параметры подходят по типу либо как есть, либо с применением расширения (upcasting) примитивов или ссылочных типов, исключая vararg-параметры. 2. Если в фазе 1 подходящих методов не нашлось, к ее условиям добавляются возможность боксинга/анбоксинга параметров. Обратите внимание, в комбинации работает только боксинг+расширение, но не наоборот. 3. Если и для фазы 2 нет удовлетворительных сигнатур, к условиям поиска подключаются vararg-параметры. В случае, когда ни один метод не нашелся ни в одной фазе, компиляция завершается ошибкой. Когда в фазе имеется несколько подходящих методов, используется наиболее специфичный среди них (но только в рамках данной фазы!). Метод A считается более специфичным чем B, когда типы параметров одного метода – подтипы типов параметров другого. То есть любые возможные значения аргументов A подошли бы и для B, но не наоборот. В условии специфичности говорится о типах параметров метода, а не о типах передаваемых значений. Так что боксинг/анбоксинг не учитывается, и метод с параметром int не считается более специфичным, чем с параметром Object (в отличие от Integer). Хотя, целое число можно передавать и как Object, и как Integer. Подробное объяснение. Когда среди методов невозможно выделить один наиболее специфичный, происходит ошибка компиляции. #Язык 👉@BookJava
  • Библиотека Java разработчика

    ☘️Хардкорный тест из 21 вопроса только для тех, кто уже знает и любит Java и хочет освоить Framework Spring. 🚀Если сможете сдать — пройдёте на продвинутый курс для разработчиков по спец.цене. ⏰ Время прохождения теста ограничено 30 минут 👉🏻ПРОЙТИ ТЕСТ: https://otus.pw/p0uI/
  • Библиотека Java разработчика

    Thymeleaf + Spring WebFlux + Spring Security Thymeleaf появился довольно давно, как минимум 10 лет назад, но он до сих пор весьма популярен и активно поддерживается. Шаблоны Thymeleaf удобны тем, что при простом открытии в браузере они выглядят как обычные HTML-страницы и их можно использовать как статический прототип приложения. В этой статье рассмотрим, как создать простое приложение Spring WebFlux с Thymeleaf, аутентификацией Okta OIDC, защитой от CSRF-атак и контролем полномочий. 👉@BookJava