
Damir
12.09.2018
08:10:18

Alex
12.09.2018
08:10:55
А есть чо?
Был какой то способ это сделать, забыл уже
Один для edu другой еще как то

Damir
12.09.2018
08:11:14
Edu pack помню был

Google

Damir
12.09.2018
08:11:50
Там правда он вечный был, пока ты стьюдент)

Alex
12.09.2018
08:24:36
ну еще какой то способ был на два года

mr.Serj
12.09.2018
08:34:13
Даже не на два года

Alex
12.09.2018
08:34:40
Гитлаб? ?
о господи. "есть способ приватных репозиториев на гитхабе" надо обязательно упомянуть gitlab/bitbucket ага
я про github говорю
сам гитлабом и битбакетом пользуюсь
хотя думаю ща переехать на гитхабовские приватные.

mr.Serj
12.09.2018
08:35:13
Не пойму в чем соль гитхаба, что все так за него трусяться?

Alex
12.09.2018
08:35:45
ну кодревью у него удобный например
единая статистика по публичным/закрытым репозиториям
плюс всякие тулзы с гитхабом зачастую имеют хорошую интеграцию
типа codeclimat, travis и прочие

Google

Nikita
12.09.2018
08:37:46

Alex
12.09.2018
08:38:02
в общем для меня в гитхабе основной плюс это то что все в одном месте
Так то я и гитлабом и битбакетом пользуюсь. Но в отличие от гитхаба они периодически лежат
а гитхаб вообще редко лежит.
у гитлаба облачная версия тормознутая.
у битбакета реже, но тоже бывает

Nikita
12.09.2018
08:39:25

Alex
12.09.2018
08:39:26
в битбакете поиск неудобно сделан

Nikita
12.09.2018
08:39:53
А, да, часто виснет. Лучше свою поднимать

Damir
12.09.2018
08:40:09

Nikita
12.09.2018
08:40:30
Ну их можно понять. Нагрузка увеличилась в разы после покупки Гитлаба)

Alex
12.09.2018
08:40:32

Damir
12.09.2018
08:40:41
Статистика да, не спорю, для будущего работодателя «есть чо показать»

Alex
12.09.2018
08:40:47
в 2017 году тормозило знатно

Nikita
12.09.2018
08:41:06

Damir
12.09.2018
08:43:05
Потому что как минимум нет дерева файлов, входящих в pr.
с atlassian stash съехали, и это прямо сильная боль.
Благо есть расширения для браузера которые хоть как-то но помогают с этим. Но «из коробки» не работает, а это пичалька
https://chrome.google.com/webstore/detail/better-pull-request-for-g/nfhdjopbhlggibjlimhdbogflgmbiahc

Google

ShadoWalkeR
12.09.2018
12:39:23
Пока писал вопрос, придумал как решить свою задачу ?

Alex
12.09.2018
12:57:51

ShadoWalkeR
12.09.2018
12:58:20
Господа, а есть какая то возможность переписать вот этот кусок
if @redis_con
res = @redis_con.hget(..)
if res
return res
end
end
@mysql_con.query(..)
во чтото наподобие:
if @redis_con and @redis_con.hget(..) |res|
return res
end
@mysql_con.query(..)
Я просто пилю кэш на редисе для мускуля

et
12.09.2018
13:01:15
return unless @redis_con
res = @redis_con.hget(..)
return res if res
@mysql_con.query(..)например

Alex
12.09.2018
13:02:09

ShadoWalkeR
12.09.2018
13:02:18
pure ruby
Идея в том, что сначала иду в редис. Если нет коннекта или он не вернул результат сходить в базу

Alex
12.09.2018
13:04:03
это вообще в общем то кэш

ShadoWalkeR
12.09.2018
13:04:17
Внутренний перфекционист требует схлопнуть ifы для работы в редисе)

kolas
12.09.2018
13:04:21
@redis_con&.hget() || @mysql_con&.query() немного непонятно конечно

Alex
12.09.2018
13:04:22
и под него неплохо написать простенький класс

