М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 26 марта 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

546 Кб, 400x429

19 Фев, 18:27 #659661 В конец треда | Веб

Опытный рубист (8+ лет индустриального опыта) наставит неофитов.

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

Почта/гтолк, если кому-то вдруг понадобится: dF|"jinn2chhkANUSgmai$onlPUNCTUMa[wcom

Ответы>>659739>>659782>>659799>>661094>>661176>>661231>>661286>>661298>>661310>>661847>>661894>>662173

19 Фев, 18:51 #2 #659704

как найти работку, если ты хикка учившийся по курсам с двачей?

Ответы>>659724

19 Фев, 18:59 #3 #659724

>>659704
Работы довольно много, особенно если зарплатные ожидания не очень высоки. На том же рубиджобсе довольно много вакансий проскакивает. Другое дело, что в резюме дырка от бублика.

В этом случае, полезным и благоугодным делом было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно. После этого и в резюме не стыдно будет писать "участвовал в опенсорсе там-то и там-то".

460 Кб, 1852x2596

42 Кб, 620x466

19 Фев, 19:10 #4 #659739

>>659661 (OP)
ОП пост несколько отличается от >>658091?

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

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

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

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

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

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

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

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

Ответы>>659793>>661254>>661395

19 Фев, 19:29 #5 #659782

>>659661 (OP)
Довольно уверенно чувствую себя в рельсах, в принципе, даже любая задача по плечу, но вот с работой совсем ничего не получается. Опыта работы на кого-либо у меня нет, только проекты для себя и кое-какие контрибьюты в oss. Код пишу грамотно, без велосипедов(поработать над этим помогли опытные люди), пилю свои гемчики. Но работодатель даже не смотрит гитхаб. Устраиваться на джуниора, как я понимаю, не вариант, мне уже 30 лет и на джуновакансиях меня сразу шлют нахуй, да и уровень свой я оцениваю как мидл. На мидла без "коммерческого опыта" тоже смотрят как на говно. Да и вообще ощущение, что перекат в IT без связей невозможен. На рубиджобс дофига днище-вакансий, типа делать сайтики по удаленочке в каких-то колхозных веб-студиях, такие я сразу отбрасываю. А на других мной не интересуются. Какой путь развития можешь посоветовать? Мне пока приходит на ум только такое: зарабатывать на жизнь на апворке, а опыт получать в опенсорс.

Ответы>>659793>>659841

48 Кб, 539x651

19 Фев, 19:37 #6 #659793

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

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

Ответы>>659841>>661395

19 Фев, 19:43 #7 #659799

>>659661 (OP)
>Опытный рубист (8+ лет индустриального опыта) наставит неофитов.
Какой Доширак вкуснее - грибной или мясной? Или ты больше по борщам?

Ответы>>659801

41 Кб, 388x210

19 Фев, 19:46 #8 #659801

>>659799
Что касается еды, могу только посетовать на то, что нормальное мясо и сыры из продажи пропали.

Ответы>>659803>>659845>>659894

19 Фев, 19:49 #9 #659803

>>659801
Почему живешь в России?

Ответы>>659808

19 Фев, 19:51 #10 #659808

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

Ответы>>662703

19 Фев, 20:07 #11 #659831

Сенсей, что скажешь про эту вакансию, это совсем дно, марианская впадина, или не так уж и плохо в качестве первой работы для не совсем юного падавана?
rubyjobs.ru/vacancies/4061

Ответы>>659863

19 Фев, 20:11 #12 #659841

>>659793
>не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения

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

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

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

Ruby → Sinatra → Rails + Angular?

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

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

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

Как решить проблему с ревью своего говнокода, когда тебя еще не берут на работу, но уже нужно писать по-людски?

Ответы>>659863>>659874

19 Фев, 20:13 #13 #659845

>>659801
4к после восьми лет опыта - это как то мало. Обычно столько получает человек с 5+ годами. С почти десятком лет обычно уже больше восьми получают.

Ответы>>659847>>659863>>659904

19 Фев, 20:15 #14 #659847

