
Ilya
05.10.2018
12:06:43
и?
Делать тест в транзакции и потом сбрасывать? Возможно это вариант

Сергей
05.10.2018
12:07:17

Ilya
05.10.2018
12:07:17
Хотя мне бы тестовые данные а не реальную базу

Сергей
05.10.2018
12:07:38
тестовые данные уже в коде теста надо заливать, а не заранее

Google

Ilya
05.10.2018
12:08:07
Так если у меня транзакция над реальной базой то там уже есть данные
Или делать truncate в init?
Как то это того...

Сергей
05.10.2018
12:09:29
для тестов отдельно схему создавай и дропай по окончании тестов

Ilya
05.10.2018
12:10:01
Ну мне нужна чистая база в которую я положу тестовые данные

Сергей
05.10.2018
12:10:21
да, новые создавай, накатывай таблицы, и после тестов дропай
главное, чтобы тесты были независимые

Ilya
05.10.2018
12:10:53
Забыл про схемы)

Сергей
05.10.2018
12:11:14
каждый создавал свои данные, проходил как один так и со всеми вместе, успешность тестов не зависела от порядка прохождения тестов и тд
тогда это хорошие тесты)

Ilya
05.10.2018
12:11:33
Согласен)

Google

Pawel
05.10.2018
12:15:33
если надо адрес первого элемента в слайсе, так можно - uintptr(unsafe.Pointer(&b[0])) ?

Mykyta
05.10.2018
12:25:48

Pawel
05.10.2018
12:29:01
header := *(*reflect.SliceHeader)(unsafe.Pointer(&b)) ?

Mykyta
05.10.2018
12:32:20

Pawel
05.10.2018
12:49:38

Artem
05.10.2018
12:49:48
Кто нить юзает Pgx? я вот читал мол там на каждый запрос сначала отсылается prepared statement. То есть судя по всему от SQL Injections я буду защищен и мне можно вообще забить на почти все првоерки?

Mykyta
05.10.2018
12:50:38

Artem
05.10.2018
12:50:48
а имя таблицы можно так передать? ну типа Select * from $1 where … ?

Mykyta
05.10.2018
12:51:11

Artem
05.10.2018
12:51:24
ну да. prepare statements

Mykyta
05.10.2018
12:51:58

Сергей
05.10.2018
12:51:59

Aleksandr
05.10.2018
12:52:00

Artem
05.10.2018
12:52:16

Mykyta
05.10.2018
12:52:24

Artem
05.10.2018
12:53:22

Shahzod
05.10.2018
12:54:39
DROP TABLE tableName;

Google

Artem
05.10.2018
12:55:11
ну вопрос о том и был. Спасут ли плейсхолдеры и prepared statement от такого

Aleksandr
05.10.2018
12:56:17
от какого?

Sergey
05.10.2018
12:56:51
Посоветуйте, что почитать для углубленного изучения Go?
Там, reflect, unsafe, ...

Artem
05.10.2018
12:57:09
от параметров вида “; drop table users; "

Aleksandr
05.10.2018
12:57:16
да
то есть это именно для этого и сделано

Shahzod
05.10.2018
12:57:58
Никогда не доверять пользовательским данным! Они всегда дольжны проходить через валидаторы. Сергей прав

Artem
05.10.2018
12:58:22

Mykyta
05.10.2018
12:59:26

Shahzod
05.10.2018
13:00:16

Artem
05.10.2018
13:01:37
окей. есть какие нить валидаторы которые как аннотации к колбекам сервера запиливаются? А то я кастомный написал и он получился гавно с правилами вида const ListEventsIdRule = "request_id,any,nospace,minl=1,maxl=172,req"

Сергей
05.10.2018
13:02:46
валидаторы проверят как минимум тип, отсекут злонамеренно сформированные запросы с данными на граничных условиях - NaN, огромные числа/строки, битые даты

