Daniel
Olzhas
Pawel
AddDate
Aleksandr
Pavel
и по мере использоания новых дат просто добавляй их в switch
Aleksandr
Илья
Pavel
и проблем с 2018.01.31 не будет
Pavel
вернешь оттуда что надо
Fastumkruk
Pavel
добавляя новый кейс
Pawel
блин, ну я ж написал - AddDate мог бы и сам дальше загуглить https://golang.org/pkg/time/#Time.AddDate
Aleksandr
потому что судя по всему именно по твоей прорблеме статья на хабре была)
Aleksandr
пару дней назад
Pavel
Pawel
ааа....
Pavel
ааа....
и в яндексе со спутником -- тоже
Daniel
https://play.golang.org/p/NF1VY3qFCmN
Pavel
ну а вообще классика -- нет понимания как сделать решение, потому что нет понимания задачи 🙂
Pavel
был бы юнит тест с корректным входом/выходом -- давно б функцию написал без вопросов и мазы про гугл
Pavel
корректным = по спецификации
Илья
сеньоры тут собрались, или нет
Илья
:)
Pavel
тут одни архитекторы
Alexander
😁 сеньор-тим-лид-архитекча. нам код писать не с руки
Илья
ну тогда ладно :D
Fastumkruk
Всем спасибо)
Pawel
Roman
Roman
Pawel
Хочу научится пользоваться reform. Она умеет в one-to-many, как то не понятно из доков?
саша
Это прошло сразу после того, как программирование перестало ограничиваться олимпиадные и задачами и домашними заданиями.
Aleksandr
коллеги, всю неделю читаю как вы пытаетесь продоминировать друг над другом в попытках поговорить на тему программирования. Серьезно. Давайте вот сейчас до понедельника это закончим, и перейдем к лайт-режиму.
Roman
вернее:
Software engineering is what happens to programming
when you add time and other programmers.
Pawel
Я тупой. Расскажите мне как сделать в голанге type safe code first orm c простым one-to-many
Daniel
Максим
Есть такая функция, как переписать её, что бы была тестируемой?
func CreateFileIfNotExists(fileDir string, fileName string, fileData interface{}) {
_, err := os.Stat(fileName)
if os.IsNotExist(err) {
os.MkdirAll(fileDir, os.ModePerm)
file, _ := os.Create(fileName)
defer file.Close()
emptyConfigBytes, _ := json.Marshal(fileData)
file.Write(emptyConfigBytes)
logger.GetLogger().Fatal("Fill the file ", fileName)
}
}
Andrei 🦉
Есть такая функция, как переписать её, что бы была тестируемой?
func CreateFileIfNotExists(fileDir string, fileName string, fileData interface{}) {
_, err := os.Stat(fileName)
if os.IsNotExist(err) {
os.MkdirAll(fileDir, os.ModePerm)
file, _ := os.Create(fileName)
defer file.Close()
emptyConfigBytes, _ := json.Marshal(fileData)
file.Write(emptyConfigBytes)
logger.GetLogger().Fatal("Fill the file ", fileName)
}
}
не падать с паникой, а возвращать ошибку? остальные параметры у вас и так конфигурируемы
Roman
Aleksandr
логгер выпилить
Aleksandr
это прикладная функция - должна вернуть ошибку. а логгировать должен консьюмер функции
Daniel
и вернуть статус alreadyExists/created, и ошибку
Илья
Есть такая функция, как переписать её, что бы была тестируемой?
func CreateFileIfNotExists(fileDir string, fileName string, fileData interface{}) {
_, err := os.Stat(fileName)
if os.IsNotExist(err) {
os.MkdirAll(fileDir, os.ModePerm)
file, _ := os.Create(fileName)
defer file.Close()
emptyConfigBytes, _ := json.Marshal(fileData)
file.Write(emptyConfigBytes)
logger.GetLogger().Fatal("Fill the file ", fileName)
}
}
я бы начала с того, что обработал бы ошибки
Илья
хотя бы
Илья
какие-то
Aleksandr
ну и кажется, если ты заполняешь файл данными то создаешь ты не файл, а конфиг. CreateConfigIfNotExists
Aleksandr
ну или что там у тебя в json...
🏁Александр
ну ясно же написано
🏁Александр
переопределено в этом же блоке
🏁Александр
скорее всего константы два раза обьявляются в одном пакете (вангую что в основном файле такие же дубли)
🏁Александр
поиском проверь ERROR_FILE_NOT_FOUND
Aleksandr
Daniel
выглядит как бага в стандартной либе
Daniel
какой версии go?
andrew
$ go version
go version go1.10.3 linux/amd64
🏁Александр
вдруг переопределили 🙂
Daniel
не
andrew
ща 1.11 поставлю
Daniel
в стандартной я на это не натыкался, а в пионерских либах постоянно
Aleksandr
в 1.11 нет ztypes_windows
Aleksandr
может ты обновил го поверх?
Daniel
два файла, один .go, второй _windows.go, и во втором определены те же константы[
а // +build !windows первому сказать забыли
Daniel
Aleksandr
/usr/local/go/src/syscall/ztypes_windows.go
у меня нет такого файла
andrew
точнее старую не удалял
Daniel
вот надо удалить
andrew
так, а что удалять? папку в /usr/local или командой какой?
Илья