>>659845
80001275*0,93=6696000
МАТЬ МОЯ ЖЕНЩИНА11!!

Ответы>>659848>>659857

19 Фев, 20:15 #15 #659848

>>659847
Ах, да, звездочки
>8000х12х75х0,93=6696000

19 Фев, 20:19 #16 #659857

>>659847
Ну 500к в рублях с восемью годами опыта можно делать спокойно, если есть вышка и знание нескольких языков.

Ответы>>659863

19 Фев, 20:20 #17 #659863

>>659831
Да хер поймёшь по объявлению этому куцему.
Испытательный срок месяц — много. Если он бесплатный, то скорее всего нахуй.
Стек стандартный.
50-80к вилка для новичка нормально, для "мидла" звучит как маловато.

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

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

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

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

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

>>659845
>>659857
Согласен, что хочется больше. И главное можно делать больше. Но я в общем-то не из тех, кто от пятерки откажется.

19 Фев, 20:23 #18 #659874

>>659841
>Как решить проблему с ревью своего говнокода, когда тебя еще не берут на работу, но уже нужно писать по-людски?

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

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

19 Фев, 20:31 #19 #659894

>>659801
Бля. Что надо делать чтобы столько получать? Как разводить заказчика на полтинник баксов в час?

Ответы>>659899>>659904

19 Фев, 20:33 #20 #659899

>>659894
У ОПа 8 лет работы, даже разводить не надо

>«У Михаила Булгакова есть прекрасная фраза в книге «Мастер и Маргарита», когда Воланд говорит о том, что никогда ничего не просите, сами предложат и сами все дадут.

Ответы>>659906>>659912

19 Фев, 20:36 #21 #659904

>>659894
Как верно заметил >>659845, это не очень большие деньги для американцев (сами американцы в своих консалтингах биллят и по 50, и по 70, и по 100, и по 200 долларов в час). Проблемы будут в другом: надо их убедить, что ты не какой-то там злой русский иван с разницей в часовых поясах в полдня, а профессионал, который решит их проблемы.

Но я в общем тред не похвастаться создал (особо нечем), а оказать посильную помощь новичкам.

Ответы>>659911

19 Фев, 20:37 #22 #659906

>>659899
Ну это если ты Воланд, а если хуй простой, то еще доказать надо.

19 Фев, 20:38 #23 #659911

>>659904
>надо их убедить, что ты не какой-то там злой русский иван с разницей в часовых поясах в полдня, а профессионал, который решит их проблемы.

это с кавер леттера начивается?

Ответы>>659951

19 Фев, 20:38 #24 #659912

>>659899
Ну у меня тоже почти уже 8. Только я на борщах. Дохуя разного пробовал, веб хорошо знаю. Оно-то в принципе ясно, что надо hourly rate проекты брать, потом хуярить весь день чтобы набегало нормально, и обычно вряд ли кто что-то против скажет. Только у меня сплошные fixprice предложения решил заняться скрейпингом, сайтики доебали в конец и аккаунт пока ещё свежий, надо было года 4 назад туда щимиться, я всё с английским тупил.

Ответы>>659951

19 Фев, 20:54 #25 #659951

>>659911
Ну резюме, да. Многое также зависит от скайп-интервью и звонков.

>>659912
Мне если честно короткие энгейджменты (меньше месяца) кажутся довольно невыгодными по соотношению деньги / (потраченное время+простой). Только если совсем сладкие рейты.

19 Фев, 22:53 #26 #660312

Раскажи где халтуру за валюту ищешь?
Я рубист с 3 годами опыта, куда мне писать этим буржуинам?

Ответы>>660338

19 Фев, 22:54 #27 #660314

Объясни, зачем мне твой руби, если я уже знаю один скриптовый яп для вебпараши (пхп)?

Ответы>>660338

19 Фев, 23:06 #28 #660338

>>660314
Тут помочь ничем не могу. Если на пхп всё устраивает --- ради бога, лично я сбежал с пхп и не оглядывался.

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

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

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

