Telegram Web Link
Лайфхаки визуального сторителлинга 😉

Рассказываем, почему это полезно и как его построить, чтобы было понятно всем: и менеджерам, и разработчикам, и дизайнерам

И да, вы справитесь, даже если не умеете рисовать! Александр Зинченко, СТО Яндекс 360, поделился инструментами для быстрых и удобных скетчей. А ещё рассказал про сложности передачи идей в проектных командах, которые можно решить с помощью визуального сторителлинга 😎

Больше интересной и полезной информации в канале от команды Яндекс 360
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔮 IKVM — мост между Java и .NET. Инструмент превращает скомпилированные JAR-файлы в .NET-сборки, а также помогает стандартным Java-библиотекам работать как родные для C#.

Особенность проекта кроется в динамической трансляции байт-кода в CIL на лету или статической компиляции в DLL. Это открывает интересные сценарии, например, использование Java-библиотек машинного обучения в .NET-приложениях или интеграция legacy-кода без полного рефакторинга.

🤖 GitHub

@javatg
👍3🔥3😁3🤯31
📊 Charty — библиотека для создания графиков через Compose. Проект предоставляет разработчикам простой и мощный инструмент для визуализации данных с использованием современных декларативных подходов. В отличие от других решений, Charty предлагает нативную поддержку мультиплатформенной разработки через KMP.

Библиотека поддерживает различные типы графиков — от линейных и столбчатых до круговых диаграмм, с возможностью кастомизации каждого элемента. Анимации реализованы на уровне фреймворка, что обеспечивает плавность даже при работе с динамическими данными. Особое внимание уделено производительности — рендеринг оптимизирован для работы на мобильных устройствах.

🤖 GitHub

@javatg
🔥7👍1
🌧️ Camunda 8 — облачная оркестрация бизнес-процессов. Этот open-source стек сочетает в себе движок процессов Zeebe, инструменты для мониторинга и выполнения ручных задач, образуя полноценную платформу для процессного управления.

Особенность инструмента в cloud-native архитектуре: горизонтальное масштабирование, интеграция с Kafka и Kubernetes, отсутствие жесткой привязки к реляционным СУБД. Процессы описываются визуально в BPMN 2.0, а реализовывать их можно практически на любом языке через gRPC-клиенты.

🤖 GitHub

@javatg
🔥41
Как ускорить разработку ИБ-решений?  
 
🔥 Вебинар 28 мая в 16:00 (мск) — Реальный кейс от Crosstech Solutions Group.
 
Если вы занимаетесь ИТ-продуктами, проектированием архитектуры или руководите разработкой — это приглашение для вас.
 
🔍 Что будет на вебинаре?
Компания Crosstech Solutions Group расскажет, как они создали систему мониторинга и анализа активности в базах данных — от идеи до рабочего продукта.
В центре внимания — Jmix, современная платформа для быстрой разработки бизнес-приложений.
 
📌 Даже если вы никогда не слышали про Jmix — вам будет полезно:
Реальный опыт создания ИБ-системы с нуля.
Как реализовали ролевую модель, отчетность и гибкий конструктор политик.
Демо системы: увидите все в действии.
Ответы на вопросы от команды, которая создавала продукт.
 
🎯 Узнайте, как сэкономить ресурсы и ускорить релиз — без лишнего кода и с максимальной гибкостью.
 
📅 Участие бесплатное — регистрируйтесь сейчас! Не упустите шанс перенять опыт экспертов, которые уже нашли рабочее решение.

#реклама
О рекламодателе
👍1
🔐 Feeder — приватный RSS-ридер для Android без синхронизации. Этот open-source инструмент работает полностью локально на устройстве, не отправляя ваши подписки и историю чтения на сторонние серверы.

Проект развивается с 2014 года и сохраняет минималистичную философию: поддержка RSS/Atom/JSONFeed, нотификации о новых статьях и импорт/экспорт через OPML. Недавно добавили экспериментальную поддержку Nostr-лент. Установить можно через F-Droid или собрать вручную (`./gradlew installDebug`).

🤖 GitHub

