Как я пишу open source игру на Java
Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.
В этой статье я погружусь в детали геймдева и расскажу о том, почему вообще стоит заниматься подобными проектами.
Читать: https://habr.com/ru/companies/korus_consulting/articles/874134/?utm_campaign=874134
@a_cup_of_java | Другие наши каналы
Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.
В этой статье я погружусь в детали геймдева и расскажу о том, почему вообще стоит заниматься подобными проектами.
Читать: https://habr.com/ru/companies/korus_consulting/articles/874134/?utm_campaign=874134
@a_cup_of_java | Другие наши каналы
Стала доступна первая EAP-версия IntelliJ IDEA 2025.1
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1.
Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.
Читать: https://habr.com/ru/companies/spring_aio/articles/874146/?utm_campaign=874146
@a_cup_of_java | Другие наши каналы
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1.
Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.
Читать: https://habr.com/ru/companies/spring_aio/articles/874146/?utm_campaign=874146
@a_cup_of_java | Другие наши каналы
✍3👏3⚡1
Смотрим «под капот» бэкенда изображений в ОК
Ни одна современная соцсеть не обходится без картинок и фото. ОК — не исключение. Но чтобы пользователи соцсети могли загружать свои фото, ставить аватарки и иначе использовать свои изображения, нужны отлаженные механизмы и целый стек обработки на стороне бэкенда.
Меня зовут Руслан Измайлов. Я ведущий Java‑разработчик в ОК. В этой статье я хочу показать на конкретном юзкейсе весь путь изображения в соцсети ОК: от его загрузки на портал до скачивания с узлов CDN.
Читать: https://habr.com/ru/companies/odnoklassniki/articles/873874/?utm_campaign=873874
@a_cup_of_java | Другие наши каналы
Ни одна современная соцсеть не обходится без картинок и фото. ОК — не исключение. Но чтобы пользователи соцсети могли загружать свои фото, ставить аватарки и иначе использовать свои изображения, нужны отлаженные механизмы и целый стек обработки на стороне бэкенда.
Меня зовут Руслан Измайлов. Я ведущий Java‑разработчик в ОК. В этой статье я хочу показать на конкретном юзкейсе весь путь изображения в соцсети ОК: от его загрузки на портал до скачивания с узлов CDN.
Читать: https://habr.com/ru/companies/odnoklassniki/articles/873874/?utm_campaign=873874
@a_cup_of_java | Другие наши каналы
🔥5
SOLID на котиках: коротко и по делу
Каждый разработчик знает, каково это — увидеть код, который страшно трогать. В нём всё ломается, стоит добавить пару строк. Чтобы такого не было, мир придумал SOLID — набор из пяти принципов, которые делают ваш код понятным, надёжным и лёгким в поддержке.
В этой статье рассмотрим, как внедрять эти принципы с умом, и да, будет немного котиков — куда без них.
Читать: https://habr.com/ru/companies/otus/articles/874104/?utm_campaign=874104
@a_cup_of_java | Другие наши каналы
Каждый разработчик знает, каково это — увидеть код, который страшно трогать. В нём всё ломается, стоит добавить пару строк. Чтобы такого не было, мир придумал SOLID — набор из пяти принципов, которые делают ваш код понятным, надёжным и лёгким в поддержке.
В этой статье рассмотрим, как внедрять эти принципы с умом, и да, будет немного котиков — куда без них.
Читать: https://habr.com/ru/companies/otus/articles/874104/?utm_campaign=874104
@a_cup_of_java | Другие наши каналы
😁5
Как работать с JSON в веб-разработке?
Что такое JSON. Показываем основы веб-разработки с помощью JSON. Рассматриваем пошаговую инструкцию, как правильно управлять данными ✔ Tproger
Читать: «Как работать с JSON в веб-разработке?»
@a_cup_of_java | Другие наши каналы
Что такое JSON. Показываем основы веб-разработки с помощью JSON. Рассматриваем пошаговую инструкцию, как правильно управлять данными ✔ Tproger
Читать: «Как работать с JSON в веб-разработке?»
@a_cup_of_java | Другие наши каналы
❤1
Explyt Spring Plugin — наша версия HTTP-клиента для IntelliJ IDEA
Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.
Читать: https://habr.com/ru/companies/explyt/articles/874236/?utm_campaign=874236
@a_cup_of_java | Другие наши каналы
Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.
Читать: https://habr.com/ru/companies/explyt/articles/874236/?utm_campaign=874236
@a_cup_of_java | Другие наши каналы
👎1
Лучшие бесплатные курсы по R программированию в 2025 году
В статье представлены топ-5 бесплатных курсов по R программированию для начинающих. Эти курсы помогут освоить язык R, который популярен среди специалистов по анализу данных и статистике. Узнайте, как начать карьеру в Data Science с помощью R на известных платформах, таких как Udemy и Datacamp.
Подробности: http://www.java67.com/2018/09/top-5-free-R-programming-courses-for-Data-Science-Machine-Learning-Programmers.html
#en
@a_cup_of_java | Другие наши каналы
В статье представлены топ-5 бесплатных курсов по R программированию для начинающих. Эти курсы помогут освоить язык R, который популярен среди специалистов по анализу данных и статистике. Узнайте, как начать карьеру в Data Science с помощью R на известных платформах, таких как Udemy и Datacamp.
Подробности: http://www.java67.com/2018/09/top-5-free-R-programming-courses-for-Data-Science-Machine-Learning-Programmers.html
#en
@a_cup_of_java | Другие наши каналы
Не используйте JPA и Hibernate FetchType EAGER
Разные fetching strategies (стратегии извлечения), могут оказывать сильное влияние на скорость работы приложения, делать его быстрым или наоборот замедлять.
Hibernate определяет четыре стратегии выборки ассоциаций:
Читать: https://habr.com/ru/articles/874484/?utm_campaign=874484
@a_cup_of_java | Другие наши каналы
Разные fetching strategies (стратегии извлечения), могут оказывать сильное влияние на скорость работы приложения, делать его быстрым или наоборот замедлять.
Hibernate определяет четыре стратегии выборки ассоциаций:
Читать: https://habr.com/ru/articles/874484/?utm_campaign=874484
@a_cup_of_java | Другие наши каналы
Event-driven микросервисы с использованием Spring Boot и Kafka
Event-driven архитектура - один из видов архитектур, который подходит для обеспечения независимости, масштабируемости и устойчивости микросервисов.
В новом переводе от команды Spring АйО вы в легкодоступной форме узнаете, как построить такую архитектуру, используя Apache Kafka и Spring Boot, а также ознакомитесь с пошаговой настройкой продюсеров, консумеров, решеним задач надежности и управлением схемами.
Читать: https://habr.com/ru/companies/spring_aio/articles/874488/?utm_campaign=874488
@a_cup_of_java | Другие наши каналы
Event-driven архитектура - один из видов архитектур, который подходит для обеспечения независимости, масштабируемости и устойчивости микросервисов.
В новом переводе от команды Spring АйО вы в легкодоступной форме узнаете, как построить такую архитектуру, используя Apache Kafka и Spring Boot, а также ознакомитесь с пошаговой настройкой продюсеров, консумеров, решеним задач надежности и управлением схемами.
Читать: https://habr.com/ru/companies/spring_aio/articles/874488/?utm_campaign=874488
@a_cup_of_java | Другие наши каналы
📚 Лучшие Git-курсы онлайн для начинающих в 2025 году
Хотите освоить Git и GitHub? Ознакомьтесь с подборкой лучших онлайн-курсов от Udemy, Pluralsight и других платформ! Курсы научат вас базовым и продвинутым командам Git, а также эффективной работе с ветками и слияниями.
Подробности: http://www.java67.com/2019/04/top-5-courses-to-learn-git-and-github.html
#en
@a_cup_of_java | Другие наши каналы
Хотите освоить Git и GitHub? Ознакомьтесь с подборкой лучших онлайн-курсов от Udemy, Pluralsight и других платформ! Курсы научат вас базовым и продвинутым командам Git, а также эффективной работе с ветками и слияниями.
Подробности: http://www.java67.com/2019/04/top-5-courses-to-learn-git-and-github.html
#en
@a_cup_of_java | Другие наши каналы
Бесплатные курсы для изучения React в 2025 году
React.js — популярная JavaScript библиотека для создания пользовательских интерфейсов. Если вы хотите освоить React в 2025 году, статья предлагает топ-5 бесплатных курсов. Эти курсы помогут вам начать работать с React, создавать веб- и мобильные приложения, используя React Native.
Подробности: http://www.java67.com/2018/02/5-free-react-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
React.js — популярная JavaScript библиотека для создания пользовательских интерфейсов. Если вы хотите освоить React в 2025 году, статья предлагает топ-5 бесплатных курсов. Эти курсы помогут вам начать работать с React, создавать веб- и мобильные приложения, используя React Native.
Подробности: http://www.java67.com/2018/02/5-free-react-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
Kotlin: как работают корутины и многопоточность? Уровень — middle
Сегодняшний квиз не совсем для новичков. Многопоточность и корутины — уже скорее для уровня джун+/мидл. Хотя… Если вы настолько уверены в своих навыках, то попробуйте их проверить и доказать, что вы прирожденный Kotlin-разработчик.
Читать: «Kotlin: как работают корутины и многопоточность? Уровень — middle»
@a_cup_of_java | Другие наши каналы
Сегодняшний квиз не совсем для новичков. Многопоточность и корутины — уже скорее для уровня джун+/мидл. Хотя… Если вы настолько уверены в своих навыках, то попробуйте их проверить и доказать, что вы прирожденный Kotlin-разработчик.
Читать: «Kotlin: как работают корутины и многопоточность? Уровень — middle»
@a_cup_of_java | Другие наши каналы
Заговор разработчиков против корпораций
Речь пойдет о тайной, сугубо анонимной организации, следы которой начал замечать еще в 2018-ом, работая в Яндексе. О целях и мотивах организации можно только догадываться: некоторые считают это кибер-луддизмом, другие — техно-анархизмом. Ясно одно: организация существует, ее члены уничтожают кодовые базы десятилетиями, и говорить об этом не принято.
на свой страх и риск
Читать: https://habr.com/ru/articles/874610/?utm_campaign=874610
@a_cup_of_java | Другие наши каналы
Речь пойдет о тайной, сугубо анонимной организации, следы которой начал замечать еще в 2018-ом, работая в Яндексе. О целях и мотивах организации можно только догадываться: некоторые считают это кибер-луддизмом, другие — техно-анархизмом. Ясно одно: организация существует, ее члены уничтожают кодовые базы десятилетиями, и говорить об этом не принято.
на свой страх и риск
Читать: https://habr.com/ru/articles/874610/?utm_campaign=874610
@a_cup_of_java | Другие наши каналы
Отправляем пуш уведомления в телеграм через Spring Boot
Допустим, вы хотите аутентифицировать пользователей через телеграм и после этого отправлять им уведомления. В Spring Boot приложении это сделать довольно просто ✨
Читать: https://habr.com/ru/articles/871558/?utm_campaign=871558
@a_cup_of_java | Другие наши каналы
Допустим, вы хотите аутентифицировать пользователей через телеграм и после этого отправлять им уведомления. В Spring Boot приложении это сделать довольно просто ✨
Читать: https://habr.com/ru/articles/871558/?utm_campaign=871558
@a_cup_of_java | Другие наши каналы
Как мы в bitDive искали способ эффективно отправлять миллионы сообщений
Всем привет! Это вторая статья по системе мониторинга приложений от компании bitDive. В данной статье мы расскажем, как мы разрабатывали библиотеку, которая интегрируется в клиентские приложения и передаёт события на сервер мониторинга. Основная цель проекта — обработка миллионов сообщений в секунду с минимальным влиянием на производительность приложений клиентов.
Читать: https://habr.com/ru/articles/874694/?utm_campaign=874694
@a_cup_of_java | Другие наши каналы
Всем привет! Это вторая статья по системе мониторинга приложений от компании bitDive. В данной статье мы расскажем, как мы разрабатывали библиотеку, которая интегрируется в клиентские приложения и передаёт события на сервер мониторинга. Основная цель проекта — обработка миллионов сообщений в секунду с минимальным влиянием на производительность приложений клиентов.
Читать: https://habr.com/ru/articles/874694/?utm_campaign=874694
@a_cup_of_java | Другие наши каналы
RabbitMQ + Java Spring Часть 2
Предыдущая часть: RabbitMQ + Java Spring
P. S.: Гит разбит на ветки по частям (part-1, part-2...)
Я продолжаю серию, посвящённую использованию RabbitMQ в связке с Spring.В предыдущей части был реализован простой обмен двух микросервисов посредством очереди в MQ.В этот раз рассмотрим крутые фичи, которые предоставляет RabbitMQ
Читать: https://habr.com/ru/articles/874780/?utm_campaign=874780
@a_cup_of_java | Другие наши каналы
Предыдущая часть: RabbitMQ + Java Spring
P. S.: Гит разбит на ветки по частям (part-1, part-2...)
Я продолжаю серию, посвящённую использованию RabbitMQ в связке с Spring.В предыдущей части был реализован простой обмен двух микросервисов посредством очереди в MQ.В этот раз рассмотрим крутые фичи, которые предоставляет RabbitMQ
Читать: https://habr.com/ru/articles/874780/?utm_campaign=874780
@a_cup_of_java | Другие наши каналы
👍4❤2
HashMap под микроскопом
Эта статья будет полезна новичкам в разработке или тем, кому нужно освежить знания перед собеседованиями. Как ни странно, но вопросы о том, как устроен HashMap, всё ещё встречаются среди интервьюеров.
По моему мнению, лучший способ разобраться в теме — это заглянуть в документацию с примерами и изучить исходный код. Но если вы сами пока не готовы копаться в коде, я проведу вас по основным моментам.
Читать: https://habr.com/ru/articles/874728/?utm_campaign=874728
@a_cup_of_java | Другие наши каналы
Эта статья будет полезна новичкам в разработке или тем, кому нужно освежить знания перед собеседованиями. Как ни странно, но вопросы о том, как устроен HashMap, всё ещё встречаются среди интервьюеров.
По моему мнению, лучший способ разобраться в теме — это заглянуть в документацию с примерами и изучить исходный код. Но если вы сами пока не готовы копаться в коде, я проведу вас по основным моментам.
Читать: https://habr.com/ru/articles/874728/?utm_campaign=874728
@a_cup_of_java | Другие наши каналы
Java News Roundup: JDK 24 in Rampdown Phase Two, Spring Framework, JobRunr, Commonhaus Foundation
This week's Java roundup for January 13th, 2025 features news highlighting: JDK 24 in Rampdown Phase Two; Spring Framework 6.2.2; JobRunr 7.4.0; Micrometer Metrics 1.15.0-M1 and Micrometer Tracing 1.5.0-M1; and Infinispan joins the Commonhaus Foundation.
By Michael Redlich
Read: https://www.infoq.com/news/2025/01/java-news-roundup-jan13-2025/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for January 13th, 2025 features news highlighting: JDK 24 in Rampdown Phase Two; Spring Framework 6.2.2; JobRunr 7.4.0; Micrometer Metrics 1.15.0-M1 and Micrometer Tracing 1.5.0-M1; and Infinispan joins the Commonhaus Foundation.
By Michael Redlich
Read: https://www.infoq.com/news/2025/01/java-news-roundup-jan13-2025/
@a_cup_of_java | Другие наши каналы
Как построить интеграцию
Интеграция различных ИТ-систем — задача, с которой сталкиваются многие компании, особенно когда необходимо объединить все существующие решения в единую экосистему. Думаю, что все хорошо знакомы с тем самым спагетти-стайлом, страшилкой про то как не надо делать это объединение. Для наглядности картинка ниже.
Читать: https://habr.com/ru/articles/874634/?utm_campaign=874634
@a_cup_of_java | Другие наши каналы
Интеграция различных ИТ-систем — задача, с которой сталкиваются многие компании, особенно когда необходимо объединить все существующие решения в единую экосистему. Думаю, что все хорошо знакомы с тем самым спагетти-стайлом, страшилкой про то как не надо делать это объединение. Для наглядности картинка ниже.
Читать: https://habr.com/ru/articles/874634/?utm_campaign=874634
@a_cup_of_java | Другие наши каналы
👍1
Нужна ли асинхронщина на проектах: пара наблюдений про Spring и неблокирующее API для самых маленьких
Всем привет! Я работаю на собственном проекте Максилекта. Это высоконагруженная AdTech платформа, включающая Ad Exchange сервер и сопутствующие компоненты. Но в этой статье речь пойдет не совсем о проекте. Я бы хотел поговорить об асинхронщине в задачах подобного масштаба. Просто на примеры из проекта мне будет удобно ссылаться.
Я не буду подробно останавливаться на том, что такое асинхронность. Подход старый, в интернете есть чудовищное количество информации. Но расскажу о некоторых наблюдениях - будет пища для ума в контексте того, стоит ли тащить ее в свои проекты.
Читать: https://habr.com/ru/companies/maxilect/articles/875064/?utm_campaign=875064
@a_cup_of_java | Другие наши каналы
Всем привет! Я работаю на собственном проекте Максилекта. Это высоконагруженная AdTech платформа, включающая Ad Exchange сервер и сопутствующие компоненты. Но в этой статье речь пойдет не совсем о проекте. Я бы хотел поговорить об асинхронщине в задачах подобного масштаба. Просто на примеры из проекта мне будет удобно ссылаться.
Я не буду подробно останавливаться на том, что такое асинхронность. Подход старый, в интернете есть чудовищное количество информации. Но расскажу о некоторых наблюдениях - будет пища для ума в контексте того, стоит ли тащить ее в свои проекты.
Читать: https://habr.com/ru/companies/maxilect/articles/875064/?utm_campaign=875064
@a_cup_of_java | Другие наши каналы
«Дебаггинг» резюме или как покорить сердце рекрутера
Поговорили с Денисом Хахалкиным, QA Lead — Wallarm, ex. Ozon — о том, как подготовить резюме для прохождения первичного отбора ресёрчерами и HR‑специалистами на российском рынке труда. Обсудили, как правильно выбрать опыт для включения в резюме, чтобы он был актуален для желаемой должности, почему не стоит врать в резюме и как и когда стоит упоминать о пройденных курсах и полученных сертификатах, чтобы не отпугнуть потенциальных работодателей.
Читать: https://habr.com/ru/articles/875180/?utm_campaign=875180
@a_cup_of_java | Другие наши каналы
Поговорили с Денисом Хахалкиным, QA Lead — Wallarm, ex. Ozon — о том, как подготовить резюме для прохождения первичного отбора ресёрчерами и HR‑специалистами на российском рынке труда. Обсудили, как правильно выбрать опыт для включения в резюме, чтобы он был актуален для желаемой должности, почему не стоит врать в резюме и как и когда стоит упоминать о пройденных курсах и полученных сертификатах, чтобы не отпугнуть потенциальных работодателей.
Читать: https://habr.com/ru/articles/875180/?utm_campaign=875180
@a_cup_of_java | Другие наши каналы