Сохранен 546
https://2ch.hk/pr/res/603266.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Ruby Thread

 Аноним 14/12/15 Пнд 17:18:56 #1 №603266 
14501027367870.png
14501027367881.png
14501027367902.jpg
Предыдущий: https://2ch.hk/pr/res/560026.html


RUBY_SHAPKA VERSION = 1.0.6

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, devise, 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, Lotus, Volt, Grape, отличная штука для DevOps - Chef и годные генераторы для бложиков - 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/
Не так просто - upwork.
Еще вконтакте есть группы по руби/рельсам, там иногда постят вакансии. Еще в русской гугл группе постят вакансии. Новичку будет сложно, но возможно.

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
Прочитал? Теперь рефактори то, что уже написал. И не забывай покрывать тестами.

Хорошим финалом будет деплой, это пожалуй самое болезненное, и ничего общего с деплоем на heroku, где тыц тыц и готово. Придется поковыряться со смежными вещами и узнать много нового, уже устоявшийся гем для таких дел - Capistrano.

Не забывайте спрашивать у анонасов вопросы, код лучше показывать через gist или pastebin с подсветочкой.
Ну, а мы открываем очередной Ruby Thread.
Аноним 14/12/15 Пнд 18:57:04 #2 №603343 
Рубаны, вы где?
Аноним 14/12/15 Пнд 18:59:51 #3 №603344 
>>603343
ищут работу
Аноним 14/12/15 Пнд 21:36:53 #4 №603533 
Как правильно использовать сервис объекты? В одних гайдах пишут что это должны быть классы с одним статическим методом, которые не сохраняют собственное состояние. В других же приводят в пример классы со множеством методов и сохранением состояния.
Аноним 14/12/15 Пнд 21:54:42 #5 №603553 
эй, вкатывающиеся старперы, конфу в телеграмме делать буим?
Аноним 14/12/15 Пнд 22:00:04 #6 №603557 
>>603533
>классы с одним статическим методом, которые не сохраняют собственное состояние
И что за классы без состояния? Для этого есть модули.
>Как правильно использовать сервис объекты?
Каком кверху. Ты не видишь, где лучше модуль использовать, а где класс?
Аноним 14/12/15 Пнд 22:02:04 #7 №603560 
>>603533
>сервис объекты
>классы с одним статическим методом, которые не сохраняют собственное состояние
Вообще, я хуею с ньюфагов. В других ЯП то, что ты описал называется ФУНКЦИЯ. Ого, да, слышал про такое? Может ты ещё про циклы не знаешь?
Аноним 14/12/15 Пнд 23:28:54 #8 №603683 
>>603553
что за телеграм вообще?
Там слак предлагали, я вроде как за него.
Аноним 14/12/15 Пнд 23:34:59 #9 №603700 
>>603683
да творение пашки дурова же. мессенджер, ориентированный на бОльшие группы ебал в конфе.
Аноним 14/12/15 Пнд 23:35:57 #10 №603702 
>>603700
а ещё стикеры в виде MEMES
Аноним 14/12/15 Пнд 23:38:07 #11 №603703 
>>603700
> большИе.
Аноним 14/12/15 Пнд 23:54:46 #12 №603732 
>>603560
>>603560
Лучше бы не выставлял на показ свое невежество. Я полагаю, ты пишешь исключительно на JavaScript, или являешься школьником, что не имел опыта в коммерческих проектах, иначе бы имел представление о инкапсуляции комплексного действия в отдельный класс, который только это действие и выполняет. А чтобы не быть многословным, вот:
https://blog.engineyard.com/2014/keeping-your-rails-controllers-dry-with-services
http://brewhouse.io/blog/2014/04/30/gourmet-service-objects.html
https://www.netguru.co/blog/service-objects-in-rails-will-help
(а это вообще взято с шапки, которою ты, к несчастью, не соизволил прочитать)

>>603557
Еще один, если бы ты имел коммерческий опыт разработки или читал бы исходники хоть одного гема, то имел бы понятие о то, что модули используются исключительно для:
а) библиотек методов
б) миксинов и концернов
в) в качестве неймспейсов для других модулей и классов

В вышеприведенных ссылках приведены два паттерна, которые в среде руби разработчиков носят одно название, но носят несколько отличные функции, что вносит определенную путаницу. Сам я - в равной мере встречал их оба.
Как можно было бы понять, если бы вы вообще имели понятие о подобных паттернах или проблемах в архитектуре средних и больших приложений, меня интересует не то, что стоит использовать для конкретного случая, а какая вариация данного паттерна встречается в среде других разработчиков. А все потому, что сам я использую обе вариации, и не знаю, как их лучше, и, соответственно, более понятно для других разработчиков, наименовать и разделять в структуре директорий рейлс проекта.
Аноним 14/12/15 Пнд 23:55:44 #13 №603733 
>>603700
ну можно в принципе, я не против, хотя ставить еще один очередной мессенджер трохи впадло.
Аноним 15/12/15 Втр 00:05:54 #14 №603739 
>>603733
а я слэк этот ваш скочал уже. вроде стильно, можно, молодежно. ща тестю что лучше.
телеграм палит телефон, а слек мыло. но в телеграме memes. и можно добавлять не только картинку или файл, но и видосик даже песенку
Аноним 15/12/15 Втр 00:37:03 #15 №603798 
Ребят, а вам не стыдно на этом писать? Я вот учу понемногу, но у меня один знакомый на плюсах пишет, второй на скале, они меня чморят за это. Сравнивают Руби с инвалидной коляской среди языков. Что им ответить?
Аноним 15/12/15 Втр 00:38:29 #16 №603802 
>>603798
Пхп хуже, а для веба выбор не велик.
Аноним 15/12/15 Втр 00:38:30 #17 №603803 
>>603798
puts gets
Аноним 15/12/15 Втр 01:05:56 #18 №603852 
>>603798
Можно в обычном двачестиле начать переводить стрелки вроде А ВОТ В ВАШЕМ ЯЗЫКЕ... Правда ирл это будет смотреться убого. Лучше скажи, что просто начинаешь учить погромирование с руби, а потом перекатишься на нормальные языки.
Аноним 15/12/15 Втр 01:21:54 #19 №603875 
>>603802
>для веба выбор не велик
Ты серьезно? В вебе самый богатый выбор. Можно сходу назвать десяток основных языков, а малоизвестных ещё больше. Мир не ограничивается руби и пхп.
Аноним 15/12/15 Втр 01:25:05 #20 №603879 
>>603875
Теперь зайди на одеск и посмотри сколько там вакансий на питоне, а писать не на скриптовых языках - зашквар.
Аноним 15/12/15 Втр 01:58:52 #21 №603905 
>>603879
>одеск
Ну окей, во фрилансе может и такая ситуация. Но что делать, если мне больше шестнадцати лет, а пилить фейсбуки для слабоумных заказчиков до конца жизни не хочется?
Аноним 15/12/15 Втр 02:14:47 #22 №603909 
>>603905
Как будто в офисе ты не пилишь фейсбуки для слабоумных заказчиков до конца жизни
Аноним 15/12/15 Втр 03:29:06 #23 №603924 
>>603905
Учи С++, будешь писать фотошопы для слабоумных заказчиков.
Аноним 15/12/15 Втр 03:57:05 #24 №603933 
Вот не надо про слабоумных заказчиков, на фрилансе некоторые заказчики это такие же программисты которые не справляются с большим заказом для слабоумного заказчика.
Аноним 15/12/15 Втр 04:36:24 #25 №603942 
>>603933
Но в конечном итоге то мы выполняем сумбурные желания слабоумных заказчиков.
Аноним 15/12/15 Втр 05:02:57 #26 №603946 
>>603942
Конечно сумбурные и всё такое, но если их не будешь выполнять ты, то выполнит кто-то другой и получит за это ТВОИ деньги (но они не будут твоими, потому что ты их не заработал).
Вот тут мы и подходим к большой беде этого мира — мы не отдельные существа, а социальные и в любом случае придётся взаимодействовать с другими людьми.
И если у заказчика есть деньги чтобы платить тебе за выполнение его желания, то не такой уж он и глупый.
Аноним 15/12/15 Втр 06:00:10 #27 №603951 
>>603946
Нет, если заказчик платит ему, то он идиот, умные платят мне.
Аноним 15/12/15 Втр 06:23:49 #28 №603954 
>>603951
На правах рекламы.
Аноним 15/12/15 Втр 08:10:37 #29 №603970 
>>603798
Пошли нахуй, вот почему. Не знаю ни одного человека из около 15 знакомых из разных областей, кто говорил бы мне такое. Вот жс чморят иногда, да и то уже смирились давно.
Аноним 15/12/15 Втр 13:15:15 #30 №604116 
>>603970
>Пошли нахуй, вот почему.
Не используй американизмы, тупая лалка.
Аноним 15/12/15 Втр 13:20:08 #31 №604120 
>>603970
Ну хуй знает, жс гораздо более низкоуровневый, чем руби.
Аноним 15/12/15 Втр 13:41:04 #32 №604128 
>>604116
Патамуша абама абизяна и нада руссссским духом пахнуть и чтоб скрепу духовную не потерять?
Тебя как сюда занесло, говно? Иди на 1с пиши.
Аноним 15/12/15 Втр 13:46:57 #33 №604133 
>>604128
Блядь, как вы достали тупорылые малолетние пиздюки — вас бы даже в самой америке адекватные американцы палками с гвоздями забили за такую манеру речи.

>и нада руссссским духом пахнуть
И что после того как ты написал это косноязычное выражение (которое непереводимо, точнее непереложимо на русский) ты стал пахнуть эльфом? Ты как был орком так и остался.

И я не запрещал тебе учить американский английский, идиот недоразвиты, что ты вообще забыл в разделе о программировании?
Вам в /b/, сударь.
Аноним 15/12/15 Втр 13:53:37 #34 №604138 
>>604133
Эта пидарашка прорвалась, несите новую
Какие эльфы, ты о чем? Совсем уже водки обожрался, окаянный?
Аноним 15/12/15 Втр 14:03:58 #35 №604148 
>>604120
Лол, где это? Он просто неудобный, а насчет "уровней" - в руби можно при большом желании вручную стартовать gc, а жс вообще что-нибудь умеет насчет памяти? То-то же.
Аноним 15/12/15 Втр 14:06:50 #36 №604150 
>>604138
Да-да, все кто критикует косноязычность и неумение пользоваться родным языком — пидорашки, конечно.
У самого-то небось жопа немытая и пивас в холодильнике с кальмарами?
Аноним 15/12/15 Втр 14:10:27 #37 №604155 
>>604150
Засим извольте во пизду отправиться.

Автор американизма
Аноним 15/12/15 Втр 14:15:08 #38 №604159 
>>604155
Не лгите милейший, авторство, отнюдь, не ваше.
Вы отметились в истории лишь своим позором.
Аноним 15/12/15 Втр 14:23:41 #39 №604165 
>>604159
Срамной уд кладал я на ваше зело важное мнение.
Аноним 15/12/15 Втр 14:30:02 #40 №604173 
>>604165
Мысли вашей полёт низок и скоротечен (и предсказуем!).
Коль безразличие ко мне от вас лишь было суждено,
то и ответа можно было и не ждать.
Аноним 15/12/15 Втр 14:45:37 #41 №604194 
>>603553
>>603700
Gitter еще есть
Аноним 15/12/15 Втр 14:55:43 #42 №604200 
>>603798
Знакомая ситуация. На прошлой работе было три отдела - основной (жава + скала), БД (самописная база на плюсах) и веб (пхп + руби). Очевидно, что веберов во всей компании читали унтерами и постоянно подъёбывали, причем между языками разницы не делали. Уволился откуда из за этого, теперь жалею, ибо платили там весьма и весьма неплохо, но это отношение как к недочеловеку бесило. Даже начальство в конфликте рубиста и плюсовика предпочитало плюсовика.
Аноним 15/12/15 Втр 15:01:54 #43 №604205 
>>604200
Такое отношение - признак разъебайства, я гарантирую. Ну не видел я ещё ни одного гуру, позволявшего себе подобное.
Аноним 15/12/15 Втр 15:03:54 #44 №604208 
>>604205
В натуре, гнилая контора у него какая-то, профессионалы так не делают.
Аноним 15/12/15 Втр 15:06:55 #45 №604209 
Пашка заебал пиарить свой телеграм на борде, хз сколько он макаке отсыпал но после этого форса туда ни ногой, лучше уж слак.
Аноним 15/12/15 Втр 15:36:10 #46 №604237 
>>604200
Отсутствие корпоративной этики.
Многие маленькие конторки таким страдают.
Аноним 15/12/15 Втр 15:38:31 #47 №604239 
>>603798
>>604200
Ответить можно следующим образом: прокачать скилл и уйти из их конторы в более нормальный коллектив, вот и всё. Это как с соседями алкашами-перфораторщиками, помогает только переезд.
Аноним 15/12/15 Втр 15:46:15 #48 №604249 
>>604239
Так я и ушел, о чем теперь и жалею, ибо в остальных местах хорошо если если 100к есть, а там платили 220к за ненапряжную работу.
>>604200-кун
Аноним 15/12/15 Втр 15:48:48 #49 №604251 
>>604249
Ну, бывает чо.
Аноним 15/12/15 Втр 16:42:28 #50 №604291 
>>604249
Чувак, а на что похож Ruby код за который платят 220k(или 100k) в месяц?
Аноним 15/12/15 Втр 17:18:41 #51 №604331 
>>604291
На функциональнищу, и минимум рейлс-конвеншнс.
мимо видел такой код
Аноним 15/12/15 Втр 19:10:22 #52 №604466 
Кто работает на Ruby за пределами Rails-стека, чем занимаетесь, какие технологии используете?
Аноним 15/12/15 Втр 19:17:55 #53 №604474 
>>604466
Internet Explorer, MS PowerPoint, Спутник mail.ru
Аноним 15/12/15 Втр 19:24:00 #54 №604484 
14501966404290.jpg
https://telegram.me/joinchat/B0c7AgLb9sBUjB2xNfFEhA

Лан, пацаны, давайте попробуем Telegram. Кто хочет слэк, кидайте В тредец фэйкомыльца, я поинвайтю, потому-что не нашёл как там без почты инвайтить.

В уютный чатик приглашаются вечновкатывающиеся куны 23+, желательно с опытом вкатывания не больше полу года, и мамкины 19летние синиоры, чтоб нас тралеть..

Пока особо тем не поднимаем, а посмотрим, сперва, сколько нас будет. В прошлом треде 4х насчитал.
Аноним 15/12/15 Втр 20:04:16 #55 №604517 
Рельсаны, что будет актуальней во фрилансе, ангуляр2 или реакт, в связке с рейлс.
Аноним 15/12/15 Втр 20:25:14 #56 №604537 
>>604484
>Кто хочет слэк, кидайте В тредец фэйкомыльца
В /wrk для этого сделали приложение на heroku, отсылаешь туда json и оно шлёт тебе инвайт. Может запилю, если будет время, ну или кто-нибудь из анонов сделает.
Аноним 15/12/15 Втр 20:38:02 #57 №604546 
>>604484
зачем оно хочет мой телефон?
Аноним 15/12/15 Втр 20:54:26 #58 №604560 
>>604546
Пашка ж с фсб.

По принципу вайбера прост. Регистрация через телефон.
Аноним 15/12/15 Втр 21:10:06 #59 №604570 
Сап. Вы тут собираетесь пилить свою конфу, в которой скорее всего будет малое число людей. Мы предлагаем вам идею получше - присоединиться к уже существующей нашей. У нас есть неплохой постоянный онлайн, который позволяет вести интересные дискуссии без потери ламповости. Сейчас в ней существуют каналы для следующих языков - Ruby, Clojure, JS, а также общий канал по разработке, канал по изучению английского языка, канал по поиску работы и общий канал для ламповых бесед. Вы сможете пообщаться с гуру, выслушать их истории успеха, помочь юным новичкам и много другое! Присоединяйтесь!

Оставляйте фейкомыльце в треде или пишите сюда - [email protected]
Аноним 15/12/15 Втр 21:12:49 #60 №604572 
>>604570
Ебнутый на политике хохол-неймфаг с лепрозория, что может пойти не так?
Аноним 15/12/15 Втр 21:19:24 #61 №604579 
>>604570
> скорее всего будет малое число людей
ну мы так и задумывали.
я представляю нашу конфу, как начинающие рубисты общаются на тему вкачивания, что лучше читать, с чего начать, что учить сперва, а что можно потом. так-же, неплохо просто в конце дня отчитаться/похвастаться в конфу, что нового прочел/выучил/написал. это очень хорошо стимулирует процесс усвоения материала.

просто в прошлом треде оказалось, что на этой доске как минимум 4ро начинающих после 23 лет руби-куна. думаю вместе было б намного проще.
Аноним 15/12/15 Втр 21:19:59 #62 №604580 
>>604572
Что?
Аноним 15/12/15 Втр 21:21:34 #63 №604582 
>>604579
ну можно влиться в существующую конфу, и создать там свой канал "newfags", например
Аноним 15/12/15 Втр 21:22:40 #64 №604585 
>>604579
Так и у нас мало! Я же отметил, что у нас ламповая атмосфера и небольшое число людей. А про
>в конце дня отчитаться/похвастаться в конфу, что нового прочел/выучил/написал. это очень хорошо стимулирует процесс усвоения материала.
попадание 10/10, именно так у нас всё и проходит.
Аноним 15/12/15 Втр 21:24:23 #65 №604589 
>>604582
Да у нас там почти все ньюфаги, лишь двое тру гуру. Создание канала - не проблема.
Аноним 15/12/15 Втр 21:24:39 #66 №604590 
ну чо, посоны, идем к этой >>604585 чушке?
все зря телеграм ставили?
Аноним 15/12/15 Втр 21:26:25 #67 №604593 
>>604590
Идите куда хотите, я с вами, но только не в телеграм. В пашкину телеграмопарашу я не полезу.
Аноним 15/12/15 Втр 21:35:58 #68 №604610 
>>604570
Если не хотите ждать инвайта - лучше пишите прямо в тред фейкомыльца (10minutemail и аналоги подходят), а кто-нибудь из модераторов будет инвайтить. У хохла-неймфага, судя по всему, какие-то проблемы с электричеством.
Аноним 15/12/15 Втр 21:39:27 #69 №604613 
[email protected]
Аноним 15/12/15 Втр 21:40:34 #70 №604615 
>>604610
[email protected]
Аноним 15/12/15 Втр 21:52:12 #71 №604629 
[email protected]
Аноним 15/12/15 Втр 21:54:19 #72 №604634 
>>604613
>>604615
>>604629
Выслал
Аноним 15/12/15 Втр 22:11:23 #73 №604651 
>>604634
Спасибо. Годная конфа.
Аноним 15/12/15 Втр 22:22:36 #74 №604666 
>>604634
Что там у вас? Не хочу просто так в анальный телеграмм лезть.
Аноним 15/12/15 Втр 22:24:06 #75 №604667 
>>604666
мы уже все на слак перебрались. в телеграме 1.5 анона.
Аноним 15/12/15 Втр 22:26:58 #76 №604670 
>>604667
Тогда [email protected]
Аноним 15/12/15 Втр 22:37:28 #77 №604683 
>>604667
еще один [email protected]
Аноним 15/12/15 Втр 22:38:18 #78 №604685 
>>604683

