Как стать автором
Обновить
37.06
Failover Bar
Митап-бар для разработчиков, айтишников и гиков
Сначала показывать

Релиз Unity 2023.2 Tech Stream

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.1K

В свежей версии 2023.2 TS появилось несколько кроссплатформенных улучшений. Поработали над производительностью (в особенности — над тормозами освещения на мобилках). Нарисовали более красивые атмосферные эффекты для HDRP. Продумали использование VFX Graph. Проапгрейдили UI Toolit, починили баги для VR. Вернулись к понятной схеме названия версий: Не Unity 1234.5 XYZ, а просто Unity 6.

Всё вместе, это позволит поднять реализм и удобство на новый уровень, и заставит разработчиков рвать на себе рубашку за Unity в патриотическом экстазе... или такова легенда. Давайте разберемся.

Волшебно. Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии4

Эта неделя в мире Java (21 ноября)

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.4K

Все сенсации, интриги, расследования, которые вам нужны 21 ноября.

Брайан Гёц — гриб (видео под катом, интервью с @boomburum)

jHipster требует Java 21 и не согласен на меньшее

Живой мастер-класс по JUnit от JUnit-джедая

Депо поездов имени В.В. Спринга

Тонна фиксов CVE уязвимостей

Первые попытки поддержать CRaC

Новая поделка: Penna для логов в JSON

Обновы в Quarkus, Micronaut, Payara, OpenLiberty, Mojarra, Grails, Tomcat...

Ничоси. Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

Java-инспекции в IDEA 2023.2

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.8K

Это ретроспективный пост про Java-инспекции IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

А между тем, там не всё хорошо. Например, баги с тэгом @snippet до сих пор не поправили.

Чтобы самому воспроизвести новости из ченжлога - нужно набирать много кода и проверять их. Это лень, это мы не делаем. Вместо этого, мы смотрим этот короткий пост с PNG-картинками, показывающими основные фишки.

Залетайте под кат и погнали!

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

IntelliJ IDEA 2023.2. Долгожданный LSP, встроенный AI-чат, апгрейд до Windows 10 и -Xmx2G

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров14K

Это ретроспективный пост фичей IntelliJ IDEA 2023.2, в преддверии 2023.3 (которая сейчас в состоянии Beta 2). Несмотря на то, что эта версия вышла еще в июле, не все в точности помнят, что же там произошло, и какую версию они вообще используют.

Идея раздулась до 2 гигабайт хипа, появилась поддержка LSP-серверов, и теперь вам нужно проапгрейдиться с Windows 7 минимум до Windows 10.

Из мелочей: появился чата с нейронкой "AI Assistant". Профилировщик научился отображать подсказки прямо в редакторе, а интеграция с GitLab позволяет меньше переключаться между браузером и IDE.

Хотите узнать подробней?

Восхитительно! Читать далее
Всего голосов 25: ↑21 и ↓4+17
Комментарии22

Эта неделя в мире Java (13 ноября)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.9K

Если вам лень читать три тысячи тредов в рассылке OpenJDK и ленты с новостями сотен обновлений фреймворков, то этот дайджест - для вас.

Java-дайджест за последнюю неделю (3 ноября):

• Обзор статей на Хабре

• Новости OpenJDK

• Spring, Jakarta, Web

• IDE, Gradle, тулинг

• Странные фреймворки

Волшебно! Читать далее
Всего голосов 23: ↑21 и ↓2+19
Комментарии8

Helidon 4 вышел, а никто и не заметил

Время на прочтение5 мин
Количество просмотров7.2K

Те, кто использует Helidon в проде, наверняка точно знают, зачем им это нужно. Что делать остальным? Основная задача хомячка — объяснить детям концепцию смерти. Кажется, точно так же основная задача Helidon для широких народных масс — посмотреть на самые новые фишки Java и понять, нужно вам это или нет. Посмотрим, что же произошло в версии 4.0.0...

Интересно. Читать далее
Всего голосов 28: ↑26 и ↓2+24
Комментарии8

