
Vasiliy
24.04.2017
12:29:43
таб надо жать 1 раз а пробел два

Dimon
24.04.2017
12:31:01
вот и хорошо, это как один раз отжаться
полезно

Ivan
24.04.2017
12:34:21
я ставлю два пробела одним табом. ЧЯДНТ?

Google

Rafkat
24.04.2017
12:34:31

Dimon
24.04.2017
12:34:46
вы все умрете

Vasiliy
24.04.2017
12:34:59

Rafkat
24.04.2017
12:35:16
вы все умрете
В фильмах так говорит чувак, который обычно дохнет первым

Ivan
24.04.2017
12:39:37

Dimon
24.04.2017
12:40:04
господи
что за видео ты смотришь

Ivan
24.04.2017
12:41:07
пора отключать да. пойду табы жать и пробелы ставить

Dimon
24.04.2017
12:42:08
копирайтер?

Aldar
24.04.2017
12:53:33
https://www.crondose.com/2016/12/practical-machine-learning-ruby/

Dan
24.04.2017
12:54:14
Владимир Дементьев представляет ACLI (http://amp.gs/tETL), интерфейс командной строки для Action Cable на mRuby (!)

Eugene
24.04.2017
13:04:04

Nikita
24.04.2017
16:13:51
Парни, а за сколько можно бу Mac взять, чтобы ssd и не зависал) дюймов 14-15. Территориально Питер. Какая норм цена?

Google

Aleserche
24.04.2017
16:15:51
Прошку?
На авито глянь, проще всего

Vitaliy
24.04.2017
16:18:00
https://journal.tinkoff.ru/macbook-avito/
Хорошая памятка, там же примерные цены

Dimon
24.04.2017
16:38:29
на авито много кидал
прям дохуя

Aleserche
24.04.2017
16:41:50
Есть магазины, которые торгуют бу аппле. Восстановленные или просто немного устарели
С доками коробками и небольшой гарантией

Danila
24.04.2017
16:44:17
14 дюймов не найдешь, все раскупили

Aleserche
24.04.2017
16:45:37
Остались только 13 и 15. Ничего не поделаешь

Vlad
24.04.2017
20:05:30
Реально ли найти дисциплинированного рубиста на удаленку?

I
24.04.2017
20:05:50
да, конечно

Vlad
24.04.2017
20:06:18
В HH искать? Или может есть специализированные ресурсы для удаленных рубистов?

I
24.04.2017
20:06:53
ну если тут по группам никто не подошел, то можешь на moikrug, hh, upwork пойти =)
на последнем будет треш!
но вдруг повезет

Aldar
24.04.2017
20:07:19

Rafkat
24.04.2017
20:08:08

Nikolay
24.04.2017
20:08:15
тесты не пишет

I
24.04.2017
20:08:37
в умении терпеть и не говорить, что так плохо делать

Google

Nikolay
24.04.2017
20:08:39
манкипатчит кор классы
и не ропщет

I
24.04.2017
20:09:22
на апворке вполне какой-нибудь индусик-рельсовик будет в попку дуть за 10-15$

Rafkat
24.04.2017
20:11:03

Vlad
24.04.2017
20:11:05
Мне нужен именно рубист, а не рельсовик
Блин, я никогда не был тимлидом, а руки дополнительные нужны; за деньги. Не знаю, с чего начать

I
24.04.2017
20:13:04
с написания стайлгайда и обсуждения его с коммьюнити? =)
вот холивар-то будет

Nikolay
24.04.2017
20:14:44
все доли закончились?

Vlad
24.04.2017
20:18:35
Деньги + маленькие доли

Danila
24.04.2017
20:18:48

Danila
24.04.2017
20:19:01
и люди к тебе потянутся

Vlad
24.04.2017
20:19:04

Danila
24.04.2017
20:19:15
нет

Vlad
24.04.2017
20:19:28
Тогда прошу аргументировать

Danila
24.04.2017
20:20:00
мне до сих пор снится как ты рефайнил object, чтоб добавить хэшу tap
а тебе другой дурачок сказал спасибо за помощь

Vlad
24.04.2017
20:22:15
Ну, это была ошибка, да. Все мы ошибаемся и учимся)

I
24.04.2017
20:22:35
$db, $logger, $redis все еще используешь?

Google

Vlad
24.04.2017
20:22:45

I
24.04.2017
20:23:00
так и запишем
:D

Vlad
24.04.2017
20:23:03
Аргументы против я так и не увидел

Nikita
24.04.2017
20:23:22

Vlad
24.04.2017
20:26:19

Rafkat
24.04.2017
20:26:55
Файт

Admin
ERROR: S client not available

I
24.04.2017
20:27:17
мне лень спорить/убеждать/учить, это лишнее время и лишний умный человек на рынке

Vlad
24.04.2017
20:28:06
Доказать вину - задача обвиняющего
Так и запишем - балабол

