Anatoly
По-опыту LSI того стоит, главное взять серевера с батарейкой, а то некоторые вендоры базовую поставку без батарейки делают, а с батарейкой более дорогая версия, с одной стороны с не очень адекватной стоимостью, с другой - все дешевле чем пропускать все сервера через себя или вызывать аутосос для замены.
Vladimir
я могу добровольно подвязаться на пощупать сервера пока они в распоряжении R&D чтоб понять какой конфиг с новым железом мне по прежнему будет подходить, но это сугубо добровольно
Vladimir
Vladimir
я ради теста посмотрел на моих нагрузках hw raid и mdadm - mdadm оказался стабильно на 1% быстрее
Vladimir
что недостаточно хорошо чтобы просить сделать ради меня сноуфлейк
Anatoly
проверь время ребилда)
Vladimir
но достаточно показательно чтобы мне например не парится и если мне предложат тупой контроллер но с софтовым рейдом - выбрать его
Vladimir
@snd3r у моего сервиса там raid0 и 4-х кратная репликация данных посерверно в смысле. Потому что время копирования по сети и время ребилда рейда1 и ресинка было сопоставимо.
Vladimir
а если нет разницы, зачем парится о ребилде вообще, если в конце будет ресинк?
Anatoly
Справледливо
Vladimir
для другого сервиса может быть были бы другие выводы
Vladimir
а, ну еще во всяком фронтэнде - тоже без разницы, так как проще пересетапить все
Vladimir
вот кстати на 1000 серваков стоимость рейд контроллера погрешностью уже не факт что будет :)
Anatoly
может быть, но тут тоже смотря с какого уровня абстракции смотреть, если я могу зажечь диод на корзине и сказать обезьянке поменять этот диск и закрыть проблему, то вероятно стоимость поддержки станет дешевле на мое время не потраченое на менеджмент этой проблемы
Anatoly
а я хоть и не один, но нас не много
Vladimir
Anatoly
вероятно, в этом у меня нет экспертизы от того, что аппаратные рейды достаточно хороши для нас и бизнес готов нам оплатить эту маленькую слабость ^_^
Stepan
А где она есть?
Илья
https://github.com/golang/go/issues/4594
Илья
The issue you want to read is #20100 from 2017 which was approved and will be added to Go 1.10.
Stepan
Stepan
В питоне вроде есть.
Илья
ну, это да, добавят в 1.10, я натыкался на статью про это буквально пару дней назад
Илья
https://www.cockroachlabs.com/blog/rounding-implementations-in-go/
Илья
но, да , пока в math нет
Anonymous
А как же Floor и вроде как Ceil?
Илья
см статью
Anonymous
Доперло что не так, окей
Мерль
The community driven fork of Iris. The fastest web framework for Golang!
https://github.com/go-siris/siris
Мерль
Michael
what's up?
Michael
оно уже и не форк ириски
Michael
и ириска уже не-продана-акаазываецца
Michael
ну на сириске вроде бы было видно что форк
Michael
сейчас - нет
Michael
а не, только упоминание в title
Michael
бред какой-то
Michael
та ладно, тут такая сантабарбара, а вы всё о форках
Anatoly
расскажите новичку почему ирис плохой?
Илья
enjoy the show
Anonymous
Anonymous
Anatoly
А с технологической стороны как этот фреймворк? Стоит ли фильтровать его "комьюнити дривен" форки?
Илья
хз, я только драммы видел, когда нужно было упороться, на голом fasthttp вещи лабал
Slava
Slava
Оно токсично
Мерль
Slava
Форк плохо пахнущего кода пахнет ровно так же
Anatoly
Так кто плохо пахнет, код или разработчик?
Anonymous
engelbart
Про ложки и косманавтов знаете?
engelbart
Осадочек то остался
Anatoly
По-моему в том анекдоте небыло космонавтов.
Alexey
Vladimir
в 1.10, а не 1.9
Slava
Anonymous
Mr
Konstantin
Ребят, где-то видел хороший пример, а сейчас не могу найти.
Как сделать так, чтобы у нас одна горутина ждала пока другая горутина пришел данные в канал?
Вот есть
url := make(chan string, 1)
И в одной горутине ищется нужный url, который бы отправлялся в этот канал.
А другая горутина должна ждать пока в канале не придет горутина и когда это наконец-то произойдет выполнять действие.
Пока в голове что-то типо такого, но не уверен, лучший ли это вариант
https://play.golang.org/p/qichhYsY0U
Daniel
sleep лишний
Daniel
потому, что не надо b запускать в горутине
Konstantin
Это для примера, чтобы был виден результат, так мне именно горутина нужна
Daniel
и я все же думаю, что в b надо передать канал
Daniel
потому как горутина b не запустится, пока из канала что-нибудь не прочтется
Stanislav
Stanislav
пример хреновый, но понимание дает
Konstantin
Konstantin
Stanislav
Stanislav
а если нужно, чтобы они (горутины) работали конкуретно - for { select {} } твой друг