Ответы>>660350>>660357>>660365

19 Фев, 23:09 #29 #660350

>>660338
>По ощущениям, нет конкуренции со стороны совсем дешевых индусов

Это потому что туда хрен попадешь, с восемью годами опыта попроще наверное.

19 Фев, 23:11 #30 #660357

>>660338
Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?

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

Расскажи про собес с ними, они мне пишут часто но я их заворачиваю так как считаю зашкваром, вполне вероятно что зря.

Ответы>>660373

19 Фев, 23:16 #31 #660365

>>660338
Через топтал говоришь? Какая там вообще система работы, какие требования, как и куда оплачиваются? ко мне чел с топтала добавился и типа надо с ним голосом говорить, но я чот ссусь.

Ответы>>660373

19 Фев, 23:23 #32 #660373

>>660357
> Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?

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

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

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

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

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

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

Ответы>>660427

19 Фев, 23:44 #33 #660427

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

Ответы>>660461

19 Фев, 23:56 #34 #660461

>>660427
Да.

195 Кб, 1920x1080

# OP 20 Фев, 17:23 #35 #661089

С вами снова ваш друг.

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

Ответы>>661093>>661254

20 Фев, 17:26 #36 #661093

>>661089
остальным не нужен руби

Ответы>>661097

20 Фев, 17:27 #37 #661094

>>659661 (OP)
>рубист
>8+ лет
Пиздобол, руби 8 лет назад практически никто не использовал

Ответы>>661097>>661119

20 Фев, 17:28 #38 #661096

шарил бы ты в java, очень нужен ментор

# OP 20 Фев, 17:29 #39 #661097

>>661093
Справедливо.

>>661094
Некрасиво так накидываться на незнакомых людей. Восемь лет назад был 2008 год. Рельсы были зарелизены в 2004, я и на первой версии успел помучиться, и с мербом (ванлав) поработал.

Ответы>>661099>>661111

20 Фев, 17:31 #40 #661099

>>661097
> в 2004
Пардон, в 2005. Но не суть.

20 Фев, 17:43 #41 #661111

>>661097
Блядь, вот же время летит

20 Фев, 17:57 #42 #661119

Очень доброе дело, ОП. Но не удивляйся
таким >>661094 ребятам, это же харкач. Я так понимаю, по-английски ты свободно говоришь? Алсо охуел от зарплаты, я сам только стипендию 6k получаю, в мелкой студии платили 15k

Ответы>>661122

20 Фев, 18:03 #43 #661122

>>661119
> Я так понимаю, по-английски ты свободно говоришь?
Да. Сейчас без языка вообще никуда.

20 Фев, 19:13 #44 #661176

>>659661 (OP)
Хочу устраиваться на работу, дали задание сделать файловый менеджер с функциями: просмотр список файлов, переход по папкам. Корень папку - public. Сказали юзать Рекат.жс и Рельсы. Покажи путь.

Ответы>>661192>>661229>>661384

20 Фев, 19:25 #45 #661192

>>661176
Так задай вопрос или скинь код на ревью, не хочешь же ты, чтобы за тебя всё написали?

20 Фев, 20:02 #46 #661229

>>661176
На какую позицию такие тестовые дают? Вроде посложнее крудошлепства.

20 Фев, 20:03 #47 #661231

>>659661 (OP)
Сколько тебе лет?

Ответы>>661252

20 Фев, 20:05 #48 #661238

ОП, почему не хочешь получать деньги за code review, на mkdev например нужны опытные наставники.

Ответы>>661252

20 Фев, 20:18 #49 #661252

>>661231
25

>>661238
Деньги --- зло!

20 Фев, 20:19 #50 #661254

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

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

>>659739-анон

Ответы>>661265

20 Фев, 20:42 #51 #661265

>>661254
>план набросал — уже неплохо

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

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

Ответы>>661296

20 Фев, 20:55 #52 #661282

Практический минимум для тех, кто ничего не знает и пошагово можно найти на theodinproject.com, берите оттуда чисто сам план обучения, а информация по ссылкам там устаревшая немного.

