@gogolang

Страница 858 из 1630
Slava
24.02.2018
20:55:03
можно и так

я лично всё тестирую на реальной базе =) так тупо проще

Nik
24.02.2018
20:55:29
С другой - собирать все окружение на своём компе - гемор

Google
Nik
24.02.2018
20:56:20
Особенно если у тебя есть и каучбейс, и эластик, и редис и мускул

И ещё зоопарк

Вариант 2 - CI собрать

Но тут надо пушить и смотреть результаты

3-5 минут

С моками тупо быстрее

Но как нам сегодня сказали - разработчики драйверов в большинстве своём тесты не пишут

Slava
24.02.2018
20:58:43
тебе в любом случае собирать девелоперское окружение

иначе как разрабатывать? =)

и в нём тесты и сервисы должны подниматься, иначе как они тестируются? =)

Илья
24.02.2018
21:00:37
Вариант 2 - CI собрать
сейчас так и есть, сложно поддерживать

Nik
24.02.2018
21:00:40
Если я что то зарефактлрил немного, или сделал быстрый фикс - я хочу быстро протестить, а потом уже выплюнуть все в CI и уйти пить кофе. А так надо над ним сидеть и смотреть

сейчас так и есть, сложно поддерживать
Поддерживать не сложно, просто надо этим заниматься. А не все хотят.

Google
Nik
24.02.2018
21:01:29
По идее должны быть админы , которые все поддерживают. Но обычно из нет

Alan
24.02.2018
21:08:27
Slava
24.02.2018
21:09:39
нет

По идее должны быть админы , которые все поддерживают. Но обычно из нет
почему админы? Кому это надо? - программистам, пусть сами и поддерживают

Nik
24.02.2018
21:10:47
Пусть и сами сервера собирают

И сами себе гит на сервера ставят

И сами себе окружение

Alan
24.02.2018
21:11:24
я знаю, кто этим занимается

девопсы)

Nik
24.02.2018
21:11:30
И сами пусть деплоят

И сами админы

Фулстек прогер=девопс

Slava
24.02.2018
21:11:47
почему нет?

Nik
24.02.2018
21:11:48
))

почему нет?
Потому что прогать некогда будет

А в остальном проблем нет

Slava
24.02.2018
21:12:22
а смысл прогать, если деплоить некуда? =)

Nik
24.02.2018
21:13:02
Потому я набрал умных стремящихся студентов. Они мне поднимают инфрастуктуру, и деплоят, и ci админист

И им полезно и мне удобно, и они в фоне в код смотрят, иногда пару строк пишут

Google
Slava
24.02.2018
21:14:17
мм, отправлять студентов на самую опасную/сложную часть это правильно =)

Nik
24.02.2018
21:14:44
Не сразу конечно, но результатам за 2 два года очень доволен

Slava
24.02.2018
21:15:24
как же доволен, если девелоперсого окружения нет нормального? =)

Nik
24.02.2018
21:17:01
Работает

Меня огорчает что долго

Именно что надо пушить

А не на своём ноуте

Alan
24.02.2018
21:18:48
ну видимо что-то не то у вас с ci, если на своем ноуте выходит заметно быстрее

Nik
24.02.2018
21:19:20
ну видимо что-то не то у вас с ci, если на своем ноуте выходит заметно быстрее
Мок на ноуте всегда быстрее, чем поднят в контейнере чистую базу

Нет?

Slava
24.02.2018
21:20:31
обычно время программистов ценнее, если это конечно не умные студенты

Nik
24.02.2018
21:23:36
Кто из пристувующих держит на рабочей машине базу для тестов чистую (не ту, на которой идёт разработка)

Alan
24.02.2018
21:23:47
Нет?
Мне кажется, если все делается одинаково, то разницы быть не должно, где поднимать

Никита
24.02.2018
21:27:08
а зачем её держать, она поднимается во время тестов
Смотрел твои выступления про Go, забавно было слушать ?

Slava
24.02.2018
21:27:24
почему забавно? =)

Никита
24.02.2018
21:27:35
Ну, весело объясняешь

