Сохранен 110
https://2ch.hk/pr/res/659661.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним 19/02/16 Птн 18:27:17 #1 №659661 
14558956373330.png
Опытный рубист (8+ лет индустриального опыта) наставит неофитов.

Отвечаю на вопросы, делаю код-ревью, могу набросать примерный план обучения. Могу рассказать что-нибудь из опыта работы с отечественными и зарубежными заказчиками, если интересно.

Почта/гтолк, если кому-то вдруг понадобится: [email protected]
Аноним 19/02/16 Птн 18:51:47 #2 №659704 
как найти работку, если ты хикка учившийся по курсам с двачей?
Аноним 19/02/16 Птн 18:59:23 #3 №659724 
>>659704
Работы довольно много, особенно если зарплатные ожидания не очень высоки. На том же рубиджобсе довольно много вакансий проскакивает. Другое дело, что в резюме дырка от бублика.

В этом случае, полезным и благоугодным делом было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно. После этого и в резюме не стыдно будет писать "участвовал в опенсорсе там-то и там-то".
Аноним 19/02/16 Птн 19:10:53 #4 №659739 
14558982539880.jpg
14558982539971.png
>>659661 (OP)
ОП пост несколько отличается от >>658091?

1. Насколько актуальна картинка про компетенции?

После становления WWW SQL IDE GIT можно наконец переходить к делу? Или на JS не обязательно останавливаться?

2. Я тут скачал и разложил книжки в порядке приоритета (из руби-шапки). Есть что-то явно лишнее или то, чего явно не хватает?

>могу набросать примерный план обучения

помимо руби-компетенций нужны еще алгоритмы, что-то еще?

>А меня теорими графов нагрузили, и о криптографии, ширфовании, закрытый ключ - открытый ключ, и другое. позиция ruby on rails junior
>про графо ориентированые базы данных, про то что такое графы, ибо проект будет заточен под базу построенную на графах. Потом уже загуглил, увидел знакомое слово neo4j даже, интересно стало. Про ключи, открытые и закрытые

https://www.coursera.org/specializations/ruby-on-rails
нормальный бесплатный курс?
слишком много платных курсов сейчас — можно ли им доверять или это выброшенные на ветер деньги и всему можно научиться самому?

какие варианты с быстрым ростом как програмиста в городах где нет потребности в руби-специалистах?
Аноним 19/02/16 Птн 19:29:32 #5 №659782 
>>659661 (OP)
Довольно уверенно чувствую себя в рельсах, в принципе, даже любая задача по плечу, но вот с работой совсем ничего не получается. Опыта работы на кого-либо у меня нет, только проекты для себя и кое-какие контрибьюты в oss. Код пишу грамотно, без велосипедов(поработать над этим помогли опытные люди), пилю свои гемчики. Но работодатель даже не смотрит гитхаб. Устраиваться на джуниора, как я понимаю, не вариант, мне уже 30 лет и на джуновакансиях меня сразу шлют нахуй, да и уровень свой я оцениваю как мидл. На мидла без "коммерческого опыта" тоже смотрят как на говно. Да и вообще ощущение, что перекат в IT без связей невозможен. На рубиджобс дофига днище-вакансий, типа делать сайтики по удаленочке в каких-то колхозных веб-студиях, такие я сразу отбрасываю. А на других мной не интересуются. Какой путь развития можешь посоветовать? Мне пока приходит на ум только такое: зарабатывать на жизнь на апворке, а опыт получать в опенсорс.
Аноним 19/02/16 Птн 19:37:33 #6 №659793 
14558998532090.jpg
>>659739
> ОП пост несколько отличается от >>658091?

Мне подумалось, что поскольку педагогического опыта у меня нет, то обучение превратится в не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения. Поэтому вот такой формат.
В любом случае, почта в шапке есть.

> 1. Насколько актуальна картинка про компетенции?

Зависит. Конечно, много где любят нанимать рубистов фулл-стековых, чтобы они делали всё: деплой, бэкенд, вёрстку и чуть ли даже не дизайн — но в моём опыте обычно есть некоторое разделение на бэкендщиков и фронтэндщиков.

Для бэкенда стандартный набор крудошлёпа это рельсы и какая-то rdbms.

> 2. Я тут скачал и разложил книжки в порядке приоритета (из руби-шапки). Есть что-то явно лишнее или то, чего явно не хватает?

