Eldar
херь нечитаемая эти чеки
Eldar
питонистам понравится, логика задом на перед
.
херь нечитаемая эти чеки
Она в какой то мере делает код проще
Daniel
а какие недостатки go вы считаете самыми опасными?
опасными? хороший вопрос 1. обработка ошибок. она сделана плохо, и вокруг нее появляется масса говнокода, от игнорирования ошибок до логирования их на всех уровнях вложенности 2. система типов. нам, как выяснилось, очень нужны типсуммы. сейчас мы эмулируем их на интерфейсах с тайпсвитчами, или делаем динамику на рефлексии. (тайпсвитч - тоже рефлексия.) 3. концептуальная неконсистентность. например, генерики, которые есть в языке, но не для программера. и еще масса всего. тут ничего поделать нельзя
Алексей
питонистам понравится, логика задом на перед
не, check норм, вот handle уже несколько сомнительно
Alexander
да все читаемо когда привыкаешь, сейчас все спокойно читают код с err != nil и ниче, главное чтоб новая система решала имеющиеся проблемы имх
Алексей
об этой связке и речь
ну вообще можно check и без handle юзать
Eldar
трай тоже можно без кетча)
Алексей
трай тоже можно без кетча)
ну не совсем, либо try finally, либо try catch
Алексей
да и check - это не try
Eldar
вопрос в том, нафиг нужен трай, если нет кетча, и зачем чек без хендела?
🏁Александр
а где ты try увидел в гоу?
Алексей
я ещё раз повторяю, try != check check без handle уже в принципе позволяет сократить код
Алексей
заменив три строки одним словом
Eldar
спасибо капитан, что бы я без тебя делал!
Eldar
речь о использовании конструкции обработки ошибки, без самой обработки ошибки. зачем она нужна?
Алексей
спасибо капитан, что бы я без тебя делал!
ну видимо запутался бы, учитывая твоё сравнение try и check
Алексей
без обработки
Алексей
(ну если нужна обработка, то тогда уж 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"
Pavel
тоже как-то через жопу
а в чем проблема делать OR?
Pavel
что такое or?)
WHERE cond1 OR cond2
Wingman
а
Wingman
лишнее неудобство
Wingman
и неднозначность
Wingman
ненормализованность)
Pavel
работай дальше, реализацию потом всегда можно переделать 😂
Mihail
ненормализованность)
А вот это очень спорно
Artem
Проблема тут выглядит надуманной, можно какой нить хеш где порядок портов будет неважен, но эт усложнения лишнее
Wingman
просто что-то в голове засело, что "вот неудобно, и всё"
aadz
> Данные - это связи между устройствами Это граф. Зачем было брать реляционную модель?
Daniel
затем, что любая известная нам модель хорошо эмулируется в реляционной
aadz
В любом случае, храни и обратывай это как граф
Aleksandr
https://github.com/Champii/og
aadz
вот до чего мухоморы доводят!
Wingman
В любом случае, храни и обратывай это как граф
это будет процента полтора от всех данных в постгре. Буквально несколько тысяч строк. Городить для этого отдельную БД? Лишаться нативных связей, форейн ключей, и обрабатывать всё софтом?
aadz
это будет процента полтора от всех данных в постгре. Буквально несколько тысяч строк. Городить для этого отдельную БД? Лишаться нативных связей, форейн ключей, и обрабатывать всё софтом?
http://devsonia.ru/2012/12/19/%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B3%D1%80%D0%B0%D1%84%D0%B0-%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B5-%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%BE%D0%BD%D0%BD/
Wingman
не
Aleksey
Чятик, а есть какой-то внятный тлдр по модулям? Не мыслью по дереву о том зачем это, а как теперь с этим жить
Wingman
там _ориентированный_ в этом случае понятно, где верх - где низ, и можно логично структурировать
Wingman
а если вершины - равные, то и их оконечности равнозначны, и portX и portY могут меняться местами произвольно
Aleksey
https://habr.com/post/421411/
Такое себе чтиво, осталась дофига вопросов. Во-первых, это нифига не тлдр. Во-вторых, по одному вопросу к этой статье гуглить – проще другую найти. В-третьих, на русском что-то читать это моветон.
Olzhas
aadz
а если вершины - равные, то и их оконечности равнозначны, и portX и portY могут меняться местами произвольно
Так делай два индекса, или храни как ориентированный, но с двумя дугами между узлами, типа. У тебя же вершин мало, как ты говоришь
Wingman
а причем тут индексы? я только о том, что при наличии pointX и pointY заранее неизвестно, какая вершина будет в pointX, а какая - в pointY, и придется перебирать/усложнять/OR`ать
aadz
а причем тут индексы? я только о том, что при наличии pointX и pointY заранее неизвестно, какая вершина будет в pointX, а какая - в pointY, и придется перебирать/усложнять/OR`ать
Храни две связи сразу. В обе стороны. При поиске одну из них найдешь, как бы не искал. А вобще просто погуглируй про работу с графами в SQL - тема не новая
Wingman
угу, гуглю
aadz
А я вот от лени утилитку себе накорябал: https://github.com/aadz/unix-misc#tls-cert-info, чтобы не вспоминать постоянно ключики OpenSSL. Гляньте, что еще нормальному человеку бывает нужно знать про сертификат?
aadz
правда?
aadz
Только не ругайтесь на код сильно, если что. Я ведь Go только учить начал и вобще не настоящий программист :)
aadz
curl -v "https://example.com/" почти тоже самое выдаёт
нет, мне этого бывает мало, что curl показыват. И он не про сертификат, а сразу страницу тащит в случае -v - много лишнего.
Aleksandr
Playing with Go module proxies https://roberto.selbach.ca/go-proxies/
https://open.microsoft.com/2018/08/28/announcing-project-athens-gophersource-go-community/ https://docs.gomods.io/ https://github.com/gomods/athens
Roman
https://github.com/scylladb/go-set
Artuchka
Artuchka
Artuchka
Artuchka
Artuchka
Artuchka
прикооооольна, лол
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
в дотнет чате зикурат школоло
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
админы тут приводят в чувство сообщество, это прекрасно
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
ахахаха
я был там, не смог