Принципы проектирования SOLID
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
👍3
Исчерпывающее руководство по одномерным массивам в Java
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку. https://habr.com/ru/articles/753638/
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку. https://habr.com/ru/articles/753638/
👍2
Упрощенное руководство по аутентификации JWT с помощью Spring Boot 🔐
https://dev.to/abhi9720/a-comprehensive-guide-to-jwt-authentication-with-spring-boot-117p
https://dev.to/abhi9720/a-comprehensive-guide-to-jwt-authentication-with-spring-boot-117p
DEV Community
Simplified Guide to JWT Authentication with Spring Boot 🔐
Introduction: Securing your applications is paramount in today's digital landscape. One...
Представляем DeciCoder : новый LLM с открытым исходным кодом, специализирующийся на создании кода на Python , Java и Javascript .
Model:
https://huggingface.co/Deci/DeciCoder-1b
Demo Space:
https://huggingface.co/spaces/Deci/DeciCoder-Demo
Google Colab, starter Notebook:
https://colab.research.google.com/drive/1JCxvBsWCZKHfIcHSMVf7GZCs3ClMQPjs
Model:
https://huggingface.co/Deci/DeciCoder-1b
Demo Space:
https://huggingface.co/spaces/Deci/DeciCoder-Demo
Google Colab, starter Notebook:
https://colab.research.google.com/drive/1JCxvBsWCZKHfIcHSMVf7GZCs3ClMQPjs
Освоение основного потока в Java
Java, известная своими надежными многопоточными возможностями, вращается вокруг концепции потоков, которые выполняются одновременно. В основе каждого Java-приложения лежит основной поток . Этот поток управляет точкой входа программы, инициирует другие потоки и управляет жизненным циклом приложения. Это руководство по программированию погружает в мир основного потока, исследуя его роль, нюансы и лучшие практики для оптимального управления потоками. https://www.developer.com/java/java-main-thread/
Java, известная своими надежными многопоточными возможностями, вращается вокруг концепции потоков, которые выполняются одновременно. В основе каждого Java-приложения лежит основной поток . Этот поток управляет точкой входа программы, инициирует другие потоки и управляет жизненным циклом приложения. Это руководство по программированию погружает в мир основного потока, исследуя его роль, нюансы и лучшие практики для оптимального управления потоками. https://www.developer.com/java/java-main-thread/
👍4
Как Spring MVC Web Framework работает внутри?
Как обрабатывается HTTP-запрос? Что происходит, когда вы отправляете HTTP-запрос в веб-приложение на основе Spring MVC https://levelup.gitconnected.com/how-does-spring-mvc-web-framework-work-internally-7a3b06f1716e
Как обрабатывается HTTP-запрос? Что происходит, когда вы отправляете HTTP-запрос в веб-приложение на основе Spring MVC https://levelup.gitconnected.com/how-does-spring-mvc-web-framework-work-internally-7a3b06f1716e
Внутри JVM: массивы и чем они отличаются от других объектов
https://blogs.oracle.com/javamagazine/post/java-array-objects
https://blogs.oracle.com/javamagazine/post/java-array-objects
Oracle
Inside the JVM: Arrays and how they differ from other objects
Arrays are unique objects inside the JVM, and understanding their structure makes for better coding.
❤2
Мои десятилетние поиски кратких лямбда-выражений на Java
https://donraab.medium.com/my-ten-year-quest-for-concise-lambda-expressions-in-java-39fde576b950
https://donraab.medium.com/my-ten-year-quest-for-concise-lambda-expressions-in-java-39fde576b950
Medium
My ten year quest for concise lambda expressions in Java
One developer’s mission to hold off the horde of for loops in Java.
[Перевод] Все что вам нужно знать о таймаутах
Какустановить оптимальное значение таймаутов вмикросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.
Под катом вы узнаете как установить оптимальные значение connection и request timeout, стоит ли повторять запрос при ошибке или лучше избегать этого.
В конце статьи есть небольшая шпаргалка и куча полезных ссылок. Приятного чтения.
https://habr.com/ru/articles/755750/
Какустановить оптимальное значение таймаутов вмикросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.
Под катом вы узнаете как установить оптимальные значение connection и request timeout, стоит ли повторять запрос при ошибке или лучше избегать этого.
В конце статьи есть небольшая шпаргалка и куча полезных ссылок. Приятного чтения.
https://habr.com/ru/articles/755750/
Хабр
Все что вам нужно знать о таймаутах
Никто не любит ждать и мы в Zalando не исключение. Мы не любим когда наши клиенты долго ждут доставку, мы не любим когда наши клиенты долго ждут оформления заказа и мы не любим медленные микросервисы....
👍3
Чтобы стать выдающимся #Java -разработчиком, мы должны выйти за рамки #Java . Нам нужно знать, как создавать масштабируемые системы. В этой новой статье вы изучите основы #cache
https://javachallengers.com/cache-systems-design/
https://javachallengers.com/cache-systems-design/
Java Challengers
Mastering the Fundamentals of Cache for Systems Design Interview
Mastering the fundamentals of cache will be crucial for your success in the systems design interview. Learn the fundamentals of cache here!
This media is not supported in your browser
VIEW IN TELEGRAM
🐛Используйте отладчик #IntelliJIDEA для отладки потоков и визуализации того, что происходит в операциях Java Stream, с помощью «Trace Current Stream Chain» в окне инструмента «Отладка».
👍5
До выпуска #Java21 осталось всего несколько недель .
Чего мы можем ожидать. https://blogs.oracle.com/javamagazine/post/java-21-sneak-peek
Чего мы можем ожидать. https://blogs.oracle.com/javamagazine/post/java-21-sneak-peek
Ускоряем java-рефлексию в 2023
Постановка задачи
Имеем в наличии jdk 17, хотим вызывать методы класса по имени и таким же образом обращаться к полям.
https://habr.com/ru/articles/758664/
Постановка задачи
Имеем в наличии jdk 17, хотим вызывать методы класса по имени и таким же образом обращаться к полям.
https://habr.com/ru/articles/758664/
Хабр
Ускоряем java-рефлексию в 2023
Введение Привет, Хабр. С момента выхода в свет предыдущей статьи прошёл год с хвостиком, и у меня наконец-то дошли руки до написания исправленной версии, учитывающей предыдущие косяки с замером...
Представляем freeCodeCamp Press — бесплатные книги для разработчиков
Сообщество freeCodeCamp за годы опубликовало более 10 000 руководств. Но в последнее время мы сосредоточились на создании еще более объемных ресурсов для изучения математики, программирования и информатики.
Вот почему мы создали freeCodeCamp Press — подразделение freeCodeCamp, где мы публикуем полноформатные книги и справочники — все они доступны каждому бесплатно. https://www.freecodecamp.org/news/freecodecamp-press-books-handbooks/
Сообщество freeCodeCamp за годы опубликовало более 10 000 руководств. Но в последнее время мы сосредоточились на создании еще более объемных ресурсов для изучения математики, программирования и информатики.
Вот почему мы создали freeCodeCamp Press — подразделение freeCodeCamp, где мы публикуем полноформатные книги и справочники — все они доступны каждому бесплатно. https://www.freecodecamp.org/news/freecodecamp-press-books-handbooks/
freeCodeCamp.org
Introducing freeCodeCamp Press – Free Books for Developers
The freeCodeCamp community has published more than 10,000 tutorials on our publication over the years. But lately we've focused on creating even longer resources for learning math, programming, and computer science. This is why we've created freeCode...
👍1
Насколько быстро работает Java 21?
Поскольку выпуск Java 21 уже не за горами, у вас может возникнуть вопрос, чем она отличается от Java 17 и стоит ли вам обновляться. https://timefold.ai/blog/2023/java-21-performance/
Поскольку выпуск Java 21 уже не за горами, у вас может возникнуть вопрос, чем она отличается от Java 17 и стоит ли вам обновляться. https://timefold.ai/blog/2023/java-21-performance/
Timefold
How fast is Java 21?
Explore the performance of Java 21 against Java 17, revealing minor improvements in micro-benchmarks and real-world scenarios.
Java Digest #4.
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск https://habr.com/ru/companies/tinkoff/articles/759432
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск https://habr.com/ru/companies/tinkoff/articles/759432
Хабр
Java Digest #4
Всем привет! ? ? ? Мы Java-разработчики Тинькофф: Константин , Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не...
Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.
Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе. https://habr.com/ru/articles/759990/
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.
Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе. https://habr.com/ru/articles/759990/
Хабр
Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом....
В этой статье мы углубимся в часто возникающий на собеседовании вопрос: как эффективно управлять родительско-дочерними отношениями в приложении Spring Boot. Этот вопрос имеет большое значение на собеседованиях с Java-разработчиками, поскольку затрагивает фундаментальные концепции. Чтобы всесторонне понять эту тему, важно получить представление о том, как Spring Data JPA работает «под капотом».
https://rathod-ajay.medium.com/managing-parent-child-relationships-with-spring-data-jpa-a-comprehensive-guide-327a9c3e3c6f
https://rathod-ajay.medium.com/managing-parent-child-relationships-with-spring-data-jpa-a-comprehensive-guide-327a9c3e3c6f
Medium
“Managing Parent-Child Relationships with Spring Data JPA: A Comprehensive Guide”.
In this article, we will delve deep into an interview question that often arises: how to effectively manage parent-child relationships in a…