Apple перевела ключевую службу Password Monitoring с Java на Swift, что улучшило производительность на 40% и сократило использование памяти почти вдвое. Это повысило масштабируемость и снизило задержки при обработке миллиардов запросов в сутки. Такой переход отражает тренд на выбор более эффективных языков для масштабных сервисов.
Подробности: https://www.infoq.com/news/2025/06/apple-swift-migration/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/06/apple-swift-migration/
#en
@a_cup_of_java | Другие наши каналы
С приветом по спекам: ENUM. Часть 1
В этой статье я хочу разобраться в теме перечислений и поделиться результатами своих исследований.
Основой моего анализа станет спецификация Java, а именно раздел, касающиеся ENUM
(Java Language Specification SE 24). Я постараюсь превратить сложные формулировки в понятное и доступное изложение с кучей примеров. Цель - сделать статью интересной и легко читаемой, убрав лишнюю техническую сложность.
Читать: https://habr.com/ru/articles/917990/?utm_campaign=917990
@a_cup_of_java | Другие наши каналы
В этой статье я хочу разобраться в теме перечислений и поделиться результатами своих исследований.
Основой моего анализа станет спецификация Java, а именно раздел, касающиеся ENUM
(Java Language Specification SE 24). Я постараюсь превратить сложные формулировки в понятное и доступное изложение с кучей примеров. Цель - сделать статью интересной и легко читаемой, убрав лишнюю техническую сложность.
Читать: https://habr.com/ru/articles/917990/?utm_campaign=917990
@a_cup_of_java | Другие наши каналы
Проверка анаграмм в Java: как определить, что две строки содержат одинаковые символы в разном порядке?
В статье приведены два способа — с использованием сортировки и без библиотечных методов, что особенно полезно для подготовки к собеседованиям по программированию. Лучшие курсы и руководства для программистов. В статье собраны актуальные онлайн-курсы по Linux, JavaScript, алгоритмам, DevOps и многим другим темам, а также полезные туториалы по работе со строками и популярным технологиям. Отличный ресурс для повышения квалификации. Обзор популярных алгоритмов и структур данных в Java
Статья рассказывает о ключевых методах работы с массивами и структурами данных в Java — от двоичного поиска и сортировок до обходов бинарных деревьев и реализации связных списков. Полезно для программистов любого уровня.
Подробности: http://www.java67.com/2019/04/how-to-check-if-two-string-are-anagram.html
#en
@a_cup_of_java | Другие наши каналы
В статье приведены два способа — с использованием сортировки и без библиотечных методов, что особенно полезно для подготовки к собеседованиям по программированию. Лучшие курсы и руководства для программистов. В статье собраны актуальные онлайн-курсы по Linux, JavaScript, алгоритмам, DevOps и многим другим темам, а также полезные туториалы по работе со строками и популярным технологиям. Отличный ресурс для повышения квалификации. Обзор популярных алгоритмов и структур данных в Java
Статья рассказывает о ключевых методах работы с массивами и структурами данных в Java — от двоичного поиска и сортировок до обходов бинарных деревьев и реализации связных списков. Полезно для программистов любого уровня.
Подробности: http://www.java67.com/2019/04/how-to-check-if-two-string-are-anagram.html
#en
@a_cup_of_java | Другие наши каналы
Топ-25 задач по связным спискам для Java-программистов. Статья раскрывает ключевые вопросы и решения, которые помогут подготовиться к собеседованиям по программированию, от разворота списка до обнаружения циклов и работы с рекурсией. Незаменимо для улучшения навыков работы с этой структурой данных. Бесплатные курсы DSA для начинающих
Если вы хотите прокачать навыки структур данных и алгоритмов, обратите внимание на бесплатные онлайн-курсы на Udemy и других платформах. Более миллиона студентов уже начали обучение на курсах с поддержкой Java, Python, C и C++. Все, что нужно знать о популярных вопросах на интервью по Java: от коллекций и многопоточности до Hibernate, Spring и паттернов проектирования. Полезный ресурс для подготовки к техническим собеседованиям и прокачки навыков программирования.
Подробности: http://www.java67.com/2022/11/15-linked-list-interview-questions-for.html
#en
@a_cup_of_java | Другие наши каналы
Если вы хотите прокачать навыки структур данных и алгоритмов, обратите внимание на бесплатные онлайн-курсы на Udemy и других платформах. Более миллиона студентов уже начали обучение на курсах с поддержкой Java, Python, C и C++. Все, что нужно знать о популярных вопросах на интервью по Java: от коллекций и многопоточности до Hibernate, Spring и паттернов проектирования. Полезный ресурс для подготовки к техническим собеседованиям и прокачки навыков программирования.
Подробности: http://www.java67.com/2022/11/15-linked-list-interview-questions-for.html
#en
@a_cup_of_java | Другие наши каналы
Топ-40 задач по бинарным деревьям для подготовки к интервью. В статье собраны популярные вопросы с решениями на Java, которые помогут укрепить знания о бинарных деревьях и алгоритмах работы с ними. Отличный материал для программистов, готовящихся к собеседованиям. Бесплатный курс по структурам данных и алгоритмам от инженера Google доступен на Udemy. Курс поможет улучшить знания и подготовиться к интервью, охватывая важные темы и практические задания. Отличный ресурс для разработчиков любого уровня. Как найти и вывести листовые узлы бинарного дерева на Java
В статье рассмотрены методы поиска и вывода листьев бинарного дерева с примерами на Java. Полезно для тех, кто изучает структуры данных и готовится к собеседованиям по программированию.
Подробности: http://www.java67.com/2020/02/top-40-binary-tree-interview-questions.html
#en
@a_cup_of_java | Другие наши каналы
В статье рассмотрены методы поиска и вывода листьев бинарного дерева с примерами на Java. Полезно для тех, кто изучает структуры данных и готовится к собеседованиям по программированию.
Подробности: http://www.java67.com/2020/02/top-40-binary-tree-interview-questions.html
#en
@a_cup_of_java | Другие наши каналы
❤2
Forwarded from Код найма
Хватит искать работу в одиночку!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
➡️ Прокачаешь резюме так, чтобы его заметили
➡️ Научишься проходить собеседования без волнения
➡️ Получишь честную обратную связь от рекрутеров
➡️ И, главное, дойдёшь до оффера в компании мечты!
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Please open Telegram to view this post
VIEW IN TELEGRAM
Конечные автоматы (FSM) Просто о сложном
Что такое конечный автомат (FSM) и зачем он нужен программисту? Эта статья простыми словами объясняет концепцию FSM, его компоненты, преимущества и реализацию на JavaScript с примерами. Разберём логику состояний, событий и переходов без сложной теории.
Читать: «Конечные автоматы (FSM) Просто о сложном»
@a_cup_of_java | Другие наши каналы
Что такое конечный автомат (FSM) и зачем он нужен программисту? Эта статья простыми словами объясняет концепцию FSM, его компоненты, преимущества и реализацию на JavaScript с примерами. Разберём логику состояний, событий и переходов без сложной теории.
Читать: «Конечные автоматы (FSM) Просто о сложном»
@a_cup_of_java | Другие наши каналы
Мониторинг «здесь и сейчас»: используем потоки событий JDK Flight Recorder
JDK Flight Recorder (JFR) — это диагностическая подсистема, встроенная в JVM. В основе JFR лежит очень простая идея, но вокруг нее выросла разнообразная экосистема решений, позволяющих решать широкий спектр задач.
В данной статье я хочу сфокусироваться на одном аспекте технологии JFR — потоковой обработке событий. Потоковая обработка появилась в JDK 14 в виде Flight Recorder Event Streaming API и позволяет прикладному коду обрабатывать события JFR с минимальной задержкой.
Читать: https://habr.com/ru/companies/axiomjdk/articles/917766/?utm_campaign=917766
@a_cup_of_java | Другие наши каналы
JDK Flight Recorder (JFR) — это диагностическая подсистема, встроенная в JVM. В основе JFR лежит очень простая идея, но вокруг нее выросла разнообразная экосистема решений, позволяющих решать широкий спектр задач.
В данной статье я хочу сфокусироваться на одном аспекте технологии JFR — потоковой обработке событий. Потоковая обработка появилась в JDK 14 в виде Flight Recorder Event Streaming API и позволяет прикладному коду обрабатывать события JFR с минимальной задержкой.
Читать: https://habr.com/ru/companies/axiomjdk/articles/917766/?utm_campaign=917766
@a_cup_of_java | Другие наши каналы
Новое в мире Java: шестой milestone Spring Framework 7.0, свежий релиз Payara Platform июня 2025, обновления Jakarta EE 11 перед релизом GA и переименование Apache Fury в Apache Fory. Подробности о ключевых апдейтах JDK, Micronaut и других платформах.
Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-jun09-2025/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/06/java-news-roundup-jun09-2025/
#en
@a_cup_of_java | Другие наши каналы
Используйте Camunda как удобный REST-движок для оркестрации и workflow — без необходимости работать с Java
Я много общаюсь о микросервисных архитектурах с «не-Java-людьми» — будь то разработчики на C#, энтузиасты Node.JS/JavaScript или GoLang. Все они сталкиваются с необходимостью оркестрации в микросервисной архитектуре — или просто хотят использовать workflow, упорядочивание действий, обработку таймаутов, Saga и компенсации, а также другие полезные возможности.
Open Source BPM-платформа Camunda отлично подходит для этих задач. Ориентированность на разработчиков — один из ключевых принципов продукта, но при изучении документации может показаться, что она рассчитана в основном на Java-разработчиков. Платформа предоставляет множество точек расширения и интеграции, но всё это реализуется на Java. Значит ли это, что другим разработчикам путь закрыт?
Нет! На самом деле, запустить Camunda и работать с ней без знания Java очень просто — архитектуру можно выстроить так, чтобы писать код на любом удобном языке. В этом посте:
Читать: https://habr.com/ru/articles/915858/?utm_campaign=915858
@a_cup_of_java | Другие наши каналы
Я много общаюсь о микросервисных архитектурах с «не-Java-людьми» — будь то разработчики на C#, энтузиасты Node.JS/JavaScript или GoLang. Все они сталкиваются с необходимостью оркестрации в микросервисной архитектуре — или просто хотят использовать workflow, упорядочивание действий, обработку таймаутов, Saga и компенсации, а также другие полезные возможности.
Open Source BPM-платформа Camunda отлично подходит для этих задач. Ориентированность на разработчиков — один из ключевых принципов продукта, но при изучении документации может показаться, что она рассчитана в основном на Java-разработчиков. Платформа предоставляет множество точек расширения и интеграции, но всё это реализуется на Java. Значит ли это, что другим разработчикам путь закрыт?
Нет! На самом деле, запустить Camunda и работать с ней без знания Java очень просто — архитектуру можно выстроить так, чтобы писать код на любом удобном языке. В этом посте:
Читать: https://habr.com/ru/articles/915858/?utm_campaign=915858
@a_cup_of_java | Другие наши каналы
❤3
ScyllaDB: как настраивать метрики в java-драйвере и параметры запросов для измерения их характеристик
Привет, Хабр! Это Александр Коваль, я разработчик IoT-сервисов в МТС Web Services. При работе с данными часто возникает вопрос: как быстро система может вернуть результат по определенным параметрам? Не является исключением и ScyllaDB.
Для ответа нужны инструменты измерения и возможность настраивать систему. Java-драйвер для ScyllaDB умеет передавать информацию о своей внутренней работе, и ему можно настроить отдельные компоненты. Звучит как отличный план — в этом материале я поделюсь результатами экспериментов с java-драйвером для ScyllaDB при различных запросах к данным.
Код, ссылки и ресурсы располагаются в GitHub.
Читать: https://habr.com/ru/companies/ru_mts/articles/916684/?utm_campaign=916684
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Это Александр Коваль, я разработчик IoT-сервисов в МТС Web Services. При работе с данными часто возникает вопрос: как быстро система может вернуть результат по определенным параметрам? Не является исключением и ScyllaDB.
Для ответа нужны инструменты измерения и возможность настраивать систему. Java-драйвер для ScyllaDB умеет передавать информацию о своей внутренней работе, и ему можно настроить отдельные компоненты. Звучит как отличный план — в этом материале я поделюсь результатами экспериментов с java-драйвером для ScyllaDB при различных запросах к данным.
Код, ссылки и ресурсы располагаются в GitHub.
Читать: https://habr.com/ru/companies/ru_mts/articles/916684/?utm_campaign=916684
@a_cup_of_java | Другие наши каналы
⚡2👍1
Java 25 интегрировал компактные заголовки объектов по JEP 519, что уменьшает размер заголовка с 12 до 8 байт. Это снижает нагрузку на CPU до 30% и улучшает работу с памятью без изменения кода, ускоряя приложения и снижая затраты.
Подробности: https://www.infoq.com/news/2025/06/java-25-compact-object-headers/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/06/java-25-compact-object-headers/
#en
@a_cup_of_java | Другие наши каналы
👍6❤1
Данные важнее объектов: что такое Data-Oriented Programming
Статья рассказывает о Data-Oriented Programming — подходе, который фокусируется на эффективном хранении и обработке данных для максимальной производительности. Это особенно полезно в играх и торговле, где скорость и оптимизация критичны.
Подробности: https://www.infoq.com/articles/data-oriented-programming/
#en
@a_cup_of_java | Другие наши каналы
Статья рассказывает о Data-Oriented Programming — подходе, который фокусируется на эффективном хранении и обработке данных для максимальной производительности. Это особенно полезно в играх и торговле, где скорость и оптимизация критичны.
Подробности: https://www.infoq.com/articles/data-oriented-programming/
#en
@a_cup_of_java | Другие наши каналы
☃1
Почему Exceptions в Java не взлетели — и что с этим делать в 2025 году
Всем привет!
Меня зовут Илья, я работаю в Райффайзен Банке. Мы пишем свои бэкенд-сервисы на Java и Kotlin, поэтому зачастую приходится переключаться с одного языка на другой. Из-за этого невольно начинаешь сравнивать подходы и механизмы одного языка с его JVM-собратом. Сегодня я бы хотел поговорить об одном из таких механизмов — пропагации ошибок и исключений.
Используете ли вы в своем коде исключения? Ответ кажется странным, так как исключения являются неотъемлемой частью Java. Но что, если я спрошу, используете ли вы исключения для управления логикой своей программы?
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/919152/?utm_campaign=919152
@a_cup_of_java | Другие наши каналы
Всем привет!
Меня зовут Илья, я работаю в Райффайзен Банке. Мы пишем свои бэкенд-сервисы на Java и Kotlin, поэтому зачастую приходится переключаться с одного языка на другой. Из-за этого невольно начинаешь сравнивать подходы и механизмы одного языка с его JVM-собратом. Сегодня я бы хотел поговорить об одном из таких механизмов — пропагации ошибок и исключений.
Используете ли вы в своем коде исключения? Ответ кажется странным, так как исключения являются неотъемлемой частью Java. Но что, если я спрошу, используете ли вы исключения для управления логикой своей программы?
Читать: https://habr.com/ru/companies/raiffeisenbank/articles/919152/?utm_campaign=919152
@a_cup_of_java | Другие наши каналы
👎6🔥2
Создание плагина для Keycloak: Загрузка пользователей из внешнего API
Если вы работаете с Keycloak и сталкивались с необходимостью интеграции внешних пользовательских данных — этот материал для вас.
В данной статье я подробно описываю процесс создания плагина на Java для Keycloak. Мы будем рассматривать все этапы разработки, начиная с основ и заканчивая примерами кода и объяснениями каждого шага.
Этот плагин позволяет подключить вашу собственную базу данных через внешний API-сервис. Это дает возможность использовать необходимые данные для вашего проекта без необходимости переписывать часть приложения или вручную переносить информацию из одной системы в другую.
Читать: https://habr.com/ru/articles/919230/?utm_campaign=919230
@a_cup_of_java | Другие наши каналы
Если вы работаете с Keycloak и сталкивались с необходимостью интеграции внешних пользовательских данных — этот материал для вас.
В данной статье я подробно описываю процесс создания плагина на Java для Keycloak. Мы будем рассматривать все этапы разработки, начиная с основ и заканчивая примерами кода и объяснениями каждого шага.
Этот плагин позволяет подключить вашу собственную базу данных через внешний API-сервис. Это дает возможность использовать необходимые данные для вашего проекта без необходимости переписывать часть приложения или вручную переносить информацию из одной системы в другую.
Читать: https://habr.com/ru/articles/919230/?utm_campaign=919230
@a_cup_of_java | Другие наши каналы
⚡4👍1
Фильтрация предупреждений PVS-Studio, выявляющих критические ошибки (согласно классификации ГОСТ Р 71207-2024)
ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором.
Читать: https://habr.com/ru/companies/pvs-studio/articles/919456/?utm_campaign=919456
@a_cup_of_java | Другие наши каналы
ГОСТ Р 71207-2024 "Статический анализ кода" выделят класс дефектов в коде, называемых критическими ошибками. При разработке безопасного программного обеспечения (РБПО) такие дефекты должны в обязательном порядке выявляться и исправляться в приоритетном режиме. Статический анализатор PVS-Studio разрабатывается с учётом этого стандарта и позволяет выявлять все типы критических ошибок в коде программ, написанных на языках C, C++, C#, Java. Рассмотрим эти типы предупреждений и как их можно выделить среди других предупреждений, выдаваемых анализатором.
Читать: https://habr.com/ru/companies/pvs-studio/articles/919456/?utm_campaign=919456
@a_cup_of_java | Другие наши каналы
🌭3
WaveManager: Реализуем систему управления волнами врагов в Unity
Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса.
Читать: https://habr.com/ru/companies/otus/articles/919928/?utm_campaign=919928
@a_cup_of_java | Другие наши каналы
Реализация системы управления волнами для создания захватывающих столкновений с противниками — это достаточно эффективный способ постепенно увеличивать сложность, поддерживая вовлеченность игроков. В этом руководстве я поделюсь с вами своим опытом реализации WaveManager'а в Unity, включая создание скриптов, генерацию врагов и интеграцию пользовательского интерфейса.
Читать: https://habr.com/ru/companies/otus/articles/919928/?utm_campaign=919928
@a_cup_of_java | Другие наши каналы
Трудности обслуживания приложений под Android
Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%.
Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и Podcast под названием MusicSync. Так что, будучи близким к теме человеком, мне захотелось поделиться своим опытом обслуживания приложений и заодно пояснить, почему меня эта новость нисколько не удивила.
У меня есть несколько сторонних проектов, базирующихся на бэкенд-сервере с ограниченным веб-интерфейсом, и их обслуживание требует намного меньше усилий.
Если же говорить о приложении Android, то обслуживать его в качестве хобби-проекта гораздо хлопотнее. Вот некоторые из проблем, с которыми мне приходилось сталкиваться.
Читать: https://habr.com/ru/companies/ruvds/articles/919434/?utm_campaign=919434
@a_cup_of_java | Другие наши каналы
Недавно наткнулся на новость о том, что количество приложений в Google Play Store сократилось на 47%.
Я сам энтузиаст разработки под Android и последние 5 лет работал над альтернативой для Google Play Music и Podcast под названием MusicSync. Так что, будучи близким к теме человеком, мне захотелось поделиться своим опытом обслуживания приложений и заодно пояснить, почему меня эта новость нисколько не удивила.
У меня есть несколько сторонних проектов, базирующихся на бэкенд-сервере с ограниченным веб-интерфейсом, и их обслуживание требует намного меньше усилий.
Если же говорить о приложении Android, то обслуживать его в качестве хобби-проекта гораздо хлопотнее. Вот некоторые из проблем, с которыми мне приходилось сталкиваться.
Читать: https://habr.com/ru/companies/ruvds/articles/919434/?utm_campaign=919434
@a_cup_of_java | Другие наши каналы
Как написать микробенчмарк
Команда Spring АйО перевела статью, в которой приведено несколько правил, которые следует учитывать при написании микробенчмарков для HotSpot JVM.
Читать: https://habr.com/ru/companies/spring_aio/articles/920146/?utm_campaign=920146
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью, в которой приведено несколько правил, которые следует учитывать при написании микробенчмарков для HotSpot JVM.
Читать: https://habr.com/ru/companies/spring_aio/articles/920146/?utm_campaign=920146
@a_cup_of_java | Другие наши каналы
Эпизод 1: «Скобка, паб и виски с валидацией»
KafkaRail гудел на фоне.
Паб The Broken Tag, где начиналось утро героев, только просыпался — запах старого эля, крошки лог‑файлов, и бильярдный стол под тусклым светом прожектора. Через узел маршрута /corp/news метропоезд пронёсся, как push‑уведомление на рассвете. День в Киберляндии начинался.
JSON откинул капюшон куртки BitStone Protocol с QR‑патчем на рукаве, кивнул Mr. Parseley и заказал, как обычно, Schema Fresca. Он прошёл к бильярдному столу английского пула, стоявшему под старым плакатом «Keep Calm and Close Tags», где RAMmy спорил с TryCatch о синтаксисе ударов.
Читать: https://habr.com/ru/articles/920316/?utm_campaign=920316
@a_cup_of_java | Другие наши каналы
KafkaRail гудел на фоне.
Паб The Broken Tag, где начиналось утро героев, только просыпался — запах старого эля, крошки лог‑файлов, и бильярдный стол под тусклым светом прожектора. Через узел маршрута /corp/news метропоезд пронёсся, как push‑уведомление на рассвете. День в Киберляндии начинался.
JSON откинул капюшон куртки BitStone Protocol с QR‑патчем на рукаве, кивнул Mr. Parseley и заказал, как обычно, Schema Fresca. Он прошёл к бильярдному столу английского пула, стоявшему под старым плакатом «Keep Calm and Close Tags», где RAMmy спорил с TryCatch о синтаксисе ударов.
Читать: https://habr.com/ru/articles/920316/?utm_campaign=920316
@a_cup_of_java | Другие наши каналы
❤1
История Java: развитие, изучение Марса, битва с Microsoft, Spring, Gradle и Maven, IntelliJ IDEA и Eclipse
От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете, при чём здесь дуб, кофе и остров.
Читать: https://habr.com/ru/companies/pvs-studio/articles/920360/?utm_campaign=920360
@a_cup_of_java | Другие наши каналы
От появления до покорения Красной планеты. В этой статье — история языка Java: от первых шагов и битвы с Microsoft до инструментов, без которых не обходится ни один Java разработчик. И да, вы узнаете, при чём здесь дуб, кофе и остров.
Читать: https://habr.com/ru/companies/pvs-studio/articles/920360/?utm_campaign=920360
@a_cup_of_java | Другие наши каналы