Лучше всего облачный YouTrack. Интерфейс лучше и чем в ЯТ, и чем в Jira, великолепная Agile-доска с живыми обновлениями, кастомизируемые воркфлоу с редактором кода прямо в браузере. В новой версии UI будет Darcula (тёмная цветовая схема) и distraction-free mode.
так что подниматься она должна не выше, чем на 100 км от поверхности Земли
Это не совсем точная характеристика. Они могли бы отказаться от посадки на двигателе и улететь выше (на 200 км, скажем). Но проблема в том, что у них нулевая скорость на этой высоте, т. е. это «прыжок», а не выход на орбиту. Для орбиты должна быть «горизонтальная» скорость ~8км/с.
Если вы используете параметры по умолчанию, и общее количество параметров достаточно большое, то лучше делать вызовы с именованными параметрами там, где метод/функция была использована. Тогда добавление новых параметров ничего не ломает.
У приватных полей нет геттеров, но появляются статические методы для их чтения, если вы делаете публичную инлайн-функцию с их использованием. От того, что функция инлайн меняется то, что напрямую через взятие поля это поле приватное поле не прочитать (без setAccessible), поэтому тело этой функции будет содержать вызов специального метода на стороне "вызова". Посмотрите сами в bytecode viewer.
Так они и на самом деле используются, просто для них вгенерятся синтетический геттер с названием access$getAllowlog$p. Если не предупредить об этом разработчика, то у приватного поля появится геттер (в виде статического метода), доступный из Java.
(2) Мне кажется, что в вашем случае (как я понимаю, вы из компании, у которых большая инсталляция YouTrack) надо обсуждать дело индивидуально. Да, внешнаяя СУБД хорошо работает для многих приложений, но для крупной инсталляции (например, JIRA) всё равно требуется оптимизация настроек и хорошее железо. Давайте обсудим ваши проблемы приватно (как я понимаю, вы и ваши коллеги уже писали нам в саппорт) и придумаем, как вам помочь.
Большинство пользователей ютрека — средние или небольшие команды, им совершенно не важно, какие технологии мы используем под капотом.
Сейчас доска, репорты, дашборд, проекты и админка (кроме страниц, относящихся к Hub) — всё SPA на Angular+REST с бесшовным переходом. Осталось сделать /issue и /issues.
Я согласен, но всё-таки для скриптинга скорее пригодится не загрузка класса из файла целиком, а только части. Если речь идёт о замене хотсвапа, то тогда ваше решение, конечно, лучше. Интересно, в вашем проекте вот эти файлы, которые потом динамически грузятся, они лежат под source control?
Я посмотрел вашу статью, в ней нет прямых указаний, чем ecj удобнее именно для геренации новых классов на рантайме. Одним из очевидных недостатков высокоуровнего API javassist является отсутствие поддержки generics, но насколько это важно?
Кстати, в ютреке «живая» Agile доска.
Лучше всего облачный YouTrack. Интерфейс лучше и чем в ЯТ, и чем в Jira, великолепная Agile-доска с живыми обновлениями, кастомизируемые воркфлоу с редактором кода прямо в браузере. В новой версии UI будет Darcula (тёмная цветовая схема) и distraction-free mode.
Это не совсем точная характеристика. Они могли бы отказаться от посадки на двигателе и улететь выше (на 200 км, скажем). Но проблема в том, что у них нулевая скорость на этой высоте, т. е. это «прыжок», а не выход на орбиту. Для орбиты должна быть «горизонтальная» скорость ~8км/с.
Если вы используете параметры по умолчанию, и общее количество параметров достаточно большое, то лучше делать вызовы с именованными параметрами там, где метод/функция была использована. Тогда добавление новых параметров ничего не ломает.
Информация про Number26 и Wirecard устаревшая. На данный момент (с конца 2016) Number26 является самостоятельным банком (новое название N26).
Они влияют на API с точки зрения java, некоторым это может быть важно.
У приватных полей нет геттеров, но появляются статические методы для их чтения, если вы делаете публичную инлайн-функцию с их использованием. От того, что функция инлайн меняется то, что напрямую через взятие поля это поле приватное поле не прочитать (без setAccessible), поэтому тело этой функции будет содержать вызов специального метода на стороне "вызова". Посмотрите сами в bytecode viewer.
А если я в vim пишу на Котлине?
Так они и на самом деле используются, просто для них вгенерятся синтетический геттер с названием
access$getAllowlog$p
. Если не предупредить об этом разработчика, то у приватного поля появится геттер (в виде статического метода), доступный из Java.Большинство пользователей ютрека — средние или небольшие команды, им совершенно не важно, какие технологии мы используем под капотом.
Думаю, скоро выкатим хотфикс для неё.
Стабильная, LGPL, существует с 1999. Умеет полноценно компилировать сорцы в памяти. Наследовать существующие классы, с импортами, например.