Илья
В go нет наследования
Alexander
и DeletedAt тоже делает, если прописывать его так же, как в gorm.Model
Alexander
https://github.com/jinzhu/gorm/blob/master/callback_create.go#L32
Alexander
там все достаточно примитивно делается
MXLTN
if createdAtField.IsBlank {
createdAtField.Set(now)
}
MXLTN
что такое IsBlank для time.Time ?
MXLTN
{"error":"Error saving the winner: Error 1292: Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1"}
Alexander
IsBlank = time.Time{}.IsZero()
MXLTN
вот что у меня получается после того как я не трогаю CreatedAt и пытаюсь сохранить его через Save
Alexander
а как CreatedAt описан?
MXLTN
скопирован с Model
MXLTN
CreatedAt time.Time jsonapi:""
MXLTN
CreatedAt time.Time \`jsonapi:""\`
Alexander
че-то магия)
Chebyrash
MXLTN
че-то магия)
у меня сериализируется модель в которой CreatedAt из json, но в нем вообще нет createAt аттрибута, те по умолчанию он должен иметь значения Zero после сериализации, и IsEmpty gorm'а должен сработать
Anonymous
MXLTN
IsBlank*
Anonymous
Я пишу на шарпах и го, а они на паскале
Chebyrash
Учи Computer Science / Информатику
Alexander
Chebyrash
Anonymous
Anonymous
Мне лень (
Artem
Ну ладно, инфа у меня не слабая)
А вот матан да
вот кстати даже я не уверен нафига матан программисту в чистом виде, в моем понимание простому прогеру достаточно вот этой математики. И ее можно быстро (относительно) подтянуть https://stepik.org/course/83/syllabus
Матан это скорее в ресерче нужно
MXLTN
Anonymous
Chebyrash
Anonymous
А там тригонометрия и прочая дичь
MXLTN
кстати кто пользуется каким jsonapi пакетом? я сейчас юзаю "github.com/google/jsonapi" но у него проблема с сериализацией вложеной структуры как attr
Artem
Смотря какой программист.
теория множеств -это по сути понимание оценки сложности. Графы и Деревья, как и вероятсностные методы, хть и не всем нужны, но задачи встречаются всем (пусть редко). без этих знаний решить невозможно. Хотя бы обзорно, чтобы узнать задачу они нужны.
Но ок, на самом деле тут все правы, спорить смысла нет, у всех свой опыт и всех все устраивает, пусть будет не всем. По сути всем даже ходить на двух ногах не нужно и видеть достаточно одним глазом.
MXLTN
приходится все в relation кидать, а это немного долго обрабатывать на фронте
MXLTN
Chebyrash
Artem
Спасибо, но как раз у меня с математикой проблем нет, у нее со мной - иногда, но это уже её проблемы )
Chebyrash
Alexander
🏁Александр
цените, это достаточно гениально? https://play.golang.org/p/dIc1Tdyjr3T 🙂
🏁Александр
мне просто интересно услышать отзывы о такой система организации запросов
Karey
Почему нет, только лучше вынести создание http клиента куда-нибудь в NewService() например
MXLTN
MXLTN
Aleksey
Маршалить и анмаршалить большие данные структуры можно сразу в райтеры и из ридеров, без выделения излишне памяти https://golang.org/pkg/encoding/json/#NewDecoder и https://golang.org/pkg/encoding/json/#NewEncoder
Aleksey
🏁Александр
Aleksey
🏁Александр
я все еще не совсем в гоустиле пишу
🏁Александр
вот и заносит иногда не туда, решил поделиться ради обсуждения
Aleksey
Anonymous
Зачем вообще бегать, когда можно это сделать lazy
Denis
Aleksey
Aleksey
Aleksey
Denis
Denis
Aleksey
Sergey
Привет, гогеры !
Aleksandr
Гогеры
Sergey
Народ, дали тестовый таск в компании.
За меня кодить не прошу
Если кто-то с подобным сталкивался буду рад любому совету/либе/посту и т.п.
могу прикрепить файл с данными, если кто-то откликнется, но это уже в личке !
Дано расписание переездов поездов между несколькими станциями в формате “номер поезда;станция отправления;станция прибытия;стоимость;время отправления;время прибытия” (гарантированно, что нет переездов дольше суток).
Необходимо получить “лучшие” варианты (несколько, если это возможно) проезда с пересадками между всеми станциями. Какие варианты “лучшие” — нужно выбрать некий критерий.
Спасибо !
Daniel
Полный перебор как он есть
Oleh
может можно какую то графовую бд испозовать
https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B1%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
Sergey
Заур
Не знаю как заработает. Строишь ориентированный граф с весами по нашему критерию (стоимость проезда или время), причем вершинами графа будут не просто станции, а станции в конкретное время, когда прибывает хоть один поезд и когда убывает хоть один поезд. И между ними тоже должно быть ориентированное ребро (стоимость ожидания на станции). И находишь через Дейкстри минимальные пути между вершинами. У тебя получится, что ты найдешь группу минимальных путей между двумя станциями. Выбираешь среди них минимальное
Заур
А потом можно искать существование равных минимальных путей таким образом. Пусть у тебя А ,B, C,D вершины, минимальная стоимость между А и D 10, мы хотим найти пути с этой стоимостью. Мы идём из A в B, но там пусть уже стоимость 11, поэтому мы забиваем и не продолжаем поиски. Смотрим из A в С, там стоимость 3, а из C в D, стоимость 7. О мы нашли один путь
Sergey
А потом можно искать существование равных минимальных путей таким образом. Пусть у тебя А ,B, C,D вершины, минимальная стоимость между А и D 10, мы хотим найти пути с этой стоимостью. Мы идём из A в B, но там пусть уже стоимость 11, поэтому мы забиваем и не продолжаем поиски. Смотрим из A в С, там стоимость 3, а из C в D, стоимость 7. О мы нашли один путь
Спасибо огромное ! )
Заур
Но это не факт что правильно всё 😂
heavycharged
а в Goland можно как-то тесты сгенерировать для функций?
heavycharged
вроде кто-то писал vscode так умеет, думаю и Goland должен
Slava
А кто-нибудь пользовался MyRocks ?