Эта неделя в мире Java (3 ноября)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.4K

Java-дайджест за последнюю неделю (3 ноября):

• Spring, Jakarta, Web

• IDE и редакторы

• Тестирование

• Статьи и подкасты

• Обзор статей на Хабре

Волшебно. Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии2

IntelliJ IDEA 2023.2. Language Server Protocol, AI Assistant, IntelliJ Profiler в редакторе, GitLab merge requests, ftw

Время на прочтение8 мин
Количество просмотров11K

Только что вышла 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.

Волшебно. Читать далее.
Всего голосов 40: ↑35 и ↓5+30
Комментарии40

Прожарка java.lang.String

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.5K

Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.

Вкуснотища. Читать далее.
Всего голосов 30: ↑28 и ↓2+26
Комментарии14

Автоматически ищем техдолг с помощью RefactorFirst

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.3K

Недавно вышла новая версия библиотеки RefactorFirst 0.4.0, которая позволяет определять и визуализировать технический долг. С этой информацией можно пойти к своему тимлиду или продукт-оунеру и выбить время на рефакторинг, имея под руками железные доказательства.

Она ищет в Java-коде Божественные Классы и классы с очень высоким уровнем связности, которые следовало бы отрефакторить. Для этого используются правила God Class Rule и Coupling Between Objects Rule из опенсорсного коданализатора PMD.

Коротко опишу, что это такое, и как этим пользоваться.

Интересно. Читать далее.
Всего голосов 8: ↑7 и ↓1+6
Комментарии3

Новые фичи в IDEA 2023.2 EAP 7

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.9K

Быстро приближается релиз IntelliJ IDEA 2023.2, а значит, текущему EAP-у осталось жить недолго. Вы все еще можете успеть попробовать новые фичи, и попросить исправить их до релиза, когда исправлять будет уже поздно.

JetBrains ушел из России, но его IDE всё ещё является основным средством разработки на Java. Как у бывшего product marketing manager в JetBrains, у меня есть некоторый опыт в написании и переводе таких статей. Изначально, принести эту новость сподвигло то, что в ней есть важное обновление плагина Big Data Tools, над которым когда-то работала моя команда. Кроме того, JB разродились официальной поддержкой LSP, что наверняка, стоило им титанических моральных усилий. PMM-ов бывших не бывает, им просто перестают за это платить.

Я попробую описывать самые значимые новости, касающиеся JetBrains IDE. Чтобы получать больше таких новостей - подписывайтесь на Хабре на наш блог, а ещё вы можете пройти в мою личную телегу @Javawatch.

Под катом - обзор перечисленных фичей, со скриншотами. Поехали.

Читать далее
Всего голосов 23: ↑21 и ↓2+19
Комментарии39

LLM API для Java

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.7K

Прочитав сегодняшнюю статью о том, как в Сан-Франциско массово собираются LLM-щики, коллега сказал — "лучше б там собирались BDSM-щики, это, по крайней мере, понятное развлечение". Для человека не посвященного, "нейросети" — это всё ещё что-то про Python и математическую статистику.

Тем не менее, можно кусать низко висящие фрукты и с помощью Java, дергать API для Chat GPT, и тогда ничего учить не придётся. В этой статье будут ссылки на несколько фреймворков с простым API для жабы и котла, которые можно использовать хоть сейчас.

Волшебно. Читать далее.
Всего голосов 8: ↑5 и ↓3+2
Комментарии4

Java-дайджест: начало июля

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.6K

Привет, это Олег. Я вылез из криокамеры и пытаюсь заставить себя писать регулярные дайджесты.

В этом выпуске будет новый бесплатный (на самом деле нет) GraalVM Enterprise, отмена Java 8 в бигдате, совершенно новая система модулей (которую никто не просил, но мы её заслужили тем не менее), утилита для поиска и истребления легаси в проекте, библиотеки для работы с Large Language Models (иначе говоря, ChatGPT), всратый офис с графическим интерфейсом на Java, и многое другое. И конечно, обзор этой недели Java на Хабре.

