Eldar
херь нечитаемая эти чеки
Eldar
питонистам понравится, логика задом на перед
Daniel
а какие недостатки go вы считаете самыми опасными?
опасными? хороший вопрос
1. обработка ошибок. она сделана плохо, и вокруг нее появляется масса говнокода, от игнорирования ошибок до логирования их на всех уровнях вложенности
2. система типов. нам, как выяснилось, очень нужны типсуммы. сейчас мы эмулируем их на интерфейсах с тайпсвитчами, или делаем динамику на рефлексии. (тайпсвитч - тоже рефлексия.)
3. концептуальная неконсистентность. например, генерики, которые есть в языке, но не для программера. и еще масса всего. тут ничего поделать нельзя
Eldar
Daniel
Alexander
да все читаемо когда привыкаешь, сейчас все спокойно читают код с err != nil и ниче, главное чтоб новая система решала имеющиеся проблемы имх
Eldar
трай тоже можно без кетча)
Алексей
да и check - это не try
Eldar
вопрос в том, нафиг нужен трай, если нет кетча, и зачем чек без хендела?
🏁Александр
а где ты try увидел в гоу?
Алексей
я ещё раз повторяю, try != check
check без handle уже в принципе позволяет сократить код
Алексей
заменив три строки одним словом
Eldar
спасибо капитан, что бы я без тебя делал!
Eldar
речь о использовании конструкции обработки ошибки, без самой обработки ошибки. зачем она нужна?
Алексей
Алексей
без обработки
Алексей
(ну если нужна обработка, то тогда уж handle или if err != nil)
Wingman
Можно я немного офтопну? :) Никак не решу, как лучше хранить данные в реляционной бд (постгря).
Данные - это связи между устройствами (сетевые линки).
Самое простое - это табличка, скажем, links, в которой лежат интерфейсы (порты) обоих устройств. Ну, что-то вроде link: port1_id, port2_id
Но тут вылазит дикое неудобство в том, что кто-то должен быть port1, а кто-то port2. Как это определять? Никак. То есть, все запросы по поиску будут вида where (port1=X and port2=Y) or where (port1=Y and port2=X)
Как обычно такие задачи решаются? :)
Alexander
можно при интсерте сортировать ид по возрастанию и вставлять соответственно в поля, доставать по тойже логике
Wingman
тоже как-то через жопу
Mihail
сохраняй как "port1_id:port2_id", "port2_id:port1_id"
Mihail
и будут запросы вида
where col1="X:Y" or col2="Y:X"
Wingman
Wingman
Wingman
а
Wingman
лишнее неудобство
Pavel
Wingman
и неднозначность
Wingman
ненормализованность)
Pavel
работай дальше, реализацию потом всегда можно переделать 😂
Artem
Проблема тут выглядит надуманной, можно какой нить хеш где порядок портов будет неважен, но эт усложнения лишнее
Wingman
Wingman
просто что-то в голове засело, что "вот неудобно, и всё"
aadz
> Данные - это связи между устройствами
Это граф. Зачем было брать реляционную модель?
Daniel
затем, что любая известная нам модель хорошо эмулируется в реляционной
aadz
В любом случае, храни и обратывай это как граф
aadz
Aleksandr
https://github.com/Champii/og
aadz
вот до чего мухоморы доводят!
Wingman
В любом случае, храни и обратывай это как граф
это будет процента полтора от всех данных в постгре. Буквально несколько тысяч строк. Городить для этого отдельную БД? Лишаться нативных связей, форейн ключей, и обрабатывать всё софтом?
Wingman
не
Aleksey
Чятик, а есть какой-то внятный тлдр по модулям? Не мыслью по дереву о том зачем это, а как теперь с этим жить
Wingman
там _ориентированный_
в этом случае понятно, где верх - где низ, и можно логично структурировать
Wingman
а если вершины - равные, то и их оконечности равнозначны, и portX и portY могут меняться местами произвольно
саша
Olzhas
Aleksey
https://habr.com/post/421411/
Такое себе чтиво, осталась дофига вопросов. Во-первых, это нифига не тлдр. Во-вторых, по одному вопросу к этой статье гуглить – проще другую найти. В-третьих, на русском что-то читать это моветон.
Olzhas
Wingman
а причем тут индексы?
я только о том, что при наличии pointX и pointY заранее неизвестно, какая вершина будет в pointX, а какая - в pointY, и придется перебирать/усложнять/OR`ать
aadz
Wingman
угу, гуглю
aadz
А я вот от лени утилитку себе накорябал: https://github.com/aadz/unix-misc#tls-cert-info, чтобы не вспоминать постоянно ключики OpenSSL. Гляньте, что еще нормальному человеку бывает нужно знать про сертификат?
Igor
aadz
правда?
aadz
Только не ругайтесь на код сильно, если что. Я ведь Go только учить начал и вобще не настоящий программист :)
Roman
https://github.com/scylladb/go-set
Pawel
Artuchka
Artuchka
Artuchka
Artuchka
Artuchka
Artuchka
прикооооольна, лол
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
в дотнет чате зикурат школоло
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
админы тут приводят в чувство сообщество, это прекрасно
Artuchka
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
ахахаха
я был там, не смог
Artuchka