.
.
Это API'шник, который я хочу раздробить ради удобства (сложно ориентироваться в тысячах строк кода в одном файле). Каждый компонент - набор вызовов(пользователи, друзья, и т.д.). Все эти вызовы используют несколько функций, которые я думаю запихнуть отдельный файл и импортировать в каждый компонент. Нормальная ли такая структура?
Anonymous
UML диграма так себе. Кстати есть на го какие то MVVP/MVVM паттерны ?
Anonymous
Видел utron и revel но что они не впечатлили
Anonymous
Илья
Anonymous
Да, легковестный фреймворк, который не несет ничего лишнего, только задает структуру и интерфейсы
Andrei 🦉
Anonymous
Anonymous
На фронтенде к слову сейчас используют redux и mobx, а саги пришли с бэкенда. Вы не в теме
MOS2502
Товарищи! Подскажите, каким еще образом можно представить алгоритм обработки среза, задача такая: пока числа идут последовательно - показываем массив, если число отличается от предыдущего более чем на 1 выдаем отдельно это число, пример здесь: https://play.golang.org/p/Bhswz8F_rl4
Pawel
например сама идея контроллеров - она не очень. что конкретно в рубях доказывает Синатра, на которой всё проще, чем на rails
Andrei 🦉
Alexander
Pawel
Alexander
Васильев Виктор
Это почти как питон)
Васильев Виктор
Задача как бы простая. Тут внутреннее
Васильев Виктор
не нужно
Васильев Виктор
просто проходишь по массиву и смотришь и возвращаешь число если находишь если дошло до конца перебора возвращаешь массив
Pawel
Вообще если уж хотеть годный web фреймворк, который бы действительно решал проблемы, это хотеть GWT. Сомневаюсь, что что-то подобное когда нибудь появится на Го.
Anonymous
Серьезно?) вообще то это пошло из C++ и книги “Банды четырех»
Andrey
Праздный вопрос, что быстрее
a.foo = newSlice
или
b.bar = &newSlice
(будет ли копироваться слайс, если присваивать не по ссылке)
в этом примере
https://play.golang.org/p/GMv7E5--3X8
Илья
он не будет копироваться в обоих случаях
Alexander
Слайс - это структура из размера и указателя на массив с данными. И даже при простом копировании по значению сами данные не копируются, так то разница если и есть, то минимальная.
Илья
во втором случае придётся еще пойнтер создать
Andrey
Илья
Alexander
👍
Andrey
Да, вопрос про данные. Но дополнение про структуру слайса очень кстати. Теперь стало намного понятнее.
Andrey
Еще раз спасибо!
Andrey
The run-time data structure holding the pointer, length, and capacity
Alexander
https://github.com/golang/go/blob/master/src/runtime/slice.go#L11 :)
Alexander
Ребят, привет! Кто-нибудь может пояснить за контекст?
На авторизации беру jwt-токен, из него беру структуру пользователя и пробрасываю в контекст context.WithValue(r.Context(), "curUser", claims.User).
Затем, в другом пакадже, беру контекст по строковому ключу "curUser", привожу тип r.Context().Value("curUser").(models.User) и всё зашибись.
Но golint ругается, что нельзя использовать базовый тип для ключа.
Я правильно понимаю, что это мне предлагается таскать по всем пакаджам кастомный тип для ключа контекста? Аля type contextKey string? Зачем это?
Забить можно? :)
Илья
стоит завести, чтобы случайно не перетереть
Alexander
Slava
Ребят, привет! Кто-нибудь может пояснить за контекст?
На авторизации беру jwt-токен, из него беру структуру пользователя и пробрасываю в контекст context.WithValue(r.Context(), "curUser", claims.User).
Затем, в другом пакадже, беру контекст по строковому ключу "curUser", привожу тип r.Context().Value("curUser").(models.User) и всё зашибись.
Но golint ругается, что нельзя использовать базовый тип для ключа.
Я правильно понимаю, что это мне предлагается таскать по всем пакаджам кастомный тип для ключа контекста? Аля type contextKey string? Зачем это?
Забить можно? :)
Лучше не ключ таскать, а дать метод, в который ты отдаешь контекст, а на выходе юзера имеешь. Внутри по кастомному non public типу работаешь.
Alexander
heavycharged
там как раз не экспортируемый тип есть, вот собственно код: https://blog.golang.org/context/userip/userip.go
heavycharged
и сама статья https://blog.golang.org/context
Alexander
Pawel
А есть библиотека чтобы в ней декларативно задать html-разметку, закешировать и отрендерить в http response?
Pawel
по типу как в jsx
Anonymous
Либу для p2p ктонить встречал?
Nikita
hypnopumpia
Либу для p2p ктонить встречал?
почему бы не спросить гугл перед тем как задавать вопрос в чате?
https://www.google.com/search?channel=fs&q=golang+p2p&ie=utf-8&oe=utf-8
Aleksey
Есть использовавшие/писавшие One Wire библиотеку?
Anonymous
heavycharged
это лохчейн, многое объясняет
🎉
Это пипец какой-то, оказалось если объявить глобальную
var db *sql.DB
и проинициализировать её, в надежде что одно соединение будет работать постоянно и нет нужды переподключаться, никуа не работает такой способ. Или я где-то туплю?
heavycharged
https://play.golang.org/p/BZGYg6SLDnk
heavycharged
почему вариативная функция не видит юзера John?
Alfred
как прочитать только первую линию из файла?
heavycharged
https://play.golang.org/p/BZGYg6SLDnk
частично понял, что Join это метод у User, и первый элемент слайса уходит в User (можно проверить, если сделать u User, и затем записать в лог. Но что-то я не натыкался на такое поведение прежде. Может где есть описание почему так происходит?
Andrey
🎉
Andrey
1. Показать код
2. Показать ошибку
🎉
Теоретически понимаю, что должно быть одно подключение, а практически оно только вначале и потом всё.
🎉
Andrey
db.close() есть в коде?
Andrey
Максимальное кол-во подключений поставил?
🎉
db.close() есть в коде?
func init() {
db, err := InitDB("./book.db")
if err != nil {
log.Fatal(err)
}
defer db.Close()
}
Andrey
Лол
🎉
🎉
Лол
Было по другому, в другом месте.))
Andrey