
Roman
01.08.2018
18:32:07
т.е. абстракций над процессами крос платформенных нет особо.. не знаю как с этим в стд библиотеке Go
хочу внутри тестов API сервак запускать как суб-процесс и его потом убивать по завершению, плохая идея?
(учитывая что периодически работаю на маке, винде и линухе)

Daniel
01.08.2018
18:39:00
не вижу никаких проблем

Roman
01.08.2018
18:41:39
а, стоп...
мой API же тоже на Go написан... и main выгляди буквально вот так:
package main
import (
"flag"
"log"
"os"
"os/signal"
"gitlab.qbeon.com/fitcat-api/api/server"
"gitlab.qbeon.com/fitcat-api/api/server/config"
)
var configPath = flag.String("config", "./config.json", "Path to config file")
func main() {
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt)
flag.Parse()
if err := config.Init(*configPath); err != nil {
log.Fatalf("Couldn't initialize configuration: %s", err)
}
apiSrv, err := server.NewApiServer()
if err != nil {
log.Fatalf("API Server initialization failure: %s", err)
}
apiSrv.Run(stop)
}
я-ж могу по сути API в качестве goroutine'ы запустить прямо в процессе теста

Google

Daniel
01.08.2018
18:42:02
безусловно, да

Roman
01.08.2018
18:43:29
считай...
тест:
1. подключиться к бд
2. создать тестовую бд
3. запустить в отдельной горутине сервер
4. прогнать тест
5. остановить сервер
6. удалить бд
7. вуаля

Roman
01.08.2018
19:01:05

Daniel
01.08.2018
19:02:58
это все еще на одном ядре?

Roman
01.08.2018
19:05:51


Sergey
01.08.2018
20:16:03
писал метод типа Decode() у структуры, пытался так, но не вышло
У меня просто повторяющиеся функции, но там разные тип. Функции вообще идентичные. Решил использовать interface такой
но чот не задекодить:/

Mikalai
01.08.2018
20:20:43
UnmarshalJSON вроде бы нужен

Artem
01.08.2018
20:27:14
кто нить юзает pgx? у меня два селекта внутри транзакции и на второй селект возвращает conn is busy

Subbotin
01.08.2018
20:28:29
Код

Artem
01.08.2018
20:29:35
ща

Google

Artem
01.08.2018
20:31:41
https://pastebin.com/1ruCWMmA
вот в строчке 27 ошибка возвращается
conn is busy

m
01.08.2018
20:34:01

Roman
01.08.2018
20:37:58

Bohdan
01.08.2018
20:44:37
@pragus

Sergey
01.08.2018
20:56:09

Roman
01.08.2018
21:04:17

m
01.08.2018
21:04:51
а какая сетевуха?

Roman
01.08.2018
21:07:44
Круто!
netmap pipes. На реальной карточке я упрусь в физику(вроде 14mpps для 10g).
Но это не дотягивает до 40g(там 56mpps)

m
01.08.2018
21:08:26
А сейчас во что упирается у тебя?
т.е. есть, что ещё улучшать? Разворачивание циколов - это похоже на то, что идеи оптимизации почти иссякли.

Roman
01.08.2018
21:11:45

m
01.08.2018
21:12:58
тогда уверен, что можно ускорить ещё, если ручками распределить переменные по регистрам.

deepIP
01.08.2018
21:35:24
Доброй ночи. Можно вопрос?
у меня есть множество файлов, они у меня открываются, читаются и закрываются разными горутинами. Как можно заблокировать файл, чтобы следующая горутина не могла его открыть, пока с ним не закончит предыдущая. Я так понимаю, что должно быть что-то типа мьютекса.

Vladimir
01.08.2018
21:58:49
точнее я не уверен что средствами ОС получиться на винде, но на нормальных ОС есть flock: https://github.com/theckman/go-flock например так
или если хочетя без библиотеки - можно напрямую сискол дергать

Google

m
01.08.2018
22:37:22


Nazar
01.08.2018
22:39:12
!МНОГО ТЕКСТА !
Привет ребята, у меня проблема жизненная, я уже давно изучаю языки програмирования, инженерию в сфере телекомуникаци, работаю QA automation, но глядя на все мои познания ничего нормально работающего написать не получается, не умею я кодить и книги в этом мне не помогают, видео уроки курсы в своем количестве большом обучают лишь основам, на которых и я останавливаюсь, так как просто не знаю что делать дальше. Вот я и обращаюсь к вам опытным и не совсем разработчикам и т.д. и т.п. Как научится писать программы, понять программирование?
Так же учу ГО ленг поэтому пишу в этой групе, если кому-то интересно передать опыт или просто пообщатся на эту тему пишите в личку, что бы не засорять чат, если есть срветы то я думвю можно и в чат писать, может они еще комуто и пригодятся. СПАСИБО ЗА ВНИМАНИЕ, ГОСПОДА!


Roman
01.08.2018
22:56:15
!МНОГО ТЕКСТА !
Привет ребята, у меня проблема жизненная, я уже давно изучаю языки програмирования, инженерию в сфере телекомуникаци, работаю QA automation, но глядя на все мои познания ничего нормально работающего написать не получается, не умею я кодить и книги в этом мне не помогают, видео уроки курсы в своем количестве большом обучают лишь основам, на которых и я останавливаюсь, так как просто не знаю что делать дальше. Вот я и обращаюсь к вам опытным и не совсем разработчикам и т.д. и т.п. Как научится писать программы, понять программирование?
Так же учу ГО ленг поэтому пишу в этой групе, если кому-то интересно передать опыт или просто пообщатся на эту тему пишите в личку, что бы не засорять чат, если есть срветы то я думвю можно и в чат писать, может они еще комуто и пригодятся. СПАСИБО ЗА ВНИМАНИЕ, ГОСПОДА!
Как научиться писать программы?
Писать программы! Только так.
Не знаешь что писать? В этом и есть корень твоей проблемы. Сначала пойми, какую проблему ты хочешь решить, а потом уже найди ей решение. В поиске решения познаешь все "тайны мастерства" программирования.. это конечно займёт немного времени, год? два? три? сложно сказать, однако - удачи! ?


