ILIA
Коллеги, подскажите что почитать. Итак задача обрабатывать урлы у веб сервиса Сейчас пишу так, в main{} http.HandleFunc("/geo/msk/", get_geomsk) Отдельно есть функция get_geomsk Подскажите, есть ли какой нибудь свич (например, чтобы он обрабатывал все запросы на /geo/msk/ /geo/spb/, /geo/etc/ Т.е. от раздела /geo/ и далее. В общем прошу направить меня - что читать. Спасибо
ILIA
/geo/:id?
Да, как подразделы - раздела. Без Get параметров
Alexander
Да, как подразделы - раздела. Без Get параметров
А gin есть возможность использовать?
Herman
А gin есть возможность использовать?
а как бы это в нем выглядело?
ILIA
А gin есть возможность использовать?
Почему нет? Надо почитать
ILIA
func main() { http.HandleFunc("/fp/", folder_profile) http.HandleFunc("/ip/", ip) http.HandleFunc("/proxy/", get_proxy) http.HandleFunc("/request/", get_request) http.HandleFunc("/geo/msk/", get_geomsk) http.HandleFunc("/geo/msk/", get_geospb) log.Fatal(http.ListenAndServe(":38081", nil)) } Сейчас так
ILIA
Но я уверен, что есть элегантнее решение на /geo/
ILIA
Чем набор однотипных функций.
Herman
ну можно сделать один хенлдер и в нем switch написать
Herman
http.HandleFunc("/geo/msk/", get_geospb). ---> тут описка
Herman
spb
ILIA
Просто если их 100, 200, 500....
🅞leksiy
https://medium.com/@victor_nerd/golang-interview-questions-bd3064f2ff69
Это не на джуна собес, конечно есть джуны, которые это вытянут, но большинство сломается
ILIA
Но всё равно это будет 500 функций.
Ivan
http.HandleFunc("/geo/:loc", get_geo)
Alexander
Herman
ну это все равно будет свитч где-то в методе
Alexander
ну это все равно будет свитч где-то в методе
ну проще будет написать метод где ты будешь забирать параметр из контекста и его обрабатывать
ILIA
Вот это кажется то, что я описываю. Пойду подробнее читать. Спасибо
ILIA
тебе надо
Насколько я понимаю, из примера Григори, что не нужно. Функция будет одна, входные данные будут разные. И это будет удобнее - чем 500 отдельных функций (т.к. а если их нужно будет поменять? без изменения исходных данных
Anonymous
нет, я хотел свой вариант написать
Ivan
запустил, работает) тоже не понял)
ZeroX
Хм ну хз что было в заметках то скинул
Anonymous
этот вопрос вообще устарел
почему тут принт за скобками
Alexander
Anonymous
ну не в условии
Bagasl
почему тут принт за скобками
в цикле ждём, пока сработает другая горутина
Anonymous
а понял
Anonymous
типо замена вейтгруппам
Ivan
Сколько раз запускал?
пару раз . хотел пофиксить так сказать, а оно работает
Anonymous
этот вопрос вообще устарел
ну либо через каналы
Anonymous
либо через вейтгруппы
Anonymous
ну я как джун так ответил бы
Anonymous
и отлетел бы наверно
Anonymous
а ну да через каналы
Anonymous
один куда будет доне записываться, а другой мейн канал куда будет писаться финишед
Anonymous
изи берите на работу 😎
Bagasl
ну я как джун так ответил бы
а я как миддл ответил бы ничего менять не нужно и так работает
Anonymous
попался в джохушку лохера
Bagasl
GOMAXPROCS убрать
Вывод программы от этого не изменится
🅞leksiy
Bagasl
Точно не помню, но вроде да
🅞leksiy
Я не о том. О том, где этот код будет запущен для тестов собеседующим
🅞leksiy
M1, go 1.17.4
Обновись
🅞leksiy
Bagasl
Хз, я собесы не провожу) Но мне кажется не каждый миддл знает, что с 1.14 в го кооперативно-вытесняющая модель используется
Bagasl
Во многих туториалах вообще не обновили инфу и пишут, что циклы лочат горутину
Bagasl
Надо бы да
Bagasl
А не лочат?
Уже нет, шедулер имеет тайм-аут на время непрерывной работы горутины (что то в районе 10мс). Если горутина не отдала управление - она будет переключена шедулером
Bagasl
Как раз из-за проблемы с долгими циклами
🅞leksiy
🅞leksiy
Управление будет отдано на другую, это понятно
🅞leksiy
Ну ок, она завершается?
Bagasl
Скорее всего имеется ввиду полностью бесконечный цикл
Bagasl
этот вопрос вообще устарел
Но я говоря о лочащих циклах имел ввиду этот пример
🅞leksiy
Но я говоря о лочащих циклах имел ввиду этот пример
Да я просто к формулировкам придираюсь
🅞leksiy
Вот этого кстати хватает на собесах
Bagasl
Вот этого кстати хватает на собесах
Ага, до меня пару раз докапывались так. Работать к ним я не пошёл))
🅞leksiy
О, а когда тысячу переплюнули?
🅞leksiy
Herman
О, а когда тысячу переплюнули?
в прошлый раз был набег ботов, вроде 1400 в пике
🅞leksiy
Ого) Они потом банятся или сами отписываются?
Herman
походу админ руками чистил)
𝙲𝚊𝚝𝚒𝚘𝚗
походу админ руками чистил)
не успел прочитать, что там было
𝙲𝚊𝚝𝚒𝚘𝚗
Роман
Всем привет
Ilnur
Ребята, холиварная штука. https://github.com/prisma/prisma-client-go - кто-то пробовал использовать? мне интересны отзывы. Штука под ts не плохо заходит, интересно под го
Роман
Ребят, я за советом. Мне тут на работе необходимо написать небольшой и не очень важный микросервис, я в образовательных целях хочу попробовать сделать это на голанге (давно присматриваюсь к языку). Времени на глубокое изучение книжек нет, есть документация и желание подглядывать в кодовую базу какого-нибудь ладно скроенного бекенда-веб-сервера. Можете посоветовать репозитории проектов, на которые стоит ориентироваться в плане код-стайла и архитектуры?
🅞leksiy
Или я просто не понял какой-то идеи
🅞leksiy
Тем более, Prisma Client Go is no longer officially maintained.
🅞leksiy
там же написано "не очень важный", разве нет?
Все, та у меня со зрением последнее время малеха туго, сорян)