
many-faced
09.09.2018
16:03:33
зачем мне это потом при сборке )

Zaur
09.09.2018
17:40:38
Ребят у меня в монге проблема unknown top level operation: $expr
Монга 4.0
Куда где искать? Откуда эта проблема?

Google

Zaur
09.09.2018
17:41:46
Какого хрена я вообще начал на монге это всё делать?
https://play.golang.org/p/iFd1ld5iLT6

Roman
09.09.2018
17:51:12
@onokonem
https://github.com/romshark/Go-2-Proposal---Immutability#310-why-do-we-need-the-distinction-between-immutable-and-mutable-reference-types

Андрэ
09.09.2018
19:05:10
Товарищи коллеги, помогите до конца разобраться пожалуйста) почему таки https://play.golang.org/p/KTQUsHo6Be- &n2 убегает в кучу?

Александр
09.09.2018
19:21:52
а зачем ты хоронишь структуру

Sergey
10.09.2018
05:55:02
Так middleware нужен

Maruf
10.09.2018
05:56:04
решил попрактиковаться.Вопрос по gorilla/sessions
после удачной аутентификации
запускается сессия и в
sessions.Value ["user"] = userid
в userid хранится что?токен или просто login пользователя
и для чего непосредственно нужен session.Value?

Sergey
10.09.2018
05:57:42

Maruf
10.09.2018
05:58:36
Так middleware нужен
я не работал с миддлами ,перечитал много статей, написана какая-то абракадабра,из-за этого каша в голове
нет ли годной ссылки, я буду признателен

Alexander
10.09.2018
05:59:45
/

andrew
10.09.2018
06:02:38
Добрый день. Хотел бы уточнить небольшой вопрос по поводу мьютексов и слайса данных. У меня стоит мьютекс на запись данных и на удаление. А вот на чтение слайса - нет. Будут ли проблемы если при фориче слайса в него будет добавляться элемент или удаляться? Нужно ли ставить мьютекс и на чтение?

Oleg
10.09.2018
06:02:52

Sergey
10.09.2018
06:03:10

Google

Sergey
10.09.2018
06:05:22
https://medium.com/@matryer/writing-middleware-in-golang-and-how-go-makes-it-so-much-fun-4375c1246e81
На медиумеме хорошо было
Я как то глянул go-chi и очень нравится

Maruf
10.09.2018
06:06:15

Sergey
10.09.2018
06:08:03
А так да
Думаю хороший вариант писать на net/http

Alexey
10.09.2018
06:15:00

andrew
10.09.2018
06:33:09

Alexander
10.09.2018
07:42:52
О! https://www.youtube.com/watch?v=rWJHbh6qO_Y
Фитцпатрик говорит, что мы не будем убивать уже существующий код - it always will be usable. Типа, код из Go1 будет продолжать нормально комплироваться в Go2

lexxx
10.09.2018
07:45:34
ну норм че

Georgy
10.09.2018
07:46:27
а потом сделают "дефолтную имплементацию интерфейса"

Alexander
10.09.2018
07:46:44
Ну, я просто опасался, что будет как с питонами, и не я один

Daniel
10.09.2018
08:25:10

Alexander
10.09.2018
08:27:06
Ну, ни про какой такой интерфейс речи не было, вроде. Просто сказал, что определеннно не собираются убивать существующий код и экосистему Go

Daniel
10.09.2018
08:27:47
еще раз - есть множество способов это обеспечить и не тянуть с собой обратную совместимость

Alexander
10.09.2018
08:29:39
Если нужна будет какая-то ковертация, то, к сожалению, просто придется знать оба языка, по сути. А это мало кому понравится... Надеюсь, что так не будет
Я и с первым-то еще не до конца разобрался. :)

Google

Алексей
10.09.2018
08:31:48
стоп
так ведь go2 = go1 + новые фичи

Daniel
10.09.2018
08:32:09
этого мы не знаем
я вот вообще думаю, что go2 не будет в обозримом будущем

xPushkin
10.09.2018
08:32:39

Alexander
10.09.2018
08:32:41

Daniel
10.09.2018
08:32:43
не нужен

Алексей
10.09.2018
08:32:47
ну или можно предположить, что go2 = go1 + новые фичи + небольшие незначительные изменения

eugene
10.09.2018
08:33:02