Ответы>>661338>>661390

20 Фев, 21:01 #53 #661286

>>659661 (OP)
Напиши подробнее про
>было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно.
Как искать? Как контрибьютить? Пили гайд.

Ответы>>661305>>661338

20 Фев, 21:09 #54 #661296

>>661265
>Поэтому как соберусь, накидаю список упражнений, практический минимум рубиста.

Было бы неплохо.

20 Фев, 21:10 #55 #661298

>>659661 (OP)
IDE? OS? Что-нибудь еще в качестве проверенного решения для разработки?

Ответы>>661338

20 Фев, 21:18 #56 #661305

>>661286
плюсанусь к вопросу, и еще - участвовать в опенсорсе, это нужно обратиться к мейнтейнеру проекта, типа "я такой-то и такой-то, можно я на вас поработаю забесплатно", или просто берешь и закрываешь рандомные issues на гитхабе?

Ответы>>661338

sage 20 Фев, 21:23 #57 #661310

>>659661 (OP)
Кем вы видите себя через 5 лет?

20 Фев, 22:01 #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. Вы восхитительны

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

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

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

Ответы>>661350>>661390>>661391

20 Фев, 22:24 #59 #661350

>>661338
Классно, что не пишешь в рубимайне, лойс от меня.

Ответы>>661391

20 Фев, 22:31 #60 #661357

>>658091
Анон, ты не передумал? Я второй в очереди!

Ответы>>661395

20 Фев, 23:11 #61 #661384

>>661176
Я (не ОП) попробовал бы решить так:
- на рельсах типа api, всего 1 точка api, при обращении на которую происходит загрузка списка файлов в заданном каталоге. Это закрывает функции просмотра списка файлов и перехода по папкам.
- на реакте морда к этому делу.
Рейт май солюшен.

20 Фев, 23:18 #62 #661390

>>661282
>>661338
>theodinproject.com
>Поглядел, действительно, неплохой курс.

Раз уж рекомендуете, для тех кто не может в английский (или пока не может) есть русский перевод (идентичность я не сравнивал) http://codenamecrud.ru/
Но лучше конечно подтянуть английский

20 Фев, 23:21 #63 #661391

>>661338
>sublime text 2
>>661350
>Классно, что не пишешь в рубимайне

Это какой-то сложный прикол? Объясните.

Ответы>>661497

20 Фев, 23:24 #64 #661395

>>661357
См. >>659793

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

>>659739-мимо-первый-в-очереди

21 Фев, 01:12 #65 #661497

>>661391
Ну это что то вроде
>а я люблю есть говно на обед
>о, круто, я тоже!

# OP 21 Фев, 03:29 #66 #661567

В общем, чуваки, простите меня за лень, но по базовому курсу я буду всех отсылать http://codenamecrud.ru/, а ещё лучше на оригинальную версию на http://www.theodinproject.com.
Никакого смысла переизобретать колесо я не вижу.

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

13 Кб, 236x418

# OP 21 Фев, 12:38 #67 #661689

И снова здравствуйте. Обещанный список заданий. Версия 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/Жизнь_(игра) и постройте симуляцию. Поле бесконечным делать не надо, достаточно очень большим. Стартовое поле сделайте просто файлом.

# 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/Байесовская_фильтрация_спама вот тут примерная постановка. Полученную модель нужно куда-то сохранить, по желанию либо просто сериализовать в файл, либо в дб, на ваше усмотрение. Ну и разумеется нужен некий интерфейс к этому классификатору, который позволит на вход давать письмо, а на выход получать ответ, спам это или хам.
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. Заведите пять виртуальных машины, на одну из них задеплойте веб-интерфейс и демона, который пихает задачи для пауков, на другую парсер, на три остальных пауков.

Ответы>>661693>>662072

21 Фев, 12:45 #68 #661693

