Предыдущий: http://arhivach.org/thread/171220/Принимаются изменения в шапку треда в виде пулл-реквестов:https://github.com/meoweg/2ch-pr-rubyКак показывать код:Быстро - https://pastebin.comС исполнением - https://ideone.comТребуется аккаунт GitHub - https://gist.github.comFAQ:1. C чего мне начать, чтобы стать рубистом?Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.Следующий уровень, продвинутые книги по руби:Confident Ruby by Avdi GrimmPractical Object-Oriented Design in RubyRefactoring Ruby EditionRuby Under a Microscope для любителей залезть под капот.Документация по стандартным библиотекам http://ruby-doc.org/Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0И ещё раз онлайн: http://www.codewars.com/?language=rubyНе веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.comИ вот еще https://rubymonk.com/ - Матц одобряет.2. Какой gem посмотреть, чтобы понять, как писать код?Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.А еще можешь полистать на гитхабе гемы с нарастающей популярностю.https://github.com/trending?l=rubyТам еще нет тысяч строк, и тебе будет легче понять.3. Есть ли GUI для руби?Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).4. Можно ли писать на руби мобильное ПО?Да. Для iOS есть RubyMotion терпимого качества, для Android - лагающий и падающий, но всеми силами развивающийся ruboto. Для WinPhone до сих пор ничего не завезли.5. Как установить разные версии рубей?Легко и просто: https://github.com/sstephenson/rbenvИ это тоже, легко и просто: https://rvm.io6. Что почитать по рельсам?http://guides.rubyonrails.orghttp://ruby.railstutorial.orgAPI: http://api.rubyonrails.orgПрекрасные туториалы в стиле for dummies - http://www.theodinproject.com/ruby-on-rails , а вот тут все тоже, но на русском http://codenamecrud.ru/Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/bookДля дотошных читателей есть The Rails 4 Way.7. Хорошие практики по руби и рельсам?Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes.Почитайте еще Grimm A. - Objects on RailsЕще продвинутое чтиво - http://tutorials.jumpstartlab.com/8. Ruby/Rails блоги, рассылки и твитторыIRC каналы на FreeNode: #ruby, #ruby-core, #RubyOnRails, #rails (не очень активен).Твитторы @rails, @dhh, @yukihiro_matz, @wycats, @tenderloveРассылки ruby-core, rails-core, rails-talkПодкасты:- http://rubyrogues.com- http://ruby5.envylabs.comСкринкасты:- http://railscasts.com- https://peepcode.com- https://www.destroyallsoftware.com- http://railsforzombies.comБлоги:- rubyflow.com - каждый день новости, новые библиотеки, обновления, все дела.- rubysource.com - читаем интервью, хорошие практики, и безумные сравнения упоротого дибила-индуса на самом деле их пропускаем- rubyinside.com - новости, туториалы.- rubyweekly.com- http://37signals.com/svn- http://yehudakatz.com- http://afreshcup.com9. Я не могу в английский, что делать, анон?Идти учить английский, без него тут делать нечего.10. Есть ли у руби русское коммьюнити?Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.Яркий пример - [email protected]А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал.Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ruЕще вот - https://onrails.club/11. Какие гемы стоит знать?capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их.Поиск гемов https://www.ruby-toolbox.com12. Зачем нужны тесты и как их писать?http://rusrails.ru/a-guide-to-testing-rails-applicationshttp://habrahabr.ru/post/163597/Вместо этого можно прочитать классную книгу Everyday Rails Testing13. Где можно задать глупые и не очень вопросы?- здесь- stackoverflow.com- тематические slack-конфы- а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.14. Как фокнуть\сделать фичу\исправить баг, сложно ли это?Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.15. В чём писать код?Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.16. Можно ли писать на руби с под windows?Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac17. Руби язык одного фреймворка?Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене18. Можно ли делать игры на Ruby?Можно, но не нужно. Гем Gosu.19. Ютуб каналыYoutube driven development...Вот тебе пара каналов, но никому не говори что учишься по видео.https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videoshttps://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQhttps://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQhttps://www.youtube.com/channel/UCPIyDzf1vwWc8EQJGUX-vYw - тут на ру$$ком даже.20. Как и где искать работу?Легко и просто - http://rubyjobs.ru/Не так просто - https://upwork.com/Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.TODO лист для ньюфагов:И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidarasНачни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь.Рекомендации:1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object.https://netguru.co/blog/service-objects-in-rails-will-help - о сервисахЕще паттернов - https://robots.thoughtbot.com/back-to-basics-solidНо самый читаемый код, как и следовало ожидать, даёт функциональное программирование. Начни отсюда:http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/http://www.sitepoint.com/functional-programming-pure-functions/http://www.sitepoint.com/functional-programming-ruby-value-objects/Только не переборщи. Руби - не функциональный язык, и иногда такой код может работать медленней.Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.Ну, а мы открываем очередной Ruby Thread.
Освящаю.
>>744753possal na animu debila
>>744753
Освятил.Так то смотрю за тредом и понимаю, что походу в Руби и Рельсы смысла вкатываться нет. Деманд слабенький. Наверное, лучше пхп джаваскрепт макакой стану.
>>744868Да, так и сделай.
>>744868Всё правильно сделал, а ruby можно и для души юзать.
Слышьте, поясните за работу asset pipeline. Он же тупо берет все картинки из load path'ов и отдает их? Допустим, у меня есть куча изображений, специфичных для конкретного пользователя или группы пользователей (аватары, например). Мне эти изображения скармливать пайплайну не нужно? (чтобы не грузить неиспользуемые файлы)
курс udacity ror nanodegree хороший? есть бесплатный месяц от знакомого
Сап, снова нубас и его вопрос. У меня есть 2 независимых контроллера: posts, files. Есть лэйаут application в нем есть бутстрап навбар в котором 2 ссылки(posts,files). Собсна вопрос, как сделать так, что бы в /posts в навбаре у ссылки posts был класс эктив( и аналогично с files)? Неужели придется делать лейауты для обоих контроллеров с разницей лишь в том у какой ссылки класс эктив?
>>744918Пользователь ничего лишнего грузить не будет, assets pipeline просто прекомпилирует всё в папку public/assets. В браузер что-либо загрузится только при первом просмотре данной картинки/стилей/скрипта. Если речь идешь про совсем большое количество картинок, которые еще и могут менеджиться через некую админку, то использовать надо какой-нибудь гем для загрузки файлов, типа paperclip или carrierwave. К Assets Piperline он отношения не имеет.>>744939Это же тривиальная задача. По такому тебе сюда http://google.com и сюда http://stackoverflow.comНапример, http://stackoverflow.com/questions/17481812/dynamically-add-active-class-to-bootstrap-li-in-rails
>>744868Уже несколько лет слышу, что похапе вот-вот нагнется, но что-то никак не загибается. Возможно ты и прав.
>>745125кто это говорит? там столько легаси, моим детям хватит на поговнокодить.
>>745140только вот вопрос желаешь ли ты такого говна как ПХП свои детям ?
>>745143нет, поэтому учу руби. но я не такой даун, чтобы говорить, что пхп завтра умрет.
>>744868https://medium.com/@deathdisco/today-i-accept-that-rails-is-yesterday-s-software-b5af35c9af39#.mbh31odot
>>744868Куда ты тогда предлагаешь вкатываться, если не в руби и не в похапе?
>>745220В кочхель
>>745223Смешно. На деле вижу несколько вариантов. Js (так и так понадобиться), Python (котовасия с ветками), Go.
>>745227>Js (так и так понадобиться), Ок.>Python (котовасия с ветками), Пишешь на третьей и не ебёшь мозг. Двойка мертва. >GoРазве что как задел не будущее. Работы то не завезли.
https://t.co/YoDN9lyUHNниасиляторы, бгг
>>745211> Development felt coolТащем-та вся суть статьи в одной фразе. Хипстору было охуенно ебаться с всратыми рельсами версии так второй до мержа с Merb-ом, а потом когда самые охуительные косяки в дизайне починили, запилили Arel вместо ста нерасширяемых ad-hoc велосипедов, потом год фиксили баги и ими наконец стало можно пользоваться без анальных спазмов, ему стало "ne cool". Это ж теперь бля работу придётся работать, а не анус себе расширять. Пойду искать новый фреймворк, хуле.
>>745450> анус себе расширять
Но вообще всё правильно написал.
>>745453Проиграл.>>745211Годная статься, но по-моему проблема рельсов в другом совсем, я только не знаю в чем.Мне очень нравится руби, гемчики, МВС модель, но мне нужна работа, возможно руби станет просто хобби.
>>745450Подумал примерно так же. Смутила дата написания статьи, слишком далеко уже от времен второй версии.
>>745487>Мне очень нравится руби, гемчики, МВС модель, но мне нужна работа, возможно руби станет просто хобби.Работы жопой жуй. Или это вечный семен решил действовать более аккуратно и начал говорить намёками?
>>745512просто он английский не знает :)
>>745513Так то знаю.И я не семен, а ньюфаг.
>>745450>Development felt coolтам не об этом тащемта вроде бы
Есть две модели: А has_one B.Можно ли в форме для редактирования записи из модели А сделать селект для выбора ассоциации из модели В? Для has_many вот был бы метод b_ids, но для has_one ничего такого не могу найти.
Всем кукареку. Я ньюфаг, не знаю куда вкатываться. Цель - быстрее начать уже что-то делать, быстрее заиметь базис и вкатиться в реальный кодинг. Руби подходит или нуфагом с инглишом уровня "читаю 1 страницы книги 15 минут" нет?
>>745689Нет.
>>745689Руби неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит руби, а потом не знает что делать с ней. Плюс вся инфа на английском, заебёшься переводить. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell. После него другие языки будут учиться за неделю. Работы полно, платят отлично. Много инфы на русском. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>745693Благодарю.
>>745693вот палишь годноту всякому быдлу, ща все хомяки набегут на хаскель и зарплаты упадут, будут джуны меньше 150к получать.
>>745657Тебе сюда: http://stackoverflow.com/questions/5572665/how-do-i-create-the-view-for-the-has-one-associationВажно здесь наличие метода allow_nested_attributes_for в модели А, ибо модифицировать придется поле в B (has_one - ассоциация, при котором внешний ключ находится в аасоциируемой "справа" модели)
>>745693А ничего что на вакансиях хаскелистов смотрят на знание теории алгоритмов и структур данных?
>>74572415 минут в гугле и ты все это знаешь
>>745726Rly?
>>745693так тонко что даже толсто.
>>745693серьезно, вы ему поверили? на хаскеле найти работу проще, чем на руби, ага.
>>745731>14634798532460.jpgА чего там такого непонятно? Я думаю, даже 9-классник осилит основные моменты, если попутно будет изучать основы так называемой дискретки.
>>745864Ну ты писал что за 15 минут можно всё это изучить. Я если что имел ввиду именно эту книгу.Ещё гревне-дреческий алфавит надо выучить и книжку по дискретной алджебре.Да и через 3 года после ВУЗа я уже не могу ничего вспомнить пор матешу.
>>745864Не осилит 9-классник, нужно больше опыта и абстрактное мышление серьезное.
>>745908Двачую, при том книгу писало четыре человека, четыре!
>>745693Монадоблядство и отсутствие теорий групп не нужно.
>>745933Да и теории категорий там нет. В хаскеле нельзя сделать свою собственную категорию. Даже свой собственный функтор (в математическом смысле) нельзя ввести.
https://www.youtube.com/user/RubyScreencastsRu/videosНорм или нет?
>>745936List - это категория, Maybe - это категория, любой кастомный data - категория, все остальные примитивные типы - лежат в Hask категории. Функтор в хаскеле отличается от теоркатного только тем, что он переводит морфизмы и объекты не из произвольной категории в привольную, а только из Hask в произвольную.
>>746142Для ультраньюфага разве что.
>>746168>>745936Вы заставляете меня и остальных находящихся здесь рубистов чувствовать себя неполноценными неучами, которым никогда не суждено оказаться среди хаскелл-элиты. Пожалуйста, перенеситесь в соответствующий тред
>>746179Что-то мне плохо стало от твоего поста. Видимо суждено мне быть пхп макакой.
>>746221Почему? Судя по названиям уроков, просмотрев это всё от начала до конца, ты увидишь приблизительно 100% базовых и чуть более продвинутых вещей, которыми придется заниматься практически при разработке любого приложения. Всё, что выше - частные вещи, уникальные для конкретных задач, туториалы или статьи по которым либо не найти вообще (читай документацию и делай сам), либо их мало. Начать можно с этой пачки видеоуроков (за качество которых ничего сказать не могу, не смотрел)
>>746237Спасибо, бро.
>>746204Хаскель говнохаскель-пидор
Почему RubyMine считается типа перегруженой хунтой, а СублимеТекст для нормальных пацанов?По мне так удобно, быстро и красиво. У меня лицензия как студенту. Чяднт?
>>746413Многие начинают с саблайма, так как качать много гигов ради попробовать покодить - глупо. Ну а потом привычка, вот и остаются. И начинают другим срать в уши, мол я сижу и ты так делай.
>>746413Слишком дохуя сокрыто. Только консоль и vim.
>>746424заебешься настраивать. будет куча свободного времени летом - тогда попробую вкатиться. и то в rubymine есть плагин vim, лол.
>>746424Только emacs. А так да, настраивать долго.
>>746421Так нет же, это вы постоянно срёте своими IDE - ну там жи автокомплит, можно найти этот клас и кнопка рифакторинг еба, сразу как прафсианал))). Это стоит денег, времени и зависонов, о да.
>>746442В рубимайне есть не менее 10 крупных функций, значительно повышающих удобство при разработке, а также десятки вспомогательных плюшек. Ключевые из функций настолько полезны и удобны, что пересаживаясь в простой текстовый редактор, где их нет, чувствуешь себя словно без одной руки. Я могу начать перечислять, если кому-то реально интересно.Мелкие скрипты удобнее делать в атоме каком-нибудь, это да, потому что часто лень проект поднимать в рубимайне, да и незачем это делать, если работы на полчаса.Но что-то хоть немного регулярное или длительное, среднего или более размера делать без рубимайна... очень не комфортно. Я честно пытался в своё время пилить среднего размера проект исключительно в саблайме, обмазался плагинами там... выдержал две недели и дропнул это самоистязание к хуям.По поводу тормозов, зависонов, трудностей настройки и денег - это всё враки и хейтерская антипропаганда. Рубимайн работает очень шустренько, настроить его нужно всего один раз, ну и китайские публичные серверы лицензий никто не отменял пока.
>>746450Давай, перечисли.
>>746454Тебе реально интересно и ты рассматриваешь возможность вкатиться на рубимайн, или тебе нужен просто повод посрать в тред?
>>746454Я не >>746450, но могу за себя сказать, что за визуальный дебаггер можно уже забыть про саблаймы.
>>746455Не думаю, что я на него пересяду(примерно раз в год пробую ставить, трачу минут 10 на настройку и удаляю к хуям), но узнать, что же там такого есть, было бы интересно. Когда-то давно пускал емакс по вене, но у меня от него реально заболел мизинец на левой руке. В 21 год нахуй, я охуел и удалил его навсегда к хуям. Потом года четыре сидел на саблайме, пока прошлой осенью после очередного обновления либ он не развалился нахуй. Можно было откатиться обратно и подождать, но саблайм вонял мертвичиной и надежды на новый билд не было. Перекатился на моднявый атом, в принципе меня бы все устраивало, если бы это говно не падало к хуям примерно два раза в день. В рот ебал такую жизнь, но альтернатив-то нет. Короче везде полное говно и в ебаном 2016 мне нечем редактировать ебаный текст без анальной боли. Пиздос просто.
>>746468Странно слышать об удовлетворении Атомом после саблайма. Этот браузерный сблёв по своей "отзывчивости" - как КПК на Windows Mobile рядом с iPhone в свое время.А что именно ты там настраивал в Rubymine? Я почти не меняю дефолтные настройки, ставлю Darkula тему и вперед + парочку плагинов, которые даже не смогу вспомнить сейчас.
>>746473Двачую, вообще не понял что там "настраивать" надо.А Атом просто пиздец, вот его как раз-таки не осилил, неудобно.
>>746473Я не чувствую принципиальной разницы в отзывчивости. Подсветка и (по-моему самый большой косяк, ибо блокирует весь интерфейс) перенос строк на файлах в 3к+ строк занимаюе 2-3 секунды после открытия, но такие файлы лично я открываю редко и поэтому лично меня это не ебет. Хуже конечно чем у саблайма, лучше чем обвешанный плагинами емакс. Насчет рубимайна не скажу, потому что никогда подолгу им не пользовался, но по-моему там охуительной отзывчивости тоже не чувствуется.> А что именно ты там настраивал в Rubymine?Все, начиная от хоткеев и заканчивая назойливым автокомплитом.
>>746480Попахивает Windows-юзером
>>746481Алсо, что скажете на счет Руби на винде? Старые форумы 2008 годов плевались, что руби на винде это тормознутый провал, но сейчас вроде как все ок?
>>746481Не, хуевый детектор.
>>746484Може и ОК, но разработчику сидеть на винде это ПРОВАЛ.Тебе сделали линукс, запили мак ос (или хакинтош), но нет хочу жрать виндус. Пора переставать быть необучаемым и выбирать нормальные системы, а не прошивки для игр. если надо играться собирай отдельную пекарню с прошивкой или покупай PS4
>>746484Хуй знает, но мой хозяин хочет, чтобы к осени наша с ним гостевуха заработала под спермой на IIS. Выдержит ли это моя жопа не знаю, но думаю на пару охуительных историй хватит.
>>746530Никаких охуительных историй на самом деле, если не будешь использовать особо шизанутые или заброшенные джемы. Из особо шизанутых я встречал только libv8 (в зависимостях therubyracer) и unicorn, которые под винду собираться не умеют. Но ассеты последнее время модно вытаскивать из рельс и собирать через gulp\webpack, так что необходимость в libv8 остаётся только для ОСОБЫХ проектов, которые реально интегрируются с сим замечательным движком js. А unicorn на девелопменте не нужен, а на продакшене вместо него сносно работает thin, если сильно приспичит.Продакшен под виндой - это, конечно, вопрос спорный. Я бы не стал так делать.Ну и зависимости от линуксового софта могут ещё стать непреодолимым препятствием.В обычных проектах под виндой ВСЁ НОРМАЛЬНО. Ну, почти всё. Но обычно работать вполне можно. Все популярные джемы, даже нативные, могут в винду. Для сборки нужно установить ruby-devkit, о существовании которого многие почему-то не подозревают.Руби тормозит раза в 2 по сравнению с линупсом. Не критично на самом деле. Ах да, ещё не дадут обмазаться spring - для запуска тестов приходится использовать spork, а запуски rake терпеть по 5-10 секунд в зависимости от жирноты инициализации вашего environment.Для некоторых проектов я держу рабочее окружение в виртуалочке, а работаю в рубимайне в режиме deployment. Это такая достаточно успешная попытка seamless интеграции IDE с удалённой средой, в которой запускается проект. Работаем как с локальным проектом, но вертится всё под виртуалочкой, мне очень нравится. И даже отладчик работает :3
>>746550> Продакшен под виндой - это, конечно, вопрос спорный. Тащем-та это и нужно, какие-то клиенты-ретрограды не доверяют интернетам и хотят держать гостевуху у себя в локалке. И шоб обязательно под видной и IIS, развернуть докер это бля сложно и непонятно.
>>746576Можно ещё попробовать клиенту предложить миниатюрную виртуалку под майкрософтовским гипервизором или вибоксом.
iis на самом деле очень быстрый сервер, относительно традиционных серверов на прыщах, проблема именно в некоторых гемах, которые хуй прикрутишь.
>>746576Твой заказчик ебнутый пидорашка, а не ретроград
>>746648>пидорашка из КалифорнииНу ок.
Java лучше ,а вонючий Ruby дерьмо на моих программных сапогах
>>746696Языки для разных целей, мася.
>>746611Больше доверяй «Get the facts».
Поковырял немного рубимайн, его пока настроишь весь день уйдет, уродский он по дефолту, все эти полосочки, переносы, подсветки, уебищные цветовые схеми и тд, аж писать противно в нем, плюс куча визуальной хуйни, а я консольный пердолик, вот почему в атоме все так красиво и легко? И платиновый вопрос, стоит ли тратить весь день что-бы таки настроить рубимайн? Мне по большему счету нужна только визуальная часть как в атоме, шрифты, цвета етц.мимо эстет
>>746904http://color-themes.com/?view=indexНастраивать у него целый день, блять.Визуальная часть настраиватся за три минуты.
>>746904в спеллинге убери галочки чтобы убрать всякие ебаные линии.
>>746550ну йобанныйврот, для вас же сделали вагрант, в 2 клика из коробки всё работает, а потом начинают срать вопросами как блядь им никсы настроить, потому что привыкли дабл клик на десктопе.
>>746904гемы установи епт, и дождись пока рубимайн их подхватит.
>>746904самая ахуенная monokai тема же.
>>746960darkula же
>>746999>>746960Кекнул с вас.мимо элита с Lady Nightв рубимайне такое же, прост леньки включать, а джавахуета уже
Кто-нибудь уже пробовал Нanami? Очередное говно или няша?https://github.com/hanamihttp://hanamirb.org/
>>747030Бывший Lotus, уже не первый год существует. Не пробовал
>>747045Я тоже заметил его еще когда он был лотусом, но так и не попробовал
>>747030Жизнь есть только в рельсах. Остальное - кривые проделки хипстеров.
>>747030Я как-то хотел по работе запилить на этой хуйне небольшой микросервис. Дочитал до Entity/Repository, охуел сколько говна мне надо будет из себя выдавить, чтобы замапать несколько таблиц на сраные модели, и расчехлил рельсы.
>>747064>>747052Тоже считаю, что если сейчас что-то принципиально новое осваивать, то лучше выбирать что-то, что сейчас традиционно считается "высоконагруженным". Какое-нибудь джаваскриптообразное говнецо, или хотя бы Phoenix (который по большей части - копия рельс, но, вроде как, за счет того, что написан на Elixir, охуенно многопоточно)
>>747030По мне – очень даже няша.Проблема в том, что на самом деле пока что кроме рельсов ничего не нужно. Остальные фреймворки это в принципе чисто для фана.>>747064Так то там почти на главной странице предупреждают, что переход на Ханами может быть болезненным для рельсовиков.
>>747098нахуй этот элексир, когда может подтянут rust-bridge(helix), к тому же https://habrahabr.ru/post/300954/ отлично, сам думаю что может нахуй я решил делать приложение на express, когда тут всё кошерно.
>>747143>может подтянутА эликсир уже работает. Че хотел сказать этой статьей? Вообще ничего нового оттуда не узнал, еще и ангуляр используют в 2016..
>>747143>нахуй этот элексир, когда может подтянут rust-bridge(helix)И чем это лучше?
>>747183А че еще в 2016 году использовать? инб4 ты мне щас предложишь обмазаться ублюдочным высером от пыхомак с фейсбука, которым в приступе белой горячки пришла охуительная идея не только на серверсайде использовать шаблонизатор вместо языка программирования, но и на клиенте точно так же блевать разметкой внутри кода.
>>747421Я не буду тебе ничего объяснять. Считай слился.
Котаны, а можете подкинуть информации как на рельсах делать масштабируемые приложения, типа чтобы добавлять сервера по надобности и всё такое.
>>747477как обычно nginx
>>747501Ну, я знаю что там nginx как-то используется, но как в руби-коде это выражается?
>>746957от вагранта у меня COLLECTING FILES
>>747502никак, он статику отдает, всякие ассеты, картинки, ну и запросы через него в рельсовый сервер.
Начал делать формы с помощью http://dry-rb.org/gems/dry-types/ вместо virtus и activemodel. боже, какая годнота.
>>746999>>746960>>747008Обосрался с вас всех. Что может быть лучше кастомной темки, созданной под себя?
>>747585Ты позволишь рубимайну обнаружить и установить новые источники данных?
>>747600почему то жидко бзднул.
>>747600Сука заорал почему-то.>>747585Довольно годно, но цвета надо чуть-чуть подкоректировать для няшности. Красный я бы чуть-чуть осветлил.
>>747582Хуярю формы с помощью чистеньких AR-моделей без бизнес-логики, как в учебнике от dhh написано. А всю логику вывел в insert/update/delete rules, хранимки и вьюшки. Боже, какое job security.
>>747664Это все равно до тех пор, пока не попалась сложная форма, создающая больше одной модели.
анонасы, поделитесь settings file для рубимайна, заебало его конфигурировать.
>>747659>Красный я бы чуть-чуть осветлилЯ тоже так думаю, но было лень. Вот прям ща и займусь этим.
>>747667А что конкретно тебе нужно в настройках?
>>747600Проигрыш.
>>747585Похапешник хуев
>>747585Серьезно, что за говно на скрине?
>>747827 >>747831В руби результат последнего выражения в теле функции будет возвращён в качестве результата. Чувак собирает данные и генерирует какой-то HTML-блок вёрстки.
>>747832Блин наверное я неправильно понял вопрос, на картинке рубимайн уже задолбал этими своими:«Псс, пссс, чувак-чувак давай я найду тебе дополнительные источники данных. Хочешь апдейты тебе подгоню!? МНЕ СКУЧНО»
>>747832дело в том что это какой-то ебучий говнокод. content_tag?
>>747877> 2016> использовать content_tag
>>747882content_tag, как и все остальные _tag, вынесли в отдельный гем, так как многим сейчас от рельс нужна только генерация json. Если ты генерируешь HTML, какие проблемы подключить гем и юзать content_tag? Или у тебя есть варианты поудобнее?
>>747889> генерировать HTML
>>747889> подключать гемы
>>747889> варианты поудобнее
Как же хочется на работку, аж ломит.
>>747877Двачую, лень было даже объяснять ему.
>>747899>>747898>>747897Кажется, ты хотел в /b
>>747973Но разве здесь не филиал б с примесью руби?Алсо мой друг, который тоже учится на потоке, на руби говорил РАБИ пока я ему не сказал как правильно.
Собственные кастомные цветовые схемы лучше всего.
>>747980Но РАБИ кокрастыке правильно.
>>748001Проверочные слова: раб, работа, ребе (раби).
>>7479918 из 10Теперь это цветовых схем тред!
Ничего особенного, скучаю по саблайму.
>>748016от шрифта глаза не болят? пиздец же
>>748021Да вроде привык. Посоветуй может какой.
>>748022Source Code Pro
>>747585за хтмл вне вьюхи нужно рюки отрывать
>>748083Как ты относишься к React?
>>748086очень положительно
>>747098>Тоже считаю, что если сейчас что-то принципиально новое осваивать, то лучше выбирать что-то, что сейчас традиционно считается "высоконагруженным">хотя бы Phoenix (который по большей части - копия рельс, но, вроде как, за счет того, что написан на Elixir, охуенно многопоточно)Или перестать ебать мозги и взять JRuby, который в продакшене давнее ноды.
>>748099Руки на стол и в зубы палку. А то еще язык откусишь.
>>748083>за хтмл вне вьюхи нужно рюки отрыватьВ хелпере можно. Впрочем, это именно то, что мне не нравится в рельсах по-умолчанию - мешанина самого разного кода в хелперах. Есть какие-то современные шаблоны проектирования на замену хелперам? Потихоньку переходу на view models (decorators), но там получается тот же html, размазанный по файлам.
>>747980что за поток?
>>748112ты опять делаешь все не так.там не должно быть html, а вспомогательные методы. а потом уже во вьюхеh2= header
>>748142Поток студентов специальности компьютерная инженерия.
>>748086vuejs намного лучше распиаренного реакта.
>>748373Пояснишь чем?
http://take.ms/ucN83 кому там работы не хватало?
>>748567>Москва, москва, москва...Ясно.
>>746468>Когда-то давно пускал емакс по вене, но у меня от него реально заболел мизинец на левой руке. В 21 год нахуй, я охуел и удалил его навсегда к хуямРадикальненько ты с мизинцем обошелся.
>>748605Нехуй жить в мухосрани. Россия - это ДС и Питер.
>>748652Россия это Украина
>>748648Чувак не знал что через мизинец надо вим пускать.
>>748652>2016>иметь интернет>жить в оверпрайснутой деревне среди чурок
>>748605Удаленку и фриланс видимо не придумали. И не надо начинать, что на удаленку джуниоров не берут, ни дня в офисе разработчиком не проработал. С самого начала на удаленке.
>>749172> потому что ко-ко-ко работы на руби нету.
>>749172>Проецирует свой опыт на всехМань плс...
>>747585Поделись темой, брат братан братишка. позязя
Признавайтесь, суки, кто так пишет.https://habrahabr.ru/company/latera/blog/301338/
>>749661Только поехавшие идиоты, которые недавно прикатились в руби из джавы и пхп.
>>749661ААЕЕЕЕ ВНЕДРЕНИЕ ЗАВИСИМОСТИ КОНТЕЙНЕРЫ ПАТТЕРН КОМАНДА ИНВЕРСИЯ УПРАВЛЕНИЯ АУТОИНЖЕКШН МММММ ПАТТЕРННЫ НАКАНЕЦТА ЕЕЕЕ
>>749661Даже не знаю, что на это сказать. Мой начальник, обмазавшись es6, зачем-то тоже запилил импорты в руби, хотя пока меня они не коснулись. Кому они упрощают жизнь - честно, так и не понял. Просто импортишь всё как дурак постоянно, будто если захочешь узнать откуда берётся та или иная хрень - без импортов не сможешь. Не сможет в это только полный нубас.
>>749681Чем плох DI?
Я например, юзаю DI, чтобы в тестах передавать фейковые обьекты сервисам/менять их на лету (+100500 к скорости спеков), благо интерфейс одинаковый.
>>749797Бог дал им динамичность в руби, а они, дебилы, топором шурупы вкручивают.Пиздец блядь. Добавлю в вопросы на собеседовании: "как подменять классы при тестировании" и всё релевантное.
>>749797Ебал тебя в ротан, сука.>>749776И твоего начальника.
>>747585привет html injection
>>749820ну давай, предлагай свое решение.
И да, блять, попробуй передать какой-нибудь фейковый обьект, когда тестируешь модель в активрекорде. жииидко обосрешься в базу данных
>>749820А как надо в руби, что именно в этом плане дает динамичность? Я с Java просто, там DI везде используется.
>>749943называется синдром dhh - люди боятся всего, связанного с java, даже если это good parts.
>>749797Например, в rspec можно стабить и мокать методы как отдельных экземпляров, так и классов, можно переопределять константы (а классы - тоже константы). Потому что руби почти полностью динамичен и позволяет делать такие трюки в рантайме.https://relishapp.com/rspec/rspec-mocks/v/3-4/docs Оглавление слева - читайте все пункты.Применимость DI - это только ко-ко-ко-конфигурабельность классов-сервисов и подмена классов в тестах. Но это говно нужно только в джавке и пхп, где классы прибиты гвоздями.Т. е. когда вы, петухи, притаскиваете DI в руби, знайте, что оправдываете полезность этого лишь исходя из привычного вам порядка вещей и из религиозных убеждений. Либо от неопытности.
Я придумал!!!11 Давайте в раби сделаем статическую типизацию и... и... и интерфейсы добавим!!!!!11 И аннотации, хуле мы без аннотаций как негры, а????77
>>749948В джаве нет good parts кроме богатой библиотеки компонентов и огромного legacy (ну, наличие работы тоже сорт оф good part). Сам язык - убогое говнище, сишарп и то повеселее будет. Я бы ещё понял, если бы ты упомянул scala или groovy, но джава...
>>749954> Давайте в рабиЧе хотел?
>>749172Ну, все те разы, что я откликался на вакансии 4 переписка заканчивалась после того, что я сообщал о своей ньюфажности и отсутствии коммерческого опыта. При том, что имею опыт в других языках, который честно написал Так что и правда, не нужно проецировать. Я вообще не ебу, как можно найти удалённую работу, будучи без опыта. Ну а про невозможность набежать в ДС я вообще молчу.
>>749797Все верно, так же делаю, но это не тот DI, который выносит мозг в руби.>>749951Энжой ё каплинг. Программирование на уровне интерфейсов никак не зависит от конкретной реализации ООП. В руби интерфейсы не завезли вот, но код все равно их подразумевает.Непонел-начальника
>>750017Приведи примеры из жизни, где IoC тебе реально помог в рельсопроекте. Вне контекста тестов.
>>750013> я сообщал о своей ньюфажности и отсутствии коммерческого опыта. Ты совсем ебло что ли? а) Тебя не спрашивают про опыт. Ты молчи сука.б) Спрашивают, но не очень настойчиво. Ты гостевуху по книжке dhh делал? Делал. Ну так спиздани, что насосал джуниором год-два.в) До тебя реально доебываются, чем ты занимался. Или ссылки на гитхаб требуют. Ну тогда хуй знает, можешь попробовать напиздеть что-нибудь или в конце концов слиться. С гитхабом кстати смело нахуй посылай, либо у тебя квалификации не хватит, либо(скорее всего) работодатель - охуевшее мудило, которое за $20 в час хочет раба c топ-100 http://contributors.rubyonrails.orgИ вообще сразу же переводи разговор со своей сукаличности(поверь, всем нормальным людям на тебя глубоко похуй, ты кто такой вообще для рандомного дядьки из интернетов?) на то, что что ты полезного можешь сделать. Задавай больше вопросов про проект куда тебя берут, быстро прикидывай возможные решения, можешь припиздеть что ты такое уже делал. Учись продавать свою жопу, сука, и подороже.И это, не перегибай палку, когда пиздишь.
>>750024Ну вот смотри, одно из последних писем Переведу на русский сразу : - Вы работаете сейчас? Какой у вас в данный момент уровень занятости? - Работе в сити_нейм на полный день. Вы можете позволить себе работать полный день? - Где вы работали ранее? Укажите список фирм Блядь, я в CV всё написал, хуле так сложно посмотреть? - Проекты, в которых вы участвовали и ваша роль в них. - Какие финансовые ожидания? Ну вот как думаешь, что ответить, чтобы он не слился, как это случилось со мной?
>>750019Например, пополнение баланса пользователя. Способов оплаты может быть сколько угодно, но сам сервис пополнения не должен от них зависеть, поэтому он просто подразумевает общий интерфейс этих сервисов, которые могут быть переданы ему в конструктор. А как б бы ты это сделал без IoC? И как потом было бы с переиспользуемостью и гибкостью таких связанных конструкций?
>>750155Он хочет патчить в рантайме, лол.
>>750155strategy pattern напоминаетмимокрок
>>750155IoC не нужен для решения этой проблемы. Фасад + адаптеры + стратегии, чтобы уменьшить связность. Мы не переключаем систему оплаты каждый день, так что изменение пройдёт в рамках планового апдейта.И подобных примеров - единицы. И обычно всё касается какого-то внешнего сервиса, который может ко-ко-ко-поменяться ВНЕЗАПНО блядь.Давай, ну покажи же мне. Какой профит ВСЁ ГОВНО ДО КУДА ДОТЯНЕМСЯ укладывать в IoC контейнер? В рельсопроектах, где вообще строгая ООП-архитектура не практикуется в целом?
>>750270>стратегииНичего, что стратегия реализуется с помощью IoC?>Мы не переключаем систему оплаты каждый день, так что изменение пройдёт в рамках планового апдейта.Никто не может этого знать в общем случае.Я тебе привёл пример, ты начал маняврировать про ВСЁ ГОВНО ДО КУДА ДОТЯНЕМСЯ. Понятно.
>>750273Мы тут говорили, вроде, про повсеместное внедрение IoC + DI в рельсопроектах. Я спросил пример и ожидал увидеть что-то, что откроет мне глаза и подтвердит всю разумность и философию того подхода. А в ответ вижу типичное кукареканье про внезапную гибкую замену одного из центральных компонентов системы.
>>750270В рельсопроектах она не проектируется потому, что dhh и rails core team долбоебы которые плевали на заветы ооп.Видели ActiveRecord::Supress в 5 рельсах? это как открывать окно, когда у тебя газ утекает.
>>750278а кто говорил про повсеместное? только там, где нужно.
>>750281Но ведь строгое ооп нинужно. На рельсах писать охуенно. На аналогичном джаваговне - муки адские. Почему же так? Говорю про крупные проекты.
>>750283да нахуй строгое, хотя бы минимальное. а в рельсах все вокруг эктиврекорда строится.посмотри на крупный проект - gitlab - там в коде ебаная мешанина потому что rails way. никто не говорит про то, что нужно быть architecture astronauts, но блять, не такой же говнокод проповедовать. кэлбак на кэлбаке и method_mssing подгоняет.
>>750278Про повсеместное было написано в статье, алё. Мы здесь говорили про использование элементарного DI в сервисных объектах для упрощения жизни, а некоторые почему-то начали гореть и визжать что в руби оно нинужно, мы всё застабим, потому что можем.
А как насчёт того, что при стаббинге тесты начинают знать о внутренностях тестируемого? Их рефакторинг неизбежно повлечёт за собой падение тестов. Если же снаружи передавать зависимость, то никому не будет дела, что именно произойдёт внутри "чёрного ящика". Так что вот вам ещё один камень в огород.
>>750278ты передергиваешь.
>>750314хорошее замечание. одно дело передать зависимости в конструктор, другое дело ебаться с мокингом и стабами.
>>750270>рельсопроектах>строгая ООП-архитектура kek
>>750281> Видели ActiveRecord::Supress в 5 рельсах?Тебя это ебет что ли? Не хочешь - не пользуйся.
>>750352это как говорить, "да похуй, что у нас воруют, У МЕНЯ ТО НИКТО НЕ ВОРОВАЛ".Вместо того, чтобы начать признавать свои ошибки, они блять обмазались говном, и примотали костыль синей изолентой. ну а хуле, работает же! удачного дебаггинга, блять
>>750430Ну это рельсы, и это dhh, хули ты хотел? Не нравится ActiveRecord - пользуйся альтернативами. Я уже заебался пиарить тут http://rom-rb.org/
>>750969Ром говно ебаное. Тысячи строк бойлерплейт-кода каждый раз, каждый сука раз.
>>750975Тогда что на счёт Sequel?
>>750978Мой пресловутый начальник как раз его выбрал вместо рома. Попробуй.
>>750978Sequel годнота, но не взлетает, потому что нет поддержки.
>>750984Он вроде достаточно популярен
>>750430> начать признавать свои ошибкиКакие ошибки-то блять? Это AR, хули ты хочешь? Можешь оборачивать всё сервисными объектами, а можешь как DHH говно по своей груди сапрессом растереть и широко улыбнуться. Хули тебе не нравится-то, пидор?
>>751120ты ведь только что сам объяснил, что людям не нравится в эктиврекорде, даун.
>>751325http://www.martinfowler.com/eaaCatalog/activeRecord.html> An object carries both data and behavior. Much of this data is persistent and needs to be stored in a database. Active Record uses the most obvious approach, putting data access logic in the domain object. This way all people know how to read and write their data to and from the database.Что хотел-то, ептабля?
>>751120Вот я другой пидор, а дхх хуйню сморозил какую-то. Зачем запиливать во фреймворк общего назначения костыль под конкретный юзкейс (ещё и основанный на плохой практике использования коллбэков) - мне тоже непонятно. Не хотел бы я в подобном потом копаться. А активрекорд как паттерн здесь вообще не причем.
Нужно добавить на сайт json api для мобилок.Склоняюсь к ActiveModelSerializers, что думаете?
DHH просто нежный диктаторhttps://github.com/rails/rails/issues/18847> You're a year late to the discussion and you didn't bring any new arguments to the party. Feel free to write your own code without callbacks, but this chef's knife is staying in the drawer. :-1: 32 :+1: 5 :thinking_face: 5
Траллю вас всех в ротан.
Ой бля, тред перепутал.
>>751708Глядя на тенденции треда, могу предположить, что сейчас сюда набежит какой-нибудь непризнанный гуру программирования и насоветует тебе какую-нибудь малоизвестную неюзабельную хуйню. А нормальные люди сейчас используют ActiveModelSerializers, а с выходом Rails 5 их станет еще больше, ибо AMS будет включен в Core
>>752306Всегда лучше использовать стоковый функционал. Из соображений поддерживаемости и заменяемости специалистов.Например, мне очень жаль, что в рельсах нет из коробки вменяемого фреймворка для аутентификации и авторизации.
>>752307Согласен, но мои познанания показывают, что этого фреймворка нет как правило, а если есть, то заебешься городить костыли, чтобы заточить под свои нужды.
>>751635> фреймворк общего назначенияСовсем ебанулся? Рельсы - это фреймворк, на котором DHH пишет себе бейскемп. С каких это пор DHH стало ебать мнение плебеев или рельсы вдруг стали "общего назначения"?
>>752306> ActiveModelSerializersНормальные люди ебашат вьюхи на jbuilder-е, а не сериализуют себе анус какой-то малоизвестной неюзабельной хуйней.
>>752362Ахахахахха, хорош
Как застабить rand? Kernel.stub(:rand).and_return(3) иallow(Kernel).to receive(:rand).and_return(3) не работаютrspec 3.4
>>752498Он вызывается не как метод Kernel, а как метод текущего объекта (Kernel включен во все), соответственно, стабить нужно на вызывающем объекте.Вообще, используй Random.rand (я до твоего сообщения даже не знал, что он в Kernel ещё есть).
>>752500>Он вызывается не как метод Kernel, а как метод текущего объекта (Kernel включен во все), соответственно, стабить нужно на вызывающем объекте.Хотя наверное я туплю и стаб на Kernel тоже должен работать, потому что он просто включается в цепь наследования. Но тогда непонятно, почему у тебя не работает.
>>752500Спасибо. >Он вызывается не как метод Kernel, а как метод текущего объекта (Kernel включен во все), соответственно, стабить нужно на вызывающем объекте.Это работает так для всех методов Kernel? Где можно подробнее почитать об этом?
>>752502Я немного запутался в начале, но теперь понял, что как раз Kernel.rand - метод класса. По идее твой способ должен работать. Сейчас потестирую немного, мб найду решение
>>752505>Это работает так для всех методов Kernel? Где можно подробнее почитать об этом?Я выше скинул скрин
>>752498>allow(Kernel).to receive(:rand).and_return(3) У меня это работает
>>752498Всё, я понял. Пиши>allow_any_instance_of(Kernel).to receive(:rand)
>>752514>>752524Я почти то же самое делал, только в старом синтаксисе. То есть Kernel.any_instance.stub(:rand).and_return(3)Не работало. В итоге решил стабить Random
>>744747 (OP)https://habrahabr.ru/post/301532/рельсы всё
>>752538на HN уже третья статья про "rails пока"
>>752498>>752502А вот и стабопроблемы подвезли. DI для жабопетухов я скозал!!!1
>>752538Довольно годная статья. В основном там бугурт на ActiveRecord, с чем я не совсем согласен, посколько сам пока не перешёл ни на ROM, ни на Sequel хотя бы - меня AR устраивает. Но круто то, что автор обозначил, какие именно прблемы решаются в альтернативных решениях и прорекрамировал Hanami :3
Антуасы, начал учить Ruby, получил довольно хорошую подготовку, но потом дропнул в сторону JS и AngularJS. Теперь постоянно с грустной мордой смотрю в сторону Rails. Но Ruby уже прилично позабылась, и много нужно будет вспоминать.Стоит возвращаться? По фану почитывать Рельсы, за которые я так и не успел взяться? Или крики мамкиных икспертов что им скоро конец правда, и лучше уже браться за NodeJS и покорять MEAN Stack?Прошу прочувствовать всю скорбь моей души, и дать дельного совета.
>>753282Че спросить-то хотел?>Стоит возвращаться? По фану почитывать Рельсы, за которые я так и не успел взяться?Работа есть. Развитие активное.
Пацаны, а где третья руби и пятые рельсы? Уже даже разработчики не спешат воскрешать этот трупешник.
>>753496А где ES2016 и 2017, почему стандарт только до 2015 дошёл? Уже даже разработчики не спешат воскрешать этот трупешник.
Есть ли что-нибудь, чтобы проверить вхождение любого элемента (большого) массива в строку, чтобы без интерации и регэкспов?
>>753624arr.any? { |substr| str.include?(substr) }
>>753685Ну any? но все равно через each работает, я думал может есть что-то побыстрее.
>>753838Зачем джаваешь наш тред?
>>753715Нет, не через each. Я ожидал обратно результата. http://twohlix.com/2014/11/ruby-arrayeach-vs-enumerableany/
>>753882Чтобы доказать превосходство JAVA над высранном узкоглазыми недо-ЯП. JAVA JAVA JAVA
>>754011Тебе удалось.
>>753975Хуясе, спасибо за ссылку.
>>754093У меня такое чувство, что ты неправильно понял инфу по той ссылке. Вариант в any выполняется дольше, чем с each. Но это было в 2014 году, с тех пор многое могло измениться. Советую тебе заюзать те бенчмарки и посмотреть, может быть стало быстрее.
>>753624Возможно, тебе поможет trie. И прочие сорта подобного говна.https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE
О-па. https://github.com/tyler/trieТ. е. из всех подстрок твоей строки можно построить trie, а потом через него быстренько проверять, есть ли нужная подстрока или нет. Вон, у него там скорость поиска 2 млн в секунду.
И, думаю, можно загнаться и построить два trie: одно из всех элементов массива, вхождение любого из которых нужно обнаружить, а второе из построк целевой строки. А потом рекурсивно СРАВНИТЬ ДВА ДЕРЕВА, и если есть общий путь от корня, значит вхождение есть! Базарю, быстро работать будет.
>>754103Да, ты прав, у меня показало как раз наоборот.>>754115Попробую разобраться в этом, спасибо (в который раз).
>>754147http://www.rubyinside.com/how-to-create-a-ruby-extension-in-c-in-under-5-minutes-100.htmlИнтересно, насколько быстрее будет, если ты эту логику напишешь на с?
можно же на более адекватном расте. благо биндинги типа helix завезли
Так какую библиотеку для JSON API юзать?
>>754820https://github.com/ruby-grape/grape
Мне Казалось что грейп стал нинужен с приходом rails5, active model serializers и jsonapi resources
>>754844
>>754967ой, да иди в баню со своими мемасами. я серьезно
>>754986Нет ты иди в баню. Мелкобуквенный еблан. Либо ты тот единственный придурок, что постит здесь все отмороженные мелкобуквенные посты, либо теория о том, что мелкобуквенность - признак слабоумия, только что ещё раз подтвердилась.
>>754991тЫ чЕгО тАкАя ЗлЮка
>>754820Контроллеры хуяришь вручную.JSON выгружаешь вьюхами на jbuilder-е.Документацию пердолишь тоже вручную как хочешь, лично я со своими пацанами сру доками на http://www.mkdocs.orgКороче как нормальный пацан ебешь в рот систему и педерастов с http://jsonapi.org и подобной хуйней.
Есть две связанные модели. Во вьюшке может быть динамически создано сколько-то там связанных с моделью других моделей. Связи настроены.Теперь вопрос. Как мне рендерить вьюшку чтобы пользователь, нажимая кнопку, мог генерировать форму для заполнения новых, связанных с основной моделей?т.е. нужно вставлять шаблон в уже отрендеренную страничку по клику на кнопку. Наверное, нужно без создания новых экшенов, но хз как канонично.
>>755285Съешь вот этого говна https://github.com/nathanvda/cocoon и выпей чаю.
>>755311Пасибк
>>744747 (OP)Оп, поясни по-хардкору за Chef, Puppet. Что за штуки такие и для чего?
>>755049jbuilder медленный, и dsl хуевое
>>755527Ну да, медленный и DSL немного фекалиями попахивает. Но блять разве есть альтернативы, чтобы по-человечески выгружать JSON с вложенными структурами и полями в зависимости от авторизации?
>>755560active model serializersjbuilder высер dhh
>>755575[code]json.extract! @petuh, :id, :updated_at, :closed_atif policy(Dildo).show? json.dildos petuh.dildos, partial: 'api/v3/dildos/dildo', as: :dildoend[/code]Сколько говна мне придется из себя выдавить, чтобы сделать то же самое без высера dhh?
>>755506Bump.
>>755590Открой для себя json.(...)
>>755601> поешь говна с def method_missing(yoba); ebaltvoyumat(yoba); endНе, спс.
>>755611Что ты несёшь?
>>755590что за хуйня код?
>>755506В каких случаях нужно это говно?
Напоминаю, что рельсопетухи сосут у синатрабогов.
>>755901Синатрапетухи вместе с рельсопетухами отправляются под шконарь, где на них ссут ханамибоги.
>>755911его в продакшене уже юзают?
>>755915Нет, а зачем? Еще говно какое-нибудь получится, с дивана гораздо надежней кукарекать.
>>755925
>>755925Тебя твоя мамка когда спрашивает который час, ты тоже отвечаешь как пидор?
https://wiki.theory.org/YourLanguageSucks
BasecampBloombergCruncbaseGitHubGrouponHerokuHuluImgurMedhelpScribdShopifySlideshareSoundCloudTwitterTwitchZendeskЕщё?
>>744747 (OP)>capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatraОписали бы для чего каждый.
>>755973> как пидор> In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of sexual identity and orientation.Проблемы, гомофоб?http://rubyonrails.org/conduct/
>>755992Твич и soundcloud разве на рельсах?
>>756073Твитч хуй знает, саундклауд частично.
>>755992>TwitterИ сразу обоссан. Твиттер давно уже переписал всё на скалу, покрыв хуями раби за тормознутость и ущербный дизайн. http://readwrite.com/2011/07/06/twitter-java-scala/Тут если покопать, окажется, что минимум половина списка давно уже перешла на другие технологии.
>>756110Делать стартапы на "других технологиях" дорого и в целом нинужно, ведь взлетает один из тысячи.pusher ещё, например, на руби был. У них там eventmachine и в целом всё работало стабильно и с охуенной производительностью. Но потом у них появились клиенты, "онлайн" стал миллионы. И они неторопливо переписали ядро на го, потому что вопрос экономии серверов стал действительно насущным. Алсо, выигрыш там был что-то типа 4х по пропускной способности, т. е. это не так уж и существенно, ну серьёзно блджад, лучше начинать делать проекты на нормальных фреймворках и красивым кодом, а пердолиться в сракотан и угорать по экономии байтов нужно начинать, если проект стал успешен.Другая история - реальные нагрузочные требования от заказчика. Часто бывает в системах, связанных с бизнесом и автоматизацией. Но эту хуйню на руби никто и не делает.
>>755992Ну и у гитхаба емнип только рендеринг хтмл на рельсах остался
>>755996пидор = мудак, а не гей.пидоры это ты и твой батя, а иэн маккелен гей, не надо увиливать.
>>756189"Пидор" - это оскорбление, негативно оценивающее тот факт, что я ебусь в жопу. То есть называя меня пидором ты подразумеваешь не только то, что я ебусь в жопу(тогда бы ты назвал меня нейральным словом "гей"), но и то, что долбиться в сракотан - это что-то плохое. А это уже предъява к Иэну Маккелейну и Алану Тьюрингу. Так что назвав меня пидором ты на самом деле поставил меня в один ряд с этими великими людьми, подняв мою самооценку. Да, я еще тот пидор и горжусь этим.
>>756110>Тут если покопать, окажется, что минимум половина списка давно уже перешла на другие технологии.Я не отрицаю, анон.
>>756121> а пердолиться в сракотан и угорать по экономии байтов нужно начинать, если проект стал успешен.Этот в чем-то прав, кстати.
аноны, объясните про двоеточие, что это показывает?вот есть хэшb = {:one =>1, :two => 2}Захуй это?Что бы означало без этих двоеточий?b = {one =>1, two=>2}Какие тут проблемы? one и two могут быть объектами?Еще поясните пожалуйста, что это за хуйня в циклах с ||, смысл понимаю, но нужно четкое определение. Спасибо, хули.
>пердолиться в сракотан и угорать по экономии байтов нужно начинать, если проект стал успешен.Или если ты нищееб, который хочет сэкономить на серверах.
>>756203не увиливай, пидор.
>>756287Во втором случае получится хеш с ключами из значений этих переменных.2.3.1 :001 > hui = :pizda; { hui => :pizda }=> {:pizda=>:pizda}Про || не понял.
>>756287> Еще поясните пожалуйста, что это за хуйня в циклах с ||, смысл понимаю, но нужно четкое определение. Спасибо, хули.пример скинь? и вообще циклы в руби редко используются, вот итераторы - да, повсеместно.
>>756367ну да, в итераторах1.upto(9) {|x| print x}я так понимаю, |x| - переменная поступающая в блок снаружи? Как это все называется
>>756334не понял, что ты написал, но все понял, что ты мне рассказал, т.е. когда пишем :asdf, это означает, что asdf это не переменная, определенная где-то выше, а символьный ключ, так?
>>756371Скачай книгу по руби уже...
>>755506>Оп, поясни по-хардкору за Chef, Puppet. Что за штуки такие и для чего?ОП в треде. Chef, Puppet - системы управления конфигурациями серверов. Для небольших проектов тебе хватит Capistrano, но когда серверов тысячи (или хотя бы больше нескольки), Capistrano соснёт, и ты вместе с ним. Из аналогичных проектов моогу назвать ещё Ansible и Salt, обе на питоне. Про Ansible ничего сказать не могу, а вот Salt позиционируется как убийца всех систем конфигураций, потому что он дохрена декларативный и распределённый. Тем не менее, на практике рулят Chef и Puppet. У меня друг работает в Badoo, у них тысячи серверов, вовсю используется Puppet.А вообще, советую взглянуть на Docker. Его сложновато освоить (сложнее Capistrano), но оно того стоит. Я вот приложение заказчика перевожу на него. Это совсем другой инструмент, используется зачастую вместе с названными, но может выполнять многие из задач того же Capistrano намного эффективней.
>>756380Посоны говорят ансибл норм, про salt даже не слышал. Олсо докер с дивана кажется лишним геморроем, вместе с вагрантом.
>>756380Но ведь Docker не относится к сonfiguration management tools, как Chef и Puppet.Docker и Vargant – это инструменты виртуализации, насколько я знаю.
>>756393vargant – поднимает полноценную виртуалку (обычно путем virtualbox) c дев-окружением. Есть синхронизация директории на диске и директории в виртуалке. Можно в винде поднять виртуалку с линуксом.docker – контейнерная виртуализация. Все контейнеры используют одно и то же ядро (хостовой системы). Сможешь в линуксе поднять 10-20 виртуалок с линуксом, при этом будет потребляться меньше ресурсов.
Руби-аноны, вы используете Bundler?http://bundler.io/
>>756397Не. Хуита для ебланов.
>>756397
>>756397в продакшене вызывает лаги, так что приходится без него. хотя штука прикольная
Братюни, y кого-нибудь есть "Ruby on Rails c нуля. Эффективный путь" от thinknetica?Слейте плз.
>>756405>>756407>>756409То есть Dependency Manager для Ruby не нужон?
MobiRubyhttp://mobiruby.org/Rhodeshttp://rhomobile.com/RubyMotionhttp://rubymotion.com/Rubotohttp://ruboto.org/
>>756393>Но ведь Docker не относится к сonfiguration management tools, как Chef и Puppet.Я же написал>Это совсем другой инструмент, используется зачастую вместе с названными, но может выполнять многие из задач того же Capistrano намного эффективней.В задачи докера в определённой степени входит управление конфигурацией (читай, средой выполнения). Имеется ввиду состояние системы, в котором она должна находится для запуска приложения. И с докером это намного проще, чем с капистрано, поэтому я и перехожу на него.
>>756420Все эти инструменты можно охарактериховать, как Deployment Tools.
>>756420Что "ты написал"?Ничего в задачи докера не входит. И ничего не проще. Что ты несёшь вообще? Капистрано зачем-то приплёл ещё.
>>756412Всем спасибо.Нашёл сам.
>>756436Поделись с аноном.
>>756439Извини, что заставил ждать.Держи:http://cloud.mail.ru/public/MZRP/aNeXpER9J/Пароль к архиву www.cogamesmoney.ru
>>756452Ахаха, да лан, оставь себе. Я пошутил же.
>>756452Чего? Там 3 гига. Что там вообще?
>>756457Вводное заданиеЗанятие 01. Основы Ruby. Часть 1Занятие 02. Основы Ruby. Часть 2Занятие 03. Основы ООП в RubyЗанятие 04. Интерфейсы, наследование и полиморфизмЗанятие 05. Методы класса, Модули и объектная модель RubyЗанятие 06. ИсключенияЗанятие 07. Блоки, Proc и lambdaЗанятие 08. Идиомы в Ruby и хороший стильЗанятие 09. МетапрограммированиеЗанятие 10. Введение в веб-разработку на RoRЗанятие 11. mvc и restЗанятие 12. Связи и ассоциацииЗанятие 13. ВидыЗанятие 14. Ветки в git и pull requestsЗанятие 15. Расширенные возможности ActiveRecordЗанятие 16. Контроллеры и нестандартные формыЗанятие 17. Аутентификация пользователейЗанятие 18. Локализация и внешний вид приложенияЗанятие 19. Последние штрихи и деплойЗанятие 20. Основы javascript и jQueryЗанятие 21. Javascript в Rails-приложении
>>756469Там видео?
>>756418И всё - редкостное говно, на котором любая херня сложнее хеллоуворлда будет тормозить.
>>756492>будет тормозитьС чем это связано?
Заливать стоит?
>>756494Они используют bundler просто.
>>756497А что в зип архиве?
>>756498А если без шуток?
>>756500rhodes не тормозит, но там апи неполное и собирать в облаке теперь нельзя, прикрыли лавочку.
>>756497Заливай меня полностью
>>756502https://dropmefiles.com/0zzFG
>>756504okk
>>756418Я несколько лет назад купил ебучий рубимоушен за 8 тысяч, а теперь они поменяли лицензию и говорят хуй тебе давай плати еще по 200 баксов в год. Я ебал просто.
>>756525Лох.
>>756452а продвинутого нет?
Вы действительно пишете мобильные приложения на руби? Но зачем? Это же говноедство.
>>756547Продвинутый есть только за 2014-ый :(http://nnmclub.to/forum/viewtopic.php?t=930364
>>756604не важно, главное 4 рельса, спасибо анон.
>>756593Потому что можем.
>>756593Мы элита.
Ребят, а ruby ещё жив?Думаю перекатываться в back-end разработку и пока не могу определиться, что выбрать Ruby(Rails) или Python(Django)?А может нырнуть с головой в nodejs?Вообщем, подскажите куда податься? Где больше вакансий и возможностей устроиться джуном?похапе не предлагать
>>756785Вполне жив, не знаю как в замкадье, в ДС и ДС2 работы достаточно. Хотя я бы на твоём месте катился к хуям в сторону ноды, но если больше нравится руби, то это тоже нормальный выбор.
>>756785аксиома эскобара.жпг
>>756785node > rails > djangoэто про популярность, но с первым легче работу найти, потому что ты можешь претендовать на фронтенд зная жс, а там работы дохуя и порог вхождения низкий довольноДля говнопрототипирования рельсы все ещё топчек, джанго не так популярен, хотя сам питон в пару раз популярнее руби.
>>756785Попробуй PHP.
>>756477БАМП ВОПРОСУ.
>>756785Руби - мало кода, локаничный, много магии.Питон - много кода, топорный, практически нет магии.
>>757126Нода - много кода, лапша, магия.
>>757123>>756477Да видео + домашки + примеры решения заданий
>>757157> Да видео~ 19.5 часов
>>757129Где ты там магию нашел?
>>757162в этой лапше можно найти
>>757192Мы так один проект завалили нахуй. Потому что в работу пришёл чужой говнокод на ноде, который, видимо, благодаря волшебству только и работал. Лапша коллбэков ВПЕРЕМЕШКУ с НЕСКОЛЬКИМИ пулами промисов это волшебно...
Серьезно, кто юзает ноду в продакшене? Это же ебля "собери себе нормальный стек из кучи поделок хипстеров".
>>757126>>757129Вголос с ноды. А ведь этот сукин сын прав.
>>757222Хипстеры и юзают. Они уже давно прочно обосновались в айти.
>>757237поискал сайты на ноде на гитхабе - ебаный пиздецкак они вообще туда новый функционал добавляют, не ломая старый
>>757244Или не добавляют, или ломают. Такие дела, так вот живём...
>>744747 (OP)Смотрел когда-то этот ваш Ruby (без рельсов), писал скрипты для RPG Maker и сетевых ботов, общее впечатление что это диалект Бейсика.
Послал руби на хуй.Перекатился во фронтенд, терь успешный человек.
>>756287гугли symbol
>>756371>Как это все называетсязамыкание
>>757386А почему сидишь на месте секретаря?
>>757828Это секретарь backend программиста
supНужна помощь. Написал бота для помощи на экзамене, но совершенно не знаю, где его можно запустить, пока я буду находиться не за ноутбуком. Какие есть идеи о "деплое" такого вот бота(куска кода) с соответствующим гемом?
>>758025heroku, digital ocean
>>757828НЕ ВСЕ СРАЗУ
Видимо тред загнулся...Мы любили тебя ruby.
>>759117Нехватка рубипидоров на рынке, расхватывают как горячие блинчики. Работаем на двух-трёх работах, времени на бордосрачики совсем не остаётся. Оживёт тредик в выходные.
>>759205>Нехватка рубипидоров на рынке>расхватывают как горячие блинчики>Работаем на двух-трёх работахП - Правдоруб.
>>744747 (OP)Заюзал Ruby on Rails в продакшене: http://lavironsoftware.blogspot.ru/2016/03/ruby-on-rails-success-story.html . Такой-то успех!
>>759872Почитав статью я понял что он до сих пор на каком-то диалапе сидит и он решил писать на РоР в пхпшторме. Занавес.
>>759889пиздец как ты читаешьroot@desktop# rm -r *root@desktop# gem uninstall railsSuccessfully uninstalled rails-4.2.5.2root@desktop# apt-get remove ruby && apt-get install php5этот долбаёб мало того что из под рута сидит , так ещё и поставит пхп5, зашквар.
>>759990Ты забылroot@desktop# fuck you
Возник большой вопрос:Есть две модели: products и orders.Заказ может состоять из множества продуктов. Очевидные «has_many» отношения. Если оформить связь, то все будет работать, но products состоит из множества полей, которые будут дублироваться, что не кошерно. Короче говоря, надо оформить has_many связь, чтобы ids product содержались в каком-то поле для orders. И при этом была связь типа has many. Рельса вообще так умеет? Или нужн костыль сделать.
>>760563has_many :through
>>760563Заказ не из продуктов состоит, а из OrderItem'ов, привязанных к продуктам. Если где-то есть поле ids, значит дизайн хуёвый и рано или поздно придётся всё равно переходить на нормальную связь M:M через кросс-таблицу.
>>760563>>760581Хуже того, дублирование в order_items даже нужно, т.к. товары имеют свойство меняться со временем, а заказы должны показывать историю.
>>760577Ясненько.>>760582Годный аргумент, учту.
Поясните за гемы. Читаюhttp://guides.rubygems.org/what-is-a-gem/> Platforms are based on the CPU architecture,Я думал, что подобное верно только для компилируемых языков, потому что там генерируются ассемблерные команды. А руби же интерпретируемый, почему выполнение кода на руби зависит от архитектуры?
>>761505Гем может содержать нативные расширения. Алсо, он может вызывать внешние команды или использовать некие внешние пути, которые от POSIX-платформы к Windows-платформе могут различаться.
>>761528> Гем может содержать нативные расширения.Прикольно, не знал про такое. Сейчас читаюhttps://en.wikibooks.org/wiki/Ruby_Programming/C_ExtensionsСпасибо.
>>761528>>761551Получается, я могу написать охуительно быстрые структуры данных на чистом си и использовать их в руби коде?
>>761555да.и на расте можно
>>761598а можно на лишпе? ну маааам
То, что тут 3,5 рубиста включая меня еще не значит, что руби мертв.Выдавите этого анального клоуна нахуй. Заранее спасибо.
>>761555Если ты задаешь такие вопросы, то скорее всего не можешь...
Господа, подскажите годный гем сделать для бложика редактор с разметкой и картиночками и как потом отображать эту разметку. Попробовал bootsy но мне не нравится, что у неё своя таблица для картинок и вообще пиздец нихуя не понял. Есть что-то годное?
Поясните за authenticity_token, где его брать и куда его пихать? Хочу постманом сделать запрос, но выдает 422 unprocessable entity и ActionController::InvalidAuthenticityToken.На SO слишком неконкретно написаноhttp://stackoverflow.com/questions/941594/understanding-the-rails-authenticity-token
>>762124А да, запрос, если чеlocalhost:3000/articles/2/comments/1В браузере это делается нажатием на ссылку<a data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/articles/2/comments/1">Delete</a>
>>762123Лучше tinymce пока ещё ничего не придумали. Есть море хипстерских редакторов типа MediumEditor, но это уже по обстоятельствам, у них обычно упор на "простоту", которая выражается в отсутствии важных фич.
>>762221А, ещё вспомнил из последнего: redactor очень неплох был.
Поясните, чем рельсы отличаются от джанги? Это похожие вещи?
>>762282Ничем - и то и другое говно.мимо Laravel-Бог
>>762125Если бы ты использовал рельсовые хелперы, то нужный параметр добавлялся бы автоматически.
>>762361Ну в коде я их использую и он добавляется. Я хотел через postman отправить запрос, чтобы потестить одну вещь.
>>762313> говно говно говноБытие определяет сознание, хули,
>>762123http://summernote.org/
Ехал SOLID через SOLID, видит SOLID SOLID SOLID.А DHH не видит.
>>762596Пушка, натвитор.
>>762596Че несешь?
>>762674ActiveRecord::Base.supress
>>762688Его стоило влить в апстрим только ради того, чтобы наслаждаться атомными бубарехами кукаретиков от ООП.
И дебаггингом до гроба.
че есть у кого-нибудь удаленная вакансия за валюту?
>>762791У меня нет, а тебя?
Давайте начистоту. Рельса - говно. ActiveRecord вместо ORM - очевидно, что рельсодауненок не осиливает божественную ORM. Нет генератора миграций, изволь печатать миграции ручками. Нет генератора интерфейса администратора, извольте проебать две недели рабочего времени на очередную велоадминку. Изкоробочные вещи (авторизация/аутентификация), нужные на каждом проекте, надо ставить отдельными гемами. НИНУЖНО.
Так уж и быть, ПОКОРМЛЮ ТРОЛЛЯ>>762857>ActiveRecord вместо ORM - очевидно, что рельсодауненок не осиливает божественную ORMСам понял, что сказал?>Нет генератора миграцийВообще-то он есть.>извольте проебать две недели рабочего времени на очередную велоадминкуhttp://activeadmin.info/>Изкоробочные вещи (авторизация/аутентификация), нужные на каждом проектеРасскажите этому парню кто-нибудь про архитектуру в виде микросервисов (и почему не нужно пихать эту парашу по-умолчанию в каждый микросервис).Твой удел - делать "сайты" на phpВ любом случае, спасибо, что зашёл!
Возник очередной Большой вопрос.Покрываю код интеграционными тестами. Будут использоваться rspec+factory+capybara.С технической стороны все понятно, но какие best practices по архитектуре тестов? Ну т.е. объясни анон, как нынче модно группировать такие тесты. ЯТП нужно по ролям пользователя, а внутри субдиректорий, бахать по одному файлу на сценарий. пы.сы. прочие виды тястирования (функционал, юнитное) оставим за бортом. Интересует именно структура интеграционного говно-кодинг-тестирования.
>>762937Хуй знает, это даже не объяснишь словами. Тут либо книги читать (хз какие), либо с опытом само придёт.
>>762937http://betterspecs.org/ruИ че-то вроде testing pyramide у thoughtbot
>>762381Просто закомментируй его нахуй в АпликейшнКонтроллере. Я так понял, других простых решений нет.
https://github.com/blog/2185-celebrate-pride-with-githubПрост пусть здесь полежит.
>>762797у меня была, но сказали я слишком средний
>>763333Что дальше делать планируешь?
Job spotting.comKndeed.com
Indeed.com
http://apotomo.de/ - Widgets for Rails.Кто-то использовал?
>>744747 (OP)>Как и где искать работу?Вот в этих фирмочках RoR используют:https://evilmartians.com/http://uniweb.ru/vacancies
>>763413Вроде сохранял кто-то.http://arhivach.org/thread/35764/
>>763411http://fun-box.ru/
>>756422Как бы да.
>>744747 (OP)> годные генераторы для бложиков - Jekyll, MiddlemanИх много есть.
господа, есть кто слушает RWpod и знает аналогичные подскасты, можно на английском.
>>746142>>756469>>756452>>764023Разве подкасты это тру? Расскажите об экспиреенсе обучения с помощью видеороликов?
>>764041Хуясты
А что есть на русском по руби и рельсам?Непротухшее желательно.
VSCode вместо текстового редактора вполне норм оказывается. мимо-прыщеблядь
>>762937> capybaraНе рекомендую это дерьмо, братишка. Юнит-тесты писать легко и приятно, а на это говнище дохуя времени уходит(во всех смыслах, писать долго и автотесты запускать тоже пиздос долго), и потом еще хуй проссышь, из-за чего тесты крашатся.Гораздо проще девочку-тестершу с селениумом за $500 в месяц нанять, день на настройку виртуалки и говноскрипты, а потом один профит.
>>764091Функциональные и интеграционные тесты >>> юнит-параша.Нестрогое BDD решает.
>>764133TDD/BDD — ещё один анальный способ выслужиться перед рабовладельцем.Ничем не лучше нормальных юнит/интергрейшен тестов, только название громкое.
О, я смотрю наконец-то в треде начали мелькать ключевые слова докер, ансибл, деплой. Помню год назад заходил сюда про докер спросить - либо мычали, либо говном кидались.Я это, чего пришел. Давайте что-ли поделимся лучшими практиками. Я сейчас немного под впечатлением от нового проекта и еще понял, что слишком отстал, такое ощущение, что мир уже довольно давно живет по новым стандартам, а мужики-то и не знают.Как вы там репозитории свои строите? Как деплоитесь? Как отказоустойчивость обеспечиваете? Как логи ведете? Как бекапы делаете? Отделяете бек от фронта? Припекает ли от микросервисов?Я помню раньше все настраивали на своих машинах - базу там (хорошо если майскуэль), рвм-ы, гемсеты, имеджмеджики всякие. Не то что верстальщик, девелопер порой приходил и полдня пытался запустить проект. Вместе с каждым проектом шел почти одинаковый капистрано-конфиг, который настраивал вместе с проектом в гите один матерый программист, никто не знал, что там, оно просто работало. Добавление в него всяких хуков вызывало копротивление. Про то как там настроены стейджинг и продакшен тоже никто не знал - воспринималось как данность. Кто-то что-то слышал про вагрант, но на практике особо не юзали. Так это было.
>>764091>девочку-тестершу с селениумомВау, бывают такие девочки? Почему мне в жизни никогда не попадались? Я бы женился.
>>764145Как делали, так и делаем. Одна впска под проект. Дебиан. Скрипт для установки стандартного необходимого говна. Деплой через капистрано.Проекты новые не каждый день, всё устраивает. Проекты обычные, никакой ёбли не надо, им даже выделенный сервак не нужен обычно, впски хватает, какая уж тут кластеризация и масштабирование...Докер знаем, можно и через докер деплоить, но и без него норм. Дробление на десять контейнеров не имеет смысла, когда у нас выделенная впска под проект.Ёба-проектов с миллионной посещаемостью, приватными облаками и десятком инженеров вокруг шефа\ансибла у нас нету, к сожалению. Как будет, так обязательно поиграемся.
>>764150Необучаемый.
>>764145>>764154Chef и Puppet используете, хлопцы?
>>764154Да, анон, вот именно так все и происходит как ты описал - ХВАТАЕТ, и все это новомодное не нужно. Но в определенный момент, кажется, начинает работать синергетический эффект от новых технологий и они оказываются лучше даже для старых задач.Я вот описал, что мол по полдня проект можно поднимать. А просто я внезапно открыл для себя элементарную штуку - докер-компоуз. Теперь в проект кладется один файлик docker-compose.yml, где описаны все компоненты - база, редисы, эластики, логстеши, и любой участник поднимает все окружение в один клик, даже на винде.Есть вагрант для таких целей, но этот вариант пизже. Когда все компоненты описаны докер-файлами, на сервере можно больше ничего вообще не настраивать, а брать и тупо запускать эти контейнеры.Дальше больше, лол. Делать это удобнее всяким ансиблами. А там описаны все таски и стенды - стейдж, продакшен. Все разработчики явно видят, как устроена система целиком - от топологии до нюансов настройки репликации. Дев от продакшена при таком подходе почти ни чем не отличается.Дальше еще больше. Система становится контекстно-независимой. И появляется желание вместо впс-ок, засунуть ее в какой-нибудь мезос-кластер (а там все тоже красиво выглядит - деплой сводится к тому, что нужно отправить json-таск с указанием запустить контейнеры и выделить им ресурсы, система сам рашит на каких машинах ее запустить и перезапустит в случае креша или выхода ноды из строя).Каждый следующий этам конечно требует некоторых телодвижений и модификации, но проект становится все более целостным.
>>764160Я не работал с ними, но есть мнение, что Ансибл пизже. Еще там анон вверху писал про какой-то Salt, вот про него не слышал, может что-то крутое. А вот за папет и чеф слышал что они < ансибла.По крайней мере знаю что ансибл лучше капистрано. И не понимаю, нахуя капистрано сделали стандартом де-факто в рейлс-мире.
>>764166>АнсиблПо английски, плес.
>>764169Хотел послать гуглить, загуглил сам и прочел статью в вики, узнал что значит это слово, лол.Ansible
>>764170Хех.Да вот тоже гуглю Ansible, Salt — смотрю что за инструменты. Лучше бы пошёл пробзделся.
>>764172Ну вообще, да. Их все-таки нужно осваивать. Не думаю, что это стоит делать просто так, без нужды. Просто считаю, что эти вещи гораздо лучше подходят в качестве стандарта, даже для сайтов визиток. Что капистрано, что ансибл нужно просто один раз настроить. Но ансибл гораздо более гибкий.
>>764175>Их все-таки нужно осваивать.Ну если работодатель оплачивает это, то можно и освоить что-то одно из.
>>764041ну типа да, можно не шныряться по рсс подпискам на блоги, все новости в одном месте и в переваренном виде.
>>764160если у тебя не стопицот серверов то смысла заводить все это девопсовое говнецо не вижу
>>764051На русском не советую, непротухшее редко бывает. Советую читать на английском через силу, спустя какое-то время будет намного легче понимать.>>763413Ищи на архиваче по словам ruby thread>>764133Не согласен. В моей проекте, например, важна консистентность данных в БД, тут без юнит тестов никуда. А благодаря тому, что бизнес-логика из контроллеров убрана, их очень сложно сломать, так что интеграционные тесты не особо нужны (мне).>>764145>Помню год назад заходил сюда про докер спросить - либо мычали, либо говном кидались.Сейчас можно что-то нормально обсудить, только приходится вылавливать сообщения в куче шитпостинга.>>764150>девочку-тестершу с селениумом>Вау, бывают такие девочки?Тестировщики почти все девочки>>764164>Да, анон, вот именно так все и происходит как ты описал - ХВАТАЕТ, и все это новомодное не нужно. Но в определенный момент, кажется, начинает работать синергетический эффект от новых технологий и они оказываются лучше даже для старых задач.Важно не проебывать такие моменты, чтобы быть в курсе актуальных технологий.
>>764172> Ansible, SaltОни на Python написаны.А Chef и Puppet на Ruby.
>>764628SaltStack так правильнее. Название продукта.
>>764351>А благодаря тому, что бизнес-логика из контроллеров убрана, их очень сложно сломать, так что интеграционные тесты не особо нужны (мне).Но ведь почти все высокоуровневые тесты поведения как раз таки являются интеграционными по сути... При чём тут контроллеры, блядь?
>>764898Удвою. Тест контроллера - всего лишь юнит-тест и не заменяет интеграционный.
>>764963кстати контроллеры в 2016 не надо тестировать
>>765036Чому это? Это интеграционные тесты для бедных же. Я вот один раз покрыл полностью небольшой проектик капибарой. Больше не хочется. Чуть что изменилось - переписывай.А вот важные контроллеры тестирую. Например, что итоговый json со статистикой правильно посчитан, если он считается в контроллере. Ну и так иногда из-за какой-нибудь глупой ошибки где-то появится 500 или 404. Если контроллеры покрыты, это быстро поймается.
>>765082Не обращай внимания, это местный BHH-дебил. Он тебе не только работу девочек-тестерш на себя взять предложит, но еще и огурец в жопу вставить и ходить так по офису жопой вверх. Шоб хозяева видели, что раб покладистый.
>>765155>огурец>cucumberтонко
Посоны, расскажите, какие есть лучше практики для реализации json-апи? Нужно в проекте сделать апишку, в общем-то не особо большую и сложную, но тем не менее нормальную, по правилам, с прицелом на будущее.Собственно как лучше? Знаю что есть active model serializers, а еще есть гем json-api. Второй хорош тем, что полностью соответствует стандартам и не нужно придумывать велосипеды в плане форматов и соглашений. Но слишком высокоуровневый, resource-ориентированный. А первый наоборот низкоуровневый.Короче посоветуйте, как лучше делать, что использовать, каких стандартов/форматов придерживаться.
json-api-resources, чтобы не ебать себе мозг тем, как бы продумать структуру документа.
>>765844Сажи говнофорсеру говносериализаторов.
>>765856>json-api-resourcesВот да, я про них и говорю. А не слишком ли они, что называется, овер-инжинеред? От кого-то слышал, что с этим гемом есть какая-то мозгоебля.
Анон, нужны советы.Уже больше года как вкатился в кодинг, ебашу фуллстек макакой (бек руби-рельсы очевидно, раз в этот тред пишу), поучаствовал в нескольких проектов разных размеров.Есть подозрение что я уже перерос свое текущее место работы, и могу получать намного больше денег, но т.к. в моем мухосранске вакансии на рубях появляются раз в год, то сходить на собеседование и проверить это предположение нет возможности. Реквестирую какие-нибудь годные онлайн тесты или другие варианты проверить уровень своих скиллзов, может я уже годен для фриланса/удаленной работы.
Ну познакомишься ты такой с девушкой, о чем будешь говорить? Как ты доки рубина читал?
>>765884Если ты еще спрашиваешь - значит не готов.
>>765884сколько зарплата и над чем работал?
>>765916около 40к, работал в основном над SPA, ну и над парочкой обычных маленьких сайтов.
>>765939И на чем были СПА?
>>765939пиздец мало
>>765884Я в 2011 на 3 курсе с 0 опыта пошел фрилансить на апворке, в офисе так никогда и не работал.
>>765878они не оверинженерд, они недоделаные вроде, т.е. например эмбер к ним не прикрутишь.
>>765844в ams как-раз есть JSON-API реализация, их же включили в пятые рельсы. а тот второй гем вроде через жопу сделан.
>>766044>ember>2016
>>766060Что не так?
>>763975Что за книга на скриншотах?
>>766124Личные заметки.
>>766114реакт подебил
Норм для начинающих?
>>766153Потому что там виртуальный ДОМ?
>>766125Залей куда-нибудь, пожалуйста.
>>766289Держи http://rgho.st/8DPkb6Xf8
Соберем конфочку в телеграме или где-нибудь ещё для поддержания профессиональных контактов?
>>766302Можно, только если без: "Ребяты, срочно помогите. Не могу посчитать согласные в предложении. Посоветуйте гем для этого".
>>766302Здесь почти все безработные. Так что смысла нет.
>>766300Можешь в odt?
>>766338Могу, но вечерком. Часов в 8 заходи.
Устанавливаю уже несколько часов ruby, ror, ostgresql. Ебейший ад зависимостей, просто пиздец, блжад. Почему так гиморно?
>>766396Блядь, блядь, блядь.
>>766396в чем проблемы? ставишь постргыз, потом rbenv, в нем ставишь руби, потом бандлер, потом рельсы.
>>766396алсо половина проблем из-за того что нужных пакетов не ставят, обычно хватает следующую строчку ввести чтобы без проблем все поставить>sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs
>>766400Издевательство ебаное.
>>766403Я по этой ебаной интсрукции ставил: https://gorails.com/setup/ubuntu/14.04
>>766405похоже ты постгрыз криво установил, гем после правильной установки бд устанавливается.
>>766405ruby, ror, ostgresql неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит ruby, ror, ostgresql, а потом не знает что делать с ней. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
>>766306Не все безработные, просто у тех кто работает нет ни времени, ни желания сидеть в бессмысленных социоблядских конфах или разруливать элементарные проблемы в треде. Что значит "поддерживать профессиональные контакты"? "Привет конфа, я прошел railstutor, дайте парочку профессиональных контактов"?
>>766406мб удалишь к хуя пакеты и поставишь из репок убунтыsudo apt-get install postgresql postgresql-contrib libpq-devпотом создаешь пользователя как в мануале sudo -u postgres createuser -s pidarok228
>>766045Эмм, может быть я плохо читал. Я короче работал с ним уже, подключал как гем в 4-х рельсах. И все что он дает это классный инструмент для сериализации объектов - определение атрибутов, методов, короче инкапсуляции логики отображения объекта в json. Но там нет ничего про формат и соглашения. Например, как должен выглядеть json, как должны выглядеть ошибки, форматы ответов при ошибках/успехе и т.п. Все это как решишь, так и будет. А между тем для json-апишек уже есть спецификация http://jsonapi.org/, где все это продумано и регламентировано. Если все ее соблюдают, то клиент-серверное взаимодействие становится универсальным один из секретов успеха рельс - соглашения. Хорошая практика в общем. Но реализовывать спецификацию самостоятельно геморно. Вот гем jsonapi-resources ее реализует. Но он там, насколько я понял, гемор с его высокоуровневостью (типа как формтастик - лепить стандартные формы заебись, но шаг влево-право и нагородишь больше, чем если бы писал все на чистом html).
>>766338http://rgho.st/8PXZ6J7xk
>>766410Где он применяется?
>>766410Haskell. Где он применяется?Вообще-то Ruby не так много людей изучает, как Python.
>>766753>>766754В робототехнике, искуственном интеллекте, космической промышленности, робуст скелейбл веб приложениях и секс-игрушках. В дата саенсе, само собой, и машинном обучении. У многих Fortune 500 компаний бизнес логика написана на Haskell, ровно как и боевые дроны-беспилотники, которые недавно уладили конфликт в Сирии. Благодаря полиморфным контейнерным типам подобный Haskell-дрон может не только уничтожать террористов, но и оказывать секс-услуги в мирное время. Повсеместно Haskell используется в медицине, где программируемые нанодроиды следят за состоянием пациента и при необходимости впрыскивают ему наркотики. Иммутабельность данных и ленивые вычисления позволяют впрыскивать именно те наркотики, которые нужно, еще до того момента, как это стало необходимо.Лучше спроси, где Haskell не применяется. Бухгалтерию на нем не ведут и гостевух не делают. А ruby сейчас каждый школьник учит, а потом не знает что с ним делать.
>>766777
>>766783https://wiki.haskell.org/Haskell_in_industry
ЧТО Я ДЕЛАЮ НЕ ТАК???
>>766801Пишешь на хайпнутом языке без задач.
>>766805Блядь, это СУБД, полудурок.
>>766801"sudo -u postgres psql" работает?
>>766828В том и дело, что нет. username@usernamepc:~$ sudo -u postgres psqlpsql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
>>766829А тебя случайно компьютер не страдал от выключения света или чего-то такого?Локфайл сокета мог остаться в /var/tmp (в современных системах в оперативке только /tmp) и при загрузке скрипт запуска может думать что постгрес уже стартанул и ничего в итоге не запускать.Удали "/tmp/.s.PGSQL.5432" и попробуй перезапустить постгрес.
>>766831Можно ещё проверить запущен ли процес постгреса:$ ps -e -o cmd | grep postgresql/usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf
>>766831>>766841Как можно быть настолько задротом?
>>766844В смысле?
>>766846Забей.
>>766801Вопрос закрыт. Помогли братишки с официального канала irc. Ломаного инглиша хватило...
>>766850Ну а что за проблема-то у тебя была?У тебя psql не пускал вообще, странный ты какой-то пиздюк блядь
>>766858С ебаными зависимостями была проблема. не пиздюкКак-то так надо было ставить: apt-get install postgresql postgresql-contrib postgresql-common postgresql-9.5 libpq5 libpq-dev postgresql-client-9.5Most of those are dependencies of others. You shouldn't need to specify libpq5 or postgresql-common or postgresql-client.
>>766862Постгрес сам по себе какой-то наркоманский слегка.
>>766867Неее, он как раз таки лучший инструмент из реляционных СУБД, что сейчас есть. Но какая-то ебля с новыми версиями. Кластеры-хуястеры, сокеты-хуекеты, ещё что-то там, блядь, зависимости. Но сам инструмент мощный и простой в то же время.
>>766867Ну а мускуль это говно для говноедов вообще.
>>766405Поставь пакет postgresql-server-dev-all в Ubuntu/Debian
>>766868Ну да, как бы постгрес зашибенный проект, но тот же psql работает хуй пойми как, какие-то роли непонятные.В том же мускуле есть утилита mysql, нажимаешь энтер и получаешь консольку и оттуда уже можно соединяться с любой базой без каких либо ролей. Чужими для хищников сделано.
ПЕРЕКАТЕ https://2ch.hk/pr/res/766884.htmlР https://2ch.hk/pr/res/766884.htmlЕ https://2ch.hk/pr/res/766884.htmlК https://2ch.hk/pr/res/766884.htmlА https://2ch.hk/pr/res/766884.htmlТ https://2ch.hk/pr/res/766884.html
>>766880>Поставь пакет postgresql-server-dev-all в Ubuntu/DebianУверен?
>>766889Да, без него гем pg не компилируется
>>766883Ой роли, мам сложна( Че ты как не программист?
>>766300Ты вендоблядок что-ли? Хули у тебя там везде акцент на то, как работать в шиндовс.
Суп 2чНе знаю как тут у вас, если что не насовывайте хуевЕсть работа, горит дедлайн и я горю пиздецСделал в дешборде админки страницу чтобы добавлять в базу заинвайченных юзеровНадо как-то добавить метод мейлера на экшен по сохранению этой формы в activeadmin а я не ебу как.Думал еще создать кастомную вьюху для эктивадмина с формой и таблицей, но так и не раздуплился с синтаксисом, потому что для глориус пехопе разработчика ето пиздец. Превентивно спс за помощь гайс