выслал
sageАноним 16/12/15 Срд 01:05:27 #79 №604806 
>>604685
А где комната по руби?
Аноним 16/12/15 Срд 01:11:15 #80 №604807 
>>604806
#ruby
А вообще хуле ты здесь спрашиваешь, там в рандоме и спроси. Каналы по языкам пишутся как #ruby #javascript и далее.
Аноним 16/12/15 Срд 02:22:57 #81 №604827 
>>604667
Нахуй слак, дебилы, в телеграме можно хотя бс телефона нормально сидеть в случае чего и клиент в маке хороший,а слакопараша не нужна
Аноним 16/12/15 Срд 08:15:00 #82 №604867 
>>604827
Телеграмм сделан дуровым, дуров сделал ВК, в приличном обществе за такое предают анафеме. Плюс дуров ненавидит россию и русских (даже русских либерашек) и у него комплекс мессии или что-то такое. Кароч не, лучше слак. Хотя мне и слак не норм.
Лучше джаббер, но все джаббер клиенты какое-то говно. Хорошего мессенджера и нет сегодня.
Аноним 16/12/15 Срд 08:24:12 #83 №604869 
>>604827
В том-то и дело, что телеграм очень навязчивый и подходит только ебнутым неймфагам.
Аноним 16/12/15 Срд 08:26:04 #84 №604870 
>>604867
Бля, да любой здравомыслящий индивид ненавидит Россию и русских.
Аноним 16/12/15 Срд 08:40:25 #85 №604872 
>>604870
Ненавидеть себя конечно можно, но это не продуктивно. Бля.
Аноним 16/12/15 Срд 09:00:53 #86 №604877 
>>603732
https://github.com/bbatsov/ruby-style-guide#modules-vs-classes
Если бы ты читал стайлгайды то имел бы понятие о том, что классы нужно использовать только когда тебе реально нужен инстанс.
Другой вопрос в том, что, как правило, реально правильнее сделать класс у которого будет что хранить в инстансе.
Ну и да, аппелировать к гемам не стоит. Например, под капотом рельс творится ад. В стандартных рубёвых библиотеках ещё и Израиль.

> В одних гайдах пишут что это должны быть классы с одним статическим методом, которые не сохраняют собственное состояние. В других же приводят в пример классы со множеством методов и сохранением состояния.

В первом случае это, наверное, правильно назвать хэлперами.
В моём понимание сервисы это, всё же, второй вариант. нужны и те и те в зависимости от целей
Меня смущает только вот это:
> классы со множеством методов
Сервисы тоже должны быть солидными, так что с этим надо осторожнее.

А вообще, чтобы из пустого в порожнее не переливать, скинь примеры гайдов - обсудим на примере.
Аноним 16/12/15 Срд 09:07:26 #87 №604878 
>>604827
У слака тоже есть нормальный клиент под телефон.
Аноним 16/12/15 Срд 09:13:48 #88 №604881 
>>604877
>Ну и да, аппелировать к гемам не стоит.
>Например, под капотом рельс творится ад.
>В стандартных рубёвых библиотеках ещё и Израиль.
Меня всегда удивляют вот такие заявления. А с чем вы сравниваете? Где вы видели нормальные эталонные библиотеки вылизанные до совершенства?

PHP вот тоже ругают, что всё там плохо, просто ад, программировать на нём невозможно и при этом комьюнити растёт, и фейсбуки всякие пилят.

Вангую талонная библиотека написана на C в 1974 году в качестве докторской диссертации, её текст выставлен в палате мер и весов, фотографирование запрещено и пользователей ноль.
Аноним 16/12/15 Срд 09:17:07 #89 №604883 
>>603732
>>604877
А. В глаза долблюсь. Сорри. Не заметил ссылки.
Мне ближе первый и третий вариант.
В первом пример более глобального сервиса по типу "менеджер".
В третьем - всякие разновидности типа формобджектов и прочее.
А вот второй выглядит странным. Для меня это выглядит примерно так:
> 1. Пишем всё в контроллере
> 2. Ой, толстые экшены, давайте часть функционала вынесем в приватные методы.
> 3. Ой, толстый контроллер, давайте часть приватных методов унесём в хэлперы.
В итоге, контроллер и его экшены худеют, но толку от этого никакого - грязь просто размазалась по хэлперам.
+ зачем-то оказывается часть приватной логике в паблике, хотя вряд ли будет где-то реиспользоваться.
Название метода call это отдельная песнь. С тем же успехом можно было бы определить Proc. По сути получилось то же самое. замерить бы различие производительность проков от таких вот классов.
В общем, мне не нравится совсем.
Аноним 16/12/15 Срд 09:20:10 #90 №604885 
>>604881
> А с чем вы сравниваете?
Со стайлгайдами хотябы. С принципами солида.
Да и читается это всё это трудновато.
Аноним 16/12/15 Срд 09:21:16 #91 №604886 
>>604883
Разве в этом вашем Ruby нельзя писать всю логику в модели, как и положено?

> Начинающие программисты (особенно в веб-программировании, где аббревиатура MVC стала популярна) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. В этом случае модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику. В результате код моделей по факту является средством получения данных из СУБД, а контроллер представляет собой типичный модуль, наполненный бизнес-логикой, или скрипт в терминологии веб-программирования. В результате такого понимания MVC разработчики стали писать код, который Pádraic Brady, известный в кругах сообщества Zend Framework, охарактеризовал как ТТУК — «Толстые тупые уродливые контроллеры» (Fat Stupid Ugly Controllers)

> Но в объектно-ориентированном программировании используется активная модель MVC, где модель — это не только совокупность кода доступа к данным и СУБД, но и вся бизнес-логика. Следует отметить возможность модели инкапсулировать в себе другие модели. В свою очередь, контроллеры представляют собой лишь элементы системы, в чьи непосредственные обязанности входит приём данных из запроса и передача их другим элементам системы. Только в этом случае контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы.
Аноним 16/12/15 Срд 09:33:18 #92 №604891 
>>604886
Можно. Но в неопытных руках модели (а иногда и контроллеры) превращаются в монстров. Сервис-обджекты добавляют промежуточные слои асбтракции, благодаря чему код проще поддерживать.
https://youtu.be/pq00HQR-56Y
Аноним 16/12/15 Срд 09:52:51 #93 №604894 
>>604867
Ебать. Ты правда готов отказаться от продукта из-за того, что у тебя с создателем не сходятся взгляды на что-то?
>>604869
Ты намекаешь на то, что есть чаты без ников или что? Какие?
Аноним 16/12/15 Срд 10:01:14 #94 №604896 
>>604894
>Ебать. Ты правда готов отказаться от продукта из-за того, что у тебя с создателем не сходятся взгляды на что-то?
Если очень сильно не сходятся, то конечно могу, я же человек, а не машина.
Конечно если работодатель будет требовать использования телеграма, то я буду использовать.
Но мне телеграм не нравится из-за того что его всюду форсят, как и вконтакт(фейсбук и прочие социальные отстойники) этот грёбаный. Ватсап этот вонючий ещё.
В телеграме либерашки, в ватсапе ватники.
Аноним 16/12/15 Срд 12:03:23 #95 №604954 
>>604896
>В телеграме либерашки, в ватсапе ватники.
А где дартаньяны?
Аноним 16/12/15 Срд 12:05:14 #96 №604955 
>>604954
Я бы сказал что в джаббере, потому что он мне нравитсяхоть и все клиенты там говно.
Но Д'Артаньяны просто не сидят в чатиках.
Аноним 16/12/15 Срд 13:35:37 #97 №604991 
>>604954
В скайпе, тысяча чертей!
Аноним 16/12/15 Срд 17:07:52 #98 №605127 
>>604991
У меня показывает что в скайпе 63 миллиона чертей.
Аноним 16/12/15 Срд 17:56:55 #99 №605161 
>>605127
Бля, больше чем у меня в универе
Аноним 16/12/15 Срд 21:16:46 #100 №605317 
Мне тоже инвайт, плиз.

[email protected]
sageАноним 16/12/15 Срд 23:51:52 #101 №605545 
>>604877
Похоже на то. Только по факту - я редко вижу, чтобы кто-то использовал модули в таких целях. И если бы читал внимательнее, то я первым пунктом написал, что они используются как библиотеки методов.
К примеру, те же сервис объекты, как модули - никто делать не будет. Делать инстансные переменные класса в модулях никто не будет.


>Сервисы тоже должны быть солидными, так что с этим надо осторожнее.
Надо же их хоть именовать по-разному, иначе слишком много путаницы происходит.

Аноним 17/12/15 Чтв 02:22:00 #102 №605624 
Почитал про руби, потрогал курсы на codeschool, интересный конечно язык (особенно в плане восприятия кода, похоже на чтение книги или эссе какого-нибудь). Даже выучить захотелось, но я уже староват для этого дерьма и имею гуманитарный склад ума, да и веб-разработчиков думаю сейчас как говна, сомневаюсь, думаю с работой тяжко.
Аноним 17/12/15 Чтв 15:45:14 #103 №605901 
>>605624
ты зачем в тред-то заходил?
Аноним 17/12/15 Чтв 16:54:42 #104 №605951 
>>605545
> sage
Праноик дес~ка?
Аноним 19/12/15 Суб 00:36:34 #105 №607100 
Посоны, 3 год работаю в своем мухосранске php, недавно даже перекочевал на сносную работу %% на 20-30% больше платят, чем в среднем по городу%, оче хочется перекатится на руби, какие подводные камни, как с работой в регоинах/столицах?
Аноним 19/12/15 Суб 00:39:07 #106 №607102 
>>607100
В регионах печально. Оставь свою почту, спросишь в чате у работающих.
Аноним 19/12/15 Суб 12:12:27 #107 №607250 
>>607100
>хочется перекатится на руби, какие подводные камни, как с работой в регоинах/столицах?
Видел вакансии в Москве, Питере, Казани, Краснодаре, Екатеринбурге
high load Аноним 19/12/15 Суб 12:24:49 #108 №607254 
Сап, программач
В общем, заинтересовала тема highload проектов, но гугл толком ничего не выдает. Есть ли какие-нибудь гайды не уровня: "ну можно использовать такую штучку, чтобы производительности добиться", а действительно, наполненные примерами и описаниями, качественные гайды? Особенно будет здорово, если документация тем или иным образом касается Ruby on Rails/Ruby. И вообще пушка, если AWS Amazon.
Аноним 19/12/15 Суб 12:30:20 #109 №607258 
14505174204810.jpg
Есть идея сделать новый ЯП на базе рубишной виртуальной машины, полностью совместимый, использующий тот же стек (гемы, bundler), но статически типизированный. Мои хотелки:
обязательная (но опциональная на границе с руби-кодом) статическая типизация
то же ООП (для совместимости) + классы типов
функциональное программирование (паттерн матчинг, алгебраические типы, всё такое)
null-safety (именно этого больше всего мне не хватает в руби, а не статическо типизации)

Ваши мысли, идеи, критика?
Аноним 19/12/15 Суб 12:32:30 #110 №607259 
14505175503070.jpg
Есть идея сделать новый ЯП на базе рубишной виртуальной машины, полностью совместимый, использующий тот же стек (гемы, bundler), но статически типизированный. Мои хотелки:
обязательная (но опциональная на границе с руби-кодом) статическая типизация
то же ООП (для совместимости) + классы типов
функциональное программирование (паттерн матчинг, алгебраические типы, всё такое)
null-safety (именно этого больше всего мне не хватает в руби, а не статическо типизации)
* обязательная проверка исключений (локально) через перевод их в алгебраический тип (естественно, если декорируем таким образом руби-код и не обрабатываем какое-то исключение, то runtime error, с этим ничего не поделаешь, такова природа руби. Впрочем, я открыт для предложений)

Ваши мысли, идеи, критика?
Аноним 19/12/15 Суб 12:33:22 #111 №607260 
>>607258
>>607259
Лишь бы наркотиками по дворам не ширялся и не трахался с шалавами.
Аноним 19/12/15 Суб 12:33:42 #112 №607261 
>>607258
> Ваши мысли
Ruby 3?
Аноним 19/12/15 Суб 12:34:48 #113 №607263 
>>607261
Если в нём будет null-safety (не представляю как), то я кончу и мне вообще больше ничего не нужно будет в жизи
Аноним 19/12/15 Суб 12:35:37 #114 №607264 
>>607261
Лол, я кажется понимаю всю эту движуху с Ruby 2.3 и 3.
Подумайте сами котаны…


в Half Life 3 в качестве скриптового движка будет руби, будум-тссс~
Аноним 19/12/15 Суб 12:36:20 #115 №607265 
>>607263
Его же вроде уже в ближайший 2.3 добавят, не?
Аноним 19/12/15 Суб 12:36:36 #116 №607266 
>>607261
А вообще, руби не должен быть статически типизированным, он потеряет большую часть своей силы. Даже в JRuby и Rubinius'е не могут запилить ObjectSpace.

Мне нравится именно идея другого языка, где мы можем ввести какие угодно ограничения в пределах его исходных файлов, но это не повлияет на руби-код
Аноним 19/12/15 Суб 12:38:28 #117 №607268 
>>607263
Если в руби 3 удалят GIL и запилят JIT будет пушка.
По скорости приблизится к питону и ноде.
А вот статическая типизация это фигня какая-то, надеюсь будет очень опциональной.
Аноним 19/12/15 Суб 12:41:54 #118 №607271 
>>607268
>Если в руби 3 удалят GIL и запилят JIT будет пушка.
Есть JRuby, Rubinius
>По скорости приблизится к питону и ноде.
Руби итак сравним с питоном, где-то быстрее, где-то медленней
А вот к ноде вряд ли. Тут недостаточно просто иметь JIT, тут нужен ОЧЕНЬ ХОРОШИЙ JIT, потому что V8 разрабатыват люди, делавшие Java VM и многое другое, они очень хорошо шарят в оптимизациях
>А вот статическая типизация это фигня какая-то, надеюсь будет очень опциональной.
Главное null-safety и exception-safety, статику нахуй в принципе
Аноним 19/12/15 Суб 12:47:50 #119 №607275 
>потому что V8 разрабатыват люди,
>делавшие Java VM и многое другое
Няцумото и Ко1ти каялись что не могут в такие
технологии, но приглашали людей знакомых и с V8.
Надеюсь эти пиздоглазые таки смогут или найдут
нужных людёв.

ДжейRuby и Rubinius это не то, просто не то.
Аноним 19/12/15 Суб 12:53:02 #120 №607276 
В следующие 5 лет WebAssembly может наделать шума, такой-то Ruby-код компилируемый в WA бинарник — было бы круто.
Аноним 19/12/15 Суб 12:56:23 #121 №607280 
>>607276
>WebAssembly
Да, это однозначно то, на что сейчас стоит ставки делать. Кто первый освоится в этой области, тот может захватить сходу хорошую долю рынка.
Аноним 19/12/15 Суб 13:45:06 #122 №607341 
>>607276
Это при том что каждый второй велосипед тащит нативные расширения, которые даже не конпелируются под виндой? Лол.
Скорее будут конпелять скалу в эту хуйню, как сейчас в джяваскрипт.
Аноним 19/12/15 Суб 13:48:38 #123 №607347 
>>607341
Уже сейчас есть Emscripten, который что хочешь тебе скомпилирует в asm.js. Нахуй винду
Аноним 19/12/15 Суб 13:56:28 #124 №607353 
>>607347
Вызовы системного апи сконпелирует? Ну ладно
Аноним 19/12/15 Суб 14:17:52 #125 №607366 
>>607353
Зачем тебе гемы, где вызывается системный апи, в браузере? Ты жаловался, что много гемов с нативными расширениями. Сказал, что у скалы с этим лучше. Что, скала реализует платформа-зависимые библиотеки без системных вызовов? В большинстве гемов нативные расширения не используют никаких функций, кроме стандартной библиотеки Си, ruby.h и иногда платформо-независимых сишных библиотек.
Аноним 19/12/15 Суб 14:19:39 #126 №607369 
>>607353
И да, для некоторых API платформы в Emscripten есть обёртки - OpenGL, иксы вроде, файловая система даже (через виртуальную ФС).
Аноним 19/12/15 Суб 14:31:24 #127 №607372 
>>607366
> Что, скала реализует платформа-зависимые библиотеки без системных вызовов?
А там такие есть? За всю жизнь видел только три нативные либы для жвм: opencv, ffmpeg и opengl.

> платформо-независимых
Я тебе напомню: не конпелируются под виндой.
Аноним 19/12/15 Суб 14:33:45 #128 №607375 
>>607254
Не тот язык для хайлоада. Сам по себе руби хреново оптимизирован, а рельсы так вообще крайне тяжелы.
Аноним 19/12/15 Суб 14:38:27 #129 №607377 
>>607375
Кого ебут какие-томиллисекунды, которые исполняется код? На хайлоаде проблемой является доступ к БД. А рельсы хорошо масштабируются
Аноним 19/12/15 Суб 14:41:35 #130 №607379 
>>607377
> Кого ебут какие-томиллисекунды, которые исполняется код?
Всех, например. Именно поэтому любой хайлоад написан как минимум на Java/Scala/C#, а то и на C/C++.

> синхронное говно
> хорошо масштабируются
Ну ты понял
Аноним 19/12/15 Суб 14:41:40 #131 №607380 
>>607372
>А там такие есть?
Нет библиотек - нет проблем!
>не конпелируются под виндой.
Никому в хуй не упёрлась твоя винда. Emscripten сделан POSIX-совместимым, думаю, с WA будет то же
Аноним 19/12/15 Суб 14:43:54 #132 №607382 
>>607380
> Нет костылей - нет проблем!
Вот именно, на жвм просто нет потребности в нативных костылях.

