jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5916

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

Страх божий. А если другая реализация нужна?

Читать полностью…

pro.jvm

Не понял, что ты пытался сказать, но в го модуль - это версионируемый набор пакетов и ничего более(ну почти)

Читать полностью…

pro.jvm

админ адепт раста и кваркуса

Читать полностью…

pro.jvm

чёт не помню такого
ну может просто не занимался херней не пробовал)

Читать полностью…

pro.jvm

ну в гугле например вместо спринга https://github.com/google/guice это юзают
как раз через модули тоже
и норм

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

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

Если нужен lifecycle, например, в тесте поднять часть модулей, а потом опустить, или ленивая инициализация, то придется прикрутить монадку, но концепт такой же.

Читать полностью…

pro.jvm

Чем это лучше di фреймворка?

Читать полностью…

pro.jvm

банально это (о переписывании пару десятков строк) последнее вообще о чём я буду думать когда буду переносить из одной базы в другую работающее приложение

Читать полностью…

pro.jvm

Тут же явно кто-то есть из революта, как там у вас ребята?

Читать полностью…

pro.jvm

While the improvements aren’t quite as substantial as with native executables, and the container image size is a bit larger due to the AOT cache file, the results are impressive given the minimal effort required:

A minimal REST application created with quarkus create app sees startup drop from 370 ms to 80 ms.

A large REST CRUD application with 9,000 classes goes from 3 seconds to 900 ms.

Читать полностью…

pro.jvm

как человек у которого нет спринга на java-проекте (да и в целом фреймворков)
инициализация всего и вся в здоровенном мейне
выглядит страшно только первый месяц, потом привыкаешь и смотришь на спринг с презрением
rest-а на проекте нет

Читать полностью…

pro.jvm

Ну я правда раб спринга и без особой необходимости не слезу.

Читать полностью…

pro.jvm

Для тех, кто так и не смог слезть со спринга😁

Читать полностью…

pro.jvm

Ничего не мешает писать на джаве легковесные приложения в стиле го, кроме инерции мышления.

Читать полностью…

pro.jvm

Ну пока у тебя десяток-другой компонентов в приложении - разницы ты не увидишь, может оно даже понятным казаться будет. Как только из станет 3-4 десятка, а то и сотни, то этим вот ваши модули превратятся в малопонятную лапшу

Читать полностью…

pro.jvm

Живем с DI, просто для DI не нужен ioc-контейнер неожиданно

Читать полностью…

pro.jvm

Ну т.е. для меня главная фича модуля - это наличие у него интерфейса (типы, которые он предоставляет) и реализации (типы, которые он инстанциирует, но наружу не светит). Плюс явное дерево зависимостей модулей, когда модуль может инжектить классы только из модулей, от которых он зависит.

Читать полностью…

pro.jvm

когда я в последний раз смотрел на Guice, модули там были чисто декоративные. т.е. ничего не мешало заинжектить любой класс в любой другой класс.

Читать полностью…

pro.jvm

И в тестах сплошное удольствие обращаться к экземплярам. app.services.myCoolService.doSomething();

Читать полностью…

pro.jvm

Чем лучше - DI фреймворк -это один большой котел, в который беспорядочно накиданы классы. модули позволяют формировать жесткую! видимую! структуру приложения.

Читать полностью…

pro.jvm

через интерфейсы же не?
можно любой репо умпутуна посомтреть типо
https://github.com/umputun/feed-master/blob/master/app/proc/processor.go#L35
в структурки кладёшь интерфейсы и вуаля
подтыкаешь что тебе надо, какие угодно моки

Читать полностью…

pro.jvm

Можно сделать лучше. И модульно, и с lifecycle, и с возможностью переопределять экземпляры на тестовые. DI фреймворки для этого не нужны.

Читать полностью…

pro.jvm

я так понимаю обеды по 3500 людям не зашли

Читать полностью…

pro.jvm

Лучше бы ресурс интерфейс добавили бы

Читать полностью…

pro.jvm

https://quarkus.io/blog/quarkus-3-32-released/

вчера принесли

leyden

Читать полностью…

pro.jvm

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

Что касается твоего вопроса - у нас написаны что-то типа стартеров и коммон библиотек. Как раз для логов, хелсчеков, grpc и прочего.

По тестам ты пишешь такие же юнит и интеграционные. Моки генерятся по скрипту, в общем особых проблем нет. Любой сервис можно замокать и заинжектить.

У нас топят за TDD поэтому говнокод с точки зрения зависимостей и написать особо не удастся.

Плюс есть темплейт в гитхабе - репа создается на его основе и остается только нейминг задать.

Читать полностью…

pro.jvm

О, а расскажи, как гошник. как там живут без DI (testability!) и что с микросервисной обвязкой - метрики-логи-трассировка и прочие НФТ?

Читать полностью…

pro.jvm

Я вот щас ненадолго перелез с джавы на го, первые пару недель не понимаешь, как они вообще тут живут без DI и прочего. Через две недели начинаешь писать реальный микросервис на 3 метода и все это проходит.

Читать полностью…

pro.jvm

Это одна из главных проблем современной джавы. Люди не верят, что можно писать код без орм, без фреймворков, без наслоений фреймворков, написанных 20 лет назад.

Читать полностью…
Subscribe to a channel