Книжки много где дублируют друг друга. Я сам обучался по кирке (она же programming ruby the pragmatic programmer's guide) но там много чисто референсного материала, ну и оно в принципе для уже знающего какой-то язык больше полезна, чем для совсем новичка.


> https://www.coursera.org/specializations/ruby-on-rails

По содержанию курс выглядит нормально, но он же не бесплатный. 20к рублей это довольно дофига.

> слишком много платных курсов сейчас — можно ли им доверять или это выброшенные на ветер деньги и всему можно научиться самому?

Не могу сказать насчёт "на ветер", но самому обучиться 100% можно.

План я бы взял примерно такой:
1. Владение текстовым редактором, командной строкой и гитом обязательно, ну это быстро всё хотя бы на базовом уровне осваивается.
2. Руби (без фреймворков) как язык, стандартная библиотека
3. Какой-нибудь совсем простой фреймворк типа синатры
3.5. Между делом надо изучить основы html, css
4. Рельсы
5. JS фреймворки

> помимо руби-компетенций нужны еще алгоритмы, что-то еще?

Если реалистично говорить, то мне знание алгоритмов кроме как на вступительные интервью отвечать особо не пригодилось. Единственная вещь из CS, которая реально постоянно нужна — это O-нотация и умение оценить асимптотику алгоритма.

> какие варианты с быстрым ростом как програмиста в городах где нет потребности в руби-специалистах?

Надо удалёнку искать. Я живу в довольно небольшом городе и работаю удалённо всю жизнь. Диапазон зарплат на среднего рубиста на удалёнке сейчас 75-150к рублей в месяц. Я сам стал работать на западных заказчиков, ну сами понимаете почему.

>>659782
Я не очень из твоего поста понял про опыт программирования в других языках. Если он есть, то просто указываешь его.
Если нет, то сложно всё. Ты одновременно хочешь работу и зарплату выше входной, но при этом ничто в твоём резюме не говорит как о ценном кадре. Если особо не стесняешься, скидывай на почту гитхаб, посмотрим вместе, что ты умеешь.



Ну а вообще, к сожалению, вопросы найма как такового не совсем в моей компетенции, я могу поделиться своим личным опытом, но не обязательно он окажется полезным.
Аноним 19/02/16 Птн 19:43:00 #7 №659799 
>>659661 (OP)
>Опытный рубист (8+ лет индустриального опыта) наставит неофитов.
Какой Доширак вкуснее - грибной или мясной? Или ты больше по борщам?
Аноним 19/02/16 Птн 19:46:24 #8 №659801 
14559003841080.jpg
>>659799
Что касается еды, могу только посетовать на то, что нормальное мясо и сыры из продажи пропали.
Аноним 19/02/16 Птн 19:49:02 #9 №659803 
>>659801
Почему живешь в России?
Аноним 19/02/16 Птн 19:51:23 #10 №659808 
>>659803
Это временно.
Ну и справедливости ради отмечу, что налоги у нас получаются одни из самых низких. Я в белую заплачу меньше десяти процентов с получаемых денег.
Аноним 19/02/16 Птн 20:07:35 #11 №659831 
Сенсей, что скажешь про эту вакансию, это совсем дно, марианская впадина, или не так уж и плохо в качестве первой работы для не совсем юного падавана?
rubyjobs.ru/vacancies/4061
Аноним 19/02/16 Птн 20:11:42 #12 №659841 
>>659793
>не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения

О каких именно упражнениях идет речь? Что-то такое https://2ch.pm/pr/src/657174/14559013194840.jpg? Или простейшие веб-сервисы?

>По содержанию курс выглядит нормально, но он же не бесплатный. 20к рублей это довольно дофига.

Ну, там хотя бы открытый доступ к содержанию курса есть. И я думал что 20к надо платить, если я сертификат получить хочу, а если без сертификата то можно бесплатно.

Ruby → Sinatra → Rails + Angular?

>Надо удалёнку искать.

Выглядит немного прохладно для 2016. Мне кажется твой опыт релевантен больше к 2008, когда руби-джуниоров (да и вообще программистов) поменьше было.

С какого момента можно начинать искать работу? Я закрываю все пробелы в компетенциях и уже можно начинать? Но даже у товарища старше меня и опытнее меня не получается >>659782

Как решить проблему с ревью своего говнокода, когда тебя еще не берут на работу, но уже нужно писать по-людски?
Аноним 19/02/16 Птн 20:13:10 #13 №659845 
>>659801
4к после восьми лет опыта - это как то мало. Обычно столько получает человек с 5+ годами. С почти десятком лет обычно уже больше восьми получают.
Аноним 19/02/16 Птн 20:15:01 #14 №659847 
>>659845
80001275*0,93=6696000
МАТЬ МОЯ ЖЕНЩИНА11!!
Аноним 19/02/16 Птн 20:15:54 #15 №659848 
>>659847
Ах, да, звездочки
>8000х12х75х0,93=6696000
Аноним 19/02/16 Птн 20:19:11 #16 №659857 
>>659847
Ну 500к в рублях с восемью годами опыта можно делать спокойно, если есть вышка и знание нескольких языков.
Аноним 19/02/16 Птн 20:20:35 #17 №659863 
>>659831
Да хер поймёшь по объявлению этому куцему.
Испытательный срок месяц — много. Если он бесплатный, то скорее всего нахуй.
Стек стандартный.
50-80к вилка для новичка нормально, для "мидла" звучит как маловато.

Я бы пытался договориться на то, что по истечении двух недель либо выгоняете нахуй, либо берете на полноценную ставку, включая эти две недели.

Для первой работы — заурядно.

>>659841
> https://2ch.pm/pr/src/657174/14559013194840.jpg

Я имею в виду более практичные и приземлённые вещи. Ну я хз, например, запилить аналог zenrus.

> Ruby → Sinatra → Rails + Angular?
За ангуляр не скажу, коллеги сейчас на реакте все.

>>659845
>>659857
Согласен, что хочется больше. И главное можно делать больше. Но я в общем-то не из тех, кто от пятерки откажется.
Аноним 19/02/16 Птн 20:23:32 #18 №659874 
>>659841
>Как решить проблему с ревью своего говнокода, когда тебя еще не берут на работу, но уже нужно писать по-людски?

Могу поревьюить, в принципе, если не слишком дохера. Почта в оп-посте.

В целом, это всё мне видится вопросом опыта и привычки. Разгребая чужой говнокод, а затем и свой говнокод, быстро осваиваешь что работает, а что нет.
Аноним 19/02/16 Птн 20:31:14 #19 №659894 
>>659801
Бля. Что надо делать чтобы столько получать? Как разводить заказчика на полтинник баксов в час?
Аноним 19/02/16 Птн 20:33:40 #20 №659899 
>>659894
У ОПа 8 лет работы, даже разводить не надо

>«У Михаила Булгакова есть прекрасная фраза в книге «Мастер и Маргарита», когда Воланд говорит о том, что никогда ничего не просите, сами предложат и сами все дадут.
Аноним 19/02/16 Птн 20:36:29 #21 №659904 
>>659894
Как верно заметил >>659845, это не очень большие деньги для американцев (сами американцы в своих консалтингах биллят и по 50, и по 70, и по 100, и по 200 долларов в час). Проблемы будут в другом: надо их убедить, что ты не какой-то там злой русский иван с разницей в часовых поясах в полдня, а профессионал, который решит их проблемы.

Но я в общем тред не похвастаться создал (особо нечем), а оказать посильную помощь новичкам.
Аноним 19/02/16 Птн 20:37:00 #22 №659906 
>>659899
Ну это если ты Воланд, а если хуй простой, то еще доказать надо.
Аноним 19/02/16 Птн 20:38:44 #23 №659911 
>>659904
>надо их убедить, что ты не какой-то там злой русский иван с разницей в часовых поясах в полдня, а профессионал, который решит их проблемы.

это с кавер леттера начивается?
Аноним 19/02/16 Птн 20:38:57 #24 №659912 
>>659899
Ну у меня тоже почти уже 8. Только я на борщах. Дохуя разного пробовал, веб хорошо знаю. Оно-то в принципе ясно, что надо hourly rate проекты брать, потом хуярить весь день чтобы набегало нормально, и обычно вряд ли кто что-то против скажет. Только у меня сплошные fixprice предложения решил заняться скрейпингом, сайтики доебали в конец и аккаунт пока ещё свежий, надо было года 4 назад туда щимиться, я всё с английским тупил.
Аноним 19/02/16 Птн 20:54:07 #25 №659951 
>>659911
Ну резюме, да. Многое также зависит от скайп-интервью и звонков.

>>659912
Мне если честно короткие энгейджменты (меньше месяца) кажутся довольно невыгодными по соотношению деньги / (потраченное время+простой). Только если совсем сладкие рейты.
Аноним 19/02/16 Птн 22:53:23 #26 №660312 
Раскажи где халтуру за валюту ищешь?
Я рубист с 3 годами опыта, куда мне писать этим буржуинам?
Аноним 19/02/16 Птн 22:54:40 #27 №660314 
Объясни, зачем мне твой руби, если я уже знаю один скриптовый яп для вебпараши (пхп)?
Аноним 19/02/16 Птн 23:06:16 #28 №660338 
>>660314
Тут помочь ничем не могу. Если на пхп всё устраивает --- ради бога, лично я сбежал с пхп и не оглядывался.

>>660312
Не очень хочу их рекламировать, но я через toptal.com устраивался.

Минусы:
- Судя по всему, они приплюсовывают 25-50% к твоим заявленным рейтам своей комиссии (достоверно это неизвестно, т.к. согласно договору с клиентами рейты обсуждать нельзя)
- В конечном счёте все равно всё упирается в работодателей и они могут долго не отвечать

Плюсы:
- По ощущениям, нет конкуренции со стороны совсем дешевых индусов
- Не надо ебать себе мозг по поводу выбивания денег из клиента
- Процесс взаимодействия более-менее отлажен
Аноним 19/02/16 Птн 23:09:04 #29 №660350 
>>660338
>По ощущениям, нет конкуренции со стороны совсем дешевых индусов

Это потому что туда хрен попадешь, с восемью годами опыта попроще наверное.
Аноним 19/02/16 Птн 23:11:21 #30 №660357 
>>660338
Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?

Ещё вопрос, вот ты на собесе кодилити дрюкал или просто про алгоритмы расказывал, правильно я понимаю?

Расскажи про собес с ними, они мне пишут часто но я их заворачиваю так как считаю зашкваром, вполне вероятно что зря.
Аноним 19/02/16 Птн 23:16:24 #31 №660365 
>>660338
Через топтал говоришь? Какая там вообще система работы, какие требования, как и куда оплачиваются? ко мне чел с топтала добавился и типа надо с ним голосом говорить, но я чот ссусь.
Аноним 19/02/16 Птн 23:23:14 #32 №660373 
>>660357
> Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?

Неправда, все тестовые задания и тестовые сроки от работодателей оплачиваются.

> Ещё вопрос, вот ты на собесе кодилити дрюкал или просто про алгоритмы расказывал, правильно я понимаю?

Этапы были такие:
1. Просто разговор (оценивают знание языка и вообще вменяемость общую)
2. Решаешь алгоритмы, вроде на кодилити, да. Задачки не очень простые, но и не очень сложные. Я в итоге что-то типа 190 из 300 набрал и был собой очень недоволен, но мне рекрутёр сказал, что это вполне нормально.
2.5. Созваниваешься с техническим чуваком, он хвалит твои решения, ну или наоборот ругает и даёт...
3. Тестовое по рельсам (в общем стандартная хуйня крудовая, работы дня на два-три, дают две недели)

На всё про всё уходит около месяца (длинные перерывы между этапами).
Затем приходит договор, ты его мышкой подписываешь, ну и збс.

>>660365
> Какая там вообще система работы, какие требования
Прежде чем тебя допускают до сайта, ты проходишь интервью с ними (см. выше), затем у тебя появляется доступ к их платформе. Ну там в общем довольно похоже на все остальные сайты по поиску работы, жмёшь apply к подходящим позициям и ждёшь пока ответят. Процесс обычно относительно отработанный: apply -> interview -> profit
У меня в одной конторе было тестовое на два дня, в другой тестовая неделя, в обоих случаях всё оплачивалось по полной ставке.

> как и куда оплачиваются
Оплата у них через payoneer, bank wire или paypal.
Я в белую оформлялся как ип, после довольно долгой ебли с валютным контролем банка (пришлось переводить и заверять перевод договора у нотариуса) они почти перестали придираться.
Через payoneer скорее всего попроще (где-то в течение месяца тебе приходит карта), но там повыше комиссии на снятие. Но зато налогов платить не надо. Короче, на любителя.
Через палку я понятия не имею как выводить бабло, так что не рассматривал.

Аноним 19/02/16 Птн 23:44:58 #33 №660427 
>>660373
Вот это вот первый этап нужно пройти только чтобы иметь возможность потом апплаиться на задания, как на апворке?
Аноним 19/02/16 Птн 23:56:35 #34 №660461 
>>660427
Да.
Аноним OP 20/02/16 Суб 17:23:24 #35 №661089 
14559782042720.jpg
С вами снова ваш друг.

Вкатывальщики в руби, ищущие ментора или код ревью, почта в шапке. Пока что только двое мне решили написать, остальные стесняются, видимо.
Аноним 20/02/16 Суб 17:26:41 #36 №661093 
>>661089
остальным не нужен руби
Аноним 20/02/16 Суб 17:27:18 #37 №661094 
>>659661 (OP)
>рубист
>8+ лет
Пиздобол, руби 8 лет назад практически никто не использовал
Аноним 20/02/16 Суб 17:28:59 #38 №661096 
шарил бы ты в java, очень нужен ментор
Аноним OP 20/02/16 Суб 17:29:41 #39 №661097 
>>661093
Справедливо.

>>661094
Некрасиво так накидываться на незнакомых людей. Восемь лет назад был 2008 год. Рельсы были зарелизены в 2004, я и на первой версии успел помучиться, и с мербом (ванлав) поработал.
Аноним 20/02/16 Суб 17:31:36 #40 №661099 
>>661097
> в 2004
Пардон, в 2005. Но не суть.
Аноним 20/02/16 Суб 17:43:56 #41 №661111 
>>661097
Блядь, вот же время летит
Аноним 20/02/16 Суб 17:57:35 #42 №661119 
Очень доброе дело, ОП. Но не удивляйся
таким >>661094 ребятам, это же харкач. Я так понимаю, по-английски ты свободно говоришь? Алсо охуел от зарплаты, я сам только стипендию 6k получаю, в мелкой студии платили 15k
Аноним 20/02/16 Суб 18:03:22 #43 №661122 
>>661119
> Я так понимаю, по-английски ты свободно говоришь?
Да. Сейчас без языка вообще никуда.
Аноним 20/02/16 Суб 19:13:00 #44 №661176 
>>659661 (OP)
Хочу устраиваться на работу, дали задание сделать файловый менеджер с функциями: просмотр список файлов, переход по папкам. Корень папку - public. Сказали юзать Рекат.жс и Рельсы. Покажи путь.
Аноним 20/02/16 Суб 19:25:00 #45 №661192 
>>661176
Так задай вопрос или скинь код на ревью, не хочешь же ты, чтобы за тебя всё написали?
Аноним 20/02/16 Суб 20:02:48 #46 №661229 
>>661176
На какую позицию такие тестовые дают? Вроде посложнее крудошлепства.
Аноним 20/02/16 Суб 20:03:48 #47 №661231 
>>659661 (OP)
Сколько тебе лет?
Аноним 20/02/16 Суб 20:05:24 #48 №661238 
ОП, почему не хочешь получать деньги за code review, на mkdev например нужны опытные наставники.
Аноним 20/02/16 Суб 20:18:23 #49 №661252 
>>661231
25

>>661238
Деньги --- зло!
Аноним 20/02/16 Суб 20:19:37 #50 №661254 
>>661089
>Вкатывальщики в руби, ищущие ментора или код ревью, почта в шапке. Пока что только двое мне решили написать, остальные стесняются, видимо.

Тебе наверное написали те кто уже что-то может (и имеет некоторые проблемы), я вот пока ничего не умею так как только начал, поэтому стесняюсь. Ну вернее смысла пока нет, ведь на данном этапе это больше самостоятельная работа с книгами и кодом. Про книжки ты мне ответил, план набросал — уже неплохо, хоть и несколько лаконично. И на том спасибо :)