> >не конпелируются под виндой.
> Никому в хуй не упёрлась твоя винда. Emscripten сделан POSIX-совместимым, думаю, с WA будет то же
Будут весь линукс в жс-виртуалку впихивать? Ну надо же.
Аноним 19/12/15 Суб 14:45:28 #133 №607384 
>>607379
>любой хайлоад написан как минимум на Java/Scala/C#, а то и на C/C++
Ты про числодробилки? Или ты собрался бизнес-логику на Си писать?
>Ну ты понял
Не понял. Какая разница, синхронное или несинхронное, если в разных процессах запущенно?
Аноним 19/12/15 Суб 14:46:56 #134 №607385 
>>607382
>на жвм просто нет потребности в нативных костылях.
Ага, создают окно в Windows без вызовов windows API, конечно
>POSIX
>весь линукс
Понятно всё с тобой. Несите следующего
Аноним 19/12/15 Суб 14:47:41 #135 №607387 
>>607384
> >любой хайлоад написан как минимум на Java/Scala/C#, а то и на C/C++
> Ты про числодробилки? Или ты собрался бизнес-логику на Си писать?
Движок гугла это бизнес-логика или числодробилка?

> >Ну ты понял
> Не понял. Какая разница, синхронное или несинхронное, если в разных процессах запущенно?
Ладно, я понял, что ты толстишь
Аноним 19/12/15 Суб 14:48:55 #136 №607388 
>>607387
>Движок гугла это бизнес-логика или числодробилка?
Какого из сервисов? Поиск? Числодробилка, конечно. Это же машинное обучение. А бизнес-логика у них на питоне
Аноним 19/12/15 Суб 14:50:22 #137 №607390 
>>607387
Числодробилка. Бизнес-лоджик там на яве и питониуме.
Аноним 19/12/15 Суб 14:52:23 #138 №607392 
>>607385
> >на жвм просто нет потребности в нативных костылях.
> Ага, создают окно в Windows без вызовов windows API, конечно
При чём тут апи, если мы говорили про библиотеки на си? Вызывать системное апи это задача JVM, а у программиста один на все системы класс для окон, файлов, сокетов и т.п.
Аноним 19/12/15 Суб 14:54:46 #139 №607393 
>>607388
>>607390
Но такая "логика" и не хайлоад.
Аноним 19/12/15 Суб 14:57:05 #140 №607394 
>>607393
Ты за Ruby или против?
Аноним 19/12/15 Суб 14:58:08 #141 №607395 
>>607392
>Вызывать системное апи это задача JVM, а у программиста один на все системы класс для окон, файлов, сокетов и т.п.
Ну значит такое не запустится в браузере, пока эти классы не будут адаптированы под браузерное API

И в руби, в том числе в нативных расширениях, то же самое. Раз уж мы заговорили про окошки, то вот пример на них. Пусть рубишное нативное расширение использует GTK. Так вот, чтобы оно работало в браузере, нужно написать адаптер под браузерное API для GTK.

Согласен, нет единого API в стандартной библиотеке языка, как в джаве. Но и там многие предпочитают использовать Qt/GTK/что-то ещё. Так что ничем джава не проще будет в портировании под WA
Аноним 19/12/15 Суб 15:01:39 #142 №607399 
>>607395
GTK3 кстати в браузере воркает, и для QT вроде пилят.
Чувак просто не понимает, что если будет возможность вставить язык, то и гемы подтянутся. А учитывая скорость которую может дать WA, могут написать гемы которые будут на руби и при этом будут компилироваться для браузера, без необходимости дрочиться с Си-кодом.
Аноним 19/12/15 Суб 15:03:17 #143 №607400 
>>607393
Ты путаешь термины. По твоей логике, слово хайлоад к вебу вообще неприменимо (числодробилка же не торчит портами наружу? значит не веб).

Хайлоад - это когда приложение должно легко изменяться под нагрузку в два/пять/десять/сто раз больше текущей. То же масштабирование.

И я не понял твоего комментария
>> Не понял. Какая разница, синхронное или несинхронное, если в разных процессах запущенно?
>Ладно, я понял, что ты толстишь

В хайлоаде масштабирование на уровне процессов - это стандартная практика. Хотя бы потому, что сколько бы у тебя потоков не было, вычислительная мощность одного сервера всё равно ограничена (если это не кластеры, где особые требования к коду). Как шардятся БД? Запускаются на втором серваке. А это масштабирование на уровне процессов
Аноним 19/12/15 Суб 15:04:54 #144 №607401 
>>607399
>А учитывая скорость которую может дать WA, могут написать гемы которые будут на руби и при этом будут компилироваться для браузера, без необходимости дрочиться с Си-кодом.
Ну это уже сейчас идея рубиниуса - писать почти всё на руби. И статически типизированное подмножество руби в нём есть
Аноним 19/12/15 Суб 15:06:52 #145 №607402 
>>607401
Рубиниус это дотнетопараша, спасибо не надо.
Аноним 19/12/15 Суб 15:07:02 #146 №607403 
Что то мне кажется после ВА фронт энд скатится в говно окончательно. Сейчас есть десятки фреймворков на жс, а будут сотни на все возможные языки. А использоваться будет все равно только жс.
Аноним 19/12/15 Суб 15:07:41 #147 №607404 
>>607402
>Рубиниус это дотнетопараша
Шо?
Аноним 19/12/15 Суб 15:08:05 #148 №607405 
>>607401
>писать почти всё на руби
Но кто кроме упоротых фанбоев будет этим заниматься?
Аноним 19/12/15 Суб 15:08:19 #149 №607406 
>>607403
У JS появятся пара конкурентов, победит лучший синтаксис.
Аноним 19/12/15 Суб 15:09:32 #150 №607408 
>>607405
Это даже коммерчески более эффективно.
Аноним 19/12/15 Суб 15:09:43 #151 №607409 
>>607404
Ой блин, я его с IronRuby путаю, ололо, сорянский.
Аноним 19/12/15 Суб 15:11:24 #152 №607410 
>>607400
> Хайлоад - это когда приложение должно легко изменяться под нагрузку в два/пять/десять/сто раз больше текущей. То же масштабирование.
Вот поэтому бекенд гугла или там твиттера хайлоад, а вся интранет-крудо-хуйня этих же компаний - нет.

> В хайлоаде масштабирование на уровне процессов - это стандартная практика.
Как и асинхронная обработка соединений, так как иначе миллионы одновременных запросов сразу повесят сервер.
Аноним 19/12/15 Суб 15:11:52 #153 №607411 
>>607409
>IronRuby
Забавно, кстати, что в Руби взлетела его Java версия, а дотнетовую забросили, а в питоне наоборот - Jython неюзабельное говно, а вот IronPython вроде ещё жив. Да ещё и запилили Boo - статически типизированный питон под .NET
Аноним 19/12/15 Суб 15:13:44 #154 №607412 
>>607411
Похоже Rubinius это такой неофициальный MRI 3
Аноним 19/12/15 Суб 15:15:29 #155 №607414 
>>607410
>Как и асинхронная обработка соединений, так как иначе миллионы одновременных запросов сразу повесят сервер.
Согласен. Но это вроде должно появиться в 5 рельсах, не?
>Вот поэтому бекенд гугла или там твиттера хайлоад, а вся интранет-крудо-хуйня этих же компаний - нет.
Ты совсем жирный? По-твоему веб-бекенду похуй на нагрузку? Просто там вопрос не в том, выполнится код за 5 или за 10 мс, а в масштабировании. Но эта задача всё же стоит.

Сам говоришь - один процесс рельс не умеет масштабироваться, и это плохо для хайлоада. Т.е. таки в вебе хайлоад тоже есть, с твоих же слов получается
Аноним 19/12/15 Суб 15:15:51 #156 №607415 
>>607402
И эти люди себя программистами называют, мдемда.
Аноним 19/12/15 Суб 15:16:52 #157 №607416 
>>607412
Кстати да. Идея писать всё на руби была как раз тем обоснована, чтобы легко было делать эксперименты, чтобы легко было разбираться в нём рубистам, не знакомым с Си (больше программистов - быстрее развитие)
Аноним 19/12/15 Суб 15:17:18 #158 №607417 
>>607415
Прости чо, я маленький кодер в этом большом мире имплементаций.
Аноним 19/12/15 Суб 15:21:35 #159 №607418 
>>607416
Но сейчас есть возможность писать все на питоне, жс и си/плюсы. И зачем ещё один язык? Опять все вернутся к тому, что один язык - одна задача.
Аноним 19/12/15 Суб 15:24:02 #160 №607420 
>>607418
>Но сейчас есть возможность писать все на питоне, жс и си/плюсы. И зачем ещё один язык?
Потому что питон и жс говно, а руби няша
Ты ещё скажи, что Rust не нужен
Аноним 19/12/15 Суб 15:24:46 #161 №607421 
>>607418
>И зачем ещё один язык?
Алсо, про конкуренцию и её пользу ты вообще слышал?
Аноним 19/12/15 Суб 15:26:14 #162 №607424 
>>607420
>Ты ещё скажи, что Rust не нужен
Раст нахуй не нужен. Бесполезное узскоспециализированное говно, сделанное ради 1 проекта.
Аноним 19/12/15 Суб 15:28:59 #163 №607427 
>>607420
>Потому что питон и жс говно, а руби няша
Аа, так ты просто очередной восторженный слабоумный фанбой! Что же ты сразу не сказал.
Аноним 19/12/15 Суб 15:29:12 #164 №607429 
Хайлоадоняши.

Ждите когда кристалл релизнут.

80% синтаксиса руби, статическая типизация, компиляция через LLVM.
Аноним 19/12/15 Суб 15:31:46 #165 №607432 
>>607429
Никогда.
Серьёзно - как только кто-то начнёт вкладываться в него как мазила в раст, иначе его ждёт судьба D и прочих.
Аноним 19/12/15 Суб 15:33:44 #166 №607434 
>>607414
> >Как и асинхронная обработка соединений, так как иначе миллионы одновременных запросов сразу повесят сервер.
> Согласен. Но это вроде должно появиться в 5 рельсах, не?
Может, и появится но тормоза и GIL никуда не исчезнут, азаза
Аноним 19/12/15 Суб 15:35:06 #167 №607436 
14505285062880.png
>>607429
>Ждите когда кристалл релизнут.
>80% синтаксиса руби, статическая типизация, компиляция через LLVM.
И ни одного фреймворка

Ещё его проблема в том, что он решает всего одну проблему руби - производительность, и то не очень, я полагаю (ведь сама модель данных не способствует скорости). null-safety, exception-safety, алгебраические типы данных, паттерн матчинг?
Аноним 19/12/15 Суб 15:37:24 #168 №607438 
>>607434
>но тормоза и GIL никуда не исчезнут
GIL никак не мешает асинхронности. Вон в V8 вообще всего один поток, а быстрее рубей намного

GIL очень хотят убрать даже в MRI, и уже сейчас можно использовать JRuby (production-ready) и Rubinius (пока не рискует никто в продакшен, но это дело времени, т.к. популярность он набирает оченьбыстро)
Аноним 19/12/15 Суб 15:44:10 #169 №607443 
>>607436
>И ни одного фреймворка
Опять же, то, о чем я писал выше: всё пока не будет чьих-то вложений. Будут деньги - будет кодобаза, иначе сдохнет.

>и то не очень, я полагаю
https://github.com/kostya/benchmarks
В некоторых 10x-300x прироста, где-то в стандартных раби-хуитках примерно равен (при том что язык ещё очень молодой).
Аноним 19/12/15 Суб 15:47:06 #170 №607444 
14505292263840.jpg
Почему Python используется везде, а Ruby web-only? Модель данных, виртуальные машины в языках очень похожи

Я думаю, сыграла роль простота изучения. В том же data science надо, чтобы математик, аналитик за два дня изучили язык (что с руби никак не удастся) и по-быстрому начали писать машинное обучение, выводили графики и т.п.

А вот в вебе метапрограммирование, DSL руби дают возможность писать очень компактный код, что активно используется в рельсах. Внимание при разрабоке сконцентрировано на компактном участке кода, а не размазано по экрану как в питоне. Поэтому проекты на рельсах гораздо проще поддерживать, чем на питонофрейморках, даже если поддержкой занимаются студентики, вчера изучившие руби.
Аноним 19/12/15 Суб 15:49:22 #171 №607445 
>>607443
Джява рвёт C++, лол
Аноним 19/12/15 Суб 15:52:29 #172 №607446 
>>607445
Ничего невероятного. JIT может оптимизировать код в реальном времени, исходя из имеющихся данных, что невозможно при AOT-компиляции
Аноним 19/12/15 Суб 15:53:04 #173 №607448 
>>607444
Думаю всё банальнее, в те годы просто не было документации на английском и американского сообщества разработчиков. Во всей америке японский тогда знал только DHH, плюс толкьо у него была машина (потому что он гонщик) и он мог по конференциям ездить и рассказывать людям про рельсы и руби.
Аноним 19/12/15 Суб 15:54:26 #174 №607451 
>>607448
Есть что-то разумное в этом. У японцев вообще проблемы с взаимодействием с другими народами
Аноним 19/12/15 Суб 16:09:20 #175 №607460 
>>607451
Ну, во вторую мировую они примкнули к гитлару,
такой уж народ. На войне людей насилуют,
а потом hellokitty придумывают.
sageАноним 19/12/15 Суб 16:18:03 #176 №607469 
>>607444
потому, что руби моложе.
Аноним 19/12/15 Суб 16:43:14 #177 №607477 
>>607469
1991: Python
1994: Tcl
1995: JS, PHP, Ruby, Java
1998: ActionScript
2000: C# (Sharp)
Аноним 19/12/15 Суб 16:44:18 #178 №607479 
>>607477
1987 — Perl (божественный)
Аноним 19/12/15 Суб 16:56:39 #179 №607491 
>>607477
Не, эти года не значат ничего, когда питон уже крутился где только можно про руби знало 3.5 нерда, и значительное комунити появилось только после рельс, т.е начиная с 2004.
Аноним 19/12/15 Суб 16:59:54 #180 №607492 
>>607491
Так я и говорю про это. Значительное комьюнити появилось после появления документации на английском, которую лично перевёл DHH (во время гонок).
Аноним 19/12/15 Суб 18:28:11 #181 №607556 
>>607406
Ну хрен знает, "победит".. Что-то до сих пор на бэкенде не видится никаких побед. А вот зоопарк в наличии.
Аноним 19/12/15 Суб 18:40:20 #182 №607568 
>>607556
У тебя с контекстом проблемы? Мы о client-side code.
Руби популярнее питона, джавы и перла например. Вот PHP не просто свалить.
Аноним 19/12/15 Суб 19:12:46 #183 №607587 
>>607568
Вот и на фронте будет такой же зоопарк, говорю.
Аноним 19/12/15 Суб 19:13:53 #184 №607589 
>>607568
>Руби популярнее питона, джавы
Я прямо вижу, как Гугл и Майкрософт переносят весь серверный софт на РоР. Практика показывает, что у раби есть только гитхаб и куча хипстерских визиток/магазинов.
Аноним 19/12/15 Суб 19:17:10 #185 №607591 
>>607589
Я прямо вижу, как Википедия и Фейсбук переносят весь серверный софт на РоР. Практика показывает, что у PHP есть только zend и куча быдло cms/вордпресов.
Аноним 19/12/15 Суб 19:18:36 #186 №607592 
>>607589
>у раби есть только гитхаб и куча хипстерских визиток/магазинов.
https://coderfactory.com/posts/top-15-sites-built-with-ruby-on-rails
Аноним 19/12/15 Суб 19:20:32 #187 №607595 
14505420325520.png
Кто пробовал? Какие впечатления?
Аноним 19/12/15 Суб 19:21:46 #188 №607599 
>>607595
Говнина без будущего.
Аноним 19/12/15 Суб 19:22:13 #189 №607600 
14505421330650.png
Кто пробовал? Какие впечатления?
Аноним 19/12/15 Суб 19:25:22 #190 №607602 
>>607600
Моё первое впечатление о вольте — подожду webassembly.
Аноним 19/12/15 Суб 19:26:49 #191 №607605 
>>607602
И что ты думаешь изменится? Будет незначительный прирост в скорости, удобство читай забивание гвоздей микроскопом будет таким же.
Аноним 19/12/15 Суб 19:27:12 #192 №607606 
>>607595
Название не очень удачное, конечно. Но интересно посмотреть.

