Spring АйО
10.3K subscribers
429 photos
298 videos
556 links
Русскоязычное сообщество Spring-разработчиков.

Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy

Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer
Download Telegram
🎬 Документальный фильм про IntelliJ IDEA - IDE, которая изменила Java-разработку

IntelliJ IDEA в каком-то смысле спасла Java от самой себя

(Брайан Гетц, архитектор языка Java)


На YouTube вышел отличный документальный фильм про IntelliJ IDEA.

Для нас это особенно интересная история - всё-таки IntelliJ уже много лет является нашим основным инструментом разработки.

В фильме собрали довольно сильный состав участников. Среди них:

- Брайан Гетц (в особом представлении не нуждается)

- Джош Лонг (developer advocate Spring Framework)

- Максим Шафиров (Ex. CEO JetBrains)

- Дмитрий Жемеров (один из первых разработчиков языка Kotlin и автор книги "Kotlin in Action")

- Евгений Беляев (co-founder JetBrains)

- инженеры из Google, Docker, Miro и других компаний

Фильм построен как разговор о том, как вообще появилась IntelliJ IDEA и почему она стала тем инструментом, который мы знаем сегодня.

Там много интересных историй изнутри:

- как создавалась IntelliJ и какие идеи лежали в её основе

- как IDE конкурировала с Eclipse, который долгое время доминировал в Java

- почему появление Community Edition стало важным стратегическим решением

- как сложилось сотрудничество JetBrains и Google, приведшее к появлению Android Studio

- как менялась модель лицензирования и как на это реагировало сообщество

Плюс в фильме есть архивные кадры из ранних офисов JetBrains и воспоминания людей, которые участвовали в развитии платформы.

Отдельно интересно слушать комментарии разработчиков из индустрии. Например, инженеры Miro рассказывают, что их бэкенд построен на Java, Kotlin, Spring Boot, а IntelliJ для них - такая же инфраструктура разработки, как Wi-Fi в офисе: просто открываешь и работаешь.

Получилась довольно живая история про инструмент, без которого сегодня сложно представить разработку на Java.

Посмотреть точно стоит.

https://www.youtube.com/watch?v=Kourq_Lz03U
🔥44👍1911😁2🤯1
Media is too big
VIEW IN TELEGRAM
🍃 Copyright умер, AI против GPL, модели консистентности | Spring АйО Подкаст №54

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍116
🧩 Разница между параллельными и распределёнными вычислениями

Ускорение работы приложения можно получить двумя способами: распараллелить работу между ядрами одного компьютера или разнести ее по нескольким машинам.

Параллельные вычисления живут внутри одного узла: части задачи выполняются одновременно на CPU-ядрах, нескольких процессорах или ускорителях GPU/TPU.

Параллелизм бывает по задачам и по данным (одна операция над разными блоками), а также на уровне инструкций (конвейеризация, суперскалярность) и битов. Обмен данными чаще происходит через общую память и локальный IPC, поэтому задержки ниже.

Распределенные вычисления делят в свою очередь работу между автономными узлами по сети. Данные передают сообщениями или через RPC, координация сложнее, зато масштабирование обычно проще: добавил узлы - выросли вычисления и хранилище. Часто закладывают отказоустойчивость: репликация, резервирование, обнаружение ошибок.

🔗 Подробности в нашей статье на Хабр: https://habr.com/ru/companies/spring_aio/articles/1008990/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146👍4
Для JetBrains IDE вообще есть нормальный AI без проблем в РФ?

Периодически в @spring_aio_chat и на Хабре прилетают вопросы про то, какие сейчас есть варианты использования ИИ внутри IDE.

Один из вариантов – Kodacode.

Работает:
— в OpenIDE и JetBrains IDE
— в VS Code
— и даже в CLI

Что кажется наиболее полезным:
агентный режим: без него от ИИ-помощника смысла не так много
доступ к разным моделям: GLM, Gemini, DeepSeek, и другие
работает без танцев с VPN и оплатами: у многих это сейчас главный стоп-фактор для AI-инструментов
есть бесплатная модель: хватает для повседневных задач

📚 Подробнее про Koda для JetBrains IDE читайте на Хабр: https://habr.com/ru/companies/koda/articles/986976/
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍11🔥71
👩‍💻 JEP 524 в JDK 26 — второй preview PEM API.

Наконец-то работа с PEM в Java становится похожа на API, а не на набор ручного парсинга, Base64 и странных телодвижений.

Справка: PEM или Privacy-Enhanced Mail - это текстовый контейнер для криптографических данных. Проще говоря – это способ хранить или передавать ключ, сертификат или другой crypto-объект не в бинарном виде, а в текстовом.

Раньше с PEM работали так:


String pem = "-----BEGIN PUBLIC KEY-----\n"
+ Base64.getMimeEncoder(64, "\n".getBytes())
.encodeToString(publicKey.getEncoded())
+ "\n-----END PUBLIC KEY-----";


А в обратную сторону, но уже с ручной нормализацией PEM, Base64-декодированием и KeyFactory:


String normalized = pem
.replace("-----BEGIN PUBLIC KEY-----", "")
.replace("-----END PUBLIC KEY-----", "")
.replaceAll("\\s", "");

byte[] der = Base64.getDecoder().decode(normalized);

PublicKey key = KeyFactory.getInstance("EC")
.generatePublic(new X509EncodedKeySpec(der));


По факту PEM в Java долгое время был не отдельным API, а набором низкоуровневых шагов, которые разработчик собирал руками.

А теперь это выглядит так:


var encoder = PEMEncoder.of();
String pem = encoder.encodeToString(keyPair);

var decoder = PEMDecoder.of();
KeyPair decoded = decoder.decode(pem, KeyPair.class);


То есть ключевую пару можно закодировать в PEM и декодировать обратно буквально в несколько строк.

Во втором preview:
PEMRecord переименовали в PEM
— добавили decode()
— расширили поддержку KeyPair и PKCS8EncodedKeySpec
— упростили шифрование через EncryptedPrivateKeyInfo

А так, как все это дело еще в preview, не забываем использовать --enable-preview.

Минус еще один кусок криптографической копипасты из Java-кода. PEM в Java постепенно перестает быть унылым?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥137😁1