@rubyschool

Страница 405 из 921
Vlad
12.10.2017
19:53:38
Ребят, нубский вопрос. Есть к примеру файл ruby.rb Как мне внутри него обработать вот такое в консоли $ ruby ruby.rb 1234 не пойму, как запрос гуглу сделать по этой инфе

Alex
12.10.2017
19:54:58
парсинг входных параметров

или cli приложения на ruby

гугли это

Google
Alex
12.10.2017
19:55:11
command line ruby

https://ru.code-maven.com/argv-the-command-line-arguments-in-ruby

Vlad
12.10.2017
19:56:56
спасибо большое

Антон
12.10.2017
21:15:26
А чего не стационарный мак?
Так неудобно же, а там мы можем кодить где хотим )) в январе должны на месяц в Тайланд поехать, например ))

spartakusQ
12.10.2017
21:16:39
Антон
12.10.2017
21:17:47
Ну мы же не только отдыхать, мы работать и пережидать холода)) А что с ним случилось?

Ro
12.10.2017
21:17:56
у меня там кореш 7 лет живет, может больше уже

2 детей там родилось

Антон
12.10.2017
21:19:18
Не, так долго я не хочу

spartakusQ
12.10.2017
21:19:48
Ну мы же не только отдыхать, мы работать и пережидать холода)) А что с ним случилось?
ехал по работе, что-то строить, а потом решил остаться и сменить пол, сейчас занимается пиротехникой и фаер шоу для туристов

Антон
12.10.2017
21:20:01
Ого

Konstantin
12.10.2017
21:20:27
Как у вас дела, бандиты?)

Давно не заходил :3

Google
spartakusQ
12.10.2017
21:21:16
блин, а если завтыкал и поставил не ту базу данных

как то сменить можно на лету

mysql на postgresql

Ro
12.10.2017
21:22:16
Давно не заходил :3
все перешли на питон пока тебя не было

Konstantin
12.10.2017
21:24:13
*расчехляет_своего_питона*

А я отзыв-то писал на сайт?

Мне наконец стали давать задачи сложнее "ну завайтлисть мп3 в аплоадере"

сегодня активно изучал факторигёрл на практике, написал пару фактори и ломался об tdd

emarsys меня поборол

Lainera
12.10.2017
21:39:04
Достопочтенные сэры и леди - в оптимизацию бд кто умеет? есть csv в 45 миллионов строк, залил в psql, но как-то ебловато, минуты 4 думает над запросом. А если бд станет больше в несколько раз, то вообще звездой всё накроется. Есть советы чё почитать интересного, чтоб прям вот откровение на откровении?

Ro
12.10.2017
22:21:47
нужно делать индексы

т.е. правильный индекс обычно все решает

какие именно индексы - зависит от запроса

(и от данных)

45 миллионов строк - не особо много о чем говорит. Ну т.е. количество большое, но при наличии индекса запрос может обрабатываться миллисекунды

Lainera
13.10.2017
03:12:50
45 миллионов строк - не особо много о чем говорит. Ну т.е. количество большое, но при наличии индекса запрос может обрабатываться миллисекунды
читаю за индексы, для них нужен праймари ключ, уникальной колонки нет, самомоу нагенерить айдишников?

Ro
13.10.2017
03:23:05
можно, если в данных его нет

ну точнее таблицу правильно создать

при вставке он будет сам создаваться

Lainera
13.10.2017
03:25:42
@ro31337 табличка в 4 колонки - /таймстамп/айдишникюзера(не уникальный один и тот же юзер может заходить 10 раз за месяц а может один раз зайти)/айдишник платформы/айдишник операционки/

Google
Lainera
13.10.2017
03:29:34
ну точнее таблицу правильно создать
ну т.е. при создании таблички сделать свой праймари ключ по возрастающему айдишнику, индексануть по нему же. Есть смысл делать индексы для всех остальных колонок с повторяющимися значениями?

Ro
13.10.2017
03:30:51
да, в сети должны быть примеры с автоинкрементным id для твоей БД

для всех остальных - это уже тебе решать

смотря какие ты запросы делаешь

может есть смысл сделать 1 ключ по двум полям, например

чем больше ключей - тем дольше вставка данных

так что надо делать достаточно

сделал бы 1 по нужному полю для начала

Lainera
13.10.2017
03:42:04
смотря какие ты запросы делаешь
запрос на самом деле достаточно простой, апишку написать на экспрессе, которая должна показывать уникальных юзеров/лояльных юзеров (10< посещений в месяц) и принимать опциональные хэдеры тип покажи всех лоял юзеров с платформой (0, 1 и 6 например) и/или операционками (0, 4)

оно есть и работает, но около 4 минут запрос просчитывает, потому что проверяет каждый ряд видимо

Ro
13.10.2017
03:43:40
ну все простое всегда сложно) покажи sql запрос глянуть, может подскажу что

тока не все сразу, с одного давай начнем, с самого простого

Lainera
13.10.2017
04:05:11
SELECT FROM ${table_name} GROUP BY user_id HAVING COUNT (user_id) > ${loyalty_counter}