Алексей
10.09.2018
08:33:05

Daniel
10.09.2018
08:33:12
go2 не нужен

Alexander
10.09.2018
08:33:55
не нужен
А Фитцпатрик и сказал, что еще не решили, может быть будет Go 1.12 и так далее, а никакой не 2

Daniel
10.09.2018
08:34:00
у go1 есть недостатки, но в общем он покрывает всю поляну
go2 окажется конкурентом go1, и этоне нужно никому. поэтому будет go1+новые_совместимые_фичи

Alexander
10.09.2018
08:34:56

Daniel
10.09.2018
08:35:41
я задолбался, и тупые коменты буду просто чистить

Алексей
10.09.2018
08:35:49
конечно

eugene
10.09.2018
08:36:06

Алексей
10.09.2018
08:36:10
ведь краткий проброс ошибок - это так тупо

Daniel
10.09.2018
08:37:42

Google

Алексей
10.09.2018
08:38:14
не я начал
go2 не нужен

Eldar
10.09.2018
08:42:01
херь нечитаемая эти чеки
питонистам понравится, логика задом на перед

Admin
ERROR: S client not available

Никита
10.09.2018
08:42:36

Daniel
10.09.2018
08:42:59
а какие недостатки go вы считаете самыми опасными?
опасными? хороший вопрос
1. обработка ошибок. она сделана плохо, и вокруг нее появляется масса говнокода, от игнорирования ошибок до логирования их на всех уровнях вложенности
2. система типов. нам, как выяснилось, очень нужны типсуммы. сейчас мы эмулируем их на интерфейсах с тайпсвитчами, или делаем динамику на рефлексии. (тайпсвитч - тоже рефлексия.)
3. концептуальная неконсистентность. например, генерики, которые есть в языке, но не для программера. и еще масса всего. тут ничего поделать нельзя

Алексей
10.09.2018
08:43:01

Eldar
10.09.2018
08:43:22

Daniel
10.09.2018
08:43:33

Alexander
10.09.2018
08:44:22
да все читаемо когда привыкаешь, сейчас все спокойно читают код с err != nil и ниче, главное чтоб новая система решала имеющиеся проблемы имх

Алексей
10.09.2018
08:44:45

Eldar
10.09.2018
08:46:16
трай тоже можно без кетча)

Алексей
10.09.2018
08:47:15
да и check - это не try

Eldar
10.09.2018
08:48:46
вопрос в том, нафиг нужен трай, если нет кетча, и зачем чек без хендела?

Александр
10.09.2018
08:49:19
а где ты try увидел в гоу?

Алексей
10.09.2018
08:49:26
я ещё раз повторяю, try != check
check без handle уже в принципе позволяет сократить код
заменив три строки одним словом

Google

Eldar
10.09.2018
08:49:43
спасибо капитан, что бы я без тебя делал!
речь о использовании конструкции обработки ошибки, без самой обработки ошибки. зачем она нужна?

Алексей
10.09.2018
08:50:45
без обработки
(ну если нужна обработка, то тогда уж handle или if err != nil)

Wingman
10.09.2018
09:11:42
Можно я немного офтопну? :) Никак не решу, как лучше хранить данные в реляционной бд (постгря).
Данные - это связи между устройствами (сетевые линки).
Самое простое - это табличка, скажем, links, в которой лежат интерфейсы (порты) обоих устройств. Ну, что-то вроде link: port1_id, port2_id
Но тут вылазит дикое неудобство в том, что кто-то должен быть port1, а кто-то port2. Как это определять? Никак. То есть, все запросы по поиску будут вида where (port1=X and port2=Y) or where (port1=Y and port2=X)
Как обычно такие задачи решаются? :)

Alexander
10.09.2018
09:19:33
можно при интсерте сортировать ид по возрастанию и вставлять соответственно в поля, доставать по тойже логике

Wingman
10.09.2018
09:20:21
тоже как-то через жопу

Mihail
10.09.2018
09:25:52
сохраняй как "port1_id:port2_id", "port2_id:port1_id"
и будут запросы вида
where col1="X:Y" or col2="Y:X"

Pavel
10.09.2018
09:27:44

Wingman
10.09.2018
09:27:54

Pavel
10.09.2018
09:28:12

Wingman
10.09.2018
09:28:17
а