@rubyschool

Страница 851 из 921
Roman
02.10.2018
14:04:17
Вполне можно обойтись и без TDD

Поэтому BDD полностью может заменить TDD

Dmitry
02.10.2018
14:04:38
Вполне можно обойтись и без TDD
Можно вообще без тестирования обойтись :)

Roman
02.10.2018
14:05:12
Можно вообще без тестирования обойтись :)
Многие отказываются уже от TDD, так как в нем нет смысла))

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 на полную, а потом жаловаться на то, что низкая производительности и тыкать в договор.

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
def +(other) BookInStock.new("#{@title}, #{other.title}", "#{@author} and #{other.author}", @price + other.price) end
У тебя это отдельный метод или класс тоже есть ? К примеру, откуда инстанс переменная @title и @price тянется ? А так это создание в памяти объетка BookinStock, но не в базе.

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
@title и @price очевидно инстанс переменные
Очевидно, но если они ни к чему не привязаны и вызываются только в методе, то это уже не очевидно ?

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

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()

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

Roman
03.10.2018
07:12:43
def +(other) назови нормально. сначала.
не хочу тебя расстраивать, но подобный метод даже в вики называется def+(another)

кстати если кому интересно тут норм объясняют

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

Страница 851 из 921