1. C чего мне начать, чтобы стать рабистом? Отличным началом будет Eloquent Ruby, The Well Grounded Rubyist, Programming Ruby (The Pragmatic Programmers Guide), Ruby Way, Metaprogramming Ruby. Пишем свой код во время чтения. Документация по стандартным библиотекам http://ruby-doc.org/ Можно пройти раби онлайн - http://tryruby.org/levels/1/challenges/0 Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com
2. Какой gem посмотреть, чтобы понять, как писать код? Лучше всего посмотреть небольшие gem'ы вроде cancan, devise, camping.
3. Есть ли GUI для раби? Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
4. Можно ли писать на раби мобильное ПО? Да. Для iOS есть RubyMotion промышленного качества, для Android - весьма тормозной(ну это пока) ruboto. Для WinPhone традиционно ничего нет, но его ценителям не привыкать.
9. Я не могу в английский, что делать, анон? Идти учить английский, без него тут делать нечего.
10. Есть ли у раби русское коммьюнити? Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко. Яркий пример - [email protected]
11. Какие гемы стоит знать? capybara, rack, rspec, devise, cancan, simple_form, solr, sinatra, тысячи их. Поиск гемов https://www.ruby-toolbox.com
12. Где можно задать глупые и неочень вопросы? - здесь - stackoverflow.com - в рассылке rails-talk - оф. форум рабей http://www.ruby-forum.com
13. Как фокнуть\сделать фичу\исправить баг, сложно ли это? Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
14. В чём писать код? Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-ребят есть rubymine, плагины к эклипс и нетбинс.
15. Кудах, правильно руби, а не раби! Прямо сейчас ты идёшь в гугл переводчик, вводишь там ruby, жмёшь "прослушать" и больше не задаёшь глупых вопросов.
>>501001 На руби много чайных гайдов на английском. Очень годно, особенно для элементари, которые тренируют словарный запас. Вообще во время проганья важно знание англ. яза.
>>500998 Насколько быстро вкачусь в руби если мне хочется сделать простую задачу, запилить самому себе аналог веб сервиса куда я буду писать когда и сколько болел. Сколько уйдет времени на такой сервис?
Господа, поясните за RubyMotion и ruboto. До кодинга на руби немного тыкал джаву и андроид. Посмотрев примеры на упомянутых гемах сложилось впечатление, что код структурно вообще не отличается от того же кода на джаве. Так вот, вопрос: зачем при этом писать на руби и еще и терять в производительности? Преимуществ от самого языка не так много, как выясняется, все равно придется писать отвратительный мобайлокод (да не обидятся мобилодевелоперы, просто мне не нравится).
>>501015 WinMobile, WPF, WCF для энтерпрайза. Можно создавать любые приложения, а вот на Руби - только сайтики. Кстати, теперь ASP.NET успешно работает не только на винде.
>>501031 >WPF, WCF для энтерпрайза >Опыт: от 3 до 6 >Средняя оплата: 50,000 - 90,000 Уж лучше я на хипстерском язычке с одним фреймворком за 135к мидлом посижу, чем буду 3-6 лет кувыркаться в махровом интерпрайзе с явой на стероидах ради 90к. >ASP.NET успешно работает не только на винде Успешно и ASP - понятия несовместимые. >>501031
>>500998 Какой нахуй раби, идиоты, рубин и все, либо руби. вы ж идиоты на русском животное не называете ПАЙТОНОМ, ВОН ГЛЯНЬ ПАЙТОН ПОЛЗЕТ, либо, У НЕЕ РАБИ НАСЕРЬГАХ
Кароче, тред перехватили. Тот самый трал захватил тред и передала все под раби чтобы вызвать срачь и скатить тред в говно. Он же вбросил про пайтон, пидорашек и.т.п.
>15. Кудах, правильно руби, а не раби! >Прямо сейчас ты идёшь в гугл переводчик, вводишь там ruby, жмёшь "прослушать" и больше не задаёшь глупых вопросов. https://translate.google.com/#en/ru/ruby Пришёл, ввёл, нажал, услышал "руби"
Чет соснул с обученИем, tryruby перестал понимать что там со словарям началась и прочее и тупо вбивал что пишут чтобы закончить, начал рельсы для зомби и сходу в первых заданиях тупо забыл как в лекции было с бд и каждый раз использовал подсказки, вообще непонятно почему с бд начали
Батхертнутый траль из жс тредов, возможно новый оп, он же новый оп руби тредов, все джаст фор лулз, везде при упоминании руби появляется это нечто и начинается говномешалка. я хуею как людям заняться нечем. мимо прошаренный
>>501221 Ты совсем поехавший чтоли? У тебя отношение один ко многим, то есть один камент принадлежит только одному посту. Ты можешь получить все каменты поста таким образом: post.comments , но ты не можешь написать comment.posts для этого тебе надо использовать отношение многие-ко-многим, но я не представляю зачем тебе это делать для постов и каментов.
То есть на входе мы имеет допустим 10 коментов класса Relation. С помощью posts это можно преобразовать в 10 постов класса Relation без цирка с переборами.
Код работает, задача выполнена. Ну попробую еще раз.
У тебя есть 10 записей комментов. Тебе нужно получить посты, которые принадлежат эти коменты. Для одного комента есть comment.post. Для нескольких коментов есть Comment.posts.
Так же можно было бы решить это с помощью каких нибудь анальных циклов.
Задумал недавно переписать свой небольшой Ruby-скрипт. Он опрашивает 117 серверов на предмет наличия ошибок в выполнении некоторых шедулеров в базе Oracle. Нет, я вовсе не ожидал от Go большей скорости выполнения, просто было интересно всё в бинарник запихнуть. И вот результат: (см. скрин). Отстаёт от Ruby на 42 секунды. Другой заход показал отставание на 86 секунд. Запросы идентичные. Вобщем скриптовый Руби каким-то образом быстрее с Ораклом работает, интересно почему.
2 запроса на 1 сервер через dblink. Ruby невооружённым глазом видно во время выполнения, что быстрее опрашивает серверы. Go же почему-то, бывает (хоть и редко), надолго стопорится на 2-3 серверах. Т.е. за несколько секунд выполняет запросы.
Привет рубисты. Как я понимаю что все жс файлы из ассетов собираются в один большой файл. А как сделать так, чтобы для конкретных страниц загружались только те скрипты, которые к ним относятся? Например для всех вьюх photos мне надо только photos.js, ну и еще стандартное tree.
>>502033 Но у меня например есть скрипты которые ищут по названиям элементов и если их не находят на странице, то тогда ошибки в консоль сыпятся. Или забить на них? Потому что кроме этого ничего страшного не происходит.
>>501980 Бро, прежде всего, не понимаю, почему ты делаешь это однопоточно. Во-вторых, код твой отвратителен что на Ruby (похоже на Bash-скрипт какой-то), что на Go (особенно глаза ломает именование переменных с подчеркиваниями). Больше ничего сказать не могу, так как до БД не добрался.
Алсо, ты напомнил мне одну хабраблядь, измерявшую скорость Go скоростью чтения Википедии по сети.
Анон, не могу найти константу, в которой хранится количество дней недели. Подожди, не ржи. Серьезно, не хочу писать везде 7, но и писать 1.weak / 1.day какой-то пиздец.
>>502616 >и сразу запутался, почему столько файлов генерируется, зачем, что за что отвечает, зачем он сразу создает какие-то модели и какого типа он создает бд и прочее? Возможно, рельсы - это не твоё, раз тебя это так смущает. Попробуй http://sinatrarb.com
>>502845 Меня смущало то, что судя по интернету рор используют как лего не вникая в суть и глубины, вот взяли скафолд и довольные а как он функционирует, как строится всем пофиг
Такой наивный. Это вообще в любой сфере деятельности происходит. Просто у тебя в голове манямирок в котором вокруг "мир профессионалов". А на самом деле вокруг мир ленивых хуесосов, которые не разбираются даже в том, за что они получают деньги.
>>502878 Если работает, то норма. Но без понимания обычно работают только блоги и твиторы из туториалов. Поэтому манямирок юных рабистов рушится с первым настоящим заказом, где рабист обсирается и понимает что рельсы – это просто хороший фреймворк, а не волшебное зерно, из которого проект вырастит сам на скаффолдах.
Ты слишком много думаешь. Успешный программист много не думает, а похуй, пишем. А ты тут сидишь, рассуждаешь, получить-не получится, правильно-не правильно.
>>502880 >Если работает, то норма >>502884 >программист много не думает, а похуй, пишем >>502854 >Зачем мне знать как функционирует Вот так и появляются быдлокодеры. А потом рабисты ещё искренне не понимают, почему их не любят. Средний рабист ничем не отличается от пхпшника, а местами даже тупее. А цитаты сверху надо вынести в шапку.
(Автор этого поста был предупрежден.)
>>502844 Я не холиварщик просто и не тролль. Язык — инструмент. Я беру инструменты, которые мне понравились, и использую их там, где считаю удобным их использовать. Вот и вся наука.
>>500998 Рубисты, вопрос такой. Есть одна строка, например: msg = 'hello' * 30
Задача в том, чтобы добавлять перенос на другую строку, если в слове больше определенного количества символов. Вроде и просто - разбить строку по пробелу, а большие слова по коротким строкам, но как - я хуй знает.
А есть какие нибудь гемы на раби, чтобы возвращали нормальный скобочный синтаксис? С этими табуляциями и пробелами столько геморроя, да и читается плохо.
>>503197 Лол, если разрабы не смогли в шрифты изкаробке, значит дальше будет хуже. Если уж тратить время на настройку редактора, то на какой нибудь vim а не очередную поделку которую завтра все забудут.
>редакторы Ребята не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте что тут писалось. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.
Перешел с cancan на pundit. Пришлось поубавить магию с load_and_authorize_resource. Последний каплей cancan была не возможность вернуть булево значение из блока (всегда возвращал true), автор в трекере написал что мол так и должно быть, но в cancan2 такого не будет. Правда cancan2 судя по всему, к сожалению, так и не взлетел. В целом, мой нынешний код с pundit мне нравится больше, из-за его красивой организации. С cancan конечно можно такого добиться, но это требует больших усилий. Такие дела рельсаны. inb4: slowpoke
Я заебался. Я заебался. Я не могу установить уже 4 часа этот ебучий RoR. Не заводится. Что я блять только не пробовал, всё равно какие-то блядские ошибки. Пробовал и обычным способом и через RailsInstaller. Всё равно жопа.
Итак. Имеется windows7. Скачал RI с Ruby1.9. Всё автоматически установил, запускаю localhost:3000 и вижу следующее:
>>503532 > windows7 В этом твоя проблема. Кроме шуток. Видно же, что проблема с сокетами. Причин миллион может быть в системе с вирусами, антивирусами и мокрописечными фаерволами, и никому на хуй не упало думать о таких спермоблядях, поэтому если вдруг что-то на Ruby у тебя работает без проблем на Windows, то это нечаянно так получилось просто.
>>503593 На версию похер. Устанавливал последнюю там ещё веселее. Система просила установить gem sqlite3 adapter, но при попытке установки, писалось что данный gem не найден. Хотя я вставил команду для поиска как есть.
Если перееду на linux (ubuntu например), таких косяков не будет?
аноны поясните нубу как совладать с assets pipeline это же пиздец какой-то пихать все в один файл, если у меня например у меня есть совершенно разные модели и дохуя логики на клиенте для каждого то почему оно должно грузится за один раз ? алсо нашел в гайдах как запилить так как я хочу - Controller Specific Assets но почему тогда это не сделали в рельсах по дефолту ЧЯДНТ ?
>>503532 не на правах рекламы - у известного хостера уже есть все для установки по одному клику на выбраном тобой образе ос(кроме windows 7). пару туториалов - и пойдешь вперед, оставив установку RoR и сопутствующего по. а когда не будет времени на разработку зафигачиш бэкап и удалишь основную систему, чтобы не платить наличку до следующего использования. почти одни profit-ы.
>>503614 может хоть не застрянет в гуглении того, что разбросано по самым разнообразным ресурсам. с фичами убунты и rvm пускай потом познакомиться. а сейчас пусть запустить волшебный scaffold и надолго останется с RoR))
Ананасы. Посоветуйте, как сделать? Требуется реализовать отправку большого кол-ва мыл в ограниченное время. Примерно 30к за 90 минут. Почтовый сервак не пропускает более 10 писем в секунду. Поэтому хотелось бы равномерно размазать отправку этих писем по времени ( 90 минут ).
Прикрутил sidekiq и запускаю задание каждые 3 часа через rufus scheduler.
Делаю так: scheduler.cron('0 3 *') do mailers = Subscriber.not_on_free_tier.not_informed_today.not_in_blacklist mailers.each do |m| MailWorker.perform_in((rand(10..90)).minutes,m.id) end end
Все вроде бы хорошо, но иногда где-то густо, а где-то пусто. Посоветуйте, как лучше равномерно размазать письма?
>>503693 хз, может хэш в том файле это локальная переменная, поэтому не видит. поставь перед code_words собаку, может увидит. В оба файла поменяй code_words на @code_words
Куда пихать свои перегрузки в рельсах? Вместо кривожопых .days .month .years например. class Integer def days "#{self} днявочек))" end end В инитиализерс штоли? Призываю мастеров реилс бест практисес.
>>503437 cancan хуитка. Вроде бы добавляет "магии", но потом она боком вылезает, когда в среднем проекте налезаешь на экзотические эдж-кейсы. Шаг вправо-влево сделать нельзя. Читал код cancan, очень много запутанной наркомании. После десятка контроллеров Ability превращается в простыню и приходится самому городить какую-то структуру этого кода. И ещё все правила на каждый чих он проходит. Фу, короче.
pundit слишком прост, аналог легко можно самому сделать "тупо кодом", "без гемов". Это посоны из одной конторе в своём проекте выработали некий паттерн штамповки кода, и решили толкануть его в коммьюнити, мол, вон какая крутая штука. А на самом деле щепоть кода, 1.5 фичи и немного хуйни сверху.
В последнем проекте использую authority, и мне очень доставляет. Кое-что хотелось бы немного по-другому, но после cancan очень комфортно. Mmmaximum explicity. Логика авторизации структурирована по классам и методам. Использую в паре с rolify.
>>503593 >поэтому если вдруг что-то на Ruby у тебя работает без проблем на Windows, то это нечаянно так получилось просто
Это ложь.
Разрабатываю проекты на рельсах именно под виндой. Проекты средние и большие, гемов много.
Лишь однажды была проблема с (чужим) проектом, в котором использовался less вместо sass, который требует therubyracer, который требует libv8, который под виндой не собирается в принципе. Перенесли сборку ассетов на gulp и получили двойной выигрыш, ведь gulp ещё и собирает ассеты практически мгновенно.
А так всё работает без проблем. Некоторые гемы (например mysql2, rmagick) требуют "ручной установки", так как нужно скачать им библиотеки и явно указать путь к ним для сборки нативных расширений. Но это нужно сделать лишь один раз, и боли от этого совершенно никакой, когда знаешь, что делать.
Из ярких минусов - лишь в 2-3 раза более медленная скорость работы самого руби по сравнению с Linux. А постоянный пиздёж в духе "под виндой невозможно без проблем" заебал уже.
А ещё, я очень рекомендую всем разобраться с RubyMine и использовать именно его вместо сортов блокнота. Слишком много вещей, повышающих комфорт, вы теряете, отказываясь от нормальной IDE по каким-то идиотским, часто религиозным причинам. Я честно высидел более половины одного проекта на Sublime, ставил специальные плагины, но так и не смог привыкнуть. Это словно тебе отрубили одну руку. Нормальная навигация коду, контекстная помощь и интегрированный отладчик - этих фич уже достаточно. А там ещё сотня мелочей, выработанных кодерами для кодеров в течение многих лет.
Видал давеча свежую нодежс вакансию на 150к. Праздного любопытства ради начал читать. Написана весьма заманчиво была: нагруженные сервисы, бэкенд, мобайл, вебсокеты - все чтобы заинтересовать амбициозную обезьянку в общем. А потом... А потом была строка про базы данных. >Работать с разными SQL/NoSQL базами данных: создание схем, оптимизация запросов с учетом высокой нагрузки. И знаешь что дальше было написано? Мм?
Редис, MongoDB и MySQL.
ВСЕ. Майсикль. Монга. Высоконагруженные сервисы, Карл! Ищут похапевыблядков для высоконагруженных сервисов с мийссакьюлой. Я потерял веру в человечество. Остановите планету.
>>504322 Пизданул как бог. Это как учиться сексу с помощью мастурбации. Ну да, медленно, некоторые гемы нужно устанавливать вручную, ну а в целом норм же, сперма одинаковая вылетает. А постоянный пиздёж в духе "мастурбацией невозможно ебаться без проблем" заебал уже. Представил себе рубиконтору, в которой деплоят из-под винды и обосрался
>лишь в 2-3 раза более медленная скорость работы Это вообще пушка. ВСЕГО ЛИШЬ В 2-3 РАЗА! Ерунда какая.
Алсо, therubyracer требуется в доброй половине проектов и переносить сборку на гульп ради шиндошс-дауна это уже какой-то совсем пиздец, вы там с одноклассниками проекты делаете?
Почему просто не поставить виртуалку с линуксом, ну почему?!
>>504350 Смотря в какую контору собираешься. В гугол искусственный разум достаточно, для мухосранских вектор-плюс придется потрудиться над крудобложиком или грабилкой с регекспами.
>>504322 Как ты меняешь версии руби? Как с ssh работается? Башскрипты по крону не было необходимости запускать? nginx, redis - как они, нормально? (хотя первый может и не очень нужен для разработки) С faye не было проблем? Rubymine кстати, порой жутковато тупит, например даже не знает про current_user в автокомплите и ещё кучу штук, которые в sublime есть без проблем (вместе с левым мусором но это не критично).
>>504353 Версии руби никак не меняю, мы не берём проекты на поддержку, во всех проектах у нас свежие рельсы и свежий руби. В работе у меня как правило лишь один проект и продолжительное время.
SSH через putty.
На винде у меня не продакшен, зачем мне крон? По ходу разработки я и вручную запущу пару раз что надо.
Nginx работает если надо, но для девелопмента он не нужен. Redis работает ок. Faye работает.
В rubymine тоже есть автокомплит "с левым мусором", есличо. А для частых слов, выражений и сниппетов кода есть live templates, зависимость полная.
Мой пост выше не про то, что мол всем надо пересаживаться на винду. А про то, что под виндой нормально, если сильно хочется. У меня привычный воркспейс в винде, а пека я использую не только не для работы. Если у меня будет особый проект, требующий Linux, я включу виртуалку конечно же.
>>504343 >Майсикль. Монга. Высоконагруженные сервисы, Карл! Ищут похапевыблядков для высоконагруженных сервисов с мийссакьюлой. Я потерял веру в человечество. Остановите планету.
Зависит от задачи. На MySQL тоже можно пилить хайлоад в некоторых случаях, если преобладает нагрузка по чтению или данные поддаются шардингу.
С монго всё ок, он кластеризуется из коробки.
Мы ведь не говорим про хайлоад в истинном смысле этого слова? У нас ведь тут рельсы и сайты-визитки... А?
>>504349 Поддерживаю тебя, но на gulp рано или поздно придется переходить - sprockets не может в sourcemaps и тормозит конкретно. Заебешься потом в пожатой жс-ссанине искать где там опять undefined перестал быть функцией.
>>504356 Оракл например. >>504362 Хайлоад иксперт в треде, все в майссаку! Если уж совсем нищие с хайлоадом, то почему тогда уж не постгрес, не понимаю. Может виной всему пидорашенский менталитет, когда на йобашашлычки берут вместо божественной решетки - такие же по стоимости шампуры, но пиздец как неудобные и неэффективные. Ачо решетка непонятная какая-то, куда в нее мясо надевать непонятно, разбираться с ней ещё. Будь проще, давай по-древнерусски на железных крученых палках, не мужик чоли.
>>504343 >нода >похапевыблядков Рабиобезъяны совсем ебанулись. Теперь все языки кроме раби объявлены ПХП. Ох, какие же вы умственно отсталые всё таки.
(Автор этого поста был забанен. Помянем.)
>>504372 Оракли - ацкая быдлятина. Например, в 10g движок хавал селекты с /r/n в качестве перевода строки, но не хавал аналочиные апдейты. Т.е. селект и апдейт там парсился разным былокодом. Учитывая, что это говно написано на С/C++ я не удивлюсь, если там вообще используются разные библиотеки для работы со строками. В общем да, если сравнивать СУБД с языками программирования, Оракли == С++. Стал популярным случайно - Ларри спиздил недоделанные исходники из IBM-а и стал загонять их аж как вторую версию своей чудо-СУБД, а быдло поверило; за счет чего держится - не понятно, т.к. не обладает никакими преимуществами по сравнению с конкурентами и чуть ли не самый медленный; все от него плюются и только узкий круг ограниченных ораклисвиней, которые ничего кроме оракли не знают и не видели, кормятся опилками с распилов от неудачных внедрений и считают себя сука илитой. И да, каждый ламерок, чинушка или олокомпьютерный свитер жаждет засунуть оракли куда только его волосатые рученки дотянутся, потому что где-то слышал, что оракли это круто. Где они все это слышат, я не знаю, как-то пора выжечь это место, чтобы зараза не распространялась.
>>504372 Когда начинаешь с ним работать после MS SQL, такое чувство, что тебя начинают пердолить моргенштерном в жопу. Потому что по неудобности, несоответствию стандартам, уёбищности средств разработки (oracle sql developer - это просто пездееееццц, впрочем, как и большинство программ сложнее контроллера кофеварки, написанных на джаве), надуманным сложностям на ровном месте (перенести базу на другой сервер в случае оракли - задача со звёздочкой), количеству расставленных повсюду граблей, количеству легаси-говна, хуёвости документации, кривости языка, бессистемности именования системных объектов, а также тупости и ЧСВ-шности комьюнити - оракли однозначный лидер. Зато в нём офигенные средства мониторинга. Например, ты всегда сможешь посмотреть, что было с твоей базой в любой момент времени, какие запросы выполнялись, прочитать рекомендации и запланировать их выполнение, написать хинты для конкретного запроса и заставить его выполняться так, как тебе надо, не влезая в само приложение, и всё это лениво щелкая мышкой в веб-гуйне из коробки. Для MS SQL я такого не видел. И еще все айтишные менеджеры начинают ТЕЧ когда в комнате звучит слово "оракли", поэтому оракли-свитера зарабатывают чуть больше доширака, чем их аналоги на MS SQL. Хотя в последнее время даже до них стало доходить, что оракли - это больше геморроя за те же или большие деньги, и поэтому наблюдается тенденция выравнивания в спросе на свитера и из зарплаты.
>>504640 погуглил, это хуйня мне нужна среда разработки с отладкой, окошко, в котором будет дерево всего проекта, где можно править руби-код, где можно ставить точки останова и тд. Как в любой номальной ide есть такое вообще или нет? и если есть, то как блядь ее увидеть, я нихера не понимаю
>>504916 1. Покупаешь гитару. 2. Покупаешь мак. 3. На следующий день принимаешь предложение от продюссера и гугла. 4. Пишешь полторы строки кода в день и идешь солировать на концертах.
1.Покупаешь мак 2.Отращиваешь бороду 3.Покупаешь очки с черным ободком 4.Садишься в кафешечку с вайфаем 5.Программируешь 30 минут 6.Если что-то не понятно, спрашиваешь на двачах пошаговую инструкцию как это сделать 6.Улетаешь в бали в отпуск
>>505915 у меня форма отправляет данные через ajax, если че не так то надо показать сообщение об ошибке, можно конечно сделать проверку отдельно на js, но не хотелось бы
>>506466 Соси хуй, туториал. Мне не нужен туториал, чтоб настроить такую хуйню. Дело в том, что она не работала как положено ещё пару месяцев назад. Сейчас не проверял.
Какой же хартл нудный. Это невыносимо, я начинаю засыпать через главу. Что-то другое можно почитать? И он, кстати, два раза в шапке повторяется в 6 пункте.
>>507647 Дааааа. Лучше склонируй его приложение с гитхаба и просто прочитай исходный код, заглядывая в документацию где не понятно. Когда я первый раз прочитал его туториал - где-то под конец я уже перестал понимать что происходит из-за стрёмного стиля написания. У меня Eloquent Ruby очень хорошо читалась, хоть я всё равно не закончил, потому что большинство уже знаю, но Хартл действительно сухой и скучный. Так что я забил на его книгу и написал свой магазин по заданию с http://tutorials.jumpstartlab.com/ Потом прочитал код его twitter-приложения и всё понял в 100 раз лучше, чем если бы читал его писанину. Больше всего меня утомляли ссылки на предыдущие секции, всякие "as we know from Section 4.2.1 blah-blah-blah...". Не мучай себя.
RubyOnRailsГоспода призываются в тред. может кто-нибудь сталкивался с проблемой - поставил образ Ruby on Rails + Postgres в Digital Ocean. в качестве пароля установлено примерно ENV['APP_DATABASE_PASSWORD']. при подключении к бд, выдает ошибку примерно вида - password не определен(?). EXPORT APP_DATABASE_PASSWORD = свой пароль - не помогает. при прямом пароле в конфиг все конечно работает, но оставлять так на будущее явно не надо.
Только не обоссывайте. На форме есть несколько вспомогательных полей и я не хочу чтобы их значения отправлялись на сервер. Есть ли какое-то свойство у input, которое запретит форме слать его значение через параметры? Или в этом случае нужно жабаскриптом переписать отправку?
>>508402 Рельсы - единственное, что было хорошего в РоР. Сейчас все языки ставшими это себе и сам РоР уже не нужен. >>508302 То то как только проект набирает популярность его переписывают с раби на другие языки.
Запустил на локальном сервере rails s -p 3000 Вроде все нормально стартануло. [CODE]% bin/rails s -p 3000 => Booting WEBrick => Rails 4.2.3 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2015-07-03 23:06:58] INFO WEBrick 1.3.1 [2015-07-03 23:06:58] INFO ruby 2.2.2 (2015-04-13) [x86_64-linux] [2015-07-03 23:06:58] INFO WEBrick::HTTPServer#start: pid=15462 port=3000[/CODE] Но при попытке зайти браузером на тестовую страницу вижу 404. В чем проблема?
>>508495 Что значит локально? Если заходишь в рельсы с бразуера, который не на той же машине, что и запущены рельсы (откуда-то из локальной сети), то нужна опция -b 0.0.0.0 чтобы сервер слушал все сетевые интрефейсы. По умолчанию, насколько я помню, WEBrick слушает только локалхост.
>>508435 >То то как только проект набирает популярность его переписывают с раби на другие языки. Лучше так, чем сразу отсосать хуй и ничего не выпустить на твоих других языках.
>>508515 Ну и хули теперь? Ты ведь не знаешь сколько крови, пота и слез там было. А они были. Что аж пришлось пилить свой интерпретатор, чтобы только всё это говно было не зря. Уж не потому ли, что переписать с рубей хотя бы представляется возможным?
>>508548 Именно контакт не очень подходит - он просто оказался в нужное время в нужном месте и выстрелил. Там в принципе похуй было на чем его делать. Главное кто-то увидел, что это может принести охуительные бабки. Другое дело, когда проект неуникальный и/или рассчитанный на определенные круги пользователей - там вероятность соснуть куда больше.
Я почитал внутри интернета разное и там на счёт производительности руби говорят что норм всё, а когда встанет вопрос производительности сначала надо будет оптимизировать работу БД, а когда вопрос производительности встанет снова переписывать на C++ с бинарниками под 2GB, никаких PHP, Java и прости госпади Python'ов.
>>508548 Если бы они изначально писались на рабинапалках, они не соснули бы? Сдается, сосну ли бы, причем гораздо раньше, что не позволило бы им написать собстственный интерпретатор
>>508555 Я уже сказал, что не соснули бы в любом случае. Это неподходящий пример. Большинство проектов, которые делаются - никогда не приходят к успеху. И вот в этой категории уже нужно смотреть и изучать. В любом случае, исходя из опыта могу сказать, что проще, чем на рельсах веб не разрабатывается нигде.
>>508559 С "проще" я согласен. Рельсы все же дисциплинируют ленью, как смешно бы это не звучало. Когда написать костыль дороже по времени, чем использовать гем, тогда внезапно открывается третий глаз.
Кстати если в систему установить много gem'ов, то их подгрузка будет тормозить и сама утилита gem тоже, причём даже когда не нужно проверять все пакеты, даже когда просто посмотреть помощь по командам. В итоге люди пишут препроцессоры вроде faster_require или прописывают полный путь в require.
>>508551 Если твой проект станет таким популярным, что его надо будет срочно переписывать и никакие оптимизации уже не помогают, то ты просто наймешь программистов.
1) Зарабатывает рельсой деньги - стартап или на дядю 2) Огромный набор гемов в проектах, сам разумеется нихуя не пишет, максимум пару кривых форков в гит + нахуй никому не нужный сырой гем 3) Обжегся на монге (либо понимает что она говно) и использует постгрес, ну и разумеется redis 4) Невъебический деплой, подпертый костылями с кучей ванильных облачных сервисов через васянские гемы. 5) С коллегой раз в жизни ходит на митап, потом переходит на nodejs, который убийца раби.
Господа, дает ли красноглазие реальные преимущества при кодинге на руби? А то тут в конторе (идейные рубисты), в которую я думаю податься, советуют накатить убунту для этого. мимоджавист, работы для начинающих на джаве, увы, хуй да нихуя
>>508959 Знание линуксов/юниксов/позиксов всегда даёт плюс. Применительно к руби — да. По поводу конторы — не иди туда, ты быдло, а они няши, не порти им малину.
>>508960 Это еще почему? Если я никогда не пользовался линуксом за ненадобностью, я быдло? Ну ты и сноб. К руби отношусь так же, как и к большинству других ЯП - нормально.
>>508973 У меня на местном развлекательном сайте со смехуечками, где я до сих пор сижу из-за лампового коммьюнити (такой себе кусочек 2007), в свое время один персонаж всех так доебал своими пингвинами, дебианами, мандривами и прочей долбежкой, что пробовать раньше не хотелось совершенно. Но если есть необходимость - почему бы и нет?
>>508965 > ненадобностью, я быдло? Типа того, по меркам тру-олдфагов. То есть если у тебя не было "надобности" разбираться в самом базовом уровне доступа к функциям компутера, изменять его и настраивать под себя, то ты, очевидно, казуал.
>>508997 > "надобности" разбираться в самом базовом уровне доступа к функциям компутера Никакого отношения к линуксу это не имеет. >изменять его и настраивать под себя Это вообще днище для школьников. Операционка не должна отсвечивать.
>>508958 >1) Зарабатывает рельсой деньги - стартап или на дядю >2) Огромный набор гемов в проектах, сам разумеется нихуя не пишет, максимум пару кривых форков в гит + нахуй никому не нужный сырой гем >3) Обжегся на монге (либо понимает что она говно) и использует постгрес, ну и разумеется redis >4) Невъебический деплой, подпертый костылями с кучей ванильных облачных сервисов через васянские гемы. >5) С коллегой раз в жизни ходит на митап, потом переходит на nodejs, который убийца раби.
1) + 2) + \ - 3) + 4) - 5) В конторе активно продвигается нода, я всеми силами сопротивляюсь, благо сила голоса есть.
На деве отдает нормальный json На проде отдает вот это блядь сука ебаная ["#<Image:0x007f6ccc239b88>","#<Image:0x007f6ccc239a70>","#<Image:0x007f6ccc239958>","#<Image:0x007f6ccc239840>","#<Image:0x007f6ccc239728>","#<Image:0x007f6ccc239610>","#<Image:0x007f6ccc2394f8>","#<Image:0x007f6ccc2393e0>","#<Image:0x007f6ccc2392c8>","#<Image:0x007f6ccc2391b0>","#<Image:0x007f6ccc239098>","#<Image:0x007f6ccc238f80>","#<Image:0x007f6ccc238e68>","#<Image:0x007f6ccc238d50>","#<Image:0x007f6ccc238c38>","#<Image:0x007f6ccc238b20>","#<Image:0x007f6ccc238a08>","#<Image:0x007f6ccc2388f0>","#<Image:0x007f6ccc2387d8>","#<Image:0x007f6ccc2386c0>"]
аноны помогите есть бот для steam на nodejs надо чтобы пользователь при создании профиля добавил бота в друзья, из ноды, после того как пользователь был добавлен передать данные в рельсы может есть гайд какой ? на railscast нашел только про гем faye но это немного не то
>>500998 >Прямо сейчас ты идёшь в гугл переводчик, вводишь там ruby, жмёшь "прослушать" и больше не задаёшь глупых вопросов. Прямо сейчас ты идешь нахуй и, впредь, не пытаешься выделиться уникальными знаниями фонетики.
Нужно запилить, например приорити для задачи (модель task). Для приорити нужно пилить отдельную модель и выстраивать все через связь(task has and belong to many) либо можно запилить константы в модели? (если да - то как?)
Когда я сажусь за Ruby, Господь подымает меня над полом и приближает к себе. Не так близко, чтоб поздороваться, но так высоко над вами, чтобы узнать вам, быдлокодерам, цену. Кто такой ты, с гадким похапэ на мониторе, ковыряющий свой сраный Yii, и болтающий со своим другом-шарподебилом? Вы писькины плевки, получившие дипломы, вы спрессованный в толпу корм для рыбок, ваши лица сливаются в одну огромную руку из жопы. Разработчик без Ruby есть такая низкая тварь, что даже зарываясь в отладке, я не спрошу у него совета. Когда я пишу на Ruby, я чувствую, как Вселенная податливо подрагивает у меня под пальцами. А не SIGSEGVы и бойлерплейты, через которые приходится продираться вам, жалкие быдлокодеры. И не важно, яблоко у вас на машине, пингвин или форточки - вы не люди. Вы орущая потная поверхность. Вы битые пиксели монитора, давно отправленного на свалку. Когда я запускаю свой гем, ядра процессора готовы подраться между собой, чтобы исполнить его божественный код. Когда я выхожу из irb, ось хочет оставить себе процесс на память, и хранить его как реликвию. И когда я окончательно решу отделить ваше убожество от своего превосходства - я пойду и напишу еще один гем.
>>509599 >я всеми силами сопротивляюсь, благо сила голоса есть Чем то напомнил луддитов, которые разрушали станки, сопротивляясь прогрессу и отстаивая свои древние и неудобные инструменты.
>>510806 Раби - это молоток, простой и примитивный. А нода - это сложный, многофункциональный станок с ЧПУ. Да вот только привыкшие к молотку пролетарии не могут освоить сложный станок с непривычным интерфейсом, поэтому предлагают его разбить и до конца времён пользоваться чистым молотком.
(Автор этого поста был предупрежден.)
>>510808 Даун ставит знак равенства между языком Ruby и ультрасовременным блестящим производственным комплексом для создания современных и мощных web-приложений Ruby On Rails. И лужицу говна в виде ноды приплетает. ебаныйстыд.жпг
>>510811 Мне похуй как ты говоришь, нодожеребенок. Речь идет про рельсы. Или у тебя от ((({});{();};}};()); совсем мозги спеклись?
(Автор этого поста был предупрежден.)
>>510902 ну смотри мне для сайта надо получить некую инфу с API steam, ее можно получить только если пользователь находится у бота в друзьях. Я хочу сделать так: в форме регистрации сделать ссылку на профиль бота в steam -> пользователь переходит по ссылке, добавляет бота -> в самой форме через ajax добавляется сообщение вида: бот добавлен, все ок -> можно создать аккаунт (то есть пока бот в друзья не добавлен профиль создать нельзя) причем я хочу все это сделать без логики на клиенте (нода будет крутиться на локалхосте, извне получить доступ к ней нельзя) смотрел в сторону publish/subscribe на основе redis но я так и не понял как мне реализовать обновление в риалтайме
>>510810 >современных и мощных web-приложений >Раби Выбери одно. Рабирельсовый генератор визиток для даунов никак не связан с современными и мощными приложениями.
каким образом при выборе типа продукта можно рендерить партиал, содержащий набор полей?
Собственно с кликом по кнопке сделал вот так, а с селектом не канает ;( #tasks = f.simple_fields_for :kukans do |kukan| = render 'kukan_fields', :f => kukan .links = link_to_add_association 'добавить хуец', f, :kukans, class: 'btn btn-primary'
ну и собственно партиал _kukan_fields
.nested-fields .row - if f.object.new_record? ....
>>510948 А почему тогда этот костыль используется PayPal, Yahoo, HP и другими крупными компаниями, а с рабей все тут же убегают, стоит проекту набрать популярность?
>>510962 В рельсопроектах это говно тоже используется. В любом крупном высоконагруженном проекте в любом случае используется целый набор разных технологий. Но школьники с двача хотят взять один ЯП и пердолить на нем все подряд. Бери С++ кароч, будеш самый умный: сможешь срать во всех остальных тредах, делать на нем фейсбуки, роботов, ИИ, ракеты в космос запускать, гостевухи, парсеры, умную электродилду для своей мамаши накодируешь. Красота.
>>511260 ну в гемах которые я смотрел доступ только к открытому api, через него например mmr (внутриигровой рейтинг) или количество игр в Dota 2 не получить
Лол, от того что вместо того чтобы дописать нужный тебе функционал, люди запускают ноду на локалохосте и думает как из локалхоста что-то передать в веб. А потому что он не хочет разбираться в API, в гемах, в чем либо.
Рабаны, поясните по-хардкору за сабж. Где используется, есть ли спрос на рынке труда, насколько сложен для ньюфага в программировании, ну и другие частые вопросы? Стоит ли начинать с Ruby ньюфагу? Моя уметь в инглиш, если чо. В гугол тоже могу, не забанен, но мне важнее мнение анона.
>>511563 > есть ли спрос на рынке труда Есть спрос на сеньёров и крепких мидлов с опытом от двух лет. Но на таких спрос в любой области есть. На джунов спроса нет вообще, ибо нахуй они нужны в рельсопроектах.
Рельсы - это такая штука, которая на самом деле требует целого спектра знаний. Казалось бы, "бэкэнд", а на самом деле в девелопменте нужны комбайны, люди-машины.
Я учил руби 2 МЕСЯЦА, язык и стандартную библиотеку. Я 3 месяца писал проект без рельсов, а потом ещё минимум 4 месяца ебался с первым рельсопроектом. И спустя вот уже 4 проекта размером чуть менее среднего я до сих пор не чувствую себя комфортно. Это с учётом моего 4-летнего опыта в веб-параше на прочем скриптоговне..
Лол. Вроде как нужда УЖЕ ПРИШЛА. И вообще это в стиле: Ну так-то я программист, я ПРОДУКТИВНЫЙ, это просто ещё нужды нет, ну это ничего что я блядь вместо того чтобы разобратсья с API и дописать решения создал у себя на локалхосте вообще нахуй не нужное нодоговно и решаю проблемо как это говно из ЛОКАЛХОСТА пошлет что-то мне в веб и чтобы это ещё не глючно работало. А так-то мне НУЖДЫ что писать самому нет нужны нет, я ПРОДУКТИВНЫЙ ПРОГРАММИСТ, а никакая нибудт там макак которая в байтах колупается!
В общем я к чему. Сейчас берешь, находишь доки STEAM API, и пишешь все на руби ручками, как в старые добрые времена. Твое нагромождение костылей просто смешны и выдают в тебе ленивого уебана который просто на просту профнепригоден, над тобой в любой коллективе смеяться будут.
Устанавливаю я значит Vagrant. Пробрасываю порты для дебага. Ставлю значит эти порты.
Но этот блядский рубмайн каждый раз генерирует порты для дебага. rdebug-ide --disable-int-handler --evaluation-timeout 10 --rubymine-protocol-extensions --port 38115 --dispatcher-port 34645 -- А я ему таких портов незадавал. И вообще такую строку я ему не задавал.
А я не могу на ходу пробрасывать порты для virtualbox на ходу.
Вообще RubyMine это точно не среда для ВЗЯЛО И ЗАРАБОТАЛО.
Шалом, погромисты. Я прошел азы в языке Ruby по книге Криса Пайна. Что следует изучать дальше? Какие книги посоветуете? Желательно на русском, но и от англоязычных не откажусь. Спасибо.
>>511701 Официальный гайд по рельсам читай, потом начинай писать каталог статей с авторизацией, аттачментами и прочими свистелками, параллельно читая гайд по второму кругу.
I honestly look at this shit with amazement. Supposedly these startup founders are smart, at least some of them. Why do they voluntarily put themselves (or their coders) through this hell? ASP .NET works perfectly well and it gives you working autocomplete and debugger not to mention an ecosystem of libraries which actually compile and do what they're supposed to. Oh and a compiler which will occasionally tell you that your code is wrong before your customers find out.
Yet when I look at angel.co, most job listings are for Ruby. What the fuck? I don't want to work for these glib douchebags who think this shit is funny.
Forcing a programmer to work with "tools" such as Ruby is like hiring a master carpenter and telling him he can only work with dull chisels. And when he tells you that it'll take him twice as long plus he won't enjoy it, telling him that it's a startup motherfucker so you're supposed to be working startup hours anyway.
Here's what I saw from the "rockstar architect" my company hired:
Step one, throw away all of the existing code. Step two, inject amazing new development methodology. Step three, everyone should learn how to read my mind-map that is filled with jargon that none of you have ever heard before. Step four, pivot to new customers. (I have not consulted Marketing about this.) Step five, you guys like totally have to read this book about project management. Step six, I'm going to bring some of my friends from previous companies on board as consultants. Step seven, half of you are fired - probably the ones who wrote most of the cash cow source code. Step eight, piss off all of our biggest customers. Step nine, blame all of my failures on the previous architect or the "old thinking." Step ten, I quit and start a company directly competing with this one.
All the while, over-promising, under-delivering.
When I, a lowly developer, interviewed the guy, I asked him "On a scale of 1-10, how would you rate your C++ knowledge?" He said, "10." RED FLAG! I said we shouldn't hire him; I lost... so did the company.
Озалупился я, пацаны, короче. Решил выучить рельсы. Посмотрел я пару скринкастов и рванулся в бой. А пишу я сейчас, О БОГИ, твиттер. Решил ради тренировки перенять фишку у реального твиттера - звездочку favorite. Создал я модельку Like(еще есть User и Tweet), привязал ее к юзеру и твиту. Прописал ресурсес твитс ду в раутах, пояснил системе за все по хардкору и начал писать код для лайка. Так вот, пихаю я в tweets_controller.rb такой код: def like @tweet.like.new(params[:user_id, :tweet_id]) respond_to do |format| if @tweet.like.save format.html { redirect_to @tweet, notice: 'Like succeded.'} format.json { render :show, status: :ok, location: @tweet } else @tweet.like.destroy format.html { render :edit, notice: 'You dont like this anymore' } format.json { render json: @tweet.like.errors, status: :unprocessable_entity } end end end А из вьюхи я вызываю <%= link_to 'Like', @tweet.like %> Ну и на этом моменте рельса обсирается и выдает NoMethodError in Tweets#show Showing /twitter/app/views/tweets/show.html.erb where line #14 raised:
undefined method `like' for #<Tweet:0x1648a4ad>
Котаны, скажите, где я отсосал и как заставить это работать?
>>511746 Позволь узнать, где конкретно я отсосал. И что ты имеешь в виду под ассоциацией? References? Я типа билингва, и если и мог где-то отсосать, то в русском
>>511765 like это действие в контроллере! >>511767 А ты передавай процедуру like методу actions на твите, пусть твит лайкнет себя сам. А like будет замыканием, которые ссылается на user_id.
>>511772 Да похуй мне на школьников, потом с этим разберусь. Мне бы в рельсы сначала вкатиться и вообще в веб.
>>511771 >пусть твит лайкнет себя сам Зачем ему лайкать себя самому? Я вообще запутался. Поясните нормально, как пофиксить мою проблему, ну или хоть сылку дайте куда-нибудь, где абстрактно описывают как это делать.
А теперь оформим вопрос правильно: где пишутся методы, которые вызываются из вью? Почему вью не видит методы контроллера?
Конкретно undefined method `like' for #<Tweet:0x1648a4ad> лечится созданием def like end в модели. Но это не решит твою проблему, так как это хуй знает что за конструкция.
>>511779 Почему ты хочешь вкатиться, читая ответы на двачике? Когда на работу пойдешь, тоже будешь здесь ныть как написать лаба1? Давно уже написали гайды для самых маленьких, дак нет, вы всё лезете сюда тыщу раз писать свои охуительные вопросы на миллион, на которые нет ответа потому что всё по пизде, просто от начала и до конца. Лишь бы вкатиться.
>>511805 Работает конечно же. У тебя у пользователя может быть много лайков, и у твита много лайков. Если дополнительных данных у "лайка" никаких нет, а их обычно нет, то промежуточная модель не нужна, можно использовать связь HABTM.
>>511807 Давай я пока с моделью лайков останусь, разберусь хотя бы с этой залупой, а потом уже займусь более глубоким изучением? Я уже второй день туплю над этой ошибкой, не могу понять что не так, и почему экшн, прописанный в контролере не вызывается из вью.
>>511812 Экшен контроллера ни в коем случае не должен вызываться из вида. Когда ты в виде используешь link_to, происходит построение urlа, а не вызов экшена контроллера. Это как бы link_to 'Zalupa', '/xui/2/drochit' например.
Господа рабисты, как выкинуть из раби последней версии coffeescript? Я его мать рот ебал учить еще один язык. Олсо можно ли нахер отключить статический сервер встроенный и есть ли готовые ГЕМЧИКИ чтобы легко вместо него поставить nginx со всякими там привязками к генерации путей до контента?
>>512360 Ну значит либо делай nil.to_s, чтобы передать хотя бы что-то и пофиг как оно там отработает с пустой строкой, либо с самого начала не вызывай ничего, если nil.
Чтобы переменная допусти APP_DOMAIN была видна везде, чтобы не исправлять в 100 местах. Я знаю, как-то руби с глобальными переменными не дружит, может какой-то есть РУБИВЕЙ)
двач помоги, я заебался надо сделать многошаговую регу с помощью omniauth Примерно так: на главной странице висит кнопка зарегать с помощью твитера(например), в случае успешного логина его редиректит на форму (/user/new) где он заполняет дополнительную информацию профиля Собственно: 1. как передать данные полученные из omniauth на страницу с формой, чтобы юзер не мог их изменить 2. как запретить переходить на /user/new напрямую (только после логина через omniauth)
>>513045 Стартап, где еще не выбрали платформу и нет сформированной команды языкнейм. Говоришь, что на рельсах разработка быстрее и надежнее. Но для этого нужен опыт миддла хотя бы. А в больших городах изредка проскакивают джунские вакансии в команду, ну и стажировки.
>>513096 И хочу дополнить, что когда на страницах фреймворков выкладывают логотипы сайтов, которые решили кейсы за счет фреймворкнейм - это инфа как раз для ваших начальничков, а не для вас - потому что вы должны не жопой думать, а головой.
Это нормально, рельсы совмещают в себе все лучшие практики веба. Собственно знать рельсы = знать лучшие практики в вебе. Тем кто писал все Index.php очень трудно все запонмить, так как по сути они и писать ничего не умеют.
>>500998 > Прямо сейчас ты идёшь в гугл переводчик, вводишь там ruby, жмёшь "прослушать" и больше не задаёшь глупых вопросов. Вот тут вы и обосрались ˈro͞obē
>>512991 делай redirect_to из контроллера redirect_to 'твой url, например главная" unless current_user
Создай обычный класс для аутентификации, в нем делай все нужную поеботу с omniauth и передавай объект в новый контроллер. Почитай вообще про service objects в рельсах
Нужно чтобы по дефолту link_to "test",@test ссылался на resources :test, :controller => "testsuper". Но в то же время старый способ доступа resources :testsuper тоже должен остаться доступен для поисковиков
Что-то не могу найти как изменить дефолт Path у объекта.
>>512991 как лучше передать: через сессию через кеш Rails.cache.write("list",[1,2,3]) Rails.cache.read("list") через параметры (юзер ведь сможет изменить их ?)
>>513489 >link_to "test",@test И да там не только в этом дело, я знаю что можно test_path(@testsuper) сделать, там ещё нужно формировать sitemap, да и вообще.
Ребзя, а проясните за будущее Ruby. Что они там мутять над производительностью языка, будут ли улучшения? Что там с байткодом? Прост про это хз где почитать за это, а ведь интересно. Тоже самое про рельсы проясните, скоро ведь 5 выходит.
>>513528 Ну легаси точно будет. Будущее непонятное, так как до сих пор по привычке делают проекты на 2 и 3 версиях. Политика версионности непонятная. Часть программистов раби уходит в objc и nodejs разработку.
В целом сениоры снимают шоры с ебальника и начинают применять более компактные инструменты в т.ч. на других языках. В самом деле, зачем брать рельсу, если тебе надо выкатить 5 rest методов для mobile с определенного хоста. Это можно сделать на rust, nodejs, python или go, особенно если нужна скорость.
В общем итак дела были плохи, а после спадания всяких хайпов 2009-2011 года будет совсем все плохо.
>>513544 Вот всегда интересовал вопрос - что за страшные такие вычисления нужны в вебе, чтобы играла какую-то существенную роль производительность языка? Ещё понял бы за производительность рендеринга всяких шаблонов, но язык - он только 2+2 делает на веб-задачах, хули там тормозить?
>>513564 Бутстреппинга тысяч строк кода ORM в фреймворке (с DSL, магией, функциональщиной) уже достаточно для того, чтобы начать делать оптимизацию кэшем в памяти даже при скромных нагрузках вроде 10-20 тысяч хитов в сутки, в результате чего няшный код превращается в нагромождение инвалидаторов кэша. Разумеется цифру нагрузки надо представлять не как равномерно распределенную, а с пиками и различными боттлнеками, когда начинают обрывать телефон поддержки и почту.
Если бы ресайзом картинок на сайтах занимался ruby код, а не сишная библиотека вроде imagemagick - сайты на ruby умирали бы уже при 10k hits. Это касается и других побайтовых операций с данными - строки, хэши, вычисления.
Автоматическая генирация страниц с класами bootstrapАноним12/07/15 Вск 23:19:51#525№513591
Подскажите, как сделать автоматическую генерацию views с разметкой в стиле bootstrap? Например, нужно всю страницу обернуть в <div class="container"></div> и таблицы с классом table? В application.scss сделал так: table { @extend .table } Но как сделать автоматическую генерацию views с <div class="container"></div>? Заранее спасибо!
По мне это что-то в стиле ГЕНЕРАТОР КОТОРЫЙ АВТОМАТИЧЕСКИ СВЕРСТВАЕТ ВАМ САЙТ, только нажмите rake sverstay:mne:sait На каждую хрень в view можно написать генератор, только он будет теребнить в очередной раз ruby, и вызваться 2 раза в проекте.
>>513649 Двух. Сделал просто. В файле /app/views/layouts/application.html.erb <body> <div class="container"> <%= yield %> </div> </body> Я просто только начинаю вникать в ROR.
1. C чего мне начать, чтобы стать рабистом?
Отличным началом будет Eloquent Ruby, The Well Grounded Rubyist, Programming Ruby (The Pragmatic Programmers Guide), Ruby Way, Metaprogramming Ruby. Пишем свой код во время чтения.
Документация по стандартным библиотекам http://ruby-doc.org/
Можно пройти раби онлайн - http://tryruby.org/levels/1/challenges/0
Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com
2. Какой gem посмотреть, чтобы понять, как писать код?
Лучше всего посмотреть небольшие gem'ы вроде cancan, devise, camping.
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
Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/book
Для дотошных читателей есть The Rails 4 Way.
7. Хорошие практики по раби и рельсам?
Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes.
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]
11. Какие гемы стоит знать?
capybara, rack, rspec, devise, cancan, simple_form, solr, sinatra, тысячи их.
Поиск гемов https://www.ruby-toolbox.com
12. Где можно задать глупые и неочень вопросы?
- здесь
- stackoverflow.com
- в рассылке rails-talk
- оф. форум рабей http://www.ruby-forum.com
13. Как фокнуть\сделать фичу\исправить баг, сложно ли это?
Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
14. В чём писать код?
Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-ребят есть rubymine, плагины к эклипс и нетбинс.
15. Кудах, правильно руби, а не раби!
Прямо сейчас ты идёшь в гугл переводчик, вводишь там ruby, жмёшь "прослушать" и больше не задаёшь глупых вопросов.