Илья
у меня в композе также и работает
Илья
https://github.com/illiafox/url-short-api/blob/pg/docker-compose.yml#L25-L40
the special one
мне кажется, проблема в порте
the special one
migrate пытается стучаться по одному
the special one
а субд на другом
the special one
но не знаю как связать их
Vladislav
Илья
Илья
посмотрите его логи
the special one
"5432:5432"?
для субд? указал, но migrate по другим стучится
the special one
или вообще к локалхосту стучится
the special one
Илья
the special one
Илья
udp?
the special one
ага
Vadim
Patamen
Господа мои хорошие!
Спасибо всем, кто участвовал в моей проблеме ещё раз!
Разобрался частично в работе с MS SQL
Обнаружил такой функционал:
Как оказывается, библиотека способна поддерживать BulkCopy достаточно костыльным методом
https://github.com/denisenkom/go-mssqldb/pull/457/files#diff-061bebb535545742abf620f6ae549e8939afa666e3f1f9c57ce3b072d3120fed
Смысл в том, что всё происходит через спец-команду в качестве Prepare'ов, а затем происходит Commit
1млн строк за 15 секунд
Alexander
ну это удобнее, чем дуру полукилометровую готовить. да и в базу ее передавать
Alexander
там нет транзакции случайно под капотом? именно гошной, не на уровне бд
Alexander
ну то бишь нет ли просто скрытого механизма, который стартует транзакцию и в ней уже стейтмент препейрит
Alexander
хм, нативная фигня
Alexander
но мне до сих пор люто не нравится лимит в 2100 параметров для стейтментов
Patamen
Patamen
Patamen
Сейчас затестил 31 столбец на лям строк
1 минута
Alexander
напиши issues. я бы сам написал, но мне не повторить экспириенс
Максим
Добрый день, начал учить go. Никак не могу понять, зачем в некоторых примерах при объявлении переменной для структурой используют следующую запись:
h := &Human{Name: "Bob"}
Зачем нам тут узнавать адрес, в котором лежит структура. Мы же даже ничего в ней менять не будем. Или я что-то упустил, когда указатели проходил?
G
Alexander
1. Чтобы передавать указатель и не копировать.
2. Чтобы передавать куда-то по интерфейсу
Alexander
возможно просто привычка автора ни чем не обоснованная
Максим
Спасибо
Максим
Теперь дальше смогу учить, а то намучился с этой проблемой )
Alexander
главное ошибки проверяй ;))
Илья
модуль?
и ещё: используй decimal
Илья
пожалуйста, телепатически объяснил
Не ну это
Ron Mount
да просто статистику ловят
Илья
в decimal Mod()
Pushok
Кто уже мастер в дженериках, почему ругается?
func RemoveElement[T []int | []string](s T, i int) T {
s[i] = s[len(s)-1]
return s[:len(s)-1]
}
Igor
import "fmt"
func main() {
a := []int{1,2,3,4,5}
fmt.Println(RemoveElement(a , 2))
}
func RemoveElement[T int | string](s []T, i int) []T {
s[i] = s[len(s)-1]
return s[:len(s)-1]
}
Pushok
Tony
Немного непонятно... Как сделать, чтобы удобно было пользовать в дальнейшем?
Возвращаю из REST API
- На запрос клиента за данными - структуру какой-то сущности
- При ошибке структуру { Result: false, message: er.Error() }
- При выполнении удаления или обновления структуру { Result: true, message: "...как всё хорошо прошло..." }
Вопрос: При обработке результата на клиенте, во 2 и 3 пунктах планирую проверять на Result, а как быть в первом... Добавлять к структуре в JSON поле Result или проверять на его наличие и при отсутствии уже парсить как структуру?
Константин
Доброе утро. Коллеги кто нибудь делал Cloud Function в Яндекс облаке которая через Gateway API работает? Может кто подсказать как выцепить в коде функции передаваемый из API параметры?
Sergey
Tony
Sergey
А как быть при случае 1?
сейчас так:
json, err := json.Marshal(u) //u - заполненная структура
//Возвращаю полученный из структуры JSON объект
w.WriteHeader(200)
w.Write(json)
Тогда мне надо как-то в json добавить еще структуру { Result: true, message: "...как всё хорошо прошло..." }
Не совсем понял вопрос. Как сделать так чтобы в result можно было положить разные структуры, в этом проблема? Для этого поле должно быть типа json.RawMessage. Сначала маршалится результат отдельно (структура, массив, инт, бул, что угодно), присваивается к result, и потом уже маршалится целиком json, который вы кладете в WriteHeader
Tony
Tony
Не совсем понял вопрос. Как сделать так чтобы в result можно было положить разные структуры, в этом проблема? Для этого поле должно быть типа json.RawMessage. Сначала маршалится результат отдельно (структура, массив, инт, бул, что угодно), присваивается к result, и потом уже маршалится целиком json, который вы кладете в WriteHeader
Я так понимаю, что нужно сделать структуру
type Response struct {
Result bool json:"result"
Message string json:"msg"
Body json.RawMessage json: "body, omitempty"
}
И уже перед маршилингом этой структуры пихать в её поле Body отмаршалинную структуру самих данных?
Sergey
Про использование rawMessage - все так, да. Я просто думал что вам для ответа апдейта/удаления хочется положить message и result внутрь body
Sir
Здравствуйте, наверно странный вопрос
Но, что поучить(библиотеки например) до того как начать учить rest api golang
Grigorij
ос, бд, сети
Vladislav
Anonymous
{
"checksum": "ea72f3e2f4df4ccdfb3783485ad9bdfa",
"roots": {
"bookmark_bar": {
"children": [ {
"name" : "choto"
}, {
"name" : "choto2"
} ],
Anonymous
Anonymous
children
Anonymous
не хочет указываться
Илья
Anonymous
Emin Zalaev
Илья
Anonymous
Anonymous
Juliana
Влад
Sergey
достаточно в goland просто попытаться вставить в go-файл json и IDE предложит сгенерировать структуру для вставляемого json
Anonymous
Допустим есть большой текст,мне нужно посчитать сколько в нем слова "name". Ну т.е может быть их 10-15 и тд,как мне это сделать?
Не ну это
Какой нибудь instr или регуляр очка
Не ну это
Anonymous
Константин
Условно текст это массив байтов просто сдвигать начало этого массива. И сравнивать.
Илья
Илья
можно bufio.ScanWords