Насколько опасно умножать числа с помощью ChatGPT и OpenAI o1-preview, насколько можно доверять вычисленным ей константам? Стоит ли тратить деньги на o1-preview, если есть mini (в контексте умножения чисел)? Мини-исследование под катом.
Релиз Unity 2023.2 Tech Stream
В свежей версии 2023.2 TS появилось несколько кроссплатформенных улучшений. Поработали над производительностью (в особенности — над тормозами освещения на мобилках). Нарисовали более красивые атмосферные эффекты для HDRP. Продумали использование VFX Graph. Проапгрейдили UI Toolit, починили баги для VR. Вернулись к понятной схеме названия версий: Не Unity 1234.5 XYZ, а просто Unity 6.
Всё вместе, это позволит поднять реализм и удобство на новый уровень, и заставит разработчиков рвать на себе рубашку за Unity в патриотическом экстазе... или такова легенда. Давайте разберемся.
Эта неделя в мире Java (21 ноября)
Все сенсации, интриги, расследования, которые вам нужны 21 ноября.
Брайан Гёц — гриб (видео под катом, интервью с @boomburum)
jHipster требует Java 21 и не согласен на меньшее
Живой мастер-класс по JUnit от JUnit-джедая
Депо поездов имени В.В. Спринга
Тонна фиксов CVE уязвимостей
Первые попытки поддержать CRaC
Новая поделка: Penna для логов в JSON
Обновы в Quarkus, Micronaut, Payara, OpenLiberty, Mojarra, Grails, Tomcat...
Java-инспекции в IDEA 2023.2
Это ретроспективный пост про Java-инспекции IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.
А между тем, там не всё хорошо. Например, баги с тэгом @snippet
до сих пор не поправили.
Чтобы самому воспроизвести новости из ченжлога - нужно набирать много кода и проверять их. Это лень, это мы не делаем. Вместо этого, мы смотрим этот короткий пост с PNG-картинками, показывающими основные фишки.
Залетайте под кат и погнали!
IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G
Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.
Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.
Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.
Хотите узнать подробней?
Истории
Эта неделя в мире Java (13 ноября)
Если вам лень читать три тысячи тредов в рассылке OpenJDK и ленты с новостями сотен обновлений фреймворков, то этот дайджест - для вас.
Java-дайджест за последнюю неделю (3 ноября):
• Обзор статей на Хабре
• Новости OpenJDK
• Spring, Jakarta, Web
• IDE, Gradle, тулинг
• Странные фреймворки
Helidon 4 вышел, а никто и не заметил
Те, кто использует Helidon в проде, наверняка точно знают, зачем им это нужно. Что делать остальным? Основная задача хомячка — объяснить детям концепцию смерти. Кажется, точно так же основная задача Helidon для широких народных масс — посмотреть на самые новые фишки Java и понять, нужно вам это или нет. Посмотрим, что же произошло в версии 4.0.0...
Эта неделя в мире Java (3 ноября)
Java-дайджест за последнюю неделю (3 ноября):
• Spring, Jakarta, Web
• IDE и редакторы
• Тестирование
• Статьи и подкасты
• Обзор статей на Хабре
IntelliJ IDEA 2023.2. Language Server Protocol, AI Assistant, IntelliJ Profiler в редакторе, GitLab merge requests, ftw
Только что вышла IntelliJ IDEA 2023.2. В этом релизе в IDE появилась куча интересных фичей и важных улучшений.
Вы можете скачать последнюю сборку с официального сайта, или из бесплатного приложения Toolbox, или из snap-пакетов для Ubuntu.
Этот релиз IntelliJ IDEA 2023.2 представляет вам AI-ассистента, вооруженного набором инструментов машинного обучения. IntelliJ Profiler показывает подсказки в редакторе, делая профилирование более интуитивным и иформативным. Еще, в этом релизе появилась интеграция с GitLab.
В том посте мы пробежимся по всем основным фичам IntelliJ IDEA 2023.2. В отличие от официального анонса, вся европейская политкорректность выкинута на свалку, автор перевода не видит никакой ценности в соблюдении повесточки.
Кроме того, в этот четверг в Питере будет встреча Javawatch, посвященная Java 21. Я прочитаю мини-доклад минут на 30 о новых фичах, и потом мы сможем все вместе собраться и за кружкой пива это обсудить. Анонс события в телеге, обсуждение в чате. Я бывший PMM в JetBrains Big Data и тимлид в Remote Development/Projector, а сейчас работаю над российским дистрибутивом Java - Axiom JDK.
Прожарка java.lang.String
Давайте абьюзить баг в java.lang.String
, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
Автоматически ищем техдолг с помощью RefactorFirst
Недавно вышла новая версия библиотеки RefactorFirst 0.4.0, которая позволяет определять и визуализировать технический долг. С этой информацией можно пойти к своему тимлиду или продукт-оунеру и выбить время на рефакторинг, имея под руками железные доказательства.
Она ищет в Java-коде Божественные Классы и классы с очень высоким уровнем связности, которые следовало бы отрефакторить. Для этого используются правила God Class Rule и Coupling Between Objects Rule из опенсорсного коданализатора PMD.
Коротко опишу, что это такое, и как этим пользоваться.
Новые фичи в IDEA 2023.2 EAP 7
Быстро приближается релиз IntelliJ IDEA 2023.2, а значит, текущему EAP-у осталось жить недолго. Вы все еще можете успеть попробовать новые фичи, и попросить исправить их до релиза, когда исправлять будет уже поздно.
JetBrains ушел из России, но его IDE всё ещё является основным средством разработки на Java. Как у бывшего product marketing manager в JetBrains, у меня есть некоторый опыт в написании и переводе таких статей. Изначально, принести эту новость сподвигло то, что в ней есть важное обновление плагина Big Data Tools, над которым когда-то работала моя команда. Кроме того, JB разродились официальной поддержкой LSP, что наверняка, стоило им титанических моральных усилий. PMM-ов бывших не бывает, им просто перестают за это платить.
Я попробую описывать самые значимые новости, касающиеся JetBrains IDE. Чтобы получать больше таких новостей - подписывайтесь на Хабре на наш блог, а ещё вы можете пройти в мою личную телегу @Javawatch.
Под катом - обзор перечисленных фичей, со скриншотами. Поехали.
LLM API для Java
Прочитав сегодняшнюю статью о том, как в Сан-Франциско массово собираются LLM-щики, коллега сказал — "лучше б там собирались BDSM-щики, это, по крайней мере, понятное развлечение". Для человека не посвященного, "нейросети" — это всё ещё что-то про Python и математическую статистику.
Тем не менее, можно кусать низко висящие фрукты и с помощью Java, дергать API для Chat GPT, и тогда ничего учить не придётся. В этой статье будут ссылки на несколько фреймворков с простым API для жабы и котла, которые можно использовать хоть сейчас.
Java-дайджест: начало июля
Привет, это Олег. Я вылез из криокамеры и пытаюсь заставить себя писать регулярные дайджесты.
В этом выпуске будет новый бесплатный (на самом деле нет) GraalVM Enterprise, отмена Java 8 в бигдате, совершенно новая система модулей (которую никто не просил, но мы её заслужили тем не менее), утилита для поиска и истребления легаси в проекте, библиотеки для работы с Large Language Models (иначе говоря, ChatGPT), всратый офис с графическим интерфейсом на Java, и многое другое. И конечно, обзор этой недели Java на Хабре.
Если есть время, оставьте комментарий, про какую часть Java-экосистемы вам хотелось бы читать дальше. Помогите Даше-путешественнице найти смысл существования. Новостей куча, поэтому пока я пишу про то, что интересно лично мне: GraalVM, Spring, Clouds, OpenJDK dev. Например, в Hibernate на каждый релиз чинят десятки каких-то багов, но я про них ничего не пишу, потому что не знаю ни одного живого человека, которому бы это было интересно.
Как всегда, статья подготовлена при поддержке "российской джавы" AxiomJDK и моего IT-бара Failover Bar, потому что я пишу её в рабочее время :)
Ближайшие события
Запускаем Vagrant на MacOS Apple M1/M2
Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.
Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.
Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.
В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.
Java-дайджест 5-12 декабря 2022
Общее
Умер Фредерик Брукс, отец 8-битного байта, автор "Мифического человеко-месяца", "Design of Design" и "Серебряной пули не существует".
Java, язык и платформа
SlashData провели опрос по состоянию экосистемы разработки и по нему видно, что использование Java выросло со времен 2020 года процентов на 10.
Новые JEP для Java 20:
Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако
Первая статья в нашем блоге. Я постарался написать хороший текст на основе докладов из Failover Bar и прошлого митапа Альфы, и человеческими словами объяснить, зачем нужен GraalVM.
Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современного приложения, и какие ништяки Native Image помогут нам во всём этом.
Mad skills bonus: вы сможете писать на Java приложения для командной строки так, что они не будут тормозить по сравнению со скриптами на Bash. Но вначале небольшая телега вместо вступления.
Кровь и бетон. Как не надо писать
Существует поверье, что "подсознание не замечает отрицаний", и поэтому совершенно всё стоит писать в позитивном ключе. Якобы, нельзя писать "не делайте это", вместо этого нужно говорить "правильно делать вот так" и предлагать варианты.
К чёрту. Варианты закончились. Чтобы не терять времени, перейдем к оскорблениям.
Этот текст предназначен хабровчанам из корпоративных блогов, которые пишут в общую ленту. Если вы не из этих, лучше закройте и забудьте этот текст.
[Археология Java] Контекстно-зависимый инлайнинг трейсов в Java
Коротко о статье
Инлайнинг методов – одна из наиболее важных оптимизаций в JIT-компиляторах (которые благодаря ей называются «основанными на методах» или «блочными»). Эта оптимизация расширяет область компиляции, позволяя оптимизировать несколько методов как единое целое, что повышает производительность приложений. Однако, если использовать инлайнинг методов слишком часто, время компиляции станет излишне большим, и будет сгенерировано слишком много машинного кода. И вот это скажется на производительность уже негативно.
Трассирующие JIT-компиляторы собирают не всё подряд, а только часто исполняемые пути, так называемые трейсы. С помощью этого можно получить более быструю компиляцию, уменьшить количество сгенерированного машинного кода, и улучшить его качество. В предыдущих наших работах, мы реализовали инфраструктуру для записи трейсов и трассирующий Java-компилятор, модифицируя код Java HotSpot VM. Основываясь на этой работе, мы посчитали, какой эффект инлайнинг трейсов оказывает на производительность и количество генерируемого кода.
Информация
- Сайт
- failover.bar
- Дата регистрации
- Численность
- 2–10 человек
- Местоположение
- Россия
- Представитель
- Олег Чирухин