в первом случае возвращаю непосредственно значения, во втором rowCount

соответственно если нужно кастомно чёт посмотреть добавляю WHERE os IN (${os}) AND device IN (${device})

я знаю что where считается до group by, но т.к. я считаю ряды ничего не возвращая, то psql ругается если использовать HAVING

Ro
13.10.2017
04:18:45
ну вот для начала надо индекс по user_id

ну а далее 1 индекс по os + device наверное

Lainera
13.10.2017
04:21:20
ну вот для начала надо индекс по user_id
пробовал уже на самом деле. делал индекс и по айдишнику и по ос/девайсам/обоим колонкам

Google
Lainera
13.10.2017
04:21:31
разницы никакой - 4 минуты минимум

сча попробую прикрутить PRIMARY KEY

before optimization > 4:34-5:20 after > 7:52 это успех ящитаю))) может ну его этот постгрес?

Ro
13.10.2017
04:53:26
одного primary key недостаточно

оно ничего не дает

brin индекс надо попробовать по user_id

create index blabla_brin_2 on blabla using brin(user_id) with (pages_per_range=2);

Admin
ERROR: S client not available

Ro
13.10.2017
04:57:20
b-tree думаю займет много места

blabla - название твоей таблицы

Lainera
13.10.2017
04:59:23


О спс, сча попробую дропнуть б-три

Andrey
13.10.2017
06:31:12
Вообще надо explain смотреть . Там будет яснее где начинать индексы делать

Vlad
13.10.2017
07:31:08
Ищу кого то начинающего, кто ещё до рельс не добрался и изучает сам Ruby. Для совместного изучения так сказать, разбора кода друг друга, обсуждений каких то мелочей. Чтобы не спамить лишний раз в общий чат.

Fedor
13.10.2017
07:32:51
Лол, лучше кого-крутого поищи, что бы тебе сразу объясняли, что не надо так писать )))

Антон
13.10.2017
07:36:05
Год уже пользуюсь гитом, и для меня стало открытием, что веток-то на самом деле в нем нет)) есть только коммиты, а название бранчи- это свойство коммита, чтобы удобнее искать было ))

Vlad
13.10.2017
07:55:08
Лол, лучше кого-крутого поищи, что бы тебе сразу объясняли, что не надо так писать )))
У меня нет денег на такие удовольствия) Это очень многовремени будет отнимать человека, никто не пойдет на такие жертвы.

Fedor
13.10.2017
07:56:39
ну соберитесь группой в несколько человек, и найдите ментора в складчину

просто реально обмениваться опытом с теми у кого нет опыта, то еще удовольствие )

Google
Marina
13.10.2017
08:00:45
или все-таки не стесняться спамить в руби чаты

Fedor
13.10.2017
08:02:09
ну да)

в рубишных чатах, кстати очень хорошее сообщество

Vlad
13.10.2017
08:02:25
Спамить то одно, а второе просить ревью кода. Все таки дать ответ можно быстро на вопрос, а читать и вникать это долго же

Fedor
13.10.2017
08:02:45
по крайней мере, по сравнению с js народ больше стремится объяснять, чем поливать грязью

Marat
13.10.2017
08:03:44
У меня нет денег на такие удовольствия) Это очень многовремени будет отнимать человека, никто не пойдет на такие жертвы.
Если можешь в рельсы, то сделай бесплатно проект кому-то разбирающемуся. Он твои мердж реквесты принимать будет, и критиковать, соответственно. От тебя время и самоотдача, от него - опыт. Тебе - опыт, ему - бесплатная раб.сила и проект. Схема подходит если ты не совсем новичек, умеешь хоть что-то или умеешь гуглить.

Александр
13.10.2017
08:04:38
opensource говорят еще надо участвовать

Vlad
13.10.2017
08:06:19
Пока три недели как с руби, поэтому до рельс ещё не мало, по всей видимости. А opensourse ещё дальше

Marina
13.10.2017
08:06:44
Спамить то одно, а второе просить ревью кода. Все таки дать ответ можно быстро на вопрос, а читать и вникать это долго же
Если совсем нет денег, можно найти уроки thinknetica, проходить их задания, а потом на гитхабе находить проекты других учеников и смотреть комментарии ментора)

Nikolay
13.10.2017
08:07:11
Лайвхак )

Fedor
13.10.2017
08:07:13
ну или взять книжку Хартла, там хочень хороший стить описан

следовать ему достаточно что бы быть начинающим рельсовиком

а дальше просто идешь в контору с сильным отделом разработки и набираешься опыта

Vlad
13.10.2017
08:08:44
Принял советы, сообщения схоронил себе

Nikolay
13.10.2017
09:08:23
Подскажите пожалуйста, как примерно работает процесс загрузки файлов. Вот есть контроллер на который шлется post, есть uploader. Как происходит вызов аплоадера найти не могу, или это "магия рельс"?

Fedor
13.10.2017
09:09:21
смотря что ты используешь

Nikolay
13.10.2017
09:09:57
CarrierWave

Fedor
13.10.2017
09:10:46
ну ты там делаешь mount_uploader

который создает тебе кучу колбэков, которые этим занимаются

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