>>659739-анон
Аноним 20/02/16 Суб 20:42:36 #51 №661265 
>>661254
>план набросал — уже неплохо

Тут я виноват, конечно, что не слишком понятно пишу. Опыт работы у меня большой, а вот педагогического ноль целых, хуй десятых.

Вообще в плане обучения языкам программирования, как мне кажется, книги без упражнений довольно бесполезны. Поэтому как соберусь, накидаю список упражнений, практический минимум рубиста.
Аноним 20/02/16 Суб 20:55:32 #52 №661282 
Практический минимум для тех, кто ничего не знает и пошагово можно найти на theodinproject.com, берите оттуда чисто сам план обучения, а информация по ссылкам там устаревшая немного.
Аноним 20/02/16 Суб 21:01:50 #53 №661286 
>>659661 (OP)
Напиши подробнее про
>было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно.
Как искать? Как контрибьютить? Пили гайд.
Аноним 20/02/16 Суб 21:09:32 #54 №661296 
>>661265
>Поэтому как соберусь, накидаю список упражнений, практический минимум рубиста.

Было бы неплохо.
Аноним 20/02/16 Суб 21:10:10 #55 №661298 
>>659661 (OP)
IDE? OS? Что-нибудь еще в качестве проверенного решения для разработки?
Аноним 20/02/16 Суб 21:18:49 #56 №661305 
>>661286
плюсанусь к вопросу, и еще - участвовать в опенсорсе, это нужно обратиться к мейнтейнеру проекта, типа "я такой-то и такой-то, можно я на вас поработаю забесплатно", или просто берешь и закрываешь рандомные issues на гитхабе?
sageАноним 20/02/16 Суб 21:23:40 #57 №661310 
>>659661 (OP)
Кем вы видите себя через 5 лет?
Аноним 20/02/16 Суб 22:01:53 #58 №661338 
>>661282
Поглядел, действительно, неплохой курс.

