A
хм, а что если внутри f создать канал, вернуть его, а уже через defer исполнить нужный код. Чтобы горутину не использовать внутри f? или это костыль?))
A
ну выше вон предлагали передавать канал в ф
не хотелось бы лишние зависимости.. т.к. чтение из канала - это как доп. фишка, которая не является обязательно. но при необходимости, клиент может захотеть читать инфу из канала.
Grigorij
хуевертить что то с дефер на сколько я понял бэд практис в основном ну раз клиент может захотеть читать то вариантов немного передавать канал, отдавать оттуда, или канал будет в структе и ф будет функцией структа но я не очень знаю го, может тут ещё чё посоветуют
Юра (Юрий Александрович)
Лучше я текстом мысль напишу: при работе с каналами у нас есть 4 роли: читатель, писатель, открыватель, закрыватель. Как правило эти четыре роли не распределяются по 4 сущностям, обычно сущностей меньше. Поэтому Какие-то из сущностей (функций, структур, "фрагментов кода") будут нести на себе несколько ролей.
Юра (Юрий Александрович)
Дефер - это очень хорошая практика, только не надо с ними хуевертить ) Деферы нужны для безусловного выполнения завершающих действий перед выходом из функций. Использовать их для "своеобразного вызова" другой функции не нужно.
Юра (Юрий Александрович)
хм, а что если внутри f создать канал, вернуть его, а уже через defer исполнить нужный код. Чтобы горутину не использовать внутри f? или это костыль?))
Вызываем функцию A. Функция A создает канал, запускает в новой горутине функцию Б, возможно анонимную, передает в нее канал, возможно через параметр, возможно через замыкание, возвращает канал и завершается. Функция Б, работает, работает, что-то в канал пишет, дописав, закрывает канал и завершается.
Grigorij
бля я счем то другим перепутал, извиняюсь дефер же про закрытие ресурсов часто и т.д. сорри сорри по моему перепутал с дефер с рекавер внутри
Ya ne s nimi
подскажите, как мне открывать url cпомощью go ?
Grigorij
https://pkg.go.dev/net/http ?
Yegor
Twm?
Emin Zalaev
Twm?
Там ОС slackware вроде что то такого была
Alexandr🇷🇺
Там ОС slackware вроде что то такого была
Ноябрь прошел, можешь менять аву)
Vladislav
@banofbot
Banof
🔫 Динара кикнут — вернуть этого пользователя можно только разбаном в настройках чата. За кик проголосовали: @b_t_i, @csn_net4me_net, @Lebensborn, @JvmSuppressWildcards, @tulpn Информация по переезду из 🇺🇦 в 🇨🇦
NU
@banofbot
Banof
🔫 Динара кикнут — вернуть этого пользователя можно только разбаном в настройках чата. За кик проголосовали: @tulpn, Динара, @Lebensborn, @b_t_i, @m1cba1 Информация по переезду из 🇺🇦 в 🇨🇦
Ya ne s nimi
доброго времяни суток, как мне получить имя фамилия и access_token через vk api ?
Ya ne s nimi
Взломаю аккаунт вашей девушки за 1000?
не, мне нужно сделать авторизацию через вк
Alexandr🇷🇺
Maks
Нам нужно сейчас вместо тебя апишку погуглить?
Null
👣 EveryNASA EveryDayPhotoNasa – инструмент, который позволяет поставить в качестве рабочего экрана фотографии NASA из космоса. EveryDayPhotoNaaa каждый день делает снимок с сайта НАСА и устанавливает его в качестве фона для вашего рабочего пространства. 🖥 Github @Golang_google
Ya ne s nimi
Нам нужно сейчас вместо тебя апишку погуглить?
я нагуглил, но только так что бы сначала взять access_token а через него уже имя и фамилию, а мне нужно все в одном запросе, не могу понять как это реализовать
Maks
Никак наверное?
Ya ne s nimi
а зачем тебе все в одном запросе?
что бы пользователь нажал на кнопку регистрации, я взял access_token для того что бы понять что этот аккаунт настоящий, имя и фамилию подтянул для профиля
Юра (Юрий Александрович)
Лень два запроса послать?
Юра (Юрий Александрович)
- Я вытяну всю инфу с двух запросов! - А я с одного. - Вытягивай
( ͡❛ ෴ ͡❛)
Привет, Тут кто-то юзает swaggo/swag? У меня swag init -g читает основной файл но рекурсивно не видит хендлерские в pkg директории
Начальник
Подскажите как скомпилировать прогу с гитхаба на языке си в компиляторе
Florian Geyer von Giebelstadt
Привет всем.Наткнулся на статью на хабре ( https://habr.com/ru/company/oleg-bunin/blog/521582/ ). Там есть вопрос "Как сообщить компилятору, что наш тип реализует интерфейс?". Подразумевается как работает само ключевое слово interface под капотом,или что имеется ввиду? Кто знает,можете,пожалуйста,объяснить?
Florian Geyer von Giebelstadt
Хотел также узнать что можно посмотреть/почитать про устройство всяких языковых конструкций в го более подробно,буду благодарен,если поделитесь инфой.
Илья
Есть внегласное правило return struct, accept interfaces, поэтому этой проверкой мы показываем, что структура его реализует
Vladislav
и если не все методы присутствуют/другая сигнатура, то ide будет верещать
Florian Geyer von Giebelstadt
Есть внегласное правило return struct, accept interfaces, поэтому этой проверкой мы показываем, что структура его реализует
Я что-то похожее как раз нагуглил,но не был уверен что верно всё понял.Спасибо.
Melbourne Channel
i can and want to create the fastest golang framework for techempower benchmark. how do we monetize something open source like gofiber.io? 1. if we can monetize it, anyone interested in this project? 2. i wont be the main contributor but i can optimized and guide areas of dev. if anyone is interested in creative ways we can benefit out of this open source, do mention. this is for the creation of the fastest golang framework for techempower benchmark and for practical business uses like fiber with http2 and http3 of course.
Артем
by framework you mean http-framework or webserver?
Melbourne Channel
by framework you mean http-framework or webserver?
no. i mean gofiber -> fasthttp i want to create "godspeed" using cloudwego/hertz
Melbourne Channel
1. Creating new go framework is not worth it, because we already have plenty of them. 2. Some Rust/C implementations would anyway overtake Go benchmark resuluts, you chose wrong language for this task.
in a way u are right but rust is too slow to dev and too expensive to dev or too diff to find people to dev together. golang is "perfect" for ... higher middle ground. i can always convert logic to rustlang in future when the batteries are developed.
Артем
no niche for that in rust community i guess
Melbourne Channel
1. Creating new go framework is not worth it, because we already have plenty of them. 2. Some Rust/C implementations would anyway overtake Go benchmark resuluts, you chose wrong language for this task.
my take on rust... 1. 8 years away from maturity for a lot of things to come together... i mean ecosystem of golang today. 2. if too slow, always use C first then only think rust coz... rust not easy to refactor code when u make mistakes. best use go for initial phase to test water and ideas (prototype) and convert to rust in future.
Melbourne Channel
no niche for that in rust community i guess
there is. monoio by bytedance but dev speed too slow.
Ya ne s nimi
как мне получить get-параметр с помощью go gin ?
Ya ne s nimi
А че request нету, типа querystring
мне нужно получить code
Andrey
как мне получить get-параметр с помощью go gin ?
https://stackoverflow.com/questions/41279297/how-to-get-all-query-parameters-from-go-gin-context-object
Ya ne s nimi
https://stackoverflow.com/questions/41279297/how-to-get-all-query-parameters-from-go-gin-context-object
я все равно не понимаю как мне вытянуть code вот от сюда https://oauth.vk.com/blank.html#code=ca3f1dd0544448463234
Ya ne s nimi
я пробовал что-то похожее но это не дало резулютата, может я что-то не так делал
Yegor
каким образом ?
Документацию читай, мы разве виноваты что то кто-то документацию не читает
Ya ne s nimi
при авторизации мне нужно получить имя фамилию и access_token
Ya ne s nimi
читал
Yegor
читал
Плохо читал
Ya ne s nimi
Плохо читал
я уже понял что плохо, и поэтому обратился за помощью
Yegor
я уже понял что плохо, и поэтому обратился за помощью
Иди читай тип приложении и там внимательно изучай примеры
Ya ne s nimi
Иди читай тип приложении и там внимательно изучай примеры
а где это написано? я нашел только это https://dev.vk.com/api/access-token/authcode-flow-user
Ya ne s nimi
и где там вообще есть примеры ?
K
Всем привет как решить проблему?
K
Postgresql, я создаю такую таблицу.
K
617 онлайн, ни кто не знает?)
Ya ne s nimi
Иди читай тип приложении и там внимательно изучай примеры
func Access_token(user_token string) { log.Info(user_token) access_token_string := fmt.Sprintf("https://api.vk.com/oauth/access_token?v=5.131&client_id=%s&client_secret=%s&grant_type=client_credentials", clientID, clientSecret) response, err := http.Get(access_token_string) if err != nil { log.Info("ERROR!: ") log.Info(err) } log.Info(response) }
Ya ne s nimi
таким образом нужно это делать ?
K
удалить 6 из строки
Так то да, получается. Я это уже заметил) Но я хочу задать length 6
Roman
Ya ne s nimi
я вот не понял решение своей проблемы
Ya ne s nimi
и мне никто не помогает
Yegor
и мне никто не помогает
Тебя послали документацию внимательно читать, а тебе лень а потом ты можешь оказаться с мной в одной команде и я буду обсуждать как избавиться от тебя тут
Ya ne s nimi
я ее прочитал я не нашел то что мне нужно
Sanity = nil
я ее прочитал я не нашел то что мне нужно
не нашел то что тебе нужно дак еще и заработал себе личную неприязнь. Жесть. Не оч вечер у тебя.