DreamingKitten
01.08.2018
23:05:28
Он сам и будет типа мутексом

Dmitry
02.08.2018
05:02:24
красиво зашел

Ilya
02.08.2018
06:20:15
Есть модель для бд. С типом даных sql.NullString. Данный тип не парсится в json. Пришлось сделать вот такую обертку.
type JsonNullString64 struct {
sql.NullString
}
func (v JsonNullString64) MarshalJSON() ([]byte, error) {
if v.Valid {
return json.Marshal(v.String)
} else {
return json.Marshal(nil)
}
}
func (v *JsonNullString64) UnmarshalJSON(data []byte) error {
// Unmarshalling into a pointer will let us detect null
var x *string
if err := json.Unmarshal(data, &x); err != nil {
return err
}
if x != nil {
v.Valid = true
v.String = *x
} else {
v.Valid = false
}
return nil
}
И теперь стоит вопрос. Как теперь валидировать эту модель через go-playground/validator ?


Marperia
02.08.2018
06:25:39
!МНОГО ТЕКСТА !
Привет ребята, у меня проблема жизненная, я уже давно изучаю языки програмирования, инженерию в сфере телекомуникаци, работаю QA automation, но глядя на все мои познания ничего нормально работающего написать не получается, не умею я кодить и книги в этом мне не помогают, видео уроки курсы в своем количестве большом обучают лишь основам, на которых и я останавливаюсь, так как просто не знаю что делать дальше. Вот я и обращаюсь к вам опытным и не совсем разработчикам и т.д. и т.п. Как научится писать программы, понять программирование?
Так же учу ГО ленг поэтому пишу в этой групе, если кому-то интересно передать опыт или просто пообщатся на эту тему пишите в личку, что бы не засорять чат, если есть срветы то я думвю можно и в чат писать, может они еще комуто и пригодятся. СПАСИБО ЗА ВНИМАНИЕ, ГОСПОДА!
Я всё думал для повышения собственных скилов начать вести блог «фром джун ту зе мун» о голанге, но не знал, стоит ли.
Ну теперь, видимо, стоит.
Присоединяйся: https://t.me/fjttm


Denis
02.08.2018
08:44:26
кто-нибудь писал на go траффик сниффер?

Alexei
02.08.2018
08:45:24
ну сперва надо реализовать траффик проксер, а уже в нем сниффер, как я понимаю )

Aleksandr
02.08.2018
08:45:27
Господа, а посоветуйте по go годную книжку или курс, пожалуйста?
с акцентом на асинхронку, работу с памятью, оптимизацией

Marperia
02.08.2018
08:49:36

Daniel
02.08.2018
08:51:00
что такое асинхронка?

Aleksandr
02.08.2018
08:51:47
многопоточность, горутины
прошу прощения за жаргон

Daniel
02.08.2018
08:52:40
дело не в жаргоне, а в том, что как раз асинхронности в go и нету

Denis
02.08.2018
08:52:41
https://www.devdungeon.com/content/packet-capture-injection-and-analysis-gopacket попробую по этому туториалу

Marperia
02.08.2018
08:59:41

Эмин
02.08.2018
10:37:46

Google

Vasily Romanov
02.08.2018
10:50:54

⚓D
02.08.2018
11:07:06

Alexander
02.08.2018
11:09:22
а у го есть хот релоад кода? а то надоело каждый раз перезапускать

Виктор
02.08.2018
11:09:44
кажется есть какой-то плагин, но я не помню его название

Marperia
02.08.2018
11:10:04

Виктор
02.08.2018
11:10:59
гугл выдает вот такую утилиту, которая перекомпилирует веб приложение, если детектит изменения в коде https://github.com/codegangsta/gin

Alexander
02.08.2018
11:13:16
спасиюо

Данила
02.08.2018
11:56:40
Здравствуйте. Посоветуйте простой шаблонизатор для Go с поддержкой цикла for и условий (if, else, else if)

Marperia
02.08.2018
11:57:18

Artem
02.08.2018
11:57:28
дефолтный не оч простой

Данила
02.08.2018
11:58:14
Т.е. проверка на вхождение переменной в список

Daniel
02.08.2018
11:59:37
все равно дефолтный

Artem
02.08.2018
12:01:19
https://github.com/avelino/awesome-go#template-engines
поищи, мб че найдешь

Janserik
02.08.2018
12:11:55
Всем привет. Как спарсить строку в excel файле с помощью "github.com/360EntSecGroup-Skylar/excelize"?
Там можно парсить столбец
но мне нужна строка

Zver
02.08.2018
12:29:53
В смысле строку?

Marperia
02.08.2018
12:30:52
А спарсить, очевидно, можно с помощью слайса и append.

Google

Marperia
02.08.2018
12:32:08
Или поячеечно, через GetCellValue и изменение букв.

Subbotin
02.08.2018
12:57:00
парни. а вот такой вопрос: в какую структуру данных организовать буфер в котором набираются данные для равномерности. счас поясню.
допустим у меня есть сервер. и на него 6 машин кидают какие-то пакеты с данными в случайное время и пачками с кучей значений за последнюю секунду. короче такой неравномерный поток данных с разных источников. все кидаемые значения снабжены меткой времени. мне надо как-то их собрать в буфер. и потом по очереди подать на вход одной функции. сообщения которые пришли с временной меткой меньше последней поданной на вход функции надо выкидывать.