>>607599
Поясняй.
Аноним 19/12/15 Суб 19:31:36 #193 №607611 
>>607605
Ну линзу с микроскопа можно снять и забивать прочным основанием, маленькие гвозди отлично заходят.
Аноним 19/12/15 Суб 19:39:50 #194 №607620 
>>607375
Окей, переформулирую вопрос.
Нужна документация по маштабируемым проектам (несколько серверов).
Аноним 19/12/15 Суб 19:47:25 #195 №607629 
>>607620
На руби можно писать вполне производительные АПИ и вебсокет-бэкэнды.
Аноним 19/12/15 Суб 19:52:57 #196 №607639 
14505439779850.png
Кто пробовал? Какие впечатления?
Аноним 19/12/15 Суб 19:55:27 #197 №607644 
>>607629
Это все хорошо, но ситуация такова, что текущее решение - говно. Нужно переехать на новую платформу. Она запилина на Ruby on rails (конечно, надо многое дописать).
Вот я сейчас гуглю на эту тему статью. Я поставил себе планку в 10 000 посещений в день, хотя такая активность раз в месяц будет, да и то вряд ли.
Аноним 19/12/15 Суб 19:55:50 #198 №607645 
>>607639
Пиздатые впечатления. Ещё и grape-swagger есть.
Аноним 19/12/15 Суб 19:57:07 #199 №607646 
>>607644
>10 000 посещений в день
Разве это хайлоад?
Не волнуйся, рельсы справятся
Аноним 19/12/15 Суб 19:58:02 #200 №607648 
>>607646
А сколько посещений в день нужно, чтобы Рельсы перестали справляться? А есть ли какие-нибудь гайды на тему проектирование такое системы?
Аноним 19/12/15 Суб 19:59:54 #201 №607652 
>>607648
Кроме конечно же гайдов типа: "а вот есть такая архитектура, а есть такая". Я их уже тонну сожрал. Мне желательно с какими-нибудь конкретными примерами.
Аноним 19/12/15 Суб 20:01:48 #202 №607653 
>>607652
Вангую настройку кешей, БД и всяких воркеров.
Сложности возникают когда нужно много матеши в реальном времени или просто максимально быстро, как в высокочастотном трейдинге.
Аноним 19/12/15 Суб 20:03:58 #203 №607655 
>>607639
Охуенчик. Попробуй, ещё захочешь. И презентеры охуенные (grape entity).
Аноним 19/12/15 Суб 20:24:39 #204 №607673 
14505458792440.jpg
>>607644
Рельсы на обычном сервере могут выплёвывать обычные странички за 100-200 мс. Это десяток запросов к БД (mysql), инстанциирование сотен AR-моделей, некоторый процессинг, генерация 100-200 КБ хтмл (slim). Никаких кэшей и оптимизаций. Это на одном ядре (один воркер). Т. е. на среднем серваке с каким-нибудь кор ай 7 можно сёрвить ~50 RPS на относительно тяжёлых страницах вообще не думая. Немного? Ну формально да, мало, но по большому счёту вполне достаточно для почти любых проектов. Если нагрузка более сильная, сначала обмазываемся кэшами, оптимизацией запросов, профилировщиком. Это позволит увеличить скорость как правило в 2-3 раза. Переезжаем на более дорогой сервер. Далее втыкаем дополнительные бэкэнд-сервера за балансировщиком нагрузки и ждём, пока перестанет держать БД. Если нагрузка на БД по чтению, то постепенно начинаем обмазываться репликацией. Далее ждём, пока БД перестанет держать по записи, так как репликация при записи не помогает. Предполагается, что на этом этапе у нас уже большая охуительно большая, десятки-сотни миллионов хитов в день аудитория, и мы гребём деньги лопатой, что позволяет выкинуть рельсы и начать переписывать проект на другую платформу и другую БД, более подходящие для 0.0001% выстреливших проектов, которые стали реально хайлоадом.
Аноним 19/12/15 Суб 20:36:51 #205 №607679 
>>607673
Ты опять заходишь суда с этой анимешной девочкой!?
Рад тебя видеть 3
Аноним 19/12/15 Суб 20:41:07 #206 №607681 
>>607673
>выкинуть рельсы и начать переписывать проект на другую платформу
И всё равно это не нужно. Проблема-то в БД. А рельсы можно просто масштабировать на доп. процессы, если они что-то не тянут.
>другую БД
Тоже не нужно. Тут нужен пересмотр модели данных, возможно отказаться от консистентности части данных. Разве что часть данных можно на монгу перенести, но не все (ибо большая часть данных реляционной природы).
Аноним 19/12/15 Суб 20:48:20 #207 №607685 
>>607681
Ну "масштабирование" тоже не волшебная палочка. Нужно проектировать систему с учётом возможного распределения по нескольким серверам изначально. И нагрузка внутри проекта разная бывает, может там не БД ботлнэк у них, я не знаю же.

Если речь идёт про 10к посетителей за сутки, тогда это всё не нужно просто.
Аноним 19/12/15 Суб 20:48:26 #208 №607686 
14505473065280.png
Как думаете, взлетит такой проект?

Из стандартного стека веб-приложения убираем бекенд. Остаётся только фронтенд, который напрямую подключается к БД. Всю бизнес логику пишем на процедурах БД. Это, конечно, охуеть можно - писать приложение на PL/SQL. Поэтому создаём язык программирования, компилируемый в PL/SQL, и фреймфорк заточенный под работу с реляционными данными и отдачу их через веб-API.
Аноним 19/12/15 Суб 20:49:14 #209 №607687 
>>607686
Oracle
Аноним 19/12/15 Суб 20:50:48 #210 №607690 
>>607685
Так рельсы-то идемпотентны. Можно хоть сто серверов запустить, все проблемы конкуррентности решаются базой данных.

Конечно, что если имеются другие хранилища данных, фоновые процессы, работы с сервисами, тогда бекенд может стать немастабируемым.
Аноним 19/12/15 Суб 20:52:51 #211 №607691 
>>607687
А ещё есть?
Аноним 19/12/15 Суб 20:54:02 #212 №607693 
>>607691
Firebase - это оно?
Аноним 19/12/15 Суб 20:55:00 #213 №607695 
>>607690
Ваннаби-хайлоад пацаны угорают по монге и эластиксёрчу. Кластеризуются из коробки. С реляционностью проблемы, но для современных примитивных веб-сервисов реляционность часто не нужна можно всё ЗАХУЯРИТЬ В ОДИН БОЛЬШОЙ ОБЪЕКТ. Биллинг и особо важные реляционные куски можно оставить на SQL (так делают, две бд, охуеть да, но уже считается нормальным).
Аноним 19/12/15 Суб 21:00:21 #214 №607698 
>>607695
>так делают, две бд, охуеть да
Я это и предложил двумя постами выше.
>для современных примитивных веб-сервисов реляционность часто не нужна
Я больше по энтерпрайз вебу, поэтому меня от
>можно всё ЗАХУЯРИТЬ В ОДИН БОЛЬШОЙ ОБЪЕКТ
воротит. У меня в приложениях всегда максимальная консистентность данных с валидациями на стороне БД
Аноним 19/12/15 Суб 21:03:49 #215 №607702 
>>607695
Впрочем, да, я тупанул. Сам предложил монгу и сам утверждаю, что БД решит все проблемы масштабируемости данных.

В любом случае, тут от рельс ничего не зависит. Смена фреймворка косую архитектуру не исправит. При инконсистентных даных непродуманная модель данных убьет проект на хайлоаде
Аноним 19/12/15 Суб 21:52:55 #216 №607732 
14505511751790.png
Благодарю толковых анонов за внятные советы. Сейчас ещё попытаюсь тему раскрыть.

>>607653
>нужно много матеши в реальном времени

Этого всего не нужно. Есть один момент, который предполагает некоторые расчеты, но их можно вынести в бэкграунд, риал-тайм абсолютно не нужен.

>>607673
Основная проблематика проекта - пиковая активность, которая возникает довольно редко, но в ожидаемые промежутки времени. (Специфика проекта - конечный юзер много времени на сайте не проводит).

Оценить сейчас какая нагрузка будет - не могу, поэтому распишу в общих чертах конфигурацию проекта. Я, конечно, понимаю, что слишком ущербно опишу, так как точно по запросам ничего сказать не могу особенно для новой платформы.

Статичный элементы :

Ну тут все ясно - несколько изображений шаблона, пару банеров и карусель. Кеш/CDN решат эту проблем без проблем, как я понимаю.
+
Несколько статических страниц типа about, how to, и т.д.

Динамические элементы*:

Выдача контента на 3 страницах
1) Главная, 12 пикчей ~500x500px, 6 полей из одной таблицы и 1 из другой.
Запросы уровня Select id, title, desc from `table` where home=1; Без всяких джойнов + ещё сортировка по заданному алгоритму.
Кеш можно на 15 минут ставить.

2) Выдача первой категории -
9 постов, как в первом пункте. Примерно столько же полей; динамическая подгрузка следующих постов.
+
Поиск по конкретным параметрам. Параметров немного, но по запросам ничего конкретного сказать не могу, так как этого функционала в текущем решении нет.
Тут для кеша не более 5 минут (частота обновления одного поля может быть высокая).

3) Выдача второй категории
Опять же 9 постов, около 12 полей. Скорее всего из одной таблицы. Кеширование не более 5 минут.

4) Отображение публикации.
Тут порядка 8 полей + коменты через vk, кнопка голосования. Планирую хранение голосов добавить в Redis, остальное все статичный контент. В общем-то на этой странице только количество голосов должно меняться очень часто.

5) Отображение публикации второго типа.
Тут уже порядка 12 полей из разных таблиц, кешировать можно всю страницу, кроме двух блоков.

6) Авторизация. Планирую централизованное хранилище без выебонов. Стандартная RoR авторизация + социальные сети (возможно только соц. сети останутся). Кстати, туториал выгуглить так и не получилось.

7) Back-office, личный кабинет. По запросам совпадает с 2-3 категорией.

Архитектура примерно такая как на пике. Критические нагрузки ожидаются только в 4 пункте (голосование) и в 5 пункте (там будет проходить оплата через сторонние сервисы). В общем, хотелось бы обсудить подводные камни и получить грамотные советы.
Аноним 19/12/15 Суб 22:01:18 #217 №607736 
>>607685
В этом вся и проблема. К сожалению, на данный момент времени нет абсолютно никакой возможности сказать, какую нагрузку следуют ожидать.

>>607732
Олсо, стэк такой:
Ruby 2.2.3, Rails 4.1, postgREST 0.2, PostgreSQL 9.4, jQuery, bootstrap, html5, css3.
Аноним 20/12/15 Вск 01:44:48 #218 №607856 
Meanwhile at IBM:
http://www.infoworld.com/article/3014128/open-source-tools/ibms-open-source-jvm-project-could-also-speed-ruby-python.html
Корпоративные чувачки хотят руби и питон ускорять. Движуха.
Аноним 20/12/15 Вск 15:32:02 #219 №608115 
14506147222660.png
Как при создании Руби могли допустить такую страшную ошибку: переменные экземпляра общие для всех методов экземпляра - собственных, полученных от классов-родителей, методов миксинов. Очень легко случайно использовать переменую, которая уже используется для других целей в одном из миксинов, например.

Почему нельзя было сделать переменные экземпляра специфичными для методов каждого класса и миксина? Взаимодействие тогда происходило бы через методы атрибута, что очень хорошо соответствует концепциям Руби.

Давайте думать, как нам изменить это дело так, чтобы не затронуть существующий код. который, возможно, завязан на разделение переменых экземпляра между классами иерархии и миксинами.

Я предлагаю не трогать их, а объявить устаревшими и постепенно переходить на новую версию с новым синтаксисом, например... Блять, перебрал все клавиши - всё уже занято в Рубях!

Ваши предложения?
Аноним 20/12/15 Вск 15:44:45 #220 №608122 
>>608115
Ну пусть будет символ @ и либой другой за ним, например, @!var (довольно удобно набирать - зажатый Shift и две соседние клавиши)
Аноним 20/12/15 Вск 15:46:01 #221 №608123 
>>608115
А что, в руби нет приватных полей?
Аноним 20/12/15 Вск 16:48:51 #222 №608164 
>>608123
В руби нет полей. Есть методы и переменные экземпляра. И последние общие для всех методов.
Аноним 20/12/15 Вск 17:34:32 #223 №608200 
>>608115
Я нихуя не понял. Объясни подробнее.
Аноним 20/12/15 Вск 18:20:27 #224 №608237 
>>608200
Переменные экземпляра общие для всех методов, вызываемых на данном экземпляре. Это плохо, потому что методы могут быть из множества родительских классов или из множества миксинов, и есть вероятность случайного пересечения имён переменных экземпляра, используемых в разных методах.
Аноним 20/12/15 Вск 18:26:29 #225 №608238 
>>608237
> плохо, потому что методы могут быть из множества родительских классов
а вся суть Inheritance, Polymorphism разве не в этом?
Аноним 20/12/15 Вск 18:27:16 #226 №608239 
>>607732
Бамп.
Аноним 20/12/15 Вск 18:49:34 #227 №608253 
>>608238
Я не написал "плохо А", я написал "плохо Б потому что А"

Наследование и полиморфизм в Руби в порядке, а вот инкапсуляция нарушается из-за переменных экземпляра
Аноним 20/12/15 Вск 19:11:13 #228 №608274 
14506278738220.png
Моя программа должна задавать пользователю вопросы и принимать решение на основе ответов, поступающих от него. Логика выглядит примерно как на картинке. Часть ответов нужно сохранять. Как можно реализовать хранение текущего состояния в объектно-ориентированном ЯП (Ruby)?

- Писать по классу на каждое состояние очень трудоемко, к тому же остаётся проблема сохранения ответов.
- Один класс, являющийся конечным автоматом? Слишком громоздко, ведь в нём придётся иметь поля для совершенно непересекающихся ветвей.
- Отдельные классы для каждой темы с логикой переходов - слишком запутанно

Сейчас решение принимается на основе нахождения в ответах пользователя определённых слов, но потом, вероятно, будет задействовано машинное обучение. Получается, нужно отделить логику переходов от хранения данных, специфичных для определённой темы.
Аноним 20/12/15 Вск 21:50:04 #229 №608393 
>>608115
>Почему нельзя было сделать переменные экземпляра специфичными для методов каждого класса и миксина?
Потому что если мне очень захочется, я всё равно их достану через instance_variable_get.
А наркомания с @!var - попытка изобрести костыль, неявно подразумевающий интерфейсы, которых нет опять же из-за метапрограммирования.
Аноним 20/12/15 Вск 22:21:03 #230 №608414 
>>608393
>Потому что если мне очень захочется, я всё равно их достану через instance_variable_get.
Этому методу придётся принимать доп. параметр - класс, в пространстве которого мы ищем переменную экземпляра
>костыль
Для тебя соблюдения принципа инкапсуляции - это костыль?
>интерфейсы, которых нет опять же из-за метапрограммирования.
Руби для каждого метода храить хранящий его класс, сам попробуй method(:name).owner
Поэтому не вижу никаких проблем для реализации того, о чём я говорю
Аноним 20/12/15 Вск 22:31:54 #231 №608429 
>>608414
Сеттеры и геттеры, на каждый чих, котюня, это единственный метод инкапсуляции.
Аноним 20/12/15 Вск 22:54:18 #232 №608449 
>>608414
>Для тебя соблюдения принципа инкапсуляции - это костыль?
Так соблюдай, кто тебе запрещает?

>Поэтому не вижу никаких проблем для реализации того, о чём я говорю
Суть не в том, что такое невозможно, а просто бессмысленно - я удалю геттер в рантайме и приехали. Никакие интерфейсы не помогут. О какой инкапсуляции может идти речь, если метапрограммирование подразумевает изменение объекта извне? Какая-то защита от детей.
Аноним 20/12/15 Вск 22:54:55 #233 №608450 
Точно, гоните этого петушка ссаными тряпками отсюда.
Аноним 20/12/15 Вск 23:20:22 #234 №608467 
>>608115
Чё ты там перебрал на клавиатуре лалка?

Зажимаешь compose (alt_gr) и рандомные две клавиши (иногда 3 или 4 даже) и лицезреешь всё великолепие utf-8 раздольягагага.
Аноним 20/12/15 Вск 23:27:51 #235 №608469 
>>608449
>Так соблюдай, кто тебе запрещает?
Да я бы с радостью не использовал переменные экземпляра, но других способов хранить данные в экземпляре нет. Тут в самом языке принцип нарушается.
>я удалю геттер в рантайме и приехали
И что? У тебя не будет доступа к соответствующему полю, методы, использующие этот геттер упадут с ошибкой NoMethodError. Но возможности для случайного доступа не будет, а это и есть соблюдение инкапсуляции.
>О какой инкапсуляции может идти речь, если метапрограммирование подразумевает изменение объекта извне?
А protected, private - это что по-твоему? Доступ через instance_variable_get никак случайным не назовёшь.

Я же не предлагаю отказаться от метапрограммирования. Я предложил, как можно реализовать instance_variable_get - с передачей доп. параметра.
Аноним 20/12/15 Вск 23:31:45 #236 №608471 
>>608469
НИЖНИЕ ПОДЧЁРКИВАНИЯ
Аноним 20/12/15 Вск 23:36:38 #237 №608472 
>>608471
ВЕРХНИЕ ПОДЧЕРКИВАНИЯ
Аноним 20/12/15 Вск 23:36:56 #238 №608473 
>>608471
Выполнять работу интерпретатора руками? Ты предпочтёшь писать @MyClass_my_var или @!my_var?
Аноним 20/12/15 Вск 23:41:52 #239 №608477 
Можно даже сделать через @!my_var доступ к тем же переменным, что и через @my_var, но ограниченный пространством текущего класса. Тогда предпочтительно будет использовать безопасный @!, а через @ можно будет осознанно получать переменные без ограничений. Это уже неслучайный доступ, потому что для него другой синтаксис (хоть и похожий).

Жаль, что не наоборот. Более простая запись должна обозначать более частоиспользуемую функцию, а значит более безопасную Сейчас уже никак не поменять, ибо куча существующего кода может зависеть от этого поведения. С send и public_send та же фигня
Аноним 21/12/15 Пнд 00:03:37 #240 №608514 
Двач пишу сайт ренты машин. Собственна такой вопрос. как правильно написать поиск по датам. Сейчас в очень простом реализовам по срествам 2ух полоей : дате начала и дате конца. Сейчас надо дописать такую фичу.
мол машина сдаеться X конкретных дней в неделю(ну с пятницы по воскресение на пример) . И я вот думаю какой правильный путь написания этой фичи?
Аноним 21/12/15 Пнд 00:10:57 #241 №608521 
>>608514
Битовые карты
Аноним 21/12/15 Пнд 00:11:09 #242 №608522 
Мне не нравится

> @!

Говно какое-то, честно.

Нужен специальный, один символ вместо @ тогда уж.

Алсо, иди патч к рубям пили и ПРОПОУЗАЛ.
Аноним 21/12/15 Пнд 00:12:16 #243 №608524 
>>608521
По подробней можешь ?
Аноним 21/12/15 Пнд 00:15:32 #244 №608526 
А давайте ТРИ СОБАКИ

@@@x = 'my super isolated instance variable'

азаза
Аноним 21/12/15 Пнд 01:01:37 #245 №608561 
Watch this guys: @_@x

Amazed? There is more: y@_@x — for additional parameter

Still want more? Look here: @x_y@->c:<foo — metaprogramming shit will kill ya m8.
Аноним 21/12/15 Пнд 01:07:48 #246 №608569 
>>608522
>Нужен специальный, один символ вместо @ тогда уж.
Я же сказал - всё уже занято в Руби. А этот хорош тем, что похож на @, который близок по смыслу, инабирать легче, чем @ с любым другим символом

>Алсо, иди патч к рубям пили и ПРОПОУЗАЛ.
Я и хотел, но не так быстро. Сначала надо бы спросить на форуме, примут ли подобное изменение.

Я пытался реализовать в виде гема. Вместо синтаксиса использовал методы get :var и set :var, value. Но руби не сохраняет классы-владельцы методов в стектрейсе. Есть гем sender, но он только на 1.9.3 работает почему-то.

Думаю сначала реализовать как гем с нативным расширением (и с препроцессором исходников лол), отточить всё и потом уже идти на форум руби.
Аноним 21/12/15 Пнд 01:10:22 #247 №608570 
>>608524
Ну тебе надо установить взаимно однозначное соответствие между строкой (потому что её легко сохранить в бд) и словарём { monday: false, tuesday: true, ... }

Проще всего использовать модуль Marshal, но я не уверен, что это хорошая идея

