Написано очень правильно и гениально ! Я сделал почти то же самое скриптами, только не смог уговорить девопсов запускать мой мини скриптик при сборке... теперь скрипт запускаю у себя, он создаёт файл version.txt, всё хорошо только номер версии всегда на 1 меньше настоящего :-(
Как должно быть: 1. Создаём структуру 2. Заполняем все поля в структуру автоматически из окружения/.env/.yaml одной строчкой кода (обязательно одной строчкой) без заполнения никаких настроек, если совпадает имя поля структуры и имя переменной окружения - то заполняем. Весь код будет состоять из 1 строчки кода, будет универсально для любых типов и названий полей. (я уже так сделал почти, ещё доделаю)
Все предсталенные ненужные, а вот более-менее нужный: Автоответчик для мессенджера WhatsApp и Telegram, с искуственным интеллектом ChatGPT https://github.com/ManyakRus/whatsapp_chatgpt
Хочу использовать поле xmin как номер версии записи в коде go, чтобы случайно не записать в БД устаревшую версию записи из памяти. Сейчас это бесполезно т.к. 32битный ИД может стать меньше чем был. Хочу 64битный xmin :-)
У меня ещё лучше - автоматически создаётся полностью готовый микросервис с функциями CRUD операций (Create, Read, Update, Delete), а также работа всех функций по протоколу GRPC. Генерируется исходный код для каждой таблицы и колонки в БД. Заполнить надо только настройки подключения к БД, больше не надо ничего заполнять(настраивать), можно и настраивать, изменять имена каталогов и др.
Написано очень правильно и гениально !
Я сделал почти то же самое скриптами, только не смог уговорить девопсов запускать мой мини скриптик при сборке... теперь скрипт запускаю у себя, он создаёт файл 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() и др.,
программмисты даже не знают (не видят) что где-то есть репозиторий :-)
Я тоже не верил в аккупункуру, но оно лично меня вылечило от неизлечимой болезни Тиннитус. Рекомендую всем.
Пользуюсь DBeaver, самый лучший :-)
Правильная статья :-)
grok.com
This service is not available in your region.
Не работает для русских.
https://github.com/ManyakRus/crud_generator
у меня сделано наоборот:
делаешь таблицы в БД, а потом код на go сам сгенерируется :-)
Все предсталенные ненужные, а вот более-менее нужный:
Автоответчик для мессенджера WhatsApp и Telegram, с искуственным интеллектом ChatGPT
https://github.com/ManyakRus/whatsapp_chatgpt
Хочу использовать поле xmin как номер версии записи в коде go, чтобы случайно не записать в БД устаревшую версию записи из памяти.
Сейчас это бесполезно т.к. 32битный ИД может стать меньше чем был.
Хочу 64битный xmin :-)
Я думал что металлокаркас вреден для здоровья и поэтому запрещён в жилом строительстве
(может и нет)
Для даты лучше использовать NULL, с датой 01.01.1970 вы потом не отличите пустое значение и не пустое
Сделали у себя репликацию с Debezium т.к. нет других решений для репикации MSSQL -> PostgreSQL
Часто ломается, не изза ошибок, а других технических причин.
Две проблемы написали выше: "изменением структуры таблиц", неконсистентность.
Хочу его удалить и сделать свой аналог :-) уговариваю начальство
https://github.com/ManyakRus/ddl_from_protobuf
Генерация DDL .sql из файла protobuf. Нужен, например, чтоб интегрировать к себе сторонний сервис :-)
https://github.com/ManyakRus/crud_generator
У меня ещё лучше - автоматически создаётся полностью готовый микросервис с функциями CRUD операций (Create, Read, Update, Delete), а также работа всех функций по протоколу GRPC.
Генерируется исходный код для каждой таблицы и колонки в БД.
Заполнить надо только настройки подключения к БД, больше не надо ничего заполнять(настраивать), можно и настраивать, изменять имена каталогов и др.