This media is not supported in your browser
VIEW IN TELEGRAM
Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO
В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.
https://habr.com/ru/company/alfastrah/blog/706314/
👉@BookJava
В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.
https://habr.com/ru/company/alfastrah/blog/706314/
👉@BookJava
👍5
Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
👉@BookJava
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
👉@BookJava
Хабр
Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос. У нас был 3(три) Т‑Р-И...
🤣11👍3❤1
Forwarded from Книги по Java | Books Java 📚
Pro RESTful APIs with Micronaut: Build Java-Based Microservices with REST, JSON, and XML
Автор: Sanjay Patni (2023)
Откройте для себя технологии RESTful, включая REST, JSON, XML, веб-сервисы JAX-RS, SOAP и другие, для создания современных микросервисов на Java, приложений больших данных и приложений веб-сервисов с использованием фреймворка Micronaut.
Скачать
👉 @java_360
Автор: Sanjay Patni (2023)
Откройте для себя технологии RESTful, включая REST, JSON, XML, веб-сервисы JAX-RS, SOAP и другие, для создания современных микросервисов на Java, приложений больших данных и приложений веб-сервисов с использованием фреймворка Micronaut.
Скачать
👉 @java_360
👍3
Media is too big
VIEW IN TELEGRAM
Вся правда о массивах | структуры данных
00:00 Введение
02:10 Массивы
05:10 Поиск в массиве
05:42 Вставка в массив
06:54 Удаление из массива
08:40 Связанные списки
09:44 Вставка в связанный список
11:10 Поиск + вставка в середину связанного списка
11:56 Удаление из связанного списка
источник
👉@BookJava
00:00 Введение
02:10 Массивы
05:10 Поиск в массиве
05:42 Вставка в массив
06:54 Удаление из массива
08:40 Связанные списки
09:44 Вставка в связанный список
11:10 Поиск + вставка в середину связанного списка
11:56 Удаление из связанного списка
источник
👉@BookJava
👍2
new vs valueOf
Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👉@BookJava
Старайтесь всегда использовать метод valueOf вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👉@BookJava
👍10
Как создавать отзывчивые веб-приложения с помощью Spring Boot и React: Пошаговое руководство
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут стать идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания внутреннего приложения Spring Boot и его интеграцию с внешним приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
👉@BookJava
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут стать идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания внутреннего приложения Spring Boot и его интеграцию с внешним приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
👉@BookJava
👍5
Чем отличается Lambda от анонимного класса?
Хотя в некоторых случаях они и могут быть использованы взаимозаменяемо, Lambda-выражения и анонимные классы имеют различия.
Разберем основные из них:
1. Синтаксис: Lambda-выражения имеют более краткий и лаконичный синтаксис по сравнению с анонимными классами.
2. Область применения: Lambda-выражения могут быть использованы только для функциональных интерфейсов, в то время как анонимные классы могут быть использованы для любых интерфейсов и абстрактных классов.
3. Ключевое слово this: В анонимных классах ключевое слово this ссылается на сам анонимный класс, в то время как в lambda-выражениях this ссылается на объемлющий.
4. Производительность: Lambda-выражения обычно имеют лучшую производительность по сравнению с анонимными классами, так как они компилируются в приватные методы и используют инструкцию invokedynamic.
👉@BookJava
Хотя в некоторых случаях они и могут быть использованы взаимозаменяемо, Lambda-выражения и анонимные классы имеют различия.
Разберем основные из них:
1. Синтаксис: Lambda-выражения имеют более краткий и лаконичный синтаксис по сравнению с анонимными классами.
2. Область применения: Lambda-выражения могут быть использованы только для функциональных интерфейсов, в то время как анонимные классы могут быть использованы для любых интерфейсов и абстрактных классов.
3. Ключевое слово this: В анонимных классах ключевое слово this ссылается на сам анонимный класс, в то время как в lambda-выражениях this ссылается на объемлющий.
4. Производительность: Lambda-выражения обычно имеют лучшую производительность по сравнению с анонимными классами, так как они компилируются в приватные методы и используют инструкцию invokedynamic.
👉@BookJava
👍8
Elasticsearch - пишем свой поисковик на Java
00:00 Знакомство с автором
00:37 План вебинара
1:28 Изучение Java разработки на ITVDN
1:47 Задачи полнотекстового поиска
4:05 Поисковой движок Elasticsearch
7:45 Структура приложения
10:20 Установка и запуск Elasticsearch
13:28 Настройка в Postman
15:50 Обзор проекта в Elasticsearch
17:37 Создание индексов, поиск по индексу, поиск по нескольким полям
33:13 Поиск в найденном
40:30 Агрегация результатов поиска, поиск запросов с опечатками
46:38 Ранжирование результатов
51:23 Настройка форматирования результатов
55:52 Пагинация
1:05:30 Асинхронные вызовы, продвинутые возможности
1:17:00 Заключение
https://www.youtube.com/watch?v=sxepRqPnqew
👉@BookJava
00:00 Знакомство с автором
00:37 План вебинара
1:28 Изучение Java разработки на ITVDN
1:47 Задачи полнотекстового поиска
4:05 Поисковой движок Elasticsearch
7:45 Структура приложения
10:20 Установка и запуск Elasticsearch
13:28 Настройка в Postman
15:50 Обзор проекта в Elasticsearch
17:37 Создание индексов, поиск по индексу, поиск по нескольким полям
33:13 Поиск в найденном
40:30 Агрегация результатов поиска, поиск запросов с опечатками
46:38 Ранжирование результатов
51:23 Настройка форматирования результатов
55:52 Пагинация
1:05:30 Асинхронные вызовы, продвинутые возможности
1:17:00 Заключение
https://www.youtube.com/watch?v=sxepRqPnqew
👉@BookJava
YouTube
Elasticsearch - пишем свой поисковик на Java
Промокод на скидку 15% на все курсы ITVDN- 4YOUTUBE
Материалы вебинара - https://itvdn.com/ru/webinars/description/elasticksearch?utm_source=yb_webinar_elasticksearch
На вебинаре “Elasticsearch - пишем свой поисковик на Java” будет рассмотрено, как создать…
Материалы вебинара - https://itvdn.com/ru/webinars/description/elasticksearch?utm_source=yb_webinar_elasticksearch
На вебинаре “Elasticsearch - пишем свой поисковик на Java” будет рассмотрено, как создать…
👍11😢1
Дженерики в Java и их реализация
В программировании на Java в J2SE 5 для работы с типобезопасными объектами были введены языковые дженерики. Они выявляют ошибки на этапе компиляции, благодаря чему код становится стабильным. До введения дженериков в коллекции можно было хранить объекты любого типа. Теперь, после введения дженериков в язык программирования Java, программисты вынуждены хранить определенные типы объектов.
https://dzone.com/articles/generics-in-java-and-their-implementation
👉@BookJava
В программировании на Java в J2SE 5 для работы с типобезопасными объектами были введены языковые дженерики. Они выявляют ошибки на этапе компиляции, благодаря чему код становится стабильным. До введения дженериков в коллекции можно было хранить объекты любого типа. Теперь, после введения дженериков в язык программирования Java, программисты вынуждены хранить определенные типы объектов.
https://dzone.com/articles/generics-in-java-and-their-implementation
👉@BookJava
DZone
Generics in Java and Their Implementation
In Java programming language, generics are introduced in J2SE 5 for dealing with type-safe objects. Read more.
👍3
Top Core Java Interview Questions for Freshers and Experienced
https://www.edureka.co/blog/interview-questions/java-interview-questions/
👉@BookJava
https://www.edureka.co/blog/interview-questions/java-interview-questions/
👉@BookJava
👍4
В чем разница между Thread.sleep() и Thread.yield()?
👉@BookJava
Thread.sleep()
: этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep() поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.Thread.yield():
этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.👉@BookJava
👍9❤1
Категоризированный список всех возможностей Java и JVM с JDK 8 по 21
С момента выхода версии 8 и до версии 21 в Java было выпущено 232 JDK Enhancement Proposals (JEPs) и множество более мелких обновлений, каждое из которых привносит те или иные улучшения в платформу. Эта страница представляет собой категоризированный и курируемый список наиболее важных улучшений.
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
👉@BookJava
С момента выхода версии 8 и до версии 21 в Java было выпущено 232 JDK Enhancement Proposals (JEPs) и множество более мелких обновлений, каждое из которых привносит те или иные улучшения в платформу. Эта страница представляет собой категоризированный и курируемый список наиболее важных улучшений.
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
👉@BookJava
👍6
Что такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов.
Если вы новичок в Java или хотите освежить знания о том, чем отличаются абстрактные классы или интерфейсы, то можете почитать руководство и на эту тему: Difference Between Interface and Abstract class in Java.
Rus https://habr.com/ru/companies/piter/articles/738508/
Eng https://www.appsdeveloperblog.com/17-abstract-classes-and-methods-in-java/
👉@BookJava
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов.
Если вы новичок в Java или хотите освежить знания о том, чем отличаются абстрактные классы или интерфейсы, то можете почитать руководство и на эту тему: Difference Between Interface and Abstract class in Java.
Rus https://habr.com/ru/companies/piter/articles/738508/
Eng https://www.appsdeveloperblog.com/17-abstract-classes-and-methods-in-java/
👉@BookJava
👍6
Адаптер (Adapter) — объект, обеспечивающий взаимодействие двух других объектов, один из которых использует, а другой предоставляет несовместимый с первым интерфейс.
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
👉@BookJava
Мост (Bridge) — структура, позволяющая изменять интерфейс обращения и интерфейс реализации класса независимо.
Компоновщик (Composite) — объект, который объединяет в себе объекты, подобные ему самому.
Декоратор (Decorator) — класс, расширяющий функциональность другого класса без использования наследования.
Фасад (Facade) — объект, который абстрагирует работу с несколькими классами, объединяя их в единое целое.
Приспособленец (Flyweight) — это объект, представляющий себя как уникальный экземпляр в разных местах программы, но по факту не являющийся таковым.
Заместитель (Proxy) — объект, который является посредником между двумя другими объектами, и который реализует/ограничивает доступ к объекту, к которому обращаются через него.
👉@BookJava
👍7🔥1👌1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Learn Java Basics
- Introduction | Java Tutorial for Beginners, Learn to Code
- Hello World | Learn to code, Java Course, Java Tutorial
- Variables, Fields and Methods |Java Course,Java Tutorial
- Arguments, Conditional statements & Arrays | Java Course
- Loops | Learn to code, Java Course, Java Tutorial
- Create a WORDLE Game | Learn to code, Java Course
- IO & Exceptions in WORDLE | Learn to code, Java Course
- Saving and Loading State | Learn to code, Java Course
- Maven, Objects, Encapsulation & Records | Learn to code
- Parsing and Saving JSON with Moshi | Learn to code
источник
👉@BookJava
- Introduction | Java Tutorial for Beginners, Learn to Code
- Hello World | Learn to code, Java Course, Java Tutorial
- Variables, Fields and Methods |Java Course,Java Tutorial
- Arguments, Conditional statements & Arrays | Java Course
- Loops | Learn to code, Java Course, Java Tutorial
- Create a WORDLE Game | Learn to code, Java Course
- IO & Exceptions in WORDLE | Learn to code, Java Course
- Saving and Loading State | Learn to code, Java Course
- Maven, Objects, Encapsulation & Records | Learn to code
- Parsing and Saving JSON with Moshi | Learn to code
источник
👉@BookJava
👍3