А может в твоей БД есть битовые карты. Погугли. В Postgres вроде были
Аноним 21/12/15 Пнд 01:13:25 #248 №608573 
>>608570
Или можно тупо словарь сериализовать в JSON и хранить как строку. Да тысячи вариантов.
Аноним 21/12/15 Пнд 01:14:22 #249 №608574 
14506496625320.png
А я хотел бы, чтобы "юзерспейс" в рубишном ооп вообще очистили от дефолтного дерьма, пикрелейтед. Это касается и дефолтных методов объекта, и методов класса. Столько слов полезных занято. Из-за этой хуйни, например, мы пишем .includes(...) с буквой s при работе с AR.

Чтобы то ли какой-то специальный синтаксис для вызовов "системных" методов, то ли хуй знает что.

Или какое-то средство, позволяющее указать, какой именно метод мы вызываем в данный момент. Без еботы типа self.class.superclass.instance_method( :foo ).bind(self).call или плясок с alias.

Я, например, поражаюсь, как сотня расширений к рельсовому эктиврекорду умудряются срать в него тысячами своих методов и свойств и друг-друга не ломать.
Аноним 21/12/15 Пнд 01:19:16 #250 №608577 
>>608574
Ну у тебя и проблема, слова у него занят.
>>608569
Ты наркоман.
Аноним 21/12/15 Пнд 01:19:45 #251 №608578 
>>608574
>А я хотел бы, чтобы "юзерспейс" в рубишном ооп вообще очистили от дефолтного дерьма, пикрелейтед
На это уже завязано много кода, увы, не выйдет.
>Чтобы то ли какой-то специальный синтаксис для вызовов "системных" методов
Ну это совсем не Ruby-way. Тупо в модули убрать можно было бы лет 15 назад
>Или какое-то средство, позволяющее указать, какой именно метод мы вызываем в данный момент. Без еботы типа self.class.superclass.instance_method( :foo ).bind(self).call или плясок с alias.
Да, хорошая идея. Коррелирует с моей немного
>Я, например, поражаюсь, как сотня расширений к рельсовому эктиврекорду умудряются срать в него тысячами своих методов и свойств и друг-друга не ломать.
Да надо просто классы типов завезти в руби
Аноним 21/12/15 Пнд 01:23:42 #252 №608580 
Давай форкнем руби.
Аноним 21/12/15 Пнд 01:40:33 #253 №608584 
>>608580
Ну а что - некоторые компании поддерживают собственные версии интерпретаторов, библиотек для своих нужд.
Аноним 21/12/15 Пнд 01:42:58 #254 №608586 
Или можно сделать новый язык для VM руби.
Аноним 21/12/15 Пнд 01:46:12 #255 №608589 
>>608586
Эй, это моя идея давай кто первый релизнется?
Аноним 21/12/15 Пнд 17:45:35 #256 №608915 
Котаны, не подскажете что почитать чтобы писать более гибкий код (на руби и вообще), может какие-то гемы особенно стоит почитать?
А то проблему-то злостного нарушения DRY я вижу, но чот не понимаю как решать.
Аноним 21/12/15 Пнд 18:04:29 #257 №608932 
14507102698720.png
Типичная руби вакансия
Аноним 21/12/15 Пнд 19:15:36 #258 №609017 
>>608932
Там ошиблись на один нолик по-моему.
Аноним 21/12/15 Пнд 19:16:10 #259 №609020 
>>608915
Посмотри гем Devise, чтобы понять, как НЕ стоит делать.
Аноним 21/12/15 Пнд 19:38:55 #260 №609051 
>>609017
Не думаю, за 2к рублей даже рубисты вряд ли согласятся. Хотя учитывая общее количество вакансий и соискателей...
Аноним 21/12/15 Пнд 22:31:28 #261 №609197 
>>609020
Лол, ну чувак, у меня и так свой яркий пример есть, даже на конфе какой-то рассказывали, что нужно показывать хорошие примеры для обучения.
Аноним 21/12/15 Пнд 22:47:12 #262 №609218 
14507272321430.png
Подскажите шрифт, сосоны.
Аноним 21/12/15 Пнд 22:53:44 #263 №609225 
>>609051
А, так это в час?))) Ну всё равно ошиблись получается))
Аноним 21/12/15 Пнд 22:56:33 #264 №609227 
>>609218
>@name = "Probe #{Probe.next_probe_id}"
Ну кто так делает? Сделай отдельный метод:
>@name = name
>def name
> @name ||= "Probe #{Probe.next_probe_id}"
>end
Аноним 21/12/15 Пнд 22:57:13 #265 №609228 
>>609227
Тьфу, присвоение в инициализаторе лишнее. Просто вызывай name там
Аноним 21/12/15 Пнд 23:01:41 #266 №609236 
>>609227
Напиши это ему https://twitter.com/alexkorban , его код
Аноним 21/12/15 Пнд 23:10:32 #267 №609241 
>>609236
Ну бля, он не настолько поехал на хороших практиках, как я, значит.

Серьёзно, то до сих пор думаю, как лучше сделать. Простой вызов name в initialize обескураживает. Присвоение будет лишним, потому что сам name его выполняет. Про дублирование кода молчу.

Кажется придумал. Надо id присваивать в конструкторе, а name сделать зависимым от id. А то сейчас name выполняет две функции. А id вообще нигде не хранится, получается.
http://pastebin.com/Yh4ebz0P
Аноним 21/12/15 Пнд 23:17:25 #268 №609249 
14507290451970.png
Знатоки рельс, подскажите два вопроса.

1. Где метод save оборачивается в транзакцию? Попытался посмотреть, нигде не увидел. Видно, как оборачивается update (https://github.com/rails/rails/blob/master/activerecord/lib/active_record/persistence.rb#L263), а у сейва ее нет, и если вглубь копать, хотя он в транзакции.
И где вообще вызовы колбеков?

2. В какой момент вызывается обновление счетчиков "cache_counter: true"?

Второй вопрос важнее первого
Аноним 21/12/15 Пнд 23:21:53 #269 №609253 
>>609227
>>609241
Сук бля, не могу. Счас лопну от злости. МУДАК, КОГДА ТЕБЕ ПОНАДОБИТСЯ КОД ВТОРОЙ РАЗ, ТОГДА И ВЫНЕСЕШЬ.
Как же бесит читать лапшу вот таких вот "поехваших на хороших практиках".
Аноним 21/12/15 Пнд 23:24:52 #270 №609255 
>>609253
Ты вообще понимаешь, что такое лапша? Это ВЗАИМНАЯ зависимость участков кода. Создание простого геттера никак лапшой считать нельзя.
Аноним 21/12/15 Пнд 23:26:01 #271 №609257 
>>609253
Ещё скажи, что код на пике не говно. Там блять участок кода, отвечающий за ебучее имя, работает с айдишником объекта.
Аноним 21/12/15 Пнд 23:27:28 #272 №609260 
>>609253
И вообще, избыток ХОРОШИХ практик не может быть плохим по определению. Ты либо объясняешь, почему моё предложение НЕ ХОРОШЕЕ, либо идёшь нахуй отсюда в тред к пхпшникам
Аноним 21/12/15 Пнд 23:28:46 #273 №609263 
>>609260
ой ну не надо, у нас в пхп ОП такой же ебнутый на "хороших практиках".
Аноним 21/12/15 Пнд 23:31:19 #274 №609268 
>>609260
Мне в лом распинаться, утверждая очевидное. Надеюсь здесь найдется кто-нибудь другой, кто сделает это.
Аноним 21/12/15 Пнд 23:35:49 #275 №609277 
>>609268
Короче, ты подтверждаешь, что тебе нечего мне возразить
Аноним 22/12/15 Втр 01:53:18 #276 №609375 
Проясните плиз. Что лучше: взять чистую EventMachine для вебсокетов или Goliath? Нужно держать тысячный онлайн.
Аноним 22/12/15 Втр 05:19:19 #277 №609404 
>>607686
>>607693
Несколько лет назад участвовал в таком проекте: клиент на Delphi, сервер - Firebase, вся логика в хранимках.
Аноним 22/12/15 Втр 05:31:09 #278 №609406 
>>609375
Для такой нагрузки лучше взять язык попроизводительней.
Аноним 22/12/15 Втр 06:47:54 #279 №609414 
>>609375
ивентмашина
Аноним 22/12/15 Втр 14:23:18 #280 №609534 
>>607736
Стек пишется через «е» (йэ), но произносится через «э».
ГАССИЯ ДЛЯ ГУССКИХ
Аноним 22/12/15 Втр 14:36:11 #281 №609542 
>>609534
Проэкт, траэктория, жэсть, шэрсть, волшэбник.
На, гори.
Аноним 22/12/15 Втр 18:54:39 #282 №609756 
>>609406
Тебе лучше взять мой хуй за свою щёку, рубихейтер.
Аноним 22/12/15 Втр 18:59:15 #283 №609760 
>>609756
> кудах рррряяя хейтер
По существу, очевидно, возразить нечего.
Аноним 22/12/15 Втр 19:10:56 #284 №609771 
>>609760
Всё уже тысячи раз обсуждалось, маня. Нет разницы, выполняется код 10 или 30 мс. Тем более разрыв между скоростью выполнения кода на руби и на "языках попроизводительнее" быстро уменьшается. А вот по скорости разработки Руби нет равных. Короче, уебывай, тебе тут не рады.
Аноним 22/12/15 Втр 19:16:57 #285 №609777 
>>609771
> Нет разницы, выполняется код 10 или 30 мс.
Для хелоуворлда нет, разумеется, но в реальных проектах разница есть, и особенно огромная разница - выполняется код 1000 мс или 50000 мс. Именно такой разницы достигает руби.
> А вот по скорости разработки Руби нет равных.
Что тут сказать, это манямирок руби-фанбоя. Ничего больше.
Аноним 22/12/15 Втр 19:24:47 #286 №609781 
>>609777
>1000 мс или 50000 мс
Какой же ты тупой. Выполнение кода бекенда - это процентов 10 от времени выполнения запроса в целом. Речь идёт о вебе. Я не предлагаю писать числодробилки на руби.
>манямирок
Манямирок - это где твой любимый, я полагаю, джаваскрипт является удобным языком
Аноним 22/12/15 Втр 19:30:09 #287 №609789 
>>609781
> >1000 мс или 50000 мс
> Какой же ты тупой. Выполнение кода бекенда - это процентов 10 от времени выполнения запроса в целом.
Ну если писать гостевухи, то разумеется.

> >манямирок
> Манямирок - это где твой любимый, я полагаю, джаваскрипт является удобным языком
Мимо.
Аноним 22/12/15 Втр 19:34:04 #288 №609793 
>>609789
>Мимо.
Не хочу гадать. Лучше ещё раз обоссу тебя.
Аноним 22/12/15 Втр 19:35:48 #289 №609796 
>>609793
Энурез замучил, болезный? Мамке ещё не надоело простыни стирать?
Аноним 22/12/15 Втр 19:37:30 #290 №609797 
>>609796
>буль буль
У тебя во рту что-то, слов не разобрать.
Аноним 22/12/15 Втр 19:38:19 #291 №609800 
>>609797
Это у тебя по штанине течёт
Аноним 22/12/15 Втр 19:39:21 #292 №609801 
>>609800
>буль буль
Аноним 22/12/15 Втр 20:20:20 #293 №609851 
Вы два дебила блять, со стороны выглядете как подростки ебланы.
Аноним 22/12/15 Втр 20:31:07 #294 №609863 
>>609801
Чего ты булькаешь? Выплюнь мочу и скажи нормально.
Аноним 22/12/15 Втр 20:33:41 #295 №609866 
14508056211120.png
Сюда /б/ завезли что ли?
Аноним 22/12/15 Втр 21:02:25 #296 №609896 
>>609866
В тредах питона и руби вечный /б/.
Аноним 22/12/15 Втр 21:56:32 #297 №609937 
14508105924770.png
>>609866
Не ну это нормально здоровому мужику картинки девочек с повязками постить, а?
Аноним 22/12/15 Втр 23:09:08 #298 №609980 
>>609218
>Подскажите шрифт
Это Source Code Pro от Adobe
Аноним 23/12/15 Срд 00:13:35 #299 №610041 
>>609980
Нет, не то.
Аноним 23/12/15 Срд 00:21:29 #300 №610048 
14508192900180.png
>>610041
Шрифт называется РАДУГА.
DejaVu Sans mono какой-нибудь небось.
Вообще сейчас на финде уже никто не кодит, это прошлый век. Ставь юбунту чувак. В танки на PS4 поиграешь.
sageАноним 23/12/15 Срд 01:09:52 #301 №610071 
Блять, мудачье, никто ответить >>609249 что-ли не может?
Шрифты блять сидят обсуждают.
Аноним 23/12/15 Срд 01:19:35 #302 №610078 
14508227757940.png
14508227757971.jpg
>>610071
По первому: в рубимайне нажимаеш "ПОИСК СИМВОЛА", пишеш "SAVE". Немножко скроллишь. Тащемта, кому надо, те знают, что стафф касательно транзакций находится в модуле с соответствующим названием.

По второму ничего сказать не могу, но я бы в рубимайне воспользовался отладчиком, да выяснил бы за 1 минуту.
Аноним 23/12/15 Срд 01:20:16 #303 №610080 
>>603266 (OP)
Поясните за Ruby?
Для чего его юзают какие-то крупные предприятия и корпорации?
Т.е., если я его выучу и пойду на работу, что я на нём буду писать? И насколько он сложный в освоении?
Аноним 23/12/15 Срд 01:31:07 #304 №610085 
14508234679690.png
14508234679711.png
>>610071
Там модуль есть в AR, называется CounterCache. А ассоциации has many и belongs to принимают опцию counter_cache, и если она есть, динамически создают коллбэки, которые дёргают методы с того модуля.

Я даже без отладчика смог это выяснить в рубимайне благодаря средствам навигации по коду.
Аноним 23/12/15 Срд 02:27:34 #305 №610100 
14508268540690.jpg
>>610085
Слабо в PRY это показать?
Аноним 23/12/15 Срд 02:30:20 #306 №610102 
14508270200760.gif
>>610080
>Для чего его юзают какие-то крупные предприятия и корпорации?
Для автоматизации, chef, там всякие. Ещё сайты говорят делают.
>Т.е., если я его выучу и пойду на работу, что я на нём буду писать?
Нетленку.
>И насколько он сложный в освоении?
Нужно два высших образования.
Аноним 23/12/15 Срд 02:56:24 #307 №610105 
14508285846230.png
http://www.opennet.ru/opennews/art.shtml?num=43574
>Из связанных с Firefox событий также можно отметить анонс проекта Binaryen, в рамках которого подготовлен написанный на языке С++ компилятор для WebAssembly, универсального низкоуровневого промежуточного кода для выполнения в браузере приложений, скомпилированных из различных языков программирования. В состав Binaryen входит интерактивная оболочка для выполнения модулей на WebAssembly, компилятор asm.js в WebAssembly, декомпилятор WebAssembly в asm.js, LLVM-бэкенд для компиляции произвольного кода в WebAssembly и wasm.js, порт Binaryen на JavaScript.
Началось котаны.
Аноним 23/12/15 Срд 03:22:24 #308 №610110 
>>610105
Оно за последние 10-15 лет начиналось много раз. А заканчивалось как обычно.
Аноним 23/12/15 Срд 03:30:49 #309 №610115 
>>610110
Нет, ну уже существует множество фреймворков, позволяющих пилить фронт на практически любом языке. То что они никому не нужны - другой вопрос. А этот wa-дурачок просто о них не знает, вот и форсит.
Аноним 23/12/15 Срд 03:59:08 #310 №610123 
14508323482780.jpg
>>610115
Я знаю и о новых трансляторах в нативный яваскрипт, которые были на последних рубицонфах.
Это другая весч, тут будет единый бинарный формат экзекутабла — меньше дерьма будет литься по сетям в текстовом виде.
Совсем страх потеряли cUrl'ы вы мои ненаглядные?
Аноним 23/12/15 Срд 07:22:37 #311 №610142 
Чё затихли-то, тихушнички?
На Ruby 2.2.4 небось перекатываетесь?

https://www.ruby-lang.org/en/news/2015/12/16/ruby-2-2-4-released/

Вроде как security-release.
В чейнджлоге одни Хонды Митсубиси.
Аноним 23/12/15 Срд 12:13:00 #312 №610227 
есть форма на articles#show, которая передается в другой контроллер, как узнать из другого контролера id статьи, с которой пришел запрос?
Аноним 23/12/15 Срд 17:19:06 #313 №610438 
14508803469180.png
>Ruby 2.2.4 security release
>Ruby 2.2.3 security release
>Ruby 2.2.2 security release
>Ruby 2.2.1 security release
>ruby не умер
Аноним 23/12/15 Срд 17:28:07 #314 №610448 
>>610438
Мажорной руби 3 будет, толку распылятся на уже готовое 2.2, да и 2.3 есть с новвоведениеями, но пока превью.
Аноним 23/12/15 Срд 18:27:56 #315 №610537 
>>610227
hidden form field
Аноним 23/12/15 Срд 19:55:15 #316 №610634 
Как в Rails ловить ActionController::RoutingError при отдаче изображений?
Аноним 23/12/15 Срд 19:57:46 #317 №610637 
>>610634
Изображения должен отдавать nginx вместе со всей остальной статикой.
Аноним 23/12/15 Срд 20:08:23 #318 №610643 
>>610637
>Изображения должен отдавать nginx вместе со всей остальной статикой.
Забыл уточнить: мне на девелопменте это нужно.
Аноним 23/12/15 Срд 20:50:39 #319 №610704 
Всем суток времени доброго. Есть мленький опыт в Си и Обжектив-Си, работал чуть-чуть с ООП. Насколько перспективно начинать сейчас заниматься вебом, а именно ror (с упором в бэкэнд нежели фулстэк)?
Аноним 23/12/15 Срд 20:59:38 #320 №610715 
>>610704
> Есть мленький опыт в Си и Обжектив-Си, работал чуть-чуть с ООП
Тебе будет не легко.

Рельсы просты, да. Если ты согласен оставаться на уровне копипаста-макаки. А чтобы в полной мере осознавать всё на уровне, нужно дохуя чего знать.

Пойди чего попроще поучи лучше. Попроще в плане внутреннего устройства. Раз у тебя на веб-бэкэнде опыт нулевой.
Аноним 23/12/15 Срд 21:15:19 #321 №610729 
14508945198990.png
>>610704
Про какие перспективы ты спрашиваешь?
Не уйдёт ли завтра RoR в небытие? По идее не должен,
пятая ветка весьма резонансная, много чего выкинули
(правильно сделали), добавили приятных ништячков.

Но через лет 15 RoR наверное уйдёт, на его место
придёт что-то другое, может даже не на руби.

Учить RoR определённо стоит, хотя бы потому что из него
воровали идеи все кому не лень, а первоисточник всё
равно лучше. Ruby приятный язык.

Просто помни, что надо учить не Ruby, RoR или Haskell,
а программирование вообще, алгоритмику. Только так
перспектива будут самая лучшая.
Аноним 23/12/15 Срд 21:18:05 #322 №610732 
14508946859990.jpg
>>610704
>>610729
плю с по времени, с твоего уровня нужно 6-12 месяцев на изучение, всего, что нужно чтобы стать более менее нормальным программистом.
Аноним 23/12/15 Срд 21:47:06 #323 №610767 
>>610715
А что на руби попроще можно взять?
Аноним 23/12/15 Срд 21:54:31 #324 №610775 
>>610767
пистон
Аноним 23/12/15 Срд 21:55:58 #325 №610778 
>>610767
Начни с Rack. Когда прочитаешь его вдоль и поперёк и напишешь свой микрофреймворк, дальше можно взять Sinatra под первый реальный проект.
Аноним 23/12/15 Срд 21:56:09 #326 №610779 
>>610767
Чувак у тебя с парсингом (синтаксическим разбором) проблемы и пониманием речи.
>>610715 тебе написал идти сначала в пыху вникнуть, потому что считает что ты тупенький.

Если решил учить руби, то учи, никто тебя ругать не будет. Гораздо сложнее придумать себе интересный учебный проект.
Другое дело, что Ruby,PHP,Scala != программирование.
Аноним 23/12/15 Срд 22:39:12 #327 №610811 
>>610779
> Ruby,PHP,Scala != программирование.
Иногда я так охуеваю от троллей на дваче...
Аноним 23/12/15 Срд 22:58:26 #328 №610825 
>>610811
Ещё один баран не способный к пониманию написанного.

Знание синтаксиса языка не делат тебя программистом.
Декомпозиция, паттерны, архитектура, стайлгайды,
алгоритмика делают.
Программировать как real programmer можно хоть на
WYSIWYG черепашке.
Аноним 23/12/15 Срд 22:59:47 #329 №610827 
>>610778
А чего путь такой долгий и не практичный? Не проще сразу в Синатру вкатиться и курить попутно фронтенд, а затем в рор перекатиться сразу?
Аноним 23/12/15 Срд 23:53:48 #330 №610877 
>>610078
>>610085
По поводу модуля транзакций - при чем тут он? Транзакции это транзакции, в них что угодно можно завернуть. Где заворачивается save?

По поводу колбеков, а не мог бы ты посмотреть в рубимайне, какие создаются колбеки? after_что?

Но и на том спасибо.
Аноним 23/12/15 Срд 23:56:00 #331 №610880 
>>610877
Ой, сори не посмотрел второй скриншот. Спасибо, анон.
Аноним 23/12/15 Срд 23:58:18 #332 №610884 
>>610085
А ты его покупал? рубимайн Вот теперь я задумался над тем, чтобы его попробовать.
Аноним 24/12/15 Чтв 00:34:16 #333 №610915 
>>610085
Анон, можно еще вопрос? Я вижу ты активно работаешь с е-комерс. Наверняка у тебя где-то есть нетривиальные ситуации. Может подскажешь хорошую практику.
Мне вот нужно при создании сущностей обновлять счетчик суммы. Что-то типа payment belongs_to order условно. Каждый раз при условной payment я проверяю этот счетчик у order, если он достиг некоторого значения - то всё. И вот я проверяю и обновляю счетчик в транзакции с блокировкой - блокирую order FOR UPDATE, чтобы какой-нибудь параллельный процесс не получил уже "старое" значение счетчика и не создал одновременно лишний payment. Все ведь правильно делаю или перемудрил?
Аноним 24/12/15 Чтв 01:55:39 #334 №610937 
14509113397310.png
>>610915
Активно в е-комерс я не работаю.

Тебе нужно использовать либо for update, да, для блокировки выбираемых строк, либо уровень изоляции транзакций serializable. Первый вариант - это пессимистичная блокировка. Вторая параллельная транзакция при попытке заблокировать строки будет ждать, пока первая завершится. Второй вариант - оптимистичная блокировка. В случае если вторая транзакция натолкнётся на строки, по которым попали select'ы первой транзакции (которая ещё в процессе), вторая транзакция вылетит.

Если строки в селектах не блокировать, то обе транзакции выполнят свои апдейты исходя из тех данных, что прочитали на момент выполнения, и апдейты могут друг-друга затереть. Да, про чтение данных в условиях параллельных апдейтов читаемых таблиц там тоже есть различия для разных уровней изоляции, но это к твоему кейсу не относится, так как апдейтишь ты другую таблицу.

Как вариант ещё можно в некоторых особых случаях замутить вспомогательный воркер-процесс, который в последовательном режиме делает важные апдейты, не беспокоясь о конкуррентности.
Аноним 24/12/15 Чтв 02:01:48 #335 №610940 
>>610877
Говорю "смотри модуль транзакций". Нет, не хочу смотреть. Смотри, говорю. https://github.com/rails/rails/blob/master/activerecord/lib/active_record/transactions.rb#L317

У метода save несколько "слоёв". Они друг из друга через super вылупляются.
Аноним 24/12/15 Чтв 02:08:39 #336 №610944 
14509121196730.png
>>610940
В подробностях AR я ковырять не хочу, но предполагаю, что там используется основной принцип работы модулей в руби. При включении модуля в класс модуль не затирает методы класса и не добавляет их, а добавляет себя в цепочку наследования класса. Так что если модулей несколько с одним и тем же методом, мы таки можем вызвать все эти методы по цепочке.
Аноним 24/12/15 Чтв 02:24:41 #337 №610949 
Возможно, стоит ещё добавить, что рельсовый эктиврекорд собирает себя из десятков модулей. Сколько там методов в нём? 200? 400? Вот это всё добро разбито на кучу файлов. Это может быть не очевидно, наверное...
Аноним 24/12/15 Чтв 11:20:28 #338 №611102 
Пацаны у меня кайнд оф депрессия. Занимаюсь программированием грубо говоря с 10 лет(правда я дохуя раз забивал но не суть). сейчас работаю на фрилансе рубистом уже где то 6-7 месяцев, деньги платят . И вот в чем беда. я вроде бы и работаю и совсем не чувствую роста и чувствую и знаю что я обоссаный быдло кодер. Читаю вас и ахуеваю , стейт машины всякие сложные архиткетуры. Бля как стать нормальным рельсовиком?
Аноним 24/12/15 Чтв 11:20:47 #339 №611103 
>>611102
Сейчас 19 забыл дописать
Аноним 24/12/15 Чтв 12:07:05 #340 №611116 
>>611102
> сейчас работаю на фрилансе
Дык вот же.
Самый охрененный рост будет когда тебе есть у кого учиться и есть где ты это можешь применить.
Можно, конечно, и самому начитаться всяких бестпрактисов. Но это всё равно не то.
Аноним 24/12/15 Чтв 12:22:51 #341 №611123 
>>611116
По началу так и было . узнавал сразу преминял. Сейчас дай бог раз в неделю что то новое. просто шаблоную хуету клипаю
Аноним 24/12/15 Чтв 12:29:28 #342 №611125 
>>603266 (OP)
Руби - хуйня
Аноним 24/12/15 Чтв 12:50:15 #343 №611130 
>>611123
Просто не всё можно и нужно применять сразу.
Часто вижу как джуниоры начинают применять новые фишки только чтобы их применить. Не задумываясь о том, нужно ли это.
Даже если это нужно использовать, нужен кто-то, кто мог бы сказать тебе, правильно ли ты сделал. Как правило, в статьях примеры делают совсем на пальцах. Когда дело доходит до реальных задач возникают некоторые трудности.

>>611125
Ты классный.
Аноним 24/12/15 Чтв 12:53:49 #344 №611135 
>>611130
Ну я не страдаю тем чтобы лиш бы применить. А так спасибо)
Аноним 24/12/15 Чтв 12:56:32 #345 №611140 
А как изменить поле у существующего объекта? Например я создал article/1, и мне надо чтобы в модели user поле article_id было изменено на 1.
Аноним 24/12/15 Чтв 15:26:05 #346 №611258 
Пацаны, а где вы фриланс ищите? Как обычно на дефолтном апворке или ещё где-то?
Аноним 24/12/15 Чтв 16:05:51 #347 №611327 
>>611140
user.article = article
user.save!

