
Roman
11.09.2018
18:53:11

J
11.09.2018
18:53:33

Alexander
11.09.2018
18:56:15
могу помочь с небольшой частью архитектуры - они cloudfare используют. как CDN или как защиту от DDOS
(не за что)

Google

Daniel
11.09.2018
18:56:59

J
11.09.2018
19:00:32

Евгений
11.09.2018
19:01:25
Ув. Товарищи программисты - не подскажите как массив запихнуть в struct внутри struct ?
type callbackSuccess struct {
Action string json:"action"
ID string json:"_id"
Data struct {
PillowShape []pillow_shape.PillowShapeModel json:pillow_shapes
} json:"data"
}
var pillowShapeList = []pillow_shape.PillowShapeModel{}
err = database.C("pillow_shape").Find(nil).All(&pillowShapeList)
if err != nil {
return err
}
var result, _ = json.Marshal(&callbackSuccess{
Action: "callback",
ID: callRequest.ID,
Data: {
PillowShape: pillowShapeList, // missing type in composite literal ERROR
},
})

Daniel
11.09.2018
19:02:50

Евгений
11.09.2018
19:04:10
database.C("pillow_shapes") - это Документы MongoDB

Roman
11.09.2018
19:05:14
запустили Rust в optimized:
Rust > Go (x4) > JavaScript (x20)

?? Eugene
11.09.2018
19:05:58
Optimized - это --release?

Roman
11.09.2018
19:07:01

Roman
11.09.2018
19:14:11

Илья
11.09.2018
19:17:57


Nikita
11.09.2018
19:35:30
Всем привет, сейчас для нового проекта ищу подходящий ЯП. Вроде бы Go то, что нужно, но я не знаю его, так что не могу быть уверенным наверняка. Подскажите, пожалуйста, насколько он соответствует вот таким требованиям:
* не надо вручную управлять памятью (т.е. наличие GC или чего-то подобного)
* возможность легко и непринуждённо скомпилить в нативный код
* кроссплатформенность (Windows, Linux, Mac OS)
* хорошо развитая стандартная библиотека для работы с сетью (нужно как достаточно просто уметь поднимать REST API сервис, так и работать с tcp/udp стеком напрямую)
* наличие файлового ввода-вывода в стандартной библиотеке
* поддержка в стандартной библиотеке работы с процессами
* адекватная система сборки с пакетным менеджером на борту (что-то по духу близкое к maven будет вообще каеф)

Slava
11.09.2018
19:38:42
Го должен подойти

Zver
11.09.2018
19:39:09
Всем привет, сейчас для нового проекта ищу подходящий ЯП. Вроде бы Go то, что нужно, но я не знаю его, так что не могу быть уверенным наверняка. Подскажите, пожалуйста, насколько он соответствует вот таким требованиям:
* не надо вручную управлять памятью (т.е. наличие GC или чего-то подобного)
* возможность легко и непринуждённо скомпилить в нативный код
* кроссплатформенность (Windows, Linux, Mac OS)
* хорошо развитая стандартная библиотека для работы с сетью (нужно как достаточно просто уметь поднимать REST API сервис, так и работать с tcp/udp стеком напрямую)
* наличие файлового ввода-вывода в стандартной библиотеке
* поддержка в стандартной библиотеке работы с процессами
* адекватная система сборки с пакетным менеджером на борту (что-то по духу близкое к maven будет вообще каеф)
В принципе соответствует. По системе сборки не скажу, соответствует или нет последнему пункту.

Google

Denys
11.09.2018
19:39:31
наличие файлового ввода-вывода в стандартной библиотеке - что значит файлового ?

Nikita
11.09.2018
19:39:53
ну писать в файлики / читать из них

Slava
11.09.2018
19:41:56

Nikita
11.09.2018
19:44:10
Пасиба всем за ответы. И ещё один вопрос: что сейчас с IDE? GoLand норм? Если нет, то посоветуйте что-нибудь, плз

Евгений
11.09.2018
19:44:31

Roman
11.09.2018
19:45:32

Евгений
11.09.2018
19:45:49
Спасибо огромное! Сейчас попробую

Abdulla
11.09.2018
19:45:58

J
11.09.2018
19:48:41

Roman
11.09.2018
20:04:46
Добрый вечер. Подскажите. Есть стэк.
Golang, несколько версий go, для каждого проекта свои зависимости.
Если с разными версиями SDK понятно, их в IDE можно настроить для каждого проекта отдельный GOROOT. То как быть с зависимостями? Когда-то читал что для этого gb придумали.
Также видел что в версии 1.11 добавили модули. В общем как это всё в кучу собрать по уму в Golang

Roman
11.09.2018
20:06:11

Roman
11.09.2018
20:12:31

Aleksandr
11.09.2018
20:14:39

Kirill
11.09.2018
20:16:28
(я не мог не набросить на вентилятор)

Aleksandr
11.09.2018
20:17:02
поэтому не принимается наброс

Roman
11.09.2018
20:17:52
Ну допустим что ниже 1.11 не буду использовать

Aleksandr
11.09.2018
20:18:09
тогда го модули

Google

Milkiweed
11.09.2018
20:18:20
а тут никто случаем не имел дел с телефонией?
хотелось бы знать, стоит ли начинать применять го в этой теме и есть ли какая-нибудь либка или чот удобное для связи с asterisk

Aleksandr
11.09.2018
20:18:57
а что нужно?
там же текстовый протокол и сокеты