>>661298
> IDE? OS? Что-нибудь еще в качестве проверенного решения для разработки?
У меня довольно стандартный набор: os x, sublime text 2, iterm2
Когда на линуксе сижу, то же самое, не знаю, что ещё добавить.

>>661305
>>661286
> Как искать? Как контрибьютить? Пили гайд.

Как вы, наверное, понимаете, отнюдь не боги обжигают горшки опенсорсных проектов, большая часть из которых напичкана багами:
https://github.com/rails/rails/issues --- 411, мать их, issues!
https://github.com/sinatra/sinatra/issues
https://github.com/bundler/bundler/issues
https://github.com/rspec/rspec-core/issues
https://github.com/intridea/hashie/issues
https://github.com/rom-rb/rom/issues

Процесс "как мне добавить себе звездочку контрибутора в опен-сорс" как правило очень простой:
0. Читаете CONTRIBUTING.md, если он имеется в наличии, но если нет, то:
1. Клонируете проект
2. Прогоняете тесты, чтобы убедиться, что всё работает
3. Отбранчиваетесь в свою ветку
4. Пишете тест, который воспроизводит баг
5. Чините баг
6. Шлёте пулл-реквест с указанием бага, который вы починили
7. ?????
8. Вы восхитительны

Если проект относительно маленький, то обычно есть смысл предварительно связаться с автором, чтобы узнать, а нужна ли ему ваша помощь ваще. Если у проекта есть ирц канал --- ваще ништяк, спешим туда, спрашиваем есть ли какие-нибудь легкие баги для начинающих контрибьюторов, ну и ваще возможные советы.