@javatg
🔥5👍32
🖥 Java исполняется 30 лет 🎊🎊🎊

Команда Java отмечает это событие шестичасовым прямым эфиром, посвящённым эволюции языка, его глобальному влиянию и формированию его будущего.

💝 Поздравь коллегу

https://www.youtube.com/watch?v=LHHPbI7sYv8

@javatg

#Java #OpenJDK
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥8🎉43🤩1
🔥 Самые нужные каналы для Java разработчика, чтобы расти в доходе 💸

Java | Вопросы собесов
Java | Вакансии с удаленкой
Java | LeetCode
Java | Тесты

Подпишись, чтобы не потерять ☝️
🖥 Java — 30 лет!

👍Собрали для вас факты о Java и сделали несколько открыток.

➡️ В 1995 году Java вышла в свет с амбициозным слоганом:
"Write Once, Run Anywhere."
Сегодня, спустя 30 лет, он по-прежнему актуален — и не просто маркетинговая фраза.

Вот 10 крутых фактов о Java, которые доказывают:


🔸 1. Java был создан не для компьютеров


Изначально язык назывался Oak и предназначался для умных телевизоров и микроволновок. Но всё изменилось, когда Sun Microsystems увидела потенциал Java для интернета. В 1995 году Oak стал Java — и начал революцию.

---

🔸 2. Java была первым языком, с которым подружился Netscape

В 90-х Java-апплеты позволяли запускать интерактивный код в браузере. Это был первый шаг к веб-приложениям, задолго до появления React и Angular.

---

🔸 3. Android — тоже Java (почти)

До Kotlin и Jetpack Compose весь Android-код писался на Java. Google создал Dalvik VM, совместимую с Java-синтаксисом. Даже сейчас Java остаётся одним из основных языков в Android-разработке.

---

🔸 4. Java работает в биржах, банках и… спутниках

Крупнейшие финансовые системы (Goldman Sachs, NASDAQ, VISA) используют Java на своих серверах. А ещё Java-код был на борту космического аппарата NASA Deep Space 1.

---

🔸 5. Java запускается более 50 миллиардов раз в день

По оценкам Oracle, JVM стартует 50+ миллиардов раз ежедневно — в приложениях, микросервисах, Android-программах, банках и даже игровых серверах Minecraft.

---

🔸 6. В Java можно писать без `new` и `null`

Благодаря modern-фичам: record, var, sealed, pattern matching, и проектам как Loom (виртуальные потоки) — Java стала элегантнее, лаконичнее и безопаснее.

---

🔸 7. JVM умеет исполнять не только Java

Scala, Kotlin, Groovy, Clojure, Jython — всё это языки, которые работают поверх JVM. Java стала платформой, а не просто языком.

---

🔸 8. Java 21 — это уже не та Java, что в универе

С выпуском Java 21 добавлены:
- Виртуальные потоки (вместо сложного `ExecutorService`)
- Pattern Matching
- Sequenced collections
- Record-массивы
- Scoped values
Теперь Java ближе к Go и Rust по лаконичности, но с тем же надёжным фундаментом.

---

🔸 9. Java — язык с лучшей обратной совместимостью

Код, написанный 20 лет назад, всё ещё компилируется и запускается. Ни один другой язык не может этим похвастаться на таком уровне.

---

🔸 10. Java — не мертва. Она на стероидах

На GitHub Java стабильно в топ-5.
Oracle, RedHat, Amazon, BellSoft, JetBrains — все инвестируют в развитие OpenJDK.
Появляются фреймворки: Quarkus, Micronaut, Helidon — Java теперь быстрая и лёгкая, как Node.js.

@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍349🔥6🥰4
JEP 512: Поддержка структурированных массивов в Java

Java готовится к мощному обновлению — структурированные массивы (structured arrays) придут в язык и улучшат работу с плотными, кэш-эффективными структурами данных!

🧬 Что такое структурированные массивы?

Это массивы, где данные объектов хранятся не как ссылки, а в смежной памяти, как в `C`/`C++`/Rust. Это позволяет:
📦 Упаковать данные компактно, без разрывов
🚀 Повысить кэш-локальность и производительность
🔬 Избежать лишних аллокаций и GC overhead

