Size: a a a

2020 June 13

A

Aleksandr in Go-go!
Привет. Важно ли Проверять на обратную совместимость OpenAPI  схему при открытом PR?

Спасибо
Анонимный опрос
28%
Да, это очень важно, проверяем на обратную совместимость в открытых PR
28%
Не очень важно, решаем этот вопрос до создания PR(при дизайне)
44%
Не используем OpenAPI
Проголосовало: 32
источник

D𝔇

Dmitry 𝔇𝔪𝔦𝔱𝔯𝔶... in Go-go!
Aleksandr
Привет. Важно ли Проверять на обратную совместимость OpenAPI  схему при открытом PR?

Спасибо
Анонимный опрос
28%
Да, это очень важно, проверяем на обратную совместимость в открытых PR
28%
Не очень важно, решаем этот вопрос до создания PR(при дизайне)
44%
Не используем OpenAPI
Проголосовало: 32
Почему нет ответа "Обратная совместимость не нужна"?
источник

VS

Vadim Sokoltsov in Go-go!
Всем привет!

Подскажите пожалуйста по работе с channels

Есть функция, которую запускаю в горутине, и которая управляет значениями с нескольких каналов (через select).
При считывании данных из каналов, выполняется только операция, никаких значений в другие каналы не записываю и ничего не возвращаю.
Одновременно с этим, после записи значения в канал, этот поток блокируется (например, если говорим про роут из mux.router - не возвращает запрос)
В тестах тоже встречается такая проблема
Решил ее (решил ли?) тем, что создал дополнительный канал для ответов, записываю в него результаты операции, и читаю из этого канала, когда необходимо "разблокировать" поток

Подскажите пожалуйста, является ли это хорошей практикой? Есть ли другие способы оповещения о завершении операции в select-конструкции?

Заранее благодарю!
источник

AS

Alexander Shavelev in Go-go!
Vadim Sokoltsov
Всем привет!

Подскажите пожалуйста по работе с channels

Есть функция, которую запускаю в горутине, и которая управляет значениями с нескольких каналов (через select).
При считывании данных из каналов, выполняется только операция, никаких значений в другие каналы не записываю и ничего не возвращаю.
Одновременно с этим, после записи значения в канал, этот поток блокируется (например, если говорим про роут из mux.router - не возвращает запрос)
В тестах тоже встречается такая проблема
Решил ее (решил ли?) тем, что создал дополнительный канал для ответов, записываю в него результаты операции, и читаю из этого канала, когда необходимо "разблокировать" поток

Подскажите пожалуйста, является ли это хорошей практикой? Есть ли другие способы оповещения о завершении операции в select-конструкции?

Заранее благодарю!
что-то непонятно совсем
источник

VS

Vadim Sokoltsov in Go-go!
Alexander Shavelev
что-то непонятно совсем
🙁
Тогда на примерах попробую объяснить
источник

MW

Mr. Wh🦠er in Go-go!
Глупый вопрос:

urls := make(map[url.URL]bool)


А http://GooGLe.CoM и http://google.com будут одинаковыми урлами?
источник

AS

Alexander Shavelev in Go-go!
Mr. Wh🦠er
Глупый вопрос:

urls := make(map[url.URL]bool)


А http://GooGLe.CoM и http://google.com будут одинаковыми урлами?
ну а урла базовый тип строка? нет тогда
источник

MW

Mr. Wh🦠er in Go-go!
источник

MW

Mr. Wh🦠er in Go-go!
false
источник

MW

Mr. Wh🦠er in Go-go!
я чет подумал вдруг как питон язык умный
источник

C

Constantine in Go-go!
у u2 / в конце
источник

AS

Alexander Shavelev in Go-go!
Mr. Wh🦠er
я чет подумал вдруг как питон язык умный
>>> 'alex'=='Alex'
False
>>>


в чем питон умный
источник

MW

Mr. Wh🦠er in Go-go!
либа даже урлы не нормализует
источник

VS

Vadim Sokoltsov in Go-go!
Alexander Shavelev
что-то непонятно совсем
Вот есть такая конструкция https://pastebin.com/LPmPWqTq
Запускаю ее при инциализации приложения в отдельной горутине go ManageChannels()

В контроллере, например, делаю запись в канал таким образом
https://pastebin.com/8FUB0qye

Однако, если в дальнейшем требуется выполнить какую-то операцию, после channels.Labels <- redisLabel, то поток "останавливается" на выполнении

Решил это тем, что в операции выполнения select  записываю результат операции в другой канал (https://pastebin.com/0eHYR2p2), из которого потом читаю в том месте, где необходимо избежать блокировки

Насколько такой способ является хорошей практикой?
Как обычно стараются решать эту проблему?
источник

C

Constantine in Go-go!
Mr. Wh🦠er
либа даже урлы не нормализует
регистр и слеши могут иметь  значение
источник

S

Sergey in Go-go!
Mr. Wh🦠er
либа даже урлы не нормализует
И слава богу, что она не занимается тем, чем не должна.
источник

MW

Mr. Wh🦠er in Go-go!
ну вообще-то есть RFC
источник

MW

Mr. Wh🦠er in Go-go!
там все написано
источник

MW

Mr. Wh🦠er in Go-go!
хосты регистронезависимы
источник

AS

Alexander Shavelev in Go-go!
Vadim Sokoltsov
Вот есть такая конструкция https://pastebin.com/LPmPWqTq
Запускаю ее при инциализации приложения в отдельной горутине go ManageChannels()

В контроллере, например, делаю запись в канал таким образом
https://pastebin.com/8FUB0qye

Однако, если в дальнейшем требуется выполнить какую-то операцию, после channels.Labels <- redisLabel, то поток "останавливается" на выполнении

Решил это тем, что в операции выполнения select  записываю результат операции в другой канал (https://pastebin.com/0eHYR2p2), из которого потом читаю в том месте, где необходимо избежать блокировки

Насколько такой способ является хорошей практикой?
Как обычно стараются решать эту проблему?
> Решил это тем, что в операции выполнения select  записываю результат операции в другой канал

хмммм, интересно как оно решило проблему
источник