Отличие асинхронного ввода-вывода от синхронного:
1) https://habr.com/ru/post/235585/
2) https://tproger.ru/translations/diversity-of-input-output-io/
3) https://medium.com/nuances-of-programming/асинхронность-в-java-dd5077579ce1
4) https://habr.com/ru/company/oleg-bunin/blog/543386/
5) https://medium.com/plain-and-simple/synchronous-vs-asynchronous-vs-concurrent-vs-parallel-4342bfb8b9f2
1) https://habr.com/ru/post/235585/
2) https://tproger.ru/translations/diversity-of-input-output-io/
3) https://medium.com/nuances-of-programming/асинхронность-в-java-dd5077579ce1
4) https://habr.com/ru/company/oleg-bunin/blog/543386/
5) https://medium.com/plain-and-simple/synchronous-vs-asynchronous-vs-concurrent-vs-parallel-4342bfb8b9f2
Курс Разработка на Java от VK
https://www.youtube.com/watch?v=Ok81Ue2mu0A&list=PLrCZzMib1e9pnFbVV3u4s7ki5NTnm7WgT
https://www.youtube.com/watch?v=Ok81Ue2mu0A&list=PLrCZzMib1e9pnFbVV3u4s7ki5NTnm7WgT
YouTube
1. Разработка на Java (2018). Java intro 1 | Технострим
Слайды лекции: https://cloud.mail.ru/public/GNfk/sSDUFc3BL
Другие лекции курса: https://goo.gl/5sZMbx
Подробнее о курсе: https://goo.gl/rkukGb
Материалы курса: https://github.com/rybalkinsd/atom
Лекция читается в рамках образовательного проекта "Техносфера…
Другие лекции курса: https://goo.gl/5sZMbx
Подробнее о курсе: https://goo.gl/rkukGb
Материалы курса: https://github.com/rybalkinsd/atom
Лекция читается в рамках образовательного проекта "Техносфера…
Java Digest #1
1) Начался релизный цикл Java 21, который выйдет 19 сентября.
2) В Intellij IDEA появится AI-ассистент, который поможет с документацией и сообщениями коммитов.
3) Опубликованы доклады со Spring I/O 2023, включая Keynote и презентацию Presentation As A Code.
4) Spring Boot Application Testing and Development with Testcontainers подробно описывает поддержку Testcontainers в Spring Boot 3.1.
5) Использование оконных функций с Hibernate 5 и 6 рассматривается в статье.
6) Лучшие практики скриптования в Jira Server/Data Center - как написать автоматизацию на Groovy с использованием API Jira Java.
1) Начался релизный цикл Java 21, который выйдет 19 сентября.
2) В Intellij IDEA появится AI-ассистент, который поможет с документацией и сообщениями коммитов.
3) Опубликованы доклады со Spring I/O 2023, включая Keynote и презентацию Presentation As A Code.
4) Spring Boot Application Testing and Development with Testcontainers подробно описывает поддержку Testcontainers в Spring Boot 3.1.
5) Использование оконных функций с Hibernate 5 и 6 рассматривается в статье.
6) Лучшие практики скриптования в Jira Server/Data Center - как написать автоматизацию на Groovy с использованием API Jira Java.
👍1
Как пройти собес и не облажаться
Тренировка: намеренное тренировочное собеседование с друзьями или сервисом Pramp.
Задачи и навыки: изучение алгоритмов на LeetCode, использование roadmap.
Резюме: писать на английском, избегать красных флагов, указывать ключевые навыки.
Как вести себя на интервью: отвечать на базовые вопросы, демонстрировать знания Computer Science, продуктовых вещей, практики.
Уровень зарплаты: ориентироваться на рынок, примерные цифры для разных уровней.
Тренировка: намеренное тренировочное собеседование с друзьями или сервисом Pramp.
Задачи и навыки: изучение алгоритмов на LeetCode, использование roadmap.
Резюме: писать на английском, избегать красных флагов, указывать ключевые навыки.
Как вести себя на интервью: отвечать на базовые вопросы, демонстрировать знания Computer Science, продуктовых вещей, практики.
Уровень зарплаты: ориентироваться на рынок, примерные цифры для разных уровней.
👍1
Как установить java (jdk) на windows:
1) Готовая сборка openjdk под windods: https://learn.microsoft.com/en-us/java/openjdk/download и просто установить
2) Готовая сборка adopt-jdk под windods: https://adoptium.net/temurin/releases/?version=17
Скачать .msi фал и установить
1) Готовая сборка openjdk под windods: https://learn.microsoft.com/en-us/java/openjdk/download и просто установить
2) Готовая сборка adopt-jdk под windods: https://adoptium.net/temurin/releases/?version=17
Скачать .msi фал и установить
👍1
Lazy и Eager - это два подхода к загрузке данных в Hibernate, который является инструментом для работы с базами данных в Java.
Lazy Loading (ленивая загрузка):
В случае использования ленивой загрузки, Hibernate загружает данные из базы данных только тогда, когда они действительно понадобятся в программе.
Например, если у вас есть сущность, связанная с другой сущностью (например, Order и связанная с ней Customer), то при использовании ленивой загрузки, информация о Customer будет загружена только тогда, когда вы попытаетесь обратиться к ней.
Это может быть полезно в случаях, когда у вас есть большая база данных с множеством связанных данных, но вы хотите загружать только то, что действительно нужно в текущей ситуации. Это помогает экономить ресурсы.
Eager Loading (жадная загрузка):
При использовании жадной загрузки, Hibernate пытается загрузить все связанные данные сразу, когда основная сущность извлекается из базы данных.
Например, если вы используете жадную загрузку в предыдущем примере, то при запросе Order, данные о Customer будут загружены одновременно.
Это может быть полезно, когда вы точно знаете, что вам понадобятся все связанные данные, чтобы избежать дополнительных обращений к базе данных в будущем.
Какой подход использовать зависит от конкретной ситуации и требований вашего приложения. Обычно, если у вас есть много связанных данных и вы не уверены, нужны ли они вам в текущем контексте, то лучше использовать ленивую загрузку. Если же вы уверены, что вам понадобятся все связанные данные, то можно использовать жадную загрузку.
https://javarush.com/quests/lectures/questhibernate.level14.lecture01
Lazy Loading (ленивая загрузка):
В случае использования ленивой загрузки, Hibernate загружает данные из базы данных только тогда, когда они действительно понадобятся в программе.
Например, если у вас есть сущность, связанная с другой сущностью (например, Order и связанная с ней Customer), то при использовании ленивой загрузки, информация о Customer будет загружена только тогда, когда вы попытаетесь обратиться к ней.
Это может быть полезно в случаях, когда у вас есть большая база данных с множеством связанных данных, но вы хотите загружать только то, что действительно нужно в текущей ситуации. Это помогает экономить ресурсы.
Eager Loading (жадная загрузка):
При использовании жадной загрузки, Hibernate пытается загрузить все связанные данные сразу, когда основная сущность извлекается из базы данных.
Например, если вы используете жадную загрузку в предыдущем примере, то при запросе Order, данные о Customer будут загружены одновременно.
Это может быть полезно, когда вы точно знаете, что вам понадобятся все связанные данные, чтобы избежать дополнительных обращений к базе данных в будущем.
Какой подход использовать зависит от конкретной ситуации и требований вашего приложения. Обычно, если у вас есть много связанных данных и вы не уверены, нужны ли они вам в текущем контексте, то лучше использовать ленивую загрузку. Если же вы уверены, что вам понадобятся все связанные данные, то можно использовать жадную загрузку.
https://javarush.com/quests/lectures/questhibernate.level14.lecture01
JavaRush
Курс SQL & Hibernate - Лекция: Lazy Loading при маппинге коллекций
Параметр fetch. Значение по умолчанию. Аннотация @LazyCollection
Инструменты из JDK для диагностики java приложений
https://docs.oracle.com/en/java/javase/11/tools/troubleshooting-tools-and-commands.html
https://docs.oracle.com/en/java/javase/11/tools/troubleshooting-tools-and-commands.html
System Design
1. Где/зачем нужен системный дизайн
https://www.youtube.com/watch?v=o0gK-M_e5TM
2.2 Сбор требований к системе
https://www.youtube.com/watch?v=TT4HCh0I7ks
3.2 Расчет нагрузки на систему
https://www.youtube.com/watch?v=zl12QDJozos
4.2 Высокоуровневый дизайн
https://www.youtube.com/watch?v=6yeMShynJw0
5.2 Выбор подходящих баз данных
https://www.youtube.com/watch?v=CcstkG8RCAc
6.2 Модульный подход к дизайну
https://www.youtube.com/watch?v=uhH5f72O9pU
7.2 Масштабирование системы
https://www.youtube.com/watch?v=68Dcpg7Tx1Q
8.2 Повышение отзывчивости
https://www.youtube.com/watch?v=-SbDjL_g1wo
9.2 Подсистемы для поиска
https://www.youtube.com/watch?v=yxIVBKANSkQ
10.2 Дополнительные подсистемы
https://www.youtube.com/watch?v=vP3g6Y-262Y
11.1 Функциональные и нефункциональные требования к системе
https://www.youtube.com/watch?v=eQZ9K-q8jiM
11.2 Оценка нагрузки и высокоуровневый дизайн приложения
https://www.youtube.com/watch?v=gxEaU73IKeo
11.3 Дизайн компонентов
https://www.youtube.com/watch?v=WsGaBdZ3HKg
11.4 Масштабируем сервисы
https://www.youtube.com/watch?v=kt1cEfJyNJg
12. Дизайним сервис такси
https://www.youtube.com/watch?v=HdwrKS8mPow
1. Где/зачем нужен системный дизайн
https://www.youtube.com/watch?v=o0gK-M_e5TM
2.2 Сбор требований к системе
https://www.youtube.com/watch?v=TT4HCh0I7ks
3.2 Расчет нагрузки на систему
https://www.youtube.com/watch?v=zl12QDJozos
4.2 Высокоуровневый дизайн
https://www.youtube.com/watch?v=6yeMShynJw0
5.2 Выбор подходящих баз данных
https://www.youtube.com/watch?v=CcstkG8RCAc
6.2 Модульный подход к дизайну
https://www.youtube.com/watch?v=uhH5f72O9pU
7.2 Масштабирование системы
https://www.youtube.com/watch?v=68Dcpg7Tx1Q
8.2 Повышение отзывчивости
https://www.youtube.com/watch?v=-SbDjL_g1wo
9.2 Подсистемы для поиска
https://www.youtube.com/watch?v=yxIVBKANSkQ
10.2 Дополнительные подсистемы
https://www.youtube.com/watch?v=vP3g6Y-262Y
11.1 Функциональные и нефункциональные требования к системе
https://www.youtube.com/watch?v=eQZ9K-q8jiM
11.2 Оценка нагрузки и высокоуровневый дизайн приложения
https://www.youtube.com/watch?v=gxEaU73IKeo
11.3 Дизайн компонентов
https://www.youtube.com/watch?v=WsGaBdZ3HKg
11.4 Масштабируем сервисы
https://www.youtube.com/watch?v=kt1cEfJyNJg
12. Дизайним сервис такси
https://www.youtube.com/watch?v=HdwrKS8mPow