Vildulv
05.10.2018
13:03:07
а есть для Go типа <другой язык> right way? Или вот это оно: https://golang.org/doc/effective_go.html#introduction ?

Artem
05.10.2018
13:11:23

Vildulv
05.10.2018
13:12:07
ясно ,спасибо

Michael
05.10.2018
14:30:22
Привет всем. Наткнулся на один интересный случай. Я уже понял, почему так происходит, но всегда думал, что case в select не может залочиться и всегда выполнится default. Оказалось нужно внимательнее доку читать
Думаю будет интересно посмотреть:
https://play.golang.org/p/vblaXUZFvXY

Daniel
05.10.2018
14:31:11
так залочился не селект
залочилось то чтение из канала, которое не в селекте

Pavel
05.10.2018
14:34:45

Michael
05.10.2018
14:36:35

Google

Michael
05.10.2018
14:36:56
Потому что не может из in прочитать

Pavel
05.10.2018
14:37:45
Ок.
Ну вообще странный код я за пару лет на го такого не видел не писал.

Daniel
05.10.2018
14:38:54

Kirill
05.10.2018
14:40:21

Daniel
05.10.2018
14:40:39
не

Kirill
05.10.2018
14:40:50
тьфу, нет же

Daniel
05.10.2018
14:40:52
это чтение из in и немедленно отправка в out

Kirill
05.10.2018
14:40:54
pipe

Admin
ERROR: S client not available

Daniel
05.10.2018
14:42:03
а chan chan'ов я регулярно использую
вернее - chan структур, в которой есть chan
типа "сделай вот это и пришли мне результат вот по этому каналу"

Интернет Магазин
05.10.2018
14:42:41
Реябт добрый день, я новичек в Го надеюсь вы не против будете видеть меня и мой вопросы в группу.

Dmitry
05.10.2018
14:43:00
Вроде же все логично, из in один раз прочитали, во второй раз будет лок...

Vladimir
05.10.2018
14:44:50

Artem
05.10.2018
14:45:18
Давайте поможем сделать Go еще круче. Чуваки из кор тим просят заполнить опросник. ?
https://blog.golang.org/company-questionnaire2018

Интернет Магазин
05.10.2018
14:45:53
Это я понимаю, пока я учил Angular, меня много пинали :)

Viktor
05.10.2018
14:46:33

John
05.10.2018
14:47:32

Pavel
05.10.2018
14:48:04

Интернет Магазин
05.10.2018
14:48:08
Одно хочу сказать, это первый язык который мне вот прям сразу понравился (хотя это может быть плохо), не Nodejs ни php этого не смогли сделать.

Google

John
05.10.2018
14:48:33

Viktor
05.10.2018
14:48:45

John
05.10.2018
14:49:13

Pavel
05.10.2018
14:49:50

Daniel
05.10.2018
14:49:52

Viktor
05.10.2018
14:49:54

Pavel
05.10.2018
14:50:04

Daniel
05.10.2018
14:50:28
да, примерноо так все и будет

Sergey
05.10.2018
14:51:21
пока тут нубские вопросы задают, тоже вклюинюсь.
А никто не встречал годной статейки по синглтонам в реалиях го?

Daniel
05.10.2018
14:51:55
а что с ними не как обычно?

Интернет Магазин
05.10.2018
14:51:59

Daniel
05.10.2018
14:52:12
зависит от задач
на go - пока? - очень мало библиотек под типовые бизнес-задачи
соответственно - в энтерпрайз на go заехать трудно

ainu
05.10.2018
14:53:55
ни у одного языка я не видел такого вот сходу количества
надо тебе ком порт или рендеринг рейтресинг - пожалуйста

Daniel
05.10.2018
14:54:34
это другое

Сергей
05.10.2018
14:54:34

ainu
05.10.2018
14:54:36
ML не хватает только (это у всех проблемы кроме питона)

Daniel
05.10.2018
14:54:52

Сергей
05.10.2018
14:55:06
какие именно бибилиотеки?