>>611258
>Пацаны, а где вы фриланс ищите?
Upwork
Аноним 24/12/15 Чтв 16:46:06 #348 №611365 
>>611327
Ты не дочитал до конца мой вопрос, да?
Аноним 24/12/15 Чтв 16:47:55 #349 №611367 
>>611365
Ты че, ахуел? Задай вопрос нормально.
Аноним 24/12/15 Чтв 16:49:17 #350 №611369 
>>611367
Где вы кроме апворка ищите работу? Были же в бородатые времени какие-то форумы по рубям где можно работу было найти или сорт оф зис.
Аноним 24/12/15 Чтв 16:52:23 #351 №611376 
>>611369
>Как обычно на дефолтном апворке или ещё где-то?
>Где вы кроме апворка ищите работу?
Ты уж определись с вопросом-то

>Были же в бородатые времени какие-то форумы по рубям где можно работу было найти или сорт оф зис.
http://rubyjobs.ru
Я особо не сидел там, но удалось однажды устроиться в фирму. Если мониторить круглосуточно, то, думаю, шансы стремятся к 100% при наличии хоть какого-то опыта. Всё таки рубисты до сих пор крайне востребованы даже в России
Аноним 24/12/15 Чтв 16:57:29 #352 №611380 
>>611369
Просто удаленная работа есть на hh.ru.
Фриланс кроме апворка есть на toptal.com (они берут на себя поиск заказов и общение с клиентами, тебе остается только писать код).
Аноним 24/12/15 Чтв 17:00:37 #353 №611382 
>>611380
>Просто удаленная работа есть на hh.ru
И в офисе тоже. Меня там сама нашла HR из местной фирмы, а я даже не знал, что у нас в городе на РоР кто-то разрабатывает. Ну я отказался, потому что фрилансер
Аноним 24/12/15 Чтв 17:05:14 #354 №611386 
>>611382
Ну хз, по мне постоянная удаленка (со свободным графиком) лучше фриланса - не надо постоянно искать заказы, не надо уметь общаться с заказчиком и заниматься прочей менеджерско-социоблядской хуитой, не имеющей никакого отношения к программированию. Просто пишешь код из дома и получаешь зарплату.
Аноним 24/12/15 Чтв 17:07:06 #355 №611387 
>>611386
Хотеть так.
Аноним 24/12/15 Чтв 17:07:13 #356 №611388 
>>611386
>постоянная удаленка (со свободным графиком) лучше фриланса
Ну я на апворке такие заказы и беру. Сейчас два параллельно, в одном нет и 10 часов в неделю, в другом до 20
Аноним 24/12/15 Чтв 17:17:58 #357 №611394 
>>611388
Для получения такого заказа нужно доказать, что ты лучше миллиона сидящих там индусов. Ну его на хуй. На hh.ru конкуренция на порядки меньше.
Аноним 24/12/15 Чтв 17:20:57 #358 №611397 
>>611394
А я и не работаю на тех, кого бы устроило качество, которое могут дать за $3 в час. Понятно, что таких заказов меньшинство. Зато в последнем был единственный вопрос - какой последний паттерн проектирования вы узнали? Ну я рассказал про репозиторий, ROM и т.п. И меня единственного позвали на интервью, а там было >50 откликов.
Аноним 24/12/15 Чтв 17:42:53 #359 №611426 
нет простого способа использовать в миграциях
CHAR
вместо
VARCHAR

например, мне было лучше указать CHAR в:
t.string :currency, limit: 2

я ничего не упустил?
Аноним 24/12/15 Чтв 18:06:23 #360 №611435 
>>611426
Не парь мозги пока нет проблемы.
Аноним 24/12/15 Чтв 19:38:52 #361 №611515 
>>603266 (OP)
Смотрел на сайте интерактивку, не впечатлило.
Аноним 24/12/15 Чтв 20:05:21 #362 №611538 
>>611397
Во фрилансе нельзя просто так зарегистрироваться и сразу, за пару дней, с пустым портфолио и нулевым рейтингом, получить заказ. Поэтому он днище.
Аноним 24/12/15 Чтв 20:05:23 #363 №611539 
>>607686
Тоесть ты хочешь тупо подключить БД сразу к коду? Или чё.
Аноним 24/12/15 Чтв 20:07:08 #364 №611540 
>>611538
В программировании нельзя просто так вкатиться и сразу, за пару дней, с пустым портфолио и нулевым рейтингом, получить работу. Поэтому оно днище.
Аноним 24/12/15 Чтв 20:21:58 #365 №611550 
>>611538
Тоже так думаю. Сначала всё равно придется воевать с ордой индусов. А на фуллтайм они просто не могут пройти даже, поэтому там конкуренция поменьше.
Аноним 24/12/15 Чтв 20:26:24 #366 №611555 
>>611540
На hh.ru можно (а рейтингов там нет вообще), на апворке нельзя.
Аноним 24/12/15 Чтв 20:29:52 #367 №611557 
>>611550
Не забывай про отчисления в пенсионный фонд, ДМС и оплачиваемый отпуск. Удаленка для успешных господ, фриланс для лохов и нищебродов.
Аноним 24/12/15 Чтв 20:36:42 #368 №611563 
>>611557
>пенсионный фонд
Спасибо, но нет. Такой фонд, что лучше без него, чем с ним. В остальном да.
Аноним 24/12/15 Чтв 20:40:06 #369 №611568 
Котаны, собираюсь написать что-то вроде блога на синатре в качестве учебного проекта и захостить на хероку.
Всё правильно делаю?
Аноним 24/12/15 Чтв 20:43:12 #370 №611570 
А есть рулетка стартапов?

Или подскажите, что захостить на халявном Microsoft Azure
Аноним 24/12/15 Чтв 20:56:20 #371 №611578 
>>611557
>отчисления в пенсионный фонд
Инвестиция в чужой бизнес, которую ты не можешь контролировать. Я лучше куплю акции каких-нибудь компаний, которые сам выберу
>ДМС
Оплачиваемый из твоей ЗП, независимо от того, насколько ты используешь эту страховку. Лучше лечиться в платных клиниках или самому выбрать ДМС
>оплачиваемый отпуск
Оплачиваемый, опять же, из твоей ЗП. Во фрилансе я сам выбираю, когда работать, а когда отдыхать
Аноним 24/12/15 Чтв 21:00:45 #372 №611581 
>>611578
Лол, ты так говоришь, будто из чьей-то чужой зарплаты на фрилансе своем отдыхаешь и лечишься.
Аноним 24/12/15 Чтв 21:01:20 #373 №611583 
>>611581
Нет, но я сам контролирую свои финансы
Аноним 24/12/15 Чтв 21:10:57 #374 №611589 
>>611583
Единственное, что ты контролируешь в этом случае - это продолжительность и частоту отпусков. В годных конторах даже это не проблема. Ну и где твой бог теперь? Пока ты тратишь заработанное, конторские отдыхают зарабатывая!
Аноним 24/12/15 Чтв 21:24:49 #375 №611596 
>>611578
> Я лучше куплю акции каких-нибудь компаний, которые сам выберу
Пидорахи, когда покупали акции МММ и Хопера тоже так думали.

> Лучше лечиться в платных клиниках или самому выбрать ДМС
Влажные мечты нищеброда. Весь твой доход уйдет в нуль при первом же лечении зубов, и будешь пару месяцев жрать доширак, если за это время не найдется хорошего заказа.

> Во фрилансе я сам выбираю, когда работать, а когда отдыхать
Ни хера подобного. Во фрилансе ты как минимум раз в неделю будешь искать новые заказы, боясь пропустить выгодное предложение. Про такое слово, как отпуск придется забыть вообще.

Удаленка со свободным графиком предоставляет те же самые плюсы, что и фриланс (работа из дома), но полностью лишена его минусов. Ты просто пишешь код и гарантированно получаешь зарплату 2 раза в месяц.
Аноним 24/12/15 Чтв 21:27:50 #376 №611602 
Есть два стула. На одном рор дрочёный, на другом пхп + ларевел точёный. На какой сядите? Опыта в вебе вообще 0, хочу перекатиться из хеллоуворлдщика (пора бы уже, а то синтаксис уже и джавы, и обжа, и крестов, и питона освоил и даже ООП потрогал везде).
Цель - вкатиться в фриланс/удалёнку
Аноним 24/12/15 Чтв 21:29:58 #377 №611604 
>>611602
Если говноед, то пхп, если хипстер то руби
Аноним 24/12/15 Чтв 21:31:23 #378 №611606 
>>611604
Чому говноед? Ларавел же.
Аноним 24/12/15 Чтв 21:34:26 #379 №611611 
>>611602
Возьму пхп точеный, срублю рельсы дроченые и выберу C#/ASP.NET.
Аноним 24/12/15 Чтв 21:35:34 #380 №611614 
>>611611
>возьму пики точены, срублю хуи дрочены, поем говна моченого
Аноним 24/12/15 Чтв 21:35:51 #381 №611615 
>>611606
Пхп говно прост, сорян.
Аноним 24/12/15 Чтв 21:42:25 #382 №611623 
>>611596
>Во фрилансе ты как минимум раз в неделю будешь искать новые заказы
Нет конечно, я же не индус
>Пидорахи, когда покупали акции МММ и Хопера тоже так думали.
Ну то пидорахи
А пенсионные фонды ничем не лучше
>>611589
>конторские отдыхают зарабатывая!
Отдыхают, тратя уже заработанные деньги, которые им не доплатили. Ты вообще в конторе работал?
Аноним 24/12/15 Чтв 21:47:19 #383 №611631 
>>611623
>уже заработанные деньги, которые им не доплатили
Охуеть, ну подели эти деньги на 11: пиздееец не доплатили пару копеек в месяц, ух блять, пойду сам заработаю лучше! Ты серьёзно щас? При равной зарплате на фрилансе ты проебываешь деньги, вася.
Аноним 24/12/15 Чтв 21:48:59 #384 №611638 
>>611631
>При равной зарплате на фрилансе ты проебываешь деньги
Каким образом, если мне выплачивают всё, в отличие от контор?