>>661689
>1. 2ch.hk scraper: напишите две программы, первая будет периодически (раз в 15 секунд, например) обновлять https://2ch.hk/pr/, (М) собирать оттуда треды и их последние посты и сохранять в sqlite3 базу. Вторая программа будет показывать последние десять тредов и последние пять постов в каждом. Затем распространить это на любые интересующие борды.
Вот это уже явно спизженная у меня идея. И как ты собрался "распространять" без обхода капчи?

Ответы>>661698>>661701

# OP 21 Фев, 12:52 #69 #661698

>>661693
Если где-то кого-то повторил, то приношу извинения, писал в общем то, что в голову придёт.

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

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

# OP 21 Фев, 13:01 #70 #661701

>>661693
В гисте про капчу расписал. Вообще это сильно ортогональная основной задаче проблема. Двач вроде бы не показывает капчу, если в него не лупиться чаще определенного количества запросов в минуту, но тут я, конечно, не продумал задание.

В принципе 4чан в отличие от двача этим не страдает вроде как.

Ответы>>661799

21 Фев, 15:09 #71 #661799

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

21 Фев, 15:44 #72 #661847

>>659661 (OP)
>Отвечаю на вопросы
Привет, я неофит, ответь пожалуйста.
Хочу сделать паука. Есть url откуда я хочу копировать и разбивать на кусочки таблицу http://egb.com/tables. Не получилось ничего копировать средствами Nokogiri, я так понял что этот сайт работает на angularjs и ajax. И типа поэтому мой паук читает раньше времени, бля не понимаю что делать. Пишут что нужен phantomjs, но я не нашел где научится создавать скраперы этой связкой. Помоги пожалуйста.

Небольшое дополнение: в таблице не палится id матча, как мне быть если я хочу все эти данные из таблицы копировать в мою бд?

Ответы>>661858>>661859>>661861

53 Кб, 740x272

21 Фев, 15:55 #73 #661858

>>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 Фев, 15:58 #74 #661859

>>661847
если контент в виде джейсона, то парси джейсон.

Ответы>>661862

21 Фев, 16:03 #75 #661861

>>661847
Ищи где приходит json с данными, которыми заполняется таблица и используй ее, хуле ты как маленький.

Ответы>>661862>>661864

21 Фев, 16:05 #76 #661862

>>661859
>>661861
Сейчас попробую, я же не знаю как это делается, котаны

Ответы>>661871

21 Фев, 16:07 #77 #661864

>>661861
А там точно приходит json с данными? Может быть там все заполняется специальными функциями? Там же повсюду функции вида ng-repeat, ng-if, ng- etc

Ответы>>661873>>661914

21 Фев, 16:14 #78 #661871

>>661862
я знаю, как джейсон на жаве парсится, хз как на твоем инструменте.

21 Фев, 16:14 #79 #661873

>>661864
Если контент начинается со <script> значит джейсон.

Ответы>>661878

21 Фев, 16:18 #80 #661878

