24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Опытный рубист (8+ лет индустриального опыта) наставит неофитов.
Отвечаю на вопросы, делаю код-ревью, могу набросать примерный план обучения. Могу рассказать что-нибудь из опыта работы с отечественными и зарубежными заказчиками, если интересно.
>>659704 Работы довольно много, особенно если зарплатные ожидания не очень высоки. На том же рубиджобсе довольно много вакансий проскакивает. Другое дело, что в резюме дырка от бублика.
В этом случае, полезным и благоугодным делом было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно. После этого и в резюме не стыдно будет писать "участвовал в опенсорсе там-то и там-то".
После становления WWW SQL IDE GIT можно наконец переходить к делу? Или на JS не обязательно останавливаться?
2. Я тут скачал и разложил книжки в порядке приоритета (из руби-шапки). Есть что-то явно лишнее или то, чего явно не хватает?
>могу набросать примерный план обучения
помимо руби-компетенций нужны еще алгоритмы, что-то еще?
>А меня теорими графов нагрузили, и о криптографии, ширфовании, закрытый ключ - открытый ключ, и другое. позиция ruby on rails junior >про графо ориентированые базы данных, про то что такое графы, ибо проект будет заточен под базу построенную на графах. Потом уже загуглил, увидел знакомое слово neo4j даже, интересно стало. Про ключи, открытые и закрытые
>>659661 (OP) Довольно уверенно чувствую себя в рельсах, в принципе, даже любая задача по плечу, но вот с работой совсем ничего не получается. Опыта работы на кого-либо у меня нет, только проекты для себя и кое-какие контрибьюты в oss. Код пишу грамотно, без велосипедов(поработать над этим помогли опытные люди), пилю свои гемчики. Но работодатель даже не смотрит гитхаб. Устраиваться на джуниора, как я понимаю, не вариант, мне уже 30 лет и на джуновакансиях меня сразу шлют нахуй, да и уровень свой я оцениваю как мидл. На мидла без "коммерческого опыта" тоже смотрят как на говно. Да и вообще ощущение, что перекат в IT без связей невозможен. На рубиджобс дофига днище-вакансий, типа делать сайтики по удаленочке в каких-то колхозных веб-студиях, такие я сразу отбрасываю. А на других мной не интересуются. Какой путь развития можешь посоветовать? Мне пока приходит на ум только такое: зарабатывать на жизнь на апворке, а опыт получать в опенсорс.
Мне подумалось, что поскольку педагогического опыта у меня нет, то обучение превратится в не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения. Поэтому вот такой формат. В любом случае, почта в шапке есть.
> 1. Насколько актуальна картинка про компетенции?
Зависит. Конечно, много где любят нанимать рубистов фулл-стековых, чтобы они делали всё: деплой, бэкенд, вёрстку и чуть ли даже не дизайн — но в моём опыте обычно есть некоторое разделение на бэкендщиков и фронтэндщиков.
Для бэкенда стандартный набор крудошлёпа это рельсы и какая-то rdbms.
> 2. Я тут скачал и разложил книжки в порядке приоритета (из руби-шапки). Есть что-то явно лишнее или то, чего явно не хватает?
Книжки много где дублируют друг друга. Я сам обучался по кирке (она же programming ruby the pragmatic programmer's guide) но там много чисто референсного материала, ну и оно в принципе для уже знающего какой-то язык больше полезна, чем для совсем новичка.
По содержанию курс выглядит нормально, но он же не бесплатный. 20к рублей это довольно дофига.
> слишком много платных курсов сейчас — можно ли им доверять или это выброшенные на ветер деньги и всему можно научиться самому?
Не могу сказать насчёт "на ветер", но самому обучиться 100% можно.
План я бы взял примерно такой: 1. Владение текстовым редактором, командной строкой и гитом обязательно, ну это быстро всё хотя бы на базовом уровне осваивается. 2. Руби (без фреймворков) как язык, стандартная библиотека 3. Какой-нибудь совсем простой фреймворк типа синатры 3.5. Между делом надо изучить основы html, css 4. Рельсы 5. JS фреймворки
> помимо руби-компетенций нужны еще алгоритмы, что-то еще?
Если реалистично говорить, то мне знание алгоритмов кроме как на вступительные интервью отвечать особо не пригодилось. Единственная вещь из CS, которая реально постоянно нужна — это O-нотация и умение оценить асимптотику алгоритма.
> какие варианты с быстрым ростом как програмиста в городах где нет потребности в руби-специалистах?
Надо удалёнку искать. Я живу в довольно небольшом городе и работаю удалённо всю жизнь. Диапазон зарплат на среднего рубиста на удалёнке сейчас 75-150к рублей в месяц. Я сам стал работать на западных заказчиков, ну сами понимаете почему.
>>659782 Я не очень из твоего поста понял про опыт программирования в других языках. Если он есть, то просто указываешь его. Если нет, то сложно всё. Ты одновременно хочешь работу и зарплату выше входной, но при этом ничто в твоём резюме не говорит как о ценном кадре. Если особо не стесняешься, скидывай на почту гитхаб, посмотрим вместе, что ты умеешь.
Ну а вообще, к сожалению, вопросы найма как такового не совсем в моей компетенции, я могу поделиться своим личным опытом, но не обязательно он окажется полезным.
>>659803 Это временно. Ну и справедливости ради отмечу, что налоги у нас получаются одни из самых низких. Я в белую заплачу меньше десяти процентов с получаемых денег.
Сенсей, что скажешь про эту вакансию, это совсем дно, марианская впадина, или не так уж и плохо в качестве первой работы для не совсем юного падавана? rubyjobs.ru/vacancies/4061
>По содержанию курс выглядит нормально, но он же не бесплатный. 20к рублей это довольно дофига.
Ну, там хотя бы открытый доступ к содержанию курса есть. И я думал что 20к надо платить, если я сертификат получить хочу, а если без сертификата то можно бесплатно.
Ruby → Sinatra → Rails + Angular?
>Надо удалёнку искать.
Выглядит немного прохладно для 2016. Мне кажется твой опыт релевантен больше к 2008, когда руби-джуниоров (да и вообще программистов) поменьше было.
С какого момента можно начинать искать работу? Я закрываю все пробелы в компетенциях и уже можно начинать? Но даже у товарища старше меня и опытнее меня не получается >>659782
Как решить проблему с ревью своего говнокода, когда тебя еще не берут на работу, но уже нужно писать по-людски?
>>659801 4к после восьми лет опыта - это как то мало. Обычно столько получает человек с 5+ годами. С почти десятком лет обычно уже больше восьми получают.
>>659831 Да хер поймёшь по объявлению этому куцему. Испытательный срок месяц — много. Если он бесплатный, то скорее всего нахуй. Стек стандартный. 50-80к вилка для новичка нормально, для "мидла" звучит как маловато.
Я бы пытался договориться на то, что по истечении двух недель либо выгоняете нахуй, либо берете на полноценную ставку, включая эти две недели.
>>659894 У ОПа 8 лет работы, даже разводить не надо
>«У Михаила Булгакова есть прекрасная фраза в книге «Мастер и Маргарита», когда Воланд говорит о том, что никогда ничего не просите, сами предложат и сами все дадут.
>>659894 Как верно заметил >>659845, это не очень большие деньги для американцев (сами американцы в своих консалтингах биллят и по 50, и по 70, и по 100, и по 200 долларов в час). Проблемы будут в другом: надо их убедить, что ты не какой-то там злой русский иван с разницей в часовых поясах в полдня, а профессионал, который решит их проблемы.
Но я в общем тред не похвастаться создал (особо нечем), а оказать посильную помощь новичкам.
>>659899 Ну у меня тоже почти уже 8. Только я на борщах. Дохуя разного пробовал, веб хорошо знаю. Оно-то в принципе ясно, что надо hourly rate проекты брать, потом хуярить весь день чтобы набегало нормально, и обычно вряд ли кто что-то против скажет. Только у меня сплошные fixprice предложения решил заняться скрейпингом, сайтики доебали в конец и аккаунт пока ещё свежий, надо было года 4 назад туда щимиться, я всё с английским тупил.
>>659911 Ну резюме, да. Многое также зависит от скайп-интервью и звонков.
>>659912 Мне если честно короткие энгейджменты (меньше месяца) кажутся довольно невыгодными по соотношению деньги / (потраченное время+простой). Только если совсем сладкие рейты.
>>660314 Тут помочь ничем не могу. Если на пхп всё устраивает --- ради бога, лично я сбежал с пхп и не оглядывался.
>>660312 Не очень хочу их рекламировать, но я через toptal.com устраивался.
Минусы: - Судя по всему, они приплюсовывают 25-50% к твоим заявленным рейтам своей комиссии (достоверно это неизвестно, т.к. согласно договору с клиентами рейты обсуждать нельзя) - В конечном счёте все равно всё упирается в работодателей и они могут долго не отвечать
Плюсы: - По ощущениям, нет конкуренции со стороны совсем дешевых индусов - Не надо ебать себе мозг по поводу выбивания денег из клиента - Процесс взаимодействия более-менее отлажен
>>660338 Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?
Ещё вопрос, вот ты на собесе кодилити дрюкал или просто про алгоритмы расказывал, правильно я понимаю?
Расскажи про собес с ними, они мне пишут часто но я их заворачиваю так как считаю зашкваром, вполне вероятно что зря.
>>660338 Через топтал говоришь? Какая там вообще система работы, какие требования, как и куда оплачиваются? ко мне чел с топтала добавился и типа надо с ним голосом говорить, но я чот ссусь.
>>660357 > Видел этих, читал что у них какой то контракт зашкварный по которому ты можешь поработать неделю или две бесплатно если не понравишся работодателю, сталкивался с таким?
Неправда, все тестовые задания и тестовые сроки от работодателей оплачиваются.
> Ещё вопрос, вот ты на собесе кодилити дрюкал или просто про алгоритмы расказывал, правильно я понимаю?
Этапы были такие: 1. Просто разговор (оценивают знание языка и вообще вменяемость общую) 2. Решаешь алгоритмы, вроде на кодилити, да. Задачки не очень простые, но и не очень сложные. Я в итоге что-то типа 190 из 300 набрал и был собой очень недоволен, но мне рекрутёр сказал, что это вполне нормально. 2.5. Созваниваешься с техническим чуваком, он хвалит твои решения, ну или наоборот ругает и даёт... 3. Тестовое по рельсам (в общем стандартная хуйня крудовая, работы дня на два-три, дают две недели)
На всё про всё уходит около месяца (длинные перерывы между этапами). Затем приходит договор, ты его мышкой подписываешь, ну и збс.
>>660365 > Какая там вообще система работы, какие требования Прежде чем тебя допускают до сайта, ты проходишь интервью с ними (см. выше), затем у тебя появляется доступ к их платформе. Ну там в общем довольно похоже на все остальные сайты по поиску работы, жмёшь apply к подходящим позициям и ждёшь пока ответят. Процесс обычно относительно отработанный: apply -> interview -> profit У меня в одной конторе было тестовое на два дня, в другой тестовая неделя, в обоих случаях всё оплачивалось по полной ставке.
> как и куда оплачиваются Оплата у них через payoneer, bank wire или paypal. Я в белую оформлялся как ип, после довольно долгой ебли с валютным контролем банка (пришлось переводить и заверять перевод договора у нотариуса) они почти перестали придираться. Через payoneer скорее всего попроще (где-то в течение месяца тебе приходит карта), но там повыше комиссии на снятие. Но зато налогов платить не надо. Короче, на любителя. Через палку я понятия не имею как выводить бабло, так что не рассматривал.
>>661094 Некрасиво так накидываться на незнакомых людей. Восемь лет назад был 2008 год. Рельсы были зарелизены в 2004, я и на первой версии успел помучиться, и с мербом (ванлав) поработал.
Очень доброе дело, ОП. Но не удивляйся таким >>661094 ребятам, это же харкач. Я так понимаю, по-английски ты свободно говоришь? Алсо охуел от зарплаты, я сам только стипендию 6k получаю, в мелкой студии платили 15k
>>659661 (OP) Хочу устраиваться на работу, дали задание сделать файловый менеджер с функциями: просмотр список файлов, переход по папкам. Корень папку - public. Сказали юзать Рекат.жс и Рельсы. Покажи путь.
>>661089 >Вкатывальщики в руби, ищущие ментора или код ревью, почта в шапке. Пока что только двое мне решили написать, остальные стесняются, видимо.
Тебе наверное написали те кто уже что-то может (и имеет некоторые проблемы), я вот пока ничего не умею так как только начал, поэтому стесняюсь. Ну вернее смысла пока нет, ведь на данном этапе это больше самостоятельная работа с книгами и кодом. Про книжки ты мне ответил, план набросал — уже неплохо, хоть и несколько лаконично. И на том спасибо :)
Тут я виноват, конечно, что не слишком понятно пишу. Опыт работы у меня большой, а вот педагогического ноль целых, хуй десятых.
Вообще в плане обучения языкам программирования, как мне кажется, книги без упражнений довольно бесполезны. Поэтому как соберусь, накидаю список упражнений, практический минимум рубиста.
Практический минимум для тех, кто ничего не знает и пошагово можно найти на theodinproject.com, берите оттуда чисто сам план обучения, а информация по ссылкам там устаревшая немного.
>>659661 (OP) Напиши подробнее про >было бы поконтрибьютить в опен-сорсные проекты. На гитхабе таковых полно. Как искать? Как контрибьютить? Пили гайд.
>>661286 плюсанусь к вопросу, и еще - участвовать в опенсорсе, это нужно обратиться к мейнтейнеру проекта, типа "я такой-то и такой-то, можно я на вас поработаю забесплатно", или просто берешь и закрываешь рандомные issues на гитхабе?
>>661298 > IDE? OS? Что-нибудь еще в качестве проверенного решения для разработки? У меня довольно стандартный набор: os x, sublime text 2, iterm2 Когда на линуксе сижу, то же самое, не знаю, что ещё добавить.
Процесс "как мне добавить себе звездочку контрибутора в опен-сорс" как правило очень простой: 0. Читаете CONTRIBUTING.md, если он имеется в наличии, но если нет, то: 1. Клонируете проект 2. Прогоняете тесты, чтобы убедиться, что всё работает 3. Отбранчиваетесь в свою ветку 4. Пишете тест, который воспроизводит баг 5. Чините баг 6. Шлёте пулл-реквест с указанием бага, который вы починили 7. ????? 8. Вы восхитительны
Если проект относительно маленький, то обычно есть смысл предварительно связаться с автором, чтобы узнать, а нужна ли ему ваша помощь ваще. Если у проекта есть ирц канал --- ваще ништяк, спешим туда, спрашиваем есть ли какие-нибудь легкие баги для начинающих контрибьюторов, ну и ваще возможные советы.
> я такой-то и такой-то, можно я на вас поработаю забесплатно
По-хорошему, лучше связаться с автором, прежде чем что-то делать, потому что будет просто обидно, если он сам свои баги починит, а вы впустую время потратите. Но большие проекты, типа тех же рельс, с удовольствием принимают пулл-реквесты от любых разработчиков.
>>661176 Я (не ОП) попробовал бы решить так: - на рельсах типа api, всего 1 точка api, при обращении на которую происходит загрузка списка файлов в заданном каталоге. Это закрывает функции просмотра списка файлов и перехода по папкам. - на реакте морда к этому делу. Рейт май солюшен.
Раз уж рекомендуете, для тех кто не может в английский (или пока не может) есть русский перевод (идентичность я не сравнивал) http://codenamecrud.ru/ Но лучше конечно подтянуть английский
>Мне подумалось, что поскольку педагогического опыта у меня нет, то обучение превратится в не очень понятную процедуру, где я накидываю список глав из книг для прочтения и упражнения. Поэтому вот такой формат. В любом случае, почта в шапке есть.
В общем, чуваки, простите меня за лень, но по базовому курсу я буду всех отсылать http://codenamecrud.ru/, а ещё лучше на оригинальную версию на http://www.theodinproject.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. Заведите пять виртуальных машины, на одну из них задеплойте веб-интерфейс и демона, который пихает задачи для пауков, на другую парсер, на три остальных пауков.
>>661689 >1. 2ch.hk scraper: напишите две программы, первая будет периодически (раз в 15 секунд, например) обновлять https://2ch.hk/pr/, собирать оттуда треды и их последние посты и сохранять в sqlite3 базу. Вторая программа будет показывать последние десять тредов и последние пять постов в каждом. Затем распространить это на любые интересующие борды. Вот это уже явно спизженная у меня идея. И как ты собрался "распространять" без обхода капчи?
>>661693 В гисте про капчу расписал. Вообще это сильно ортогональная основной задаче проблема. Двач вроде бы не показывает капчу, если в него не лупиться чаще определенного количества запросов в минуту, но тут я, конечно, не продумал задание.
В принципе 4чан в отличие от двача этим не страдает вроде как.
>>661701 на форчане тем более капча нужна. я считаю ботов что-то отправляющих лучше писать для систем с регистрацией. вот у меня в планах написать бота, чтобы находил и отправлял отклики на апворке.
>>659661 (OP) >Отвечаю на вопросы Привет, я неофит, ответь пожалуйста. Хочу сделать паука. Есть url откуда я хочу копировать и разбивать на кусочки таблицу http://egb.com/tables. Не получилось ничего копировать средствами Nokogiri, я так понял что этот сайт работает на angularjs и ajax. И типа поэтому мой паук читает раньше времени, бля не понимаю что делать. Пишут что нужен phantomjs, но я не нашел где научится создавать скраперы этой связкой. Помоги пожалуйста.
Небольшое дополнение: в таблице не палится id матча, как мне быть если я хочу все эти данные из таблицы копировать в мою бд?
>>661861 А там точно приходит json с данными? Может быть там все заполняется специальными функциями? Там же повсюду функции вида ng-repeat, ng-if, ng- etc
Можно как-нибудь сымитировать логин на сайте без phantomjs? Понятно, что можно послать поц-запрос на нужный адрес, но ведь наверное нужно еще и с ответом что-то делать?
>>659661 (OP) Посоветуй чего почитать по стилю архитектуры.
Например есть кусок бизнес логики, его можно пихнуть в одно место. но того будет много таких кусов
функция _do_some_thing .... Вызов другого метода в котром уже все есть, и все. end
зато они все будут в одном месте, и будем вызывать из этого модуля одну функцию где будет его дерьгать эту логику.
второй стул, это распилить этот модуль, и его части раскидать по разным частям программы. А основной кусок логики пихнуть прямо туда где он нужен.
И не понятно какой кусок лучше.
Второй вроде меньше писать надо, но код будет превращаться в кашу я думаю у всего проекта. или первый, код в одном месте, Но много врапперов, и наверно есть дублирование кода, но вроде красивше выглядит.
Вообщем надеюсь моя проблема понятно, чо почитать поэтому поводу.
Оп, вот ты 8 лет хуяришь web. Тебе не надоело? Че думаешь дальше делать?
Я 2 года проработал бекендером на Scala/Play2.0/mongo. В конце второго года сгонял на профильную конфу, посмотрел на 30-40 летних дядь, занимающихся этой галиматьей и меня затошнило. Смахнув пыль с диплома математика ушел в machine learning.
>>662243 дело не в >роликов, википедии, статей, бесплатных частей платных курсов а в плане обучения, пути, который можно позаимствовать из этого курса. Плюс можно выполнять задания оттуда. Ссылки по теории и туториалы там устаревшие, это факт.
>>662243 Читал эту книжку в офлайн варианте, там про nodejs, vagrant, jquery. Какой-то особенно ценной информации не замечено. Можно заменить курсами по css-html-jquery на codeacademy и codeschool, ноду догнать по nodeschool.io
>>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
> И не понятно какой кусок лучше. > Второй вроде меньше писать надо, но код будет превращаться в кашу я думаю у всего проекта. или первый, код в одном месте, Но много врапперов, и наверно есть дублирование кода, но вроде красивше выглядит.
Не уверен, что до конца тебя понял, но в целом обычно стремятся к уменьшению каждого отдельного класса и увеличению их количества. Идея в том, чтобы минимизировать область ответственности каждого объекта. Но переусердствовать тоже не стоит, иначе приходим к джавизмам.
>>662272 У меня собственно крудошлёпства минимальное количество было. В основном бэкенды разные. Не надоело, даже скорее наоборот.
>>662171 >Можно как-нибудь сымитировать логин на сайте без phantomjs Зависит от того, что ты подразумеваешь под логином. С capybara-webkit в комплекте идёт полновесный хром без головы. Но зачастую достаточно просто куку прокидывать с авторизацией.
>>662459 >Не уверен, что до конца тебя понял, но в целом обычно стремятся к уменьшению каждого отдельного класса и увеличению их количества. Идея в том, чтобы минимизировать область ответственности каждого объекта. Но переусердствовать тоже не стоит, иначе приходим к джавизмам.
забрал пуудр, судя по описанию то что мне надо.
Я новичок, поэтому не понимаю как нужно. а коллег с 8 годами правильной практики нету.
Отвечаю на вопросы, делаю код-ревью, могу набросать примерный план обучения. Могу рассказать что-нибудь из опыта работы с отечественными и зарубежными заказчиками, если интересно.
Почта/гтолк, если кому-то вдруг понадобится: [email protected]