Если есть время, оставьте комментарий, про какую часть Java-экосистемы вам хотелось бы читать дальше. Помогите Даше-путешественнице найти смысл существования. Новостей куча, поэтому пока я пишу про то, что интересно лично мне: GraalVM, Spring, Clouds, OpenJDK dev. Например, в Hibernate на каждый релиз чинят десятки каких-то багов, но я про них ничего не пишу, потому что не знаю ни одного живого человека, которому бы это было интересно.

Как всегда, статья подготовлена при поддержке "российской джавы" AxiomJDK и моего IT-бара Failover Bar, потому что я пишу её в рабочее время :)

Прекрасно. Читать далее.
Всего голосов 30: ↑28 и ↓2+26
Комментарии10

Запускаем Vagrant на MacOS Apple M1/M2

Время на прочтение5 мин
Количество просмотров11K

Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.

Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.

Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.

В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии10

Java-дайджест 5-12 декабря 2022

Время на прочтение3 мин
Количество просмотров3.8K

Общее

Умер Фредерик Брукс, отец 8-битного байта, автор "Мифического человеко-месяца""Design of Design" и "Серебряной пули не существует".

Java, язык и платформа

SlashData провели опрос по состоянию экосистемы разработки и по нему видно, что использование Java выросло со времен 2020 года процентов на 10.

Новые JEP для Java 20:

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии3

Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако

Время на прочтение14 мин
Количество просмотров5.7K

Первая статья в нашем блоге. Я постарался написать хороший текст на основе докладов из Failover Bar и прошлого митапа Альфы, и человеческими словами объяснить, зачем нужен GraalVM.

Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современного приложения, и какие ништяки Native Image помогут нам во всём этом.

Mad skills bonus: вы сможете писать на Java приложения для командной строки так, что они не будут тормозить по сравнению со скриптами на Bash. Но вначале небольшая телега вместо вступления.

Читать далее
Всего голосов 27: ↑23 и ↓4+19
Комментарии21

Кровь и бетон. Как не надо писать

Время на прочтение8 мин
Количество просмотров41K

Существует поверье, что "подсознание не замечает отрицаний", и поэтому совершенно всё стоит писать в позитивном ключе. Якобы, нельзя писать "не делайте это", вместо этого нужно говорить "правильно делать вот так" и предлагать варианты.

К чёрту. Варианты закончились. Чтобы не терять времени, перейдем к оскорблениям.

Этот текст предназначен хабровчанам из корпоративных блогов, которые пишут в общую ленту. Если вы не из этих, лучше закройте и забудьте этот текст.

Читать далее
Всего голосов 253: ↑224 и ↓29+195
Комментарии183

[Археология Java] Контекстно-зависимый инлайнинг трейсов в Java

Время на прочтение48 мин
Количество просмотров11K

Коротко о статье


Инлайнинг методов – одна из наиболее важных оптимизаций в JIT-компиляторах (которые благодаря ей называются «основанными на методах» или «блочными»). Эта оптимизация расширяет область компиляции, позволяя оптимизировать несколько методов как единое целое, что повышает производительность приложений. Однако, если использовать инлайнинг методов слишком часто, время компиляции станет излишне большим, и будет сгенерировано слишком много машинного кода. И вот это скажется на производительность уже негативно.

Трассирующие JIT-компиляторы собирают не всё подряд, а только часто исполняемые пути, так называемые трейсы. С помощью этого можно получить более быструю компиляцию, уменьшить количество сгенерированного машинного кода, и улучшить его качество. В предыдущих наших работах, мы реализовали инфраструктуру для записи трейсов и трассирующий Java-компилятор, модифицируя код Java HotSpot VM. Основываясь на этой работе, мы посчитали, какой эффект инлайнинг трейсов оказывает на производительность и количество генерируемого кода.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии11
Изменить настройки темы

Информация

Сайт
failover.bar
Дата регистрации
Численность
2–10 человек
Местоположение
Россия
Представитель
Олег Чирухин