I
24.04.2017
20:28:38
у меня есть маленькое коммьюнити, где я помогаю людям, вне его стараюсь этим не заниматься, это невыгодно

Vlad
24.04.2017
20:44:21
Удивляют такие люди. Цепляются за что-то просто потому что-то расходится с их маленьким мирком, и лезут, лезут

I
24.04.2017
20:49:11
да нет, глобальные переменные в руби - плохая практика, как и во многих языках, это достаточно легко и быстро гуглится
а где агрессия-то?) я спросил про твой стиль, наблюдаю твое развитие со стороны

Eugene
24.04.2017
21:01:08
на личности переходите в личке есичо
второй день говна месите

Nikolay
24.04.2017
21:04:03
можно просто заблокировать неадеквата, который не хочет учиться и тогда никто не будет месить говно

Google

Vlad
24.04.2017
21:04:12
да нет, глобальные переменные в руби - плохая практика, как и во многих языках, это достаточно легко и быстро гуглится
Они плохая практика в случае хранения мутабельных объектов. Я же храню там БД/Редис пулы и инстанс логгера, который, как известно, не изменяется.
Плюсом очень удобно воззвать к глобальному логгеру из shared-библиотеки (считай, гема). Логгер у меня тюнингованый, с другими уровнями и цветной; при этом progname должен быть уникальным для каждого приложения.
Допустим, синглтон. Наследуем в каждом приложении AppLogger < SharedLogger, переписываем у него progname. А теперь вызываем логгер из shared-gem'а. Как это сделать? App1Logger, App2Logger?
Если подойти к глобалкам с умом, сделать их грамотно инициализированными в воркерах, thread-safe и immutable, то код будет более читаемым и компактным, а разработка - комфортной.


Nikolay
24.04.2017
21:04:51
> Плюсом очень удобно воззвать к глобальному логгеру из shared-библиотеки (считай, гема).
почитай про dependency injection

Vlad
24.04.2017
21:08:06

Nikolay
24.04.2017
21:08:29
прости, что?
я использую и рельсы, и dry-rb, и здравый смысл


Vlad
24.04.2017
21:09:42
Между PORO и магией
PORO - каноничен, магия - удобна
Плохой код тот, что не расширяем, тот, что валит весь продукт, тот, что не читабелен. Ни одна из этих вещей не распространяется на мой конкретный случай использования глобалок
$redis.set('foo', 42) - что не так? Что здесь не понятно? Это пул, а не соединение, он thread- и worker- safe.
5 секунд чтения исходников этого пула и всё предельно ясно любому разработчику
Чтобы не быть голословным:
require 'redis'
require 'connection_pool'
module Shared
class RedisPool
DEFAULT_POOL_SIZE = 100.freeze # Per 1 process
# Closes all the connections and clears the pool
#
def shutdown
@pool.shutdown do |connection|
connection.quit
end
end
# Gets a connection from pool and yields a given &block
#
# @example
# Shared::RedisPool.new.connect { |connection| connection.get('key') }
#
def connect(&block)
@pool.with do |connection|
yield connection
end
end
# Delegates methods to a connection
#
# @example
# Shared::RedisPool.new.set('foo', 'bar')
#
def method_missing(m, *args)
connect do |c|
c.send(m, *args)
end
end
private
def initialize
@pool = ConnectionPool.new(size: ENV['MAX_REDIS_CONNECTIONS'].to_i | DEFAULT_POOL_SIZE, timeout: 5) do
ENV['REDIS_URL'] ? ::Redis.new(url: ENV['REDIS_URL']) : ::Redis.new
end
end
end
end


Vitaliy
24.04.2017
21:24:43
схороню себе
интересный подход

Vlad
24.04.2017
21:31:01
Мне написали в личку, мол, что по требованиям. Скину сюда, может, заинтересует кого:
Стек - Roda, Sequel, Dry (на данный момент - только dry-validations). Микросервисы. Dokku. Resque, Postgres. В будущем - VueJS.
Необходимо уметь работать с Sequel на уровне написания eager_graph'ов, чтить гексагональную архитектуру, писать тесты в нужных местах (уже выросли из 100% покрытия).
Ну и, конечно, Git на уровне rebase'ов, stash'ей и разных стратегий слияния.
Проектов множество. Идеи есть, рук не хватает. Классика жанра - MVP -> рост, если зайдет. Инвестиции есть (собственные проекты и ангел).

Aldar
24.04.2017
21:37:34
самое главное забыли

Vlad
24.04.2017
21:37:54

Vasiliy
25.04.2017
06:39:02
нет

Danila
25.04.2017
06:56:15
зачем тебе такой стек, если основная работа - проверка гипотез и нужны люди, которые справятся с темпом, необходимым для поднятия mvp?
ну и драй-тайпс можешь подписать к драй-ввэлидейшенс для пущей солидности