24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
1. C чего мне начать, чтобы стать рубистом? Отличным началом будет Eloquent Ruby или The Well Grounded Rubyist.
Затем читаем Metaprogramming Ruby. На протяжении чтения вы должны писать код, конечно же. Чтобы не задавать глупых вопросов уровня дибилоида, который не нашёл доки > http://ruby-doc.org/core-2.1.4/
Вопросы уровня >метод чтобы разбить строку в массив игнорируются, автора исключают из школы и отправляют в биореактор.
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, тысячи их.
12. Где можно задать глупые и неочень вопросы? - здесь - stackoverflow.com - в рассылке rails-talk - оф. форум рубей http://www.ruby-forum.com
13. Как фокнуть\сделать фичу\исправить баг, сложно ли это? Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
14. В чём писать код? Vim, Sublime Text 2, TextMate, GNU Emacs. Для особо упоротых энтерпрайз-ребят есть rubymine, плагины к эклипс и нетбинс.
Sup, рубач. Переносил базу из sqllite на mysql, все прошло относительно гладко, но появился косяк. Все запросы к вебсерверу дублируются, либо же дважды выводятся в консоль. Где я мог скосячить?
Доброго времени суток. Как в рельсах выполнить кучу инсертов, одной транзакцией без использования сырого sql? Использовал ActiveRecord::Base.transaction, работает хоть и быстрее, но все равно выполняет инсерты отдельно и нехило задалбливает базу.
>>405587 > Отличным началом будет Eloquent Ruby Вот читаю, и чуть ли не каждую страницу "кароч так принято )) Почему? Об этом мы погорим в главе такой-то." Мне кажется, или это немного хуево? Хоть и лучше очередного "Its Ruby magic. Aint gotta explain shit."
>>406333 Если не нравится, читай вторую книгу из оп-поста. Там более детально. Потом можешь быстро пробежаться по Eloquent Ruby и моменты с "кароч так принято" даже не надо будет объяснять если не дебил, конечно
Пилю авторизацию через аjax. Все вроде бы работает кроме когда пользователь выходит (тоже через ajax) и заходит снова. Что-то не так с csrf. Есть идеи?
Аноны, меня тут поперли с работки недели 2 назад, а поскольку у меня опыта работы чуть больше 2-х месяцев (пишу на руби полтора года, работал по специальности только 2 месяца последних), меня нигде не берут или предлагают работать бесплатно. Где вы ищите работу? На hh и rubyjobs последнее время или тихо, или быстро перестают отвечать на письма.
>>408807 Кресты? Не уверен, что можно не остаться без работы, зная кресты. Уж лучше тогда какую-нибудь джаву учить или пхп, тогда точно не останусь без работы. Но джаву я и так довольно неплохо знаю, а пхп у меня вызывает ментальное отвращение. Ничего личного, пхп куны, если вы это читаете, я против холиваров, просто язык не нравится.
>>408817 Интересный момент: западная статистика не справедлива для этой страны. Он пишет, что работодатели заинтересованы в node.js разработчиках, например, но я ни разу вообще не видел вакансию node.js разработчика на просторах hh в моем регионе. Это обидно, ноду я тоже хорошо знаю.
Раз зашла речь о работе... На работе пишу всякие приблуды для внутреннего использования на рельсах, хотя работа далека от программирования. Ситуация шаткая, могут выпереть в любой момент. Когда этот момент настанет, хочу перекатиться в погромизда. Реально ли в этой стране устроиться фултайм рубигосподином? Возьмут ли меня без "реального" опыта программирования в команде? Еще интересно, какие задачи ставят, не CRUD же по 8 часов в день обсасывать. Подозреваю пиздилки контента, парсеры. Пилите кулстори, вобщем.
Как назвать миграцию, если необходимо во второй раз изменить дефолтное значение? Обычно называю их типо change_column_default_value_in_table, но тут такая уже есть, т.к. менял его в первый раз.
репост из ньюфаг треда. Выручай анон Антоны, приветствует вас RoR-js-макак. Подскажите пожалуйста какую-нибудь книгу, которую можно читать, скажем в метро. Я имею ввиду чтобы не было нужды выполнять упражнения(и вообще поменьше практики). Думал почитать алгоритмы от сейджвика, так там без кодинга вообще толку нету. Я думаю в сторону чего-нибудь по паттернам, мастшабированию, best practices, unix, базы данных. Уровень у меня "крепкий junior" где-то. Прочитал уже Growing rails applications, metaprogramming ruby, speaking javascript, object oriented design. Начал confident ruby но чето хуйня какая-то
>>408817 Так что ананасы, будущее у рельс отсутствует? За год node совсем вытеснит рельсу, и тогда работы совсем не останется, про фриланс можно будет забыть.
>>405587 http://guides.railsgirls.com/ азаза > These guides are built to provide tools and a community for women to understand technology and how to build their ideas.
>>409801 Не холивара ради, могу быть не прав, но после рельс писать на ноде очень неприятно, настолько все топорно и не интуитивно, такое чувство что не для людей оно делалось. Как мне показалось, качество библиотек тоже заметно ниже. Не понимаю чем вызван хайп, для перформанса есть ведь куда более приятные технологии тот же ёрланг.
ЕОКЕсть один контроллер без модели. Принимает данные из формы. Как устроить этим данным валидацию в контроллере, как это делает Active Record в модели?
Такие дела случаются на спермерке 64. Ставил railsinstaller (3.0 и 3.1), и rubyinstaller (32 и 64). Скриншот с rubyinstaller. Рельсы тоже не запускались, ссылаясь на Win32::Registry::Error (иногда к этому присовокуплялись символы как будто оно прочитало из реестра что-то на кириллице в поломанной кодировке). Как это исправить?
>>410319 Ну так ты подгоняешь все под уже всем известный шаблон. У тебя получается объект аля-ActiveRecord, только без сохранения в базу. Часть логики у тебя остается в контроллере как обычно(собрать параметры, проверить права) а та часть которая делает работу(бизнес-логика, валидация) идет в модель. И кто тебе сказал что в модель не надо логику пихать? Кинь ему в лицо ссаную тряпку.
>>410528 А где ее по твоему хранить, лалка? Логика самой модели - лежит в модели. Точка. Если ты видишь что модель разрастается - значит нужно выносить логику в другие классы. Есть value object, композиция, сервисы или разбить просто на модули
>>410616 Рельсы живут за счет существующих проектов, каждый из которых рано или поздно загнется. Новые проекты делать на рельсах - абсурд. Действительно, зачем содержать золотых рельсобогов по $30 в час если можно нанять пхпребенка на Yii за пачку доширака в день.
Пачаны, за Thinking Sphinx и Rails. Как выполнить поиск по одной модели, а выдать результаты из другой?
Например, у нас есть таблица с сотрудниками, где у них есть имена и айди их должности, и таблица с айдишниками должностей и их названиями. При вводе названия должности выводится список сотрудников, которым принадлежит эта должность.
Пацаны, вопрос слегка не по теме, но всё же. Искал тут себе темку со шрифтом хорошим. Темку нашел, а также нашел и шрифт у создателя этой темки, но задефайнить его не могу. Что за шрифт, как узнать? Час уже целый ебусь со всякими indentifont сайтами - не находит его. Хочу именно этот, он меня заебись устраивает.
>>411448 А также интересует вопрос, какие лучше плагины накатить на ST2 начинающему рельсоводу? Интересуют в первую очередь те, что так же хайлайтят текст, как на изображении, которое я кинул. Извиняйте, я совсем профан.
>>411523 На винде у тебя все будет тормозить. Не знаю как обстоят с этим дела сейчас, может быть уже выпустили соотвтетствующие патчи, но два года назад я ставил себе виртуалку и работал "удаленно" заливая файлы по sftp. Это работало значительно быстрее чем запуск руби по шиндовс.
Ананасы, помогите аутисту: я скачал с оф. сайта рубиинсталлер Ruby 2.1.5 (x64), мне нужно что-нибудь еще устанавливать ? если нет,то где код писать, в interactive ruby?
>>411724 Ты - это я два дня назад, лол. Поясняю по-минимуму: ты установил сам язык в систему. То, где писать код, называется IDE. По сути это - обычный текстовый редактор. Можно (но сложно) хоть в блокноте писать, не шучу. Для удобства же разработки есть множество текстовых редакторов. Я, к примеру, использую очень приятный Sublime Text 2. Он умеет дружить с руби, после накатки парочки пакетов на него - даже хайлайтит тебе разные объекты в коде. После того, как написал код - сохраняешь его с расширением .rb в папочку специальную, а через консоль обычную его запускаешь. Пиздос, я всегда думал, что для программирования есть специальные программы...как в том же питоне или C#, но нет, тут всё в текстовом редакторе. Если есть какие-нибудь контакты для связи, то оставляй - будем учиться вместе.
поясняю открываешь консоль (ctrl+') или Preferences->Show Console копируешь туда этот код: import urllib2,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
Видишь после него Please restart Sublime Text to finish installation - заебись. Перезапускаешь сублимтекст и следуешь дальнейшим инструкциям с линка, который кинул.
Первым делом, скажите, это я долбоеб ии действительно правильнее это сделать так, как мне хочется? Ну и в любом случае хотелось бы знать, как мне максимально рубивейно организовать это, а то я дальше туторов с блогами и дефолтными рутами не уходил в жизни.
Допустим, ищу я ресурсы items с некоторыми id. Мне дико не нравится дефолтный рутинг. Ящитаю, что урл поиска не должен быть вида /items/show/1,2,3. Мне хотелось бы что-то в духе /items?ids=1,2,3, а то пацаны не поймут.
>>411792 Смотри, бро. Если у тебя пути /items/show и items/show?ids=1 должны вести на один и тот же экшн в контроллере то проблем нету. Ты можешь в контроллере все разрулить. На уровне роутинга это делается через constraints. http://pastebin.com/M1Hk4kwr Но вообще не выебывайся и делай по гайдам, пока нету реально нужды от них отступать.
Поясните, какие минусы у руби, как языка? Я не про востребованность и высокие пороги входа сейчас, а именно про гибкость, функциональность и прочие вещи. А то везде говорят, что он такой сахарный, такой чсвшный, высокие зряплаты, кокококококо, а про косяки что-то только пхп принято поносить.
>>412333 1. Довольно тормозной 2. Замудренная, на первый да и на второй, чего уж там взгляд, объектная модель 3. Некоторые очевидные для других языков вещи тупо переназваны и должны быть заново "изучены" Больше минусов вспомнить не могу.
>>412384 2. очень простая и понятная ОМ 3. это ты про всякие inject, select и т.д.? если так, то проблемы возникают только у тех, кто знаком с фп, новичку однохуйственно.
Еще можно добавить 4. дырявые стандартные либы (не могли как в ноде сделать) 5. хуевая поддержка гуи либ 6. методы не first-class без костылей 7. and/or против &&//|| 8. комьюнити (тут не язык правда виноват)
>>412460 Да какой заебись. Пидоры, феминисты и прочее бугуртящее во имя справедливости говно и есть 95% комьюнити руби. Какие-то высеры про равенство, хуе-мое, руби для детей, railsgirls, руби для инвалидов, руби для одноклеточных. Нахуй мне это?! Вместо работы над языком/платформой хуйней страдают.
>>412406 >4. дырявые стандартные либы (не могли как в ноде сделать) О боже, они не смогли обогнать эволюцию! Всех в печь!
>>412461 Кокой-то ебанутый ты. Почему мне должно быть не похуй кто там в каком-то комьюнити сидит, если мне удобно писать на руби и есть овердохуя готовых решений?
Многоклеточные, поясните, хули не ставится ни один гем? Вчера все ок было, а щас что бы я не пытался установить из гемов, пишет ошибка ssl ебучие сертификаты. Что делать? Халп
>>412463 Потому что в руби and/or не замена &&/|| очередной перлизм
>>412513 Я имел в виду, что можно было сделать stdlib минимальной, а не то, что либы должны быть без дыр совсем.
>Почему мне должно быть не похуй кто там в каком-то комьюнити сидит Где ты прочел что кто-то не должен писать из-за кого-то? Я всего лишь высказал то, что мне не нравится. Мне уже абсолютно похуй.
Два месяца с книжками и выходные на хакатоне в европе/штатах = 50к рублев и английский у тебя есть какой-никакой. А вообще с детства надо язык долбить.
>>412657 лан, со штатами перегнул, но поездку в Европу + книжку ты себе на 50к позволишь. А то и на ноут останется/выйграешь чего-нибудь. Или на 2 хакатона сгоняешь. На первом просто послушаешь, что носители и пиздаболы, вроде меня, говорят, а на втором сам выебывайся и пизди без остановки.
Есть один долгоработающий скрипт. Нужно отдавать данные о процессе работы скрипта в браузер. Как это реализуется? В голову приходит только периодические ajax-запросы, но Rails ведь не выводит ничего пока не завершит работу скрипт.
Есть таблица с некоторыми стобцами. Допустим, есть столбцы country и value. Мне нужно получить максимальное значение value для какой-либо country. Но не просто получить, а максимально быстро. country не уникальны и их могут быть миллионы, на них есть индексы, но value — уникальны. Помогите, пацаны. Я не знаю, как это сделать правильно, но мне правда нужно.
Не самый удачный тред, наверное, но я хотя бы рубиблядь. Надеюсь на помощь.
>>412970 В смысле, я конечно, тупой хуй, но я вижу это так, что мне нужно сделать что-то вроде индекса для максимального значения. Да, я могу сделать индекс по столбцу country и существенно сократить количество переьираемых строк, но он всё ещё каждый раз будет перебирать кучу строк для нахождения значения, которое можно было бы находить только лишь при обновлении данных таблицы. Вот что я имею в виду. Я пытаюсь найти сам и разобраться. Не вру. Но пока дело стоит, потому что всё не по теме. В любом случае, я уверен, что подобный механизм есть в любой базе данных.
>>412677 Ответьте на мой ответ блядь! У меня еще одна идея родилась: запустить долгоработающий процесс в бэкграунд и отрендерить страницу. Процесс хуярит результаты своей работы в базу данных. Ajax на странице обращается с контроллеру, который вытаскивает из базы данных результаты, отдает их в json например. Все это несложно вроде бы, кроме КАК ЗАХУЯРИТЬ ЕБАНЫЙ ФОНОВЫЙ ПРОЦЕСС В РЕЛЬСАХ???
Рельсаны, помогите, уже голову сломал. Есть 2 модели - пользователи и группы. Связаны между собой через вспомогательную таблицу методом :has_many_and_belongs_to. В форме редактирования пользователя сделан выпадающий список со списком групп. При апдейте в консоли появляется WARNING: Unpermitted params :group_id, хотя в парамсах юзера он указан. В итоге, обновляется все, кроме принадлежности к группе.
Модель пользователя user.rb
class User < ActiveRecord::Base . . . has_and_belongs_to_many :groups . . . end
Модель группы group.rb
class Group < ActiveRecord::Base has_and_belongs_to_many :users VALID_NAME_REGEX = /[a-zA-Z\u0410-\u044F+\-\+\\_]/ validates :name, presence: true, length: {maximum: 50}, format:{with: VALID_NAME_REGEX}, uniqueness: true end
update и params в users_controller.rb
def edit @user = User.find(params[:id]) end
def update @user = User.find(params[:id]) @group = params[:groups=>[:group_id]] if @group != nil && !Group.find_by_id(@group).nil? @user.groups.push(@group) end if @user.update_attributes(user_params) flash[:success] = 'Profile succesfully updated!' redirect_to @user else render 'edit' end end
private
def user_params params.require(:user).permit(:email, :password, {:groups=>[]}) end
>>413049 Ускорило выполнение запроса в целых полтора раза до 0.6 секунды, но это все еще очень долго. Нет большой проблемы в том, чтобы добавить несколько строк логики и вручную обновлять максимальное значение при транзакциях, но мне хотелось бы сделать это средстави БД, если это возможно. За этим и приходил.
Алсо, количество записей в таблице тоже ~0.5 секунды считается, что несколько меня удивляет, так как я всегда почему-то был уверен, что вещи вроде этой обсчитываются при обновлении данных. Но тут меня спасает вторая таблица, где для каждой country всегда бережно обсчитываются transactions_count, а дальше мне нужно просто сумму столбца одним запросом взять.
>>413240 Ты смотришь на то число, которое рельсы выдают? Похоже, что большую часть времени в запросе у тебя тратиться на оверхед от рельс. Попробуй посмотреть сколько времени будет уходить, если напрямую запрос делать.
>>413309 Бро, у меня sequel без моделей. Я пробовал даже разные сложные запросы из выдачи гугла, но сути не меняет вообще. Я шокирован тем, как БД каждый раз считает количество записей. Да, я наверняка многого не понимаю обо всем этом и заслуженно чувствую себя тупым хуесосом, но уж такого я не ожидал и ожидать не мог.
аноны поясните нубу у меня есть диапазон чисел, я их передаю в виде url вида example.com?range=300..400
собственно это норм если я сделаю так : range = params[:range].split("..") client .where(:range => range.first..range.last) возможны ли SQL инъекции если я так напишу?
>>413477 Это быдлокод, не делай так. Если это какие-то критерии, то тебе лучше иметь два параметра (вроде price_low и price_high). Если это что-то другое, то скорее всего, оно как-то ответственно за количество выводимых данных. В таком случае тебе лучше пересмотреть концепцию, потому что хацкер заставит твой сервер выдать миллион записей из БД и твоя ВПСка за три с половиной бакса захлебнется.
при таком способе ты неправильно указываешь параметр для user_params.
должно быть не :groups => [] а :group_ids => [] именно так. и не groupS_ids. потому что когда идет сохранение массива айдишников Group, они пихаются в group_ids.
соответственно и поле в форме тоже надо исправить на :group_ids. Кстати странно что у тебя там селект. Селект выбирает какой то один объект. Подходящее по смыслу для has_and_belongs_to_many инпут формы - это массив чекбоксов.
>>413678 У инпата в твоей форме нет атрибута name. Такой инпат не обработает ни браузер, ни Mechanize. Если хочешь помощи, то давай ссылку на твою форму.
>>414064 Ну руберойды, выручайте же, вы что тут илита, и поголовно на ваших маках и линуксах сидите? Да полюбому на шиндовсах тут есть, как эту хуйню пробить?
>>414198 Спасибо друг, вот сейчас скачиваю виртуалбокс и ксубунту 14.04, а то я заебался с vmare и фелорой, вчера пол дня сидел, не мог настроить руби, теперь может дело быстрей пойдет. Может поделишься своим опытом? как грамотно работать с руби он рэйлс? текстовые редакторы? галочки может где нибудь поставить надо? голную сборку там?
>>414198 Устанавливаю ксубунту, создал 8гб раздел в диске D, в меню выдал несколько пунктов" 1. Стереть диск и установить ксубунту 2.Вы можете изменять/создавать разделы самостоятельно, или выбрать срау несколько разделов Что выбрать то чтоб данные на моем диске D не удалились?
>>414236 В начале без опыта в линуксе будет не привычно, конечно, особенно учитываю, что у тебя плохо с английским. Из рекомендаций в начале поставь rvm и руби через него и разберись как пользоваться гемсетами. Еще очевидная рекомендация качать скилл английского, не обязательно для этого дропать руби, качай их параллельно. Я не знаю насколько у тебя с ним плохо, если можешь хотя бы с трудом читать сообщения на SO, то возьми, например, eloquent ruby и читай через боль, незнакомые слова заноси в anki. Из редакторов советую sublime text 3 или atom. Саблайм популярней и я сам на нем сидел долго, но в итоге перешел на атом и не жалею. >>414242 И почему же? Убунту давно уже дефолтный дистр линукса для десктопа. Большинство гайдов и вопрос на СО относящихся к руби которые он найдет будут подразумевать, что у него или мак или убунту. Ну а xfce просто хорошая замена, в меру минималистичная, замена unity. >>414267 Ну и ладно, раз уж я все это написал, то все равно отправлю.
>>414274 Спасибо конечно. Но как же с эти руби муторно то, на виндоус не робит, всякие ошибки, вернусь обратно, к своему уютному html,css,php мирку, блять нахвалили этот фреймворк, что аж на свой сраный шиндовс не могу установить его.
>>414276 Спермопроблемы никого здесь не волнуют. В каком-то смысле, это минимальный естественный отбор, не позволяющий срелнестатистическому проекту спускаться до уровня PHP.
Среди всех прекрасных умений прыщей есть одно самое важное. Оно работает хорошо, стабильно, не зависит от погоды, инвестиционного климата и дружественных усилий, предпринимаемых всякими космонавтами. Так сложилось исторически, что именно это умение, технология, легли в основу нового порядка, нового мироощущения, прыщемирка. Суть вот в чём. Попробуйте представить себе прыщемирок. У него нет границ, которые спермачи могут увидеть, зато есть границы которые они никогда не смогут преодолеть. И вот почему. Допустим, решила какая-нибудь типичная спермоблядь проникнуть в прыщемирок — не важно, будь то пубертатный школьник с истовой жаждой самоутверждения, или завхоз с экономией на бесплатном, или просто пресытившийся анальным гнётом и интересующийся не в меру хомячок; таки или иначе всех ждёт один и тот же печальный итог. Когда типичная спермоблядь пытается, прельстившись радостями прышемирка, проникнуть в прыщемирок через «парадный вход», гордо задрав нос, её ожидает строгий досмотр, на котором моментально выявляется уровень знаний и умений убогого. В частности, выясняется во всех продробностях та самая противоестественная поза, в которую традиционно привыкла вставать спермоблядина, чтобы её начинал использовать хозяин, выясняется, что за душой у спермоблядины никаких знаний нет, кроме этих самых привычек, связанных с облегчением анального гнёта спермогосподина. И тут, поскольку вход-то «парадный», прямо на глазах тысяч обитателей прыщемирка наступает расправа. Древний и тщательно смазанный для анахронизма карательный механизм запускает свои циклопические манипуляторы прямо в анус спермоблядины и стремительно с треском и искрами разрывает его в клочья. Это одна из самых потешных вещей для всех прыщеблядков. Это то, что делает бессмысленными все прочие развлечения, то, что не сравнится по накалу страстей и силе впечатлений ни с чем. На спермоблядские крики слетается множество зевак. Жалкий опущенец кричит, обвиняет в случившимся кого угодно, но не себя, сетует и стенает о том, что прыщемирок не пригоден для жизни, что прыщеблядям, видимо, нравится перманентный разрыв ануса; всё, что угодно будет выкрикивать — лишь бы не признать собственную убогость и надёжность её определения и её очевидность в прыщемирке. Но прыщеблядям известна истина. Она проста. Тот самый надёжнейший анахронизм вычислил хроническую спермоблядь и точно поразил её. Это делает крики спермоблядыша ещё более смехотворными.
Так бы всё и продолжалось: изредка спермобляди подбираются к границам прыщемирка, получают свой заслуженный разрыв ануса, и пройдя сквозь боль и унижение, уходят не солоно хлебавши. Но для экстенсивного увеличения количества лулзов, а, стало быть, расширения круга жертв, были открыты другие входы в прыщемирок. Например, на одном из них выдают красочную табличку с надписью «инвалид» и инвалидную самодвижущуюся коляску с обещанием доставить прямо через ограду в прыщемирок, где всё будет хорошо, бесплатно и легко. Не забывают, впрочем, предупредить, что вставать с коляски нельзя ни в коем случае. Что удивительно, коляска действительно начинает своё уверенное движение со спермоблядком на борту, однако сам спермоблядок уже очень скоро начинает смутно догадываться, что его обманули, поскольку, положение, в котором он сидит в коляске не такое уж и удобное, и до боли в анусе напоминает ему то самое положение, в которое его так часто ставил спермогосподин, а сама коляска движется с ощутимыми рывками, меняя направление, да и радостей прыщемирка не особо заметно, а окружающие прыщебляди посмеиваются и указывают на спермоблядка пальцами. И тут, спермоблядок понимает, что его разоблачили, поднимается со своей коляски и начинает грозить прыщеблядкам и кричать им, что он тоже прыщеблядь, поскольку уже проник в прыщемирок, преодолев границу. Это вызывает в прыщеблядях только смех, поскольку никакую границу спермач не преодолел — он просто катается в инвалидной коляске. А когда же спермач понимает и это, то он от досады делает неловкое движение и попадает в цепкие манипуляторы, устремившиеся к его заднице. И тут происходит разрыв на потеху всем окружающим прыщеблядям. Пожалуй, вид такой спермобляди, ещё более униженной, забавит куда больше. А собравшиеся вокруг прыщебляди тыкают палочками в агонизирующую спермоблядь, пока та изрыгает проклятья, обильно поливая собственную инвалидную коляску и землю вокруг анальной кровью. Вот в этом-то и состоит мрачная суть древней кровавой традиции прыщемирка, который не прощает и не ошибается. Так и будет: спермоблядство неизбежно должно караться в прыщемирке разрывом пердака. Вот в чём самая большая потеха: дразнить спермоблядка «бесплатным сыром», твёрдо зная, что его ждёт только бесплатный разрыв жопы.
>>414282 >>414284 Ахахахахах прекрати рубифаг, чтож ты делаешь, у тебя бомбануло не хило я смотрю. Назови мне что годного создано с помошью хуюби? быстро блядь.
>>414288 GitHub, Twitter (не начинай кукарекать про переезд на JVM, если не готов спорить с пруфами и принимать мои аргументы с пруфами же; в любом случае, взлетел на RoR, и есть мнения, что в некоторой степени и благодаря RoR), тысячи хипсторких сайтов и некоторая часть наших правительственных сайтов, насколько я знаю (время от времени мелькают вакансии). Но это всё не так важно. На PHP больше годноты сделано, конечно, поэтому PHP лучше, мы просто все вместе собрались и сделали тред неосиляторов, так что не обижай нас, пожалуйста.
а я вообще не понимаю, нахуй нужен етит ваш руби если есть такой-то рнр на руби же пишут только китайцы и прочие виабу или вы типа нитакие как все? пидоры что ли?
>>414361 >так что не обижай нас, пожалуйста. Хорошо не буду. GitHub годнота, вплане материала различных исходников, а так хипсторское артхаусное говнецо. Да да сучечка, свитер переехал, когда осознал что на этом хипсторском фреймворчике, далеко не уедешь. И какие тебе пруфы? на хабре давно уже обсосали этот переезд свитера с вашего хуюби, для великовозрастных школьничков, с низким порогом вхождения в мир ПОГРОМирования Но ты же не обижаешься пожалуйста, добра тебе:)
Есть множество разных мнений насчёт всего. Фейсбук написан без использования ООП, «Вконтакте» тоже открыто говорят, что их божественный компилятор PHP, написанный олимпиадникам и отличниками, не умеет в ООП, потому что они сами не используют его нигд . Вот где получается скорост . Хочешь скорости — сбрасывай абстракции, закатывай рукава и умножай битовыми сдвигами. Правда, к тому времени, как наконец-то сделаешь оптимальную конкатенацию строк, внуки Цукерберга наплодят сразу десять прямых конкурентов твоего стартапа и заберут всю твою потенциальную аудитори . О чем ты тут споришь — я не зна . Приглашаю мочератора посидеть в треде и посмотреть, чтобы его не скатывали в бесконечный срач.
>>414449 Братишка ну что ты тут фаллорефлеметирушеь? (фаллос+рефлекс+метрика) мне глубоко пофиг на эти ваши гандактики да факбуки, я же тебе о вашем хипсторском хуюби констатировал, что он только вам тут уютно всрался, великовозрастным низко-пороговым погромистам. Но ты годен братишка, видно что радеешь, копротивляешься, это достойно, но как в Библии: упорствo невежд убьет их, не обижайся, и спокойной ночи, добра тебе братишка:)
Анон, я уже весь гугл изрыл. Никак не удается локализировать бложик (хочу сделать русский вывод даты, и русский devise). Пробовал кучу вариаций, все что есть в гугле. Все файлы лежат на своих местах. Для проверок сервер перезапускал, все равно реакции ноль. Что посоветуете?
>>405587 > 1. C чего мне начать, чтобы стать рубистом? > Отличным началом будет Eloquent Ruby Скачал, читаю: > Who Is This Book For? > This book is for you if you have a basic understanding of Ruby but feel that you... > ave a basic understanding а с чего начать если даже понятия не то что в Руби, а и в кодерстве нет?
Но я бы тебе не советовал начинать с руби, потому что его единтсвенное применение - это рельсы, а в рельсах предполагается, что ты уже опытная веб-макака. В рельсы обычно перекатываются после пары лет пхп. С пхп и начни, если интересует веб.
>>414671 > как узнал и почему хочешь > ньюфаг тред #73 > B: Хочу стать программистом, какой язык учить? > O: Aнглийский + Ruby/Python
я просто на днях осознал что мне уже дохуя лет (овер 22), а я хуй простой, и мое ингенерское образование в пизду, и склад ума у меня кодерский. за ответом пошел на родные двачи. Название Ruby понравилось больше чем Python, лол.
>>414669 Короче, если ты полный ньюфаг, то во-первых, тебе надо изучать английский. Если можешь читать техническую литературу, пропускаешь этот пункт. Не надо скачивать какие-то учебники по английскому или записываться на курсы. Можешь записаться на курсы, если ты полный 0 (например, учил немецкий в школе). А так, чтобы изучить язык, нужно смотреть какие-нибудь сериалы в оригинале с субтитрами. Когда встречаешь неизвестное слово, смотришь в словаре. То же самое с книгами. Не отлынивай, сериалы и фильмы смотри только в оригинале, и твой лексикон будет расшириться охуительными темпами. Техническую литературу на русском читать нельзя, за такое в приличном обществе ссут на ебало.
Теперь, когда знаешь английский, тебе надо научиться гуглить, чтоб не заходить в /зк/ с тупыми вопросами. Уметь гуглить и вообще искать информацию - это самый важный скилл, я не преувеличиваю.
Ты уже знаешь английский, можешь загуглить непонятный момент и читать книги в оригинале, пусть даже как даун со словарем и по 1 странице за 15 минут. Начинай изучать самые основы: переменные, условия и т.д. Язык абсолютно неважен. Не беспокойся, что ты потратишь время на какой-нибудь язык типа Scheme, а потом никогда в жизни не будешь на нем писать. Циклы, условия, функции и прочее есть абсолютно в любом языке, тебе главное понять принцип. Выбираешь любую книгу из тех, что тебе насоветовали в этом треде. В принципе, можно и на руби писать, но Rails трогать не стоит, обосрешься.
Дальше тебе предстоит выбор в зависимости от твоих интересов: 1) Если ты дохуя эстет и тебе нравится работать с каими-то визуальными вещами, можешь изучать html, css и js. В /wrk/ найдешь тред верстки, там есть подробный гайд. 2) Если ты задался целью максимально быстро начать зарабатывать деньги, делаешь то же самое. 3) Если ты тупой и не можешь в математику и всякие абстракции, опять возвращайся к пункту (1) 4) Если нравятся игры, можешь научиться делать браузерки на js. Для 2D игр тебе надо будет знать хотя бы школьную геометрию, типа синусов, косинусов и прочей хуйни. Для 3D тебе нужны будут всякие матрицы и аналитическая геометрия, но их тоже осилит даже даун. 5) Если хочешь фундаментальных знаний, то в /зк/ уже есть куча гайдов. Вот один из них http://pastebin.com/nwYaB1XR. Это что-то типа введения в computer science.
>>414683 > Техническую литературу на русском читать нельзя, за такое в приличном обществе ссут на ебало. 11/10 английский знаю прилично, учил какраз-таки по фильмах/сериалах.
я хочу в кодерство, без дизайна, ибо рисовать нихуя не умею. если б делал игры, то на пополам с дизайнерами. хочу вот просто когда читаю что куда-то нужен "програмист со знанием языка Х", понимать что я подхожу. вот. может у меня слишком все пока по нубски и росплывчато в восприятии, но буду по-немногу упарывать. ещё до февраля погуглю, сделаю себе базу с чего начинать, и ныряю.
>>414680 давай свою кулстори. как попал, с чего начал?
>>414689 >хочу вот просто когда читаю что куда-то нужен "програмист со знанием языка Х", понимать что я подхожу. Ну тогда 5 пункт в гайде. Главное не жди до февраля. Прокрастинации легко поддаться, когда самообучаешься, потому что в отличие от универа нет дедлайнов.
>>414694 я до февраля загружен своими ингинерскими делами по работе. и таки да, я прокрастинирующее хуйло, и такие вспышки у меня уже были с "УЧУ СОЛИДВОРКС / УЧУ ТЕХНИЧЕСКИЙ АНГЛИЙСКИЙ / УЧУ ПОЛЬСКИЙ" и все затухало на второй-третьей неделе. надеюсь тут так-же не будет.
>>414768 напиши интернет магазин. в 60% случаев вебпарашаработа связана с онлайн коммерцией. Алсо поизучай требования к вакансиям. Потом задрочи javascript и потом какой нибудь ангуляр. Везде требуют
>>414798 Окей, создам таки интернет магазин. >Потом задрочи javascript и потом какой нибудь ангуляр. Везде требуют Это уже есть, полтора года фронт-енда за плечами.
Как сделать, чтобы в модель.to_json включались кастомные поля? Например, есть модель Компания с полем количество_сотрудников, надо отдавать его в жсон не как "количество сотрудников", а как Х. Такое вообще возможно?
This uses the common but potentially confusing construction
if (user_id = session[:user_id])
Despite appearances, this is not a comparison (which would use double-equals ==), but rather is an assignment. If you were to read it in words, you wouldn’t say “If user id equals session of user id…”, but rather something like “If session of user id exists (while setting user id to session of user id)…”
I generally use the convention of putting such assignments in parentheses, which is a visual reminder that it’s not a comparison.
Это что, на самом деле так приянто делать? Я бы за такое убивал нахуй.
>>414845 Ты можешь рассосать логику до вида if session.include?(:user_id) user_id = session[:user_id] ... else ... end
Но зачем так жить? Конструкции вроде твоей привычны и понятны, наверное, всем, кто писал что-то сложнее бложика и никакой эзотерики здесь тоже нет. Такие дела.
Расскажите как вкатились во фриланс. Я так понимаю, первое время, пока нет портфолио, можно рассчитывать только на заказы типа "поправить верстку", "вот здесь кнопочка хуйнулась". Мне в любом случае придется дрочить фронтенд или можно как-то этого избежать?
>>405587 > 4. Можно ли писать на руби мобильное ПО? > Да. Для iOS есть RubyMotion промышленного качества > промышленного качества Кого вы пытаетесь обмануть? > Для WinPhone традиционно ничего нет, но его ценителям не привыкать. Паста с 2012 осталась?
>>415249 >>414995 У меня есть несколько типов отображения инфы, но в контроллере всегда в переменную @companies записывается результат поиска. Иногда эти результаты показываются таблицей, иногда графиком (тогда нужен джейсон), иногда другими хитровыебанными штуками.
Сделал через хелпер: [code] def graph_json json = @companies.as_json(only: [:name, :employees, :growth, :logo], methods: [:logo]).each do |company| company['x'] = company['employees'] company['y'] = company['growth'] end.to_json
sanitize json end[/code]
В соответствующей вьшке вызываю его, когда вставляю данные в хайчартс.
Рельсаны, поясните по хардкору, как уменьшить код и передавать не по одному параметру, а сразу несколько
Есть модель Zalupa с атрибутами size,color,form Делаем: @zalupa = Zalupa.find(1) @zalupa.size = big @zalupa.color = sizaya @zalupa.form = podosinovik @zalupa.save
Вот как эту хуйню @zalupa.size = big @zalupa.color = sizaya @zalupa.form = podosinovik
>>415370 Э, алё! Ты вообще-то в руби-треде. Просто невероятная несправедливость: как у такого прекрасного языка получилось такое уебищное сообщество. Думаю, по большей части виноваты рельсы.
>>415416 Хочу конечно, иначе не сидел бы ночами и не дрочил по второму кругу всякие базовые упражнения. После Рубиста, буду читать Метапрограмминг, наверное. Надеюсь, шанс всё-таки есть.
Ну и посторонний вопрос: а если на работе платят много денег за рельсобложики и всех всё устраивает, то надо ли быть программистом? Это не про меня сейчас, просто интересно.
>>415420 Ты хоть что-нибудь по структурам данных и алгоритмам почитай. Блять, я даже не знал, что с программистами на языках нынче все настолько плохо.
Есть модель категорий товаров, каждая категория вместо безобразного числового id переписывается красивым ЧПУ по названию категории, ЧПУ сохраняется в поле slug, значения уникальны для каждой категории.
class Category < ActiveRecord::Base has_many :goods before_save 'slug'
.................
def slug self.slug = name.downcase.gsub(" ", "-") end
def to_param slug end
end
Когда я создаю товар в категории, консоль начинает срать ошибкой, что не может найти категорию
Собственно, создание товара из goods_controller
def create @category = Category.find_by_slug!(:params[:id]) @good = @category.goods.build(goods_params) respond_to do |format| if @good.save format.html{redirect_to @good} format.js{} else format.html{render action: 'new'} format.js{} format.json{render json: @good.errors.full_messages, status: :unprocessable_entity} end
end end
Сама ошибка Parameters: {"utf8"=>"✓", "good"=>{"name"=>"Тест", "price"=>"100"}, "commit"=>"Создать", "category_id"=>"test"} TypeError (no implicit conversion of Symbol into Integer):
Я понял, что рельса пытается найти категорию по id, но вместо этого получает текстовую ссылку, хотя я явно указываю, как ее искать через Category.find_by_slug!(:params[:id]). Как ее заставить искать именно по полю slug, а не id?
>>415424 Еще повздыхай что программисты на языках не умеют в ring 0 и всякие int 22h. Зачем оператору экскаватора знать какой коленвал вертит радиальную шестерню на восьмом цилиндре? Мм, уеба? Зачем сверхвысокоуровневому господину вообще подозревать о разнице между стеком и кучей?
>>415505 > Зачем сверхвысокоуровневому господину вообще подозревать о разнице между Согласен, нахуй не сдалось. > стеком и кучей А вот это обязательно, иначе код сверхуровневого господина будет как-то странно тормозить на хелловорлдах.
Странности, делаю форму в папке comments, там делаю _form Затем рендерю ее в папке themes > show.erb И управление этой формой передается другому контроллеру. В итоге чтобы все работало, нужно код для обоих контроллеров держать в одном, а другой пустует. Что за хуйня?
Слева рубиниус, справа - MRI. Поясните, почему хвалёный рубиниус, который БЫСТРЫЙ И РАСПАРАЛЛЕЛЕНЫЙ, С LLVM И JIT КОМПИЛЯТОРОМ, всасывает в пять раз на таком синтетическом тесте?
>>416128 Да это старая хуета. Погугли rubinius is slow, наткнешься на оправдания одного из разрабов в хакерньюс, мол они оптимизируют код на руби целиком, а не какой-то конкретный метод. Хуета правда?
Уже второй день ебусь с paperclip. Делаю все в точности как в туториале на гитхаб. Перезапускаю сервер. Но один хуй, загруженная картинка не отображается. Что можно предпринять?
>>416141 Arch linux + cinnamon. >>416182 Что-то еще больше отсос получился. >>416188 А за mruby пояснишь? Я вообще хочу заэмбеддить руби в кресты как скриптовый язык, вот и выбираю альтернативную реализацию, MRI, говорят, неудобно эмбеддится.
>>416480 Я передумал спрашивать. Просто у меня путаница во всех этих belongs_to, add_xyu_to_users и прочих ассоциациях в моделях. Криво получается. В итоге так наговнокодил, что контроллер пытается вызвать метод индекс у вьюхи, которая родная для другого контроллера, и по идее она должна ее обрабатывать, а вот хуй. Щас буду с ноля переписывать все, а то чую где то в корне я ошибку допустил критичную.
Посоветуйте жс-фреймворк. Требования: - Низкий порог входа (никогда ни с чем подобным не работал и хочу начать с простого) - Легкая интеграция с рельсами - Фунционал на уровне: следить за кнопкой, делать ее неактивной при определенных условиях, скрывать блок, если выбран чекбокс и так далее. Мои главные цели это рефакторинг спагетти-кода на жквери и более плотное знакомство с миром js.
Антош, я скорее всего тупой мудак, но заясни мне, чому я получаю при запуске Ruby Test в Атоме ошибку "Uncaught TypeError: Cannot read property 'replace' of undefined"? Её даже нельзя зарепортить - гитхаб говорит, что не хочет грузить ссылку. Что делать? Помоги, пожалуйста.
Рубиняши, подскажите в чем ошибка? Есть две модели: посты и пользователи, связанные между собой one to many. Хочу при редактировании поста вывести имя пользователя, создавшего этот пост. Не выводит ничего. И ошибки нет.
Сука, так обидно. Теперь придется в пхпбыдло идти. Целый день потратил в попытках установить руби, джем, рейлс. А теперь сервер не работает. И самое главное: все те проблемы, которые мне встречались, довольно часто обсуждаются на форумах и у многих бывают, но у меня в том, что вся эта хуйня произошла разом. Смотрю видео и делаю так же, как автор видео. Но у него все норм, а у меня постоянно то не может найти джем, то не может получить доступ к серверу, так как идет через https и пришлось в genfile исправлять на http, то в конфиг путь не указан, хотя в видео и гайдах про это ничего не говорится, и т.д. Короче, даже небо, даже аллах против того, чтобы я становился рубистом. Очень грустно. Наверное я просто не достоин того, чтобы стать частью такого прекрасного комьюнити, как рубисты. Блять, даже капча сломалась!
Нужно сделать таблицу, в которой каждый столбик представляет собой отдельный объект. Сейчас так: http://pastebin.com/ciKp2WcK Как сделать лучше, без повторения .each?
>>416792 Для меня операционная систем не принципиальна. Просто никогда не имел дела с linux-based системами и Mac OS. Кстати, можете объяснить, почему труъ программисты предпочитают именно их, а не Шиндовс?
>>416908 > почему труъ программисты предпочитают именно их, а не Шиндовс ЧЕЛОВЕЧЕСКИЙ терминал, менеджеры пакетов, реальное отсутствие необходимости устанавливать мокрописьки (по мокропиське на каждую задачу), разграничение прав пользователей, конфиги, АЛЬТЕРНАТИВЫ, штабильность, безопасность, дружелюбность к разработчикам, сообщество, отсутствие ошибок 0x07febad3, прозрачность работы — да бля, ебанешься вспоминать все, чего нет у спермы или есть только в спермоидеологическом смехотворном исполнении. Все швабодолюбы когда-то с прошивки для вирусов переползали. Уверен, что если не все, то многие не могли сразу понять, какие профиты они получают. Но если спросить их, почему не вернутся обратно, то лучше ответ записывать на какой-нибудь емкий цифровой носитель, ибо в голове всего не удержишь.
>>416916 Охуенный тред! Читал и переживал, как будто это мой тред. Все в лучших традициях: годное начало, спокойное обсуждение, а потом говно, моча, пидорасы. В общем, я бы и сам там всех обоссал.
>>417090 Чем в емаксе перемещаться? Так чтобы сразу в нужное место попадать. В идеале по префиксам нужного слова. Пробовал ace-jump, но уж очень он непредсказуемый.
Всем привет, нужно сделать онлайн систему учета библиотечного фонда различных организаций, подскажите подойдёт ли для этих целей RoR? Сколько времени понадобиться чтобы разобраться с нуля, заранее спасибо за ответы.
Рубиняши, подскажите. Короче, ЕОК, есть один контроллер. Вернее два. И у них соответственно свои темплейты. Я пытаюсь отрендерить информацию с одного шаблона в другом шаблоне, который обрабатывается другим контроллером, соотвественно в том контроллере нет метода для обработки нужной информации. Что мне необходимо сделать, чтобы заработало?
Рубиноиды, скажите пожалуйста, какую версию ubuntu лучше ставить:32-х или 64-х разрядную. Интересует именно в контексте совместимости и удобства в работе с Rails, Photoshop и прочим софтом для web-разработкинга.
Я, наверное, к вам перекачусь, ибо быть сейчас qa недоавтоматизатором джавоблядью - зашквар, а с нынешним валютным курсом сидеть на РОР оч. удобно. Задрочу сейчас полностью кодскул, платные скринкасты с русракера возьму, потом книжечку и гемы начну задрачивать.
>>417622 На винде будут проблемы с рельсами, короче не рекомендуется. Либо садишся на линукс/мак, либо никак, будешь каждые 5 минут гуглить почему у всех заработало, а у тебя нет.
Рельсаны, как в хелпере сделать функцию фильтрации с аргументом, в качестве которого передается объект? Сейчас у меня в каждом контроллере для этого функция, и они абсолютно одинаковы во всех контроллеров, меняется только объект фильтрации. Я понимаю, что вызывать в каждом контроллере в каждом экшоне my_filter(@object) слишком говяно, я хочу, чтоб было просто before_action: my_filter, only: [:action_1, :action_2,...,:action_N]. Для этого я засунул ее в хелпер. Но при вызове из хелпера вылетает ошибка missing argument, т.к. он требует объект проверки. Как его можно передать через контроллер?
Какой гем лучше подойдет для организации "живой ленты"? Нагуглил 2 пути - постоянные аяксовые запросы, второй - использование вебсокетов. Решил заюзать вебсокеты, сразу возникла проблема выбора гема. Их несколько, каждый со своими причудами и и проблемами.
а что если я не хочу платить кодскулу и буду просто смотреть их платные скринкасты повторяя что делают - нормально? или там какие-то рандомные задания. И куда переходить после всего Path ror?
>>418201 Ну вот я нагуглил тему с Server Side Events и ActionController::Live. Все это очень круто и прекрасно, но как передать этому контроллеру событие о добавлении новой записи? на after_save из модели эта хуита не реагирует.
>>418433 В MRI GIL, процессы спавнить каждый раз слишком дорого, плюс возможность в последствие без проблем вынести воркеры на отдельный сервер/пулл серверов.
>>418438 Помню, летом анон рассказывал в верстка треде, что он выучил руби и нашел работу на какой-то анонимной бирже (знаю, что звучит странно). Суть в том, что там, по-моему, не по резюме или опыту работы оценивают, а по тому, как ты пройдешь задание. Может этот анон сейчас среди нас?
>>418552 В конце лета. В августе, наверное. Человек писал, что верстка тред его смотривировал начать учить программирование. И вот теперь он нашел работу. Потом его попросили запилить кулстори и он рассказал, что где-то в июне-июле начал руби (он написал точную дату, так как посмотрел, когда создал папку с RoR на компе, но я эту дату не запомнил). Ну а про биржу, возможно, я что-то перепутал. Но сайт, где вся эта система поиска работодателей программистами и программистов работодателями, действительно был, так как я его находил.
Клиент написал, мол, так и так, залупу тебе на воротник, хочу делать графики. Как я понял, он хочет строить что-то типа pie chart в экселе, и ему нужен точно такой же интерфейс для ввода инфы. Чтобы он мог заносить в таблицу название поля и значение, а они отображались на другой страничке. Сразу возникло несколько вопросов, с которыми вы, надеюсь, поможете. 1) Как оформить инпуты? Вероятнее всего, будет 2 инпута на строчке (name и value) и потенциально бесконечное количество строчек. Можно ли сразу сделать таблицу, как в экселе? 2) Как хранить данные? hstore? Какие ещё варианты? Чарты 100% будет строить Highcharts, так что было бы полезно сразу сохранять json.
>>418435 Последнее хорошая штука, только я не понял почему спавнить процессы или треды дороже чем иметь воркер из-за гила, там же CoW (память шарится) и задачи эти почти всегда io-bound.
Сегодня опять решил запилить что-то на Руби ЕБАННОЕ ГОВНО СРАНОЕ КОГДА ГЕМЫ НАЧНУТ СТАВИТЬСЯ БЕЗ ЁБАННЫХ ОШИБОК СУКА ЗАЕБАЛ ЦИРК С ВЕРСИЯМИ КОГДА БУДУТ ЗАПИЛИНЫ ЕБУЧИЕ ЗАВИСИМОСТИ СУКА ЁПТА БЛДЖАД ПИЗДЕЦ КРИВОЕ ГОВНО НАХУЙ
>>418644 Треди спавнить не дороже, про дороже я говорил только для процессов, а по тредам, ведь не будешь же ты решать для каждой задачи io-bound она или нет и использовать разные механизмы в зависимости от этого. А на счет спавна процессов, форкаться из рандомного места в коде, моветон, как по мне, да и много лишней работы, подключаться заново к базе и прочим ресурсам, убеждаться родителем, если он решит завершится, что нету работающих детей и тд. А спавнить процесс с нуля, который наверняка будет грузить рельсы, дорого.
Котаны, как пускать тесты, шоб они к бд не подрубались? Легаси код, рельсы 3. Ну шобы моки-хуеки и прочее, а то на тачке с дженкинсом не стоят дрова для подключения к ораклу.
Анончики, простите за глупый вопрос, но как в атоме сделать подсвечивание синтаксиса как в Learn to Program by Chris Pine? Т.е. я установил атом, скачал language-ruby, закинул в папку packages (хз, потом в settings увидел, что вроде там все языки уже установлены были). В настройках выбрал ruby и нажал open in atom, справа появилась древовидная структура этого пакета. Но синтаксис не подсвечивает. Этот пакет не предусматривает этого или я не разобрался? Как вообще посоветуете настроить его для ruby если я совсем новичок?
>>419086 > я совсем новичок? Да. Я не понял зачем ты скачивал (ты zip репозитория что ли скачал, лол) и закидывал пакет сам, если атом это умеет делать из своего интерфейса, но поддержка руби, в том числе и подсветка, в нем сразу установлены в любом случае. Для того что бы работала подсветка или открой файл с расширением rb или выбери тип файла руками в правом нижнем углу.
Антоши, а вам не кажется что время рельсов ушло. Сейчас все плавно переходит на амбер, ангуляр, бекбон и прочий нокаут, но сто же остается рельсам? Апишечка, ори и миграции? Не заменят ли рельсы более продвинутые ераланг с ковбоем или тот же, пресловутый элексир? Нужен ли будет RoR в современном Мире?
>>419199 Ну вроде как к тому всё и идёт. Я же не утверждал что за пыхой или джангой будущее. Я хотел про другое поговорить, по факту бекенд превращается в прослойку межу базой и клиентом, которая отдаёт json/xml/yaml Возникает вопрос, есть ли преимущества у такой прослойки по сравнению со всей этой новомодной асинхронной хуергой?
>>419160 Эрланг не для веба. У него нет удобств для веб-программирования, а все его бенефиты в вебе не особо ценны, если это не йоба-хайлод какой-нибудь, но тогда это уже другая история.
Веб бекенды ждёт тотальное пожирание ноджеесами, а чуть позже каким нибудь гоу.
>>419256 Смотря к чему бекенд, если тайпикал веб, то серверсайд всегда был прослойкой, тут ничего удивительного, особой разницы что сделать, выплюнуть данные в джсоне, в csv, или упаковать их во вьюху (написанную фронтендщиком) нет.
>>419160 >амбер, ангуляр, бекбон и прочий нокаут минимум плюсов, максимум неудобства по сравнению с обычными вью ну разве что react норм для мелкой интерактивной хуйни по моему не стоит заморачек, если не делаешь онлайн иде какое-нибудь
У меня от вас НЕПРИЯТИЕ. Уже месяц задрачиваю рельсы, надеясь, что все будет на плаву еще лет 5-10. Не хочется перекатываться в node.js Неужели совсем без радужное и бесперспективное это дело?
>>419282 5-10 лет и даже больше будет на плаву, на самом деле надуманная проблема, через 2-3 года активного макакинга тебе уже становится похуй на чем писать - и можно с легкостью использовать другую технологию
>>419274 >Веб бекенды ждёт тотальное пожирание ноджеесами, а чуть позже каким нибудь гоу. Они никогда не смогут в такую же экспрессивную дсл как ар, особенно гоу. Elixir мог бы мне кажется, там динамика, метапрограмминг, синтаксис руби, erlang vm, но мало пользователей.
>>419294 Кстати, что по асинхронности в рельсах лучшее? Хочу сделать рейл тайм чатик, быстренький. В сторону eventmachine копать? >ar всё так, это действительно убер фича рельсов. ar = active record?
>>419285 прям вот так вот, запросто свичнутся с рельс на ерланг или кложу-хуёжу? понятное дело что 2-3 года поебав CURD ты будешь делать его как бог с закрытыми глазами, но вот так вот просто свитчнутся - я чёт не думаю.
>>419296 ar = active record с асинхронностью в понимании tornado/nodejs/erlang в рельсах - никак. есть faye но он такая же часть рельсов как и всё вышеперечисленное, разве что хелперы есть.
>>419300 На кложуру посложнее будет, но вполне под силам. HTTP протокол тот же, принципы работы веб-приложений те же. Немного времени потратить на изучение языка и его экосистемы.
По этой теме двачую Elixir, сам давно следил за ним, но в какой-то момент они там все разосрались по поводу синтаксиса, да и мне что-то припекло и я забил. Захожу, а у них оказывается в сентябре наконец-то v1.0 вышел. Сейчас буду смотреть.
Вообще идея годная, взять такую-то рождённую быть конкурентной эрланговскую VM и сделать на ней язык с рубячим синтаксисом без всего этого ивент дривен говна.
>>419534 >Хотя бы 1 год опыта должен быть Вот никогда не понимал этой параши. Как получить опыт, если без опыта не берут? Что за больной дебил это придумал вообще? мимо
>>419543 С прокрастинацией как раз беда. Сам не справлюсь, нужны таблетки. Советуют фенотропил. Стоит пить? Времени у меня завались, но все что я делаю, это отвлекаюсь на двач, постоянно. А за этим пареньком я слежу как раз. Нравятся его видео.
>>419547 Фенотропил по моему опыту дает результат через две-три недели, все сводится к тому что можешь спать по 4-5 часов и при этом ходишь как огурчик бодрый. Короче, он не лечит от лени, но дает дополнительную энергию или мощь чтоле, то есть если ты ебашил за троих, то после фенотропила будешь за десятерых ебашить, если не ебашишь за одного, или вообще нихуя не делаешь то результата не будет.
Бля. Прошел хартловский туториал, сел читать pickaxe, на 100 странице заебало, решил чего нибудь своими руками сделать. Сел писать понг на госу, к тому моменту как пришло время делать таблицу рекордов с хранением в csv файле, понял, что пишу страшные индийские велосипеды, и пришлось возвращаться к чтению. Джампстарта не получилось, а так хотелось. Хуево быть головожопым, парни.
Вот нужно сделать администрирование буквально парочки баннеров на сайте. Баннер это картинка+ссылка.
Заводить под это таблицу как-то не рационально. Можно сделать класс от ActiveModel и сериализовать экземпляры в yaml. Но с другой стороны это как-то кустарно и менее универсально. Так как же лучше?
А еще может подскажите, какие вообще есть хорошие методики для организации баннеров на сайте.
>>419680 Да ну, это же простой сайт без особой посещаемости и самые элементарные баннеры. Я даже отложенные задачи не стал делать на sidekiq, решил на delayed jobs.
>>419695 ну ты рассуждай не с позиции как лучше, а с позиции как проще/удобней. на мой взгляд сделать то для чего рельсы созавались, в нём проще чем придумать хитрую систему импорта из yaml.
>>419571 Зря смеешься. Психика у всех разная, и действует он тоже по-разному. Пилю кулстори.
Повышенный уровень тревожности блокирует всю мою активность: умственную, социальную, творческую. Транквилизаторы (по крайней мере бензодиазепинового ряда) убирают тревогу, тоесть убирают блок. И активность фонтанирует. Такие вот дела - вроде бы транк должен успокаивать, а он на меня оказывает противоположный эффект.
Рубиняши, можете объяснить мне одну вещь, да так, чтоб даже идиот понял. Я очень сильно запутался в теме с ассоциациями, не получается все это осознать, и правильно выстроить все это. Не могу понять такую строку - current_user.articles.build (это после ассоциации статей к пользователю) Как правильно добавлять колонки с этими user_id, чтоб модели были связаны, и прочие has_ang_belongs_to Как вы выучили эту тему? Я уже 5 дней бьюсь.
>>419805 Ты ведь прекрасно понимаешь, что хуёво задал вопрос.
Просто убери расширение .erb/.slim и оставь .html. Или вручную впиши ссылку на .html файл в шаблоне. Только нахуй тебе это надо, я себе представить не могу. Может быть ты не хочешь рендерить layout? Тогда в контроллере напиши layout: false или render file: "path/to/file".
Антоши, признайтесь честно, кто по TDD хуярит? Ну что бы прям как в туториалах, сначала тесты, потом код? У меня вот получается пока только по tdd модели описывать и контроллеры, а всякие там гуи-хуи как то ебаненько выходит. Может я что то упускаю?
>>419873 пишу тесты ток когда все готово, и то чутка не вижу профитов писать сначала тесты получается просто дольше на дизайн у меня это тоже не влияет, дизайн хороший когда над ним думаешь, а писанина лишняя только отвлекает
>>419884 А какие тесты? Интеграционные? (капибара) или системные (контроллеры, модели, хелперы)?
Я когда то читал курс по тестированию в одном университете, так вот в рамках подготовки к этому курсу я наткнулся на очень интересное исследование от Майкрософта, которое утверждало что у ТДД имеется положительный ROI в следующих ситуациях:
1 Фаза отладки переносится на начало (если интересно, загугли boehm curve) 2 Закладывается платформа для быстрых контролируемых изменений (те же рельсы с 4.1 до 4.2 обновить)
Посоны, а правда, что рельсы отмирают? Отмирают, не успев достичь пика? Они мне начали очень нравиться, после полугода копания. Но я вижу, что они и так-то не особо популярны, а куча новый технологий, вместе с ебучим js-ом не дай бог писать на этом скобочном говне после рубей начинают сильно расти.
>>419903 >SPA Еле нагуглил что это сингле паге аппликатион. А чем рельсы не подходят для таких приложений? Апи вполне можно писать же. Тем более, что рельсы это набор независимых модулей-гемов, там много чего, что пригодится в любой системе, эктиврекорд например.
>>419906 Ну вот на метеоре или волте свыше можно писать код для клиента т контроллера одновременно, а не писать например валидации сначала в ембере/ангуляре, а потом повторять в рельсовой модели.
>>419938 >один код для клиента и бекенда конечно. что-то из разряда "write once, run everywhere" или как нодисты любят говорить мол один язык и для клиента и для сервера заебись, такое то code reuse лол но мы знаем
>>419964 А толку, бекенд то другая предметная область. Конечно js-дети своё ивент-дривен уебанство и на сервер тащат, так как больше ни во что не умеют, но это путь в никуда.
>>419991 А кто сказал, что именно на жсе писать надо. Можно и на всяких кофе/лайвскриптах, да и на том же руби, который через opal на клиенте работает.
>>420128 Пацаны из старбакса сказали? Тут то ты можешь писать что угодно, но реально большинство контор даже даже с php + smarty ещё не слезли. У них RoR ещё впереди.
>>420139 Реакт посложнее в использовании будет кстать, особенно если с flux. Ангуляр же удобный и няшный. То что делаешь за 10 минут на ангуляре будешь дрочить полчаса на реакте.
>>420139 >но реально большинство контор даже даже с php + smarty ещё не слезли. У них RoR ещё впереди Это в рашке. Ориентироваться же нужно на мировое сообщество. Да и возможно, что когда в рашке слезут со смарти, рельс уже не будет и они минуя их перейдут на что-либо другое, лол.
Я сейчас сижу читаю про изоморфные приложения и мне страшно. У меня такое ощущение, что я (и контора в которой работаю) безнадежно отстал от жизни, чувствую себя динозавром из 90-х.
Заебись, проснулся, начал продолжать изучение рельс. Зашел в тредик, а тут опять демотивируют, что устаревшее мертвое говно и пора валить. Пиздос, что делать?
>>420198 Это трал, забей. Для SPA серверсайд может быть на чём угодно, а RoR-way лучшее что пока случалось с веб-бекендами, в других языках лучшие веб-фреймворки выполнены именно в рельсовом стиле, тот же Play. А golang весьма примитивен и маловыразителен, в отличие от рубей, там удобств ноль и инфраструктура не развита.
>>420230 >Для SPA серверсайд может быть на чём угодно Не совсем. Тут есть несколько проблем. 1. Сео. Обычная реализация SPA это когда бекенд представлен API, а фронтенд js-кодом, который рендерит html-страницу уже на клиенте, ПОСЛЕ ЗАГРУЗКИ. Т.е. крулер (браузер) получает пустую страницу с js-кодом, который потом уже отрендерит html. 2. Производительность. SPA-приложение работает быстро без перезагрузок страницы, но первоначальный рендер занимает много времени, что плохо влияет на UX - пользователь должен ждать несколько критичных секунд. Амазон утверждает, что сокращение времени загрузки на 100мс увеличивает прибыль на 1%. 3. Поддержка. Можно поддерживать традиционный и SPA-интерфейс отдельно, но это превратится в кошмар и очень сильно усложнит приложение. Но в любом случае, какие-то куски, вроде роутинга и валидаций, будут дублироваться и на клиенте и на сервере.
Эти проблемы решаются при изоморфном подходе, когда клиентский код может выполняться и на сервере и на клиенте. Решается проблма с СЕО и производительностью и логика роутинга и валидаций является единой во всем приложении.
Изоморфные приложения это очень здорово, это будущее, которое все ближе. Но только очень жаль, что это будущее на JS. Это недоразумение.
HTML и весь клиентский стек вместе с браузерами и js это насквозь легаси-технологии, обросшие кучей костылей. Все это развивалось спонтанно, без единой политики или стандарта, технологии появлялись в разных местах и компаниях, и со временем включались в разные стандарты с оглядкой на обратную совместимость. Весь фронт-енд это ебанный обезбянник. Но он настолько большой и так прочно вошел в жизнь, что от него нельзя уйти. И вот потому что в этом обезьяннике используется блядский JS, Backend должен теперь перейти на это говно, чтобы достичь изоморфности. Хотя на третьей картинке есть компромис.
>>420246 >Сео Гугл давно уже умеет в джяваскрипт, выблядок >первоначальный рендер занимает много времени Хуйню несешь >Backend должен теперь перейти на это говно Нет, фронтенд должен перейти на нормальные языки.
>>420214 Вай-вай дарагой, спасибо за ссыль. Я по совместительству фанат имьютабл-говна и скала-говноед, так что постараюсь заюзать эту парашу в каком-нибудь из ближайших проектов просто потому что могу.
У меня есть события, у которых есть start_time и end_time в течение одного дня. По времени не пересекаются. Есть какой-нибудь йоба-гем чтобы найти между событиями временные промежутки (чтоб потом засадить туда новые события)?
Такая ситуация: есть приложуха на рельсах. Работает через связку rails + unicorn. Всё это установлено на убунте. Вопрос: есть ли какой-нибудь красивый способ перезапускать это дело после ребута сервака? Или только скрипты типа "service start/stop"?
>>420635 Во первых, я мудак и написал "rails + unicorn" вместо "nginx + unicorn".
Во вторых, >apache+passenger не те же ли это самые яйца? Всё равно же придётся запускать что-нибудь типа "passenger_rails -c config/passenger.rb -E production".
В третьих, хотелось бы всё таки какое-нибудь решение с единорогом. Не хочется поднимать ещё один сервак из-за такой фигни.
>>420836 Ещё один различающий яйца в профиль и анфас. Может расскажешь чем же сисктл-ные скрипты отличаются от service start/restart в ебунте? Не употребляя слов "Леннарт", "бог" и "сосёт".
>>422138 >>422211 А турболинкс как практика вообще хорошие? У меня почему-то сложилось впечатление, что это какой-то тупиковый костыль. Кто ими вообще пользуется?
Аноны, поясните ньюфагу за ангуляро/бекбоно парашу.
Как их использовать? Нужно ли связывать рельсовые модели с их моделями? Если юзать ангуляровские - то есть ли там рилейшны, как в рельсах или нинужно? Нужно ли юзать рельсовые роуты или ангуляро/бекбоновские? Если второе - то как из связать с первыми.
Еще, я так понял, у ангуляра свой сервер (grunt жи), как его с вебриком (хотя бы) подружить? Через какое нибудь прокси или есть нативное решение?
Я так понимаю, общая суть такова: рельсы выплевуют JSON вместо htlm. Этот JSON парсится и рисуется фронтэндом. Правильно? Где почитать самые основы? (Я имею в виду не основы самого бекбона/ангуляра), а про то, как их прикрутить на рельсы.
Привет руби няши, подскажите пожалуйста, я буду писать на рельсах SPA, мне надо чтобы оно обновлялось сразу же после изменений каких-либо действий на всех девайсах, это возможно сделать на рельсах?
Суп, рубаны. Ньюфаг в треде. Хочу подцепить mongodb к рельсе. Погугли немного. Нужно избавиться от АктивРекорд, поставить пару гемов и подправить конфиг и собственно, саму монгу поднять. Вроде бы ничего особенного, но может я что-то упускаю из виду? Какие тут подводные камни?
Анон, привет! Пытаюсь прикрутить к Rails приложению редактирование контента через CKEditor + Paperclip, все в порядке но почему-то соснул с загрузкой изображений размером > 2Mb. При попытке загрузки получаю "думающий браузер" и rollback transaction, в логах: Parameters: {"qqfile"=>"sun.jpg"} Command :: file -b --mime '/tmp/d8ab08e2af16b4922a648314d0181b34be53d58720150113-27774-f6w7mw' Command :: file -b --mime '/tmp/ebd556e6dfc99dbed29675ce1c6c68e520150113-27774-pwhpqq.jpg' User Load (0.5ms) SELECT "users". FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1 (0.3ms) begin transaction Command :: file -b --mime '/tmp/ebd556e6dfc99dbed29675ce1c6c68e520150113-27774-sb8j77.jpg' (0.1ms) rollback transaction Rendered text template (0.0ms) Использую стандартный Webrick в Development окружении Пожалуйста, скажи куда копать
>>425229 Ну не храни реляцию просто пихай в json все свои данные. Как именно предполагается использовать эти нереляционные сущности? Можно живой кейс, а не маркетинговый булщит который я и сам могу почитать на сайте монги?
>>415403 >Ковыряю рубирельсы уже долго, понаписал скриптиков, блогов, имиджборд. Напроходил туториалов, прочитал пару книжек. Господа рубисты, успешные и не очень, можете пояснить мне? Как так может быть? Я типичный хеллоуворлдщик, всегда себя таким считал. Но мне с детства интересна тема программирования, даже в школе хотел быть программистом, лол. Но терпения и усидчивости не хватает. Начинаю изучать что-нибудь, что ВНЕЗАПНО заинтересует, когда настроение появляется (раз в полгода, лол). Дропаю максимум через месяц, алсо в матане никогда силен не был. Но при прочтении этой книжки (Learn to Program) я-таки решил упомянутую аноном задачу, пусть не сразу, но решил. >>415409 >Это от того, что ты Dive into Python не читал Не нужна в этом случае абсолютно. Просто надо подумать, а если не получается, то еще подумать. Так вот вопрос: То, что этот анон привел, как пример того, что он уже делал кажется мне пиздец сложным. Неужели я ошибаюсь, и это проще задачки про римские цифры? Есть ли у меня шансы превратить периодический интерес в постоянное хобби, а возможно и в профессию.
P.S. Книжка Learn to program очень понравилась, руби тоже. Не понимаю, почему кто-то здесь ее обосрал. P.P.S. Изучал C в шараге, упарывался паскалем в школе. Сейчас работаю АСУшником, иногда (очень редко) по работе приходится заниматься байто- и даже бито-ебством (тоже доставляет, но не так, как высокоуровневое).
Rails в локальной сети.Аноним15/01/15 Чтв 14:55:59#541№425307
Так вообще делают, и если да, то как настроить деплой?
1. C чего мне начать, чтобы стать рубистом?
Отличным началом будет Eloquent Ruby или The Well Grounded Rubyist.
Затем читаем Metaprogramming Ruby. На протяжении чтения вы должны писать код, конечно же.
Чтобы не задавать глупых вопросов уровня дибилоида, который не нашёл доки > http://ruby-doc.org/core-2.1.4/
Вопросы уровня
>метод чтобы разбить строку в массив
игнорируются, автора исключают из школы и отправляют в биореактор.
Можно пройти руби онлайн - 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
Для дотошных читателей есть 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, тысячи их.
12. Где можно задать глупые и неочень вопросы?
- здесь
- stackoverflow.com
- в рассылке rails-talk
- оф. форум рубей http://www.ruby-forum.com
13. Как фокнуть\сделать фичу\исправить баг, сложно ли это?
Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
14. В чём писать код?
Vim, Sublime Text 2, TextMate, GNU Emacs. Для особо упоротых энтерпрайз-ребят есть rubymine, плагины к эклипс и нетбинс.
Предыдущие треды:
http://arhivach.org/thread/32141/
http://arhivach.org/thread/35764/