И не бывает равных зарплат в российских конторах и на зарубежных заказчиков
Аноним 24/12/15 Чтв 21:50:43 #385 №611641 
>>611638
Даже не хочу объяснять ничего дальше. Наслаждайся в общем.
Аноним 24/12/15 Чтв 21:52:43 #386 №611643 
>>611611
У меня макбуля. Да и на фрилансе веба больше всего.
Аноним 24/12/15 Чтв 21:53:22 #387 №611645 
>>611641
Устал на работе, наверное?

Вообще, не понимаю, как можно 8 часов в день работать.
Аноним 25/12/15 Птн 00:07:00 #388 №611752 
14509912201230.jpg
>>610937
>>610940
>>610944
Большое спасибо, анон.
Аноним 25/12/15 Птн 00:30:56 #389 №611781 
>>611568
Перестан насиловать труп.
Аноним 25/12/15 Птн 00:51:26 #390 №611805 
>>611781
Да я не начиналь ещё.
А почему труп? Последняя контрибуция 22 дейза эго.
Аноним 25/12/15 Птн 03:34:10 #391 №611860 
>>611369
Занимаюсь какбы фрилансом ирл . имхо самый простой способ найти работу
Аноним 25/12/15 Птн 11:16:57 #392 №611952 
Рельсаны, насколько актуален ваш язык? Хайп уже прошел — заказы пошли на спад?
Аноним 25/12/15 Птн 11:18:23 #393 №611954 
Пацаны недавно писал на счет поиска по дням недели.так я нифига и не понял как сделать это правильно. Сейчас подумал : Может оставить все как есть тоесть у модели я 2 поля дата начала и дата конца. но обновлять эти 2поля каждую неделю:?
Аноним 25/12/15 Птн 11:34:42 #394 №611961 
>>611954
Или может быть вообше вынести в релешен availability где полями будут дни недели ? и там уже проверят
Аноним 25/12/15 Птн 13:17:08 #395 №612011 
Скажите, за сколько объективно можно научиться Ruby если с синтаксисом знаком и сделал 1-2 сайта на RoR? Что для этого задрачивать, алгоритмы на Ruby? И так же интересует вопрос намного ли дольше учиться если еще нужен и Coffeescript?

Хочу устроиться на работу, но там нужны знания Ruby и Coffeescript а я только на RoR сделал пару сайтов (bootstrap там прикрутил, gem install и все в таком духе).
Аноним 25/12/15 Птн 14:20:05 #396 №612036 
>>612011
За пол года можно надрочиться.
Учат в принципе алгоритмы (а не алгоритмы на руби), иначе бы задачка обменять значания двух переменных решалась бы простым: a, b = b, a
Аноним 25/12/15 Птн 16:48:06 #397 №612140 
>>612036
Спасибо за ответ. Алгоритмы - понятно. На Ruby написал потому, что мне именно его нужно выучить а не абстрактные алгоритмы в вакууме. Имею ввиду реализацию на этом языке. А что по поводу второй части вопроса? Намного ли дольше придется учиться если еще нужен и Coffeescript? Или после освоения одного языка на должном уровне все последующие будут изучаться легко и играючи?