> я такой-то и такой-то, можно я на вас поработаю забесплатно

По-хорошему, лучше связаться с автором, прежде чем что-то делать, потому что будет просто обидно, если он сам свои баги починит, а вы впустую время потратите.
Но большие проекты, типа тех же рельс, с удовольствием принимают пулл-реквесты от любых разработчиков.
Аноним 20/02/16 Суб 22:24:18 #59 №661350 
>>661338
Классно, что не пишешь в рубимайне, лойс от меня.
Аноним 20/02/16 Суб 22:31:57 #60 №661357 
>>658091
Анон, ты не передумал? Я второй в очереди!
Аноним 20/02/16 Суб 23:11:38 #61 №661384 
>>661176
Я (не ОП) попробовал бы решить так:
- на рельсах типа api, всего 1 точка api, при обращении на которую происходит загрузка списка файлов в заданном каталоге. Это закрывает функции просмотра списка файлов и перехода по папкам.
- на реакте морда к этому делу.
Рейт май солюшен.
Аноним 20/02/16 Суб 23:18:33 #62 №661390 
>>661282
>>661338
>theodinproject.com
>Поглядел, действительно, неплохой курс.

Раз уж рекомендуете, для тех кто не может в английский (или пока не может) есть русский перевод (идентичность я не сравнивал) http://codenamecrud.ru/
Но лучше конечно подтянуть английский
Аноним 20/02/16 Суб 23:21:10 #63 №661391 
>>661338
>sublime text 2
>>661350
>Классно, что не пишешь в рубимайне

Это какой-то сложный прикол? Объясните.
Аноним 20/02/16 Суб 23:24:38 #64 №661395 
>>661357
См. >>659793

>Мне подумалось, что поскольку педагогического опыта у меня нет, то обучение превратится в не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения. Поэтому вот такой формат. В любом случае, почта в шапке есть.

>>659739-мимо-первый-в-очереди
Аноним 21/02/16 Вск 01:12:19 #65 №661497 
>>661391
Ну это что то вроде
>а я люблю есть говно на обед
>о, круто, я тоже!
Аноним OP 21/02/16 Вск 03:29:35 #66 №661567 
В общем, чуваки, простите меня за лень, но по базовому курсу я буду всех отсылать http://codenamecrud.ru/, а ещё лучше на оригинальную версию на http://www.theodinproject.com.
Никакого смысла переизобретать колесо я не вижу.

Курс, конечно, специализирован на рельсах, но это легко исправить самым простым способом --- практикой. Я запилю список упражнений, более специализированный на изучении собственно руби и полезных в работе навыков, чтобы совсем в облаках не летать, но в плане теории лучше чем в линках выше я вряд ли смогу изложить. С другой стороны, если у вас по ходу возникают конкретные вопросы, то не стесняйтесь писать в тред или в почту.
Аноним OP 21/02/16 Вск 12:38:06 #67 №661689 
14560474869360.jpg
И снова здравствуйте. Обещанный список заданий. Версия 1.0. Используемые библиотеки везде по желанию, хотя в некоторых местах я рекомендую стек.

Вот хорошо отформатированная версия:

https://gist.github.com/djinn2chhk/d4889f9fbc0ecf1ec7ba

Текстовая копия:

Задания разделены на несколько уровней с возрастающей сложностью.
Если на каком-то из первых уровней недостаточно заданий, то дополнить их можно сайтами

http://www.codewars.com/?language=ruby
https://rubymonk.com/

Я старался не повторяться с theodinproject и другими курсами, но всего не предусмотришь. Список будет дополняться.