Nik
24.02.2018
21:27:52
Мне кажется, если все делается одинаково, то разницы быть не должно, где поднимать
Мок по времён дольше чем поднимать базу в контейнере и заливать в неё тестовые данные? Серьезно?

Google
Никита
24.02.2018
21:28:01
И вполне интересно

Slava
24.02.2018
21:28:34
спасибо =)

Nik
24.02.2018
21:28:40
а зачем её держать, она поднимается во время тестов
Если это sql - то ещё куда ни шло. А если couchbase например?

Slava
24.02.2018
21:29:09
к сожалению не знаю, что с каучбейз =)

Nik
24.02.2018
21:29:39
Если мускул пустой более менее норм, то что посерьёзнее уже тяжело поднимать на рабочей тачке

Потому в CI и на серверах тестить

И тесты на чистых инстансах

А пока ты кодишь, играясь с базой, и на ней же тестишь - это уже не совсем чистый тест

Admin
ERROR: S client not available

Alan
24.02.2018
21:33:23
можно держать 2 инстанса - дев и тест

Nik
24.02.2018
21:34:05
Если это два тонких sql то да. Если базы тяжеловаты, или само хранилище более требовательно - то уже нет

Alan
24.02.2018
21:35:50
ну как то же тестят терабайтные базы ?

Slava
24.02.2018
21:36:00
наверное не тестят =)

Nik
24.02.2018
21:36:11
ну как то же тестят терабайтные базы ?
Не на локальных дев машинах наверно

Slava
24.02.2018
21:36:25
ну или тестят только производительность/верность данных

у нас девелоперское окружение работает в амазоне

на 16гб инстансах

на локальной машине всю память голанд съедает на пару с хромом )

Nik
24.02.2018
21:37:53
на локальной машине всю память голанд съедает на пару с хромом )
Люблю джетбреин за работу с гитом. В остальном - жручий ад

Google
Nik
24.02.2018
21:38:06
на 16гб инстансах
У меня 128гб физики)

Slava
24.02.2018
21:41:32
в тестах не обязательно все данные тащить ведь

ну и другой момент, не обязательно все тесты запускать при разработке. а в CI они могут и час отрабатывать

Nik
24.02.2018
21:56:56
ну и другой момент, не обязательно все тесты запускать при разработке. а в CI они могут и час отрабатывать
Предлагаю разойтись на мнении, что есть горячие тесты, и все остальные.

И все объём надо крутить на ci перед деплоем на чистом окружении

И разойтись спать?

Slava
24.02.2018
21:58:03
не понял последнего аргумента =) но не важно

Nik
24.02.2018
21:58:26
))

The
24.02.2018
22:57:00
подскажите, как правильней всего организовать мапу с TTL? мне нужно, чтобы каждое значение мапы жило допустим около 60 секунд, а потом удалялось. как это делается? создается горутина, которая делает слип и потом удаляет элемент мапы?

The
24.02.2018
23:12:15
Мне пока нужно для понимания работы, есть где применить в принципе, но пока обходился без этого.

DimenSi
24.02.2018
23:13:17
к счастью исходники go пакетов читабельны

The
24.02.2018
23:20:52
я просто вижу пару решений: 1) на каждый элемент мапы - спящая горутина, которая по таймауту удалит по ключу значение из мапы. мне кажется, самое плохое решение. 2) при добавлении элемента, пишем в какую-то другую мапу значение когда нужно удалить элемент, а по ней итерируемся и лочим через мьютексы её, если нужно удалить, при этом можно иногда ложить в сон эту горутину, до близжайшего элемента который нужно удалить. 3) нагромоздить что-то вроде очереди, в которой первый элемент это всегда самый ближний на удаление, а при добавлении собственно добавляем в то место, где элемент -1 удалится раньше, а элемент +1 удалится позже. и это только то, что удалось придумать мне. какая из этих реализаций лучше, черт его знает.

у меня иногда проблемы с чтением чужих сурцов

Хорошо когда есть комменты, а то вот допустим: type Cache struct { *cache // If this is confusing, see the comment at the bottom of New() }

The
24.02.2018
23:32:22
да, но это ж на каждый элемент горутину нужно

Страница 858 из 1630