
Roman
02.10.2018
14:04:17
Вполне можно обойтись и без TDD
Поэтому BDD полностью может заменить TDD

Dmitry
02.10.2018
14:04:38

Roman
02.10.2018
14:05:12

Google

Roman
02.10.2018
14:05:26
а проверить свой код можно спокойно и с помощью BDD)

Dmitry
02.10.2018
14:05:49

Roman
02.10.2018
14:06:38
далеко не все из этого используют))
Есть типа идеал, а есть реальность?

Dmitry
02.10.2018
14:25:43
но вообще было интересно на чем лучше докер развернуть
так нихрена и не понял на чем, если честно - я не гуру линукса :(

Roman
02.10.2018
14:27:26
как понять на чем?

Dmitry
02.10.2018
14:28:55

Roman
02.10.2018
14:29:21

Dmitry
02.10.2018
14:29:49
нет, в смысле на какой ос он будет крутиться

Roman
02.10.2018
14:30:15
а почему это важно? он на любой ос заводится, даже на винде

Dmitry
02.10.2018
14:31:20
У меня кейс - развернуть на виртуальной машине. Например PhotonOS обещает полную перезагрузку сервера примерно за 5 секунд на VMWare и минимальное потребление ресурсов

Google

Dmitry
02.10.2018
14:32:14
RancherOS вроде как вообще все пытается в докер запихнуть

Roman
02.10.2018
14:32:45
хз что за кейсы, всегда брал убунту/дебиан

Dmitry
02.10.2018
14:33:41
Ubuntu Core тоже хотел посмотреть, но времени не хватило

Roman
02.10.2018
14:34:48
а как ос влияет на производительность докер-контейнеров?

Fedor
02.10.2018
14:35:48
у TDD были проблемы с тем, что тестов становилось слишком много и люди просто не успевали писать код
BDD - это тоже самое, но только надо понимать какие тесты реально нужны
мы перестаем пытаться покрыть тестами все и покрываем только гринвей, проверям что система работает
то или после - кому как удобнее
примерно так

Dmitry
02.10.2018
14:37:40
Виртуализация сама по себе так или иначе снижает производительность. В каких то случаях это заметно сильнее, в каких то - меньше.
То есть, условно, в одном случае у тебя съестся 100МГц на нужды виртуализации, а в другом - 400.

Roman
02.10.2018
14:39:21
это понятно, но я не понимаю, как на это ос влияет

Dmitry
02.10.2018
14:41:07
оптимизация под конкретную задачу. Отключение (и вообще выпиливание) лишних процессов.
Тут можно привести в пример 1С, которая заметно просаживается в производительности, если на сервере не отключить все лишние процессы.

Roman
02.10.2018
14:42:59
когда это ос становилась узким местом? ?
оптимизация ради оптимизации - плохая практика

Dmitry
02.10.2018
14:46:02
По крайней мере для облачных решений

Roman
02.10.2018
14:46:32

Di
02.10.2018
14:46:41
Ребята есть какая годная видео визитка ?

Google

Di
02.10.2018
14:47:00
Скиньте ссылку

Dmitry
02.10.2018
14:47:12
Тебе же никто не выделяет гарантированные ресурсы. Ты купишь 3.5 ГГц, а тебе гарантируют только 10%, а остальное по переподписке

Roman
02.10.2018
14:47:21
руби сам по себе не про ограниченные ресурсы

Dmitry
02.10.2018
14:47:40
Можно, конечно купить гарантированно, но это много дороже
собственно вся бизнес модель облачных провайдеров на том и построена, что ты продаешь больше, чем у тебя есть

Roman
02.10.2018
14:48:54
облачные провайдеры тебе обычно дают на выбор убунту/дебиан
центос

Dmitry
02.10.2018
14:49:13
Тебя ничто не останавливает что то свое поставить
обычно там темплейты просто загружены на самые популярные ОС

Roman
02.10.2018
14:53:29
а зачем так себе жизнь усложнять? какие ты ждешь нагрузки, чтобы тебе не хватило каких-нибудь 2 ядра/4 гига с убунтой?

Dmitry
02.10.2018
14:55:46
Я вообще никаких не жду. Но не называя имен скажу, что есть клиенты, которые любят купить самую дешевую машину и захреначить использование CPU и SSD на полную, а потом жаловаться на то, что низкая производительности и тыкать в договор.

Roman
02.10.2018
14:56:44

Dmitry
02.10.2018
14:56:46
Поэтому мы как провайдер сейчас прорабатываем решения по вариантам оптимизации для таких клиентов.
Но и послать без оснований тоже нельзя

Roman
02.10.2018
14:58:24
99% серверов - это убунту, центос, дебиан, вряд ли какой-то админ захочет возиться с каким-то неизвестным дистрибутивом
собственно на них и докер без проблем ставится
в докер контйнеры обычно ставят alpine linux

Alex
02.10.2018
15:03:53
alpine конечно хорошо, но с ним возиться придется, когда тебе нужны специфичные пакеты и библиотеки

Yuriy
02.10.2018
15:22:19
Плюсану за центос

Google

Yuriy
02.10.2018
15:23:40
Работает шикарно, с учётом того что гоняю докер в докере

Vladimir
02.10.2018
16:22:11
центос хорош, но, зараза с обновлением пакетов запааааздывает относительно тех же бубунту

spartakusQ
02.10.2018
22:27:11

Ro
02.10.2018
22:30:16
Game.new.start_game
если это метод экземпляра класса
если это статический метод, то Game.start_game
ты же книгу читал, должен знать) Или задания не делал? ?