Если не сложно, аноны которые уже работают в этой сфере и на этом языке программирования - напишите пожалуйста список must have алгоритмов для изучения в первую очередь. Без чего невозможна работа в данной профессии (трудоустройство по данному направлению). Спасибо.
Аноним 25/12/15 Птн 17:18:11 #398 №612170 
>>612140
> must have
ООП
Аноним 25/12/15 Птн 17:28:50 #399 №612182 
Конпиляю рубишку новую:
> ruby-2.3.0 - #downloading ruby-2.3.0, this may take a while depending on your connection...
> % Total % Received % Xferd Average Speed Time Time Time Current
> Dload Upload Total Spent Left Speed
> 100 13.5M 100 13.5M 0 0 737k 0 0:00:18 0:00:18 --:--:-- 960k
> No checksum for downloaded archive, recording checksum in user configuration.
> ruby-2.3.0 - #extracting ruby-2.3.0 to /home/user/.rvm/src/ruby-2.3.0....
> ruby-2.3.0 - #configuring...........................................................
> ruby-2.3.0 - #post-configuration..
> ruby-2.3.0 - #compiling........|
Аноним 25/12/15 Птн 17:46:57 #400 №612207 
>>612170
Откуда вы блядь лезете только
Аноним 25/12/15 Птн 21:38:31 #401 №612360 
>>612140
> напишите пожалуйста список must have алгоритмов для изучения в первую очередь.
Кластер метапарадигм
Аноним 25/12/15 Птн 22:17:37 #402 №612397 
>>612360
Петросянов полон тред
Аноним 26/12/15 Суб 00:00:08 #403 №612511 
> $ irb
> 2.3.0 :001 > Kernel.metho
> NoMethodError: undefined method `metho' for Kernel:Module
> Did you mean? method
> methods
Прикольная функция.
Аноним 26/12/15 Суб 00:17:36 #404 №612526 
>>612511
>2015
>irb
Есть же Pry
Аноним 26/12/15 Суб 00:42:29 #405 №612542 
>>612511
Прогресс
Аноним 26/12/15 Суб 01:06:34 #406 №612553 
>>612526
Я только установил 2.3.0, нет там его в стандартной поставке.
Вообще подбешивает ставить новые версии руби, потом переключаться на другу, сохранять список гемов, и потом снова переключаться на новую версию и там ставить новый список гемов, может есть способ проще? Хмммм…
Аноним 26/12/15 Суб 01:10:33 #407 №612554 
>>612553
А вот: https://rvm.io/gemsets/copying
Но может есть ещё проще?
Аноним 26/12/15 Суб 01:15:38 #408 №612558 
>>612554
https://nodejs.org/
базарю еще захочешь
Аноним 26/12/15 Суб 01:20:11 #409 №612559 
>>612558
Я не про смену ЯПки.
Аноним 26/12/15 Суб 10:47:34 #410 №612708 
https://www.coursera.org/learn/rails-with-active-record/
2 курс сделали бесплатным
Аноним 26/12/15 Суб 12:53:49 #411 №612740 
>>612526
> The program 'pry' is currently not installed. You can install it by typing:
> sudo apt-get install pry

что за pry? чем лучше irb?
Аноним 26/12/15 Суб 12:57:24 #412 №612742 
>>612740
все, установил уже, вижу, чем лучше
Аноним 26/12/15 Суб 15:00:37 #413 №612833 
>>612742
И чем же?
Аноним 26/12/15 Суб 16:00:19 #414 №612875 
>>612833
Установи и увидишь.
Аноним 26/12/15 Суб 16:32:54 #415 №612907 
>>612833
https://github.com/pry/pry/wiki/User-Input
Аноним 26/12/15 Суб 16:41:50 #416 №612918 
Ребята, хочу вкатится в няшный рубироид и не менее няшным чемоданчиком в гемами (рор). Насколько перспективно? Найду ли потом работу в ДС-2/на фрилансах-апворках?
Аноним 26/12/15 Суб 17:06:41 #417 №612950 
>>612918
вкатил свой хуй тебе за щеку.
Аноним 26/12/15 Суб 17:09:21 #418 №612955 
>>612950
Вкусный хуй, спасибо однако. А насчёт моего вопроса что?
Аноним 26/12/15 Суб 17:12:15 #419 №612957 
>>612918
>Найду ли потом работу в ДС-2
Полно
>на фрилансах-апворках?
Если в душе не предприниматель, то вряд ли. Там очень надо уметь продавать себя
Аноним 26/12/15 Суб 19:38:59 #420 №613036 
>>612957
> Если в душе не гей-шлюха, то вряд ли. Там очень надо уметь продавать себя, конкурируя с индусами
fixed
Поэтому нормальные люди работают на удаленке.
Аноним 26/12/15 Суб 20:02:40 #421 №613049 
>>613036
На удалёнку без опыта не берут.
Аноним 26/12/15 Суб 20:06:25 #422 №613051 
>>613049
Про опыт можно и напиздеть.
Аноним 26/12/15 Суб 20:21:28 #423 №613071 
>>613051
Пруфы попросят, а я и обосрусь. Хотя какие пруфы могут быть проверены на правдивость?
Аноним 26/12/15 Суб 20:24:06 #424 №613078 
>>613071
В договоре была подписка о неразглашении, поэтому код показать не могу. Контактов работодателя не помню, давно дело было.
Аноним 26/12/15 Суб 20:25:56 #425 №613080 
>>613078
Настолько очевидный признак пиздежа, что ужас аж.
Аноним 26/12/15 Суб 20:30:29 #426 №613086 
>>613080
Почему? Я везде где работал (удаленно) подписывал.
Аноним 26/12/15 Суб 20:33:24 #427 №613091 
>>613086
Выглядит как попытка отмазаться.
Аноним 26/12/15 Суб 20:40:43 #428 №613099 
>>613091
У меня прокатывало. Правда, показывал еще свой гитхаб с примерами кода.
Аноним 26/12/15 Суб 20:51:56 #429 №613105 
А если сравнивать с пхп + ларавел/yii, насколько легче/сложнее и медленнее/быстрее вкатиться в руби+ рор без опыта разработки (но есть опыт Си и решения маленьких задачек типа факториала через рекурсию и прочей детской фигни)?
Аноним 26/12/15 Суб 21:04:26 #430 №613114 
>>613105
Пхп говно прост, сорян.
Аноним 26/12/15 Суб 21:12:05 #431 №613121 
>>613105
Если есть опыт Си, то его и качай, либо хотя бы жаву или шарп. РабиПХП болото - это для тех, у кого не хватило мозгов на что то получше.
Аноним 26/12/15 Суб 21:16:23 #432 №613123 
>>613121
Мне бэкэндом заниматься хочется. А в интерпрайз болото с возможность быть мобильным я не собираюсь лезть.
Аноним 26/12/15 Суб 21:37:45 #433 №613142 
>>613123
> с возможностью быть мобильным
с НЕ возможностью быть мобильным
Аноним 26/12/15 Суб 22:55:49 #434 №613191 
>>613114
Ого, меня уже цитируют.
Аноним 26/12/15 Суб 23:22:10 #435 №613211 
>>613121
>РабиПХП болото - это для тех, у кого не хватило мозгов на что то получше.
Бред. На чем получше работает весь веб? Уж не говоря о том, что это самая быстроразвивающаяся отрасль IT.
Аноним 26/12/15 Суб 23:30:36 #436 №613215 
>>613211
Не общайся с поехавшим. Пусть он и дальше думает, что веб разделяют между собой Scala/Java и ASP.NET.
Аноним 27/12/15 Вск 04:22:44 #437 №613335 
>>613211 >>613215
А какая разница на чем работает весь веб? Это не отменяет того факта, что на PHP/Python/Ruby/JS пишут тупые макаки.
Аноним 27/12/15 Вск 07:17:07 #438 №613370 
>>613335
Вот не надо!
Умные макакаки тоже пишут на
PHP/Python/Ruby/JS.
Аноним 27/12/15 Вск 08:55:27 #439 №613383 
А если сравнивать с пхп + ларавел/yii, насколько легче/сложнее и медленнее/быстрее вкатиться в руби+ рор без опыта разработки (но есть опыт Си и решения маленьких задачек типа факториала через рекурсию и прочей детской фигни)?

Я бампану свой вопрок, т.к по теме даже 1.5 анона не отписали.
Аноним 27/12/15 Вск 09:01:54 #440 №613385 
>>613383
> вопрос
вопроC.
Аноним 27/12/15 Вск 11:57:44 #441 №613423 
>>613335
Оттого-то веб так быстро развивается, что одни макаки пишут, да. И новые технологии макаки пилят и горы статей по архитектуре приложений макаки написали. Голову лечи, эксперд.
Аноним 27/12/15 Вск 11:58:54 #442 №613424 
>>613383
Тебе ответили уже джва раза, уходи.
Аноним 27/12/15 Вск 13:05:40 #443 №613439 
>>613424
По теме ниразу.
Аноним 27/12/15 Вск 14:06:01 #444 №613488 
>>613439
Очевидно, потому что вопрос хуевый и никому неинтересно на него отвечать.
Аноним 27/12/15 Вск 15:29:20 #445 №613540 
>>613383
>пхп + ларавел/yii
Я слышал, что в ПХП всё кроме Симфонии - страшный говнокод, а Симфония в разы сложнее Рельс. Ну и ПХП проще Руби лишь концептуально, там очень много нюансов, которые надо знать, чтобы не стрелять по ногам.
Аноним 27/12/15 Вск 16:37:38 #446 №613581 
>>613540
Возможно это правда http://vschart.com/compare/ruby-on-rails/vs/symfony
Аноним 27/12/15 Вск 21:51:30 #447 №613778 
Что блядь тут не так? кроме меня
Как эту милую поеботу в рантайме глянуть?
https://github.com/bborn/communityengine

[code]
C:\Development\CommunityEngine\CommunityEngine>bundle update
Fetching gem metadata from https://rubygems.org/..............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies.......................
Bundler could not find compatible versions for gem "rails":
In Gemfile:
rails (= 4.2.5) x64-mingw32

community_engine (~> 3.0.0) x64-mingw32 was resolved to 3.0.0, which depends
on
rails (~> 4.0.0) x64-mingw32
[/code]
Аноним 27/12/15 Вск 21:55:58 #448 №613784 
>>613778
Ох бля для начала поставь нормальную ОС потом пытайся код писать
Аноним 27/12/15 Вск 22:16:10 #449 №613801 
>>613784
Например, купить мак. У нас на работе даже андроидеры на маках все работают.
Аноним 27/12/15 Вск 22:41:56 #450 №613812 
>>613778
можешь через бомжа vagrant посмотреть
Аноним 27/12/15 Вск 23:03:25 #451 №613820 
Ещё можно в шапку добавить видеоуроки по рубям на rubyschool.us
Там сто часов видео, где чувак обучает других программированию на руби с самого нуля до освоения рельсов.
Как по мне, достаточно годный туториал.
Аноним 27/12/15 Вск 23:05:28 #452 №613822 
>>613801
> Например, купить мак.
У меня брат от этой хуйни в Талибан вступил
Аноним 27/12/15 Вск 23:12:19 #453 №613824 
>>613822
Жесть ваще.
Аноним 28/12/15 Пнд 00:52:12 #454 №613894 
>>608274
Смотри wicked.
Аноним 28/12/15 Пнд 01:39:35 #455 №613925 
14512559753010.jpg
>>613894
Любишь запускать Тотошку в свой Изумрудный город?
Аноним 28/12/15 Пнд 04:16:50 #456 №613977 
>>613784
Пердолики не нужны.
Если там этот один проект соберется, то все остальное развалится, начиная от версии рубей, заканчивая интерфейсом.

Виндуханы, ну будьте так добры, разверните проектик с жидхаба.
Аноним 28/12/15 Пнд 06:06:34 #457 №613994 
>>613977
Попробуй найти нужную тебе функциональность на вендо_шарпе, ruby фактически linux/unix only. И это хорошо. Фильтрует вендоблядков головного мозга.
Аноним 28/12/15 Пнд 08:11:15 #458 №614015 
>>613778
Смотри:

> Bundler could not find compatible versions for gem "rails":
> In Gemfile:
> rails (= 4.2.5) x64-mingw32
> community_engine (~> 3.0.0) x64-mingw32 was resolved to 3.0.0, which depends on
> rails (~> 4.0.0) x64-mingw32

Проблема не в винде. А в том, что ты тупой прост)))
privatepub Аноним 28/12/15 Пнд 08:56:22 #459 №614019 
Рубаны, как отправить jbuilder вьюху на канал используя private_pub

Вот такая у меня команда в контроллере

/controller.rb #create
PrivatePub.publish_to channel_name, smth_to_publish

И вот вроде можно передать хэш с параметрами, но хотелось бы все таки контроллер держать чистым, да и я везде использую jbuilder вьюхи. Может сталкивался кто с проблемой?

PS: render :create, переменная с объектом - не подходят, пустым второй аргумент оставить нельзя.
Аноним 28/12/15 Пнд 11:15:11 #460 №614058 
>>613994
Ну разумеется, из-за того что руби тормозное дерьмо, каждый второй костыль для него пишут на си, и естественно кроссплатформенность рубидауны не осилили.
Аноним 28/12/15 Пнд 11:27:28 #461 №614061 
>>614058
Нахуй не нужна. Руби для вебских. Веб для юниксовских.
Аноним 28/12/15 Пнд 11:41:26 #462 №614065 
>>614061
Оправдания мартышки
Аноним 28/12/15 Пнд 11:44:40 #463 №614066 
>>614065
>Никто не потратил время на неоправданную задачу
>Оправдания мартышек
Иди-ка ты в джаватред.
Аноним 28/12/15 Пнд 11:48:56 #464 №614068 
>>614058
Открою тебе тайну платформа совместимость миф на любом языке! и даже между Linux и Unix

>Ну разумеется, из-за того что руби тормозное дерьмо
Пиздуй в Джава мир, хули тут забыл быдло

Аноним 28/12/15 Пнд 11:49:48 #465 №614070 
>>614066
> мартышки не осилили нормальные библиотеки, без костылей
> вместо этого они жрут говно и высирают кривые говнокостыли на C, и подтверждая этим что сруби - кривое неполноценное говно
> что-то там кукарекает на джаву
Ясно
Аноним 28/12/15 Пнд 11:50:34 #466 №614071 
>>614068
> Открою тебе тайну платформа совместимость миф на любом языке! и даже между Linux и Unix
Очередные откровения скриптомакаки
Аноним 28/12/15 Пнд 11:52:31 #467 №614073 
>>614071
Сам ты макака, давай запусти один и тот же пакет на разных архитекторах и на ubuntu и freebsd
Аноним 28/12/15 Пнд 11:58:32 #468 №614079 
>>614073
> пакет на чистом C/C++, без линукс-онли-костылей конпелируется везде из исходников
> пакет на джяве даже конпелировать не надо, а только поставить жвм
Аноним 28/12/15 Пнд 12:39:04 #469 №614103 
>>614079
Сразу видно что в жизни ты не развертывал не джава с его тупым мавином и не конпелировал не чего для разных платформ.

К примеру http://www.freebsd.org/ports

Всегда есть костыли
Аноним 28/12/15 Пнд 12:40:03 #470 №614106 
>>614079
Попробуй развернуть СРМ на джаве на линук а потом на винде сразу. Хуй соснешь уебан

Хватит тред засирать тут мы о милом Руби говорим няяя!
Аноним 28/12/15 Пнд 21:45:11 #471 №614506 
Блядь, вы заебали. Руби НОРМАЛЬНО работает под виндой. Если какой-то джем не собирается, значит это не популярное дерьмо, написанной криворукой макакой, а значит в проекте не нужно.

Успешно работал уже над несколькими проектами на рельсах под виндой. Размер средний и крупный.
Аноним 28/12/15 Пнд 22:55:46 #472 №614561 
14513325465130.png
Подскажите, как мигрировать существующие данные при изменении схемы БД? Просто писать в миграции соответствующие манипуляции? А если исключение посередине процесса? Оборачивать в транзакцию? Как убедиться, что данные мигрировали корректно. Есть практика написания автоматизированных тестов на это вместе с написанием самой миграции?
Аноним 28/12/15 Пнд 22:58:55 #473 №614564 
>>614506
У меня под виндой были проблемы с кодировкой. Поэтому перешёл на линь
Аноним 29/12/15 Втр 09:28:17 #474 №614792 
>>614561
Я бы не долго думая захуярил логику проверки тоже в миграцию, никаких специальных тестов не нужно. Ты ведь пишешь её для успокоения паранойи.

Всё равно это не поможет, если преобразование данные сломает БД на продакшене.
Аноним 29/12/15 Втр 10:38:14 #475 №614823 
>>614506
Нет, заебали вы. Потому что нигде не написано, что гемы кому-то чем-то обязаны, а про то, что могут не работать под виндой - да в общем-то каждый тред об этом твердят, но до сих пор находятся такие как ты.
Аноним 29/12/15 Втр 12:47:57 #476 №614884 
>>614561
Да. Прямо в миграции. И да - оборачиваешь в транзакции.
Тесты здесь лишние.
НО не используй для миграции данных свои модели. Может получиться так что рано или поздно ты вообще выпилишь модель и тогда миграция не будет проходить.
И ещё: позаботься о том, чтобы у тебя не только мигрировались данные, но ещё и откатывались.
Аноним 29/12/15 Втр 12:48:59 #477 №614886 
Ебать ну что за кид кодеры вы, под Видной тока в десятки добавили SSH до этого нужно было putty ебать, как вы на такой системе что то делаете, я когда на нем помогал одно нубу не мог понять как мне сделать ключи оказываться нужна еще программа... !!!

Винда сделалана для мамок и гаймеров лохов, но не как не для разработки, на нем может и можно что то делать тока без Баша (и как вы живете без zsh) ты будешь эта делать в 10 раз дольше и на серваке у вас тоже Винда? Как вы на нем что то делаете ?!

Короче не ебите мозги, ставти Линукс если очень крутые BSD, а если хипстеры то Мак и не выносите мозги!!
Аноним 29/12/15 Втр 12:53:26 #478 №614889 
>>614886
Пиздец, эталонное быдло в треде, будто в 2005-ый окунулся. Пиздуй на свой яплакал, или откуда ты там вылез.
Аноним 29/12/15 Втр 13:50:07 #479 №614916 
>>614886
> зачем нужен элитный ресторан, ведь в нём даже нельзя заказать помои и дохлых крыс
sageАноним 29/12/15 Втр 14:21:14 #480 №614933 
>>614886
Бляяяяяяяя, ёбаное ублюдское быдло, если это не троллинг, то /pr/ окончательно проёбан.
Аноним 29/12/15 Втр 17:54:42 #481 №615028 
>>614889
>>614916
>>614933
Семен, не рвись ты так.
Аноним 29/12/15 Втр 17:55:48 #482 №615029 
Аноны, писал на крестах, qt и qml с жабаскриптом 2 года.
Есть шанс вкатиться в руби на фриланс али удаленку?
Аноним 29/12/15 Втр 17:57:53 #483 №615032 
>>615028
Анус твоей мамаши-шлюхи - семён.
Аноним 29/12/15 Втр 18:00:58 #484 №615036 
>>615029
Есть конечно, после крестов только перекат в другую парадигму может быть трудным
Аноним 29/12/15 Втр 18:03:28 #485 №615042 
>>615036
Я ненавижу кресты, чем больше их узнаю - тем больше ненавижу.
Заочно нравится D, оче, но вакансий на нем не будет никогда.
Аноним 29/12/15 Втр 18:59:38 #486 №615081 
>>615042
Нахуй до сих пор тот D мусолят? Это же те же кресты, только с другого ракурса. Берите Rust, он активно развивается и привносит новые идеи, которые улучшая надёжность приложений.

И кстати, из не взлетевших си-подобных языков был Clay, который намного лучше D, и вот за него реально обидно.
Аноним 30/12/15 Срд 06:13:09 #487 №615454 
14514451896810.jpg
Блять, хули в Руби даже нельзя определить, является функция чистой или нет? Предположим, я хочу написать оптимизирующий компилятор для подмножества Руби. Мне что блять, всю стандартную библиотеку изучать и составлять список чистых функций?!
Аноним 30/12/15 Срд 07:11:50 #488 №615460 
14514487101290.png
Как бля получить код или лучше АСТ динамически объявленного метода? Никак что ли?!
Аноним 30/12/15 Срд 07:15:02 #489 №615461 
14514489021760.png
Ну и хули мне тогда оптимизировать?! Вот ту поеботу что ли?

Ага, разбежались, RubyVM::InstructionSequence нельзя самостоятельно создать, ну там опкоды добавлять хуе-мое. Только из руби-исходника или существующео метода.

Охуеннае бля метапрограммирование в руби! Гомоиконность во все поля!
Аноним 30/12/15 Срд 07:35:50 #490 №615462 
>>615454
>>615460
>>615461
Обилие восклицательных знаков выдаёт в тебе двенадцатилетнюю пизду (по умственному развитию). Страдай. Мгазь.
Аноним 30/12/15 Срд 08:02:12 #491 №615465 
14514517327490.png
Идея заключается в том, чтобы писать на статически типизированном подмножестве Руби внутри обычных программ на динамическом Руби. Для этого нужно выделить сущности, которые в Руби могут быть типизированы до исполнения. Они будут объявляться как классы или модули. Проверка типов будет производиться при загрузке файла с кодом. Тогда же будет производиться компиляция с оптимизацией.

Но чтобы это было возможно, нужно иметь доступ к коду метода и возможность генерации байткода виртуальной машины. И если первое условие более-менее костыльно можно воплотить, то про возможность второго я ничего не нашёл.

Может кто знает, возможно такое в YARV, mruby, JRuby, Rubinius?
Аноним 30/12/15 Срд 09:56:32 #492 №615494 
>>615465
Crystal уже переписывают из-за этого.
Аноним 30/12/15 Срд 17:07:20 #493 №615688 
>>615454
Чистые функции это те, которые заканчиваются не на восклицательный знак
Аноним 30/12/15 Срд 20:39:40 #494 №615802 
>>615688
Ага, puts пиздец чистая функция
Аноним 30/12/15 Срд 21:08:21 #495 №615821 
>>615494
Еще не родился, а уже переписывают кек
Аноним 30/12/15 Срд 21:23:13 #496 №615828 
Аноны, простите за озеленение данного раздела такими вопросами, но:

def stock_picker(num)
@num = num
num = num[num.min..num.max]
puts num
end

stock_picker([17,3,6,9,15,8,6,1,10])

Нужно вывести диапазон с минимумом-максимумом в последовательности. Например 3,6,9,15 в выводе данного кода. Но это говно попутно выводит и все остальное 8,6,1,10 которое нахуй не нужно. Как и почему он это делает, и как сделать чтобы выводил только то, о чем я написал?
Аноним 30/12/15 Срд 21:31:02 #497 №615841 
>>615828
Хотя это я тут обосрался и он выводит все то же что и на входе. Реквестирую способов выполнения задачи с пояснением что происходит и в какой момент.
Аноним 30/12/15 Срд 21:32:00 #498 №615843 
14515003207010.jpg
Блин котаны, вы чё в интернете сидите в НГ, идите с девушками сексом занимайтесь или с семьёй время препроводите. Блиииин!
Аноним 30/12/15 Срд 21:32:55 #499 №615845 
>>615843
30.12.2015 НГ. Понятно.
Аноним 30/12/15 Срд 21:33:51 #500 №615847 
14515004314270.jpg
>>615845
Нет девушки. Понятно.
Аноним 30/12/15 Срд 21:36:59 #501 №615848 
>>615847
И не нужно.
Аноним 30/12/15 Срд 21:38:42 #502 №615852 
14515007227940.jpg
>>615848
Десантник с LOR'а?
Аноним 30/12/15 Срд 21:39:27 #503 №615855 
14515007679970.jpg
>>615828
Че ты хочешь-то вообще? яннп
Аноним 30/12/15 Срд 21:41:41 #504 №615859 
>>615855
Из рандомной последовательности чисел вывести ту, которая удовлетворяет условию [min..max].
Аноним 30/12/15 Срд 21:44:26 #505 №615864 
14515010663490.png
>>615859
У тебя там num.min это 1 если что.
гг
Аноним 30/12/15 Срд 21:46:58 #506 №615871 
>>615864
Который находится в конце последовательности. Блядь, я наверное просто нихуя не умею объяснять. Вот задание:

Реализуйте метод #stock_picker, который принимает массив цен, одна цена для каждого дня. Метод должен вернуть пару дней - оптимальный день для покупки и оптимальный день для продажи. Дни начинаются с 0.

stock_picker([17,3,6,9,15,8,6,1,10])
=> [1,4] # for a profit of $15 - $3 == $12
Советы

Помните, что прежде чем продавать, надо купить
Будьте внимательнее с пограничными случаями, когда наименьшая цена в последний день и когда наибольшая цена в первый день.
Аноним 30/12/15 Срд 21:51:45 #507 №615882 
>>615871
Т.е. у тебя дни это индексы массива тип.
Чую речь о:
> a.find_index(a.min)
> a.find_index(a.max)
Аноним 30/12/15 Срд 21:54:47 #508 №615887 
>>615871
>2.2.3 :023 > result = [a.find_index(a.min), a.find_index(a.max)]
> => [7, 0]
Вот так наверное тебе надо.
Собеседование проходишь?
Аноним 30/12/15 Срд 21:55:43 #509 №615888 
>>615887
Ой, гоню, это для первого твоего примера, а для второго лень.
Аноним 30/12/15 Срд 21:57:39 #510 №615891 
>>615888
Это вообще не подходит ни к одному из примеров. Мне не индексы нужны, а подстрока, а в идеале минимальное и максимальное значение от нее.
Аноним 30/12/15 Срд 22:01:02 #511 №615896 
>>615887
Не собеседование а задание из codenamecrud.ru, но прочитав все по теме, нихуя не понимаю как делать. Все решения из сети кажутся ну пиздец громоздкими. Неужели нельзя в рубине как-то проще это сделать?
Аноним 30/12/15 Срд 22:12:54 #512 №615910 
> принимает массив цен, одна цена для каждого дня
> Дни начинаются с 0.
Каждый день это индекс в массиве +1.
Даже не просят назад перевести в календарные дни.
> Метод должен вернуть пару дней - оптимальный день для
> покупки и оптимальный день для продажи.
Вернуть-то таки нужно два номера индекса в массиве.
Но надо хитро дрочиться с диапозонами.

Аноним 30/12/15 Срд 22:16:10 #513 №615914 
>>615910
Вот решение этого говна на github'е:

def stock_picker(days = [])
profit = 0
choose = []
message = "Don't do it bro!"
days.each_with_index do |buy, i|
days.each_with_index do |sell, j|
if(i < j && buy - sell > profit)
choose[0] = i
choose[1] = j
message = " for a profit of $#{buy - sell}"
end
end
end
print choose.to_s if !choose.empty?
print message
end

stock_picker([20,2,3,4,25])

Неужели нет возможности не писать столько?
Аноним 30/12/15 Срд 22:19:38 #514 №615918 
Или вот еще задание:
Реализовать алгоритм шифра Цезаря, который принимает строку и число характеризующее сдвиг, а затем возвращает измененную строку:

caesar_cipher('What a string!', 5)
=> "Bmfy f xywnsl!"

Скажите, вот это говно может быть решением?

class CaesarCipher
def initialize(text,shift)
@text = text
@shift = shift
code = text.chars.each { |t| (shift).times {t.next!} }
puts code
end
end

CaesarCipher.new('What a string!', 5)
Аноним 30/12/15 Срд 22:19:45 #515 №615919 
>>615914
Вот там еще дохуя примеров, проект 2. Только нахуя тебе однострочник?

http://www.theodinproject.com/ruby-programming/building-blocks
Аноним 30/12/15 Срд 22:23:38 #516 №615924 
>>615914
Тебя там скорее всего хотят алгоритмике обучить и просто ориентированию в задаче, поэтому нельзя в одну строку делать.
Аноним 30/12/15 Срд 22:31:12 #517 №615931 
>>615924
Ну, то есть не стесняться и хуярить вот эти вот все методы и классы по взрослому как в еба приложении что-ли? Я думал это задания так, для закрепления материала. Чему эта еба вообще учит?

Вот, кстати: codenamecrud.ru - форк theodinproject.com на русском языке, я его сначала нашел а потом уже оригинал, если кому интересно.
Аноним 30/12/15 Срд 22:34:08 #518 №615936 
>>615931
>Чему эта еба вообще учит?
Анализировать и понимать задание.
Наверняка есть какой-то финансовый гем чтобы решать эту задачу, но тебя учат тому чтобы ты не пускал слюну, когда гема не найдётся.
Аноним 30/12/15 Срд 23:03:22 #519 №615971 
>>615936
Понятно. Спасибо. Изучаю рельсы и попутно решил учить и сам руби, чтобы не пускать слюни как ты выразился.

Алсо еще вопрос: вот я прошел кодакадемию по руби, Rails Tutorial, прошел рельсы для зомбяк от кодошколы, прочел еба web development на rails 4, обмазываюсь скринкастами всякими на эту тему, захуярил интернет магазин по книжке и пару-тройку сайтов на хероке, которые даже работают (но там кроме гемов и бутстрапа нихуя нету). Могу ли я хоть на что-то претендовать в качестве жуниора по рельсам? Или нахуй пошлют? А на удаленке?

Кстати вот это:
>>615918
как я (написал) понял не правильное решение задачи. Оно двигает не по алфавиту, а по всей таблице символов. Правильное намного более объемное.
Аноним 30/12/15 Срд 23:08:49 #520 №615981 
>>615971
> 2.2.3 :001 > "a".succ
> => "b"
> 2.2.3 :002 > "z".succ
> => "aa"
Аноним 30/12/15 Срд 23:12:04 #521 №615983 
>>615981
Используй Integer#chr и String#ord

И помни, что строки в руби хранятся с переменной кодировкой, т.е. размер одного символа может быть 1 или 2 байта
Аноним 30/12/15 Срд 23:14:06 #522 №615985 
>>615983
>строки в руби хранятся с переменной кодировкой, т.е. размер одного символа может быть 1 или 2 байта
Если нам без разницы, как выглядит строка в зашифрованном виде, лишь бы расшифровывалась корректно, тогда можно просто привести строку к массиву байт.
Аноним 30/12/15 Срд 23:46:18 #523 №616018 
>>615918
Ну кто так пишет?! Сделай ты это простыми функциями. Это не такой сложный алгоритм, что для его инициализации нужен целый класс
http://ideone.com/Cqv1yQ
Аноним 30/12/15 Срд 23:47:41 #524 №616021 
>>616018
Зачем ты запостил код, паста-сервис, как тебя просили в шапке треда и раздела?
Как ты додумался до этого? молодец
Аноним 30/12/15 Срд 23:50:20 #525 №616027 
>>616021
Шо?
Аноним 30/12/15 Срд 23:53:07 #526 №616031 
>>616027
Да тут некоторые люди борятся за то, чтобы люди код публиковали на паста-сервисах.
Аноним 30/12/15 Срд 23:57:11 #527 №616035 
>>616031
Да я бы вообще игнорировал сообщения, содержащие код. Но тут просто пара строк всего было, так что похуй.

Может попросим модера банить за код в сообщениях?
Аноним 30/12/15 Срд 23:57:57 #528 №616037 
>>616035
Да ты охуел.
Аноним 30/12/15 Срд 23:58:17 #529 №616038 
>>616035
Небольшие фрагменты окда норм, к тому же некоторые используют экстеншены для подсветки. Так що нетъ.
Аноним 31/12/15 Чтв 00:00:58 #530 №616043 
>>616038
Не работает же расширение
Аноним 31/12/15 Чтв 00:10:09 #531 №616049 
Да вы охуели, я что тут пелену целую кода понаписал что-ли? Из за пары строчек на паста-сервис лезть что-ли?
Аноним 31/12/15 Чтв 00:12:33 #532 №616050 
>>616049
Я ему решение принёс нормальное, и я у него ещё и охуел. Больше вообще не буду читать код в сообщениях таких долбоёбов, без подсветки и отступов
Аноним 31/12/15 Чтв 00:15:08 #533 №616052 
>>616050
Я не про тебя говорил, а про тех кто предлагает банить за размещение кода в теле сообщения.

Тебе - добра, за ответ.
Аноним 31/12/15 Чтв 00:15:44 #534 №616053 
>>616052
А это я и предлагал, лол
Аноним 31/12/15 Чтв 00:19:42 #535 №616056 
>>616052
>>616053
Кек.
Аноним 31/12/15 Чтв 00:20:29 #536 №616059 
>>616053
Ну значит ты охуел и добра тебе. Хуле тут поделать.
Аноним 31/12/15 Чтв 00:21:20 #537 №616060 
>>616059
Да я такой, противоречивый >=)
Аноним 31/12/15 Чтв 00:22:54 #538 №616061 
Мы тонем, господа
Аноним 31/12/15 Чтв 00:23:17 #539 №616062 
>>616061
И чё теперь делать?
Аноним 31/12/15 Чтв 00:23:23 #540 №616063 
>>616061
В /pr хуй утонешь, разве что к концу следующего треда
Аноним 31/12/15 Чтв 00:23:57 #541 №616064 
Ладно, сейчас запилю перекат
Аноним 31/12/15 Чтв 00:24:56 #542 №616065 
Аноны, поясните за жуниора из этого месседжа. >>615971 Стоит ли пытаться?
Аноним 31/12/15 Чтв 00:27:13 #543 №616066 
>>616065
Раз спрашиваешь, то нет, не стоит
Аноним 31/12/15 Чтв 01:19:21 #544 №616099 
ПЕРЕКАТ
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
https://2ch.hk/pr/res/616098.html
Аноним 31/12/15 Чтв 17:48:43 #545 №616374 
Ура!

Ruby 2.3.0 Released

https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released/
Аноним 31/12/15 Чтв 17:49:14 #546 №616375 
>>616374
Тока сейчас дошли руки установить :))
comments powered by Disqus

Отзывы и предложения