Kotlin заходит в Telegram!
Рассказываем про Kotlin — молодой язык родом из Питера, который вовсю теснит Java в мобильной и бэкенд-разработке.
Его официально поддерживает Google, используют Jira и Adobe, а разработчики топовых приложений для Android переписывают на Kotlin свои продукты. Советуем подписаться, чтобы узнавать больше!
Рассказываем про Kotlin — молодой язык родом из Питера, который вовсю теснит Java в мобильной и бэкенд-разработке.
Его официально поддерживает Google, используют Jira и Adobe, а разработчики топовых приложений для Android переписывают на Kotlin свои продукты. Советуем подписаться, чтобы узнавать больше!
👍7❤🔥1🔥1
В этом ролике автор рассказывает о способах получения доступа к аутентифицированному пользователю
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Получение информации о пользователе - Spring Security в деталях
В этом ролике я рассказываю о способах получения доступа к аутентифицированному пользователю
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes…
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes…
👍20🔥1
Где и для чего используется модификатор abstract?
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
👍34
Микросервисы. Паттерны разработки и рефакторинга. (2019) PDF
Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились – переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.
Книга, предназначенная для разработчиков и архитекторов из больших корпораций, рассказывает, как проектировать и писать приложения в духе микросервисной архитектуры. Также в ней описано, как делается рефакторинг крупного приложения – и монолит превращается в набор микросервисов.
В этой книге:
• Как (и зачем!) использовать микросервисную архитектуру.
• Стратегии декомпозиции сервисов.
• Управление транзакциями и шаблоны запросов.
• Эффективные стратегии тестирования.
• Шаблоны развертывания, включая контейнеры и бессерверные платформы.
Если вам давно кажется, что вся разработка и развертывание в вашей компании донельзя замедлились – переходите на микросервисную архитектуру. Она обеспечивает непрерывную разработку, доставку и развертывание приложений любой сложности.
Книга, предназначенная для разработчиков и архитекторов из больших корпораций, рассказывает, как проектировать и писать приложения в духе микросервисной архитектуры. Также в ней описано, как делается рефакторинг крупного приложения – и монолит превращается в набор микросервисов.
В этой книге:
• Как (и зачем!) использовать микросервисную архитектуру.
• Стратегии декомпозиции сервисов.
• Управление транзакциями и шаблоны запросов.
• Эффективные стратегии тестирования.
• Шаблоны развертывания, включая контейнеры и бессерверные платформы.
👍23🔥4❤1
Дайте определение понятию «интерфейс». Какие модификаторы по умолчанию имеют поля и методы интерфейсов?
Ключевое слово
Начиная с
Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными
Ключевое слово
interface используется для создания полностью абстрактных классов. Основное предназначение интерфейса - определять каким образом мы можем использовать класс, который его реализует. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не реализует их поведение. Все методы неявно объявляются как public.Начиная с
Java 8 в интерфейсах разрешается размещать реализацию методов по умолчанию default и статических static методов.Интерфейс также может содержать и поля. В этом случае они автоматически являются публичными
public, статическими static и неизменяемыми final.👍26
В этом ролике автор рассказывает о точках входа аутентификации
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Точки входа аутентификации - Spring Security в деталях
В этом ролике я рассказываю о точках входа аутентификации
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Boosty: ht…
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/+TZCuO38vG3oqu_Jq
Стать доном: https://vk.com/donut/shurik.codes
Донаты в Boosty: ht…
👍19🔥2
Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
• В Java класс может одновременно реализовать несколько интерфейсов, но наследоваться только от одного класса.
• Абстрактные классы используются только тогда, когда присутствует тип отношений «is a» (является). Интерфейсы могут реализоваться классами, которые не связаны друг с другом.
• Абстрактный класс - средство, позволяющее избежать написания повторяющегося кода, инструмент для частичной реализации поведения. Интерфейс - это средство выражения семантики класса, контракт, описывающий возможности. Все методы интерфейса неявно объявляются как public abstract или (начиная с Java 8) default - методами с реализацией по-умолчанию, а поля - public static final.
• Интерфейсы позволяют создавать структуры типов без иерархии.
• Наследуясь от абстрактного, класс «растворяет» собственную индивидуальность. Реализуя интерфейс, он расширяет собственную функциональность.
Абстрактные классы содержат частичную реализацию, которая дополняется или расширяется в подклассах. При этом все подклассы схожи между собой в части реализации, унаследованной от абстрактного класса, и отличаются лишь в части собственной реализации абстрактных методов родителя. Поэтому абстрактные классы применяются в случае построения иерархии однотипных, очень похожих друг на друга классов. В этом случае наследование от абстрактного класса, реализующего поведение объекта по умолчанию может быть полезно, так как позволяет избежать написания повторяющегося кода. Во всех остальных случаях лучше использовать интерфейсы.
👍54❤5
Почему нельзя объявить метод интерфейса с модификатором final?
В случае интерфейсов указание модификатора
В случае интерфейсов указание модификатора
final бессмысленно, т.к. все методы интерфейсов неявно объявляются как абстрактные, т.е. их невозможно выполнить, не реализовав где-то еще, а этого нельзя будет сделать, если у метода идентификатор final.👍28
В этом ролике автор рассказывает об источниках информации о пользователях, способе реализации такого источника при помощи JDBC и его использовании.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Источники информации о пользователях - Spring Security в деталях
В этом ролике я рассказываю об источниках информации о пользователях, способе реализации такого источника при помощи JDBC и его использовании.
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/…
Мой сайт: https://alexkosarev.name/
Паблик в VK: https://vk.com/public218833461
Канал в Telegram:https://news.1rj.ru/str/…
👍13🔥2❤1
Легкий способ выучить Java (2019)
Java – один из самых популярных и востребованных языков программирования в мире, но и один из самых сложных для изучения, особенно для новичков. Автор этой книги, Брайсон Пейн, разработал собственный метод обучения, который строится на прохождении материала исключительно на практических примерах. Начните изучать Java, создавая несложные игры для ПК и Android, узнавайте, как работает инструмент JShell, используйте популярные среды разработки Eclipse и Android Studio, учитесь искать и исправлять ошибки в коде и становитесь востребованным программистом с книгой «Легкий способ выучить Java»!
Java – один из самых популярных и востребованных языков программирования в мире, но и один из самых сложных для изучения, особенно для новичков. Автор этой книги, Брайсон Пейн, разработал собственный метод обучения, который строится на прохождении материала исключительно на практических примерах. Начните изучать Java, создавая несложные игры для ПК и Android, узнавайте, как работает инструмент JShell, используйте популярные среды разработки Eclipse и Android Studio, учитесь искать и исправлять ошибки в коде и становитесь востребованным программистом с книгой «Легкий способ выучить Java»!
👍17☃3😁3🎅2
Что имеет более высокий уровень абстракции - класс, абстрактный класс или интерфейс?
Интерфейс.
Интерфейс.
👍32
Узнаем точную дату с помощью Java
Здесь мы сначала получаем текущую дату через метод
Затем создаем объект класса
Здесь мы сначала получаем текущую дату через метод
LocalDate.now(), затем вычитаем из нее заданное количество дней методом minusDays(), получая дату в прошлом.Затем создаем объект класса
DateTimeFormatter, который позволяет задать формат выводимой даты (в данном случае "dd.MM.yyyy"). И наконец, форматируем дату методом format() и выводим результат на экран.👍33🔥3❤1🤩1
Основы программирования на Java: Для школьников... и не только (2019) PDF
Курс «Основы компьютерных наук для средней школы» является базовым курсом по основам программирования. Данное издание рассчитано на учеников старших классов (9–11), не имеющих опыта в написании компьютерных программ или имеющих минимальный опыт. Такой подход позволяет использовать учебник и в рамках коллективных занятий (на уроках, факультативах или кружках), и при самостоятельном индивидуальном обучении.
Пособие содержит как общие теоретические положения подхода к написанию программ, так и описание практических приемов, а также разбор соответствующих излагаемому материалу примеров.
Книга написана на основании базовой части курса «Компьютерные науки», преподаваемого в 9–12 классах израильской школы. Авторы — ведущие преподаватели этого курса, с опытом работы более 25 лет.
Курс «Основы компьютерных наук для средней школы» является базовым курсом по основам программирования. Данное издание рассчитано на учеников старших классов (9–11), не имеющих опыта в написании компьютерных программ или имеющих минимальный опыт. Такой подход позволяет использовать учебник и в рамках коллективных занятий (на уроках, факультативах или кружках), и при самостоятельном индивидуальном обучении.
Пособие содержит как общие теоретические положения подхода к написанию программ, так и описание практических приемов, а также разбор соответствующих излагаемому материалу примеров.
Книга написана на основании базовой части курса «Компьютерные науки», преподаваемого в 9–12 классах израильской школы. Авторы — ведущие преподаватели этого курса, с опытом работы более 25 лет.
👍17❤1
Spring Security в Spring Boot 3.1 был обновлён до версии 6.1, в которой началась подготовка к релизу следующей мажорной версии - 7.0, в которой, как оказалось, разработчики хотят окончательно отказаться от старых DSL на основе цепочек методов. В этом коротком видео автор демонстрирует, как можно легко заменить устаревшие DSL на современные на основе лямбда-выражений.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Устаревшие DSL в Spring Security 6.1
Spring Security в Spring Boot 3.1 был обновлён до версии 6.1, в которой началась подготовка к релизу следующей мажорной версии - 7.0, в которой, как оказалось, разработчики хотят окончательно отказаться от старых DSL на основе цепочек методов. В этом коротком…
👍15❤6
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в
• Блок инициализации возможно создать и в анонимном классе.
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
• Существуют статические и нестатические блоки инициализации.
• Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
• Несколько блоков инициализации выполняются в порядке следования в коде класса.
• Блок инициализации способен генерировать исключения, если их объявления перечислены в
throws всех конструкторов класса.• Блок инициализации возможно создать и в анонимном классе.
👍19🔥1
К каким конструкциям Java применим модификатор static?
• полям;
• методам;
• вложенным классам;
• членам секции import.
• полям;
• методам;
• вложенным классам;
• членам секции import.
👍29❤1🔥1
Java. Эффективное программирование, 3-е издание (2019) PDF, DJVU
Язык программирования Java существенно изменился со времени предыдущего издания книги, опубликованного вскоре после выпуска Java б. Этот классический труд тщательно обновлен, чтобы читатели могли в полной мере воспользоваться возможностями последних версий языка и его библиотек функций. В современном Java поддерживается несколько парадигм программирования.
Как и в предыдущих изданиях, каждая глава книги состоит из ряда разделов, в каждом из которых описаны конкретные советы, приведены тонкости платформы Java и содержатся обновленные примеры кода. Для каждой темы приводятся всеобъемлющее описание и пояснения.
Третье издание охватывает особенности языка программирования и библиотек, появившихся в Java 7, 8 и 9, в том числе конструкции функционального программирования, добавленные к своим объектно-ориентированным корням. В книгу включены также многие новые советы и глава, посвященная лямбда-выражениям и потокам.
Язык программирования Java существенно изменился со времени предыдущего издания книги, опубликованного вскоре после выпуска Java б. Этот классический труд тщательно обновлен, чтобы читатели могли в полной мере воспользоваться возможностями последних версий языка и его библиотек функций. В современном Java поддерживается несколько парадигм программирования.
Как и в предыдущих изданиях, каждая глава книги состоит из ряда разделов, в каждом из которых описаны конкретные советы, приведены тонкости платформы Java и содержатся обновленные примеры кода. Для каждой темы приводятся всеобъемлющее описание и пояснения.
Третье издание охватывает особенности языка программирования и библиотек, появившихся в Java 7, 8 и 9, в том числе конструкции функционального программирования, добавленные к своим объектно-ориентированным корням. В книгу включены также многие новые советы и глава, посвященная лямбда-выражениям и потокам.
👍23🔥3❤2
При работе с контекстом безопасности Spring Security иногда возникают ситуации, когда разрабатываемое приложение начинает себя вести не очевидно, отвечать ошибками с HTTP-статусом 403, но без каких-либо подробностей, в том числе и в логах. И в этом случае приходится браться за отладку, о простых способах которой автор расскажет в этом ролике.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Отладка контекста безопасности - Spring Security в деталях
При работе с контекстом безопасности Spring Security иногда возникают ситуации, когда разрабатываемое приложение начинает себя вести не очевидно, отвечать ошибками с HTTP-статусом 403, но без каких-либо подробностей, в том числе и в логах. И в этом случае…
👍19🔥7
Предметно-ориентированное проектирование в Enterprise Java (2020) PDF
В книге подробно рассматриваются реализации шаблонов предметно-ориентированного проектирования с применением различных инструментальных средств и рабочих программных сред из Enterprise Java Space. При таком подходе читатель получает завершенную картину и возможность практического применения любого из этих средств в процессе предметно-ориентированного проектирования.
В начальных главах описывается эталонная реализация проекта Cargo Tracker - создание монолитного приложения с использованием платформы Jakarta EE. Затем рассматривается полный процесс преобразования монолитного приложения в архитектуру, основанную на микросервисах. В заключительных главах демонстрируется создание версии приложения с использованием шаблонов CQRS и Event Sourcing (ES); основной рабочей средой является Axon Framework.
В книге подробно рассматриваются реализации шаблонов предметно-ориентированного проектирования с применением различных инструментальных средств и рабочих программных сред из Enterprise Java Space. При таком подходе читатель получает завершенную картину и возможность практического применения любого из этих средств в процессе предметно-ориентированного проектирования.
В начальных главах описывается эталонная реализация проекта Cargo Tracker - создание монолитного приложения с использованием платформы Jakarta EE. Затем рассматривается полный процесс преобразования монолитного приложения в архитектуру, основанную на микросервисах. В заключительных главах демонстрируется создание версии приложения с использованием шаблонов CQRS и Event Sourcing (ES); основной рабочей средой является Axon Framework.
👍17❤1🔥1