kopMuk
11.09.2018
20:19:23
Зачем там го? Динамика/статика и так на месте

Aleksandr
11.09.2018
20:20:33

Milkiweed
11.09.2018
20:21:52
ну на чем-то надо же писать, я вообще еще только начинаю понимать принципы работы voip
но в любом случае сервер и обработку надо )
задача стоит сделать возможность звонить и еще разные плюшки
на питоне видел либа есть под это целая, а на го чет менее популярно

DMITRY
11.09.2018
20:22:44

kopMuk
11.09.2018
20:22:56
Зачем тебе яп

DMITRY
11.09.2018
20:23:06
https://github.com/ivahaev/amigo офигенная штука

kopMuk
11.09.2018
20:23:17
Экстеншенс конф, на крайняк аел

Aleksandr
11.09.2018
20:23:38

DMITRY
11.09.2018
20:24:01
не нужна lua все через AMI решается

Milkiweed
11.09.2018
20:24:35

Aleksandr
11.09.2018
20:24:39
не нужно ami, все через lua решается

DMITRY
11.09.2018
20:25:21
на декстопе\web

Milkiweed
11.09.2018
20:26:03

DMITRY
11.09.2018
20:27:39
для управление и приемом эвентов нужно использовать AMI,выше кинул библиотеку которая решает 100% на GO

Milkiweed
11.09.2018
20:28:41
спасибо большое

Google

DMITRY
11.09.2018
20:28:54
в данный момент на основе ее пилю штуку с websocket для управления и получения событий в web
в планах после теста в продуктиве,выложить в опенсорс

Milkiweed
11.09.2018
20:30:02
круто
буду знать к кому обращаться если что)

DMITRY
11.09.2018
20:30:12
пиши без проблем

Admin
ERROR: S client not available

Roman
11.09.2018
20:31:10
тогда го модули
Пока что не понятно как импортировать чужой код, который еще не оформлен как модули. И так как go хочет избавиться от вендоринга, я в замешательстве

Евгений
11.09.2018
20:32:46
Роман и Илья - спасибо вам большое! Ответ очень помог и работает!
да

Aleksandr
11.09.2018
20:34:42
не обязательно использовать либу, офоормленную модулем, если ты об этом
он кушает и старого типа либы

Roman
11.09.2018
20:39:48
а сейчас как? просто в gopath лежит?
Да. Раньше у меня была одна версия go, и я все доставлял через go get в общую папку.
Но мне не нравится это решение тем что тот же автокомплит в GoLand подтягивает зависимости из других проектов, ну и для разных проектов хотелось бы лочить версии.
P.S. сейчас я готов закрыть глаза на старую модель разработки, и устаревшие версии. Начинаю новый проект, в котором хочу чтоб был порядок и только те зависимости с которыми он работает. Ничего лишнего так сказать

Aleksandr
11.09.2018
20:42:41
собственно смотри. начинаешь проект ВНЕ gopath. В нем автоматически включается поддержка модулей.
go mod init github.com/username/project - создаем go.mod
дальше при выполнении go get library мы устаналиваем пакет не в gopath, как раньше было, а в gopath/pkg/mod - если правильно помню. Плюс либа прописывается в go.mod

Roman
11.09.2018
20:45:13

Aleksandr
11.09.2018
20:46:19
не должен

Roman
11.09.2018
20:55:35
При попытке доставить библиотеку
go get library github.com/zelenin/go-tdlib
вылетает
$GOPATH/go.mod exists but should not
go.mod в папке создался и содержит одну строчку. В той же папке вызываю go get library
module github.com/username/project

Сергей
11.09.2018
21:19:06

Roman
11.09.2018
21:19:44

Roman
11.09.2018
21:24:07
Разобрался! Модули огонь!)))

Google

Abylay
11.09.2018
21:25:33

Сергей
11.09.2018
21:28:46

Aleksandr
11.09.2018
21:30:20

Milkiweed
11.09.2018
21:30:28

Сергей
11.09.2018
21:31:40

Milkiweed
11.09.2018
21:32:43

Dk
11.09.2018
21:46:03
Эээ, а модули – это замена GOPATH? Вчера про него читал и не понял как с несколькими проектами это делать


Roman
11.09.2018
21:47:55
Эээ, а модули – это замена GOPATH? Вчера про него читал и не понял как с несколькими проектами это делать
Пошаговая инструкция вдруг кому пригодится
mkdir ./newProject
cd newProject
go mod init testModule
дальше просто создаем для теста файл, в той же папке
package main
import (
"fmt"
"golang.org/x/crypto/ripemd160"
)
func main(){
hasher := ripemd160.New()
hasher.Write([]byte("The quick brown fox jumps over the lazy dog"))
hashBytes := hasher.Sum(nil)
hashString := fmt.Sprintf("%x", hashBytes)
fmt.Println(hashString)
}
Как видим тут есть зависимость которая еще не установленна
ripemd160
Дальше делаем run. Все остальное компилятор подтянет и добавит сам. (Касательно Goland он вначале подсвечивал зависимость как missing, но после первого запуска даже через интерфейс, ее подтянуло и он ее сразу увидел. Главное не забыть поставить галочку в настройках для vgo).
Это магия товарищи

Александр
11.09.2018
21:49:36
а что за go mod O_o

Nyan
11.09.2018
21:49:51

Александр
11.09.2018
21:50:10

Nyan
11.09.2018
21:50:30
https://github.com/golang/go/wiki/Modules

Aleksandr
11.09.2018
21:51:18