Представляем 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…
Изучите методы динамического программирования на Java
Динамическое программирование — это мощный метод, ставший краеугольным камнем в мире алгоритмов и информатики. Это метод, который разбивает проблемы на более мелкие, более управляемые подзадачи, решая каждую только один раз и сохраняя решения на случай, если они потребуются снова. Этот подход особенно полезен для задач оптимизации, когда вы ищете лучшее решение среди множества возможных решений. https://www.freecodecamp.org/news/learn-dynamic-programming-in-java/
Динамическое программирование — это мощный метод, ставший краеугольным камнем в мире алгоритмов и информатики. Это метод, который разбивает проблемы на более мелкие, более управляемые подзадачи, решая каждую только один раз и сохраняя решения на случай, если они потребуются снова. Этот подход особенно полезен для задач оптимизации, когда вы ищете лучшее решение среди множества возможных решений. https://www.freecodecamp.org/news/learn-dynamic-programming-in-java/
freeCodeCamp.org
Learn Dynamic Programming Techniques in Java
Dynamic programming is a powerful technique that has been a cornerstone in the world of algorithms and computer science. It's a method that breaks down problems into smaller, more manageable sub-problems, solving each one only once and storing their ...
Делаем свою простейшую систему сборки для Java
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.
Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Но как только возникает необходимость что-то в этом простом процессе усложнить, или понять - начинаются проблемы.
Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - магия, превращающая исходный код в запущенную программу.
В этой статье я пробегусь по основам того, как в Java работает компиляция, а также покажу, как по шагам прийти от компиляции отдельных файлов вручную к идее необходимости системы сборки, и как написать свою простенькую систему. Ведь лучший способ понять, как что-то устроено внутри - сделать это самому. https://habr.com/ru/articles/752014/
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.
Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Но как только возникает необходимость что-то в этом простом процессе усложнить, или понять - начинаются проблемы.
Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - магия, превращающая исходный код в запущенную программу.
В этой статье я пробегусь по основам того, как в Java работает компиляция, а также покажу, как по шагам прийти от компиляции отдельных файлов вручную к идее необходимости системы сборки, и как написать свою простенькую систему. Ведь лучший способ понять, как что-то устроено внутри - сделать это самому. https://habr.com/ru/articles/752014/
Хабр
Делаем свою простейшую систему сборки для Java
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна. Но...
Готовы ли вы ко всем новым технологиям #Java21 ??
Ознакомьтесь со многими изменениями, маленькими и большими, охватывающими окончательные версии JEP, предварительный просмотр и что-то совершенно новое для платформы. https://blogs.oracle.com/javamagazine/post/java-inside-21-features
Ознакомьтесь со многими изменениями, маленькими и большими, охватывающими окончательные версии JEP, предварительный просмотр и что-то совершенно новое для платформы. https://blogs.oracle.com/javamagazine/post/java-inside-21-features
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.
Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода. https://habr.com/ru/articles/762084/
Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода. https://habr.com/ru/articles/762084/
Хабр
Вышла Java 21
Вышла общедоступная версия Java 21 . В этот релиз попало около 2500 закрытых задач и 15 JEP'ов . Release Notes можно посмотреть здесь . Изменения API – здесь . Java 21 является LTS-релизом, а...
OOM: direct memory при работе с сетью TCP/IP через NIO в Java.
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать далее https://habr.com/ru/companies/bercut/articles/762254
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать далее https://habr.com/ru/companies/bercut/articles/762254
Хабр
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Вступление Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java. Сегодня я расскажу об опыте...
Категоризированный список всех функций Java и JVM, начиная с JDK 8–21.
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
Advanced Web Machinery
A categorized list of all Java and JVM features since JDK 8 to 21
From Java 8 to 21
Minum — это минималистичный экспериментальный веб-фреймворк, демонстрирующий меньше, да лучше.
https://github.com/byronka/minum
https://github.com/byronka/minum
GitHub
GitHub - byronka/minum: a small framework for web applications
a small framework for web applications. Contribute to byronka/minum development by creating an account on GitHub.
Управление памятью в Java: введение
Понимание управления памятью в Java и, в частности, роли распределения объектов имеет важное значение при оптимизации производительности системы. https://foojay.io/today/java-memory-management/
Понимание управления памятью в Java и, в частности, роли распределения объектов имеет важное значение при оптимизации производительности системы. https://foojay.io/today/java-memory-management/
foojay
Memory Management in Java: An Introduction
Understanding memory management in Java, and particularly the role of object allocation is essential when optimising system performance.
👍3
Аннотации и рефлексия в Java.
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения. Читать дальше →https://habr.com/ru/companies/otus/articles/764244
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения. Читать дальше →https://habr.com/ru/companies/otus/articles/764244
Хабр
Аннотации и рефлексия в Java
Привет, уважаемые читатели Хабра! Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных...
Документация Spring Boot 3 REST API с использованием SpringDoc OpenAPI
В этом руководстве мы узнаем, как создавать документацию REST API с использованием библиотеки SpringDoc OpenAPI в приложениях Spring Boot 3. https://www.javaguides.net/2023/03/spring-boot-3-rest-api-documentation.html
В этом руководстве мы узнаем, как создавать документацию REST API с использованием библиотеки SpringDoc OpenAPI в приложениях Spring Boot 3. https://www.javaguides.net/2023/03/spring-boot-3-rest-api-documentation.html
www.javaguides.net
Spring Boot 3 REST API Documentation using SpringDoc OpenAPI
In this tutorial, we will learn how to generate REST API documentation using the SpringDoc OpenAPI library in Spring Boot 3 Applications.
👍1
В этом руководстве показано, как создать архитектуру микросервисов с помощью Spring Boot и Spring Cloud. https://auth0.com/blog/java-spring-boot-microservices/
Auth0 - Blog
Java Microservices with Spring Boot and Spring Cloud
This tutorial shows you how to build a microservices architecture with Spring Boot and Spring Cloud.
👍2
10 лучших веб-сайтов для практики программирования на Java и вопросы для собеседования
https://levelup.gitconnected.com/10-best-websites-to-practice-java-programming-and-coding-interview-questions-1d2731d8a852
https://levelup.gitconnected.com/10-best-websites-to-practice-java-programming-and-coding-interview-questions-1d2731d8a852
Medium
10 Best Places for Coding Interview Questions
My favorite website to practice Java coding interview questions along with LeetCode and HackerRank
Разница между @Spy и @SpyBean
В этом руководстве мы стремимся рассмотреть разницу между @Spy и @SpyBean , объяснив их функциональные возможности и предоставив рекомендации о том, когда использовать каждый из них. https://www.baeldung.com/spring-spy-vs-spybean
В этом руководстве мы стремимся рассмотреть разницу между @Spy и @SpyBean , объяснив их функциональные возможности и предоставив рекомендации о том, когда использовать каждый из них. https://www.baeldung.com/spring-spy-vs-spybean
Baeldung
Difference Between @Spy and @SpyBean | Baeldung
Learn the difference between @Spy and @SpyBean in Spring.
ИИ в Java: создание клона ChatGPT с помощью Spring Boot и LangChain
Научитесь создавать клон ChatGPT с помощью Spring Boot, LangChain и Hilla на Java. https://dzone.com/articles/ai-in-java-building-a-chatgpt-clone-with-spring-bo
Научитесь создавать клон ChatGPT с помощью Spring Boot, LangChain и Hilla на Java. https://dzone.com/articles/ai-in-java-building-a-chatgpt-clone-with-spring-bo
DZone
AI in Java: Building a ChatGPT Clone With Spring Boot and LangChain
Learn to build a ChatGPT clone with Spring Boot, LangChain, and Hilla in Java. Cover both synchronous chat completions and advanced streaming completion.
У нас для тебя есть дебетовая карта с кэшбэком и ежемесячным доходом на остаток — Tinkoff Black в космическом дизайне 🚀🌌, которая позволяет зарабатывать реальные рубли с каждой покупки.
Оставь заявку на оформление карты потратить от 3000 рублей в течение месяца после активации карты и получи 1000 рублей кэшбэка.
Переходи по ссылке и оформляй себе карту:
https://l.tinkoff.ru/pesero
Please open Telegram to view this post
VIEW IN TELEGRAM