spartakusQ
02.10.2018
22:31:44
не читал книгу

Admin
ERROR: S client not available

spartakusQ
02.10.2018
22:32:02
у меня её не сохраняло

Ro
02.10.2018
22:32:02
а.. ну читай тогда, и задания делай

spartakusQ
02.10.2018
22:32:10

Ro
02.10.2018
22:32:10
см.в привате
надо сделать объект класса
повторить: что такое класс, что такое экземпляр класса (объект)
ну и что такое статические методы
из конструктора, кстати, желательно не вызывать методы, не должно быть никакого поведения в конструкторе
also: https://www.yegor256.com/2015/05/07/ctors-must-be-code-free.html
ну и для целей тестирования удобно

Roman
03.10.2018
06:43:47
кто-то может подсказать как работает данная конструкция..интуитивно есть понимание, но чот я в нем не уверен

Google

Roman
03.10.2018
06:43:49
def +(other)
BookInStock.new("#{@title}, #{other.title}", "#{@author} and #{other.author}", @price + other.price)
end

v
03.10.2018
06:55:33
ну и возвращается в качестве результата операции +

Vitaliy
03.10.2018
06:57:14

v
03.10.2018
06:58:09
и очевидно они созданы при инициализации объекта

Roman
03.10.2018
06:58:52
class BookInStock
attr_accessor :title
attr_writer :author
attr_reader :price
def initialize(title, author, price)
@title, @author, @price = title, author, price
end
def price_in_cents
Integer(@price * 100 +0.5)
end
def price_in_cents=(value)
@price = value / 100.0
end
def +(other)
BookInStock.new("#{@title}, #{other.title}", "#{@author} and #{other.author}", @price + other.price)
end
end

Vitaliy
03.10.2018
06:58:57

Roman
03.10.2018
06:58:57
это весь класс

v
03.10.2018
06:59:37

Vitaliy
03.10.2018
07:00:20

v
03.10.2018
07:01:08
хотя ничто на это не указвает

Vitaliy
03.10.2018
07:01:51

Kim
03.10.2018
07:06:49
название метода странное)
нужно назвать понятно, например add_book()

v
03.10.2018
07:07:42

test
03.10.2018
07:11:43
def +(other)
назови нормально. сначала.

Roman
03.10.2018
07:12:43
кстати если кому интересно тут норм объясняют
https://ru.wikibooks.org/wiki/Ruby/%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%B5%D0%B5_%D0%BE_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B0%D1%85