Debezium must Die Debezium какчает разные таблицы с разной скоростью и получается неконсистентность, когда например есть document_id=100500, а документа нет с таким id=100500 поэтому нельзя использовать Debezium.
Очень красиво, интересно, идея хорошая :-) Только надо какую-то практичную пользу от этого придумать... Например слева отображать только активы, справа пассивы, слева дебет, справа кредит у активных счетов, и наоборот для пассивных - тогда появится реальная польза :-)
есть ещё один хороший способ хранить деньги: сделать отдельные 2 колонки с целыми числами, отдельно для целой части, отдельно для дробной части * 1000000000.
Используется в Тинькофф, tinkoff api Я использую float64 т.к. мне не важны копейки :-)
Написано всё правильно :-) у меня есть много чего в гитхабе :-) https://github.com/ManyakRus остальные коллеги не пишут ничего в гитхаб т.к. не делают ничего полезного ни для работы, ни для всех, ни для себя.
Написано всё правильно, кроме отдельных случаев: а) если это большое монолитное приложение б) если много джунов, которым надо ограничить возможность всё испортить.
Все эти архитектуры написаны для больших монолитов, микросервисов в то время не было.
Если не было задания от работадателя - то всё написанное ПО принадлежит автору (программисту) :-) например nginx Работадателю принадлежит то что он просил (давал задания)
Написано очень правильно и гениально ! Я сделал почти то же самое скриптами, только не смог уговорить девопсов запускать мой мини скриптик при сборке... теперь скрипт запускаю у себя, он создаёт файл version.txt, всё хорошо только номер версии всегда на 1 меньше настоящего :-(
Как должно быть: 1. Создаём структуру 2. Заполняем все поля в структуру автоматически из окружения/.env/.yaml одной строчкой кода (обязательно одной строчкой) без заполнения никаких настроек, если совпадает имя поля структуры и имя переменной окружения - то заполняем. Весь код будет состоять из 1 строчки кода, будет универсально для любых типов и названий полей. (я уже так сделал почти, ещё доделаю)
Debezium must Die
Debezium какчает разные таблицы с разной скоростью и получается неконсистентность,
когда например есть document_id=100500, а документа нет с таким id=100500
поэтому нельзя использовать Debezium.
Очень красиво, интересно, идея хорошая :-)
Только надо какую-то практичную пользу от этого придумать...
Например слева отображать только активы, справа пассивы,
слева дебет, справа кредит у активных счетов, и наоборот для пассивных -
тогда появится реальная польза :-)
https://github.com/ManyakRus/crud_generator
кодогенератор делает код для CRUD операций,
а также для сложных объектов - заполняет вложенные структуры из внешних ключей.
Так ещё лучше :-)
и в итоге вас забанят за использование нейронок :-(
это статья - чистосердечное признание в нарушении правил яндекс музыки
Очень хорошая вещь :-) теоретически.
Практически испытаю попозже,
хотел сам такое же сделать.
есть ещё один хороший способ хранить деньги:
сделать отдельные 2 колонки с целыми числами, отдельно для целой части, отдельно для дробной части * 1000000000.
Используется в Тинькофф, tinkoff api
Я использую float64 т.к. мне не важны копейки :-)
Написано всё правильно :-)
у меня есть много чего в гитхабе :-)
https://github.com/ManyakRus
остальные коллеги не пишут ничего в гитхаб т.к. не делают ничего полезного ни для работы, ни для всех, ни для себя.
Написано всё правильно,
кроме отдельных случаев:
а) если это большое монолитное приложение
б) если много джунов, которым надо ограничить возможность всё испортить.
Все эти архитектуры написаны для больших монолитов, микросервисов в то время не было.
Тут слишком много букв, поэтому ничего не понятно (и много неправильно)
Как должно быть:
а) для библиотек:
ошибки не выводить в лог, т.к. у всех логгеры разные
делать "Текстовый wrapping %w" ошибок
все ошибки возвращать
не делать панику (или fatal)
б) для остальных приложений:
все ошибки выводить в лог сразу же в месте появления ошибки, даже если ошибку возвращаем наверх.
при возвращении ошибки наверх - надо ошибку вывести в лог ещё раз, второй раз с новым "Текстовый wrapping %w" ошибок
делать "Текстовый wrapping %w" ошибок
ошибки старться обработать на месте, возвращать как можно меньше ошибок
при старте приложения при ошибке сразу делать панику, после старта паники стараться не делать.
Если не было задания от работадателя - то всё написанное ПО принадлежит автору (программисту) :-)
например nginx
Работадателю принадлежит то что он просил (давал задания)
надо делать отдельный пакет для этого, а не в main,
например вот такой:
https://github.com/ManyakRus/starter/blob/main/stopapp/stopapp.go
Написано очень правильно и гениально !
Я сделал почти то же самое скриптами, только не смог уговорить девопсов запускать мой мини скриптик при сборке... теперь скрипт запускаю у себя, он создаёт файл version.txt, всё хорошо только номер версии всегда на 1 меньше настоящего :-(
написано всё правильно, но похоже что текст придумал ИИ :-(
Похоже что всё придумал ИИ, т.к. автор использует все языки подряд Scala, Java, Rust, Go - обычный человек так не будет делать.
Слишком сложно всё тут.
Как должно быть:
1. Создаём структуру
2. Заполняем все поля в структуру автоматически из окружения/.env/.yaml
одной строчкой кода (обязательно одной строчкой)
без заполнения никаких настроек,
если совпадает имя поля структуры и имя переменной окружения - то заполняем.
Весь код будет состоять из 1 строчки кода,
будет универсально для любых типов и названий полей.
(я уже так сделал почти, ещё доделаю)
Хорошая статья.
У вас получилось "собрать в одном месте ключевые понятия и принципы"
Спасибо авторам.
far2l - самая полезная программа в линуксе :-) и виндовсе тоже
Правильно ! Я заметил уши ИИ только через 20 строк текста :-( остальное не читал
у меня в каждой горутине отлавливается паника и отправляется лог в Телеграм :-) а потом только паника
1) main.go должен быть не в папке cmd
а в папке cmd/application_name
2) "internals" должен называться "internal",
IDE следит чтобы pkg не лазил в internal,
название "internals" - это способ обмануть IDE и стандарты.
3) у меня нет объекта "Repository",
у моделей есть методы Read(), Save() и др.,
программмисты даже не знают (не видят) что где-то есть репозиторий :-)