24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
1. C чего мне начать, чтобы стать рубистом? Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
2. Какой gem посмотреть, чтобы понять, как писать код? Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping. А еще можешь полистать на гитхабе гемы с нарастающей популярностю. https://github.com/trending?l=ruby Там еще нет тысяч строк, и тебе будет легче понять.
3. Есть ли GUI для руби? Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
4. Можно ли писать на руби мобильное ПО? Да. Для iOS есть RubyMotion терпимого качества, для Android - лагающий и падающий, но всеми силами развивающийся ruboto. Для WinPhone до сих пор ничего не завезли.
7. Хорошие практики по руби и рельсам? Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes. Почитайте еще Grimm A. - Objects on Rails Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
13. Где можно задать глупые и не очень вопросы? - здесь - stackoverflow.com - тематические slack-конфы - а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
14. Как фокнуть\сделать фичу\исправить баг, сложно ли это? Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
15. В чём писать код? Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
16. Можно ли писать на руби с под windows? Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
17. Руби язык одного фреймворка? Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
18. Можно ли делать игры на Ruby? Можно, но не нужно. Гем Gosu.
20. Как и где искать работу? Легко и просто - http://rubyjobs.ru/ Не так просто - https://upwork.com/ Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
TODO лист для ньюфагов: И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь. Рекомендации: 1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии. 2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет) 3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch 4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой. Ну, а мы открываем очередной Ruby Thread.
>>686710 Я как писал на шарпе, так и пишу, потому что он вечен. А вот ваша однодневка после оттока хипстеров внезапно стала никому не нужна. А рельсы - совершенно не хайлоад, бенчмарки подтверждают. Рельсовиков нельзя и близко подпускать к нагруженным проектам.
>>686726 Я как писал на рельсасх, так и пишу, потому что они вечны. А вот ваша однодневка после оттока хипстеров внезапно стала никому не нужна. А ASP.NET - совершенно не хайлоад, бенчмарки подтверждают. Шарповиков нельзя и близко подпускать к нагруженным проектам.
>>686776 >Раби - это просто обёртка, отдающая страницы. А сисярп нет что ли? Или что там выдающегося на нем нахуярено? При всех недостатках руби - это всего лишь сорта одного говна.
>>686776 Вообще говоря в приличном обществе никто даже не подумает спорить про что-то и упоминать C#. >>686820 >При всех недостатках руби - это всего лишь сорта одного говна. При всех недостатках руби ты можешь выбрать любой другой тред на этой доске.
>>686874 >На майкрософтовском стеке из известных могу припомнить только stackoeverflow, но его авторы реально поехавшие сукины сыны. Ещё и в жопу порются.
Что сейчас модно-то? Вкатываюсь недавно, так понял, что немодную хуйню юзать нельзя, иначе все червем пидором назовут и вообще к успеху не прийти. Или вообще забить на это все и мобилодебилом стать?
>>686897 Руби 2.2.2 модно, 1.9.3 не оч модно, 1.8.7 червь. Ну а к успеху как прийти, никто не знает, но многие говорят что главное это делать что-то каждый день. Артэмий Лебедев например так говорит, а он хоть и бака, но бака с мнением которой трудно не согласиться.
>>687274 После кодакадеми, какой ресурс ты бы не начал изучать, узнаешь много нового. Если не хочешь курить книги, то попробуй rubymonk или ruby the hard way, но если хочешь серьезных результатов то книгами придётся заняться. В rubymonk есть интересные задачки для решения.
Пацаны, а поясните следующую хренотень. Я вот потихоньку вкатываюсь в программирование, решил начать с руби. Естественно планирую прийти к небывалому успеху, нихуя не делать и грести бабло лопатой. Чтобы теребить свои влажные фантазии курю различные сайты с работой. И что же я вижу? А вижу я следующее: программист/разработчик руби — зарплатный уровень 80-120к (ну так, в среднем), программист с опытом питон/руби/яваскрипт/ещё хуева туча названий, плюс линуксы и тсп/ип — зарплатный уровень 40-60к. Что не так с этим миром? Или от второго требуется опыт уровня "хелло ворлд", а от первого глубоких и серьёзных знаний?
Аноны, есть ли возможность построить для проекта на Ruby 2.2.3 and Rails 4.1 UML диаграммы. Охуенно было бы, если была возможность для построения Controller-model отношения.
Пробовал Railroad, но он сука старый. Пробовал Railroady. Он пока тупо вообще не работает. Работаю над этим. Установил Visual Paradigm, но он не может в (исходник=>UML). Не знаю, что уже делать.
>>688142 Ну если этот дегенерат с "раби" и дегенерат, который отвечает на все вопросы всякую хуиту, одно лицо, странно что его ещё в подворотне не завалили.
Ананасы, я 33 лвл, хочу в руби, английский подтягиваю. Других языков программирования не знаю, если только хтмл пару строк. Стоит ли начинать? Или оооочень будет трудно конкурировать с молодыми кунами? На аж пиздец большую зарплату не претендую как кун выше, и уж тем более понимаю что в носу ковырять и бабло грести не получится, всяко нужно въебывать. Что скажете?
Скажу что судя по твоим мечтам у меня в запасе еще 7 лет :3 Пробуй, старайся, действуй, добивайся. Никто не осудит тебя за успех, но тебе придется быть честным с самим собой в случае если ты будешь недостаточно хорошо стараться. Удачи!
>>688343 - в плюсотреде называют плысы крестами. Всем похуй. - в Java и JavaScript говорят Ява. Всем похуй. - в хаскелетреле говорят хачкель. Всем похуй. - в питонотреде говорят пистон. Всем похуй. - в рубитреде говорят Раби. БАРЕБУХ!
1. Пости скрины рубимайна и нахваливай его. 2. Пости скрины атома и нахваливай его. 3. Пости скрины винды и пиши, что под виндой с руби всё збс. 4. Пости демотиваторы с end end end end end. 5. Пиши, что у тебя рейт $55, ты работаешь фуллтайм, и выходит 700к рублей в месяц. 6. Постоянно повторяй, что работы для руби нет.
>>688395 1. Но там же автодополнения и прочая хуйня 2. А с атомом что не так? На кофескрипте ещё весь 6. А как оно на самом деле? Вот раньше оверхайп был, а сейчас?
Читаю agile, там интернет магазин А ЧТО Ж ЕЩЁ запиливают, сейчас глава с корзиной. И "корзины" хранятся в бд, достаются по :cart_id. Т.е. это сессии в бд хранятся? А в куки id сессии? А зачем вообще корзины в базе хранить, почему не на клиенте в куки запихивать или в html storage какой, зачем это говно в базе? А удалять потом как?
>>688409 Я зарегался на магазине, создал заказ и "отложил", например. Потом с ноута зашёл добавить в него товаров. С куками я сосну. И вообще, хранить в куках хоть какую не мизерную инфу - моветон.
>>688395 >1. Пости скрины рубимайна и нахваливай его. Не пробовал рубимайн, но обычно продукты жетбрейнс весьма неплохи, хоть и тяжелы. >2. Пости скрины атома и нахваливай его. Атом отлично подходит для небольших проектов. А вот в больших нужна уже IDE. >3. Пости скрины винды и пиши, что под виндой с руби всё збс. Не, на винде можно писать только под винду. Серверные языки только на лине. >4. Пости демотиваторы с end end end end end. Так это один из главных фейлов рубисинтаксиса. >5. Пиши, что у тебя рейт $55, ты работаешь фуллтайм, и выходит 700к рублей в месяц. Не встречал людей с рейтом больше 40$, и тот был лютый специалист с десятилетним стажем на крестах. >6. Постоянно повторяй, что работы для руби нет. Не сказал бы что нет. Мало - да. Становится меньше с каждым днем - да. Но есть. По крайней мере пока.
>>688412 Так сессия в базе хранится? Если мне всё равно на соснут с куками или нет и я все позиции корзины запишу хэшем в session, то я смогу с ними работать (передавать во вьюху и т.д.)? Или это всё дичайше и такое никогда не надо?
>>688435 >Так сессия в базе хранится? Если мне всё равно на соснут с куками или нет и я все позиции корзины запишу хэшем в session, то я смогу с ними работать (передавать во вьюху и т.д.)? Или это всё дичайше и такое никогда не надо?
Сессия в рельсах по умолчанию в куках. Да, можно хуйнуть говна в сессию и в целом это будет работать конечно же, почему нет. Можно подключить джем для сессий в БД или в Redis, чтобы хранить более 4КБ говна или сколько там лимит у кук. Надо или нет - зависит от задачи. В книге тебя учат типа как правильно делать. А майндсет у тебя, как у пхпшника-студента, извини уж.
>>688437 Вся сессия в куках? Я думал, это id сессии такой длинный. Почему говна, надобавлял - купил - сессию почистил или кука истекла. А так говно в базе будет.
>>688445 У тебя ведь будет понятие "заказ", где будут все товары, их количество, адрес доставки, статусы оплаты, доставки и прочая инфа. Почему бы не начать конструировать это в БД на этапе заполнения корзины? Или ты прям хочешь разорвать процесс наполнения корзины и процесс "просмотр -> финализация заказа"? Лучше было бы дать возможность пользователю в любой момент как угодно отредактировать заказ, пока он не завершён.
>>688448 > Почему бы не начать конструировать это в БД на этапе заполнения корзины? Да, об этом думал, но мысль о мусорных записях не дает покоя лол. Почему-то очистка представляется чем-то трудозатратным. Ок, понял, спасибо.
>>688513 А ещё порекомендую все решения которые в ходе всяких рубимонков и рубеков будешь делать раскладывать в отдельные файлы, а не как-то писать в файле который потом потеряется.
>>688452 Ты ещё не понимаешь предметной области до конца. Похуй на мусорные записи, но тебя заставят собирать аналитику на все корзины, на каждый вспёрд клиента, на брошенные заказы, небо и аллаха. Поэтому сохранять надо всё что можно и нельзя.
>>685932 (OP) Рубаны, посоветуйте. Я вот 4 года верстаю верстку, но мне уже знатно надоело. Присматривался к разным языкам, но в совсем новую область лезть стремно, думаю остаться в вебе что бы навыки не пропадали. Потому решил медленно перекатиться на рельсы. Но я вот посматриваю вакансии на удаленке и их не то что бы много. Не понятно какие перспективы у Ruby/Rails. Некоторые поговаривают что популярность языка падает. Не хотелось бы что бы к тому моменту когда я освоюсь c рельсами, оказалось что работы нету. Что посоветуете?
>>689037 Осваивают не язык, а стек технологий. А тебе ещё нужно осваивать программирование в принципе.
И поговаривают не про популярность, а хайп, рельсу продолжают использовать и она растёт теперь не только в стартапах, но и в изначально коммерческих проектах.
Изучая веб программирвоание ты должен изучить построение сайта от и до, минимально: 1. где всё это добро запускать (linux), 2. где хранить данные (какая-нибудь SQL-база и язык SQL), 3. на чём писать бизнес-логику (какой-нибудь скриптовый язык, например руби), 4. библиотеку готовых программерских решений часто встречающихся задач (рейлс).
Пункты 3 и 4 подразумевают знание(или активное изучени) программирования вообще, алгоритмы, паттерны, таблицы истинности прости госпади. Конкретные особенности языка в большинстве своём не так уж сложны.
Так что к тому моменту как ты освоишься с рельсами, у тебя будет некое портфолио и ты будешь знать веб-разработку, а изучение нового языка, задача тривиальная.
>>689213 а чем тебе ява не устраивает, сиди пили себе спринг и получай бабло. ну а чтобы ебашить на руби, ооп майндсет уже у тебя есть, паттерны тоже наверное знаешь, вкурить синтаксис и разобраться с блоками тебе пару недель по сути.
>>689401 Пока Elance полноценно работал у меня был рейт 10-13$. Я не пытался себя работой заваливать, потому без напрягов нарабатывал 40-80 часов в месяц и релаксировал с 400-800$. Иногда можно было и поднапрячься и заработать до 2k. Но сейчас я забил на все и заказы не ищу, и конкретно в этом году заработал 100 баксов. >>Это как я понимаю самое быстрое что можно изучить Вообще да, но сейчас на знаниях только HTML + CSS далеко не уедешь. Хорошо бы знать JS(хотя бы базовые вещи), SASS/LESS, Boostrap, Wordpress, для серьезных проектов Grunt и Git. Если не чесать яйца то за год во всем этом легко освоиться.
>>689467 Спасибо за ответы анон. Купил себе книгу html css + параллельно руби начинаю. Но пока не ушел далеко, только старт. Есть смысл заменить руби на JS? Или продолжить как начал, т.к. JS все равно придется изучить рано или поздно. Или тут больше личное предпочтение?
>>689611 Наваливать себя двумя полноценными языками нет смысла. Знание JS принесёт деньги раньше чем знание руби. В довесок к руби придётся учить рельсы. Если стоит выбор что начать учить, то JS всяко выгоднее.
>>690152 Рельсы - один из самых востребованных и оплачиваемых фреймворков. Конкретно автор этого поста получает 27 баксов в час. Вопрос: ты троллишь или просто не в теме?
>>689611 Странное начало. Я выбрал руби, JS учил по мере надобности. Если же ты начал с жабаскрипта сразу, то... Наверное, руби тебе не нужен. Качай жабаскрипт, учись в верстку и иди во фронт. Работы - валом, рейты неплохие, большинство фронтов это обезьянки, которые нихуя в программировании не смыслят. То есть, если есть мозг, можешь очень неплохо зарабатывать. Алсо, фронт будет нужен ВСЕГДА, пока есть веб. Раби... Возможно, может быть, наверное, вероятно станет терять популярность.
Хочу запилить магазинчик, опыт - 1 год, смотрю на солидус(ex-spree) и че-то он по-моему какой-то несозревший еще, алсо ацкая жопная боль от накатки дизайна, максимально уебищно сделано
думаю стоит ли вообще париться, может проще все самому написать, один хуй яндекс деньги и русик придется самому накатывать
Опять вопрос по корзине - в базе, в строках-позициях корзины надо хранить цены товаров? И если да, то в каком виде, если одинаковых товаров несколько - цену на 1 товар, или на все сразу?
>>690233 Все деньги хранишь паттерном Money, всегда в копейках и в валюте заказа. Итог (кол-во * цена единицы) в строках корзины можно хранить чисто для кэширования, чтоб не вычислять каждый раз, но вряд ли это пригодится, такое обычное делают на total для всего заказа.
А если юзер добавил в корзину товар и в этот момент на него сменилась цена, то как правильно - обновить цену в корзине или оставить ту, с которой товар был добавлен? Или такие вещи оговариваются в ТЗ?
>>690374 >А если юзер добавил в корзину товар и в этот момент на него сменилась цена, то как правильно - обновить цену в корзине или оставить ту, с которой товар был добавлен? Или такие вещи оговариваются в ТЗ? Лол, а если цвет и габариты товара изменились, а если курс доллара скакнул, а если, а если. Много if'ов чувак.
>>690399 Т.е. не усложняй на ровном месте. Когда человек нажмёт в корзине кнопочку «к оплате» обнови цены и выведи их в итоговой квитанции, даже если они изменятся, то не думаю что даже на порядки и любой норм человек просто нажмёт ок.
>>690162 Я как раз тоже выбрал руби. Из отзывов понял что это более легче и быстрее чем JS, но JS вроде занял нишу и не плохую. Про руби спор что утухнет-неутухнет. Хз кому верить и что учить
>>690185 тут все тока начинающие чтоли? че посоветуете то по поводу магазина? может есть какие-то другие решения кроме сприи/солидус? С нуля боюсь слишком много всего придется пилить
Как сделать тройной вложенный ресурс? Ну например Project - Post - Comment ну то есть я могу в лоб написать, но код какой-то громоздкий получится в CommentsController есть какие-нибудь best practies?
>>688021 Так это только модели строит. Хотелось бы ещё контроллеры связать с моделями. Просто есть довольно жирный проект, хотелось бы его структуру разобрать. Олсо, как изучать код довольно большого приложения?
>>691301 Нет, написал на реддите, ответили пару чуваков. Сошелся с одним, один проект сделали за 2 недели и 300 долларов. Сейчас начали проект покрупнее, на месяц минимум, 300/$ неделю. Договаривались на 20 часов в неделю, на самом деле хуярю с момента прихода в универ до ночи с перерывами на пожрать и погонять дотан.
>>691301 Английский на уровне понимания сериалов в оригинале если произношение чёткое / ведения технического разговора. Сидел каждый день на реддите года с 2014, помогло пожалуй.
>>691300 Сейчас начнёшь жить, покупать норм еду, заведёшь даму, может хобби какое и поймёшь что времени на все мало и сумма не так что бы очень большая. В мухосранске ты все попробуешь и тебе станет там тесно, переезд в город побольше покажет что 800 совсем не много, и даже как-то маловато.
>>691317 Нет, не сильно. Книжку фленагана читал, писал на руби и проги, когда нужно было получить ответ в каком нибудь матане. На гитхабе только бложик, но по best practices, с хорошими тестами
>>691522 Не понял. Ну вот например надо вывести форму cоздания нового поста во вьюхе Project#show, что писать? Потому что мне надо потом будет сделать в Post#show форму для комментария, и там пиздец будет.
>>691554 >>691554 Сам в ахуе, но как я понял, 15/$ для жуниора моего уровня платят вообще без проблем. А вот на удаленку такую же работу найти будет сложнее. Спроси в /r/rails, /r/forhire
>>685932 (OP) Господа, на какой иде вы кодите? Если у меня в проекте есть файлы на пхп, руби и кофескрипте, а я их разворачиваю в нетбинсе (под пхп), то они тоже выполнятся или нет?
>>691643 А если у меня помимо пхп в проекте есть руби, то это все скомпилируется в иде и развернется на локалке (апаче)? руби установлен если что. А то погуглил, там че-то про nginx пишут
>>691703 Я имею ввиду, что я разверну на локалке проект, в котором есть руби? сам проект на пхп сделан, но там есть куски руби. или мне нужно устанавливать синатру или руби он рейлс?
>>691735 >>691754 Я так понял, он просто ебанутый и написал часть проекта на руби, а часть - на пхп. Я такими извращениями не занимался, но вангую, что изкаробки оно работать не будет. Даже если установить синатру и рельсы.
>>691803 там команда людей работает и огромный проект, кто-то на скрипте пишет, кто-то на руби. кто-то еще на чем-то. они вроде как-то по отдельной веточке разворачивают, а я хз как это делать, у меня типа ось не та. короче я не знаю, как я над ним буду работать если даже посмотреть исполнение не могу.
>>691921 Как-то всегда скептически относился к ресурсам где надо "играючи" учить код. Насколько будет адекватно тогда читать книгу по руби и параллельно решать задачи с рубиквиза?
Привет, помогите. Я из хеша сообщений который выглядит как на 1 пике, записываю данные в активрекорд используя from_json, вместо русских символов записываются непонтяные.
>>691957 >>691979 Все, я разобрался. Спасибо. Надо было больше стараться и лучше искать, на stackoverflow нашел ответ. Дело в том что open-uri или nokogiri не знали поумолчанию что нужно в utf-8. Надо было писать так: doc = Nokogiri::HTML(open(link).read, nil, 'utf-8')
>>691954 Играючи будет легче начать, а сухая книга для начала может отпугнуть. В Монке не обязательно проходить обучение, можно только задачки порешать solve problems. Но теория там тоже подана неплохо. В quiz же только задачки, бывают весьма хитрожопы. Несколько решений можно посмотреть, все разжовано
This book is for you if you have a basic understanding of Ruby but feel that you haven’t quite gotten your arms around the language. If you find yourself wondering what anyone could possibly do with all those odd language features that seem so important to Ruby, keep reading.
А если я начинающий и у меня совсем чуть-чуть (меньше процента) познаний из c++ (смотрел 5 лет назад ролики на youtube, а потом из-за проблем с работой забросил)?
>>692640 Я бы рекомендовал поучить C++, потому что там ООП (ну типа как в руби). Язык низкого уровня задаёт определенную базу, которая потом позволит лучше понимать программирование в целом. Другое дело, что тебе на всё про всё с такими стартовыми знаниями потребуется года два наверное.
Олсо тебе ещё линукс нужно будет учить (на примере Debian конечно, а то марк что-то нашатает там у себя в убунте как обычно, стрёмно рекомендовать что-то её).
Думаю тебе лучше понять есть ли у тебя средства чтобы жить в эти два года и время чтобы ещё и учиться чему-то (не особо в ущерб сну при этом). Не будет ли отвлекать жена с детьми и прочее.
Сап анчоусы, Изучаю руби. Написал свой простейший движок игры бульдозер (где нужно бульдозером камни в лунки загонять). Отревьюйте плз, планирую серьезно подойти к изучению
>>693630 код говно, но излечимо. Воткни https://github.com/bbatsov/rubocop в проект и поправь все, что он тебе посоветует. После этого сделай нормальный PR, шоб можно было к строкам нормальные комментарии оставлять, а не ковырять каждый коммит.
>>693646 Pull Request. У тебя, правда, уже все в проекте, так что, как вариант, git rebase и слепить все в один коммит, чтобы комментарии не расползались куда попало.
http://codenamecrud.ru/ Расскажите за вот именно этот сайт или сайты похожие на этот (codecademy допустим). Правильно ли будет стартовать с него, а потом после него переходить на книги не для новичков, а для middle уровня? Насколько вообще эффективны такие сайты?
>>693653 Стартуй конечно, я двумя руками за такие сайты. Пока макаки на всяких кодкрудах и джаварашах по полгода будут одну технологию учить, которая к тому времени уже устареет, я буду спокоен за свое будущее.
>>693681 Офф. доки + SO, если что неясно. Книги в качестве дополнительного источника инфы. Это намного быстрее и удобнее. А так сайт полистал, признаю, был неправ, вроде бы ресурс без всякой хуйни уровня "стань сеньёром за месяц" или "первый 5 минутный урок бесплатно". Но все равно видеокурсы+практика куда менее эффективна, чем литература + гугл и практика, по опыту говорю, и не только моему.
>>694532 Открой фото и внимательно посмотри на её лицо. Видишь это нескрываемое презрение, с которым она смотрит на тебя? Она как бы говорит - "Моё тело только для настоящих парней. Иди самоудовлетворяйся, я не дам тебе даже прикоснуться ко мне. Сегодня ты спускаешь в кулачок, как и всегда".
Рубаны! Посоветуйте СЛОЖНУЮ книгу по руби. Где не размазывают на 1500 страниц рассказы о том, что такое переменные для петушков, которые впервые включили комп. Где вникают в особенности языка и методики программирования. А синтаксису и прочей параше отведено исключительно мало места, для общего ознакомления.
>>695178 Я так понимаю, он имеет в виду, что относительно стандартному/простому синтаксису минимум места. А характерному именно для руби/сложному - много.
>>695179 Да. Именно это я и имею в виду. Почему-то большинство книг пишется с расчетом на тех, кто программирование в глаза не видел. >>695182 Спасибо, посмотрю, что за ресурс. Но если будут ещё варианты, буду очень благодарен
>>695197 Да, ты еблан потому что не можешь почитать оппост и книжки оттуда. Религия не позволяет пролистывать места которые понятны? Это ты тут выебываешься, кококо дайте книгу чтобы сложно было кококо. Мудак одним словом.
Помогите пожалуйста. Мне нужно освоить Capybara и Phantomjs. Пытаюсь выполнить самый простой пример из интернета, просто открывающий страничку и делающий скриншот. Но возникает какая-то ошибка. Запускаю с виртуальной машины rails-dev-box, vagrant.
>>695203 Ты долбоёб, книжки читать по диагонали та ещё ебота. Откуда ты знаешь, что тебе это понятно, если ты это ещё не прочитал? Приходится читать дохуя всего, и только потом понимаешь, что ты прочитал ещё раз про то, как инициализировать переменные и что такое ООП
Чем пользуетесь для напейсания кода? Стоит ли юзать vim если я фулстак (есть ли там всякие плюшки типа лайврелоад и прочего)? Полезным ли будет скилл умение варить свою IDE из VIMa?
>>696746 Для написания - sublime. Для нормальное визуального дебага RubyMine. Все таки RubyMine типичный тормозящий редактор c постоянным задержками написанный на JAVA.
>>696835 Так тут нет противоречия: 1. ЖидБрейнс клепают самые лучшие IDE. 2. Все IDE говно. 3. Говно от ЖидБрейнс покрасили в розовый цвет и присыпали конфетти.
>>697523 Если ты только начинаешь вкатываться, то начинай с VIM+tmux/screen. Нормальный программист должен уметь жить в чёрной консоли, но изучение Ruby остановится на неделю-две))) Зато потом ты действительно скиллованный перец будешь.
>>697567 Не страдай хуйнёй, продолжай учить, то что учишь сейчас, в пятых конечно есть изменения, но на рынке труда знания четвёртых рельс будут актуальны ещё ближайшие лет пять и в книге всё структурированно. А потом хартл выпустит книгу по пятым рельсам или сам уже доки и чейнджлоги почитаешь. Это я ещё не вспоминаю про некрофилов с запада сидящих на третьих рельсах.
>>697569 >но на рынке труда знания четвёртых рельс будут актуальны ещё ближайшие лет пять Тут чего-то в голос проиграл. Рельсы уже на рынке почти не востребованы, по сравнению с прошлогодним хайпом, а ты про пять лет. Года через два они окончательно забудутся и станут очередным Коболом-Дартом-Бейсиком.
Это правильно же, всякие там бэкграунд процессы сепараировать от рельсов в какой нибудь демон. Напирмер телеграм бота. Passenger как-то плохо работает с всякими потоками, то несколько потоков запсукает, то не запускает, я так и не предвидел его поведение.
>>700876 Ты меня правильно понял. но он тоже не всегда справляется. Да, выводит более менее читаемо, но выводит не всё. Request я так и не смог посмотреть. Плюс хотелось бы, чтобы вывод был в виде дерева
Аноны, я работаю рубистом и у меня дико бомбит из-за 0 != false. Поясните по хардкору почему я хуй, и разработчики всех остальных языков не понимают истинной СУТИ ООП.
>>701148 Не надо заносить костыли из других языков(которые сложились исторически). 0 значит 0. False значит false. Если ты хочешь вернуть 0, возвращай ноль.
>>701171 Но эти "костыли" позволяют писать охуенные однострочники с использованием && и ||, не дописывая к каждой переменной поеботу вроде .zero? или .blank?
>>701204 >54 >ты обладаешь хорошими знаниями. не все идеально, но уже есть что показать и чем похвалиться. не останавливайся, и будешь мега-крут! 3 года рубей, 5 веба. Хуевая писькомерка, некоторые вещи вообще написаны так, будто автор и сам не знает, что это такое, типа базовый-продвинутый-профи.
>>701269 Спасибо, поставил. Теперь вот такой вопрос. Когда выполняю программу, то приходится в терминале прописывать полный путь к файлу. Как можно от этого избавиться?
>>701282 Сомнительное утверждение. Для очень крупных проектов рельса слишком тормозная, для очень мелких слишком монструозная, а для всех остальных как минимум есть джанга, которая объективно не хуже (хотя мне лично не очень нравится)
Когда говорят раби тормазит))), всегда хочется узнать - в каких именно веб-задачах нужен быстрый язык программирования? Не веб-сервер, не умение в тру-асинхронность, а именно язык, который быстро ебёт байты? И надо ли теперь абсолютно всё писать на нём?
>>701374 Ну например рельса очень медленно билдит жсоны. Конечно, обычно есть пагинация и это не критично, но если у кого-то есть юзкейс отдать 100500 жсонов по апи, то ждать пока рельса их сбилдит клиент будет до нового года. Еще 1 раз мне приходилось выносить кусок с хардкорными расчетами и с байтоебством в модуль на С (приложение было правда на питоне, но он нихуя не быстрее рубей), а если бы приложение было бы на джаве/шарпах например, то их производительности хватило бы.
В общем поработав на C# в вебе, я почувствовал почему раби лучше. Просто банально рельса заставлят следовать технологиям, придерживаться правил. И дает простые инструменты для их использования. В asp.net все это тоже есть, если поискать в nuget, но не из коробки и microsoft не заставляет писать как надо тащем-то. И как бы конторы пишут как не надо. Это тащем-та увеличивает время разработки буквально в 3-4 раза. Например люди не создают поля updated_at, created_at, соотвественно они не смогут нормально кешировать. Самое блядское что меня раздражает это MSSQL Express и как макаки запросто туда залезают и изменют архитектуру, без миграций, без нихуя, просто взять и залезть MSSQL в этой блядское окошко сатаны и начинать там елозить своим членом без всяких правил.
>>701374 > в каких именно веб-задачах нужен быстрый язык программирования В любых, когда количество данных, на которых ты оперируешь, достаточно велико. Обычно цикл жизни рельсовых приложений примерно такой, что вначале всё разрабатывается внутри рельсового монолита, затем начинают отцеплять бэкендовые сервисы, затем и фронтенд переделывают. Но это начинает всё ролять только после определённого этапа роста потока данных (и/или количества пользователей).
Активно пишем апи на грейпе и вебсокеты на ем-синхрони. Зависимость полная, чисто из-за языка, экосистемы и коммьюнити. Производительности всегда хватало (не хайлоад, но проекты С НАГРУЗКОЙ были).
На рельсах можно хорошо, быстро и с удовольствием пилить всякие круды, документооборот, автоматизацию бизнеса и црм.
Для сайтов-визиток нужен не язык, а нормальная цмс. Для интернет-магазинов - готовые движки и битрикс. Рельсам остаются только стартапы с деньгами и особые проекты.
Современные сайты (ангуляроэмберпараша) и бэкэнды для мобил на руби пишутся на отлично, но это не рельсы. Хотя в рельсах самое ценное это эктивсаппорт и эктиврекорд, а их приходится, конечно, тащить, так что половина рельс, короче.
>>701658 Я не автор поста, но пробовал полгода назад ноду. В рот я ебал собирать фреймворк вручную. Вернулся обратно на рельсы, заменил activerecord на sequel, апдейтеулся до мастера 5 рельс ради апи, все заебись.
>>701651 >эктиврекорд Ну зачем же тащить это медленное (но удобное) конфетка за пределы рельс? Лучше sequel/ROM (но ром сомнительно пока что), и производительность выростет только так, не говоря уже о других плюсах.
>>701651 пиздец, на эмбере чтобы сделать выбор объекта для связи belongs_to нужно ебаный квест захуярить с хождением к ним на канальчик в ирц (где каждый второй вопрос про это)
>>702162 Я юзаю https://semaphoreci.com/ Битбакет, гитхаб, неограниченное количество закрытых репов. Единственное ограничение бесплатного акка - сто билдов на приватный проект в месяц, но этого более чем достаточно. По публичным никаких ограничений.
Чёт не соображу, есть модель, нужно поменять ей значение поля в момент изменения статуса(энум) с " на "в работе". Как получить доступ к "model_params", которые отправил контроллер?
>>703826 В контроллере пишу @position.update(position_params) В модели в before update хочу сравнить старое значение с тем которое мне передал контроллер через position_params. Как прочитать значение из position_params?
Микрософт встраивает Ubuntu в 10 винду - https://tproger.ru/news/bash-on-windows10/ Т.е. через полгода я смогу выкинуть свою виртуалку под вагрантом, и не ебаться с настройкой RubyMine под ssh Точно не первое апреля?
У тебя есть модуль News. В папке concerns создаешь папку news_methods В папке news_methods создаешь файл news_validates.rb В нем пишеш вот такое module NewsMethods module NewsValidates extend ActiveSupport::Concern end end
В news.rb пишешь include NewsMethods::NewsValidates
Все, далее все модули равны тому что ты напишешь в самой модели, у меня такое используектся на особо жирных моделях где я разделил функционл по файлам.
>>704221 Тем не менее, Синатра и Капистрано - единственные две достойные вещи на руби. Остальное - либо хлам, либо CMS для умственно отсталых, вроде рельсов.
>>704259 Капистрано да. Синатра хороша, но фласк - это та же синатра, вот только питон более приятный язык не перегруженный сахаром и ООП сверх меры как руби. Опять же библиотек больше. А рельсы со своей жесткой структурой очень хороши если ты конечно не пишешь проект в одиночку
>>704271 я пробовал джанго, asp.net mvc и ноду. остановился на рельсах, ибо максимум продуктивности из одного разработчика. на ноде так вообще пиздец - лего собери себе фреймворк.
>>704271 Не больно, но если ты ебашишь проект в одиночку можно взять более гибкий фреймворк, так как тебе не понадобиться разбираться в том что за говно понахуярили твои коллеги
>>704273 >на ноде так вообще пиздец - лего собери себе фреймворк. Нахуя собирать? Это все равно что на голом руби писать. Накатил себе готовый фреймворк Django-Rails-style типа Sails, Locomotive, Total и делаешь на нём, ничего не собирая.
>>704276 А через полгода будешь сам себе "калекой", когда не сможешь разобраться без ста грамм что понахуярил в бреду. Всегда и всем должно быть понятно.
Ананасы, я C# макака.начинающая Вздумал написать свой проект гугол с боку-джеком и шлюхами, но гугление по моей-проблеме привело меня к одной единственной работающей библиотеке для моих нужд, которая написана на Ruby on rails. Так вот вопрос, за сколько времени можно выучить RoR чтобы понимать все эти ваши ребусы с gem'вами и разобраться в коде прожекта что я нашёл скопипиздить код?
Прошу помощи, я не понимаю как соединить код отвечающий за scraping, и веб приложение. Я пытался поместить его в контроллер и вызывать оттуда, но не получилось, и подсознательно я понял что это не правильно. Поискал как делают другие, но не разобрался тоже, у одних подобные файлы хранятся в jobs, у других в lib\tasks. В общем что я не понял: как сделать так чтобы данные полученные скрапером сохранялись в модели, через что мне их связать, ведь этот скрипт не видит мою модель и я не могу прямо в нем обращаться к activerecord
>>705627 Твоя проблема в том что ты вообще пишешь отдельную службу но почему-то пытаешься ее впихать в струтуру рельс. Тебе не надо нигде ее размещать, это вообще отдельный проект, который в будущем должен быть жестко отделен от рельс и может размещаться на других серверах, так же работать в множество инстансах.
>>705666 Нехуй пусть учится. Я вон тоже раньше блядь все говно но свете встраивал в рельсы, теперь охуеваю от багов и рефакторов. Рельсы только для вебсервера, всякое фоновое говно туда не надо впихивать.
>>706272 Ну наверное потому что method_missing вызывается для отсутствующих методов, а методы для полей очень даже присутствуют. Тебе видимо надо переопределить методы доступа к полям модели, или задать для полей дефолтные значения.
>>706679 Поясни плиз за Vagrant и Docker. Я читал вики и мало что понял. В чем суть? Как работает? Где и для чего используют? Часто ли используют? Как правильно использовать? И ссылки на гайды по настройке этого дерьма.
>>706692 Варгант нужен чтобы развертовыать никсовое окружение а винде чтобы можно по ssh было подключаться и работать. Docker нужен для Devops и быстрого развертывания приложения. Грубо говоря если у тебя есть рельсвое приложение то ты пихаешь его в докер-контайнер (читай виртаулка) + контейнер с постгресом + контейрен с nginx . И все . готов в бой. На любом серваке не зависимо от ОС развернешься за 3 минуты
>>706732 Я тебе готовый конфиг скинул. Он немного устарел правда, поменяй версию руби на 2.3. Потом просто § vagrant up из папки с vagrantfile, и он сам все скачает. Первый раз будет долго, конечно.
>>706692 vagrant - поднимает полноценную виртуалку (обычно путем virtualbox) с дев-окружением, есть синхронизация папки на диске и папки в виртуалке. Сможешь в винде поднять виртуалку с линупсом.
docker - контейнерная виртуализация, все контейнеры используют одно и то же ядро (хостовой системы). Сможешь в линупсе поднять 10-20 виртуалок с линупсом, при этом потреблять будет меньше ресурсов
>>706593 не, она беспонтовая, у меня там даже все оформление слетало, получилась обычная убунта, еще ставил депин, тоже не очень, в итоге оставил минт самый новый
>>706732 Ты много думаешь, мало делаешь. Если для тебя настройка ОС - ебаться, то кароч ты не подходишь на вакансию прогера. Судьба прогера ебаться 8 часов в день 5 дней в неделю.
Аноны, подскажите как сделать: Есть есть переменная length для обозначения длины поля и есть переменная density для частоты вражеских юнитов на этом поле. То есть грубо говоря если density = 10 то на поле будет 10% юнитов. Идея раскидать их в случайном порядке. Подскажите, как это реализовать.
>>708224 >А удалять зачем? чтобы потом разобраться. алсо модель хуевая, в контракте обычно стороны как-то еще называются, помимо contractor. issuer какой-нибудь
>>708237 >если density = 10 то на поле будет 10% юнитов Думаю, что density обозначает число юнитов на длину. ДЕСЯТЬ ШТУК НА ОДИН МЕТР, типа того. В этом случае просто берём density * length юнитов и размещаем каким-нибудь линейно-распределённым рандомом по длине, генерируя случайные дробные координаты.
Как построить джойн, чтобы вывести список всех Activity, созданных текущим юзером, И список всех Activity в организациях юзера (без повторений)? Activity: belongs_to :resource, polymorphic: true belongs_to :user
>>708713 Я бы взял id активити пользователя и отдельно собрал бы id активити в организациях юзера, сделал бы уникальными и выбрал бы отдельным запросом активити по массиву id. Алсо, в Organization у тебя вместо resources должно быть activities, либо я нихуя не понял.
Одним SQL-запросом это можно ебануть тоже, но во-первых, это будет запрос чуть сложнее простого, а во-вторых, не ебу с ходу, как эту говнину на AR положить. Наверное, можно (что угодно можно через arel, если прижмёт), но на хуй нужен такой ебанутый код потом?
У тебя всё равно будет не лишний запрос тормозить.
А вот лишние модели не инстанциировать, если их счёт на сотни-тысячи - идея здравая. Но мы этого как раз и добьёмся способом, который я предложил в начале.
>>708724 Если у тебя активитей ну очень дохуя, и нужна постраничка с тысячами страниц, например, то тогда конечно придётся делать в один запрос, конечно.
>>708724 а что почитать, чтобы сделать, как в твоем 1 варианте? users_activities = user.activities.pluck(:id) organizations_activities = Organization.where(members: User.first).??? Нет, у меня по ~25 activity на странице
Дальше варианты (пишу офк без проверки) 1. Один SQL Activity.where("user_id = ? OR resource_id IN ?", user.id, Resource.select(:id).where(organization_id: user.organizations.select(:id)))
2. Отфильтровать в рубиленде: [user.activities + user.organizations.flat_map(&:activities)].uniq
>>708904 Малаца. А теперь приучи себя называть переменные как надо. Если переменная activities, значит в ней массив моделей Activity скорее всего. А если там id моделей, называй activity_ids. Или user_activity_ids, что у тебя в коде. А второе user_organization_activity_ids, если хочется явно всё расписать.
Алсо, "users activities" синтаксически не правильная конструкция. Правильно писать "user activities" (воспринимай "user" как прилагательное, типа, "пользовательские действия").
>>709095 В своё время я спрашивал нэйтив спикеров, и они сказали, что не могут отличить "действия пользователя" от "действия пользователей". Мы то понимаем, что в котинге это разные вещи, а у них без использования конструкции с "of" и то, и другое - "user activities", и без контекста не понять, о чём идёт речь.
Можно писать "activities of user(s)", тогда всё однозначно.
Аноны, если нужна помощь, а тред слишком медленный - заходите в живую конфу с кучей рубистов: https://invite-me-to-2chpr.herokuapp.com. Не телеграм, для регистрации достаточно десятиминутной почты.
Ребята, поясните за адекватную оплату. Джуниор. Работаю за 15$/час (не на компанию), но на самом деле трачу раза в 1.5 больше. Пишу тесты, стараюсь писать нормальные сообщения коммитов, не допускаю n+1 запросы, херачу ajax овые формы. Я хз как ещё пояснить свой уровень скила, но вчера за такой PR(4 часа) взял 60$. У вас как обычно получается с количеством наработанного в конце дня? Бля, хз как ещё объяснить, но мне уже пару раз говорили, что я продешевил. Работал бы на компанию - спокойно спросил бы насчёт оплаты, но мне просто америкос на аутсорс отдаёт работу. Другой нету, и искать мне чего то не очень хочется, ибо ебаная головная боль.
>>712235 Ищу на ангеллисте, remoteok, stackoverflow и вообще там и сям по твиттерам. Я ищу хотя бы 20, но чувство такое, что даже на это рассчитывать не приходится.
Решил вкатиться в новый ЯП и запилить на нём региональный картосервис (каталог мест и маршрутов). Что бы можно было: - стилизовать карты - cамостоятельно рисовать объекты и ставить/сохранять маркеры. (с сохранением в БД). - всё в пределах одной области.
Т.е. в пределах дефолтной области используется уникальная стилизация и БД мест, а для остальных регионов данные цепляются из АПИ OSM.
Выбор пал на рубирельсы и openstreetmap.
Стопор сейчас в последовательности действий. В рельсобазу, допустим, я более менее въехал. Структура БД с базовыми моделями тоже полуготовы.
На сколько я понимаю мне надо Вкатиться в PostgreSQL.
>>712546 Хм... c другой стороны, мне и под ведро надо будет приложение делать, а это java изучать. М.б. на java бекэнд пилить... перенесу пожалуй пост в нубач.
На вторичном рынке ГОРА б\у кондеев. Если приложить немного усилий, можно найти дешевле 5к. Ну и некоторые новые щас в районе 10к стоят. Можно в кредит взять даже. Да, переплата по кредиту, но такую копеечную сумму можно и быстрее погасить, чем срок кредита. И не такая уж большая переплата даже в худшем случае, зато комфорт уже сейчас.
>>712857 Как будто зимой не потеешь! Но даже если всё-таки не потеешь, то гарантированно морозишь еблет. Зима - это в точности как лето, только в шубе, с соплями и депрой. Нахуй нужно.
>>712892 Морозить еблет >>> мариновать жопу в собственном соку Вспотеть зимой это «ну намокли подмышки, шея и ступни немного», а вспотеть летом это «блин всё мокрое даже рюкзак, межбулочное пространство всё течёт как у срамной суки, одежда вся мокрая, всё, даже аллах; надо переодеваться, голову ещё мыть, пыль насобирала» и т.д. Плюс не нужно касаться потных людей, плюс на улицах как рукой снимает всяких непонятных уёбков, потому что им тупо холодно. Зима и холодное время в социальном плане гораздо лучше лета. И вооьще лето для нищих нигеров. Просто констатация факта, я не расист.
>>712892 >Как будто зимой не потеешь! Но даже если всё-таки не потеешь, то гарантированно морозишь еблет. Зима - это в точности как лето, только в шубе, с соплями и депрой. Нахуй нужно.
Ты откуда? Лето в моих краях это +35 и желание умереть, если нужно днем выбраться на улицу. Да, ночью классно гулять. Но блядь, ночь же коротевя
>>713090 Готов морозить жопу, лишь бы ходить сраным и никто не заметил? Я вот моюсь каждый день даже зимой, поэтому без разницы вспотел или нет, но есть один нюанс: >ну намокли подмышки, шея и ступни немного И так каждый день, а потом единственная зимняя куртка начинает вонять и её нельзя постирать.
>на улицах как рукой снимает всяких непонятных уёбков А заодно и всё живое, и на улице становится просто нехуй делать, все сидят по кельям, аскеты комнатные.
>>713145 >Готов морозить жопу, лишь бы ходить сраным и никто не заметил? В тёплой одежде не холодно. И да я в холодную погоду готов ходить, лишь бы на улице было меньше непонятных личностей. >Я вот моюсь каждый день даже зимой, поэтому без разницы вспотел или нет Ты ебанутый, серьёзно, у тебя навернео болезнь какая-то жхт/кожная или что-то такое. Твоё тело не должно сильно вонять неделю после мытья. Или жрёшь много лука, чеснока, специй и сладкого. Ты как некоторые дурочки и дурочки, которые насмотрятся, что где-то в лос-анджелесе люди моются по пять раз в день и думаешь, что делая также станешь эльфом. (и вообще столько моются только проститутки)
>>ну намокли подмышки, шея и ступни немного >потом единственная зимняя куртка начинает вонять и её нельзя постирать. Ты в куртке на голое тело ходишь или зимой потеешь как сука? Ты заметил, что я написал «намокли»? Это значит что там выделилось немного пота, но не в таких количествах, при которых это каплями течёт вниз. У меня вообще до куртки у меня никогда не доходит зимой пот.
>А заодно и всё живое, и на улице становится просто нехуй делать, все сидят по кельям, аскеты комнатные. Лол, а что ты там «делаешь» на улице? Ягу распиваешь с дружбанами, сидишь в кафешке под открытым небом за кружечкой пива? >всё живое Ты собак что-ли ловишь и трахаешь? Только ебаное быдло ждёт лета чтобы «выйти» на улицу. Всё больше убеждаюсь, что все нормальные люди любят холодное время.
>>713232 >Ягу распиваешь с дружбанами, сидишь в кафешке под открытым небом за кружечкой пива? Ну конечно, не дрочить же дома как сыч. Ещё смеет называться нормальным человеком.
>>713234 Ааа, так ты качалкобыдло, понятно. Помыться после качалки это понятно (хотя душ это говно, надо принимать горячую ванну чтобы мышцы лучше расслабились и восстанавливались). Ты не гей кстати? >>713248 Я бы понял если бы ты сказал, что за городом гоняешь на эндуриках или с парашютом пригыешь. А ты просто с дружбанами после качалочки сидишь в обрыгаловке — да, лучше сидеть дома как сыч. Нормальный человек — это прежде всего, тот кто не ищет проблем на свою жопу в кафешках распивая алкохол, ты не нормальный, а стандартный, обычное быдло.
>>713264 Нет, не вредно, руки это другой случай, если для ты это сравниваешь, то опять же, ты ебанутый. Каждый день нужно мыть утром и вечером: лицо, шею, уши. Ты как я понимаю пытаешься намекнуть, мол мы тут все в оспинах сидим, даже руки не моем, а ты вместо того чтобы руки помыть, просто лезешь под душ, ШОБ НАВЕРНЯКА.
>>713272 Я и писал, что ты в душ ходишь, уёбок. Ещё раз повторю, если твоё нуждается в ежедневном душе/мытье, то у тебя что-то невпорядке с организмом или ты питаешься дерьмом всяким (что одно и то же тащемта). Особенно учитывая, что ты ещё после качалки моешься.
>>713271 Ну какие у вас, быдла, там проблемы, почему вы часто убиваете друг друга в кафешках летних? Лол, и вообще что вас тянет в эти кафешки, там же тупо, просто нечего делать. Или ты там «знакомишься», лол.
>>714369 Удваиваю вопрос. Видел пару постов, вскользь затрагивающих какую-то драму (наверно опять с переходом на личности), но все равно ничего непонятно.
Что за ересь это вообще? Поставили тут Redmine какой-то, теперь хз что с ним делать. И никто не знает. Вроде работает, но поменять что-то или доработать нереально. Всякие гемы-хуемы и прочие новомодные, но абсолютно ни о чем не говорящие словечки изучать времени нет.Сленг ваш блятский вообще достал! Вы бля MVC называете "модель MVC" - долбоебы совсем.
Нахер оно надо когда спецов по языку нет, а если и найдутся, то запросят вагон валюты. С похапэ всяко проще - если один не справится, то по-быстрому другого найти можно.
Это язык для избранных и так востребован? Так чего ж эти избранные ноют, что больше 15$ им платить не хотят? Видать не такие уж они избранные и не такое уж оно востребованное.
Принимаются изменения в шапку треда в виде пулл-реквестов:
https://github.com/meoweg/2ch-pr-ruby
Как показывать код:
Быстро - https://pastebin.com
С исполнением - https://ideone.com
Требуется аккаунт GitHub - https://gist.github.com
FAQ:
1. C чего мне начать, чтобы стать рубистом?
Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Следующий уровень, продвинутые книги по руби:
Confident Ruby by Avdi Grimm
Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition
Ruby Under a Microscope для любителей залезть под капот.
Документация по стандартным библиотекам http://ruby-doc.org/
Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0
И ещё раз онлайн: http://www.codewars.com/?language=ruby
Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com
И вот еще https://rubymonk.com/ - Матц одобряет.
2. Какой gem посмотреть, чтобы понять, как писать код?
Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
А еще можешь полистать на гитхабе гемы с нарастающей популярностю.
https://github.com/trending?l=ruby
Там еще нет тысяч строк, и тебе будет легче понять.
3. Есть ли GUI для руби?
Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
4. Можно ли писать на руби мобильное ПО?
Да. Для iOS есть RubyMotion терпимого качества, для Android - лагающий и падающий, но всеми силами развивающийся ruboto. Для WinPhone до сих пор ничего не завезли.
5. Как установить разные версии рубей?
Легко и просто: https://github.com/sstephenson/rbenv
И это тоже, легко и просто: https://rvm.io
6. Что почитать по рельсам?
http://guides.rubyonrails.org
http://ruby.railstutorial.org
API: http://api.rubyonrails.org
Прекрасные туториалы в стиле for dummies - http://www.theodinproject.com/ruby-on-rails , а вот тут все тоже, но на русском http://codenamecrud.ru/
Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/book
Для дотошных читателей есть The Rails 4 Way.
7. Хорошие практики по руби и рельсам?
Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes.
Почитайте еще Grimm A. - Objects on Rails
Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
8. Ruby/Rails блоги, рассылки и твитторы
IRC каналы на FreeNode: #ruby, #ruby-core, #RubyOnRails, #rails (не очень активен).
Твитторы @rails, @dhh, @yukihiro_matz, @wycats, @tenderlove
Рассылки ruby-core, rails-core, rails-talk
Подкасты:
- http://rubyrogues.com
- http://ruby5.envylabs.com
Скринкасты:
- http://railscasts.com
- https://peepcode.com
- https://www.destroyallsoftware.com
- http://railsforzombies.com
Блоги:
- rubyflow.com - каждый день новости, новые библиотеки, обновления, все дела.
- rubysource.com - читаем интервью, хорошие практики, и безумные сравнения упоротого дибила-индуса на самом деле их пропускаем
- rubyinside.com - новости, туториалы.
- rubyweekly.com
- http://37signals.com/svn
- http://yehudakatz.com
- http://afreshcup.com
9. Я не могу в английский, что делать, анон?
Идти учить английский, без него тут делать нечего.
10. Есть ли у руби русское коммьюнити?
Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
Яркий пример - [email protected]
А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал.
Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ru
Еще вот - https://onrails.club/
11. Какие гемы стоит знать?
capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их.
Поиск гемов https://www.ruby-toolbox.com
12. Зачем нужны тесты и как их писать?
http://rusrails.ru/a-guide-to-testing-rails-applications
http://habrahabr.ru/post/163597/
Вместо этого можно прочитать классную книгу Everyday Rails Testing
13. Где можно задать глупые и не очень вопросы?
- здесь
- stackoverflow.com
- тематические slack-конфы
- а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
14. Как фокнуть\сделать фичу\исправить баг, сложно ли это?
Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
15. В чём писать код?
Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
16. Можно ли писать на руби с под windows?
Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
17. Руби язык одного фреймворка?
Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
18. Можно ли делать игры на Ruby?
Можно, но не нужно. Гем Gosu.
19. Ютуб каналы
Youtube driven development...
Вот тебе пара каналов, но никому не говори что учишься по видео.
https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videos
https://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQ
https://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQ
https://www.youtube.com/channel/UCPIyDzf1vwWc8EQJGUX-vYw - тут на ру$$ком даже.
20. Как и где искать работу?
Легко и просто - http://rubyjobs.ru/
Не так просто - https://upwork.com/
Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
TODO лист для ньюфагов:
И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras
Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь.
Рекомендации:
1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.
2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)
3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch
4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object.
https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах
Еще паттернов - https://robots.thoughtbot.com/back-to-basics-solid
Но самый читаемый код, как и следовало ожидать, даёт функциональное программирование. Начни отсюда:
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/
http://www.sitepoint.com/functional-programming-pure-functions/
http://www.sitepoint.com/functional-programming-ruby-value-objects/
Только не переборщи. Руби - не функциональный язык, и иногда такой код может работать медленней.
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.
Ну, а мы открываем очередной Ruby Thread.