>>661873
Нет, у меня не со скрипта начинается(
Еще меня маленьким называют.

21 Фев, 16:30 #81 #661894

>>659661 (OP)
ну и нахуй ты нужен когда есть божественная джава?

Ответы>>661899>>661915

21 Фев, 16:31 #82 #661899

>>661894
Не разжигай, иди пару бинов в xml опиши лучше.

Ответы>>661906

21 Фев, 16:35 #83 #661906

>>661899
да, конечно xml много хуже около-yaml.
зато у нас треды нативные, азаза

74 Кб, 1908x435

21 Фев, 16:42 #84 #661914

>>661864
В инспекторе попробуй посмотреть, что там происходит.
Прикладываю скриншот.

Ответы>>661917>>661922

21 Фев, 16:43 #85 #661915

>>661894
Джава отличный язык для своих задач.

21 Фев, 16:44 #86 #661917

>>661914
Спасибо, заценю сейчас.

106 Кб, 1246x492

21 Фев, 16:50 #87 #661922

>>661914
Ахахаах! Он действительно там есть, какой-то файл! Извините что я такой неофит

21 Фев, 19:14 #88 #662072

>>661689
Хорошие задания, лойс тебе за chef. Вообще, судя по постам, ты хороший человек, добра тебе.

21 Фев, 19:53 #89 #662171

Можно как-нибудь сымитировать логин на сайте без phantomjs? Понятно, что можно послать поц-запрос на нужный адрес, но ведь наверное нужно еще и с ответом что-то делать?

Ответы>>662459

21 Фев, 19:57 #90 #662173

>>659661 (OP)
Посоветуй чего почитать по стилю архитектуры.

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

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

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

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

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

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

Вообщем надеюсь моя проблема понятно, чо почитать поэтому поводу.

Ответы>>662459

21 Фев, 20:42 #91 #662243

А есть альтернативы theodinproject? Там какая-то мешанина из роликов, википедии, статей, бесплатных частей платных курсов.

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

Ответы>>662365>>662382>>662459

sage 21 Фев, 20:54 #92 #662272

Оп, вот ты 8 лет хуяришь web. Тебе не надоело? Че думаешь дальше делать?

Я 2 года проработал бекендером на Scala/Play2.0/mongo. В конце второго года сгонял на профильную конфу, посмотрел на 30-40 летних дядь, занимающихся этой галиматьей и меня затошнило. Смахнув пыль с диплома математика ушел в machine learning.

Ответы>>662368>>662459

21 Фев, 21:26 #93 #662365

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

21 Фев, 21:27 #94 #662368

>>662272
Ну он про веб не сказал, он сказал руби

21 Фев, 21:33 #95 #662382

>>662243
Читал эту книжку в офлайн варианте, там про nodejs, vagrant, jquery. Какой-то особенно ценной информации не замечено. Можно заменить курсами по css-html-jquery на codeacademy и codeschool, ноду догнать по nodeschool.io

21 Фев, 22:34 #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 в комплекте идёт полновесный хром без головы. Но зачастую достаточно просто куку прокидывать с авторизацией.

Ответы>>662693>>662926

21 Фев, 22:34 #97 #662461

> Книжки (думаю, что по торрентам всё есть, но :

... но каждая из них не дороже $30.

Ответы>>662474

21 Фев, 22:55 #98 #662474

>>662461
>каждая из них не дороже $30.
>подразумевает, что кто-то платит за книги

Ответы>>662546

21 Фев, 23:37 #99 #662520

Ruby ещё в моде? Все же на nodejs перехали, нет?

Ответы>>662679

21 Фев, 23:57 #100 #662546

>>662474
Многие программерские книги проще покупать чем искать на торрентах.

22 Фев, 02:24 #101 #662679

>>662520
туда ООП-то завезли? а то все не то прототайпинг, не то функциональщина.

Ответы>>662695

22 Фев, 02:37 #102 #662693

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

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

Я новичок, поэтому не понимаю как нужно. а коллег с 8 годами правильной практики нету.

22 Фев, 02:38 #103 #662695

>>662679
ебать ты тупенький

22 Фев, 02:50 #104 #662703

>>659808
Вроде бабло можно указывать как полученные с инвестиций, и платить ваще 9 процентов. и в пенсионный ничего не надо отчислять

Ответы>>662707

22 Фев, 02:54 #105 #662707

>>662703
>и платить ваще 9 процентов

Спасайся кто может.

22 Фев, 14:14 #106 #662926

>>662459
>Jim Gay: Clean Ruby
На торрентах нету, и вообще нигде. Поделитесь пожалуйста книгой.

Ответы>>662932>>663037

22 Фев, 14:17 #107 #662932

>>662926
Можешь блог Гея почитать

1353 Кб, 1600x1320

22 Фев, 17:16 #108 #663037

>>662926

25 Фев, 22:45 #109 #666922

ОПчик, а вот если я наполовину ньюфаг и чуть-чуть хуёво знаю английский, как мне вкатиться в руби? Какой путь, что читать и всё это.

05 Мар, 14:32 #110 #677117

BTC 1JEgrqqwMdjugCasJqdCDrKTGRNgtoNTmB

Тред утонул или удален.
Это копия, сохраненная 26 марта 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion