24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
1. C чего мне начать, чтобы стать рубистом? Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Следующий уровень, продвинутые книги по руби: Confident Ruby by Avdi Grimm Practical Object-Oriented Design in Ruby Refactoring Ruby Edition Ruby Under a Microscope для любителей залезть под капот. Документация по стандартным библиотекам http://ruby-doc.org/ Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0 Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://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 до сих пор ничего не завезли.
7. Хорошие практики по руби и рельсам? Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes. Почитайте еще Grimm A. - Objects on Rails Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
13. Где можно задать глупые и не очень вопросы? - здесь - stackoverflow.com - тематические slack-конфы - а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
14. Как фокнуть\сделать фичу\исправить баг, сложно ли это? Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
15. В чём писать код? Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
16. Можно ли писать на руби с под windows? Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
17. Руби язык одного фреймворка? Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
18. Можно ли делать игры на Ruby? Можно, но не нужно. Гем Gosu.
20. Как и где искать работу? Легко и просто - http://rubyjobs.ru/ Не так просто - https://upwork.com/ Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
TODO лист для ньюфагов: И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь. Рекомендации: 1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии. 2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет) 3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch 4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой. Ну, а мы открываем очередной Ruby Thread.
>>637874 (OP) Друзья анонимусы, мы ищем разработчика, для которого ответственность и забота о сроках - это жизненный принцип. Человека мотивированного, который не остановит работу только потому, что кто-то не ответил на вопрос. Человека, который умеет сам разработать сложный функционал, асинхронно обсудить возникшие вопросы (при этом не оказываясь в тупике), держать свою работу на виду (тикеты, частые коммиты), с удовольствием обсуждать проблемы с кодом (ты - это не твой код), и ответственно подходить к срокам. Работа в Printio - это возможность стать четвертым разработчиком в команде, которая любит Open Source (мы создали fabricjs.com), которая ценит технические инновации и эксперименты, и сильно заботится о коде. Мы находимся на последних версиях Ruby и Rails, тестируем, и производим регулярный refactoring, помогаем развивать новейшие технологии в браузерах, и публикуем побочные проекты), под MIT лицензией, а также статьи на известных сайтах. Мы всё время решаем интересные проблемы, и последовательно вносим улучшения не только в Printio, но и в мировое сообщество OSS разработчиков, которое позволило нам оказаться там, где мы сейчас. Необходимое:
Опыт программирования на Ruby — 2 года Опыт в Rails — 2 года Рабочее знание git Опыт в разработке архитектур и сложных систем Умение читать код Знание фронт-енд технологий (HTML, CSS, Javascript) Общее знание популярных Ruby библиотек, относящихся к web-разработке Знание английского на уровне программиста Хорошая коммуникабельность (умение чётко излагать мысли) Предпочтение *nix систем для работы (включая Мас) Одно или более из следующего: примеры завершённых проектов, активный github профиль, активность на технических соц-сайтах (stackoverflow, habr), активность в мэйл-листах, связанных с разработкой, технический блог, или хотя бы твиттер-аккаунт
Большой плюс! Обширный опыт работы с ImageMagick
Ещё плюсы Распространённый опыт в других языках программирования и разработке программ Умение писать тесты, понимание методики TDD и BDD Сисадминский опыт, поддержка серверов, установка и настройка ПО Знание английского на разговорном уровне
Анон предыдущего треда. Начал читать Programming Ruby 1.9 & 2.0 - The Pragmatic Programmers' Guide. Вполне легко читается. За для три осилил около 6 глав. Хотя у меня некоторые сомнения появляются, что я смогу осилить этот язык. Больно уж он от всяких цпп и жава отличается. Энивей. Нужно ли читать какой нибудь eloquent Ruby, если нужно перейти на рельсы или этих знаний хватит, чтобы код веб проектов хотя бы первое время писать?
>>638275 Да хз. функционал у темы и у солидуса нихуя не сходиться. там одно в теме другое. Сидишь костыли делаешь. Да и проблема в том что я просто немогу сосредоточиться
>>638393 А нахуя я им там нужен? Можно подумать, что там джуны нужны, а не как >На хуй нужен джун в рельсопроекте? Что ему вообще можно поручить делать?
>>638417 >>638392 >>638392 Пилите свои проекты, а не ждите. Вон в букинг.ком берут тех кто Perl не знает, но готов выучить, при этом гоняют на собеседовании как бывалого мидла. Пытайтесь повторить всякие гуглы/твиттеры/пейсбуки — причём не только внешне, но и в инфраструктурном плане: настройте кластер, шардинг БД, балансировку нагрузки. Чтобы знать, что у НЕЁ там под юбкой. Чтобы стать программистом — надо программировать. Это как изучать натуральный язык (английски, китайский), тебе не только за это не платят, но ещё и ты платишь за это деньгами и своим драгоценным временем.
>>638417 Как вариант можешь пойти учиться на херурга/стоматолога/юриста, занятость и доход гарантированные(и куда большие чем в кодинге), если клювом щёлкать не будешь.
>>638437 Что ты спрашиваешь? Тут все доширачники нищие, работающие грузчиками и прочей швалью, которые кодят для сибя)). В шапке этого сайта Абу побирается. Ищи работу в сфере обслуги и кодь для сибя)) в свободные пол-часа по выходным, как все. Может лет через 20 напишешь гугл.
Запилил автоперекат руби-треда. С моего компа всё работает. А вот IP-адреса Heroku забанены. Админу написал, но не знаю, чем он поможет. Даже если разбанит, нет гарантии, что эти адреса не забанят снова. Токенов в API тут нет. Пасскод не поможет, скорее его отберут при постинге с таких IP. Есть идеи, то делать?
Я изначально хотел сделать консольной прогой. Но я хочу потом добавить автоматический перекат, так что всё равно нужен будет сервер. (когда придумаю, как на бесплатном тарифе Heroku запускать задачи по cron'у).
Если до конца треда не придумаю, что делать с баном, буду запускать со своего компьютера.
>>638392 Пилишь свои проекты @ пиздишь в резюме что есть опыт работы
Ты действительно считаешь, что говнокод в ООО "Рога и Копыта" будет чем-то лучше твоего говна, потому что там якобы "реальный" проект? Половину текущих миллиардных единорогов, фреймворков и прочего говна были сделаны под пивас как раз. Вон разработчику babel лет 16 было когда он в школе на информатике свое говно писал ужасным говнокодом, потом хуяк, через год уже в Лондоне в фейсбуке. Реальный проект как он есть.
>>638871 Ну у меня есть один действительно коммерческий проект. Ранее я о нем в тредах говорил. Сейчас он на PHP написан (Joomla и ещё несколько плагинов). Все это просто через жопу работает. Я заебался уже там подпорки ковырять. Но так как это "старт ап", который может с огромной вероятностью прогореть, то я решил время зря не терять и выучить рельсы и переписать его на них. Есть уже готовая платформа, 92% тестами покрытия и вообще все очень круто в ней. Она не на 100% соотвествует нашей задаче, но допилив её можно много профита получить. Вот для этого и ковыряю все это. Читаю сейчас книгу по Ruby. Сегодня смотрел rspec. Кончил радугой от охуенности. Да и вообще когда на Ruby пишу, то мурашки по коже.
>>638935 Справедливости ради, rspec заебывает тем, что слишком пытается быть похожим на англ язык Я пишу на руби блять, нахуй мне эта имитация, почему вместо assert x y ч должен писать поеботу expect (thing).to eq(shit) Слишком много излишнего dsl Хочешь новый матчер? Вот те dsl Объявить переменную? Вот тебе х способов это сделать, путайся на здоровье Думаю перейти на минитест, там вроде с этим получше и скорость повыше
>>638965 А еще там поначалу заебешься рабочее окружение нормально настраивать, под каждый вид тестов своя какая-нибудь ебала нужна, у меня в первые пару месяцев изучения рельсов была такая борьба с этим рспеком, все нервы на нем убил нахуй.
>>638431 > настройте кластер, шардинг БД, балансировку нагрузки. Анон, а ко мне даст железо для песочницы? Ты прдставляешь, во сколько мне обойдётся купить сервер, который позволит с этим поиграться? Мне что, стеклопакеты из дома выносить?
>>639274 >но думать в стиле йоды мне не нравится. Так поэтому RSpec и берут: Expect some value to equal other value. Expect object to receive message with argument 1, argument 2 once and return value.
>>639670 А приближённую к реальной ситуации нагрузку я откуда возьму? Или ты считаешь хорошим советом просто настроить "что-то как-то, что вроде ну как-то работает, наверн"?
Посоны, кто как работает с form objects? Эти форм-билдеры меня доебали уже, сил моих нет. Каждый раз выдумываем новый FormObjectBase с костылями, чтоб simple_form был доволен, и снова ему не хватает model_name или ещё какой хуйни. Попробовал https://github.com/apotonick/formular - мозгоебли не убавилось от того, что он заявлен как Framework-Agnostic. В общем, какой интерфейс нужен этим билдерам, чтоб они перестали уничтожать? Охуеть же в 2016 году сидеть на анальной привязи к activerecord-моделям, как будто где-то кроме лабы2 их создают напрямую.
Аноны, нужна помощь! не удается установить рельсы на винду! после команды gem install rails пишет ERROR: Could not find a valid gem 'rails' (>= 0), here is why: Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server key exchange B: bad ecpoint (https://rubygems.org/latest_specs.4.8.gz) ЧЯДНТ?
>>640064 Я как-то писал руби-прогу под винду. Тоже были проблемы с установкой гемов (странно, что до сих пор не пофиксили). Поставь JRuby, там проблем не наблюдалось http://jruby.org/
>>640064 Блядь, мир дал вагрант. Просто установи и не ебись. Но нет, хочу жрать говно. Ты понимаешь, что если установишь рельсы, то половина гемов тупо не запустится.
>>640064 Почему в каждом топики о Руби какой то мудила хочет поставить его под тупую форточку, если ты хочешь писать код будь добр поставить linux ну или bsd или mac что в этом сложно? не можешь поставить иди играй в гта код не для тебя даун!
>>640107 >Охуеть же в 2016 году сидеть на анальной привязи к activerecord-моделям, как будто где-то кроме лабы2 их создают напрямую. Не понял вот эту часть, например.
>>640109 В простейшем варианте в генератор формы в рельсах (form_for или simple_form_for) передаётся объект ActiveRecord. В нормальных приложениях - специальный form object, который умеет только обрабатывать и валидировать поля формы, а модель ActiveRecord потом строится по нему.
Стоит ли джуниору идти поднабраться опыта в замкадышную днище-студию, которая клепает сайтики? Допустим, поработать там годик и свалить? Кто-нибудь работал в таких шарагах, что скажете? Я не совсем нулёвый, несколько проектов на рельсах есть, не блоги.
>>640169 Стоит ли джуниору идти поднабраться опыта в замкадышную днище-студию, которая клепает сайтики? Допустим, поработать там годик и свалить из профессии? Кто-нибудь заканчивал работая в таких шарагах, что скажете? Я не совсем нулёвый, несколько проектов на рельсах есть, не блоги.
>>640195 Тогда вопрос поставлю по-другому. Что лучше выбрать - вкатываться в апворк или в хуевую веб-студию, с точки зрения получения опыта? По деньгам понятно, что в рассейской конторе попытаются обмануть, занизить и т.д.
>>640198 >Что лучше выбрать - вкатываться в апворк или в хуевую веб-студию, с точки зрения получения опыта? В Апворк, с любой точки зрения. Иначе рискуешь разочароваться, впасть в депрессию и т.д. Без достойной оплаты ты не захочешь достойно работать и обучаться.
Есть какой-то набор минимальных знаний которые нужны чтобы вкатиться в апворк? Да, знаю, что много раз это обсасывалось, но хотелось бы реальное что-то услышать, а не хуиту которую пишут люди боящиеся конкурентов.
>>640209 Нет никаких туториалов, которые тебя по шагам проведут по карьере. Берёшь и вкатываешься, т.е. - регистрируешься, ищещь заказы, фильтруешь, оставляя только те, которые способен выполнить, отправляешь заявку, другую, ещё два десятка - и вот тебя уже нанимают на твой первый заказ.
Я не понимаю как пишут реальные какие-то приложения, не только на рельсах, но и на других фреймворках\языках. Где можно посмотреть, например, видео об этом? Неужели просто ставятся какие-то задачи и решаются?
>>640319 Паттерны они же хуяттерны плюс опыт написания более простых приложений, на которых набивают шишки. Например, пишешь игру и она только DirectX поддерживает, а потом приходит нинтендо и говорит перепиши своё говно на OpenGL и мы продадим «это» в своём сторе. И тут ты хватаешься за голову: половина кода гвоздями прибита к DirectX и по сути переписываешь игру, попутно продумывая архитектуру так чтобы можно было потом и Сонивский тулкит легко подключить. Как-то так.
>>640321 Не знаю, поэтому и спросил. Всё, что я реально делал, это курсачи и диплом в шараге на делфи. Всякие крестики-нолики которые делал давно на крестах и лабы я не считаю за какие-то реальные проекты. >>640322 Мысль - в смысле как происходит решение каких-то задач в голове? Я именно про написание кода, может я долбоеб который не до конца изучил язык и не понимаю чего-то. >>640324 Я насмотрелся таких видео про демо и так тоже делать умею. Я говорю про какие-то сложные проекты, я пытался смотреть код redmine по коммитам, но нихуя не понял. >>640325 Подразумеваешь, что надо писать кучу крудов никому не нужных? Я не могу так, у меня идей ноль, не получается делать что-то без цельно. Работу в офисе не могу найти, нет офисов в городе, совсем. Вариант только спиздить где-то деньги и съебать в дс, либо фриланс.
>>640334 Не можешь придумать, своруй чужую идею — это реально работает. Ну и да, найди работу в своей мухосрани и по вечерам пили свой проект, повышай скилл, копи на переезд и просто на денежную подушку — другого законного способа нет.
Посоны, я нихуя не понел. Если я сделаю сайт на rails, то как мне его запустить на настоящем сервере? Ну типа apachi-huyachi, nginx-hyinxы нужны? Как на них rails запустить?
>>640789 Я толком не понял. Вроде чувак позволял себе переход на личности, его долго терпели и наконец решили исключить из сообщества. Видимо важный комиттер был, раз долго терпели.
>>640856 Его из-за сообщений в твиттере к гражданской ответственности привлекли и кляузы в райлс/руби_конф настрочили. Не повезло чуваку, он там один адекват и способен задавать вопросы. очередной виток защиты прав женщин/лгбт/идиотов и прочих животных. Мороз крепчал.
>>640928 Хотя погоди, при чём тут твиттер? Там говорилось о внутренних обсуждениях сообщества, я так понимаю это issues, pull requests, тематичекие чаты. Или я неправильно понял?
Чувак сделал вывод, что его обижают из твита, в котором даже его имя не упоминается. Пиздец, просто пиздец. Потом еще ссылка на issue на гитхабе, где тот чел якобы притворяется нормальным, а на самом деле он не такой. Интересно как он узнал, что тот притворяется? Это какой-то баребух от одного чела, может он дохуя охуенен, может дохуя дотошный и тупо пытаются поднасрать ему. Хотя это ж руби, тут такое в почете.
>>641122 Там много скриншотов из твиттера с этим пельменем. оскорбления в твиттере брайан истеричка приравнивает к тому, он в живую его оскорблял чуть ли не перед его женой (у него ещё и дочь). Фан парт гоэз хир ничего что я по английски? : >Q. You only recently updated the website and project README to include a Code of Conduct. Isn't banning Mr. Nutter unfair? >No, it is not unfair. I have had numerous conversations with Mr. Nutter about this for years. His repeated behavior makes it clear that he thinks his behavior is justified and acceptable. More importantly, Mr. Nutter readily plays the civility card when he desires. He's not confused about what is and is not appropriate behavior. Вот так. Бездеятельный пиздун оказавшийся у руля проекта отстранил деятельного пиздуна (напоминает бешенный принтер чем-то).
Ещё раз стоит порадоваться за Линуса нашего Торвальдса, который и адекват, и лидер проекта, и оскорбляет тех кого надо оскорбить если они тупят.
>>641201 Да прост)) Самое главное стукануть вовремя на кого надо
>Q. Why did you report this to Evan Phoenix and Sarah Mei? What do they have to do with this? >Evan Phoenix and Sarah Mei are directors of Ruby Central, the organization that runs the two most important Ruby-related conferences in the world: RubyConf and RailsConf. They take responsibility for establishing the codes of conduct at those conferences. Mr. Nutter is a frequent speaker at Ruby conferences, and I think they need to be aware of situations like this.
>>641216 Брайян типичный истеричный человек (с женским типом мышления) поражённый острой толерантностью и (полит)корректностью. Смысла нет, женская логика это рандом.
>>641201 Ну твиттер там рубиниус-рилейтед, так что относится. Но понятно о чём ты говоришь, из-за твиттера не стоит такой дурью маяться, но Брайан считает иначе.
Скажите лучше, обрезание поста для главной как сделать? Я передаю переменную truncate_content в partial # index.html.slim = render(@articles, truncate_content: true) or render 'not_found' но приходится и в show.html.slim передавать переменную, иначе ошибка... Как бы то ни было, логику обрезания поста я вынес в отдельный класс, но не пойму как его классифицировать. View object? Presenter? Decorator? fuuuuuuuuuuuuuuuuck
require 'active_support/core_ext/string/filters'
class TruncateContent class << self def truncate(content) length = content.index(READ_MORE_REGEX) || DEFAULT_LENGTH content.truncate length end
def remove_read_more(content) content.gsub READ_MORE_REGEX, '' end end
DEFAULT_LENGTH = 300 READ_MORE_REGEX = /\[read more\]/i end
>>641226 >Брайян типичный истеричный человек Как такого допустили к руководству? >поражённый острой толерантностью и (полит)корректностью. Но это же полнейшая нетолерантность и некорректность. Если человек позволяет себе выходки в личом твиттере - это его дело. Если в твиттере проекта - можно отобрать у него право писать туда, но не из всего проекта же исключать.
>>641228 >Ну твиттер там рубиниус-рилейтед, так что относится. В Code of Conduct ясно сказано, что его правила распространяются только на официальные ресурсы проекта. Если даже твиттер называется mr_nutters_from_rubinius, то это уже не юрисдикция CoC.
>>637874 (OP) Рубаны, смогу ли я осилить за пару месяцев Spree? Хотеть свой интернет-магазин. Поставщик есть, капитал найдётся со стороны. Рор и руби знаю на уровне a = gets.chomp
>>641599 каждый день у них что-то меняется, где то уже отссылки на солидус, где-то еще на сприи, кароче они посередине пути, я бы пока постремался использовать
>>641819 Что тестировать я тебе и так расскажу - что-то действительно важное, лол, т.е. заголовки, корректность работы orm и другую хуету трогать не стоит, вопрос в том как кусок чужого говнокода покрыть тестами и заменить своим говнокодом без потери логики.
сделал самое главное для начала — скачал кучу книжек«прошел» tryruby еще, вроде не сильно сложно, но я понимаю что там совсем для дебилов
теперь надо заебенить убунту ХОТЬ ГДЕ НИБУДЬ. VirtualBox на моем НЕТТОПЕ плохо встал, главное не покупать никаких аймаков десятилетней давности с 500 мб опертивы.
>>642271 Нормальные рельсаны рефакторят модели, не давая им разрастаться более чем на 100 строк. Я сейчас рефакторю модель в 800 строк (было 1000) - это ужас.
Щас пилят типа убийцу рельс Hanami - там по умолчанию вместо active record репозиторий. В рельсах тоже популярность набирают всякие альтернативы типа http://rom-rb.org
Сап ребзяки. Не так давно начал изучать руби и есть едея написать выпускную бакалаврскую работу на сабже, но так как работаю есть время только по выходным, а времени до мая-июня. Есть опыт с++ и читаю "гибкую разработку веб-приложений на рельсах 4", делаю все по гайду, не особо вникая в смысл, толка от такого чтива не много будет.
На текущий момент планируется написать сайтец для проверки знаний (аля тестирование) со следующим минимальным функционалом: 1. Распределение ролей, типа самого минимума: ученик, учитель, админ. Может добавление учеников в группы и присваивание группе определнных тем. 2. Создание тестов (возможность выбора нескольких вариантов ответа, добавление изображений к вопросу, создание тестов на время и задание этого времени) 3. Просмотр статистики по прошедшим тестам. Просмотр 4. Прохождение тестов. Здесь важны только удобство и невозможность списать. Как варик развертывание на фул-скрин и в противном случае не давать возможности ответить.
На крайняк есть вариант реализовать какую-нибудь мат. модель, но это хуйня (3-4 формы и хуй с ним).
Вобщем вопросы: 1. Это вообще реально? 2. Как с минимальным подрыванием жопца написать все это? 3. Посоветуйте инфу, которая поможет на реальном примере сделать подобное. 4. Знаете ли подобные проекты с исходниками, чтобы нагло все скопипиздить, да внешний вид изменить. 5. Как построить систему чтобы потом не обосраться при ее расширении и добавлении новых функциональностей?
> 2. Как с минимальным подрыванием жопца написать все это?
По твоему описанию функционал уровня гостевухи. Аутентификация и 3.5 круда.
> 3. Посоветуйте инфу, которая поможет на реальном примере сделать подобное.
1. Учишься писать на рельсах. 2. Пишешь.
> 5. Как построить систему чтобы потом не обосраться при ее расширении и добавлении новых функциональностей?
Ты предполагаешь, что кто-то в паре предложений сможет передать тебе опыт, который приобретается за годы разработки?
У тебя очень маленькая система, чтобы в случае чего нельзя было бы переписать её часть с нуля относительно безболезненно.
> Прохождение тестов. Здесь важны только удобство и невозможность списать. Как варик развертывание на фул-скрин и в противном случае не давать возможности ответить.
Вижу единственный вариант - десктопное приложение. При потери фокуса окна отмечать тест как проваленный.
Малой кровью можно обойтись, если взять Electron или NW.js. Это такой портабельный хромиум, которым ты управляешь скриптом на js. Т. е. у тебя будет десктопное приложение (да, можно открыть фуллскрин и мониторить фокус окна), в котором открывалась ты твоя тестировочная параша в виде обычного сайта.
>>642279 Из за этого учить нужно Руби а не Рельсы, кстати там еще Лотус есть и еще один копия meteor JS не помню имя а вот о Hanami не слышал сейчас поставлю :)
>>642297 Я сейчас ебусь с этим взял и поехал Валидации зависят от кучи условий, пришлось выносить часть в form object и отдельные объекты потому что иначе пиздец
>>642233 >В списке нет ни одной книжки для начинающего, кстати. Половина кукбуки или около того, остальные уже требуют знание языка.
Объясняю. Я прочитал шапку «C чего мне начать, чтобы стать рубистом?» и скачал книжки, которые там написаны. Вы или шапку правьте или я даже не знаю что. Вперемешку все.
Я прошел его, там 6 «уровней». Вроде не сложно, местами даже логично. Дальше он предлагает регистрироваться кодескул и проходить что-то вроде https://www.codeschool.com/paths/ruby
Ну вот трайруби я прошел (и на кодескул и на трайруби там одно и то же наверное), дальше рельсозомбей мучить или что?
>>642212 >Руби нормально ставится и работает под виндой.
Точно? Ладно, я разберусь. (я просто не нагуглил еще приложения под самой виндой можно запускать или надо на сервере это делать) Все что поставил это IDE и http://rubyinstaller.org/
Бля. Анон, а есть ли какая нибудь книга по рубям на русском с более менее актуальным контентом. С английским проблем нет, но некоторые моменты хотелось бы на русском почитать.
>>642441 >дальше рельсозомбей мучить или что? Я прошёл бесплатные уроки, показалиь слишком лёгкими, не убедили продолжать. До этого только Rails tutorial Хартла проходил не до конца. Я бы советовал после Хартла к книгам переходить.
>>643189 Тестить нужно поведение (js) и правильность вывода информации с минимумом привязки к вёрстке. Но в целом тестировать нужно, если только у тебя не статический бложик безо всякого взаимодействия на клиенте. Для джса либо Capybara либо отдельные test-фреймворки на джсе. >>643191 Многие вообще не тестируют.
на этой странице ссылки и книги и подробные комментарии к ним. что скажете?
> The Well-Grounded Rubyist, David A. Black, 2009. Наверное, лучший учебник, который мне доводилось видеть. Правильный порядок изложения материала, затронуты все темы. Написано достаточно сдержанно, но без злоупотребления терминологией и заковыристыми фразами. Рассматривается только синтаксис версии 1.9. Очень рекомендую.
>Programming Ruby 1.9 (3rd edition): The Pragmatic Programmers' Guide, Dave Thomas, Chad Fowler, Andy Hunt, 2009. А это самый известный учебник по Ruby, легендарный Pickaxe (pickaxe с английского — киркомотыга, изображена на обложке книги). Хотя у меня при чтении местами возникало легкое ощущение хаоса, непоследовательности, на конечный результат это не влияет. Хорошая книга, после которой создается правильная картина видения мира Ruby. Выбор между первыми двумя учебниками — на вкус читателя.
По созданию гемчиков чего бы почитать? Кроме гайда по rails engines ничего не нахожу, и этот гайд уже вдоль и поперек 150 раз прочитан, все равно вопросов больше, чем ответов. Простой api gem сварганить легко, а вот как быть, если надо из гемчика в БД писать, использовать свою бд или бд приложения-хоста, и как вообще это все реализовать?
>>643792 But people on the ruby/rails channel were very impatient and rude. I think they’ve forgotten something as important as “how it feel to be a newbie”. People on IRC were rude but they weren’t stupid and some of them gave me the best advices that put me on my way to learn Rails “Everything you need to learn are in books”, “Figure things out on your own! You’ll become a better problem solver”, “Don’t expect people to build the code for you, figure it out on your own” and my favorite one “Google!”.
>>643804 посмотри на этого нигера >>643790 в его взгляде даже нету железа, не говоря уж об отсутствии стали в осанке.
почему ты не можешь ПРОСТО поставить ЦЕЛЬ и ДОБИТЬСЯ ее? Делай как я делай как я — накачай книжек для начала хотя бы, а потом пойдет как по маслу.
Senior Nigga Developer так и говорит:
I used to take the transit every morning to go to work and in the subway or the bus I would read the Ruby Doc. Just randomly reading about random methods and classes. This little practice became really powerful when I would go back to my computer and start coding.
I learned rails the hard way: 18 hours every day for 2 months. No sleep, no partying just pure hard coding. I forbade myself to watch TV, movies or even youtube videos if it wasn’t related to coding. Everything I was doing or reading was for that only purpose: “Becoming a senior developer ASAP”.
>>643823 >No sleep, no partying Нигге который до этого сутками тусовался и клеил самок на этих самых party легко говорить, сменить обстановку на несколько месяцев, чтобы въехать в тему, а потом потихоньку вернуться к привычному образу жизни, ему не так уже трудно. Для среднестатического хиккана, который и так всю жизнь безвылазно сидит за компьютером, это может оказаться непреодолимым моральным испытанием. 21лвл-делал-как-нигга-читал-книги-в-ёбаном-метро-мало-спал-теперь-нелпохо-шарю-но-дропнул-работу-потому-что-пиздец-устал-кун
>>643823 дахуя книг не всегда хорошо ибо будет всегда желание взяться за другую, когда станет нихуя непонятно, выбери одну из шапки и прочитай полностью.
Ты в рубитреде по инерции что-ли сидишь, братишка?
>>643830 >Для среднестатического хиккана, который и так всю жизнь безвылазно сидит за компьютером, это может оказаться непреодолимым моральным испытанием.
Ты справишься. Я после ебаного универа 2 года отходил до состояния ОТДОХНУЛ. Сейчас хотя бы силы есть.
>>643830 кстати мне 27 скоро, у тебя 5-6 лет в запасе, просто начинай НЕ МАЯТЬСЯ хуетой прямо сейчас в свои ньюфажеские 21 и все получится. если ты конечно хочешь этим заниматься. не хочешь — занимайся чем-нибудь другим.
>>643849 >Ты в рубитреде по инерции что-ли сидишь, братишка? Будто Руби-тред только для ньюфагов. Я вот помогаю всем тут другой братишка
>>643830 >Нигге который до этого сутками тусовался и клеил самок на этих самых party легко говорить, сменить обстановку на несколько месяцев, чтобы въехать в тему, а потом потихоньку вернуться к привычному образу жизни, ему не так уже трудно. Для среднестатического хиккана, который и так всю жизнь безвылазно сидит за компьютером, это может оказаться непреодолимым моральным испытанием. Хикке как раз проще. Хикка не страдает от недостатка общения, может сутками изучать. По себе говорю. А как станешь успешным серьёром в 19 лет, будут деньги - познаешь все радости жизни.
>>643828 >Я занимался этим ещё года два назад, но дальше чем todo хуйни не вышло. За два года можно начать стабильно зарабатывать 1-2к долларов. Возможно, у тебя нет интереса и ты бросаешь дело, как только появляются сложности. Пиши сюда, не бросим, всё подскажем.
>>643931 Он ещё не релизнулся даже - багов много, наверняка. Придётся многое писать с нуля, для чего в рельсах уже есть гемы. Если продакшен некритичный и не лень ебаться - то можно.
>>643849 >Ты в рубитреде по инерции что-ли сидишь, братишка? Мне очень нравится руби как язык, пробовал до этого питон, пхп из скриптовых, но руби больше понравился. А сижу тут, потому что хочу всё таки в один момент начать что-то делать и вылезли из своей мухосрани или не вылезти, и начать фрилансить.
>>643927 >Возможно, у тебя нет интереса и ты бросаешь дело, как только появляются сложности. Пиши сюда, не бросим, всё подскажем. Наверное, я сейчас в зоне комфорта и нихуя делать не надо. Ну, а вообще да, сложности были какие-то вроде.
> Придётся многое писать с нуля, для чего в рельсах уже есть гемы
Формы - simple_form работать под ханами не будет (но у них там есть какой-то свой аналог, хз на сколько хороший).
Аутентификация. Фанаты devise или authlogic пролетают.
Плагины для ActiveRecord. Да, тут очень много полезных штук. Kaminari, Enumerize, Awesome Nested Set, Acts as Taggable On, Paranoia, Elastic Search и прочее: https://www.ruby-toolbox.com/#Active_Record_Plugins.
Джемы, завязанные на ActiveRecord. С ходу вижу Paperclip\Carrierwave, Authority, simple_form.
Да, на обычных проектах всё-таки проще AR подцеплять и не эстетствовать. Иначе себе дороже выйдет.
Ну и ещё штуки из этой категории: https://www.ruby-toolbox.com/#Rails_Plugins Да и прочие многие многие джемы жёстко завязаны на рельсы. Многие разработчики просто не рассматривают использование их кода вне рельс.
Но всё-таки как-нибудь попробую ханами на небольшом проекте.
>>644034 Вкатывайся сейчас. А то через несколько лет будешь говорить "Сижу и понимаю, что мог ещё в 2010 году, а потом в 2016 не лениться и вкатиться в это всё."
>>644050 >рельсы нинужны, работы нет конкретно в ЭТОЙ стране — упала валютная выручка и рельсы тут не при чем. дальше — на собеседованиях доябываются вне зависимости от языка — кулсторей уже на 20 МЫ ВАМ ПЕРЕЗВОНИМ тредов. еще дальше — работа всегда найдется для более-менее квалифицированных спецов (просто ты в мухосрани сраной как и я, а в мухосранях только пхп и 1с как уже всем давно понятно). еще дальше — в рот я ебал работать на низкоквалифицированной работе за 300-400 баксов, если те же самые деньги можно доставать за пределами страны при этом: — повышая свою квалификацию — работая удаленно и по своему графику — имея нихуевую возможность уехать что в столицы, что за пределы страны
Корень в мотивации, это нормально что она у всех разная. Найди свою. Нравится руби как язык — отлично, не обязательно заморачиваться на коммерческой востребованности. Потом уже когда ты будешь в достаточной мере знать язык который тебе нравится просто так ты легко или не очень и работу найдешь, и денег заработаешь. Не зацикливайся на деньгах, счастья они все равно не добавляют — только комфорта, к которому привыкаешь в течение полугода.
>>644050 Запомни раз и навсегда: не слушай петухов, которые не пробовали. Пробуй сам. Если о рельсах ещё говорят, это значит что они кому-то да нужны. О мертвых молчат.
>>644090 Как земля Как питон. Слишком минималистичен для меня. Философия ограничивания свободы программиста. Стейтменты не возвращают значений. Отсутствует null-safety.
>>644090 Я только в подкасте слышал как умпутун хуюмпутун сначала ругал Go за то что там поддержки дебаггера нет и делать это можно только принтами, а потом он всё равно написал какое-то свое поделие на нём.
>>644090 Заебись язык на самом деле. После руби, питона, и теперь уже жс, в который активно добавляют сахарок все кому не лень, это просто глоток свежего воздуха ну или не очень свежего. Простой как пробка и без выебонов. Один минус для меня - это слишком много всяких соглашений в самом языке, а не от сторонних либ, типа доки лучше пиши так, вот тут специальные функции, их используй только так. Магия короч, не люблю такую хуйню.
>>644090 Главный фейл языка - он считает себя умнее программиста. В плюсах, питоне, да даже в жс ты можешь делать с языком что угодно - но ответственность лежит на тебе. В го ты можешь делать только то и только так, как тебе разрешил язык. Если ты не осилил другие языки, то го - твой выбор.
Вы так говорите, как будто возможность анального секса с компилятором это хорошо. Го просто тупой язык с минимумом функций, а вот язык который сознательно ограничивает программиста это какой нибудь хаскель или F# И это есть гуд
>>644230 Это гуд для тупого школьника, который не может совладать с языком и надеется на магию. Для крудошлепства сойдет, но на серьезных вещах нужно контролировать весь процесс.
>>644340 нет, это признак хорошего дизайна как оказалось, и для системного программирования можно сделать безопасный язык (см rust). а ручное управление памятью ("контролировать весь процесс") и прочую еболу оставьте в прошлом.
>>643754 Какие вводные данные тебе нужны? Есть файл контроллера, в нём парочку говноэкшенов и куча приватных методов. Котроллер собирает инфу с формы и некоторых моделей и запускает background jobs. Даже без анализатора видно, что код не очень, например имеется много длинных строк и куча операторов условия в некоторых экшенах и вообще как-то по еблански написано. Можно попробовать отрефакторить на шару, убрал всякое дерьмо в хелперы и поппытаться сделать код немного понятнее, но очевидно, что лучше написать тесты. Можно ли это затестить в rspec, например, и если да то как?
Руби-господа, поясните за производительность руби, лоады и хайлоады.
Вот захо жуя допустим на онрельс.клаб и прямо чувствую, что как-то оно неторопливо грузится. Фрей емнип блог в итоге тоже с рельс перенес. Что скажете?
>>644990 П Р О Т О Т И П И Р О В А Н И Е В 95% случаев бизнесу нужны быстрые и готовые решения, чтобы побыстрее выехать на рынок. Когда уж дойдет до того, что кластер из говна и мочи не сможет справляться с нагрузкой, значит руби с рельсами свое дело сделали, можно смело переписывать на что-то быстрее, попутно оптимизируя архитектурные решения, что даст самый сильный буст.
>>644990 Хуй знает за ваш раби, но при нормальном кешировании впринципе насрасть насколько медленно какой фреймворк ворочеется а в хайлоаде любой голый фреймворк будет тормозить, если не принимать мер
>>644990 >Фрей >блог >хайлоад Зачем на каком-то заштатном блоге хайлоад? Его блог и на github.io прекрасно работал бы. А вообще зачем рельсы для хайлоада, они же вроде для прототипов, не?
>>645006 Для этого должны уже существующие feature-тесты использоваться. Если их нет, то придется разбираться, как работает, и писать feature тесты, потом уже рефакторить.
>>645006 Это ж контроллер, чего там можно сломать? Просто аккуратно вынеси всю колбасу в отдельный метод/сервис, смысл от этого не поменяется. Если хочешь тестить именно контроллер - тебе нужно сначала понять, где заканчивается его ответственность. Он точно не должен знать ничего про background jobs. Action сработал? Ок, тест пройден.
>>645012 Тестов нету, спасибо за feature тесты, возможно это что нужно. >>645016 > Это ж контроллер, чего там можно сломать? Поведение прилаги, разве нет? > вынеси всю колбасу в отдельный метод/сервис, смысл от этого не поменяется Я так, в принципе и сделал, запихал огромный case в хелпер. Что такое сервис, анончик и как его правильно использовать? inb4 паттерн, руками > Он точно не должен знать ничего про background jobs Что делать с такими штуками? jobs_ids << emails.map { |email| SendEmailsMessages.create(email: email, subject: params[:subject], body: params[:message], from: params[:user_id]) } if emails.present?
>>645139 короче делаешь тонкие контроллеры, чтобы там кроме рендеров/редиректов нихуя не было, всю логику в отдельные классы в папку app/services, views тоже глянь, чтобы там не было ничего лишнего, и чтобы они(views) не знали о моделях, повторяющийся код из view в хелперы. На какую должность то хоть?
>>645174 в DevOps иди, там 80% пердолинга с серваками, 20% программирования и участия в код-ревью. Деньги будешь лопатой грести, но надо много учиться, не в универе конечно, а у хороших наставников.
>>645165 Читал, спасибо. >>645286 >>645158 Я знаю, рубаны, однако работа по удалёнке, а в моём мухосранске особого выбора нету, а тут и опыт и красивая запись в резюме.
>>645400 > А как же Upwork? Смотрю иногда заказы, думаю, мне пока рано. > Просто 100р в час это реально рабство. За пару месяцев можно подучится и искать нормальную работу, лучше чем ничего.
>>645465 >20$/час хотя бы Я хуею с вас, если честно. Понятное дело, конечно, что многие заказчики не вдупляют цены на апворках, но всё же. Шестой год опыта уже пошёл, устраиваюсь на постоянную удаленку в стартап из Сан Франциско, боюсь просить такие цифры.. Бабло у них явно в наличии. Как считаете, сколько они платят обычному рельсану?
>>645690 возможно твой уровень не выше гавнокодеров, иначе бы давно влился сеньером куда либо, а ебашить CRUD сутками и расчитывать на высокий рейт, ну ты понял.
>>645690 >Шестой год опыта уже пошёл, устраиваюсь на постоянную удаленку в стартап из Сан Франциско, боюсь просить такие цифры..
Знаешь, что самое забавное? что для тамошних стартаперов/бизнесменов это не деньги. У них эйчарка может получать 50$/час... Ты бы запросил у них 30$/час, а они бы ещё думали, что тебя наебали и были бы довольны.
> Как считаете, сколько они платят обычному рельсану? Бери 20$/час минимум...
Супов, анончики. Вопрос дурацкий и платиновый, знаю, но стоит ли вкатываться с руби вообще с нуля? В перспективе переезд, поиск работы и прочее. Или лучше поискать пути более проторенные?
>>645890 Не отрицаю, что уровень у меня не самый высокий и ещё есть чему поучиться, но "серьеров" с 6 годами опыта я видел только на линкединах. Либо эти люди никогда и не кодили толком, а сразу пытались забраться повыше в менеджмент, либо в их конторах раздают регалии. Либо я какой-то даун, раз до сих пор не умею в архитектурные решения и считаю, что нужно этому подучиться ещё пару лет
>>645962 Описал бы подробнее свою кулстори. Хотя сразу скажу, с нуля тебе потребуется года два. Причём где в этих двух годах у етбя должен быть месяц свободного времени, чтобы ты мог с утра до ночи дрочиться с линуксом, сортировкой пузырьком и конфигом вима. Ну и потом часа по два вечером работать.
Если будешь учить: то учи параллельно теорию (сортировки пузырьком всякие, синтаксис руби) и практику (тупо ставишь рельсу и пытаешься что-то наваять).
>>645999 >>646008 Т.е. работу бросать и учить рельсу не рекомендую, лучше постараться изменить свои привычки, распорядок дня, взаимоотношения с людьми так чтобы у тебя было время на самообразование без ущерба для сна например.
А на фото Присцилла Анн, рекомендую послушать её песню: Deep Inside My Heart
>>646123 Основное - вебсокеты изкаропки (но какое-то оно всё стрёмное) и api-мод, а так мелочи всякие. Например модели теперь наследуются от ApplicationRecord по аналогии с контроллером, belongs_to по умолчанию валидирует presence и всё такое.
>>646130 И голос у неё шикарный точнее поёт она очень красиво и умело. >>646123 В презентации какой-то говорилось, что там много чего задеприкейтили и повыкидывали, чтобы немного облегчить рельсы. >>646190 Хакинтош это *BSD вообще говоря (что заметно по отличиям в поведении core-utils). Олсо, если не хочешь настраивать, то ты не очень программист будешь — хороший любит и занимается этим круглые сутки.
>>646219 >Олсо, если не хочешь настраивать, то ты не очень программист будешь — хороший любит и занимается этим круглые сутки. Я уже напердолился и хочу чтобы всё работало из коробки.
Стоит ли накатывать рельсы и писать бложек, если руби читаешь только на 10 главе? Есть опыт работы с фреймворками на php, так что структуру и основные подходы знаю.
>>646859 Бложек не делай, он ничему не научит. Лучше делай что-то другое, на что нет готового туториала. Хорошее знание руби тебе понадобится только когда начнешь гемчики пилить.
>>646859 >Есть опыт работы с фреймворками на php Надо php удалять. Программировать на нем - себя не уважать. Просто язык для ублюдков. Реально, такое ощущение что все отбросы со всех сфер, со всех социальных слоев общества собрались программировать на php. Все самые хуевые люди - это они программируют на php. Ну реально.
Налепил моделей и контроллеров в неймспейсе Users, рельсы засунули все это ну например в папке view/user (без окончания s). Потом я сгенерировал контроллер User и рельсы засунули вьюхи в view/users Так задумано? Но ведь это некрасиво. User::User что ли делать?
Реально делать какие-то проекты на рельсах для обучение без доступа к интернетам? Я уже спрашивал выше про гемы оффлайн, но не понял как скачать все возможные гемы и сделать что-то вроде оффлайн репозитория.
>>647020 Бля, а есть ли какие-нибудь проекты посложнее. А то я этих бложеков уже пилил дохуя. Просто у меня проект, есть даже кодовая база, которую надо модифицировать, чтобы до ума довести, но сука, документация на нуле. Хочется найти какой-нибудь проект поинтереснее (желательно какой-нибудь продакшен, а не очередной demo ролик и код к нему) и поковыряться в нем, разобрать что к чему.
>>647367 > demo ролик и код к нему могу сказать относительно этого видео(для него там даже небольшой плей-лист и есть что посмотреть) и кода, то в принципе он-более менее готов к выкоту в свет (чего не скажешь про его другие наработки, ну это его дело что показывать).
When I read this job I feel very excited to be a part of your team/project and share my great experience in software development.
I worked as singular developer/qa/pm in one person and like a team member with in big projects with 25 developers.
I know thorough how to start, develop and launch web sites, desktop and mobile application.
Everything you mentioned above I have been using more than 5 years: - I designed and developed DB using MSSQL, Postgre, MySQL, Oracle more than 100 referenced tables per DB; - Ruby, PHP and C# - these last used languages in e-Commerce and collaborative web sites and desktop apps; - I like your choose of Heroku. Also I worked with Google and Microsoft Azure; - I work on MAC and have experience to setup RedHat and Ubuntu for Apache and TomCat hosting web sites.
At the beginning, I would recommend to create a simple functional spec with quick UX mockups and then design DB model (ErWin is best tool to do this). Then we can make a list of short phases and timelines. Project documentation can be shared via web Git.
As you work remotely, so the best option is to use Google Doc for simple QA tracking and Trello for tasks management. If you have a budget I would recommend to use Fogbugz. I do such way many years with different teams and know how to organize all of this.
I worked remotely as a developer and PM, so know how to do this effectively. As PM I always have updated spec, list of tasks and last QA reports so when I make a call I know what should be discussed and what is the priority #1.
As you need to launch this project in a short period, I can work more than 40hr/w. I confirm that if you hire me I can launch this project in time and with high quality. I never give up and do the best.
My rate is $85/h, which is more that you expected, but I am looking for long-term cooperation and can decrease it to $65/h for the first phase so you can evaluate my work and do not lost in money.
I so like this project that can do short UX mockups for free during next 2 days if you contact me.
>>647401 MGIMO finished? Also preepecklaw of such a diverse experience during 5 years and your management skills. Had you been starting from scratch five years ago? Or did you already have some background in development?
>>647450 >детектор русскоязычного Детектор ПАРНЯ ИЗ РАСЫ ИНТЕЛЛЕКТУАЛОВ. Используйте such, посоны. Угорайте по неверному использованию артиклей, неправильному порядку слов в вопросах, путанице времён, местоимений и модальных глаголов. И вам будут давать согласие на самые высокие рейты. Ведь вы один из ГЕНИЕВ. Все работодатели прекрасно знают, что значит РУССКИЙ. Намекайте об этом, пишите об этом, кричите об этом! Such, such, such!
>>647458 Я написал что бы меня смутило - это ебаный спам и копипаста профиля. Там, где клиент хочет услышать одну вещь - твой related опыт. Я язык... Язык похуй. У меня самого хуевый английский, особенно когда я не вычитываю его (то есть всегда). Но раз ты так заботишься о том, чтобы твоя речь не была mgimo finished, старайся не использовать such. В твоем случае ты используешь "такой" в значении "очень большой", так и переводи.
>>647506 Что я тебе могу отрефакторить, если я не ебу что там у тебя дальше? засунь edges.each_slice(2).to_a в отдельный метод, больше тут ничего не посоветуешь.
>>647508 Ну, у тебя же были ситуации, когда надо что-нибудь вернуть, но если такое-то условие, то перед этим применить ещё один-два метода? Вот мне интересно, как белые люди убирают этот уродливый if.
Сосаны, наткнулся в своем мухосранске на обьявление, мол есть типа организация которая обучает программированию, языку Руби с нуля. Вот ссылка http://rubykurs.pro/. Вобщем вопрос, это не наебка и можно ли у них реально чему то научится? Как считаете, господа аноны погромизды?
>>647683 Если ты потратишь те же 9 месяцев на КНИГИ и КОД, выйдет не хуже. (а деньги — на книги, и кодеревью) А учитывая что:
>Я очень хочу научиться. Сколько стоит ваш курс?
>Мы не публикуем стоимость курса на сайте, так как у нас есть различные условия прохождения нашего курса. К примеру если вы хорошо учитесь у нас, то для вас предусмотрены скидки. Но вы можете легко узнать стоимость просто позвонив нам по телефону 0-555-86-77-66. Позвоните и мы вас с удовольствием проконсультируем.
Я бы сказал что это очередной гикбрейнс для мудил за 25 которые совсем НЕ В ТЕМЕ, — первое впечатление именно такое.
>Часть студентов после обучения начнет стажироваться и работать в компании IT-Attractor, а часть в несокльких других компаниях, которые заявили свое желания взять наших студентов на стаживроку.
>>647822 Нигде не работают (разве что на врилансе), походу это все скатывается понемногу в вузовский уровень, когда преподаватель вот уже 20 лет преподает ТЕОРИЮ по КНИГАМ.
Книги я и сам могу прочитать, видео посмотреть. За такие-то деньги.
>>647826 Вообще в защиту этих чуваков скажу, что они предлагают какое-то трудоустройство. А учиться сам ты в любом случаешь будешь должен. Говорят когда платишь деньги свои, то лучше самомотивируешься.
>>648274 * If, by chance, you care about actual politics, I am pro-Euromaidan and pro-Ukrainian, despite what you may have been told about citizens of Eastern Ukraine. In fact, most of us kharkivites are.
* If, by chance, you care about actual politics, I am pro-Cryijmija and pro-Russian, despite what you may have been told about citizens of Wester Ukraine. In fact, most of us Cryijmijans are. :3
>>648342 лол >сын программиста >мол все очень плохо. Всё ОЧЕНЬ плохо. >Наверное по той же причине, по которой в Крыму нет такой sort of european компании как Сбербанк. Что сказать-то хотел? Разве сбер позиционирует себя как гейропейский банк?
А тем временем я угорел по GNU-Screen, после того как научился копировать текст между сплитами средствами скрина стало совсем хорошо. А руби тут при том, что в скрине (ещё tmux есть да) можно парное программирвоание учудить. Ну ещё удобно держать окошко рядом и переключаться для тестирования право кода. Вот так-то. Надо ещё суметь в кастомизацию статусной строки в скрине, чтоыб совсем всё красиво было.
>>648351 >Что сказать-то хотел? Приличные белые люди пока не утвердили статус Крыма в составе РФ. >Разве сбер позиционирует себя как гейропейский банк? Конечно. Тебе нужно разделять о том как он позиционирует себя для потребителей в РФ (с которых можно драть комиссию в 1% за внутрибанковские переводы между картами одного банка) и как он позиционирует себя для инвесторов и западных партнеров.
Для приличных людей Греф позиционирует Сбер как европейский банк, скрывая в России гейропейские ставки Сбера по кредитам в европейских отделениях для неприличных российских потребителей.
>>648377 >Приличные белые люди пока не утвердили статус Крыма в составе РФ. Ты у соседей всегда разрешение спрашиваешь перед тем как пойти в магазин? Поверь, аналогия справедлива.
Герман Греф слишком честный и открытый на самом деле. Был ведь уже опыт когда народу дали по-управлять, получили интерпретацию коммунизма низведённую до «Отнять и поделить» — отняли и поделили; хотя сам коммунизм это действительно прогрессивная, красивая и даже немного романтичная идея, но давать её народу нельзя. Это происходит от того, что люди не равны: кто-то умнее, кто-то тупее и лучше не станет. И в таких начальных условиях людям надо строить общество, учитывающие общие интересы. Это как покрыть в своём gem'е все возможные юзкейсы, на всех платформах, во всех версиях руби.
>>648385 >Поверь, аналогия справедлива. Аналогия крайне некачественная. В мире фактов и аналогий нет справедливости. Факт заключается в том что большая часть мира (не менее 75% мирового ВВП Один фейл кока-колы с Крымом чего стоит) пока в сомнениях насчет признания нового статуса Крыма в составе России-2%-мирового-ВВП.
>>648405 Ну так бери в РФ валютную ипотеку, лол :3 При чем здесь вестись/не вестись, речь об условиях твоей жизни и развития, о том под какой процент ТЫ берешь ипотеку, а не о том как у соседа хорошо.
>>648409 > Один фейл кока-колы с Крымом чего стоит А что атм произошло инетресно, лол > Факт заключается в том что большая часть мира пока в сомнениях насчет признания нового статуса Крыма в составе России-2%-мирового-ВВП. Правда? Почему тогда большая часть компаний ведущая бизнес в крыму переориентировалась на работу с Россией, а Украину дропнули? Нет, в плане политической пропаганды ты прав, в СМИ пока только отдельные итальянские и французские официальные политики признали Крым российским и вообще поддержали Россию; но на деле стали работать именно с Россией.
А карты, перерисуют ещё, никуда не денутся. И вообще правда ведь странно, что майкрософты не ушли с Российского (вражеского ведь) рынка.
>речь об условиях твоей жизни и развития Компьютеры подорожали, да — хороший повод повышать скилл, вот и всё.
>ТЫ берешь ипотеку Нет ты, ипотеку никогда не брал и брать не будут.
Ты просто типичный нытик, таких в любой стране хватает.
>>648417 >А что атм произошло инетресно, лол Сначала они опубликовали рождественскую карту РФ без Крыма, Курил и Калининграда. Патриоты подняли вой. Карту РФ исправили, добавили туда Крым, Курилы и Калининград. Незалежные патриоты подняли вой.
В итоге как ты понимаешь извиняться пришлось перед всеми — ошибка менеджмента.
>А карты, перерисуют ещё, никуда не денутся. Перерисуют когда будет консенсус, пока не торопятся.
>странно, что майкрософты не ушли с Российского (вражеского ведь) рынка Мсье, в капиталистической терминологии, вражеских рынков не существует, существуют просто рынки сбыта, на которых неплохо бы добывать деньги.
>>648432 > Сначала они опубликовали рождественскую карту РФ без Крыма, Курил и Калининграда. Ээм, ладно бы без крыма, но с курилами и калининградом они таки обосрались (это термин такой) ведь?
И почему нас должны волновать ошибки их (кока-колы) менеджмента? Это они зарабатывают на нашем рынке, так пускай локализуют свою продукцию и рекламные материалы надлежащим образом. Ничего плохого тут нет: для России будут рисовать Крым российским, для Украины соответственно украинским.
>странно, что майкрософты не ушли с Российского (вражеского ведь) рынка >Мсье, в капиталистической терминологии, вражеских рынков не существует, существуют просто рынки сбыта, на которых неплохо бы добывать деньги. Сударь, я это раньше Вас понял, на что и указал ранее в саркастическом ключе, умейте видеть,милейший. Или если продолжать мысль, люди в лице корпораций вроде кока-колы, уже признали Крым российским, а политика в таких вопросах менее оперативна, такова механика работа.
Да и вообще на Украину с Крымом всем похуй, никто об этих соплях на карте и не знал до всем известных событий.
>>648409 >Ну так бери в РФ валютную ипотеку, лол :3 Зачем, если рублевая всегда оказывается выгоднее последние 25 лет? У меня есть возможность взять дом в Европе в ипотеку под европейские проценты, но только нахуя, когда в Москве жилье такие копейки стоит? Вот и беру в ВТБ под 11.4%. >При чем здесь вестись/не вестись, речь об условиях твоей жизни и развития, о том под какой процент ТЫ берешь ипотеку, а не о том как у соседа хорошо. Речь идет о банальной демагогии для скота. Европейский Сбербанк имеет столько же отношения к России, сколько российский Райффайзен имеет отношение к Австрии. А Греф говорит цинично, но правильно.
>>648445 Завтра ищешь в интернете книжку Programming Ruby 1.9 от Pragmatic Bookshelf. Похуй если ничего не поймешь. Затем идешь на http://www.ruby–doc.org/ и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь Rails 3 блеать и ни каких синатр, чтобы от зубов отскакивало. Когда напишешь свою первую соцсеть, по пути изучив верстку на haml+sass, скачиваешь и изучаешь любой гем, рекомендую Devise или Fog. Как переделаешь соцсеть, чтобы выдавала по крайней мере 50 тысяч запросов в секунду, можешь идти дальше — тебя ждет увлекательный мир социальщины. Unicorn, Thin, Goliath, сверхбыстрые асинхронные key–value хранилища, MapReduce, MongoDB. Отсос Facebook, Вконтакте, Однокласников, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любой Цукенберг будет течь при одном упоминании твоей зарплаты.
>>648470 Он чойта требует объект (вроде как с интерфейсом activemodel) для инициализации формы. А у меня есть формы, не зависящие от activerecord/activemodel моделей
>>600511 >Давайте отвлечёмся от срачей и поговорим о работе. Сейчас я работаю на Upwork на Ruby, и работы жопой жуй. Но я не вижу себя веб-макакой в будущем, а хочу интересную работу. На Upwork одновременно открыты 75 вакансий по скале, появляется по две вакансии в день. Есть и data science, и веб-разработка, и Spark. Я мечу именно в науку о данных. Хорошо знаю питон, прошёл курс по ML на курсере. Сколько мне потребуется времени, чтобы начать стабильно зарабатывать на этом хотя бы $1000 в месяц?
>>648501 Ну конечно есть, мы просто от тебя скрываем вон ту двадцати страничную книжку, потому что не хотим чтобы ты нас на апвёрке обошёл. Ладно, на самом деле чтобы программировать на руби, тебе хватит одной книги. Остальные нужны чтобы ты стал программистом, которого смогут взять на работу.
>>648518 Потому что просто оборачивает модель в новую сущность, а там шаг вправо, шаг влево - и начинаются какие-то надуманные ограничения. Вот хотя бы: property :turbolinks_enabled, type: Virtus::Attribute::Boolean
Вот такие чудеса надо делать, чтобы автоматический coersion атрибута произвести. Ну и видно, на чём он сделан. Не вижу смысла его использовать, если можно сразу Virtus.
>>648522 На самом деле нельзя сказать, что он сделан "на virtus". От виртуса там создание экземпляра Virtus::Attribute в единственном месте библиотеки, причём этот объект используется только для приведения входящего значения поля и больше ни для чего. Всё остальное сделано самостоятельно и полностью отдельно.
Алсо, хуйню с Boolean можно решить, если подмешать Axiom::Types::Boolean (не помню точное название) в Reform. Это не "ограничение", а издержки разрешения констант в рубях.
А вообще ВООБЩЕ суть Reform в том, что, во-первых это реализация контракта в фреймворке Trailblazer, reform оттуда просто вытащили, потому что типа хорошо получилось. А во-вторых, чтобы выделить всю валидацию и трансформацию входящих данных в отдельный слой, так как типа это не относится к задаче моделей (что далее уходит корнями к парадигме тонких моделей и не-MVC фреймворков). Идея вообще здравая, но требует дисциплинированного следования этой методологии. Это не так, как учат в рельсокнигах. Будет больше бойлерплейта, но с другой стороны качество кода потенциально выше.
А ещё Reform поддерживает формы для нескольких моделей одновременно.
>>648535 >А ещё Reform поддерживает формы для нескольких моделей одновременно. Во, таким образом его и использовали. В остальных случаях как-то проще получалось без, чем с.
Как выгодней выводить леньги с апворка в провинициальном городке? Хз меняют ли тут валюту вообще, поэтому желательно на руки получать рубли по текущему курсу
>>648553 Узнай какие банкусики есть у тебя в городе, потом посмотри у каких есть инетрнет-банкинг, а там уже обычно есть валютные счета, между которыми можешь конвертировать деньги. Так-то ты крут если начал на апворке зарабатывать, молодец чувак.
>>648575 Сразу видно, что ты так не делал сам. Валютный контроль запарит мозги, и могут заставить платить налоги. Вариант payoneer + банкомат с удобным курсом - по мне так куда лучше, хоть там и ежедневный лимит имеется.
>>648579 Не делал, у меня и проблемы такой, попытался предложить решение просто. Вдруг у него нет банкомата с нормальным курсом? Тут 50/50 с валютным контролем, может в свете последних событий начнут суетиться и пытаться отслеживать всех мелких физиков, а может это действительно является непосильной задачей (и я таки думаю второе).
Ищешь в городе долларовый банкомат альфабанка. Если он есть, то снимаешь $2400 за раз. Если нет, ищи другой долларовый банкомат с минимальной комиссией. Дальше эти деньги потихоньку обмениваешь на рубли для жизни.
>>648533 >Trailblazer кто-нибудь пробовал? можно посоветовать для интерпрайза? алсо, это нормально, что я боюсь юзать гемы и хочу запилить все вручную?
>>648649 Я сейчас читаю его книжку, и выглядит все охуенно Может быть многовато фич для меня, но типикал рельсоприложение рефакторится до блеска До этого юзал реформ и селлс, полет нормальный Вот книжка http://rghost.ru/6brRQ6tDx
>>648579 >Валютный контроль запарит мозги >запарит мозги физическому лицу А вот и умники подъехали, которых можно напугать двумя словами. >>648586 >Тут 50/50 с валютным контролем, может в свете последних событий начнут суетиться и пытаться отслеживать всех мелких физиков, а может это действительно является непосильной задачей (и я таки думаю второе).
Не ссы, уже 15 лет пытаются начать, да все никак.
Если хочешь долларовый счет, выбирай Альфу. Прямо себе на долларовый счет будешь переводить. Можно потом обменивать на рубли (переводить баксы по текущему курсу банка на рублевый счет) и снимать в банкомате. можешь в банкомате Альфы снимать доллары, если приспичит. Вот тебе карта, там нагуглишь свои банкоматы https://alfabank.ru/moscow/atm/moscow/map/
Можешь хранить на счету в Payoneer в баксах, снимать в банкомате в рублях. Плюсы — никакая налоговая не доебется. Минусы — курс менее выгодный, доллары остаются циферками на твоем счету, обслуживание более дорогое.
Можешь еще зарегать ИП, платить 6-7% и СПАТЬ СПОКОЙНО, только с документами для валютного контроля поебаться придется.
>>648589 Двачую этого господина. Только по моим данным в моем миллионнике доллары Альфа выдает только по своим картам, с картой стороннего банка непрокатит.
>>648748 >А вот и умники подъехали, которых можно напугать двумя словами. >Можешь еще зарегать ИП, платить 6-7% и СПАТЬ СПОКОЙНО Лучше сразу спать спокойно, чем проверять на какой сумме у них там предел и когда уже берутся за физлиц. Без ИП этим путём я бы вообще не совался даже.
Как показывать код:
Быстро - https://pastebin.com
С исполнением - https://ideone.com
Требуется аккаунт GitHub - https://gist.github.com
RUBY_SHAPKA VERSION = 1.0.8 http://pastebin.com/WFeawUy0
FAQ:
1. C чего мне начать, чтобы стать рубистом?
Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и теже вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby. А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Следующий уровень, продвинутые книги по руби:
Confident Ruby by Avdi Grimm
Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition
Ruby Under a Microscope для любителей залезть под капот.
Документация по стандартным библиотекам http://ruby-doc.org/
Можно пройти руби онлайн - http://tryruby.org/levels/1/challenges/0
Не веришь в свои силы? Прочитал уже книжек много и силы свои хочешь познать, сделай - http://rubykoans.com
И вот еще https://rubymonk.com/ - Матц одобряет.
2. Какой gem посмотреть, чтобы понять, как писать код?
Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
А еще можешь полистать на гитхабе гемы с нарастающей популярностю.
https://github.com/trending?l=ruby
Там еще нет тысяч строк, и тебе будет легче понять.
3. Есть ли GUI для руби?
Да. Есть обвязки к Qt, GTK, wxWidgets, Shoes, fxruby (одобренный).
4. Можно ли писать на руби мобильное ПО?
Да. Для iOS есть RubyMotion терпимого качества, для Android - лагающий и падающий, но всеми силами развивающийся ruboto. Для WinPhone до сих пор ничего не завезли.
5. Как установить разные версии рубей?
Легко и просто: https://github.com/sstephenson/rbenv
И это тоже, легко и просто: https://rvm.io
6. Что почитать по рельсам?
http://guides.rubyonrails.org
http://ruby.railstutorial.org
API: http://api.rubyonrails.org
Прекрасные туториалы в стиле for dummies - http://www.theodinproject.com/ruby-on-rails , а вот тут все тоже, но на русском http://codenamecrud.ru/
Классический вводный туториал, где делается с нуля клон твиттера, для новичков в rails самое то - https://www.railstutorial.org/book
Для дотошных читателей есть The Rails 4 Way.
7. Хорошие практики по руби и рельсам?
Читаем Rails AntiPatterns, смотрим Rails Best Practices, также неплохо посмотреть Rails Recipes.
Почитайте еще Grimm A. - Objects on Rails
Еще продвинутое чтиво - http://tutorials.jumpstartlab.com/
8. Ruby/Rails блоги, рассылки и твитторы
IRC каналы на FreeNode: #ruby, #ruby-core, #RubyOnRails, #rails (не очень активен).
Твитторы @rails, @dhh, @yukihiro_matz, @wycats, @tenderlove
Рассылки ruby-core, rails-core, rails-talk
Подкасты:
- http://rubyrogues.com
- http://ruby5.envylabs.com
Скринкасты:
- http://railscasts.com
- https://peepcode.com
- https://www.destroyallsoftware.com
- http://railsforzombies.com
Блоги:
- rubyflow.com - каждый день новости, новые библиотеки, обновления, все дела.
- rubysource.com - читаем интервью, хорошие практики, и безумные сравнения упоротого дибила-индуса на самом деле их пропускаем
- rubyinside.com - новости, туториалы.
- rubyweekly.com
- http://37signals.com/svn
- http://yehudakatz.com
- http://afreshcup.com
9. Я не могу в английский, что делать, анон?
Идти учить английский, без него тут делать нечего.
10. Есть ли у руби русское коммьюнити?
Нет. Вернее есть, но оно протухло и там полно людей у которых чсв высоко.
Яркий пример - [email protected]
А еще есть русская слак конфа - https://russiandevs.slack.com она общая, но есть очень активный руби канал.
Так же русская гугл группа, активная - https://groups.google.com/forum/#!forum/ror2ru
Еще вот - https://onrails.club/
11. Какие гемы стоит знать?
capybara, rack, rspec, devise, cancancan, simple_form, solr, sinatra, тысячи их.
Поиск гемов https://www.ruby-toolbox.com
12. Зачем нужны тесты и как их писать?
http://rusrails.ru/a-guide-to-testing-rails-applications
http://habrahabr.ru/post/163597/
Вместо этого можно прочитать классную книгу Everyday Rails Testing
13. Где можно задать глупые и не очень вопросы?
- здесь
- stackoverflow.com
- тематические slack-конфы
- а вообще, гугли, с вероятностью в 90% ответ на твой вопрос уже висит на stackoverflow.
14. Как фокнуть\сделать фичу\исправить баг, сложно ли это?
Нет, не сложно. На rubyflow появляется много новостей с реализацией новой библиотеки, вы можете сделать тесты, фичу для него, старые либы также обрастают багами, улучшайте их! пишите код.
15. В чём писать код?
Atom, Brackets, Sublime Text, TextMate, Vim, GNU Emacs. Для особо упоротых энтерпрайз-макак есть rubymine, плагины к эклипс и нетбинс.
16. Можно ли писать на руби с под windows?
Можно, но придется обрасти костылями в виде виртуальной машины, придется сходу разбираться с Vagrant и многим другим. Чем дальше ты продвигаешься, тем ближе становится ясно, что пора перекатываться на linux/mac
17. Руби язык одного фреймворка?
Есть еще Sinatra, Hanami (ранее Lotus), Volt, Grape, отличные штуки для DevOps - Chef, Puppet и годные генераторы для бложиков - Jekyll, Middleman, всё это активно используется в продакшене
18. Можно ли делать игры на Ruby?
Можно, но не нужно. Гем Gosu.
19. Ютуб каналы
Youtube driven development...
Вот тебе пара каналов, но никому не говори что учишься по видео.
https://www.youtube.com/channel/UCIQmhQxCvLHRr3Beku77tww/videos
https://www.youtube.com/channel/UCfWZwsP8trUy5uHJg8gcGIQ
https://www.youtube.com/channel/UCSI77lJlzlCFPLdV1RSAoYQ
https://www.youtube.com/channel/UCPIyDzf1vwWc8EQJGUX-vYw - тут на ру$$ком даже.
20. Как и где искать работу?
Легко и просто - http://rubyjobs.ru/
Не так просто - https://upwork.com/
Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.
TODO лист для ньюфагов:
И так, ты поставил руби, уже сгенерировал свой первый проект rails new pidaras
Начни уже с платинового пути, блог >> клон твиттера >> своя имейджборда >> свой гем >> дальше сам придумаешь.
Рекомендации:
1. Для блога, создать роли, Админ, Пользователь (можно использовать паттерн form object). Прикрутить лайки, комментарии.
2. По твиттеру, следуя гайду Хартла, пиши все то что он предлагает в качестве доп. заданий, например оповещение по нику (@eblan: привет)
3. По имиджборде: воссоздать по возможности полный функционал, в этом случае придется ознакомится с javascript/jquery/coffeescript, но тебе так или иначе придется. Еще хорошей фичей будет использование background job и крон тасков (sidekiq, whenever), чтобы заполнять свою борду тредами и постами с другой борды, можно использовать api двача, чтобы вытягивать треды и посты - https://github.com/ID25/api_2ch
4. Не стесняемся постить свои репозитории, наши эксперты с радостью отревьювят вас.
После этого тебе будут нужны паттерны, без них твой код превратится в говно. Один из часто используемых - Service Object.
https://netguru.co/blog/service-objects-in-rails-will-help - о сервисах
Еще паттернов - https://robots.thoughtbot.com/back-to-basics-solid
Но самый читаемый код, как и следовало ожидать, даёт функциональное программирование. Начни отсюда:
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-i/
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-ii/
http://www.sitepoint.com/functional-programming-techniques-with-ruby-part-iii/
http://www.sitepoint.com/functional-programming-pure-functions/
http://www.sitepoint.com/functional-programming-ruby-value-objects/
Только не переборщи. Руби - не функциональный язык, и иногда такой код может работать медленней.
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.
Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.
Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.
Ну, а мы открываем очередной Ruby Thread.