Сколько времени нужно, чтобы выучить Data Science в 2024 году?
Изучить Data Science можно за 6-12 месяцев, но для достижения профессионального уровня потребуется больше времени и опыта. 25% специалистов не имеют высшего образования, и учатся через онлайн-курсы или буткемпы. Начните с Python, SQL и машинного обучения.
Подробности: http://www.java67.com/2023/01/how-long-it-take-to-learn-data-science.html
#en
@a_cup_of_java | Другие наши каналы
Изучить Data Science можно за 6-12 месяцев, но для достижения профессионального уровня потребуется больше времени и опыта. 25% специалистов не имеют высшего образования, и учатся через онлайн-курсы или буткемпы. Начните с Python, SQL и машинного обучения.
Подробности: http://www.java67.com/2023/01/how-long-it-take-to-learn-data-science.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие онлайн-курсы по MySQL в 2024 году
Хотите освоить MySQL, один из самых популярных инструментов работы с базами данных? В статье представлена подборка из пяти лучших онлайн-курсов для начинающих на платформах Udemy, Coursera и других. Эти курсы помогут вам стать востребованным специалистом в мире технологий!
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-mysql-database.html
#en
@a_cup_of_java | Другие наши каналы
Хотите освоить MySQL, один из самых популярных инструментов работы с базами данных? В статье представлена подборка из пяти лучших онлайн-курсов для начинающих на платформах Udemy, Coursera и других. Эти курсы помогут вам стать востребованным специалистом в мире технологий!
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-mysql-database.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие курсы по нейронным сетям и глубокому обучению в 2024 году
Ищете онлайн-курсы по глубокому обучению в 2024 году? Coursera предлагает отличные программы с доступом к материалам ведущих экспертов и преподавателей мирового уровня. Узнайте ключевые концепции и изучайте их под руководством профессионалов, чтобы полноценно освоить этот важный навык.
Подробности: http://www.java67.com/2022/01/top-6-deep-learning-and-neural-networks.html
#en
@a_cup_of_java | Другие наши каналы
Ищете онлайн-курсы по глубокому обучению в 2024 году? Coursera предлагает отличные программы с доступом к материалам ведущих экспертов и преподавателей мирового уровня. Узнайте ключевые концепции и изучайте их под руководством профессионалов, чтобы полноценно освоить этот важный навык.
Подробности: http://www.java67.com/2022/01/top-6-deep-learning-and-neural-networks.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие курсы UML для разработчиков в 2024
Интересуетесь UML и хотите улучшить навыки программирования? В статье представлены топ-5 онлайн курсов по UML, которые помогут освоить основные концепции проектирования ПО. Это отличный выбор для роста в карьере и освоения роли архитектора. Узнайте больше на платформе Java67!
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-uml-for-software.html
#en
@a_cup_of_java | Другие наши каналы
Интересуетесь UML и хотите улучшить навыки программирования? В статье представлены топ-5 онлайн курсов по UML, которые помогут освоить основные концепции проектирования ПО. Это отличный выбор для роста в карьере и освоения роли архитектора. Узнайте больше на платформе Java67!
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-uml-for-software.html
#en
@a_cup_of_java | Другие наши каналы
Article: How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
By Uberto Barbini
Read: https://www.infoq.com/articles/functional-programming-web-app/
@a_cup_of_java | Другие наши каналы
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
By Uberto Barbini
Read: https://www.infoq.com/articles/functional-programming-web-app/
@a_cup_of_java | Другие наши каналы
AI-ассистент со Spring AI (Часть I)
В новом переводе от команды Spring АйО показан процесс интеграции AI в немалоизвестное приложение Spring Petclinic.
В статье автор пошагово делится своим опытом внедрения Spring AI, чтобы сделать приложение более интерактивным.
Читать: https://habr.com/ru/companies/spring_aio/articles/848016/?utm_campaign=848016
@a_cup_of_java | Другие наши каналы
В новом переводе от команды Spring АйО показан процесс интеграции AI в немалоизвестное приложение Spring Petclinic.
В статье автор пошагово делится своим опытом внедрения Spring AI, чтобы сделать приложение более интерактивным.
Читать: https://habr.com/ru/companies/spring_aio/articles/848016/?utm_campaign=848016
@a_cup_of_java | Другие наши каналы
⚡2❤2✍1
Compiler Explorer Provides Insights Into Low-Level Android App Optimization
Android engineers at Google added support for the Java and Kotlin programming languages to Compiler Explorer, an open source tool aimed at exploring how compilers work by compiling code in real-time. Using Compiler Explorer, Android engineers can optimize the performance of their apps by observing how the compiler works under the hood instead of using a set of pre-defined best practices.
By Sergio De Simone
Read: https://www.infoq.com/news/2024/10/compiler-explorer-android/
@a_cup_of_java | Другие наши каналы
Android engineers at Google added support for the Java and Kotlin programming languages to Compiler Explorer, an open source tool aimed at exploring how compilers work by compiling code in real-time. Using Compiler Explorer, Android engineers can optimize the performance of their apps by observing how the compiler works under the hood instead of using a set of pre-defined best practices.
By Sergio De Simone
Read: https://www.infoq.com/news/2024/10/compiler-explorer-android/
@a_cup_of_java | Другие наши каналы
🥰3
Аутентификация через телеграм в Spring Boot приложении
Способ аутентификации через телеграм отлично описан в документации. В этой статье мы реализуем его в Spring Boot приложении.
Читать: https://habr.com/ru/articles/848502/?utm_campaign=848502
@a_cup_of_java | Другие наши каналы
Способ аутентификации через телеграм отлично описан в документации. В этой статье мы реализуем его в Spring Boot приложении.
Читать: https://habr.com/ru/articles/848502/?utm_campaign=848502
@a_cup_of_java | Другие наши каналы
Dagger Hilt (Для начинающих)
Я являюсь разработчиком мобильных приложений с опытом уже более 3х лет! Я всегда разрабатываю мобильные приложения один - это требует моя работа. Но сегодня я хочу поделиться с Вами тем, что такое Dagger Hilt!
Следите за мной в телеграм
Dagger Hilt - это необходимый каждому инструмент, который упрощает в разы разработку мобильных приложений. Служит для внедрения зависимостей. В первую очередь он необходим тем, у кого в проекте есть множество классов, которые требуют реализации. Хотите чтоб за вас это сделал кто-то другой? Dagger Hilt к вашим услугам.
Читать: https://habr.com/ru/articles/848690/?utm_campaign=848690
@a_cup_of_java | Другие наши каналы
Я являюсь разработчиком мобильных приложений с опытом уже более 3х лет! Я всегда разрабатываю мобильные приложения один - это требует моя работа. Но сегодня я хочу поделиться с Вами тем, что такое Dagger Hilt!
Следите за мной в телеграм
Dagger Hilt - это необходимый каждому инструмент, который упрощает в разы разработку мобильных приложений. Служит для внедрения зависимостей. В первую очередь он необходим тем, у кого в проекте есть множество классов, которые требуют реализации. Хотите чтоб за вас это сделал кто-то другой? Dagger Hilt к вашим услугам.
Читать: https://habr.com/ru/articles/848690/?utm_campaign=848690
@a_cup_of_java | Другие наши каналы
Presentation: AI Integration for Java: To the Future, From the Past
The panelists discuss workflows, staff impact, and utilizing different tools, frameworks, and services to integrate AI in Java applications.
By Asir Selvasingh, Jonathan Schneider, Dov Katz, Svetlana Zemlyanskaya, Erik Costlow
Read: https://www.infoq.com/presentations/ai-java-integrate/
@a_cup_of_java | Другие наши каналы
The panelists discuss workflows, staff impact, and utilizing different tools, frameworks, and services to integrate AI in Java applications.
By Asir Selvasingh, Jonathan Schneider, Dov Katz, Svetlana Zemlyanskaya, Erik Costlow
Read: https://www.infoq.com/presentations/ai-java-integrate/
@a_cup_of_java | Другие наши каналы
Создание компонента Apache Camel
Приветствую, сообщество!
Меня зовут Александр, я java разработчик в компании БФТ. Тружусь я на проекте СМЭВ-адаптера, где мы занимаемся транзитивной обработкой сообщений. В нашу зону ответственности входит несколько микросервисов, которые обрабатывают очень много сообщений, почти ничего не пишут в БД, но часто обращаются в сторонние прикладные сервисы.
Для отслеживания пути сообщения через наши микросервисы мы используем Zipkin. Помимо этого в проекте задействован Apache Camel, с помощью которого мы выстраиваем цепочку обработки сообщения в одном конкретном микросервисе. Стандартные средства для работы с Zipkin обычно позволяют легко добавить к трассе вход, выход в сервис и запись в БД, но, т.к. к нас не совсем стандартное поведение у сервисов, нам хотелось выделять в Zipkin и обращение в сторонние сервисы.
Хотелось эту логику как-то элегантно встроить в роут Camel, но существующие средства такой возможности не предоставляли.
Было принято решение написать свой компонент для Apache Camel. Делали мы это впервые и, к сожалению, полноценного гайда в интернетах найти не удалось...
Встречайте! Гайд по написанию собственного Camel-компонента!
Читать: https://habr.com/ru/companies/bft/articles/796607/?utm_campaign=796607
@a_cup_of_java | Другие наши каналы
Приветствую, сообщество!
Меня зовут Александр, я java разработчик в компании БФТ. Тружусь я на проекте СМЭВ-адаптера, где мы занимаемся транзитивной обработкой сообщений. В нашу зону ответственности входит несколько микросервисов, которые обрабатывают очень много сообщений, почти ничего не пишут в БД, но часто обращаются в сторонние прикладные сервисы.
Для отслеживания пути сообщения через наши микросервисы мы используем Zipkin. Помимо этого в проекте задействован Apache Camel, с помощью которого мы выстраиваем цепочку обработки сообщения в одном конкретном микросервисе. Стандартные средства для работы с Zipkin обычно позволяют легко добавить к трассе вход, выход в сервис и запись в БД, но, т.к. к нас не совсем стандартное поведение у сервисов, нам хотелось выделять в Zipkin и обращение в сторонние сервисы.
Хотелось эту логику как-то элегантно встроить в роут Camel, но существующие средства такой возможности не предоставляли.
Было принято решение написать свой компонент для Apache Camel. Делали мы это впервые и, к сожалению, полноценного гайда в интернетах найти не удалось...
Встречайте! Гайд по написанию собственного Camel-компонента!
Читать: https://habr.com/ru/companies/bft/articles/796607/?utm_campaign=796607
@a_cup_of_java | Другие наши каналы
🔥2🎉2
Java Digest #17
Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске детально рассмотрим новый релиз Java 23 и расскажем, какие JEPы в него вошли. Посмотрим несколько интересных докладов с JVM Language Summit, узнаем об опыте Netflix по переходу на Generation ZGC и почитаем интересную статью о низкоуровневых инструментах обеспечения гарантий порядка памяти.
Читать семнадцатый выпуск
Читать: https://habr.com/ru/companies/tbank/articles/848784/?utm_campaign=848784
@a_cup_of_java | Другие наши каналы
Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске детально рассмотрим новый релиз Java 23 и расскажем, какие JEPы в него вошли. Посмотрим несколько интересных докладов с JVM Language Summit, узнаем об опыте Netflix по переходу на Generation ZGC и почитаем интересную статью о низкоуровневых инструментах обеспечения гарантий порядка памяти.
Читать семнадцатый выпуск
Читать: https://habr.com/ru/companies/tbank/articles/848784/?utm_campaign=848784
@a_cup_of_java | Другие наши каналы
Java News Roundup: OpenJDK JEPs, Plans for Spring 7.0, JobRunr 7.3, Keycloak 26.0, Debezium 3.0
This week's Java roundup for September 30th, 2024 features news highlighting: new OpenJDK JEPs and those targeted for JDK 24; plans for Spring Framework 7.0; JobRunr 7.3.0, Keycloak 26.0.0 and Debezium 3.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2024/10/java-news-roundup-sep30-2024/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for September 30th, 2024 features news highlighting: new OpenJDK JEPs and those targeted for JDK 24; plans for Spring Framework 7.0; JobRunr 7.3.0, Keycloak 26.0.0 and Debezium 3.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2024/10/java-news-roundup-sep30-2024/
@a_cup_of_java | Другие наши каналы
Тестируем интеграцию с очередями сообщений правильно
Наверняка в вашем проекте используется очередь сообщений (не важно kafka, pulsar или какой-нибудь зайчик). Основной проблемой является подробное тестирование работы вашей системы. Рассмотрим варианты решения и посмотрим, что там у автора в рукаве.
Отправлять сообщения
Читать: https://habr.com/ru/articles/848936/?utm_campaign=848936
@a_cup_of_java | Другие наши каналы
Наверняка в вашем проекте используется очередь сообщений (не важно kafka, pulsar или какой-нибудь зайчик). Основной проблемой является подробное тестирование работы вашей системы. Рассмотрим варианты решения и посмотрим, что там у автора в рукаве.
Отправлять сообщения
Читать: https://habr.com/ru/articles/848936/?utm_campaign=848936
@a_cup_of_java | Другие наши каналы
Туториал по Spring Data Envers для начинающих
Команда Spring АйО перевела статью, которая отлично подойдёт тем, кто ещё не знаком со Spring Data Envers. В статье на простых примерах объясняется, как отслеживать изменения данных в приложении, используя этот инструмент.
Читать: https://habr.com/ru/companies/spring_aio/articles/849086/?utm_campaign=849086
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью, которая отлично подойдёт тем, кто ещё не знаком со Spring Data Envers. В статье на простых примерах объясняется, как отслеживать изменения данных в приложении, используя этот инструмент.
Читать: https://habr.com/ru/companies/spring_aio/articles/849086/?utm_campaign=849086
@a_cup_of_java | Другие наши каналы
🔥2
@Volatile: Лёгкий способ синхронизировать потоки… пока не понадобится атомарность
Привет, Хабр!
Если кто-то сказал вам, что многопоточность в Java — это просто, то этот кто-то явно что-то недоговаривает. Многопоточность может быть настоящим кошмаром, особенно когда речь заходит о синхронизации данных между потоками. Но есть одно хитрое средство —
Но сразу скажу:
Об ограничениях этого инструмента и не только поговорим в этой статье. И начнем с его механизма работы.
Читать: https://habr.com/ru/companies/otus/articles/848342/?utm_campaign=848342
@a_cup_of_java | Другие наши каналы
Привет, Хабр!
Если кто-то сказал вам, что многопоточность в Java — это просто, то этот кто-то явно что-то недоговаривает. Многопоточность может быть настоящим кошмаром, особенно когда речь заходит о синхронизации данных между потоками. Но есть одно хитрое средство —
@Volatile, которое, словно волшебная палочка, помогает синхронизировать потоки без всяких блокировок.@Volatile — это такой бюджетный способ синхронизации. Он не блокирует потоки, как старый добрый synchronized, но делает важное дело: гарантирует, что все изменения переменной моментально видны всем потокам. Без него потоки могут весело жить с устаревшими данными и даже не догадываться, что все вокруг давно изменилось. Но сразу скажу:
@Volatile — это не универсальная таблетка от всех проблем многопоточности. Он хорош для простых задач, где нужна только видимость изменений. Но как только ваши требования начинают включать атомарные операции или сложную логику — вот тут @Volatile сдаёт позиции. И это нормально. Каждый инструмент имеет свои ограничения, и важно понимать, когда его использовать, а когда бежать за чем-то посерьёзнее.Об ограничениях этого инструмента и не только поговорим в этой статье. И начнем с его механизма работы.
Читать: https://habr.com/ru/companies/otus/articles/848342/?utm_campaign=848342
@a_cup_of_java | Другие наши каналы
Лучший способ создания нескольких окружений для Spring Boot приложения с помощью Docker Compose
В новой статье от команды Amplicode я расскажу, как можно создать несколько Docker Compose файлов для разных нужд. Например, для продакшена и разработки, и при этом не утонуть в копипасте.
Читать: https://habr.com/ru/companies/haulmont/articles/848696/?utm_campaign=848696
@a_cup_of_java | Другие наши каналы
В новой статье от команды Amplicode я расскажу, как можно создать несколько Docker Compose файлов для разных нужд. Например, для продакшена и разработки, и при этом не утонуть в копипасте.
Читать: https://habr.com/ru/companies/haulmont/articles/848696/?utm_campaign=848696
@a_cup_of_java | Другие наши каналы
⚡2❤2✍1
Принципы SOLID на примерах из жизни и разработки
Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде.
Итак, SOLID - это 5 принципов, которые используются при разработке приложений. На каждый принцип по букве:
1. S — Single Responsibility Principle (Принцип единственной ответственности)
Определение: Каждый класс должен выполнять только одну задачу.
Пример из жизни:
Например, мы купили шкаф для одежды.
Читать: https://habr.com/ru/articles/849350/?utm_campaign=849350
@a_cup_of_java | Другие наши каналы
Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде.
Итак, SOLID - это 5 принципов, которые используются при разработке приложений. На каждый принцип по букве:
1. S — Single Responsibility Principle (Принцип единственной ответственности)
Определение: Каждый класс должен выполнять только одну задачу.
Пример из жизни:
Например, мы купили шкаф для одежды.
Читать: https://habr.com/ru/articles/849350/?utm_campaign=849350
@a_cup_of_java | Другие наши каналы
👍1
Вышел Spring AI 1.0.0 M3
Spring выпустил Spring AI 1.0.0 M3, который принес множество значительных улучшений и новых возможностей в разработку AI-приложений.
В новом переводе от команды Spring АйО рассказывается про улучшения, связанные с observability, совершенствование системы advisor`ов и оптимизацию работы с функциями и embedding моделями.
Читать: https://habr.com/ru/companies/spring_aio/articles/849752/?utm_campaign=849752
@a_cup_of_java | Другие наши каналы
Spring выпустил Spring AI 1.0.0 M3, который принес множество значительных улучшений и новых возможностей в разработку AI-приложений.
В новом переводе от команды Spring АйО рассказывается про улучшения, связанные с observability, совершенствование системы advisor`ов и оптимизацию работы с функциями и embedding моделями.
Читать: https://habr.com/ru/companies/spring_aio/articles/849752/?utm_campaign=849752
@a_cup_of_java | Другие наши каналы
👍7❤3🔥3
Spring Patterns. Часть 2. Spring + ThreadLocal. AOP. Transaction cache
Всем привет. Я разрабатываю приложения с использованием Java, Spring Boot, Hibernate.
В прошлой статье я показал реализацию паттерна Spring Fluent Interface. При помощи которого можно инкапсулировать похожие действия внутри приложения в модуль, предоставлять клиентскому коду удобный декларативный API, и при этом “кишки” модуля могут использовать “магию” Spring. https://habr.com/ru/articles/846864/
В этой статье я хочу поделиться опытом работы с Spring + ThreadLocal.
Два слова о ThreadLocal.
Это потокобезопасная переменная. Под капотом у которой ConcurrentHashMap. Ключ - текущий поток (там чутка сложнее, но для понимания будет достаточно). Значение может быть любым типом, ThreadLocal типизирована <t. При этом можно инициализировать значение null, или сразу чем-то, например пустым списком.
Читать: https://habr.com/ru/articles/849832/?utm_campaign=849832
@a_cup_of_java | Другие наши каналы
Всем привет. Я разрабатываю приложения с использованием Java, Spring Boot, Hibernate.
В прошлой статье я показал реализацию паттерна Spring Fluent Interface. При помощи которого можно инкапсулировать похожие действия внутри приложения в модуль, предоставлять клиентскому коду удобный декларативный API, и при этом “кишки” модуля могут использовать “магию” Spring. https://habr.com/ru/articles/846864/
В этой статье я хочу поделиться опытом работы с Spring + ThreadLocal.
Два слова о ThreadLocal.
Это потокобезопасная переменная. Под капотом у которой ConcurrentHashMap. Ключ - текущий поток (там чутка сложнее, но для понимания будет достаточно). Значение может быть любым типом, ThreadLocal типизирована <t. При этом можно инициализировать значение null, или сразу чем-то, например пустым списком.
Читать: https://habr.com/ru/articles/849832/?utm_campaign=849832
@a_cup_of_java | Другие наши каналы
😁3
InfoQ Dev Summit Munich: How to Optimize Java for the 1BRC
Java applications passed the 1 Billion Row Challenge (1BRC) in 1.5 seconds. 1BRC creator Gunnar Morling detailed their optimizations at the InfoQ Dev Summit Munich 2024. General optimizations applicable to all Java applications cut the runtime from 290 seconds to 20 seconds. Getting to 1.5 seconds required niche optimizations that most Java applications should forego, except for possibly GraalVM.
By Karsten Silz
Read: https://www.infoq.com/news/2024/10/optimize-java-1brc/
@a_cup_of_java | Другие наши каналы
Java applications passed the 1 Billion Row Challenge (1BRC) in 1.5 seconds. 1BRC creator Gunnar Morling detailed their optimizations at the InfoQ Dev Summit Munich 2024. General optimizations applicable to all Java applications cut the runtime from 290 seconds to 20 seconds. Getting to 1.5 seconds required niche optimizations that most Java applications should forego, except for possibly GraalVM.
By Karsten Silz
Read: https://www.infoq.com/news/2024/10/optimize-java-1brc/
@a_cup_of_java | Другие наши каналы