Чашечка Java
Открыть в Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Больше8 543
Подписчики
-124 часа
-67 дней
-3030 день
Архив постов
8 543
Top Java Blogs Weekly: Best of 1/2021
Best of Top Java Blogs, year 2021, week 1
Read: https://www.topjavablogs.com/news/best-of-1-2021
8 543
Top 5 Amazing Gifts You can Buy for Programmers, Coders, and Software Developers in 2022
If you are planning for a surprise gift to your programmer boyfriend and husband this holiday season like Black Friday, Christmas, or New Year, or maybe on his next birthday, but not sure what to...
Read: http://www.java67.com/2017/12/top-5-amazing-gifts-for-programmers-coders.html
8 543
Актуальные книги по программированию можно найти в соответствующем канале — Книги по программированию.
Подписывайтесь и ищите книгу для себя: @devs_books
8 543
Top 10 Algorithms books Every Programmer Should Read
Algorithms are language agnostic, and any programmer worth their salt should be able to convert them to code in their programming language of choice. Unfortunately, I have come across several...
Read: http://www.java67.com/2015/09/top-10-algorithm-books-every-programmer-read-learn.html
8 543
Spring AOP: как работает проксирование
Четкое разделение бизнес логики с другими сквозными задачами является обязательным условием для создания чистого и читабельного кода. И говоря о сквозных задачах я имею ввиду управление транзакциями, безопасность и прочие важные задачи, которые хоть и не относятся к бизнес логике напрямую - но оказывают существенное влияние на работу приложения в целом. В случае "жесткого связывания" основной логики и подобных задач - мы можем получить кучу проблем в случае ошибки последних. АОП, собственно, и нацелено на решение подобных задач.
Аспектно-ориентированное программирование - это отличный инструмент для решения проблем, которые не относятся к бизнес логике напрямую. Оно позволяет добавить поведение в существующий код, не меняя его функционал. АОП дополняет ООП, предоставляя еще один способ достижения модульности и большей чистоты кода.
Spring имеет свою собственную структуру АОП, которая концептуально проста для понимания и является отличным решением большинства проблем в корпоративных Java-приложениях. В этой статье мы собираемся рассмотреть магию Spring АОП - со всеми его достоинствами и недостатками. Если у вас вообще нет никакого понимания за данную тему - рекомендую почитать данный материал.
Читать: https://habr.com/ru/post/597797/?utm_campaign=597797
8 543
Top 6 Online Courses to learn React Hooks in 2022 - Best of Lot
Hello guys, if you want to learn React hooks and looking for the best React hooks courses then you cha come to the right place. Earlier, I have shared free React courses, books, and websites to learn...
Read: http://www.java67.com/2021/11/top-6-courses-to-learn-react-hooks.html
8 543
Разбираемся с библиотекой лексического анализа ANTLR4
У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальных ассистентов Салют, – запрос будет проходить через нашу платформу.
Сначала выбор движка мы хотели завязывать на источник сообщений – пользовательское приложение на устройстве. Сейчас мы решили управлять маршрутизацией на основе содержания сообщений – по различным полям. Для этого используется набор правил, похожих на условие WHERE в SQL, т.е. мы выбираем маршруты, у которых совпадают условия со значениями полей сообщений.
В SQL-запросе пользователь шлёт условие, по которому из существующих строк таблицы выбираются подходящие. В нашей задаче получается наоборот: входящему сообщению нужно сопоставить все условия, которые у нас есть, и вернуть те, которые прошли проверку. Правила маршрутизации – это настройки и их должны создавать не только программисты, но и менеджеры контента или дейта-сайентисты. С такими задачами справляются такие фреймворки, как, например Drools, но мы решили написать своё легковесное решение с упрощенным DSL, условия на котором может понять не только разработчик.
Для обработки правил, написанных на кастомном DSL, лучшая библиотека – ANTLR4. Я находил много статей, в которых описываются разные аспекты работы с ANTLR4, но ни в одной из них я не увидел, то, что изучил на пути создания production-ready кода. Поэтому, разобравшись, я решил собрать туториал. Ниже опишу пример парсинга SQL SELECT-запроса в объектную модель Java. Будем двигаться постепенно, в этот раз рассмотрим простейший случай. На нём мы разберём саму идею этого парсера, сделаем минимальную реализацию.
Читать: https://habr.com/ru/post/597553/?utm_campaign=597553
8 543
10 Best Free Data Structure and Algorithms Courses in Java and C++ 2022 [UPDATED]
Algorithms and Data Structure are two of the most fundamentals and essential topics from Computer Science, which is used everywhere in software development. I firmly believe that a good knowledge of...
Read: http://www.java67.com/2019/02/top-10-free-algorithms-and-data.html
8 543
Миграция Spring Boot приложения на Java 17 — сложный путь: День 2
Добро пожаловать в статью о миграции приложения Spring Boot на Java 17.
В первый день мы пытались использовать Java 17 со Spring Boot и завершили день компиляцией нашего кода и зелеными юнит тестами.
В этом посте мы рассмотрим миграции: Spring Cloud, Spring Data, Spring Kafka
Читать: https://habr.com/ru/post/597199/?utm_campaign=597199
8 543
Хотите узнать, зачем нужен DevOps? Почему компании так активно нанимают DevOps-инженеров и какие задачи стоят перед этими специалистами?
Присоединяйтесь к бесплатному онлайн-интенсиву Skillbox, который пройдёт 27–29 декабря в 21:00 МСК.
Там вы решите реальную бизнес-задачу и научитесь:
— ориентироваться в подходе DevOps;
— работать с Docker;
— использовать методологию CI/CD.
Всем дошедшим до конца интенсива дарят электронную книгу «Человек + машина». А тому, кто выполнит практическую работу, — сертификат на 10 000 рублей.
Подробности: https://clc.to/9Mn4Tg
Это #партнёрский пост
8 543
Распознаем простые фигуры по массиву точек
В данной статье рассматривается простой алгоритм распознавания нарисованного пользователем многоугольника. Алгоритм преобразует набор точек, предоставленный пользователем, в точки многоугольника, удаляя точки находящиеся на прямых. Так же алгоритм может на базовом уровне распознавать окружности.
Данный алгоритм не претендует на уникальность. Однако, я постарался детально расписать как он работает без сложной математики, за исключением, быть может свертки.
Читать: https://habr.com/ru/post/597449/?utm_campaign=597449
8 543
Top 40 Advanced Java Interview Questions Answers for 3 to 5 Years Experienced Programmers
Hello guys, if you are going for a Java support engineer interview and looking for some frequently asked questions then you have come to the right place. I have shared many posts about Java interview...
Read: http://www.java67.com/2017/06/39-essential-java-jee-support-engineer-interview-questions-answers.html
8 543
Top 5 Courses to Learn System Design and Software Architecture in 2022 - Best of Lot
Software design or System design is one of the tricky concepts to master. You can quickly learn a programming language like Java or Python, but creating software using that programming language is a...
Read: http://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
8 543
Создание нативных CLI приложений на Java с помощью Graalvm и Picocli
Язык программирования Go стал популярным для написания приложений командной строки. Для этого может быть много причин, но один аспект, в котором выделяется Go, — это возможность скомпилировать программу в один собственный исполняемый файл. Это значительно упрощает распространение программы.
Программы Java традиционно было трудно распространять, потому что они требовали, чтобы на целевой машине была установлена виртуальная машина Java. Можно связать с приложением последнюю JVM, но это увеличивает размер пакета примерно на 200 МБ. Все движется в правильном направлении: система модулей Java (JPMS), представленная в Java 9, включает утилиту jlink, которая позволяет приложению создавать настраиваемую, свернутую JRE, размер которой может составлять всего 30-40 МБ, и Java. 14 включает jpackage jpackage, которая может создать установщик, содержащий этот минимальный JRE с вашим приложением.
Тем не менее, для приложений командной строки установщик не идеален. В идеале мы хотим распространять нашу утилиту CLI как «настоящий» нативный исполняемый файл без упакованной среды выполнения. GraalVM позволяет нам делать это с помощью программ, написанных на Java.
Читать: https://habr.com/ru/post/597105/?utm_campaign=597105
8 543
Баттл языков программирования 2021 завершился
По результатам батла выбран лучший язык программирования 2021 года по версии Tproger. Подготовили таблицу с первыми тремя местами.
Читать: «Баттл языков программирования 2021 завершился»
8 543
Финал баттла языков программирования 2021
В финал за звание лучшего языка программирования вышли лучшие из лучших: C# vs. Python, Java vs. Go. Отдайте голос за любимый язык.
Читать: «Финал баттла языков программирования 2021»
8 543
Пройдите головоломку и получите шанс выиграть плюшевого Тирекса, промокод на продукты Selectel или увлажнитель воздуха от Intel:
https://tprg.ru/VHQ2
Это #партнёрский пост
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