🔧 Пример:


value class Vec3 {
float x, y, z;
}

Vec3[] arr = new Vec3[1000]; // Под капотом — плотно упакованный блок памяти!


📈 Зачем это нужно?

Быстрее в high-performance системах (игры, машинное обучение, базы данных)
Простой способ писать "низкоуровневый" код на Java без перехода на JNI
Поддержка value-классов (Project Valhalla) на новом уровне

📅 Статус и планы:

JEP 512 пока в статусе "Proposed to Target" для Java 23. Это часть большого проекта Valhalla, направленного на улучшение модели памяти и данных в JVM.

💬 Впереди Java с реальными структурами, а не объектами-ссылками. Оптимизация данных выходит на новый уровень!

📖 Подробнее: https://openjdk.org/jeps/512

@javatg
🔥13👍42
🧠 Java-задача: "Immutable? Не совсем…"

📜 Условие:

У тебя есть якобы *immutable* класс:


public class Point {
public final int x;
public final int y;

public Point(int x, int y) {
this.x = x;
this.y = y;
}
}


И следующий код:


public class Main {
static Point shared;

public static void main(String[] args) throws InterruptedException {
Thread writer = new Thread(() -> {
shared = new Point(1, 2);
});

Thread reader = new Thread(() -> {
Point p = shared;
if (p != null) {
System.out.println("x = " + p.x + ", y = " + p.y);
}
});

writer.start();
writer.join();
reader.start();
reader.join();
}
}


Вопрос:

1. Могут ли быть выведены "x = 1, y = 0" или даже "x = 0, y = 0"?
2. Почему? x и y ведь final — разве этого недостаточно?
3. Как гарантировать корректность и видимость всех полей в многопоточной среде?

⚠️ Подвох:

- В Java Memory Model (`JMM`) даже `final` поля не дают полной гарантии видимости, если объект передаётся между потоками без синхронизации.
- Поток reader может увидеть частично сконструированный объект:
- Конструктор не завершился, а shared уже указывает на объект.
- Это не баг JVM, а результат слабых гарантий JMM без синхронизации.

Правильный ответ:

Да, такой результат возможенreader может увидеть x = 1, y = 0, или даже x = 0, y = 0.

🛡️ Как защититься:

- Сделать shared volatile, или
- Передавать объект через synchronized блоки, Lock, AtomicReference, CountDownLatch, Thread-safe очередь, и т.д.


static volatile Point shared;


🎯 Чему учит задача:

• Знание Java Memory Model (JMM)
• Понимание, что final != synchronized
• Почему даже "immutable" объекты могут стать "опасно mutating"
• Умение писать багоустойчивый многопоточный код

@javatg
🔥94👍4😁2🤔2
🧱 Собираем OpenJDK сами? Лови инструменты от Blackslate!

Если ты хочешь *собрать свою версию OpenJDK* или поэкспериментировать с оптимизациями JVM — тебе сюда:
👉 [Полный список тулов от Blackslate](https://www.blackslate.io/tech-stack/tools-to-build-openjdk)

🔧 Что внутри:
• [JDKBuild](https://github.com/blackslateio/jdkbuild) — фреймворк для сборки JDK из исходников, поддерживает разные версии и платформы.
Builder Docker Images — набор docker-контейнеров, уже готовых к сборке JDK.
Patch Tools — инструменты для управления патчами к JDK, удобно тестировать свои изменения.
Releases — собранные дистрибутивы, если не хочешь собирать сам.

🔥 Особенности:
• Много версий: от Java 8 до Java 21
• Локальная и CI/CD сборка
• Поддержка кастомных патчей и расширений
• Кроссплатформенность: Linux, macOS, Windows

👨‍🔧 Идеально, если ты:
• Тюнишь JVM под свой продукт
• Создаёшь минималистичный JDK под контейнеры
• Хочешь изучить, как всё устроено внутри

https://www.blackslate.io/tech-stack/tools-to-build-openjdk

@javatg
5👍5🔥1
2025/07/09 02:20:05
Back to Top
HTML Embed Code: