Andrei 🦉
относительные импорты - зло
Maksim (Ellrion)
скорее всего линтер именно на это и ругается. один и тот же пакет подключается под разными именами
"../logger" (https://github.com/ircop/pinger/blob/d9fe714d72f596deada68fa0132c69227ee772e4/pinger/pinger.go#L5) и "./logger"
используйте общепринятый полный путь
Maksim (Ellrion)
просто даже если юзать относительные то хотябы "<имя_корневой_директори>/logger" а не так как у вас
Wingman
понял, спасибо
Nurzhan
понял, спасибо
Кстати, можно использовать gb в качестве сборщика, по мне, это удобно
https://getgb.io/
Wingman
спасибо, изучу)
Wingman
Nurzhan
да не за что)
Fastumkruk
🏁Александр
{{range $page := .Pages}}
<li class="page-item"><a class="page-link" href="?page={{$page}}">{{$page}}</a></li>
{{end}}
неет хелп, что-то он матерится на range can't iterate over
Pages []int
heavycharged
зачем тебе $page
🏁Александр
да я пытаюсь пагинацию отрендерить
🏁Александр
цикла фор в шаблонах нету
🏁Александр
извращения пошли 🙂
heavycharged
просто делай
{{range .Pages}}
{{.}}
{{end}}
heavycharged
точка это элемент из слайса Pages твоего
heavycharged
советую написать свой пагинатор, и шаблон под него. я тоже с пагинатором намучился
🏁Александр
не, такая же хурма
🏁Александр
не дает ходить по слайсу
heavycharged
все дает
heavycharged
просто ты не так делаешь что-то
heavycharged
https://i.imgur.com/9pAV7eh.png
heavycharged
я вот так делал
heavycharged
и подключал в нужное мне место этот пагинатор, передавая в него максимальное количество элементов, текущую страницу, количество результатов на странице
🏁Александр
.Links какой тип имеет?
heavycharged
Links это []Page, там есть N - это int, и URL - страница, Active - bool, если текущая
heavycharged
https://play.golang.org/p/aRMWeLoMgJx
heavycharged
вот, он итерирует спокойно
heavycharged
.Pages у тебя может быть не .Pages, а контекст сместился
heavycharged
если ты в шаблон передал
🏁Александр
да работает
Nurzhan
recoilme
Всем привет!
Написал аналог bolt.db: https://github.com/recoilme/slowpoke/
Это key/value база данных (может работать и как встраиваемое хранилище или как рест http сервер)
Внутри никакой магии и более удобное апи. Ключевая особенность - комбинирование хранения. Ключи хранятся в памяти (как в мемкэшед), а значения в файлах. Есть иттераторы, булкинсерт, паджинация и простые индексы.
Очень простое и гибкое апи. Посмотрите, пожалуйста. Может быть есть какие то замечания/пожелания по коду или апи. Я не так давно в go. Спасибо!
Chebyrash
Chebyrash
recoilme
Ох, спасибо парни
Anonymous
recoilme
Ну в названии вся боль сосредоточена. Болт неплохо показывал себя на синтетических тестах, но с ростом базы - а) стал насиловать винт на 100% б) - стал нещадно тормозить. Скорость не была целью, целью было предсказуемое поведение с ростом базы. Ну и по скорости в итоге слоупоке не уступил болту, а где то даже и быстрее на порядки. Хотя это не было целью
Sergey
Есть какой нибудь способ при использовании squirrel при получении больше одной строки перегнать их все в срез без цикла и rows.Next()?
Sergey
Или такой способ единственный?
for rows.Next() {
str := ""
err = rows.Scan(&str)
if err != nil {
log.Println(err)
continue
}
result = append(result, &str)
}
Andrei 🦉
Можешь в суслике просто генерить запрос, а исполняьь его через sqlx, он тебе даст возможность мапить в слайсы и структуры
Andrei 🦉
Но под капотом там будет рефлексия со всеми вытекающими
Anonymous
как узнать разрядность системы если сам процесс всегда 32бит?
Anonymous
может просто чекать наличие папки Program Files (x86)?
Anonymous
🤔🤔🤔
иьг71
https://golang.org/pkg/runtime/internal/sys/#GOARCH
там нету случайно?
Anonymous
Michael
Dmitry
Anonymous
Anonymous
Anonymous
я компилирую его для 32бит
Anonymous
запускаю в системе 64 бит
Anonymous
Nurzhan
Попробуй
os.Getenv("PROCESSOR_ARCHITEW6432")
Dmitry
что оттуда нужно?
а как ты билдишь под x86? я пытаюсь сбилдить под x86, но вывод env выдаёт x64
Anonymous
Anonymous
но если проект с CGO то так чет не работает
Anonymous
у меня на компе обе версии го
под 64 и 32
Nurzhan
Nikita
Anonymous
Anonymous
нет
Глянь-ка сюда, может то, что нужно
https://github.com/matishsiao/goInfo
Anonymous
Васильев Виктор
А почему нет структуры базы а только глобальные функции? Плюс можно было бы привести к интерфейсу общему и иметь мок для тестирования, а также избавится от зависимостей. В го мощнейшие интерфейсы а ты их выкинул в окно и позволяешь работать только с тем что прибил гвоздями
Васильев Виктор
Всем привет!
Написал аналог bolt.db: https://github.com/recoilme/slowpoke/
Это key/value база данных (может работать и как встраиваемое хранилище или как рест http сервер)
Внутри никакой магии и более удобное апи. Ключевая особенность - комбинирование хранения. Ключи хранятся в памяти (как в мемкэшед), а значения в файлах. Есть иттераторы, булкинсерт, паджинация и простые индексы.
Очень простое и гибкое апи. Посмотрите, пожалуйста. Может быть есть какие то замечания/пожелания по коду или апи. Я не так давно в go. Спасибо!
Alexander
Васильев Виктор
Это я неправильно сделал форвард вместо ответа. Присморись :)
recoilme
Васильев Виктор
@recoilme Плюс у тебя синхронная запись которая умрет при многопоточном подходе с частыми записями
Васильев Виктор
Можно бить на чанки и потом их сращивать
Васильев Виктор
а про интерфейсы я к тому что вдруг я захочу иметь in memory базу?