jvmchat | Unsorted

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

5916

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

Subscribe to a channel

pro.jvm

Ну у меня это extension fun, которая в себе содержит несколько других, которые и логи пишут и ответ отправляют и мониторинг делают

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

pro.jvm

да тут нет заморочки

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

pro.jvm

а, ну ради такого можно заморочиться

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

pro.jvm

или вообще Cassandra

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

pro.jvm

кодген - это часть имплементации

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

pro.jvm

какова аргументация?

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

pro.jvm

все остальное твое должно быть

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

pro.jvm

А в логах останется все что нужно для анализа

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

pro.jvm

А на все "не получилось оформить заказ" ты пользаку пишешь"чет не то, попробуйте позже"

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

pro.jvm

а если ни A ни B не знают как обработать ошибку из C?

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

pro.jvm

кстати, я обмазался .fetchInto(FooEntity::class.java) и убрал все !! из кода

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

pro.jvm

Да, но A это завернет в ошибки B, а B в ошибки C и так далее. И на уровне A тебе надо знать только об ошибках B, а не о непонятных RuntimeException хз откуда

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

pro.jvm

не, я ж говорю, там про композицию


я про случай когда есть A.foo(), B.bar(), C.do()

foo() вызывает bar(), а тот вызывает do()

есть контроллер, который вызывает A.foo() - Either с ошибкой будет прокидываться из C.do() в контроллер по цепочке в го стиле?)

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

pro.jvm

при этом джава генератор для котлина как земля

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

pro.jvm

у меня в базе ненулевые атрибуты

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

pro.jvm

датакласс напиши и перелей

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

pro.jvm

я делаю интерфейс

interface UserRepository {

fun findUser(id: UUID): User?
}

мой User не зависим от реализации

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

pro.jvm

или Родину продаст)))

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

pro.jvm

сегодня JooqRepository

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

pro.jvm

для плоских табличек

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

pro.jvm

я предпочту первое, ну и да - не в контроллерах обработка, а в хэндлерах

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

pro.jvm

не надо жуковскиие классы юзать

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

pro.jvm

а еще жук для котлин умеет генерить data классы с правильной nullability и тогда без проблем работает .fetch(mapper())

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

pro.jvm

При обычных exception у тебя контроллер может получить ошибку репозитория что бд не доступна и должен на это что-то пользователю сказать. Тут он получит абстрактное "не удалось оформить заказ" от сервиса заказов

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

pro.jvm

Records.mapping предпочитаю

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

pro.jvm

Если я правильно понял вопрос.

fun foo(n: Int): Either<Error, String> = either {
val s = f(n).bind()
val t = g(s).bind()
t.summarize()
}

В доке же написано что Either прокидываются через .bind().
.bind конкретно в случае Either в котлин arrow-kt либы - это аналог "?" в расте для боилерплейт фри ерор пропагейтинг для Result
насколько я понял.

.bind здесь приходит из скоупа.
Очень похоже на то как в корутинах CoroutineScope.
Только тут конечно же скоуп другого типа

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

pro.jvm

Верим, надеемся, ждём

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

pro.jvm

Вроде жука же должны были пофиксить, что ты not null генерил нормально

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

pro.jvm

это сам Лукас Эдер посоветовал

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

pro.jvm

его так и не дочинили

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