Ощущение, когда облажался дважды: я же мог посмотреть и какой у тебя доклад на JPoint, и вообще прошарить эту тему… Очень ждём твоего доклада! Всего месяц остался, месяц можно и подождать
Тут на Хабре есть люди для каждого из проектов. lany вроде бы рассказывает об Amber. Если @iwan0www будет заглядывать в комментарии, он вытащит за Panama. Я буду топить за Graal. Ад пуст, все демоны собрались здесь. Как там ютуберы говорят, «ставь лайки и подписывайся» :-)
Ох ничего себе. Надо прочитать, прежде чем забуряться в хаки на .NET :) Меня почему-то очень сильно захватила идея забуриться в код и что-нибудь там динамически поперезаписывать. Даже не знаю, зачем это может быть нужно, но звучит захватывающе.
А мне понравился способ общения sebres. На протяжении всех постов он призывал включить мозг и самостоятельно придумать ad-hoc модификации стандартных алгоритмов, давал подсказки. А вы хотели сразу услышать решение. Решение — это обычно очень скучно, так как теряется самая интересная часть — придумывание собственного подхода. Решение стоит просить, если ты уже убил на обдумывание задачи максимум времени, и понимаешь что слишком туп доя ответа. Но можно просить подсказки!
Сорри, сейчас в Новосибе -30 температура, простыл. Сейчас немного проспался, перечитал, подписываюсь под каждым словом: «Не понял, о чём статья, но написано хорошо» :)
Нет, ни на что это не влияет, это просто предупреждение пользователю на случай, если кто-то решил его поиметь с помощью вирусни, или чтобы тестировщик случайно не начал пользоваться тестовым браузером как обычным (окошечком ошибся). Отключить это предупреждение можно легко с помощью параметра new ChromeOptions().addArguments("--disable-infobars"), так что защита скорей психологическая, чем реальная. Опций там невероятное множество, они делают интересные и полезные вещи, рекомендую прочитать.
Замечательно, что вы приняли участие в обсуждении. Но есть некая корректировка.
Не у всех есть Chocolatey. Не у всех есть .NET Core или .NET Framework. Не все пользуются Windows. Не всем достаточно обновить фреймворк и кор — кое-кому придётся сделать ещё ряд вещей. У кого-то после ваших шагов всё сломается, и придётся болезненно чинить. Чтобы учесть все ситуации — имеются официальные рекомендации Microsoft (в статье ей ссылки на них), и собственно эта статья.
Расскажи вот что, как правильно посмотреть, установлен ли KB?
Я пробовал get-hotfix, wmic qfe full, dism /online /get-packages, systeminfo, ещё что-то — и нужные KB там не отображаются. Но они есть в update history в windows update. Это значит, что у меня база апдейтов посыпалась, или я просто неправильно смотрю?
Fixed. Раньше статья была только про .NET Core, а сейчас — обновлена вашей информацией про .NET Framework. В тексте могли остаться артефакты миграции, все баги по тексту статьи принимаются в личку. Перед постингом бага рекомендуется обновить страницу, чтобы удостовериться, что он ещё не исправлен. Спасибо! :)
> Как в Java заимплементировать @Memoized, Readonly или Time через аннотации?
По аннотации генерим прокси-класс, который будет всё это декорировать. При этом, от одной аннотации можно генерить совершенно разные прокси, в зависимости от параметров аннотации или контекста выполнения, например. Это как декораторы, только лучше, потому что из за тебя пишет компилятор.
Так работает Spring из коробки. Нужно гуглить BeanPostProcessor, BeanFactoryPostProcessor, BeanDefinitionRegistryPostProcessor, и другие соответствующие классы. Любой пользователь Spring это знает.
Хорошо рассказывает Женя Борисов на докладах на Joker/JPoint/JBreak в докладах типа «spring-потрошитель»: www.youtube.com/watch?v=BmBr5diz8WA
> Метод getAnnotations может с тем же успехом использовать JSDoc комментарии
Нельзя, потому что это ударит по перфомансу. В PHP вот это сделали, в мои времена это был такой перфоманс хит, что пользоваться было невозможно (может быть, сейчас починили?). В мои времена, создатели ORM Doctrine по этому поводу пилили пулл-риквест с нативной поддержкой аннотаций, но пыхеры отклонили.
А в жабе — язык достаточно статический, поэтому информация о типах используется для ускорения кода на всех этапах. Например, в жабе используется такая штука как верификатор байткода, поэтому сразу после верификации (после загрузки класса) мы можем выбросить все проверки на соответствия типов, а js будет проверять их вечно. Даже если этот js запустят под JVM на GraalVM — проверки всё равно никуда не денутся (но будут не строить граф заново, а деоптимизироваться в случае изменения типа).
Если мы реализуем Java поверх JS, надо понимать, что от аннотаций потребуется максимальный перфоманс. Если можно как-то заюзать для этого нативные возможности V8/Servo, обязательно нужно это сделать.
Нет, ни на что это не влияет, это просто предупреждение пользователю на случай, если кто-то решил его поиметь с помощью вирусни, или чтобы тестировщик случайно не начал пользоваться тестовым браузером как обычным (окошечком ошибся). Отключить это предупреждение можно легко с помощью параметра
new ChromeOptions().addArguments("--disable-infobars")
, так что защита скорей психологическая, чем реальная. Опций там невероятное множество, они делают интересные и полезные вещи, рекомендую прочитать.Не у всех есть Chocolatey. Не у всех есть .NET Core или .NET Framework. Не все пользуются Windows. Не всем достаточно обновить фреймворк и кор — кое-кому придётся сделать ещё ряд вещей. У кого-то после ваших шагов всё сломается, и придётся болезненно чинить. Чтобы учесть все ситуации — имеются официальные рекомендации Microsoft (в статье ей ссылки на них), и собственно эта статья.
Расскажи вот что, как правильно посмотреть, установлен ли KB?
Я пробовал get-hotfix, wmic qfe full, dism /online /get-packages, systeminfo, ещё что-то — и нужные KB там не отображаются. Но они есть в update history в windows update. Это значит, что у меня база апдейтов посыпалась, или я просто неправильно смотрю?
Такой Chaos Monkey, но не для микросервисов? :)
А где лежит этот тест, чтобы найти в исходниках Community Edition и заценить?
Готово.
По аннотации генерим прокси-класс, который будет всё это декорировать. При этом, от одной аннотации можно генерить совершенно разные прокси, в зависимости от параметров аннотации или контекста выполнения, например. Это как декораторы, только лучше, потому что из за тебя пишет компилятор.
Так работает Spring из коробки. Нужно гуглить BeanPostProcessor, BeanFactoryPostProcessor, BeanDefinitionRegistryPostProcessor, и другие соответствующие классы. Любой пользователь Spring это знает.
Хорошо рассказывает Женя Борисов на докладах на Joker/JPoint/JBreak в докладах типа «spring-потрошитель»: www.youtube.com/watch?v=BmBr5diz8WA
> Метод getAnnotations может с тем же успехом использовать JSDoc комментарии
Нельзя, потому что это ударит по перфомансу. В PHP вот это сделали, в мои времена это был такой перфоманс хит, что пользоваться было невозможно (может быть, сейчас починили?). В мои времена, создатели ORM Doctrine по этому поводу пилили пулл-риквест с нативной поддержкой аннотаций, но пыхеры отклонили.
А в жабе — язык достаточно статический, поэтому информация о типах используется для ускорения кода на всех этапах. Например, в жабе используется такая штука как верификатор байткода, поэтому сразу после верификации (после загрузки класса) мы можем выбросить все проверки на соответствия типов, а js будет проверять их вечно. Даже если этот js запустят под JVM на GraalVM — проверки всё равно никуда не денутся (но будут не строить граф заново, а деоптимизироваться в случае изменения типа).
Если мы реализуем Java поверх JS, надо понимать, что от аннотаций потребуется максимальный перфоманс. Если можно как-то заюзать для этого нативные возможности V8/Servo, обязательно нужно это сделать.
— Это не заело. Это хаус. В моем противоречивом прошлом — молодёжная эстрада.
© Даун Хаус