ShadoWalkeR
12.09.2018
13:05:33
Или чтото вроде
res = { return @redis_con&.hget() || @mysql_con&.query() }
Мне просто еще сам результат немного обработать надо

Alex
12.09.2018
13:07:43
почему класс не хочешь написать?

ShadoWalkeR
12.09.2018
13:08:25
Это скрипт на 160 строк кода для линуха - ООП там будет избыточным
Ну если проверки не схлопнуть - то не надо - как нибудь придушу своего перфекциониста)

Alex
12.09.2018
13:11:41
а, гавнокодинг в скриптах, знакомо )

Google

ShadoWalkeR
12.09.2018
13:12:20

q3n0x
12.09.2018
13:12:42

ShadoWalkeR
12.09.2018
13:12:50
Ага

q3n0x
12.09.2018
13:14:25
if res = @redis_con&.hget(..)
return res
end
@mysql_con.query(..)

ShadoWalkeR
12.09.2018
13:15:23
О, благодарю

kolas
12.09.2018
13:15:24

Dmitry
12.09.2018
13:16:21

Admin
ERROR: S client not available

q3n0x
12.09.2018
13:17:05
лучше, но возвращаемый @redis_con.hget() результат нужно как-то изменить

ShadoWalkeR
12.09.2018
13:17:07
Там целиком это вот так выглядит
def getTaskAgents(taskName)
# Идем в кэш на редисе
if @credis and result = @credis.hget(taskName, "extens")
return result.split(",")
end
# Если по каким либо причинам предыдущее хождение не удалось, идем в MySQL
result = @mysql.query("SELECT extens FROM callManager WHERE taskID = '#{taskName}';")
result.each do |row|
return row["extens"].split(",")
end
end

Ilya
12.09.2018
13:17:35
может не в тему но все же)

ShadoWalkeR
12.09.2018
13:18:13
Это для коллег пишу - я тут в отделе один пишу код на руби - чтобы в мое отсутствие могли чтото с ним делать)

Dmitry
12.09.2018
13:18:53
def getTaskAgents(taskName)
ого

q3n0x
12.09.2018
13:19:13
camelCase?

Ilya
12.09.2018
13:19:24
лол только заметил)

ShadoWalkeR
12.09.2018
13:19:28
Мне привычней)

Ilya
12.09.2018
13:19:38
ты откуда такой пришел?

ShadoWalkeR
12.09.2018
13:19:57
Долгая история)

Google

ShadoWalkeR
12.09.2018
13:20:05
Вообще телефонист)

Ilya
12.09.2018
13:20:43
ты это... брось так писать) а то после тебя другие люди будут над твоим кодом работать

Dmitry
12.09.2018
13:20:55
Пыхаря не скрыть за руби)

Ilya
12.09.2018
13:21:40

ShadoWalkeR
12.09.2018
13:21:48
Вообще я на сегодня на руби написал больше кода чем на пыхе))))

Dmitry
12.09.2018
13:21:49
result.each do |row|
return row["extens"].split(",")
end

ShadoWalkeR
12.09.2018
13:22:24

q3n0x
12.09.2018
13:23:01
на первом же return завершится, не?

ShadoWalkeR
12.09.2018
13:23:16
Так бы я вообще сделал
def getTaskAgents(taskName)
# Идем в кэш на редисе
if (@credis and result = @credis.hget(taskName, "extens")) or (result = @mysql.query("SELECT extens FROM callManager WHERE taskID = '#{taskName}';"))
return row["extens"].split(",")
end
end

Dmitry
12.09.2018
13:23:16
ну может так нужно, но тогда проще взять первый элемент

ShadoWalkeR
12.09.2018
13:24:59

q3n0x
12.09.2018
13:26:10
я про return внутри each

Dmitry
12.09.2018
13:27:00
Дуров, прикрути подсветку и тёмный фон коду в телеге, пожалуйста

q3n0x
12.09.2018
13:27:10
result.each do |row|
return row["extens"].split(",")
end
вот тут
мб там так можно result.first["extens"].split(",")

ShadoWalkeR
12.09.2018
13:27:55
Надо будет поэксперементировать

Ilya
12.09.2018
13:29:17