Важное замечание: старайтесь к каждому из этих заданий написать тесты на rspec или minitest, что больше нравится. Предусмотрите все частные случае и проблемы, которые могут возникнуть.

Замечание по вводу-выводу: везде, где не указано иное, подразумевается интерфейс командной строки. Посмотрите на библиотеку slop для случаев, когда аргументов больше двух.

Поехали:

# A. Базовое владение языком (io, стадартная библиотека)

1. Fib v2: назовем fib(k, n) функцию, которая возвращает n число в последовательности, каждое следующее число в которой является суммой k предыдущих. Считать первым числом последовательности 1, а предыдущие нулями.
2. Random names: посмотрите на http://www.nrscotland.gov.uk/files/statistics/pop-names-07-t4.csv. В этом датасете содержится список имён с количеством людей, получивших каждое имя. Напишите функцию, которая будет возвращать случайное имя, которое бы соответствовало распределению. Ну, например, если в списке 100 вань 70 вась и 30 петь, то с 15% шансом должен возвращаться петя, с 35% вася и с 50% ваня.
3. Conway's game of life: прочитайте правила в википедии https://ru.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_%28%D0%B8%D0%B3%D1%80%D0%B0%29 и постройте симуляцию. Поле бесконечным делать не надо, достаточно очень большим. Стартовое поле сделайте просто файлом.

# B: взаимодействие с внешним миром

1. CBR scraper: на сайте центробанка ежедневно публикуются курсы валют, например: http://cbr.ru/currency_base/daily.aspx?date_req=05.02.2016 Постройте программу, которая на вход будет получать две даты и код валюты, а в ответ соберет курсы по этой валюте на заданном интервале и сохранит их в csv.
2. Twitter mini-client: заведите себе аккаунт на твиттере, если ещё не, зафолловьте людей и пройдите в раздел разработчиков. https://dev.twitter.com/rest/public При помощи их REST API постройте аналог собственной ленты (не используя home_timeline, разумеется). Покажите топ-5 самых ретвиченных твитов.

# C: Now we're getting somewhere

1. 2ch.hk scraper: напишите две программы, первая будет периодически (раз в 15 секунд, например) обновлять https://2ch.hk/pr/, собирать оттуда треды и их последние посты и сохранять в sqlite3 базу. Вторая программа будет показывать последние десять тредов и последние пять постов в каждом. Затем распространить это на любые интересующие борды.
2. Bayes classifier: используя датасет из http://www.aueb.gr/users/ion/data/enron-spam/, нужно построить наивный байесовский классификатор спама. https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D0%B5%D1%81%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%BF%D0%B0%D0%BC%D0%B0 вот тут примерная постановка. Полученную модель нужно куда-то сохранить, по желанию либо просто сериализовать в файл, либо в дб, на ваше усмотрение. Ну и разумеется нужен некий интерфейс к этому классификатору, который позволит на вход давать письмо, а на выход получать ответ, спам это или хам.
3. После выполнения 1 и 2, постройте к каждому из них хтмл-интерфейс, используя sinatra

# D: Было слишком просто.

Пока что в этой категории будет только одно задание:

Общее описание: Строим мини-гугл. Получив на вход список сайтов из alexa top-500, ну или свой собственный, отправляемся кравлить всё это. На скравленных страницах выделяем ссылки и ходим уже по ним и так до бесконечности. Из скравленного контента строим индекс на elasticsearch. К этому индексу приделываем небольшую форму поиска.

Теперь важные соображения:

1. Кравлить надо в много потоков или процессов
2. Не нужно ходить по одним и тем же урлам больше одного раза
3. Нужно уважать robots.txt и не лезть чаще положенного (ограничить сверху максимальное количество запросов на домен это в любом случае хорошая идея; подумайте о синхронизации этих рейт-лимитов между рабочими процессами)
4. Рекомендую пока разделить процессы кравлинга и парсинга. То есть паук тупо качает страницы, а уже другой процесс выкусывает оттуда ссылки
5. Ранжир страниц: возьмите страницу из учебника гугла и выдайте наибольший вес тексту ссылок, которые ведут на урл (не учитывайте в ранжире ссылки с самого домена; например example.com ссылающийся на google.com со словами "лучший поисковик мира" даст веса google.com по запросам "лучший поисковик", а если ссылка будет откуда-то с google.com, то нет
6. Ошибки будут: сайты будут слать непонятные хттп-коды, некорректно сформированный хтмл, вешаться по таймауту, и так далее. Вы строите внедорожник, а не паркетник для идеальных условий
7. Не нужно ходить по одному сайту всё время. Какой-нибудь ютуб вас может продержать бесконечно. Нужно ввести какой-то жесткий лимит на посещения страниц с одного домена в течение часа, например

Когда основа будет готова, подумайте о деплое. Найдите и прочитайте гайд по chef. Заведите пять виртуальных машины, на одну из них задеплойте веб-интерфейс и демона, который пихает задачи для пауков, на другую парсер, на три остальных пауков.

Аноним 21/02/16 Вск 12:45:40 #68 №661693 
>>661689
>1. 2ch.hk scraper: напишите две программы, первая будет периодически (раз в 15 секунд, например) обновлять https://2ch.hk/pr/, собирать оттуда треды и их последние посты и сохранять в sqlite3 базу. Вторая программа будет показывать последние десять тредов и последние пять постов в каждом. Затем распространить это на любые интересующие борды.
Вот это уже явно спизженная у меня идея. И как ты собрался "распространять" без обхода капчи?
Аноним OP 21/02/16 Вск 12:52:11 #69 №661698 
>>661693
Если где-то кого-то повторил, то приношу извинения, писал в общем то, что в голову придёт.

> И как ты собрался "распространять" без обхода капчи?

Окей, это важный момент, я его отдельно распишу.
Аноним OP 21/02/16 Вск 13:01:50 #70 №661701 
>>661693
В гисте про капчу расписал. Вообще это сильно ортогональная основной задаче проблема. Двач вроде бы не показывает капчу, если в него не лупиться чаще определенного количества запросов в минуту, но тут я, конечно, не продумал задание.

В принципе 4чан в отличие от двача этим не страдает вроде как.
Аноним 21/02/16 Вск 15:09:43 #71 №661799 
>>661701
на форчане тем более капча нужна. я считаю ботов что-то отправляющих лучше писать для систем с регистрацией. вот у меня в планах написать бота, чтобы находил и отправлял отклики на апворке.
Аноним 21/02/16 Вск 15:44:26 #72 №661847 
>>659661 (OP)
>Отвечаю на вопросы
Привет, я неофит, ответь пожалуйста.
Хочу сделать паука. Есть url откуда я хочу копировать и разбивать на кусочки таблицу http://egb.com/tables. Не получилось ничего копировать средствами Nokogiri, я так понял что этот сайт работает на angularjs и ajax. И типа поэтому мой паук читает раньше времени, бля не понимаю что делать. Пишут что нужен phantomjs, но я не нашел где научится создавать скраперы этой связкой. Помоги пожалуйста.

Небольшое дополнение: в таблице не палится id матча, как мне быть если я хочу все эти данные из таблицы копировать в мою бд?
Аноним 21/02/16 Вск 15:55:55 #73 №661858 
14560593551330.png
>>661847
Таблица выгдлядит пикрилейтед.
Хочу что бы паук возвращал что-то вроде такого вывода:
{
match_id => 13234
date => 21.02 10:51
match => dota
player_1 => MVP Phoenix
odds_p_1 => 1.480
player_2 => First Departure
odds_p_2 => 2.386
draw => none
event => WePlay
}

И так по всем строкам (матчам)
Аноним 21/02/16 Вск 15:58:31 #74 №661859 
>>661847
если контент в виде джейсона, то парси джейсон.
Аноним 21/02/16 Вск 16:03:31 #75 №661861 
>>661847
Ищи где приходит json с данными, которыми заполняется таблица и используй ее, хуле ты как маленький.
Аноним 21/02/16 Вск 16:05:08 #76 №661862 
>>661859
>>661861
Сейчас попробую, я же не знаю как это делается, котаны
Аноним 21/02/16 Вск 16:07:20 #77 №661864 
>>661861
А там точно приходит json с данными? Может быть там все заполняется специальными функциями? Там же повсюду функции вида ng-repeat, ng-if, ng- etc
Аноним 21/02/16 Вск 16:14:09 #78 №661871 
>>661862
я знаю, как джейсон на жаве парсится, хз как на твоем инструменте.
Аноним 21/02/16 Вск 16:14:50 #79 №661873 
>>661864
Если контент начинается со <script> значит джейсон.
Аноним 21/02/16 Вск 16:18:08 #80 №661878 
>>661873
Нет, у меня не со скрипта начинается(
Еще меня маленьким называют.
Аноним 21/02/16 Вск 16:30:13 #81 №661894 
>>659661 (OP)
ну и нахуй ты нужен когда есть божественная джава?
Аноним 21/02/16 Вск 16:31:57 #82 №661899 
>>661894
Не разжигай, иди пару бинов в xml опиши лучше.
Аноним 21/02/16 Вск 16:35:35 #83 №661906 
>>661899
да, конечно xml много хуже около-yaml.
зато у нас треды нативные, азаза
Аноним 21/02/16 Вск 16:42:24 #84 №661914 
14560621444950.png
>>661864
В инспекторе попробуй посмотреть, что там происходит.
Прикладываю скриншот.
Аноним 21/02/16 Вск 16:43:28 #85 №661915 
>>661894
Джава отличный язык для своих задач.
Аноним 21/02/16 Вск 16:44:34 #86 №661917 
>>661914
Спасибо, заценю сейчас.
Аноним 21/02/16 Вск 16:50:53 #87 №661922 
14560626540660.png
>>661914
Ахахаах! Он действительно там есть, какой-то файл! Извините что я такой неофит
Аноним 21/02/16 Вск 19:14:37 #88 №662072 
>>661689
Хорошие задания, лойс тебе за chef. Вообще, судя по постам, ты хороший человек, добра тебе.
Аноним 21/02/16 Вск 19:53:48 #89 №662171 
Можно как-нибудь сымитировать логин на сайте без phantomjs? Понятно, что можно послать поц-запрос на нужный адрес, но ведь наверное нужно еще и с ответом что-то делать?
Аноним 21/02/16 Вск 19:57:23 #90 №662173 
>>659661 (OP)
Посоветуй чего почитать по стилю архитектуры.

Например есть кусок бизнес логики, его можно пихнуть в одно место. но того будет много таких кусов

функция _do_some_thing
.... Вызов другого метода в котром уже все есть, и все.
end


зато они все будут в одном месте, и будем вызывать из этого модуля одну функцию где будет его дерьгать эту логику.


второй стул, это распилить этот модуль, и его части раскидать по разным частям программы. А основной кусок логики пихнуть прямо туда где он нужен.

И не понятно какой кусок лучше.

Второй вроде меньше писать надо, но код будет превращаться в кашу я думаю у всего проекта.
или первый, код в одном месте, Но много врапперов, и наверно есть дублирование кода, но вроде красивше выглядит.


Вообщем надеюсь моя проблема понятно, чо почитать поэтому поводу.
Аноним 21/02/16 Вск 20:42:15 #91 №662243 
А есть альтернативы theodinproject? Там какая-то мешанина из роликов, википедии, статей, бесплатных частей платных курсов.

Что на счет этой книги
http://rutracker.org/forum/viewtopic.php?t=4910665

sageАноним 21/02/16 Вск 20:54:38 #92 №662272 
Оп, вот ты 8 лет хуяришь web. Тебе не надоело? Че думаешь дальше делать?

Я 2 года проработал бекендером на Scala/Play2.0/mongo. В конце второго года сгонял на профильную конфу, посмотрел на 30-40 летних дядь, занимающихся этой галиматьей и меня затошнило. Смахнув пыль с диплома математика ушел в machine learning.
Аноним 21/02/16 Вск 21:26:14 #93 №662365 
>>662243
дело не в
>роликов, википедии, статей, бесплатных частей платных курсов
а в плане обучения, пути, который можно позаимствовать из этого курса. Плюс можно выполнять задания оттуда. Ссылки по теории и туториалы там устаревшие, это факт.
Аноним 21/02/16 Вск 21:27:21 #94 №662368 
>>662272
Ну он про веб не сказал, он сказал руби
Аноним 21/02/16 Вск 21:33:51 #95 №662382 
>>662243
Читал эту книжку в офлайн варианте, там про nodejs, vagrant, jquery. Какой-то особенно ценной информации не замечено. Можно заменить курсами по css-html-jquery на codeacademy и codeschool, ноду догнать по nodeschool.io
Аноним 21/02/16 Вск 22:34:13 #96 №662459 
>>662173
Книжки (думаю, что по торрентам всё есть, но :
Sandi Metz: Practical Object-Oriented Design in Ruby: An Agile Primer
Avdi Grimm: Confident Ruby
Jim Gay: Clean Ruby (но с этой книжкой надо поосторожнее быть, иначе можно и в космос улететь)
Скринкасты destroy all software
Скринкасты rubytapas (но там всякие советики по мелочи)
Скринкасты railscasts

> И не понятно какой кусок лучше.
> Второй вроде меньше писать надо, но код будет превращаться в кашу я думаю у всего проекта.
или первый, код в одном месте, Но много врапперов, и наверно есть дублирование кода, но вроде красивше выглядит.

Не уверен, что до конца тебя понял, но в целом обычно стремятся к уменьшению каждого отдельного класса и увеличению их количества. Идея в том, чтобы минимизировать область ответственности каждого объекта. Но переусердствовать тоже не стоит, иначе приходим к джавизмам.

>>662243
К сожалению, не знаю этой книги.

>>662272
У меня собственно крудошлёпства минимальное количество было. В основном бэкенды разные. Не надоело, даже скорее наоборот.

>>662171
>Можно как-нибудь сымитировать логин на сайте без phantomjs
Зависит от того, что ты подразумеваешь под логином. С capybara-webkit в комплекте идёт полновесный хром без головы. Но зачастую достаточно просто куку прокидывать с авторизацией.

Аноним 21/02/16 Вск 22:34:44 #97 №662461 
> Книжки (думаю, что по торрентам всё есть, но :

... но каждая из них не дороже $30.
Аноним 21/02/16 Вск 22:55:02 #98 №662474 
>>662461
>каждая из них не дороже $30.
>подразумевает, что кто-то платит за книги
Аноним 21/02/16 Вск 23:37:15 #99 №662520 
Ruby ещё в моде? Все же на nodejs перехали, нет?
Аноним 21/02/16 Вск 23:57:08 #100 №662546 
>>662474
Многие программерские книги проще покупать чем искать на торрентах.
Аноним 22/02/16 Пнд 02:24:24 #101 №662679 
>>662520
туда ООП-то завезли? а то все не то прототайпинг, не то функциональщина.
Аноним 22/02/16 Пнд 02:37:42 #102 №662693 
>>662459
>Не уверен, что до конца тебя понял, но в целом обычно стремятся к уменьшению каждого отдельного класса и увеличению их количества. Идея в том, чтобы минимизировать область ответственности каждого объекта. Но переусердствовать тоже не стоит, иначе приходим к джавизмам.

забрал пуудр, судя по описанию то что мне надо.

Я новичок, поэтому не понимаю как нужно. а коллег с 8 годами правильной практики нету.
Аноним 22/02/16 Пнд 02:38:38 #103 №662695 
>>662679
ебать ты тупенький
Аноним 22/02/16 Пнд 02:50:59 #104 №662703 
>>659808
Вроде бабло можно указывать как полученные с инвестиций, и платить ваще 9 процентов. и в пенсионный ничего не надо отчислять
Аноним 22/02/16 Пнд 02:54:11 #105 №662707 
>>662703
>и платить ваще 9 процентов

Спасайся кто может.
Аноним 22/02/16 Пнд 14:14:00 #106 №662926 
>>662459
>Jim Gay: Clean Ruby
На торрентах нету, и вообще нигде. Поделитесь пожалуйста книгой.
Аноним 22/02/16 Пнд 14:17:27 #107 №662932 
>>662926
Можешь блог Гея почитать
Аноним 22/02/16 Пнд 17:16:38 #108 №663037 
14561505986500.jpg
>>662926
Аноним 25/02/16 Чтв 22:45:19 #109 №666922 
ОПчик, а вот если я наполовину ньюфаг и чуть-чуть хуёво знаю английский, как мне вкатиться в руби? Какой путь, что читать и всё это.
Аноним 05/03/16 Суб 14:32:41 #110 №677117 
BTC 1JEgrqqwMdjugCasJqdCDrKTGRNgtoNTmB
comments powered by Disqus

Отзывы и предложения