Стартануть в IT быстро и эффективно — подготовительный курс по Java-разработке.
⏰ Начинаем уже 7 ноября!
Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.
Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.
Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.
Запишитесь прямо сейчас!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8Jye7Z
⏰ Начинаем уже 7 ноября!
Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.
Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.
Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.
Запишитесь прямо сейчас!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8Jye7Z
👍6☃4❤1
Какие существуют модификаторы доступа?
private (приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default, package-private, package level (доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected (защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public (публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов по возрастанию уровня закрытости: public, protected, default, private.
Во время наследования возможно изменения модификаторов доступа в сторону большей видимости (для поддержания соответствия принципу подстановки Барбары Лисков).
private (приватный): члены класса доступны только внутри класса. Для обозначения используется служебное слово private.
default, package-private, package level (доступ на уровне пакета): видимость класса/членов класса только внутри пакета. Является модификатором доступа по умолчанию - специальное обозначение не требуется.
protected (защищённый): члены класса доступны внутри пакета и в наследниках. Для обозначения используется служебное слово protected.
public (публичный): класс/члены класса доступны всем. Для обозначения используется служебное слово public.
Последовательность модификаторов по возрастанию уровня закрытости: public, protected, default, private.
Во время наследования возможно изменения модификаторов доступа в сторону большей видимости (для поддержания соответствия принципу подстановки Барбары Лисков).
👍26❤5🔥2
— Ответьте на 21 вопрос и проверьте, насколько хорошо вы знаете язык Java и готовы освоить Spring. Сможете сдать — пройдёте на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!
Курс доступен в рассрочку.
🎁 Пройдете успешно тест, получите доступ к открытым урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Можно ли считать Final переменную константой?
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
🔥24👍12
О чем говорит ключевое слово final?
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
👍30🔥4❤2
Что вы знаете о функции main()?
Метод
Метод
main()
— точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found
`.👍28❤4🔥4
Selenide — это фреймворк для написания удобных для чтения и поддержки автоматизированных тестов на Java.
Язык: Java
💥Stars: 1743
📝Forks: 591
https://github.com/selenide/selenide
Язык: Java
💥Stars: 1743
📝Forks: 591
https://github.com/selenide/selenide
GitHub
GitHub - selenide/selenide: Concise UI Tests with Java!
Concise UI Tests with Java! Contribute to selenide/selenide development by creating an account on GitHub.
👍18
Рабочий код != правильный код.
А вы точно пишите код правильно?
Школа программирования YKul приглашает пройти эффективное обучение Java, основанное на менторстве.
🎓Стать нашим студентом можно с любым уровнем подготовки!
💰Не нужно оплачивать весь курс сразу. При необходимости вы сможете сделать перерыв и не потерять деньги 😉
На обучении в школе YKul – все будет как на настоящей работе, только с поддержкой ментора - действующего разработчика.
Вы получите:
✅ Индивидуальный учебный план с учетом уровня вашей подготовки.
✅ Профессиональных наставников, готовых ответить на любые ваши вопросы.
✅ Сертификат об окончании школы YKuL и портфолио с готовыми кейсами - как плюс для вашего резюме.
✅ Индивидуальную поддержку нашего HR-специалиста.
❓Хотите проверить подходит ли вам формат обучения❓
➡️Запишитесь на курс: https://clck.ru/36LGuR
Первые 7 дней – бесплатно❗️
Наша глобальная цель – увеличить число компетентных программистов.
Присоединяйтесь!
Реклама: ИП Кулагин Андрей Николаевич, ИНН: 740411652688
А вы точно пишите код правильно?
Школа программирования YKul приглашает пройти эффективное обучение Java, основанное на менторстве.
🎓Стать нашим студентом можно с любым уровнем подготовки!
💰Не нужно оплачивать весь курс сразу. При необходимости вы сможете сделать перерыв и не потерять деньги 😉
На обучении в школе YKul – все будет как на настоящей работе, только с поддержкой ментора - действующего разработчика.
Вы получите:
✅ Индивидуальный учебный план с учетом уровня вашей подготовки.
✅ Профессиональных наставников, готовых ответить на любые ваши вопросы.
✅ Сертификат об окончании школы YKuL и портфолио с готовыми кейсами - как плюс для вашего резюме.
✅ Индивидуальную поддержку нашего HR-специалиста.
❓Хотите проверить подходит ли вам формат обучения❓
➡️Запишитесь на курс: https://clck.ru/36LGuR
Первые 7 дней – бесплатно❗️
Наша глобальная цель – увеличить число компетентных программистов.
Присоединяйтесь!
Реклама: ИП Кулагин Андрей Николаевич, ИНН: 740411652688
👍7🔥4😁4❤3
Конструктор по умолчанию
Конструктор по умолчанию предоставляется компилятором Java, если в классе не определен ни один другой конструктор. Конструктор по умолчанию инициализирует все поля класса значениями по умолчанию (например, 0 для числовых типов, false для типа boolean, null для ссылочных типов).
Если же в классе определен хотя бы один конструктор (с параметрами или без), компилятор не будет предоставлять конструктор по умолчанию, и его необходимо определить явно, если он нужен.
В этом примере мы определяем класс MyClass с двумя полями: x и y, а также определяем конструктор по умолчанию, который выводит сообщение при вызове. В методе main создаем экземпляр класса MyClass, используя конструктор по умолчанию, и выводим значения полей x и y, которые инициализированы значениями по умолчанию.
Конструктор по умолчанию предоставляется компилятором Java, если в классе не определен ни один другой конструктор. Конструктор по умолчанию инициализирует все поля класса значениями по умолчанию (например, 0 для числовых типов, false для типа boolean, null для ссылочных типов).
Если же в классе определен хотя бы один конструктор (с параметрами или без), компилятор не будет предоставлять конструктор по умолчанию, и его необходимо определить явно, если он нужен.
В этом примере мы определяем класс MyClass с двумя полями: x и y, а также определяем конструктор по умолчанию, который выводит сообщение при вызове. В методе main создаем экземпляр класса MyClass, используя конструктор по умолчанию, и выводим значения полей x и y, которые инициализированы значениями по умолчанию.
👍24🔥3
Инкапсуляция
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
👍31🔥6❤4
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
👍9❤3🔥2
Enterprise Social for the Java Platform: Shares, Mashups, Likes, and Ways to Integrate Social Media into Your Cloud Native Enterprise Java Applications (2024)
Learn everything you need to know about frameworks that help developers to integrate their solutions with social networks or APIs, from general purpose (Facebook, Twitter, Google, Mastodon) to specialized (LinkedIn, Xing, WhatsApp, YouTube, Instagram, Flickr, TikTok) to vertical (eToro, Fitbit, Strava). This book will teach you how to add social media features to web applications or services developed using Java, Jakarta EE, or generally running on a Java Virtual Machine (JVM).
Jam-packed with practical examples of social integration into enterprise applications, you’ll learn how to address common requirements such as social login, identity federation, single sign-on via social accounts, OpenID Connect, and mashups. You’ll also see how to leverage Java social frameworks like Facebook Business SDK, Twitter4J, Agorava, Keycloak, and Spring Security.
Learn everything you need to know about frameworks that help developers to integrate their solutions with social networks or APIs, from general purpose (Facebook, Twitter, Google, Mastodon) to specialized (LinkedIn, Xing, WhatsApp, YouTube, Instagram, Flickr, TikTok) to vertical (eToro, Fitbit, Strava). This book will teach you how to add social media features to web applications or services developed using Java, Jakarta EE, or generally running on a Java Virtual Machine (JVM).
Jam-packed with practical examples of social integration into enterprise applications, you’ll learn how to address common requirements such as social login, identity federation, single sign-on via social accounts, OpenID Connect, and mashups. You’ll also see how to leverage Java social frameworks like Facebook Business SDK, Twitter4J, Agorava, Keycloak, and Spring Security.
👍9❤5🔥2
FileChannel
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
👍25❤3🔥3
Отложенная инициализация
Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта до момента его реального использования. Он полезен, когда создание объекта требует значительных ресурсов или происходит в условиях, когда объект может не понадобиться.
В Java есть несколько способов реализации отложенной инициализации. Два наиболее распространенных подхода — это использование двойной проверки и использование внутреннего класса. На картинке мы рассмотрели использование двойной проверки (Double-Checked Locking).
Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта до момента его реального использования. Он полезен, когда создание объекта требует значительных ресурсов или происходит в условиях, когда объект может не понадобиться.
В Java есть несколько способов реализации отложенной инициализации. Два наиболее распространенных подхода — это использование двойной проверки и использование внутреннего класса. На картинке мы рассмотрели использование двойной проверки (Double-Checked Locking).
👍14🔥3❤2
Узнаете на бесплатном открытом уроке «Разработка REST-клиентов на Spring» от OTUS.
На эфире рассмотрим Rest Template и WebClient, SOAP-сервисы и SOAP-клиентов на Spring.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2☃1
Артем вкратце расскажет об одном из аналитических сервисов своего проекта и о некоторых сложностях, с которыми его команда столкнулась в процессе разработки. Сломает стереотип о том, что Redis — это просто база для кэша. Поговорит о возможностях Redis в качестве БД для аналитики, а также о том, как с ним работать на стеке Java + Spring. Покажет схему работы с двумя БД, примеры кода и демо проекта.
В заключении спикер расскажет о том, что в команде получили на выходе (производительность), и о подводных камнях, с которыми столкнулись.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Артем Артемьев — Моментальная аналитика с помощью Spring + Redis. Это возможно?
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
В каждой крупной компании есть аналитические сервисы, и компания спикера — не исключение.
Артем вкратце расскажет об одном из аналитических…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
В каждой крупной компании есть аналитические сервисы, и компания спикера — не исключение.
Артем вкратце расскажет об одном из аналитических…
👍11❤2🔥2
Java для всех (2020) PDF
Java — один из самых популярных и востребованных языков в мире. Алексей Васильев — автор многочисленных компьютерных бестселлеров — познакомит вас со всем необходимым для эффективной работы с этим языком. Вы изучите базовые типы, управляющие инструкции, особенности описания классов и объектов в Java, создание интерфейсов, лямбда-выражения, обобщенные классы. Каждая глава содержит примеры кода, которые в свою очередь снабжены как построчными пояснениями, так и подробным разбором примера программы. Примеры, используемые в этой книге, пригодятся вам в дальнейшей работе с языком Java. Программирование — это нестрашно! Даже если у вас нет никакого опыта, вы с легкостью освоите Java, воспользовавшись уникальной методикой Алексея Васильева, и перейдете на профессиональный уровень.
Java — один из самых популярных и востребованных языков в мире. Алексей Васильев — автор многочисленных компьютерных бестселлеров — познакомит вас со всем необходимым для эффективной работы с этим языком. Вы изучите базовые типы, управляющие инструкции, особенности описания классов и объектов в Java, создание интерфейсов, лямбда-выражения, обобщенные классы. Каждая глава содержит примеры кода, которые в свою очередь снабжены как построчными пояснениями, так и подробным разбором примера программы. Примеры, используемые в этой книге, пригодятся вам в дальнейшей работе с языком Java. Программирование — это нестрашно! Даже если у вас нет никакого опыта, вы с легкостью освоите Java, воспользовавшись уникальной методикой Алексея Васильева, и перейдете на профессиональный уровень.
👍14🔥5
В этом видео вы узнаете, как писать эффективные тесты для контроллеров в Spring Framework. Мы возьмем за основу WorkerController и на примерах покажем, как применять Mockito для модульного тестирования, настраивать MockMvc и использовать аннотации @Mock и @InjectMocks. Вы научитесь тестировать HTTP запросы, проверять статусы ответов и убедитесь в правильности возвращаемых данных. Помимо основных тестов, автор покажет бонусный трюк, как избежать ручной инициализации в тестах с помощью @WebMvcTest.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ТЕСТИРОВАНИЕ КОНТРОЛЛЕРОВ SPRING НА JAVA
В этом видео вы узнаете, как писать эффективные тесты для контроллеров в Spring Framework. Мы возьмем за основу WorkerController и на примерах покажем, как применять Mockito для модульного тестирования, настраивать MockMvc и использовать аннотации @Mock и…
👍20🔥6❤4