Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
Хабр
Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос. У нас был 3(три) Т‑Р-И...
❤6💩4
Как создавать адаптивные веб-приложения с помощью Spring Boot и React: пошаговое руководство
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут быть идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания серверного приложения Spring Boot и его интеграции с интерфейсным приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут быть идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания серверного приложения Spring Boot и его интеграции с интерфейсным приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
👍3
Понимание GraalVM, AOT и JIT
Вы можете использовать это руководство, чтобы понять, что такое GraalVM, как он работает и чем компиляция Just-In-Time (JIT) сравнивается с компиляцией Ahead-Of-Time (AOT).
https://www.marcobehler.com/guides/graalvm-aot-jit
Вы можете использовать это руководство, чтобы понять, что такое GraalVM, как он работает и чем компиляция Just-In-Time (JIT) сравнивается с компиляцией Ahead-Of-Time (AOT).
https://www.marcobehler.com/guides/graalvm-aot-jit
Marcobehler
Understanding GraalVM, AOT & JIT
You can use this guide to understand what GraalVM is, how it works and how Just-In-Time (JIT) compilation compares to Ahead-Of-Time (AOT) compilation).
Рабочий стол Podman для Java-разработки
Установите Podman Desktop для управления контейнерами и узнайте, как использовать его для разработки Java (Spring Boot, Quarkus, Testcontainers, Buildpacks).
https://www.thomasvitale.com/podman-desktop-for-java-development/
Установите Podman Desktop для управления контейнерами и узнайте, как использовать его для разработки Java (Spring Boot, Quarkus, Testcontainers, Buildpacks).
https://www.thomasvitale.com/podman-desktop-for-java-development/
👍1
Настройка Java-приложений для низкой задержки в Linux
этой статье мы представим некоторые подходы, которые можно использовать, когда мы хотим, чтобы наши приложения использовали системные ресурсы наиболее эффективно.
https://foojay.io/today/tuning-java-applications-for-low-latency-on-linux/
этой статье мы представим некоторые подходы, которые можно использовать, когда мы хотим, чтобы наши приложения использовали системные ресурсы наиболее эффективно.
https://foojay.io/today/tuning-java-applications-for-low-latency-on-linux/
foojay
Tuning Java Applications for Low Latency on Linux | Foojay.io
An introduction to some approaches that can be taken when we want to have our applications utilise system resources most effectively.
Spring Boot 3.1 только что был выпущен🎉
https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0
https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0
GitHub
Release v3.1.0 · spring-projects/spring-boot
⭐ New Features
Result from SpringApplication.from(...) may need to provide access to more details in the future #35451
Ensure that Flyway uses SLF4J by default and provide a configuration property...
Result from SpringApplication.from(...) may need to provide access to more details in the future #35451
Ensure that Flyway uses SLF4J by default and provide a configuration property...
👏2
Нюансы перегрузки и переопределения в Java
Я программирую на Java уже более полувека и думал, что освоил все аспекты перегрузки и переопределения. Только когда я начал придумывать и записывать следующие крайние случаи, я понял, что знаю их не так хорошо, как мне казалось.
В попытке придать этим нюансам игровой характер, я перечислил их ниже в виде серии головоломок. Похвально, если вы разгадаете их все, не подглядывая в ответы.
https://software.rajivprab.com/2019/08/14/nuances-of-overloading-and-overriding-in-java/
Я программирую на Java уже более полувека и думал, что освоил все аспекты перегрузки и переопределения. Только когда я начал придумывать и записывать следующие крайние случаи, я понял, что знаю их не так хорошо, как мне казалось.
В попытке придать этим нюансам игровой характер, я перечислил их ниже в виде серии головоломок. Похвально, если вы разгадаете их все, не подглядывая в ответы.
https://software.rajivprab.com/2019/08/14/nuances-of-overloading-and-overriding-in-java/
❤1👎1💩1
Как использовать BlockingQueue в Java? Учебное пособие по примерам ArrayBlockingQueue и LinkedBlockingQueue
https://javarevisited.blogspot.com/2012/12/blocking-queue-in-java-example-ArrayBlockingQueue-LinkedBlockingQueue.html#axzz6iYmMFnsA
https://javarevisited.blogspot.com/2012/12/blocking-queue-in-java-example-ArrayBlockingQueue-LinkedBlockingQueue.html#axzz6iYmMFnsA
Blogspot
How to use BlockingQueue in Java? ArrayBlockingQueue and LinkedBlockingQueue Example Tutorial
Though BlockingQueue was introduced in Java 1.5 a decade ago, not every Java programmer is familiar with it. It come with two implementation ArrayBlockingQueue and LinkedBlockingQueue. You can use them to easily implement producer consumer pattern in Java.
Узнайте, как создать безопасное приложение CRUD с помощью Spring Boot и Angular. Вы будете использовать Auth0 для аутентификации и авторизации, а Cypress — для проверки того, что все работает.
https://auth0.com/blog/spring-boot-angular-crud/
https://auth0.com/blog/spring-boot-angular-crud/
Auth0 - Blog
Build a Beautiful CRUD App with Spring Boot and Angular
Learn how to build a secure CRUD app with Spring Boot and Angular. You'll use Auth0 for authentication and authorization and Cypress to verify it all works.
Дженерики в Java и их реализация
В программировании на Java в J2SE 5 введены языковые дженерики для работы с объектами, безопасными для типов. Он обнаруживает ошибки во время компиляции, благодаря чему код становится стабильным. Любой тип объекта может быть сохранен в коллекции до общего введения. Теперь, после общего введения в язык программирования Java , программисты вынуждены хранить определенные типы объектов.
https://dzone.com/articles/generics-in-java-and-their-implementation
В программировании на Java в J2SE 5 введены языковые дженерики для работы с объектами, безопасными для типов. Он обнаруживает ошибки во время компиляции, благодаря чему код становится стабильным. Любой тип объекта может быть сохранен в коллекции до общего введения. Теперь, после общего введения в язык программирования Java , программисты вынуждены хранить определенные типы объектов.
https://dzone.com/articles/generics-in-java-and-their-implementation
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.
👍2
Spring Cleaning: обзор новых инструментов в экосистеме Spring
Когда был выпущен Spring Cloud AWS 3.0, я решил посвятить больше места экосистеме Spring и некоторым ее новым инструментам: Ostara, just и Modulith.As Spring Cloud AWS 3.0
https://vived.substack.com/p/spring-cleaning-a-review-of-new-tools
Когда был выпущен Spring Cloud AWS 3.0, я решил посвятить больше места экосистеме Spring и некоторым ее новым инструментам: Ostara, just и Modulith.As Spring Cloud AWS 3.0
https://vived.substack.com/p/spring-cleaning-a-review-of-new-tools
Substack
Spring Cleaning: A review of new tools in the Spring ecosystem - JVM Weekly vol. 44
As Spring Cloud AWS 3.0 was released, I was inspired me to devote more space to the Spring ecosystem and some of its new tools: Ostara, just and Modulith.
Java против PHP
Java и PHP — два популярных языка программирования, используемых для создания веб-страниц. веб-приложений и веб-разработки в целом. Несмотря на эту общую цель, они значительно различаются в ряде областей, включая синтаксис, функции и варианты использования. В этом руководстве по программированию мы рассмотрим фундаментальные различия между Java и PHP, чтобы помочь командам разработчиков программного обеспечения выбрать, какой язык больше подходит для их проектов. https://www.developer.com/java/java-vs-php/
Java и PHP — два популярных языка программирования, используемых для создания веб-страниц. веб-приложений и веб-разработки в целом. Несмотря на эту общую цель, они значительно различаются в ряде областей, включая синтаксис, функции и варианты использования. В этом руководстве по программированию мы рассмотрим фундаментальные различия между Java и PHP, чтобы помочь командам разработчиков программного обеспечения выбрать, какой язык больше подходит для их проектов. https://www.developer.com/java/java-vs-php/
Developer.com
Java versus PHP | Developer.com
A comparison of Java and PHP. Learn how the two programming languages differ syntactically and in terms of usage.
Категоризированный список всех функций Java и JVM, начиная с JDK 8–18.
С момента выпуска версии 8 и вплоть до версии 18 Java формировалась с помощью 203 предложений по улучшению JDK (JEP) и многих других небольших обновлений, каждое из которых вносит некоторые улучшения в платформу. Эта страница представляет собой классифицированный и тщательно отобранный список наиболее важных улучшений. https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-18/
С момента выпуска версии 8 и вплоть до версии 18 Java формировалась с помощью 203 предложений по улучшению JDK (JEP) и многих других небольших обновлений, каждое из которых вносит некоторые улучшения в платформу. Эта страница представляет собой классифицированный и тщательно отобранный список наиболее важных улучшений. https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-18/
advancedweb.hu
A categorized list of all Java and JVM features since JDK 8 to 21
From Java 8 to 21
Режим разработки Spring Boot с тестовыми контейнерами и Docker
В этой статье вы узнаете, как использовать встроенную поддержку Spring Boot для Testcontainers и Docker Compose для запуска внешних служб в режиме разработки. Spring Boot представляет эти функции в последней версии 3.1 . https://piotrminkowski.com/2023/05/26/spring-boot-development-mode-with-testcontainers-and-docker/
В этой статье вы узнаете, как использовать встроенную поддержку Spring Boot для Testcontainers и Docker Compose для запуска внешних служб в режиме разработки. Spring Boot представляет эти функции в последней версии 3.1 . https://piotrminkowski.com/2023/05/26/spring-boot-development-mode-with-testcontainers-and-docker/
Piotr's TechBlog
Spring Boot Development Mode with Testcontainers and Docker
Learn how to use Spring Boot built-in support for Testcontainers and Docker Compose to run external services in development mode.
В 2017 году я начал изучать Java. И, чтобы как-то визуализировать результат трудов, я решил сделать десктопное приложение.
Поразмыслив, чего мне не хватает, я захотел создать свой новостной агрегатор. Конечно, такие программы на тот момент уже были: и десктопные, и веб, но они мне показались сложными, а хотелось получать нужные новости по одному клику, да и лучшего варианта для изучения я не придумал.
Под катом — история создания приложения, туториалы по получению на него патента и включению его в реестр российского ПО, а также моя собственная коллекция граблей, собранная на этом пути. https://habr.com/ru/companies/sportmaster_lab/articles/723068/
Поразмыслив, чего мне не хватает, я захотел создать свой новостной агрегатор. Конечно, такие программы на тот момент уже были: и десктопные, и веб, но они мне показались сложными, а хотелось получать нужные новости по одному клику, да и лучшего варианта для изучения я не придумал.
Под катом — история создания приложения, туториалы по получению на него патента и включению его в реестр российского ПО, а также моя собственная коллекция граблей, собранная на этом пути. https://habr.com/ru/companies/sportmaster_lab/articles/723068/
Хабр
От «Hello World» до включения программы в реестр российского ПО
В 2017 году я начал изучать Java. И, чтобы как-то визуализировать результат трудов, я решил сделать десктопное приложение (функционал продублирован в Telegram боте ). Поразмыслив, чего мне не хватает,...
💩1
Что такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов. https://habr.com/ru/companies/piter/articles/738508/
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том, что делает объект, а не как он это делает.
В Java абстрактные классы и методы – это основные инструменты для реализации абстракций. Абстрактные классы служат шаблонами для создания субклассов, а абстрактные методы можно сравнить с чертежами, описывающими поведение этих субклассов. https://habr.com/ru/companies/piter/articles/738508/
Хабр
Что такое абстрактные классы и методы в Java
Абстрагирование – это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны. Так удаётся сфокусироваться на том,...
☕️Преобразование JSON в XML в Java
JSON и XML — два популярных формата для обмена данными. В реальных приложениях нам часто нужно конвертировать между ними.
В этом руководстве мы рассмотрим различные способы преобразования JSON в XML в Java. https://www.baeldung.com/java-convert-json-to-xml
☕️Преобразование Hashmap в объект JSON в Java
В этом руководстве мы рассмотрим три способа преобразования карты в формат JSON.
https://www.baeldung.com/java-convert-hashmap-to-json-object
☕️Java в коде Visual Studio — май 2023 г.
Всем привет! Добро пожаловать в наше майское обновление для Visual Studio Code Java! В блоге этого месяца у нас есть множество новых функций, касающихся повышения производительности, взаимодействия с пользователем, а также интеграции Spring Boot, так что давайте начнем. https://devblogs.microsoft.com/java/java-on-visual-studio-code-may-2023/
JSON и XML — два популярных формата для обмена данными. В реальных приложениях нам часто нужно конвертировать между ними.
В этом руководстве мы рассмотрим различные способы преобразования JSON в XML в Java. https://www.baeldung.com/java-convert-json-to-xml
☕️Преобразование Hashmap в объект JSON в Java
В этом руководстве мы рассмотрим три способа преобразования карты в формат JSON.
https://www.baeldung.com/java-convert-hashmap-to-json-object
☕️Java в коде Visual Studio — май 2023 г.
Всем привет! Добро пожаловать в наше майское обновление для Visual Studio Code Java! В блоге этого месяца у нас есть множество новых функций, касающихся повышения производительности, взаимодействия с пользователем, а также интеграции Spring Boot, так что давайте начнем. https://devblogs.microsoft.com/java/java-on-visual-studio-code-may-2023/
Baeldung
Converting JSON to XML in Java | Baeldung
Learn how to convert JSON to XML in Java.
Forwarded from Daily Dev Jokes. Юмор.
This media is not supported in your browser
VIEW IN TELEGRAM
Java-разработчики после первой попытки Spring Boot.
😁8
5 лучших фреймворков Java для веб-разработки в 2023 году
Ищете лучшие фреймворки Java для веб-разработки? Ознакомьтесь с нашим списком 5 лучших фреймворков, их функциями, преимуществами и примерами использования.
https://dzone.com/articles/5-best-java-frameworks-for-web-development
Новые функции и улучшения Java 18
С момента выпуска JDK 17 JDK 18 является первым выпуском, отличным от LTS. Стоит отметить, что выпуски LTS (долгосрочная поддержка) выходят каждые два года, и мы можем ожидать, что JDK 21 будет выпущен в сентябре 2023 года, следующий выпуск LTS через два года.
JDK 19 будет доступен в сентябре, после JDK 18 . В этой статье мы обсудим обновления в языке программирования Java 18 .
https://www.softlogicsys.in/blog/java-18-features-and-enhancements/
Ищете лучшие фреймворки Java для веб-разработки? Ознакомьтесь с нашим списком 5 лучших фреймворков, их функциями, преимуществами и примерами использования.
https://dzone.com/articles/5-best-java-frameworks-for-web-development
Новые функции и улучшения Java 18
С момента выпуска JDK 17 JDK 18 является первым выпуском, отличным от LTS. Стоит отметить, что выпуски LTS (долгосрочная поддержка) выходят каждые два года, и мы можем ожидать, что JDK 21 будет выпущен в сентябре 2023 года, следующий выпуск LTS через два года.
JDK 19 будет доступен в сентябре, после JDK 18 . В этой статье мы обсудим обновления в языке программирования Java 18 .
https://www.softlogicsys.in/blog/java-18-features-and-enhancements/
DZone
5 Best Java Frameworks for Web Development in 2023
Looking for the best Java frameworks for web development in 2023? Check out our list of the top 5 frameworks, their features, benefits, and use cases.
❤2👍2
Освоение фоновых заданий с помощью Java и Spring
Используйте JobRunr для создания масштабируемых, распределенных и отказоустойчивых фоновых заданий.
https://levelup.gitconnected.com/mastering-background-jobs-with-java-and-spring-simplifying-asynchronous-task-processing-6d303b0df16b
Многопоточность в мобильной разработке
В этой статье я хочу рассмотреть один из важнейших аспектов мобильной разработки — многопоточность. Многопоточность позволяет выполнять несколько задач одновременно и повышать производительность приложения.
https://habr.com/ru/articles/739212/
Используйте JobRunr для создания масштабируемых, распределенных и отказоустойчивых фоновых заданий.
https://levelup.gitconnected.com/mastering-background-jobs-with-java-and-spring-simplifying-asynchronous-task-processing-6d303b0df16b
Многопоточность в мобильной разработке
В этой статье я хочу рассмотреть один из важнейших аспектов мобильной разработки — многопоточность. Многопоточность позволяет выполнять несколько задач одновременно и повышать производительность приложения.
https://habr.com/ru/articles/739212/
Medium
Mastering Background Jobs with Java and Spring: Simplifying Asynchronous Task Processing
Use JobRunr to build scalable, distributed, and resilient background jobs