Search
Write a publication
Pull to refresh
-21
0
ManyakRus @manyakRus

User

Send message

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() и др.,
программмисты даже не знают (не видят) что где-то есть репозиторий :-)

1
23 ...

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Middle