Anonymous
разве в той же самой жабе это не вызывает проблемы?
Alexander
в голанге нет наследования
Anonymous
ой
Anonymous
я перепутал
Anonymous
вставка
Anonymous
когда в одну структуру я могу вставить другую структуру
Anonymous
вот про это я
Anonymous
type Proger struct { Name string Age int } type Info struct { Proger }
Anonymous
типо это норм?
Anonymous
вроде бы в джаве такое не допустимо из-за двусмысленности, которая возникает
Alexander
ну а что если рассматривать это как возможность разделить функциональность, проработать ее?
Ig
А что страшного во вложенности структур? Какие проблемы это может вызвать?
Anonymous
если А в есть метод, который в Б и С переопределили,а в Д нет, тогда непонятно какая именно версия метода передается Д
Anonymous
я про это
Alexander
мне кажется, на фоне других допущений и полаганий на договоренности это не самое страшное в языке)
Anonymous
да не, я не говорю, что это плохо
Anonymous
это юзабельно и прикольно
Anonymous
просто когда прочитал про это появилась какая-то путаница
Maks
Вложенность структур это вообще не наследование. Это как если у тебя есть в джаве например class User { private Address _address; public construct User(Address address) { this._address = address; } } class Address { }
Anonymous
разве одна структра не наследует свойства другой?
Anonymous
это очень похоже на наследование
Denis
это очень похоже на наследование
Это скорее похоже на композицию
Maks
Если не указывать имя переменной то будет похоже на наследование, да
Maks
ембедед типа
Anonymous
понятно
Anonymous
Valdemar
#ITиDigital #вакансия #blockchain #gamedev #crypto #golang #go #senior #vacancy #job #remote #удаленка #удаленнаяработа #работа #fulltime Senior Golang Developer (удалённо) от 250 000 руб. net Ищу Senior Golang разработчика в компанию, которая строит новаторский децентрализованный игровой маркетплейс с уникальным бандлом утилизации собственного нативного токена. Параллельно развивает флагманский игровой проект, где соединяются NFT-предметы гейм-майнинга и классическая RPG. Предстоит: - Реализация Sidechain, релееров; - Поддержка текущей кодовой базы; - Разработка микро-сервисов и приложений внутреннего пользования для GameFI сектора; - Участие в проектировании архитектуры приложений и сервисов сетей. Требования: - Понимание принципов работы Blockchain; - Понимание принципов построения децентрализованных систем; - Опыт создания смарт-контрактов; Условия: - Удаленно или гибрид, 5/2 - 40 часов в неделю; - Трудоустройство как самозанятый; Если действительно интересно, то welcome за подробностями: @valdemar0n
Вильям
Все привет, подскажите пожалуйста, возможно, зарубежный туториал по применению языка GO в работе, полноценно, с базовыми понятиями уже ознакомился и хотелось бы попрактиковаться 🙏🏻
Alexander
В смысле зарубежный?
Вильям
Ну русскоязычных я не нашел толковых, только краткое описание работы с ботом
Emil
О,холивар по фреймворкам Кто на какой стороне? Всегда юзал джин, но вроде есть быстрее, но это не так критично... А ещё вместо них где-то советовали просто роутер(?) По типу чи
Alexander
дык fiber например засчет fasthttp
Alexander
проца fasthttp ест меньше как минимум и на 5-10% меньше latency
Alexander
фреймворк сколько процентов нагрузки навешивает не знаю
Вильям
Благодарю
Вильям
Спасибо, просто в интернете только книги по основам, а с чем работать кроме MySQL и т.п. не объясняется
xasai.denet
ребят, кто-то пишет код в виме? Кто какой терминальный эмулятор юзает?
xasai.denet
чето щас осознал что gnome херовенько работает, напару с terminator
Anonymous
зачем тебе терминатор?
Anonymous
открой второе окошко
Anonymous
и я юзал вим с гномом - отлично работает
xasai.denet
я прост открыл qterminal и ахуел как он плавно работает и печатает текст
xasai.denet
и теперь мне глаз режет как гномовский терминал работает
xasai.denet
ну а у терминатора и гном терминала, настройки очень разнообразные которые в gui менять можно
Alexander
а я ни разу не замечал разницу в терминалах
Alexander
разве что мне дико нравится в виндовом powershell возможность тыкнуть и "заморозить" текущее состояние
xasai.denet
в линукс тоже такая фишка есть) О ней узнаешь только, когда она не нужна
xasai.denet
ctrl-s = suspend
xasai.denet
ctrl-q resume
Anton
Всем доброго времени суток, занимаюсь составление codestyle для своего проекта на GO. Хочу сделать ограничение в 120 символов на строку кода, но возникла делема как лучше переносить заголовок функции если он не помещается. Если у кого есть опыт с подобным ограничением, поделитесь :)
Anton
А зачем такое ограничение нужно?
В компании есть сложившейся codestyle, но он до сих пор касался C/C++. Сейчас начали делать проект на Go, и надо подвести к общим стандартам (это касаемо непосредственно цифры 120). А в целом, это на fullhd мониторе позволяет разделить окно на две области, в каждой из которых текст не будет уезжать за пределы видимости
Anton
Так же как в С не пробывал?)
Сейчас так и пытаюсь. Но в go особенность. Просто так результат функции на следующую строку перенести нельзя 🤷🏼‍♂️
Anton
Аргументы начиная со второго переносятся нормально, но бывают функции которые возвращают по 4+ аргумента и снова выхожу за приделы
Anton
Нельзя так :(
Anton
d должно быть на строке выше. Но в целом, сейчас почти так и делаю. Первый аргумент на той же троек где и (
Anton
Вот думал может кто по другому делает у себя
🔥
Нельзя так :(
Что значит нельзя?)
🔥
https://play.golang.org/p/J5YAuLL07Jm
Anton
Так, сейчас в ide посмотрю)
Anton
И правда, видимо я в какой то момент упустил запятую а конце
Anton
Спасибо. Покручу этот вариант для себя
Anton
Тут если коротко выходит, я все таки предпочитаю в одну строку писать. А если нет, то да, так и делаю
🔥
Спасибо. Покручу этот вариант для себя
Но лучше много не возвращать)
🔥
так читать будет не удобно
Anonymous
кто-то участвовал?
App
Нужен человек для разработки backend небольшого проекта на go. В проекте будем работать с rest api, S2S, аутентификацией и MySQL. Оплата договорная. В дальнейшем потребуется оплачиваемая поддержка проекта. Предложения и подробности в личные сообщения, спасибо.
Anonymous
https://t.me/gogetajob
Anonymous
сюда пиши
Bogdan
Господа, У меня к вам вопрос, смотрите: я написал для проекта рутину, которая проверяет обновления json'a и посылает на клиент. В чем проблема? В том, что рутина накладывается друг на друга и, спустя пару минут, у меня вместо 1 секунда-вывод летит миллион сообщений. Можете подсказать, как это поправить? Код могу дать в личные сообщение(прод всё-таки, блин нафиг)
Null
Как создать сервер API GraphQL с помощью Go (Golang) https://senior.ua/articles/kak-sozdat-server-api-graphql-s-pomoschyu-go-golang @Golang_google
Игорь
По поводу сервера, может кто помочь?, делаю reverse proxy с авторизацией, все отлично работает, но открывается много файликов(соединений) и не закрывается, как их правильно закрывать? ___go_bui 93056 uUser 33u IPv4 0xaa77265cef9c4839 0t0 TCP user-mac.test.ru:63999->lya4.test.ru:https (ESTABLISHED) ___go_bui 93056 uUser 34u IPv4 0xaa77265d139b32a9 0t0 TCP user-mac.test.ru.sigma.sbrf.ru:64000->lya4.test.ru:https (ESTABLISHED) Делаю так: basicAuth -> httputil.NewSingleHostReverseProxy
Vladyslav
Привет Я пытаюсь разобраться в концептах ДДД и возник вопрос по поводу доменного сервиса и то, что он может возвращать. У меня есть два суб-домена: продукт и корзина. В сервисе я смотрю, что там пользователь добавил в свою корзину, потом считаю общую стоимость и хочу вернуть структуру, которая будет объединять в себе два агрегата, для продукта и корзины соответственно. По сути это агрегат агрегатов. Вот можно этот агрегат агрегатов определять в сервисе? за основу я взял вот эту статью https://towardsdatascience.com/how-to-implement-domain-driven-design-ddd-in-golang-2e2139beb09d репа того, что в статье https://github.com/percybolmer/ddd-go/tree/clean-architecture
Alexander
По поводу сервера, может кто помочь?, делаю reverse proxy с авторизацией, все отлично работает, но открывается много файликов(соединений) и не закрывается, как их правильно закрывать? ___go_bui 93056 uUser 33u IPv4 0xaa77265cef9c4839 0t0 TCP user-mac.test.ru:63999->lya4.test.ru:https (ESTABLISHED) ___go_bui 93056 uUser 34u IPv4 0xaa77265d139b32a9 0t0 TCP user-mac.test.ru.sigma.sbrf.ru:64000->lya4.test.ru:https (ESTABLISHED) Делаю так: basicAuth -> httputil.NewSingleHostReverseProxy
Посмотри что у тебя с idle подключениями к чужим серверам творится. Дело в том, что сценария тут 2: микросервисы которым достаточно несколько долгоживущих соединений и возможно твой случай, когда соединений много, но жить долго им не надо. И вот куда стандартная либа идёт непонятно
Anton
Есть вариант сигнатуру переписать на использование конфига или на использование переменного количества аргументов одного типа
Не всегда это удобно. Если брать общий тип как interface{}, то не будет типизации данных. Опять же, если параметры семантически разные, из описания функции не понятно что она принимает. Если объединить аргументы в общей структуре - не всегда это удобно. Передавать "опции" - это да, выглядит хорошо. Но тогда все параметры обязательны, то это уже не добно.