Daniel
в go не отключается padding
Антон
в go не отключается padding
понял. Большое спасибо
Daniel
но соответствующий байтовый массив можно, конечно, собрать из полей
Dmitry
холиварный вопрос; gogland или все таки vsc? (windows)
Daniel
vcs, но аргументов нет
Антон
но соответствующий байтовый массив можно, конечно, собрать из полей
да, но если я правильно понимаю, для каждой архитектуры нужен свой сборщик такой структуры?
Alexander
Да есть такая кнопка. Я же написал выше. Конкретно в Goland генерация кода вызывается ⌥⌘G
а вы не могли бы подсказать как это непосредственно с proto сделать? я чё-то потыкался и не нашёл
Daniel
если в структуре нет типов, размер которых зависит от архитектуры (int) - она везде будет одинаковая. а, еще low-big endian
Constantine️
яндекс касса
Антон
если в структуре нет типов, размер которых зависит от архитектуры (int) - она везде будет одинаковая. а, еще low-big endian
читаю - щас многие процы могут и так и так работать. И конкретный режим может зависеть даже от того с какими параметрами запущена ОС
Антон
нда https://groups.google.com/forum/#!topic/golang-nuts/3GEzwKfRRQw
Максим
а вы не могли бы подсказать как это непосредственно с proto сделать? я чё-то потыкался и не нашёл
Пишите комментарий в коде вида //go:generate и то команду, что вы используете для генерации из Porto файлов. Не помню точно но вроде protoc и какие-то опции.
Максим
После этого в GoLand даже появится кнопка запуска этого «комментария». Ну и хоткей
Alexander
Пишите комментарий в коде вида //go:generate и то команду, что вы используете для генерации из Porto файлов. Не помню точно но вроде protoc и какие-то опции.
хм вроде нашёл как это сделать... теперь осталось понять может ли он компилить файлы из другого проекта, да и как этот protoc подключить.. но в любом случае спасибо
Pawel
Как проще архитектурно разрулить - гошный код вызывает DLL, в которой есть свой event loop, на который надо реагировать из гошного кода? сейчас я использую именованный пайп канал, из которого гошный код постоянно считывает присылаемые ему сообщения. Но не уверен что это правильно
Pawel
грубо говоря надо как то передать в DLL нечто эквивалентное каналу Го или то, что содержит канал Го под капотом
Anonymous
Подскажите плз. Есть код, который по идее должен менять переменную. Но изменения не происходит. Как поправить? https://play.golang.org/p/eE7fPQjcIYB
Михаил Ерёмин
func(a *string) { *a = "123" }(&b)
Andrei 🦉
https://play.golang.org/p/xsdQyTdtx15
Anonymous
нет, интерфейс менять не надо
Михаил Ерёмин
тогда рефлекты)
Anonymous
тогда рефлекты)
можно пример?
Andrei 🦉
тогда явное приведение типа к *string
Anonymous
сек
Yura
грубо говоря надо как то передать в DLL нечто эквивалентное каналу Го или то, что содержит канал Го под капотом
Через пайп, как ты сделал, или socketpair (не помню, есть ли он в винде). По другому дружить с внешним eventloop будет геморно.
Pawel
нет, интерфейс менять не надо
https://play.golang.org/p/z0geUCEcuxP
Anonymous
https://play.golang.org/p/z0geUCEcuxP
огонь, спасибо
Pawel
А что за dll, если не секрет?
а програмулина, написанная на UWP
Илья
Подскажите плз. Есть код, который по идее должен менять переменную. Но изменения не происходит. Как поправить? https://play.golang.org/p/eE7fPQjcIYB
расшифрую то, что у тебя написано - ты создал новую переменную a типа interface{} положил туда указатель на string, потом присвоил новой переменной "123", так что без доступа к underlying значению это не заработает
Anonymous
расшифрую то, что у тебя написано - ты создал новую переменную a типа interface{} положил туда указатель на string, потом присвоил новой переменной "123", так что без доступа к underlying значению это не заработает
проблема у меня возникла из-за того, что ранее там было не присвоение, а json.Unmarshal. затем я убрал Unmarshal и сделал присвоение. Только я не учел, что Unmarshal работает через рефлект.
Pawel
Unmarshal тут не при чём. Прежде чем использовать значение, запакованное в interface{}, его следует преобразовать к исходному типу, вот и всё
🏁Александр
ппц
🏁Александр
гоу свагер такие имена длианные генерирует
🏁Александр
я уже запутался
🏁Александр
GetClientsClientIDOKBodyAllOf1DataItems O_o
🏁Александр
а можно как то сократить это безобразие?
Sebor▂▅▇█▓▒░
Он разве не из кода их берет?
🏁Александр
у меня код из yaml генерируется
🏁Александр
а там как я понял в 2.0 нет поддержи имен для моделей
🏁Александр
или я не прав?
V
definitions?
🏁Александр
не совсем понял
Grigoriy
Всем привет! Держать 4GB кэша в sync.Map - это нормально или уже пора в redis?
Anonymous
Можно и тб держать )
Grigoriy
Норма
Спасибо! А то уже появились некоторые сомнения :)
Andrei 🦉
Всем привет! Держать 4GB кэша в sync.Map - это нормально или уже пора в redis?
почему сразу редис, можно посмотреть в сторону библиотек типа freecache и аналогов
Grigoriy
почему сразу редис, можно посмотреть в сторону библиотек типа freecache и аналогов
Смотрел на пару библиотек для кэширования, под капотом там были мапы с данными и мьютексы. Насколько понимаю, sync.Map занимается примерно этим же, так что выигрыша не увидел. Возможно, ввиду недостатка опыта. То есть действительно имеет смысл?
Anonymous
для кэша лучше в сторону offheap смотреть
Andrei 🦉
Смотрел на пару библиотек для кэширования, под капотом там были мапы с данными и мьютексы. Насколько понимаю, sync.Map занимается примерно этим же, так что выигрыша не увидел. Возможно, ввиду недостатка опыта. То есть действительно имеет смысл?
библиотеки для кэширования могут быть устроены очень по разному, в частности freecache - это мапа на 256 ключей, у каждого из которых свой отдельный мьютекс, а в значениях лежит кольцевой буфер, если я правильно помню
Grigoriy
Буду изучать, спасибо!
Alex
#вакансия в #офис #fulltime от @a_migalnikov #Москва, м. Бауманская Открыта вакансия Golang разработчика (middle/senior) в проект, связанный с высоконагруженной разработкой в области онлайн видео ⏯. Работать предстоит над сервисами по хранению и доставке видео контента и другими продуктами компании. Зарплата: От 160 до 200 тыс. руб. NET по результатам собеседования. Необходимые навыки: • Опыт разработки от 3-х лет • Уверенные знания Golang • Опыт написания автоматических тестов • Опыт работы с PostgreSQL Приветствуется: • Опыт системного программирования • Опыт работы с MongoDB и Redis • RabbitMQ (или другая система очередей) • Опыт проектирования приложений микросервисной архитектуры • Опыт работы с Docker • Общее понимание работы с Kubernetes - Знакомство с разработкой ПО на разных ОС Условия: • Работа в сильной команде единомышленников • Адекватное руководство, отсутствие бюрократии • Большие возможности для профессионального роста • Фултайм в офисе с 11 до 20 • Современный офис в 5 минутах от метро Бауманская • Большое число заведений вокруг с разнообразными обедами О компании: Integros - компания, сфокусированная на разработке продуктов для онлайн видео. Ежедневно через сервисы наших клиентов просматривается более 30 млн видео 🚀 по всему миру. Основной рынок на данный момент - Европа. У нас сильная небольшая команда (10 человек, есть очень толковые ребята из Яндекса и Mail.Ru), работаем 4 года. Регулярно выступаем на профильных IT-конференциях, таких как Highload++, Web Summit, IBC, ruBSD и Railsclub. Обратная связь: Если вас заинтересовала вакансия, отправьте резюме на почту andrey@integros.com или в телеграм @a_migalnikov https://integros.com/jobs/golang.html
Artem
#вакансия в #офис #fulltime от @a_migalnikov #Москва, м. Бауманская Открыта вакансия Golang разработчика (middle/senior) в проект, связанный с высоконагруженной разработкой в области онлайн видео ⏯. Работать предстоит над сервисами по хранению и доставке видео контента и другими продуктами компании. Зарплата: От 160 до 200 тыс. руб. NET по результатам собеседования. Необходимые навыки: • Опыт разработки от 3-х лет • Уверенные знания Golang • Опыт написания автоматических тестов • Опыт работы с PostgreSQL Приветствуется: • Опыт системного программирования • Опыт работы с MongoDB и Redis • RabbitMQ (или другая система очередей) • Опыт проектирования приложений микросервисной архитектуры • Опыт работы с Docker • Общее понимание работы с Kubernetes - Знакомство с разработкой ПО на разных ОС Условия: • Работа в сильной команде единомышленников • Адекватное руководство, отсутствие бюрократии • Большие возможности для профессионального роста • Фултайм в офисе с 11 до 20 • Современный офис в 5 минутах от метро Бауманская • Большое число заведений вокруг с разнообразными обедами О компании: Integros - компания, сфокусированная на разработке продуктов для онлайн видео. Ежедневно через сервисы наших клиентов просматривается более 30 млн видео 🚀 по всему миру. Основной рынок на данный момент - Европа. У нас сильная небольшая команда (10 человек, есть очень толковые ребята из Яндекса и Mail.Ru), работаем 4 года. Регулярно выступаем на профильных IT-конференциях, таких как Highload++, Web Summit, IBC, ruBSD и Railsclub. Обратная связь: Если вас заинтересовала вакансия, отправьте резюме на почту andrey@integros.com или в телеграм @a_migalnikov https://integros.com/jobs/golang.html
https://t.me/golangjob
Alex
Спасибо
Eldar
привет, подскажите, почему первый селект возврашает запись, а второй - нет? два одинаковых запроса, один инстанс
Anonymous
ну магии быть не может
Anonymous
либо селекты разные, либо сервера, либо запись пропадает
Eldar
нет, нет, нет)
Vladislav
нет, нет, нет)
Ну код показывайте тогда.
Eldar
func (db *DB) GetChatSubscribes(chatId uint) []SubscribeUserModel { result := []SubscribeUserModel{} subscribes := []models.ChatSubscribe{} db.Instance. Where("chat_id = ?", chatId). Find(&subscribes) fmt.Println("chatId: ", chatId, " subscribes: ", subscribes) // TODO for _, item := range subscribes { result = append(result, SubscribeUserModel{ UserId: item.UserId, SubscribeId: item.ID, UserType: item.UserType, }) } return result }
Eldar
gorm
Constantine️
reform
Constantine️
sqlx
Eldar
драйвер mysql
Eldar
всем спасибо, была проблема с транзакцией выше…
Zver
Кто-нибудь github.com/cznic/ql пользовался. Что он за файлы создает с длинными именами помимо самой базы и как от этого избавится? Вот такого вида .568427591de0a1f654643cf954ce614e9d8e8465de
Anonymous
Кто-нибудь github.com/cznic/ql пользовался. Что он за файлы создает с длинными именами помимо самой базы и как от этого избавится? Вот такого вида .568427591de0a1f654643cf954ce614e9d8e8465de
Странный вопрос. Аналог: Кто-нибудь пользовался виндой? Что за файлы она создаёт при установке в папке C:\Windows? Можно от них избавиться?
🎉
Чот регулярка не отрабатывает? cloak := regexp.MustCompile(`(\w){1,5}`) Хочу выловить все символы начинающиеся с одного до пяти...
Aleksandr
[1-5]
🎉
Это почему так? Я же мин и макс выставляю?
Aleksandr
это количество символов
Alexander
это количество символов
🎉
Хм, спасибо, странно конечно.
Ivan
чего странно