TrueSql — ультимативный sql-коннектор для Java
Community долго шло к видению, что Java новых версий это хороший язык, но у него проблема с библиотеками. Сегодня мы готовы публично представить TrueSql – библиотеку для “right” работы с базой данных из Java.
Читать: https://habr.com/ru/articles/880830/?utm_campaign=880830
@a_cup_of_java | Другие наши каналы
Community долго шло к видению, что Java новых версий это хороший язык, но у него проблема с библиотеками. Сегодня мы готовы публично представить TrueSql – библиотеку для “right” работы с базой данных из Java.
Читать: https://habr.com/ru/articles/880830/?utm_campaign=880830
@a_cup_of_java | Другие наши каналы
👍2
Java News Roundup: LangChain4j 1.0-Beta1, JHipster Lite, GlassFish, Spring Cloud Stream Applications
This week's Java roundup for February 3rd, 2025 features news highlighting: the first beta release of LangChain4j 1.0; versions 1.27.0 and 1.28.0 of JHipster Lite; GlassFish 7.0.22; and versions 2025.0.0 and 2024.0.1 of Spring Cloud Stream Applications.
By Michael Redlich
Read: https://www.infoq.com/news/2025/02/java-news-roundup-feb03-2025/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for February 3rd, 2025 features news highlighting: the first beta release of LangChain4j 1.0; versions 1.27.0 and 1.28.0 of JHipster Lite; GlassFish 7.0.22; and versions 2025.0.0 and 2024.0.1 of Spring Cloud Stream Applications.
By Michael Redlich
Read: https://www.infoq.com/news/2025/02/java-news-roundup-feb03-2025/
@a_cup_of_java | Другие наши каналы
📚 Бесплатные ресурсы для изучения Java
Ищете качественную литературу по Java? Ознакомьтесь с подборкой из 17 бесплатных книг, доступных в PDF и HTML форматах. От основ до продвинутых тем, включая Java EE и алгоритмы. Подходит для всех уровней знаний. Подробности и ссылки на скачивание в статье по ссылке.
Подробности: https://www.java67.com/2013/11/10-free-java-programing-books-download-PDF-HTML.html
#en
@a_cup_of_java | Другие наши каналы
Ищете качественную литературу по Java? Ознакомьтесь с подборкой из 17 бесплатных книг, доступных в PDF и HTML форматах. От основ до продвинутых тем, включая Java EE и алгоритмы. Подходит для всех уровней знаний. Подробности и ссылки на скачивание в статье по ссылке.
Подробности: https://www.java67.com/2013/11/10-free-java-programing-books-download-PDF-HTML.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие книги для изучения REST API и микросервисов на Java
Какой бы сложной ни казалась разработка RESTful сервисов, начать лучше с хорошей книги. В статье представлены 10 книг, которые помогут стать знатоком REST API и микросервисов на Java. Подойдут как новичкам, так и опытным разработчикам.
Подробности: https://www.java67.com/2017/06/top-10-rest-api-and-restful-web-services-book.html
#en
@a_cup_of_java | Другие наши каналы
Какой бы сложной ни казалась разработка RESTful сервисов, начать лучше с хорошей книги. В статье представлены 10 книг, которые помогут стать знатоком REST API и микросервисов на Java. Подойдут как новичкам, так и опытным разработчикам.
Подробности: https://www.java67.com/2017/06/top-10-rest-api-and-restful-web-services-book.html
#en
@a_cup_of_java | Другие наши каналы
👍5
5 бесплатных книг по SQL для начинающих и опытных
SQL — ключевой навык для программистов, аналитиков и ИТ-специалистов. В статье представлены 5 бесплатных книг на 2025 год, которые помогут освоить SQL. Книги доступны для скачивания или чтения онлайн. Отличная возможность углубить знания без затрат!
Подробности: https://www.java67.com/2017/08/5-free-sql-books-for-beginners-and-experienced-pdf-download.html
#en
@a_cup_of_java | Другие наши каналы
SQL — ключевой навык для программистов, аналитиков и ИТ-специалистов. В статье представлены 5 бесплатных книг на 2025 год, которые помогут освоить SQL. Книги доступны для скачивания или чтения онлайн. Отличная возможность углубить знания без затрат!
Подробности: https://www.java67.com/2017/08/5-free-sql-books-for-beginners-and-experienced-pdf-download.html
#en
@a_cup_of_java | Другие наши каналы
Итоги года вместе с Amplicode
Первые публичные демо, ажиотаж на конференциях, поддержка Spring Data JDBC, разработка собственного HTTP-клиент (Connekt), интеграция с Kubernetes, тысячи активных пользователей, сотни тысяч просмотров на YouTube и участие в создании OpenIDE — так можно охарактеризовать 2024 год одним предложением с точки зрения команды Amplicode.
Читать: https://habr.com/ru/companies/haulmont/articles/879594/?utm_campaign=879594
@a_cup_of_java | Другие наши каналы
Первые публичные демо, ажиотаж на конференциях, поддержка Spring Data JDBC, разработка собственного HTTP-клиент (Connekt), интеграция с Kubernetes, тысячи активных пользователей, сотни тысяч просмотров на YouTube и участие в создании OpenIDE — так можно охарактеризовать 2024 год одним предложением с точки зрения команды Amplicode.
Читать: https://habr.com/ru/companies/haulmont/articles/879594/?utm_campaign=879594
@a_cup_of_java | Другие наши каналы
Сложные «танцы» дилетанта вокруг телеграмм-бота викторины на java
Написав в 2023 году своего второго бота – картинную галерею (функционал которого был достаточно прост – выдавать пользователю по запросу примеры картин художников, экспонирующиеся в крупных российских музеях), во мне зародилась мысль трансформировать его в викторину, где пользователь должен угадать художника той или иной картины.
Функционал викторины классический:
- телеграмм-бот в случайном порядке должен присылать пользователю картины известных художников, которые сохранены в его базе,
- под картиной предлагаются кнопки с вариантами ответа,
- при выборе правильного ответа – присылается сообщение с результатом, названием картины и новая картина с вариантами ответов,
- если ответ неверный, пользователя об этом оповещают и предлагают либо выбрать другой вариант, либо нажать на соответствующую кнопку для получения нового вопроса-картины,
- если какая-то картина высылается повторно – варианты ответов должны выдаваться в иной последовательности, чем предлагались ранее,
- ведется статистика правильных ответов с возможностью ее обнуления,
- в перспективе – расширение тематики викторин.
Возникшие трудности.
Первая трудность, которая возникла еще на стадии самотестирования бота, было то, что рандомный метод выбора вопроса из коллекции вопросов работал странно: из 400 объектов его словно замыкало на 10-20 и он навязчиво высылал картины в этом диапазоне, а порой выдавал одну картину 2 и более раз подряд.
Вторая трудность уже проявилась, когда я развернула бот на хостинге и предоставила его для использования широкой аудитории – бот работал со всеми пользователями как с одним. То есть, значения полей (правильный ответ, описание и пр.) были актуальными всегда для вопроса, который бот выслал последим независимо от того, что это за пользователь. Иными словами, получаю, например, я очередной вопрос от бота. Если до того, как я на него отвечу, какому-то другому пользователю бот тоже вышлет вопрос, то что бы я не отвечала – любой мой ответ уже будет неверным, т.к. в памяти бота правильный ответ привязан к тому вопросу, который он в принципе отправил последним, а не последним именно мне.
Читать: https://habr.com/ru/articles/881332/?utm_campaign=881332
@a_cup_of_java | Другие наши каналы
Написав в 2023 году своего второго бота – картинную галерею (функционал которого был достаточно прост – выдавать пользователю по запросу примеры картин художников, экспонирующиеся в крупных российских музеях), во мне зародилась мысль трансформировать его в викторину, где пользователь должен угадать художника той или иной картины.
Функционал викторины классический:
- телеграмм-бот в случайном порядке должен присылать пользователю картины известных художников, которые сохранены в его базе,
- под картиной предлагаются кнопки с вариантами ответа,
- при выборе правильного ответа – присылается сообщение с результатом, названием картины и новая картина с вариантами ответов,
- если ответ неверный, пользователя об этом оповещают и предлагают либо выбрать другой вариант, либо нажать на соответствующую кнопку для получения нового вопроса-картины,
- если какая-то картина высылается повторно – варианты ответов должны выдаваться в иной последовательности, чем предлагались ранее,
- ведется статистика правильных ответов с возможностью ее обнуления,
- в перспективе – расширение тематики викторин.
Возникшие трудности.
Первая трудность, которая возникла еще на стадии самотестирования бота, было то, что рандомный метод выбора вопроса из коллекции вопросов работал странно: из 400 объектов его словно замыкало на 10-20 и он навязчиво высылал картины в этом диапазоне, а порой выдавал одну картину 2 и более раз подряд.
Вторая трудность уже проявилась, когда я развернула бот на хостинге и предоставила его для использования широкой аудитории – бот работал со всеми пользователями как с одним. То есть, значения полей (правильный ответ, описание и пр.) были актуальными всегда для вопроса, который бот выслал последим независимо от того, что это за пользователь. Иными словами, получаю, например, я очередной вопрос от бота. Если до того, как я на него отвечу, какому-то другому пользователю бот тоже вышлет вопрос, то что бы я не отвечала – любой мой ответ уже будет неверным, т.к. в памяти бота правильный ответ привязан к тому вопросу, который он в принципе отправил последним, а не последним именно мне.
Читать: https://habr.com/ru/articles/881332/?utm_campaign=881332
@a_cup_of_java | Другие наши каналы
Micronaut Framework 4.7.0 Provides Integration with LangChain4j and Graal Languages
The Micronaut Foundation has released Micronaut Framework 4.7.0 in December 2024, four months after the release of version 4.6.0. This version provides LangChain4J support to integrate LLMs into Java applications. Micronaut Graal Languages provides integration with Graal-based dynamic languages such as the Micronaut GraalPy feature to interact with Python.
By Johan Janssen
Read: https://www.infoq.com/news/2025/02/micronaut-langchain4j/
@a_cup_of_java | Другие наши каналы
The Micronaut Foundation has released Micronaut Framework 4.7.0 in December 2024, four months after the release of version 4.6.0. This version provides LangChain4J support to integrate LLMs into Java applications. Micronaut Graal Languages provides integration with Graal-based dynamic languages such as the Micronaut GraalPy feature to interact with Python.
By Johan Janssen
Read: https://www.infoq.com/news/2025/02/micronaut-langchain4j/
@a_cup_of_java | Другие наши каналы
Глубокое погружение в процедуру запуска JVM
Новый перевод от команды Spring АйО расскажет вам, что происходит при запуске самого простого приложения на Java, какие шаги выполняет JVM, сколько классов ей необходимо загрузить, чтобы просто написать “Hello World!” и как все это выглядит на уровне byte code.
Читать: https://habr.com/ru/companies/spring_aio/articles/881128/?utm_campaign=881128
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам, что происходит при запуске самого простого приложения на Java, какие шаги выполняет JVM, сколько классов ей необходимо загрузить, чтобы просто написать “Hello World!” и как все это выглядит на уровне byte code.
Читать: https://habr.com/ru/companies/spring_aio/articles/881128/?utm_campaign=881128
@a_cup_of_java | Другие наши каналы
12 книг, которые изменят вашу карьеру программиста
Чтение классических книг может значительно обогатить опыт любого программиста, от новичка до профессионала. Статья предлагает обзор из 12 книг, которые помогут развить навыки проектирования, кодирования, управления проектами и сотрудничества в команде. Узнайте, какие книги могут стать вашим главным путеводителем в мире разработки.
Подробности: https://www.java67.com/2015/03/10-books-every-programmer-and-software-engineer-read.html
#en
@a_cup_of_java | Другие наши каналы
Чтение классических книг может значительно обогатить опыт любого программиста, от новичка до профессионала. Статья предлагает обзор из 12 книг, которые помогут развить навыки проектирования, кодирования, управления проектами и сотрудничества в команде. Узнайте, какие книги могут стать вашим главным путеводителем в мире разработки.
Подробности: https://www.java67.com/2015/03/10-books-every-programmer-and-software-engineer-read.html
#en
@a_cup_of_java | Другие наши каналы
👏2👍1
Телеграм-бот с ИИ Jlama: добавляем новые фичи
Привет Хабр! В прошлый раз мы сделали телеграм-бота с полноценным ИИ. Теперь мы продолжим добавлять новые интересные фичи нашему боту, но в этот раз мы начнем с конца и посмотрим на готовый результат, а потом разберем код и детали реализации.
Читать: https://habr.com/ru/articles/881490/?utm_campaign=881490
@a_cup_of_java | Другие наши каналы
Привет Хабр! В прошлый раз мы сделали телеграм-бота с полноценным ИИ. Теперь мы продолжим добавлять новые интересные фичи нашему боту, но в этот раз мы начнем с конца и посмотрим на готовый результат, а потом разберем код и детали реализации.
Читать: https://habr.com/ru/articles/881490/?utm_campaign=881490
@a_cup_of_java | Другие наши каналы
👍3
Вся правда о данных: от примитивов до озера данных в эпоху микросервисов. Гайд для Java-разработчика
Данные — это новая нефть. От эффективности работы с ними напрямую зависит успех любого проекта, особенно в эпоху микросервисов. В этой статье мы погрузимся в мир данных и рассмотрим его с точки зрения Java-разработчика, который хочет добиться продуктивности и оставаться во всеоружии при работе с любыми объемами информации.
Цель этой статьи - предоставить полное руководство по структурам, концептам и инструментам для работы с данными в экосистеме Java, с уклоном в микросервисную архитектуру.
Мы пройдем путь от простейших структур данных, таких как примитивы и массивы, до сложных концептов, таких как озера данных и потоки событий. Рассмотрим различные способы хранения, обработки и передачи данных, а также архитектурные компоненты, необходимые для построения эффективных систем. Подробно остановимся на стратегиях развития - как правильно выбрать структуру и инструменты в зависимости от стадии развития проекта - от прототипа до высоконагруженной системы. Особое внимание уделим специфике микросервисной архитектуры и тому, как она влияет на выбор подходов к работе с данными.
Статья будет полезна Java-разработчикам разного уровня: от начинающих, желающих систематизировать свои знания, до опытных, ищущих решения для сложных задач в области хранения, передачи и обработки данных.
Читать: https://habr.com/ru/articles/881682/?utm_campaign=881682
@a_cup_of_java | Другие наши каналы
Данные — это новая нефть. От эффективности работы с ними напрямую зависит успех любого проекта, особенно в эпоху микросервисов. В этой статье мы погрузимся в мир данных и рассмотрим его с точки зрения Java-разработчика, который хочет добиться продуктивности и оставаться во всеоружии при работе с любыми объемами информации.
Цель этой статьи - предоставить полное руководство по структурам, концептам и инструментам для работы с данными в экосистеме Java, с уклоном в микросервисную архитектуру.
Мы пройдем путь от простейших структур данных, таких как примитивы и массивы, до сложных концептов, таких как озера данных и потоки событий. Рассмотрим различные способы хранения, обработки и передачи данных, а также архитектурные компоненты, необходимые для построения эффективных систем. Подробно остановимся на стратегиях развития - как правильно выбрать структуру и инструменты в зависимости от стадии развития проекта - от прототипа до высоконагруженной системы. Особое внимание уделим специфике микросервисной архитектуры и тому, как она влияет на выбор подходов к работе с данными.
Статья будет полезна Java-разработчикам разного уровня: от начинающих, желающих систематизировать свои знания, до опытных, ищущих решения для сложных задач в области хранения, передачи и обработки данных.
Читать: https://habr.com/ru/articles/881682/?utm_campaign=881682
@a_cup_of_java | Другие наши каналы
👍5❤1
Junie – новый AI-агент от JetBrains. Junior разработчики больше не нужны
В новом переводе от команды Spring АйО мы расскажем вам о новом продукте от компании JetBrains, который называется Junie. Новый продукт работает по принципу искусственного интеллекта и способен самостоятельно выполняет задачи по написанию кода.
Читать: https://habr.com/ru/companies/spring_aio/articles/881288/?utm_campaign=881288
@a_cup_of_java | Другие наши каналы
В новом переводе от команды Spring АйО мы расскажем вам о новом продукте от компании JetBrains, который называется Junie. Новый продукт работает по принципу искусственного интеллекта и способен самостоятельно выполняет задачи по написанию кода.
Читать: https://habr.com/ru/companies/spring_aio/articles/881288/?utm_campaign=881288
@a_cup_of_java | Другие наши каналы
😁6🤣2
Где я учился, чтобы перейти в it сферу и преуспеть
Данная статья является продолжением этой статьи: Инструкция: как перейти в сферу it, но с перечнем курсов, которые я закончил (это тоже часто спрашивают). Можете считать это рекламой пройденных мною курсов, а можете и не считать.
Читать: https://habr.com/ru/articles/881762/?utm_campaign=881762
@a_cup_of_java | Другие наши каналы
Данная статья является продолжением этой статьи: Инструкция: как перейти в сферу it, но с перечнем курсов, которые я закончил (это тоже часто спрашивают). Можете считать это рекламой пройденных мною курсов, а можете и не считать.
Читать: https://habr.com/ru/articles/881762/?utm_campaign=881762
@a_cup_of_java | Другие наши каналы
Топ-5 книг по Spring Framework для разработчиков Java в 2025 году
Ищете лучшие книги по Spring Framework? Мы сделали подборку из 5 актуальных книг, подходящих как для начинающих, так и для опытных Java-разработчиков. В списке представлены издания, охватывающие новейшие версии Spring, включая Spring Boot и Spring Security. Узнайте, что рекомендуют эксперты! 📚 Полное погружение в Spring Framework
Статья рассматривает популярные книги и курсы для изучения Spring Framework и Spring Boot. Если вы предпочитаете структурированное обучение, обратите внимание на курс от Eugen Paraschiv. Это отличный способ начать программировать на Spring с нуля. Топ-Вопросы для Интервью по Программированию
Статья предлагает ценные советы для подготовки к собеседованиям по программированию. Узнайте, какие вопросы чаще всего задают по J2EE, Spring и объектно-ориентированному программированию, чтобы быть готовым к любой встрече с работодателем.
Подробности: https://www.java67.com/2016/12/5-spring-framework-books-for-java-programmers.html
#en
@a_cup_of_java | Другие наши каналы
Ищете лучшие книги по Spring Framework? Мы сделали подборку из 5 актуальных книг, подходящих как для начинающих, так и для опытных Java-разработчиков. В списке представлены издания, охватывающие новейшие версии Spring, включая Spring Boot и Spring Security. Узнайте, что рекомендуют эксперты! 📚 Полное погружение в Spring Framework
Статья рассматривает популярные книги и курсы для изучения Spring Framework и Spring Boot. Если вы предпочитаете структурированное обучение, обратите внимание на курс от Eugen Paraschiv. Это отличный способ начать программировать на Spring с нуля. Топ-Вопросы для Интервью по Программированию
Статья предлагает ценные советы для подготовки к собеседованиям по программированию. Узнайте, какие вопросы чаще всего задают по J2EE, Spring и объектно-ориентированному программированию, чтобы быть готовым к любой встрече с работодателем.
Подробности: https://www.java67.com/2016/12/5-spring-framework-books-for-java-programmers.html
#en
@a_cup_of_java | Другие наши каналы
👍2❤1
Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит
Тим О’Райли: ИИ не заменит программистов, но изменит их работу. Кодинг станет абстрактнее, а ценность инженеров вырастет
Читать: «Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит»
@a_cup_of_java | Другие наши каналы
Тим О’Райли: ИИ не заменит программистов, но изменит их работу. Кодинг станет абстрактнее, а ценность инженеров вырастет
Читать: «Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит»
@a_cup_of_java | Другие наши каналы
❤2
JDK 24 and JDK 25: What We Know So Far
JDK 24, the third non-LTS release since JDK 21, has reached its first release candidate phase with a final set of 24 new features, in the form of JEPs, that can be separated into five categories: Core Java Library, Java Language Specification, Security Library, HotSpot and Java Tools. We examine JDK 24 and predict what features have, or could be, targeted for JDK 25.
By Michael Redlich
Read: https://www.infoq.com/news/2025/02/java-24-so-far/
@a_cup_of_java | Другие наши каналы
JDK 24, the third non-LTS release since JDK 21, has reached its first release candidate phase with a final set of 24 new features, in the form of JEPs, that can be separated into five categories: Core Java Library, Java Language Specification, Security Library, HotSpot and Java Tools. We examine JDK 24 and predict what features have, or could be, targeted for JDK 25.
By Michael Redlich
Read: https://www.infoq.com/news/2025/02/java-24-so-far/
@a_cup_of_java | Другие наши каналы
👍2
Как ускорить Maven сборку без переезда на Gradle
С ростом размера Maven проекта встает вопрос скорости сборки и выполнения тестов. Один из самых очевидных способов оптимизации - переезд на другую систему сборки (например, Gradle). Однако перед тем как переезжать (что неизбежно создаст новые проблемы - об этом в конце) давайте поговорим о том, что мы можем сделать для ускорения, оставаясь на Maven. Тем более что многие советы нам пригодятся в любом случае, даже если переезд в итоге и состоится.
Мы начнем с простого, поговорим про кеши и build-сканы и затем заглянем под капот Maven, чтобы понять, как найти и устранить узкие места, а также детально сравним с Gradle. Эффект от каждого совета по отдельности может быть и не такой заметный, но в совокупности ускорение может быть в разы!
В рамках этой статьи мы поговорим в основном про оптимизацию компиляции.
Погнали
Читать: https://habr.com/ru/articles/881620/?utm_campaign=881620
@a_cup_of_java | Другие наши каналы
С ростом размера Maven проекта встает вопрос скорости сборки и выполнения тестов. Один из самых очевидных способов оптимизации - переезд на другую систему сборки (например, Gradle). Однако перед тем как переезжать (что неизбежно создаст новые проблемы - об этом в конце) давайте поговорим о том, что мы можем сделать для ускорения, оставаясь на Maven. Тем более что многие советы нам пригодятся в любом случае, даже если переезд в итоге и состоится.
Мы начнем с простого, поговорим про кеши и build-сканы и затем заглянем под капот Maven, чтобы понять, как найти и устранить узкие места, а также детально сравним с Gradle. Эффект от каждого совета по отдельности может быть и не такой заметный, но в совокупности ускорение может быть в разы!
В рамках этой статьи мы поговорим в основном про оптимизацию компиляции.
Погнали
Читать: https://habr.com/ru/articles/881620/?utm_campaign=881620
@a_cup_of_java | Другие наши каналы
🔥1
Новый формат собеседований в Яндекс
Недавно Яндекс изменил процесс отбора кандидатов, теперь перед алгоритмической секцией добавилась секция Advanced Code. Секция заявлена как более близкая к практике, в статье я расскажу правила нового формата.
Читать: https://habr.com/ru/articles/882030/?utm_campaign=882030
@a_cup_of_java | Другие наши каналы
Недавно Яндекс изменил процесс отбора кандидатов, теперь перед алгоритмической секцией добавилась секция Advanced Code. Секция заявлена как более близкая к практике, в статье я расскажу правила нового формата.
Читать: https://habr.com/ru/articles/882030/?utm_campaign=882030
@a_cup_of_java | Другие наши каналы
😁7👏2🗿1
Через терни к рок-звездам: рассказываем, как прошел Java Rock Stars Meetup
Привет, Хабр! На связи Рустам, developer advocate из Axiom JDK.
В сфере зарубежного IT-рекрутинга существует термин “rockstar” и речь здесь не о музыкантах и безумных вечеринках. Это титул для лучших из лучших талантов в разработке.
Мы подготовили обзор первого Java Rock Stars Meetup - эксклюзивной встречи звезд индустрии с сообществом разработчиков, которая прошла в Москве. Под катом погружение в атмосферу и записи докладов. Смотрим как это было!
Читать: https://habr.com/ru/companies/axiomjdk/articles/882116/?utm_campaign=882116
@a_cup_of_java | Другие наши каналы
Привет, Хабр! На связи Рустам, developer advocate из Axiom JDK.
В сфере зарубежного IT-рекрутинга существует термин “rockstar” и речь здесь не о музыкантах и безумных вечеринках. Это титул для лучших из лучших талантов в разработке.
Мы подготовили обзор первого Java Rock Stars Meetup - эксклюзивной встречи звезд индустрии с сообществом разработчиков, которая прошла в Москве. Под катом погружение в атмосферу и записи докладов. Смотрим как это было!
Читать: https://habr.com/ru/companies/axiomjdk/articles/882116/?utm_campaign=882116
@a_cup_of_java | Другие наши каналы