Артем
☹️☹️
Eugene
не думал что скажу это: кот прав
Denis
Вечер добрый. Такой вопрос, кто работал с gorm, подскажите такой вопрос Есть 2 структуры, во 2ой есть ключ на 1ую. Получаю данные по апи, , в данных конечно нет ключа на таблицу =) var incomes []models.Income Дальше создаем записи database.DBInstance.Create(&incomes) но в массиве нет указания на FK 1ой таблицы. Как сделать грамотнее ? Перебирать массив и указывать явно ? или есть способ сразу при создании указать ? ну и ошибка соответствующая ERROR: insert or update on table "incomes" violates foreign key constraint "fk_incomes_profile" (SQLSTATE 23503)
kostyaBro
Зачем пытаться решить проблемы с орм, учить синтаксисы орм, если можно не учить и не решать?
kostyaBro
Вроде говорят что горм отличный инструмент
Хз лишний раз забивать себе голову без необходимости. Всеравно SQL учить придется для чего то чуть более сложного чем crud
kostyaBro
И ебаться когда тебе орм пишет что ниче не нашел например хотя должен... Ещё какой нибудь подкапотный бред
Kaban4ik
добрый день. нашел вот такое красивое и интересное. кто пробовал ? https://github.com/ying32/govcl
Denis
Зачем пытаться решить проблемы с орм, учить синтаксисы орм, если можно не учить и не решать?
Потому что такой инструмент есть. Он популярен. И он удобен. И да. Чистый sql знаю ) Но порой надо вот так. Без чистого.
kostyaBro
Потому что такой инструмент есть. Он популярен. И он удобен. И да. Чистый sql знаю ) Но порой надо вот так. Без чистого.
Мне орм понадобился 1 раз, когда форкнул открытый сервис для модификации, ну и там был xorm
Denis
Удобен для простых запросов
Именно для них. Для сложный уже нужен чистый. Тут даже спорить не буду.
kostyaBro
На самом деле там зашло что миграции автоматические. И когда прила просто crud, удобно
Aртем
добрый день. нашел вот такое красивое и интересное. кто пробовал ? https://github.com/ying32/govcl
Интересно, надо будет попробовать. Обычно fyne использую если нужен gui
Oleksandr
Что это такое и почему через палочку перечислено?
Oleksandr
Это permissions
расскажите детальнее
Oleksandr
Побитовое или
а что оно делает в этом случае?
Кіт ✙
а что оно делает в этом случае?
делает побитовое или. Полученное число отправляется аргументом, где функция уже сама разберется, что куда
Oleksandr
сложно
Dmitrii
кинь сам код
Oleksandr
os.OpenFile("logs/all.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0640)
Кіт ✙
сложно
та не особо. Простейшая побитовая логика
Dmitrii
ну эти поля os.O_CREATE, os.O_WRONLY, os.O_APPEND - 99% целочисленный объект. Значит к нему можно применить бинарную операцию.
Кіт ✙
если интересно, можешь почитать про побитовые операции
Dmitrii
01 XOR 01 - 00, 01 AND 01 - 1.
Dmitrii
к указателю применишь?
Dmitrii
а к словарю?:)
Vladislav
на питоне не прогаем
Dmitrii
MAP из голанга в новом апдейте выкинули еще скажи)
Vladislav
мап, голанд, объект — как это связано?
Vladislav
ты пьяный чтоль?
Кіт ✙
к указателю применишь?
а почему нельзя?
Кіт ✙
а к словарю?:)
что хэшмапу в памяти делает собственно хэшмапой?
Dmitrii
а почему нельзя?
Скорее всего по той же причине, по которой и адресная арифметика запрещена - безопасность. Компилятор просто нахрен пошлёт. По поводу хешмапы. Да, не так выразился. Человек без опыта еще не видит, какие аргументы у него жрёт функция. Этим аргументом может быть экспрешен другого вызова. Если не уверенности, что вернулся числовой тип, то можно обосраться.
Dmitrii
при применении bitwise операций
Oleksandr
та не особо. Простейшая побитовая логика
а можете обьяснить, что делает эта операция в конкретном случае с опенфайл?
Dmitrii
Dmitrii
под капотом - абсолютно такое же число, да
Кіт ✙
интересно, почему syscall.O_APPEND написали полностью, а syscall.O_CREAT зажали букву
Кіт ✙
типа, чтобы remind you that assembly programming is a fraught endeavor?
Oleksandr
allFile, err := os.OpenFile("logs/all.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) panic: open logs/all.log: permission denied Почему пермишенс дениед?
Oleksandr
почему недостаточно?
Oleksandr
как дать права?
Кіт ✙
Вообще арифметика указателей не запрещена
ансейф - это вторжение в систему типов, поэтому де-факто она запрещена
kostyaBro
Небезопасно да, но не запрещено же
kostyaBro
Когда у нас арифметика указателей была безопасна
Кіт ✙
Небезопасно да, но не запрещено же
слишком поверхностный взгляд
kostyaBro
Ну хотя в го из за гц она вдвойне небезопасна
kostyaBro
слишком поверхностный взгляд
Не поверхностный а прямолинейный. Впервые слышу что она запрещена.
Кіт ✙
Не поверхностный а прямолинейный. Впервые слышу что она запрещена.
"прямолинейный" в данном случае есть синоним "поверхностный". Ансейф - это уже не гошка, потому что у гошки есть система типов, не дающая творить такие вещи
Dmitrii
Dmitrii
есть всякие костыли типа import "unsafe", но если хотите адресную арифметку, тогда нужно возвращаться на Си
kostyaBro
Ну считайте так. Я буду при своем мнении. Если для вас std lib ломает гошку.... И вы назваете часть stdlib костылями, ваше право
Кіт ✙
Ну считайте так. Я буду при своем мнении. Если для вас std lib ломает гошку.... И вы назваете часть stdlib костылями, ваше право
мы говорим не про стд либ, мы говорим про ансейф, который корнями в процесс компиляции.
Кіт ✙
ансейф не то, чтобы костыль. Но это вторжение в систему типов, что фактически, как я уже и сказал, ломает язык
kostyaBro
Я тоже подумал может это не считается stdlib но первоисточник говорит считается
Кіт ✙
хорошо, пока
kostyaBro
Го изначально дал вам возможность эмбедить си и асемблер, он задуман как язык который позволяет опуститься на низкий уровень.
Dmitrii
Гошка была изначально придумана для того, что уйти от адресов. Как на шарпе/джаве
kostyaBro
Если хотите запретить у себя это использовать, пожалуйста, это здравое решение. Но говорить что это впринципе запрещено я бы не стал
Dmitrii
название пакета даже намекает - unsafe. то, что у Вас пока с этим подходом не возникало проблем - хорошо.
kostyaBro
Это звучит странно