Это копия, сохраненная 22 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
СЛОУНОВОСТИ
Ruby 2.6 introduces an initial implementation of JIT (Just-in-time) compiler
Ruby 2.5 has removed top level constant lookup
Ruby 2.5 requires pp by default
Ruby 2.5 added lazy proc allocation for block parameters
Ruby 2.4 unifies Fixnum and Bignum into Integer
Предыдущий тред: https://2ch.hk/pr/res/1104216.html (М)
ИЗУЧЕНИЕ ЯЗЫКА
Q: C чего мне начать, чтобы стать рубистом?
A: Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и те же вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby.
А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Q: Следующий уровень, продвинутые книги по руби:
A: Confident Ruby by Avdi Grimm | Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition | Ruby Under a Microscope
Q: Онлайн курсы чтобы попробовать/вкатиться:
A: http://tryruby.org/levels/1/challenges/0/ | https://rubymonk.com/
http://www.codewars.com/?language=ruby | http://rubykoans.com
Q: Какой gem посмотреть, чтобы понять, как писать код?
A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
Еще можешь полистать на гитхабе гемы с нарастающей популярностю (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby
Q: Хорошие практики по руби и рельсам?
A: Обязательно стайлгайды (как оформлять код):
https://github.com/bbatsov/ruby-style-guide
https://github.com/JuanitoFatas/fast-ruby
https://github.com/bbatsov/rails-style-guide
Руководства "для чайников":
https://www.railstutorial.org/book [en]
http://www.theodinproject.com/ruby-on-rails [en] | http://codenamecrud.ru/ [ru]
Q: Документация по стандартным библиотекам руби и рельс:
A: http://ruby-doc.org/ | http://api.rubyonrails.org
http://guides.rubyonrails.org | http://ruby.railstutorial.org
Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
A: Нет.
Q: Что ещё изучить?
A: Английский, git, linux. Паттерны. Один из часто используемых - Service Object.
СРЕДА РАЗРАБОТКИ
Q: Как установить разные версии рубей?
A: https://rvm.io | https://github.com/sstephenson/rbenv
Алсо, на днях пытался накатить рельсы на мак 10.14 через install rails - но что-от опять пошло не так. Но я не отчаиваюсь. может быть через другие сайты получиться это сделать. Хочется уже свой бек написать и через мобилку к себе жсоны отправлять.
Я бы сделал это через спринг бут, тем более опыт есть, но хочется через миленький руби.
Один из плюсов рельс - установка и запуск сайта за 2 минуты. Что у местных вкатывальщиков идет "не так" понятия не имею.
Алсо, освятил.
>Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
Щас бы обосраться в шапке.
http://www.rubymotion.com/
На Руби можно всё писать при желании.
Тут скорее вопрос не в принципиальной возможности, а в том будешь ли ты себя чувствовать анально изнасилованным в процессе.
Ко-Ичи где? Тим Поуп?
Ну в некст шапке стоит так и написать что "Вообще говоря да, но обычно этим не занимаются."
Ну покажи мне тогда сайт пожалуйста, где норм ставится. Я вот трачу минут 30 на это и потом идет через жопу все.
Хотя я сам опять попробую, через 2 дня думаю вечерком снова попытаться накатить. Просто менеджер версий устанавливайте хуй пойми куда, удаленные папки.
Останавлюсь на этом. https://railsapps.github.io/installrubyonrails-mac.html
Хуй пойми первую команду на пикрили. Ай рекомендед, ай рекомендед. Каждый блять рекомендует, вместо того, чтобы делать нормально.
Ты расскажи, что у тебя не получается.
>Хотя я сам опять попробую, через 2 дня думаю вечерком снова попытаться накатить
Почему через два дня, а не сейчас?
Введи это в консоли
\curl -sSL https://get.rvm.io | bash -s stable --rails
Оба варианта норм. Все равно по дороге ты будешь сто раз гуглить и найдешь еще кучу других ресурсов для обучения и т.д., не понимаю что это за выбор между "курсами", ты начни с чего угодно, дальше разберешься.
на пхп также
Ок, попробую сегодня. Спасибо.
>>272596
>Почему через два дня, а не сейчас?
Потому что я работаю, вечером есть силы только на собственный проект или руби или иос или универ
>Введи это в консоли
>\curl -sSL https://get.rvm.io | bash -s stable --rails
Я попробую пример выше.
Ишь ты какой выебистый. Тебе предлагают решить проблему одной стракой, а ты выбираешь длинный мануал.
test
Учитывая, что вот это
Первая ссылка, что выдает гугл по запросу "mac os install rails",
ты не любитель читать, поэтому тебе как раз таки одна команда подойдёт.
Блять, вот это говно у меня вылезало и раньше. При перезапуске терминала вся блять слетает.
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
Помогает блять каждый раз, введя в консоль. Пиздец. Ну че так сложно то блять. Кеш ебаный, причем тут кеш, причем тут рут пользователь то блять?! Я рут пользователь, не хочу я ебашить через судо, ну нахуй так делать то. Просто бомбит блять. Тупо час просидел. УХ блять.
Мне лень разбираться с твоим ебанным rbenv'ом. Уверен, ты и сам сможешь нагуглить ответ на свой вопрос. Если бы, блять, ты выполнил
>\curl -sSL https://get.rvm.io | bash -s stable --rails
Я бы тебе подсказал, потому что мне не пришлось бы лезть в гугл за тебя, долбаёб.
что бы это сделать, няша, мне придется чистить реестр говна этого всего. И опять по новому, пиздос.
Тебе же ясно в ошибке пишет, что нету прав на запись в директорию. Попробуй chmod -R 775 ~/.bundle для начала
Если не поможет, то можешь еще chown -R $(id -u):$(id -g) ~/.bundle сделать.
Проблема в том, что у тебя неправильные права выставились, так как ты запускал команды с sudo, скорее всего. Быть может это еще где-то аукнется.
@
ВИДИШЬ РЕЛЬСОТРЕД
@
ДАЙ ДУМАЕШЬ ЗАГЛЯНУ
@
ПОЛТРЕДА ОБСУЖДЕНИЯ КАК ПОСТАВИТЬ РУБИ
Нахуй так жить? Вы вкатываете в индустрию недееспособных людей.
Это новый ОП-вкатывальшик, который руби не знает но при этом дал себе право перехуярить нормальную(старую) шапку, где все о чем ты пишешь было
Руби я знаю и именно поэтому викинул большинство избыточного и клажного говна.
Нельзя на руби писать игры и графические приложения, хотя бы на том же уровне как MyPaint на питухоне с биндингами, просто нельзя и всё.
Технически под iOS можно что-то там напиздюшить, но это баловство — хватит показывать свою эрудицию, возможность чего-то и хороший результат это разные вещи.
Вы и на перле с лиспом можете графические приложения писать и на пыхе, конечно.
А что обсуждать? А хуй знает. Что в других тредах обсуждают?
Ты говоришь нельзя, а куча компаний говорят можно и спокойно юзают аппы на Рубях. Пикрелейтеды.
"Баловство" это отрицать то что существует и пребывать в своем манямире по этому поводу.
По поводу игр:
There's a ruby-opengl package at RubyForge which will give OpenGL support to Ruby. Alternatively, Chingu provides "lightning fast OpenGL accelerated 2D graphics!" according to its homepage; it builds extra features on top of Gosu, which you could choose to use if Chingu is too much for you. Or for 3D graphics, if you don't want to use ruby-opengl, try G3DRuby, "a very clean set of wrapper classes for many of the more advanced OpenGL features". There's even Rubygame, which I can't find much information on but it claims to be "a cross-platform multimedia library" and given the name, must have emphasis on game development. If you are familiar with the popular SDL library for C++, there's Ruby/SDL or RUDL, both of which are Ruby wrappers of SDL. Or if you prefer the newer, more object-oriented SFML, it is also available for Ruby!
Конечно, 3D шутеры ты на нем писать не будешь, но для вещей поменьше тот же Gosu справится вполне.
Все норм рубисты сидят в конфах в телеграме, там много народу, а здесь 1 семен неосилятор, 1 вкатывальщик и полтора ленивых рубиста.
Говоришь ему что на руби по факту писать gui с играми бессмысленно
@
Приводит список компаний который используют рельсу.
И следом фреймворк для смуззи-калек которым в кафешке надо накатать приложеньку для iOS чтобы поулчать 300к/секунда не просто так.
@
Начинает переиначивать слова и пытаться перевернуть значение слова "баловство", обязательно упоминает мирки, чтобы подкрепить свою "обоснованную" точку зрения.
Прекрати людям мозги пудрить, получится тормозное говно с обрезанными возможностями. Если хочешь встраивай руби в приложение вместо lua какого-нибудь, но не надо превращать приложения в подобие электрон-поделий.
>электрон-поделий
>на электроне написаны одни из лучших приложений в своем классе вроде VS Code или Slack
Ох уж эти РУБИ ТОРМОЗИТ Я СКАЗАЛ, ЭЛЕКТРОН НИ НУЖЕН, СМУЗИХЛЕБЫ РЯЯЯЯ манявры...
На GW2016 были ребята из россии-калифорния на рельсах, мб живы ещё
Instamart, Wheely, Skyscanner, Рокетбанк, Марсиане, Прогресс софт вроде много на руби пилил, это с ходу то что вспомнил.
Первое: ты мудак.
Второе: электрон это распухшее текучее говно, которым пользуются неосиляторы, чтобы побыстрее своё говно на яваскрипте запустить. И то что объективно могло весить 10 мегабайт, теперь весит 300.
Щас бы предлагать руби-смузихлебам перекатываться в костыльный джс для плебеев. Иди новый фреймворк учи.
А что нужно менять? Скорость единственный его минус пока что. В остальном он близок к идеалу - идеальный синтаксис, полное ООП, блоки и т.д.
Если кто-то считает что end писать некрасиво и нужны СКОБОЧКИ ГЫГЫ МЫ ДЖСНИКИ БЕЗ СКОБОЧЕК НЕ МОЖЕМ, то пожалуйста, альтернатив со скобками и вырвиглазным синтаксисом достаточно.
А читабельность и выразительность Руби один из главных его плюсов
>идеальный синтаксис
>.call
> полное ООП
>if, else, case
>блоки
>Вместо функций первого класса.
>читабельность и выразительность Руби
Ты просто мало с метопрограммированием (чужим) работал значит
на это пох,один хрен на РоР перейдешь
>идеальный синтаксис
>.call
Что не так?
> полное ООП
>if, else, case
Что не так?
>блоки
>Вместо функций первого класса.
Что не так?
Под полным ооп я подразумеваю что нет примитивов, все - объекты и вызов их методов. А не то что ты пукнул про ветвление.
Ты хоть понял, что он сказал про ветвление? Я вот нет. При чем оно тут? Объясни, пожалуйста.
Так, идите на хуй с такими постами.
Он типа даун думает что раз есть процедурные элементы по типу цикла или ветвления, то это уже не полное ооп.
https://www.youtube.com/watch?v=HJZ9TnKrt7Q
Есть хоть один язык программирования без управляющих структур?
еще тормознее и нагруженее?
Охуенно. Это одна из причин почему мы в конторе сейчас пишем на Вордпрессе, а не Рельсах не смотря на пиздецную архитектуру вордпресса через actionы и фильтры. Просто потому что слишком хорошая админка и система для блогов.
А теперь на рельсах еще проще будет делать подобное. Я думаю фреймворку стоит развиваться в этом направлении.
Он и так быстро работает. Медленный руби остался в 2010 году примерно.
http://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=query
Можешь посмотреть, в некоторых бенчмарках рельсы быстрее джанго (питон) и уж тем более быстрее симфони (пхп).
Но всё это все равно хуйня, юзеру похуй, что бэк ответит за 0.1 секунды, что за 0.3.
Как будет у тебя сайт с миллионами запросов в секунду, тогда придешь мне умничать что рельсы медленные, а пока что не позорься.
>>274581
Алсо на видео видно как быстро можно разрабатывать прототипы на рельсах. Запустить новый проект за полминуты. А тут челики неделями рассказывают как они не могут установить рельсы и какие у них проблемы с гемами, кек.
Заебись чем, абы было? Они работают над тем что действительно необходимо, а не загрузку сайта на 0.05 секунд ускорить.
Если тебе важна скорость, пожалуйста - пиши бэк на Го, Кристале, Эликсире.
Медленный (относительно) ActiveRecord, но так-то его никто не заставляет использовать, есть очень похожий, но намного более быстрый sequel. Еще есть rom-rb, он тоже выглядит годнотой, но сам я не пробовал его использовать.
Программирование микроконтролеров
с некоторыми постами ты промазал)))
На твоем сайте и 1 запроса в секунду не будет.
и падение продолжается
синтаксис-это только часть языка
Можешь Python начать изучать если тебя так беспокоит рейтинг от tiobe. А можешь зайти на hh.ru, indeed.com или upwork и посмотреть кол-во работы на Rails и успокоиться.
Из какой книги скриншот? Руби не умирает Слишком много проектов уже написано, их нужно поддерживать и развивать. Учишь руби, потом вкатываешься elixir или go. В итоге у тебя есть приятный язык для повседневным задачах и высокопроизводительный для узких мест.
Рейтинг Тиобе не имеет отношения к рынку, это пустышка для мерянья письками. Они бы еще на кол-во вопросов на стаковерфлов смотрели чтоб рейтинги по языкам выставлять.
>>276129
>руби умирает
Количество вакансий на рынке растет. Ты смотри не двач-треды и снг, а цивилизованный мир (Америку, к примеру: https://medium.com/@yoelblum_45935/demand-for-ruby-on-rails-is-still-huge-ea4434926c57 )
Мировые гиганты используют свои приложения написанные на рельсах (Airbnb, Twitch, Github, Soundcloud, Kickstarter, Shopify, etc):
https://www.netguru.co/blog/top-10-sites-built-with-ruby-on-rails
>просто не язык а космос
Язык да, очень элегантный и выразительный, и после джавы это как после лужи говна окунуться в оазис.
>почему никто не пишет на этом бжстном языке
Потому что сейчас язык выбирают не из-за потребностей, а из-за хайпа. Пример - Нода. Отвратительный вырвиглазный однопоточный джаваскрит с коллбэками без масштабирования. Просто маркетинг убедил бизнес что нужно на новый смузи перейти.
Но умные ребята держутся за качество, стабильность и проверенность годами (Руби, Питон, Пхп).
Это единственный пример, о котором все знают. То что они сделали является исключением из общей практики. Ты учти, что большинство проектов не обладают такой капитализацией и их требования менее специфичны.
Ты бака? (если отвлечься от рельсы) На тот же ГО сейчас много корпорастов перелезает, или на котлин (хуётлин), всякие банки перепиливают своё джава-пять-говно.
Пруфы будут? Если они перепилиывают, то не весь код, а некоторые микросервисы. Переписать всё - это отстать в развитии от конкурентов на один год. Или держать штат в 2-3 раза больше. На это не каждая фирма может пойти.
Пруфов не будет, но я слушал подкасты devzen и radio-t и там ведущие и гости говорят про это.
И да, естественно, переписывают не всё, а по частям.
У твиттера фронт на рельсе остался, а бек на скале кажется переписали полностью.
Наверное только букингком может позволить себе продолжать угорать на перле.
>после джавы
зато джава более серьезный ЯП
>на котлин (хуётлин), всякие банки перепиливают своё джава-пять-говно.
Проиграл вголос.
Котлин никто не юзает кроме пары поехавших джет брейнщиков.
Это во-первых, а во-вторых - нет, банки не переписывают ничего. Код вообще довольно редко переписывают. Поэтому язык на котором куча легаси просто не может умереть - нужно чтобы кто-то поддерживал старые сайты. Джава еще добрый десяток лет минимум стоять будет, в том числе 5 версия.
То есть по-твоему апнуться с 3 на 5 рельс за 3 года это "переписывание"? Ну конечно, если такими временными рамками мерять то да, софт переписывают.
Не совсем понимаю что тебе не понравилось.
Ну да чувак, это переписывание, инженерная работа.
А за сколько по-твоему должны переписывать?
Пол года дела кекеке
Ему не понравилось то, что ты сравниваешь переписывание с одного языка на другой с переходом между версиями фреймворка.
И…?
Другой ЯП это не другая вселенная, скорее другая страна.
Если ты погромист, то будешь на любом языке писать свои нетленки.
Ну и со времён rails 3 (и тогдашенго руби) много воды утекло.
Вон в питоне вообще до недавнего времени народ не знал на какой версии писать.
>То есть по-твоему апнуться с 3 на 5 рельс за 3 года это "переписывание"? Ну конечно, если такими временными рамками мерять то да, софт переписывают.
>если такими временными рамками мерять то да, софт переписывают
Он об этом. Переход с одной версии на другую занимает гораздо меньше времени, чем переход с одного языка над другой.
Ты из тех, кто любит спорить ради спора? Тебе вообще похуй на то, что ты говоришь?
Почему инженерная работа занявшая три года не может считаться полноценной-то?
Вы так говорите будто они в Gemfile'е просто версии апнули, а им пришлось много чего в проекте переписать, разобраться с техническим долгом.
Они же не писечки друг другу дрюкали ведь так?
Другой язык это просто другая экосистема, а не какая-то священная торба которую надо ПОСТИГАТЬ десять лет, чтобы анонимусы с двача назвали это тру-переписыванием.
Да, иногда люблю поспорить ради спора (почему бы и нет?).
>Вы так говорите будто они в Gemfile'е просто версии апнули, а им пришлось много чего в проекте переписать, разобраться с техническим долгом.
Да, только у них это заняло три года. Переписать проект полностью на другом языке займет гораздо больше времени, с учетом их темпов.
>Да, иногда люблю поспорить ради спора (почему бы и нет?).
С тобой скучно спорить, потому что ты отыгрываешь роль дебила.
> Переписать проект полностью на другом языке займет гораздо больше времени, с учетом их темпов.
Мда. Угу, KDE вон каждые три года также переписывают.
Ты не учитываешь ни сложности проекта, ни целей переписывания и при этом оперируешь какими-то своими иллюзорными оценками "темпов".
>Гитхаб вон с третьей(!) рельсы на пятую переехал недавно (заняло ~3 года и несколько человек команды, это не разные языки конечно, но всё же).
Как ты думаешь, сколько им времени понадобится чтобы перейти с пятых рельс на го?
руби на том же уровне кек
уверен больше половины кода гемов никогда не использовалось, самое дебильное что происходит с программированием, ну конечно после всего этого безумия с абстрактными фабриками сингелтонов, это пакетные менеджеры.
ну и что на руби пишут?
Подскажите, пожалуйста, это особенный руби-стиль такую хуйню творить с инстанс переменными и игнорировать существование if/else для добавления несовместимых строк (по смысле только одно условие должно быть верным) или таки программист нахуевертил с этими условиями ради возможности иметь a, b и a+b (но не b+a)? Почему нельзя как белый человек просто аргументом в функцию передать?
>Вы там че, ебанутые?
Блядь, ну написал же:
> только заменил <...> реальное условие на rand'ы
Буду я ещё условия какие-то выдумать для примера кода.
Программисты, хочет кто поработать в перспективном и инновационном SAAS B2B FTW STARTUP? Небольшая ламповая команда, свой продукт, средние и крупные клиенты, зарабатываем, инвестиции.
Rails, Angular, Docker, Mongo, Elastic и другие штуки вплоть до Lua. Москва или удаленно. Компенсация на уровне.
>хуйню творить с инстанс переменными
Какую хуйню? Ты про то, что он эту переменную использует как флаг? Такой подход на любом языке говно.
>игнорировать существование if/else для добавления несовместимых строк
Нет. Так как он пишут для несовместимых строк только в том случае, если в каждом из if есть return
Выглядит так, как будто бы он бездумно применяет советы банды четырёх
>Какую хуйню?
>Ты про то, что он эту переменную использует как флаг?
Да. Использование её в, фактически, локальном скоупе, т.е. там, где нахуй она не нужна. Что он перед вызовом функции устанавливает этот флаг и толкьо внутри одной той функции его использует. При этом приходится с @a = false изъёбываться, так ещё и там одна и та же проверка десят раз делается в итоге потом.
Такое ощущение, что это перловщик писал и просто слепо @@@@@ всюду хуярил, привыкши к своим $, потому что там куча мест ест, где в начале функции объявляется @var = "" и только внутри этой функции оно и используется.
>если в каждом из if есть return
Ну, его, как видно, нет.
Алсо, за @@var в глобальном скоупе (вместо константы капсом) рубисты бьют? Ворнинги ж даже вылезают!
Я просто определиться не могу, ссать на него мысленно я не знаю, кто он, а мне говно это вилкой чистить етперь или нет. Видимо, таки да.
>(вместо константы капсом
В смысле, просто вместо глобальной переменной, а не константы. я понятия не имею, что руби делает с "class variable" вне класса, говорят просто глобальной становится."
https://dalibornasevic.com/posts/9-ruby-singleton-pattern
>Алсо, за @@var в глобальном скоупе (вместо константы капсом) рубисты бьют?
Я такого даже ни разу не видел.
> @@var в глобальном скоупе (вместо константы капсом)
Воу-воу, это вообще не константа, это переменная класса.
По рукам за них бьют, потому что у них очень сложное поведение, пользоваться ими лучше совсем минимально и только хорошо понимая, что это за тип переменной.
>>277603
>я понятия не имею, что руби делает с "class variable" вне класса, говорят просто глобальной становится."
Не просто.
Она может выглядеть как глобальная в определённых контекстах, но ведёт себе иным образом. Это одна из неприятных особенностей в руби.
матца наказать за такое!
>но ведёт себе иным образом.
Каким? Чтобы, если что, аргументированно макнуть на code review.
>Воу-воу, это вообще не константа, это переменная класса.
Да я оговорился, поправился же в следующем посте. Там вместо константы фактически и использовалось (таблица с маппингом значений).
>>277605
К чему мне ссылка эта? Я знаю, что такое классовые переменные, оно просто в очень необычном месте находилось, отсюда и вопрос.
>К чему мне ссылка эта?
Ты будешь переписывать этот код. По ссылке показаны различные варианты реализации того, что тебе нужно.
>Она может выглядеть как глобальная в определённых контекстах, но ведёт себе иным образом
Как?
>>277621
Они доступны для всех инстансов класса (потому что Class это тоже объект) — изменишь эту переменную и можешь повлиять на всех потомков, поэтому надо использовать с осторожностью.
Часть магии в рельсе работает на этих переменных.
Новички часто просто путают @ и @@ вот и всё, ничего саакрального там нет.
Объявлять @@ вне класса не совсем логично, потому что тебе ещё нужно в некоторых ситуациях получить имя объекта, чтобы обратиться к переменной @@.
>потому что тебе ещё нужно в некоторых ситуациях получить имя объекта
В каких ситуациях? Это переменная класса Object. Все остальные классы наследованы от Object (Почти все). Эта переменная будет видна везде.
Эм, ни о каких синглтонах речи не шло вообще, и ничего из этого мне не нужно.
>>277642
Да хватит объяснять class variable'ы, всем понятно, что это. Вопрос было про неё ВНЕ класса. Да и рельсы тут тоже нет.
https://repl.it/repls/MintcreamAchingLicense Вот какие различия между ними?
Короче ты можешь делать всё что хочешь.
Но профессиональные программисты будут твой код заворачивать, потому что это плохая привычка.
Этот синтаксис (@@) придуман не для того, чтобы его так использовать. В руби много на соглашениях держится и это одно из таких соглашений: не использовать @@ где попало.
Ещё там вроде с областью видимости могут быть проблемы если ты в классе, модуле и ещё где-нибудь объявишь что-то вроде @@point_i — то там не совсем ясно какая именно point_i будет использоваться.
Ну вот. Я думал ты что-то интересное сможешь рассказать, а ты цитируешь дефолтную хуйню про переменные класса.
>>277657
>Эм, ни о каких синглтонах речи не шло вообще, и ничего из этого мне не нужно.
Нужно. У тебя в проекте глобальные переменные реализованы через TOPLEVEL CLASS VARIABLE. Я не знаю, зачем так было сделано. Так никто не делает. Вполне возможно, что эта переменная вовсе не подразумевалась как глобльная, а кто-то плохо знает о метапрограммировании в руби. Тебе нужно будет либо исправить этот баг (всё работает только потому, что остальные классы наследуются от Object), либо сделать всё правильно. Как сделать правильно? Внезапно глобальные переменные являются не тру-путём. И лучше реализовывать такие вещи через синглтоны.
>Короче ты можешь делать всё что хочешь.
> будут твой код заворачивать
Это не мой код и я не настаивал на его использовании, я как бы и спрашиваю, потому что считаю это каким-то очень странным решением такое делать.
> не совсем ясно какая именно point_i будет использоваться.
Ну shadowing-то понятно, он всегда и везде. Тут и после унаследования та же фигня. И при импорте модулей с $var то же самое может произойти. https://repl.it/repls/StrangeDistantApplications
Просто >>277609 же сказал
>но ведёт себе иным образом.
Вот мне и интересно, где и когда она ведёт себя иным образом?
>Нужно.
Да там нахуй не нужны ни глобальная переменная, ни синглтоны, код был а-ля
>@@types = {'a' => 1, 'b' => 2}
><много строчек кода и внутри функции>
> value = @@types[input_data['type']]
>У тебя в проекте глобальные переменные реализованы через TOPLEVEL CLASS VARIABLE.
Т.е., грубо говоря, сам объект "интерпретора", как global/window в JS'е, при этом ещё и являясь родителем всего и вся, потому и видно всюду?
>Т.е., грубо говоря, сам объект "интерпретора", как global/window в JS'е, при этом ещё и являясь родителем всего и вся, потому и видно всюду?
Очень грубо говоря.
Большинство классов наследуются от Object. Очень редко может возникнуть необходимость наследоваться от BaseObject, в таких классах эта "глобальная переменная" доступна не будет.
>>277691
Что не нравится?
Ты жопой читаешь. В том контексте, в котором они были упомянуты, синглтоны хорошее решение.
Нагуглить if end if не получилось. Это какие-то издержки языка и работает оно по образу <statement> if <condition>, считая весь if-end блок одним элементом, который выполняется в зависимости от второго условия? Судя по выполнению pr только для чётных, вроде так и есть.
Так вообще пишут где-то? Вот что ему могло помешать целиком это условие в одном месте написать-то, блин? Ну кроме хлебушка, разумеется. Short-circuit evaluation же имеется.
Лол. Либо ты нас троллируешь, либо тот, кто это писал нас троллирует, либо хуй знает!
>считая весь if-end блок одним элементом, который выполняется в зависимости от второго условия
Да
Я другой анон: недавно доделал туториал хартла и писал разные скриптики на руби, знаю дебиан/баш.
Почему месяц? Откуда месяц? Ищу не только лишь джунов, ищу адекватов. Коллеги хайрят трационными способами, у меня же свой путь, лол.
Никаких специальных требований нет. Делаем что-то вроде узкоспециализированной CRM + консюмерский продукт с нюансами.
Ананасы, пишите о себе на
Можешь сразу в тред писать? Какая зарплата в час? Трудоустройство официальное? Можно ли совмещать?
>Трудоустройство официальное
Я не помню когда последний раз видел вакансию с официальным трудоустройством (не считая гугл-яндексов).
Почему именно руби? Посмотрел, на то что руби-фрилансеры получают 300к/секунда?
Сначала вкатись в тот язык который популярен у тебя в городе среди контор, чтобы устроиться на работу иначе ты опыта никакого не получишь, а в руби без него ты никому не нужен.
нет
>Сначала вкатись в тот язык который популярен
Я уже вкатился. Он на первом месте на тиобе. Я же говорю, 2 года работаю.
> Он на первом месте на тиобе.
Java?
> не зная фронтенда или бекенда
Судя по джаве ты должен знать бекэенд.
Разве что ты для десктопа писал что-то.
Раз есть коммерческий опыт, то смотри сам опять же, куда сможешь устроиться, есть ли деньги на возможный переезд или просто на финансовую подушку.
Для души лучше Руби языка я пока что не видел, а Скалка Кложа это та же хуйня что и джава, для души блять, кек.
Руби это хуйня что и джава, тоже мне сравнил говно с функциональщиной.
Есть вопрос серьезный.
На нашей зоне петухи масть попутали и угорели по SOLID. В толстых активно-пассивных рекордах решено было валидации отделить. В связи с чем встала проблема, ибо никто не знает как это сделать, так как многолетняя анальная проработка интерфейсов и оттачивание практик сделало их удобными, прозрачными, изящными, лаконичными и намертво сцепило с моделью.
Первыми закукарекали блого-цыгане. Мол, используйте ActiveModel:
```ruby
class UserForm
include ActiveModel
attr_accessor :email
validates :email, presence: true
end
```
Им быстро указали место возле параши, когда попросили хотя бы `if email changed`.
Олдфажные любители велосипедов выкатили свои Virtus и Reform (автор и на воле долбился в очко, подставлял жопу в своей шевроле трейлблезер). Первый отправился драить очки после того как в рельсах завезли attributes api и стал возможен коэршен. Второй просто нерукопожатный шизик, его даже среди петухов за петуха держат.
Та же история и с dry-петушней, сделавшей схемы мммаксимум как замену StrongParams с коершенами и назвавшей это валидациями. На просьбу провалидировать одно поле если другое == тому-то, послышалось невнятное мычание. После просьбы сделать кастомные валидации с нормальными еррор-мессаджами, раздалось визгливое кукареканье. Более сложных вопросов типа контекстных валидаций и changed-условий им даже не задавали.
Но были и более находчивые предложения. Например мужики хотели обернуть модель в декоратор и уже там сделать валидации. Соснули они на валидации на уникальность (настолько сильно связана с моделью, что даже декоратор не спас). К тому же все равно оставалось несколько принципиальных вопросов.
0. Форма должны быть ПОЛНОСТЬЮ отделена от моделей. Декораторы же меняют состояние самих моделей. Что допустимо, но не канонично.
1. Форма должа уметь в маппинг полей ('zagolovok' => 'title', 'latlon' => ['lat', 'lon'] и наоборот)
2. Форма должна уметь в коэршен.
3. Форма должна уметь в композицию. Это и пресловутый accept_nested_attributes и просто пара независимых объектов, как то профиль пользователя + профиль компании в одной форме. Вложенность! Композиция!
4. Форма должна уметь работать с контекстами. on: :create, on: :zalupa. Форма должна уметь опираться на изменения (changes).
5. Форма должна иметь механизм реиспользования/наследования в каком-то виде. RestrictedUserFrom < BaseUserFrom.
6. Форма должна уметь отдать ошибки для входных полей ровно так, как это умеют рельсовые валидации.
За сим вопрос, может кто слышал, как заточены нормальные формы у мужиков или блатных?
Есть вопрос серьезный.
На нашей зоне петухи масть попутали и угорели по SOLID. В толстых активно-пассивных рекордах решено было валидации отделить. В связи с чем встала проблема, ибо никто не знает как это сделать, так как многолетняя анальная проработка интерфейсов и оттачивание практик сделало их удобными, прозрачными, изящными, лаконичными и намертво сцепило с моделью.
Первыми закукарекали блого-цыгане. Мол, используйте ActiveModel:
```ruby
class UserForm
include ActiveModel
attr_accessor :email
validates :email, presence: true
end
```
Им быстро указали место возле параши, когда попросили хотя бы `if email changed`.
Олдфажные любители велосипедов выкатили свои Virtus и Reform (автор и на воле долбился в очко, подставлял жопу в своей шевроле трейлблезер). Первый отправился драить очки после того как в рельсах завезли attributes api и стал возможен коэршен. Второй просто нерукопожатный шизик, его даже среди петухов за петуха держат.
Та же история и с dry-петушней, сделавшей схемы мммаксимум как замену StrongParams с коершенами и назвавшей это валидациями. На просьбу провалидировать одно поле если другое == тому-то, послышалось невнятное мычание. После просьбы сделать кастомные валидации с нормальными еррор-мессаджами, раздалось визгливое кукареканье. Более сложных вопросов типа контекстных валидаций и changed-условий им даже не задавали.
Но были и более находчивые предложения. Например мужики хотели обернуть модель в декоратор и уже там сделать валидации. Соснули они на валидации на уникальность (настолько сильно связана с моделью, что даже декоратор не спас). К тому же все равно оставалось несколько принципиальных вопросов.
0. Форма должны быть ПОЛНОСТЬЮ отделена от моделей. Декораторы же меняют состояние самих моделей. Что допустимо, но не канонично.
1. Форма должа уметь в маппинг полей ('zagolovok' => 'title', 'latlon' => ['lat', 'lon'] и наоборот)
2. Форма должна уметь в коэршен.
3. Форма должна уметь в композицию. Это и пресловутый accept_nested_attributes и просто пара независимых объектов, как то профиль пользователя + профиль компании в одной форме. Вложенность! Композиция!
4. Форма должна уметь работать с контекстами. on: :create, on: :zalupa. Форма должна уметь опираться на изменения (changes).
5. Форма должна иметь механизм реиспользования/наследования в каком-то виде. RestrictedUserFrom < BaseUserFrom.
6. Форма должна уметь отдать ошибки для входных полей ровно так, как это умеют рельсовые валидации.
За сим вопрос, может кто слышал, как заточены нормальные формы у мужиков или блатных?
>Rectify forms
Ну, чувствуется что чувак все-таки думал над тем что делал, а не просто свой поток сознания изливал.
Но все равно, это не закрывает реальных задач, когда действительно нужны форм-обджекты Собственно если видишь пример с presence: true то дальше можно не читать. Уж простите за категоричность..
Виртус закрывает вложенные формы. Гем добавил несколько методов для загрузки атрибутов в форму. На этом все. Дальше эта форма умеет ровно столько же, сколько ActiveModel. А для этого не нужен отдельный гем со своей магией.
Та же проблема, что и у остальных - нет работы с объектом модели. Ну как я блять провалидирую факт изменения контекст не прокатит во вложенных формах, как валидировать :contacts, length: 3, если нет мерджа с реальной ассоциацией. Собственно мержда вообще нет - либо из ввода читаем, либо из модели грузим. А про _marked_for_destruction эти люди вообще не знают, похоже.
Ну и маппинга и свободной композиции тоже нет, только вложенные формы. От структуры БД уйти по прежнему нельзя.
Тем не менее, нужно отдать должное, то что сделано - сделано не плохо.
Еще, я конечно не очень глубоко вникал в виртус, может быть он способен изъебнуться в каких-то моментах.
Вас услышали, можете идти дальше заниматься вашим сортом 1С.
Никакие, на руби никто ничего не пишет, в прошлом треде выяснили, что язык мёртв.
Лол, ты семенствуешь уже треда 3 подряд и за километр видно что сам не программируешь вообще. С#, кек.
Почему стоит начать и зачем ты аноны вкатился в руби
Ну и интересно какое будущее за ruby если конкуренты способные убрать ruby.
Да и вообще хотел узнать про твой опыт на руби, что на нём пишешь и т.д.
Спасибо заранее
не надо этого делать
Не надо чувак.
Вкатывайся в программирование, а не в языки. Хороший специалист может менять инструменты в зависимости от требований и не испытывать при этом больших проблем.
99% вакансий - этот RoR, в него легко вкатываться и не так уж сложно в нём совершенствоваться. Много вакансий на удалёнку. Зарплаты вкусные.
>у и интересно какое будущее за ruby если конкуренты способные убрать ruby
есть кристал его фреймыорк эмбер-но это чисто для любителей
Да пытаюсь, сейчас буду калякать свой ололо-сайтик на хероку (благо хартла добил чо), паттерны ещё учить надо.
Соглашайся на маленькую зарплату, смотри, сколько остальные делают и проси повышение, если чувствуешь, что его достоин. Начнешь с небольшой суммы - они легко согласятся, даже если дропнут тебя через пару месяцев, увидишь кухню изнутри, наберёшься опыта. Многие приходят работать нихуя не зная. Я долгое время изучал различные технологии, а потом обнаружил, что все мои знакомые, которые ничерта не знают, работают и получают за это деньги, иногда задавая мне вопросы, лол. Нужно перестать бояться того, что ты ничего не знаешь и начать уже работать.
Двачую адеквата.
>>279624
Не знаю как в Новосибирске, может вакансий быть очень мало. Но Руби, конечно, учить стоит - он в топе по деманду в Америке и стартапах.
Конкуренты у Руби те же, что и 10 лет назад. Питон и пыха (Эликсир слишком нишевый не считаем, Кристал вообще еще не 1.0 версия языка). На пыхе проще из говна и палок быстро все склепать, питон щас хайповый из-за ML, а т.к. в мордоре языки выбирают из-за хайпа, а не смотрят на них как инструмент, то руби у нас не очень популярен. Но вакансий, конечно же, куча. Другое дело, что да, полному джуну найти работу будет сложно; возможно, но сложно.
Учи Рельсы да пробуй. И да, двачую анона выше, первую работу стоит идти даже если зп там очень маленькая. Мне 1 месяц работы в конторе дал больше чем 4 года в универе.
Так если квартиру в ДС, то конечно все изи. Джуном уж пристроишься где-то. Если квартира не на садовом кольце конечно
Ну все в твоих руках и в голове, хуле. Не думай что изи будет.
Просто сейчас учу c# до мидл и имею под собой хорошую базу с матчастью со всякими solid и паттернами, но есть интерес к ruby, вот думаю можно ли это как-то соединить. Заебывет иногда делать что-то на одном, вот решил немного разнообразия и переключится на ruby
Тут много троллей. Не знаю, насколько изи устроиться джуну, чтобы зарабатать на съем квартиры в ДС. Если здоровье слабое, могут нервы сдать. Многие джуны стесняются задавать правильные вопросы, а в итоге тянут до последнего и после этого задают множество неправильных уже от безысходности. Когда я тебе советовал идти на минимальную зарплату, я предполагал, что ты продолжить торчать в свом мухосранске.Джунов на удалёнку не любят брать, но ты вызываешься работать за еду И когда я говорил про мнимальную зарплату, я имел в виду зарплату четырежды обоссанного стажёра, которому нужны не деньги, а полезный опыт. Чтобы он был действительно полезным, тебе необходимо с умом выбирать компанию, в которую хочешь устроиться. Нужно учесть, что из-за большого объема кода, новых идей и людей, ты будешь каждый день заебываться, и сил на полноценное изучение рельс может и не хватить. Поэтому я не советую идти ва-банк. В моем представлении идеальный вариант - устроиться куда-нибудь за такую низку зарплату, что с тебя спрос будет чуть ли не нулевой. При этом изучать проект, мониторить изменения в нём, задавать вопросы, читать хорошие книги и применять знания из них на практике с этим могут быть проблемы, так как у тебя будут достаточно простые и специфичные задачи, поэтому на работе новые знания вряд ли удасться использовать в первые пару месяцев
> В моем представлении идеальный вариант - устроиться куда-нибудь за такую низку зарплату, что с тебя спрос будет чуть ли не нулевой.
Такое разве можно найти, нигде ниже мидла вакансий не вижу, а джун должен быть с двумя годами опыта (который брать незнамо где).
Я бы с удовольствием пошёл за опыт чтобы снимать и питаться можно было нормально.
>Я бы с удовольствием пошёл за опыт чтобы снимать и питаться можно было нормально
Это сколько тысяч рублей?
>Такое разве можно найти, нигде ниже мидла вакансий не вижу, а джун должен быть с двумя годами опыта
2 года опыта - это или не джун, или необучаемый ленивый прокрастинатор
>В районе 50-60 наверное
Это если ты пеередешь в ДС, так? Ты можешь жить в своем городе, найти Московскую компанию, которая ищет мидлов, слезно молить их о стажировке за 20к, проявить себя. Через месяц-два зарплату повысят. Конечно, ты можешь искать работу и возможно что-то найдешь и всё получится. Я тебе предлагаю активный вариант, когда ты как наивный герой из вдохновляющего фильма звонишь в компанию и говоришь, что очень мотивирован и готов себе жопу порвать, и просишь о шансе, реализуешь его, они видят, что ты не говно и нормально вкатываешься.
Кстати да, я давно натыкался на сайт с их тасками, порешаю.
>>279733
> 2 года опыта - это или не джун, или необучаемый ленивый прокрастинатор
В смысле, в вакансиях им нормальные деньги предлагают вроде (от 80 насколько я помню).
Я уже типа в под-дс)) У меня всё сложно и по сути ничего нет, кроме некоторых сбережений. Хард-мод такой)))
становил.дальше что,открыть терминал?
Без БД можно, там SQLite используется.
Но если очень надо можешь любую с официального сайта самой БД, специальной "рельсовой" версии той же постгри ил имускула тут не нужно.
чет нихрена не запускается,файл blog создал,как в руководстве
Ну ты же наверняка АНДРЕЙ, а не АНОНИМ, хули выёбываться-то?
Перейди в папку blog и там уже •rails server•
Ну значит низя(((((
А блин, я затупил, скулайт тоже надо скачать и поставить (вроде кинуть куда-то).
https://www.sqlite.org/download.html
http://www.sqlitetutorial.net/download-install-sqlite/
Ещё в Chocolatey можно попробовать.
Парень, иди читай книжку и основы, у тебя понятия нет как что работает, а ты с умным видом пытаешься пердолиться.
Сам напиши базу данных на руби, делов-то.
>>280569
>>280598
Чувак учись пердолиться срачечкой в консолечку.
Тебе надо определить какая битность у твоей винды (32 или 64), потом скачать сборку sqlite для винды. И распаковать её либо в одну из папок в PATH (например system, но это тебе гуглить надо).
Опять же тебе надо узнать чё за PATH такой и нахуй он вообще в винде-то.
Вместо терминала дефолтного поставь conemu.
Если просто хочешь валенком быть, то ставь RubyMine — он автоматически всё делает.
>>280608
Нет, просто он зелёный. Запуск ванильной рельсы на винде возможен без лишних косяков, пройти рейлстуториал хартла точно хватит.
а команды я значит с потолка беру?
использовал несколько инструкций,и все равно не хочет грузить рельсы,ошибка с гемом
и это не тру путь как на линухе
ну собрать ручками не получилось(((
Я вот сейчас иос с хкодом добью, брошу работу по андройду, и буду учить руби для себя. Когда почувствую что достаточно, пойду искать работу и на иос джуниора и на андройд. А руби это для души, хотя свифт более симпотичен, чем руби, не знаю даже чем он сейчас меня привлекает. Скорее всего багровым цветом на гитхабе.
>???
Я же расписал причину. Ну еще можно сказать, что мне нравится идея и веб и бек писать в одном месте.
Сейчас пойду в питонотред и почитаю как поставить джангу и сравню…
ну тогда Джанго
>Но ведь вакансий 0 для джунов по иос
Какая нахуй разница? Моя основная специальность это андройд.
Не ноль, а мало. И тебе не нужны все вакансии, тебе нужна одна, где тебя возьмут.
Челик который это спрашивал не смог хелло ворлд на рельсах запустить, поэтому разницы нет.
не, нода не оправдала надежд
считается что на клиент придет некая виртуальная машина в которой будет запускаться все, и небо и даже аллах
WASM же.
Рельса давно мертва. Хз, что тут местные школяры делают, дрочут наверное, бгг.
руби не мертв,а развивается
рельсы тоже,6 версия скоро будет
в США и Европе активно используется-своя доля есть
че сказать то хотел?
https://www.youtube.com/watch?v=YJPE5yTfvyQ&list=PLiWUIs1hSNeNz4UCJk9r-5nFklqvzL7vy
(все видео в плейлисте)
что за клоуны?
потому что ты пиздоглазый мудак и не можешь в видимость переменных
по факту твои localvar и $globalvar доступны всем методам
так я эту тему и изучаю
2 раза,потому что там 2 глобалки?
>почему вызвав второй раз метод amethod выходит другой результат?
Чому в руби вкатываешься с такими знаниями?
>если отвечу,начнете глумиться
Я только глумюсь в андройд треде, потому что он мой родной. А сюда я гостить хожу. Ну рассказывай
мне для супер-говно-проэкта мне фейсбук не дает покоя нужны рельсы,почему он-понравился синтаксис по сравнению с другими языками ну и то что там на каждый чих есть гем-меньше писанины,лучше джаго
поддался на аргументы рубистов в прошлом треде
>почему он-понравился синтаксис по сравнению с другими языками
Ну мне тоже нравится его синтаксис, хотя я вынужден работать в совершенно другой области.
Хотел бы тоже что-нибудь написать, но времени нет.
>печально что разжеванной инфы меньше и тред полумертвый
Для этого существует реддит. С нулевым опытом времени вката займет чуть больше.
Разжевать ты сможешь только сам с практикой, куда уж дальше разжевывать чем в туториале хартла? Уж на дваче точно лучше не расскажут.
Плюс у тебя уебанские вопросы по типу про глобальные переменные.
с глобалкой и локальной я разобрался.
не нравиться скакать по 10 статьям и книгам,что бы найти удобоваримое объяснение-даже на англ дохера мути в отличии от пхп
щас переменная класса меня застопорила
> чем в туториале хартла?
это же по рельсам
>дваче
на дваче можно получить доступное объяснение,если сам не смог найти ответ
>щас переменная класса меня застопорила
Я бы посоветовал head first ruby.
Я вот тоже охуевал от программирования год назад, прочитал ее, потом тык тык, потыкался еще и все, сейчас работаю за 500$, правда не на руби и не в макакинге.
не думал, что head first ruby помогает научиться правильно сосать хуи
уже разобрался
у меня 900р/час. второй год не могу сдвинуться
>метода экземпляра?
Хуй знает. Экземпляр класса это по моему вот так Foo foo = new Foo()
Если фуу экземпляр, то у него и есть это состояние блять. Меняешь и все. Я не рубист, просто здесь люблю жить.
Смотря какой метод. Например метод класса #new нужен чтобы создать экземпляр класса.
Или посмотри на рельсовые валидации (метод класса #validates) и как такие методы используются при описании класса.
class User
validates :password, confirmation: true
validates :username, exclusion: { in: %w(admin superuser) }
...
end
с методами экземпляра мне как бы очевидно и понятно
а метод экземпляра типа что его исп сам класс и его нельзя исп размноженным экземплярам класса?
>а метод экземпляра
опечатался,правильно метод класса
мне нужны рельсы,а без руби никак
ну можна же удаленно или апворк
ДИНАМИЧЕСКАЯ СКРИПТОПАРАША вот почему.
Хуйня без задач.
Любые непонятные тебе конструкции в руби сделаны только с одной целью — писать меньше кода и повысить его гибкость.
В общем-то мануал показался годным, но я в легком недоумении, неужели кто-то еще пишет на этом в 2018?
как то радужно
Ладно, это скорее просто ощущение было. Но реально ли руби подходит для вкатывальщиков? Мне чуваки советуют учить JS, я сейчас только в начале пути.
нет
Для совсем вкатывальщиков вряд ли, JS проще. В Руби надо быть по сути фулстаком чтобы иметь шансы на вкат. Но с другой стороны в JS и конкуренция очень большая, рубистов меньше.
Спасибо.
нахуй фуллстак, дрочу свои бэки и мне норм
Ну вообще говоря в Рельсы довольно просто вкатиться относительно остального. Проще разве что JS.
пых-пых
Есть вот такая загогулина:
module Men
class Penis
attr_accessor :zalupa
def initialize(zalupa="vyalaya")
@zalupa = zalupa
end
end
class Hand
attr_accessor :side
def inittialize(side="left")
@side = side
end
def fap
Men::Penis.new("big")
end
end
end
@public_handjob = Men::Hand.new("both").fap
Каким образом из @public_handjob можно получить side экземпляра класса-создателя?
Есть вот такая загогулина:
module Men
class Penis
attr_accessor :zalupa
def initialize(zalupa="vyalaya")
@zalupa = zalupa
end
end
class Hand
attr_accessor :side
def inittialize(side="left")
@side = side
end
def fap
Men::Penis.new("big")
end
end
end
@public_handjob = Men::Hand.new("both").fap
Каким образом из @public_handjob можно получить side экземпляра класса-создателя?
Рельсы - это пидорский отстой с моделями тесно привязанными к сраной БД.
Пидорок вскукарекнул
школьник не может в .pack
Никак. Создавай отдельно
@hand = Men::Hand.new('both')
@hand.size #=> side экземпляра
@hand.fap #=> уже затем можно вызвать метод fap
Так это же плюс и в этом и смысл Модели как таковой. Если не нравится, то нужно другой инструмент выбирать, а не жаловаться на рельсы.
Спасибо Антош.
Решил не ебать моск и писать в переменную при инициализации экземпляра экземпляр инициализатора
Метод класса вызывается на самом классе, без создания экземпляра.
Инстансные методы (то, что вы методами экземпляра называете) вызываются на созданном экземпляре класса.
Для примера из рельсы:
User.all - тут all является методом класса, так как вызывается на всём классе и возвращает всех юзеровю
А вот вызов метода на экземпляре:
user = User.new(name: 'Slavka')
user.name # => 'Slavka'
>class ApplicationController < ActionController::Base
ApplicationController наследует свойства класса Base,находящегося в модуле ActionController(который скорее всего отделяет свой класс Бейс от какого то другого класса Бейс,нах-ся в другом модуле???я правильно понял эту конструкцию?
Да, наследует состояние и поведение.
> "скорее всего отделяет свой класс..." - тоже верно. Обёртывание класса в модуль это своего рода пространство имён.
А ведь я записывал его стримы с мейл ру...
а пых воскрес
делаю
cd ~/
git clone
cd app
bundle install
пишу rails
оно высирает гору текста и в конце undefined method `[]' for nil:NilClass
Вот чё этой мрази надо, а?
Два часа промучился в попытках просто, блять, параметризовать класс функцией. Нихуя не работало и не заработало. Вы совсем больные на таком говне писать?
Не смог в передачу блока и yield ?
Ладно, забираю слова обратно. >800мб, ебанутый атом. Еще и UI не такой плавный, как вижак. Иду обратно на вижак.
>высирает гору текста
Собственно в ней и написано что конкретно и где пошло не так.
>>297830
Рофл, не пытайся привнести говно из других языков в няшный Руби. Как выше сказали, просто ты не смог в блоки.
>>297852
Любые плюсы Атома сгорают на фоне того что это тормознутый пиздец на курьих ножках. Из него только скрины красивые можно делать, повседневно кодить не получится.
>не смог в блоки
Лол блять, ну один к одному, как крестобляди.
Ваш руби не умеет в функции, как объекты первого порядка - не, это фича такая, вместо нее вот костыли, а раз ты не научился на них ходить, то ты лох.
Sukkah
отправил резюме на вакансию руби макаки, через месяц приходит ответ, что они изучили мое резюме и я не очень подхожу на эту должность, зато предлагают попробовать решить тех задания на фронтендера (зп на порядок меньше).
А ты сказал им, что руби мёртв и они вообще должны радоваться, что хоть кто-то аплаится?
>руби мёртв и они вообще должны радоваться, что хоть кто-то аплаится
Не правда, руби не мертв.
По прежнему не мало человек на нем пишут, используют на работе, проходят митапы, конференции и тд. Просто последние годы хайп на другие технологии, но это не делает руби хуже.
Да, ты лох
Я и не говорил, что руби плохой язык, просто мёртвый, хороший мёртвый язык. По которому проводят поминальные митапы и литургии, конференции и копрофилируют на работе.
Некоторые живые языки так не используют.
Руби это язык нежить.
Какие функции, поехавший, руби это полное ООП. Не нравится - не используй его, все просто.
25 декабря
В смысле, вот JIT пилят сейчас, основная задача пока.
Про новые синтаксические конструкции не трубят пока (ну руби всё равно в этом плане обгоняет всех лет на 10, при том, что формально мёртв).
Можешь попробовать сам прислать патч но его конечно же не примут.
вот блять в упор не понимаю нахуя JIT делают
особенно интересует как будут отрабатывать тесты на какой-нить тяжелой рельсовой хуйне
Руби про скорость разработки, а не про скорость исполнения. Как же вы заебали лезть со своей скоростью. Прямо у каждого второго хайлоад на миллион пользователей.
>Руби про скорость разработки, а не про скорость исполнения. Как же вы заебали лезть со своей скоростью. Прямо у каждого второго хайлоад на миллион пользователей.
Так а какие фичи есть в руби, что он перегнал другие языки аж на 10 лет?
Я не согласен с тем аноном что "Руби перегнал", но сейчас Руби очень хороший язык для веба. Я за последние полгода в руби-чатах только и вижу вакансии сыпятся, сам даже 2 интерью проходил.
На нем ультра быстро можно писать круды, стартапы, MVP и прототипы приложений. Все за счет богатой экосистемы, выразительности языка, подхода рельс к разработке (convention over configuration). Не зря он во всяких San Francisco Bay Arena топ язык.
Вообще говоря питон-пхп-руби - эта тройка на одном уровне примерно. Разве что питон лучше в ML сейчас, а так по сути выбирай что нравится по синтаксису. Джанго-Ларавель-Рельсы за некоторыми отличиями одна хуйня для большинства сайтов. А если тебе рили мало скорости и у тебя нагрузка в сотни тысяч человек онлайн, ну тогда уже пиши на го или эликсире там.
Кстати вот 2.6 Рубен на подходе в декабре.
Нет. Сколько раз повторять что для 95% приложений тебе достаточно скорости любого фреймворка интерпретируемого языка?
а почему пишут из за некой магии он не так прост иногда для понимания кода
В Руби как раз очень выразительный и понятный код. Так пишут те, кто просто плохо знает язык и всё. Их смущают отсутствие примитивных типов, блоки, :attr_accessor, однострочники по типу
(1..1000).inject(&:+)
или
foo ||= bar
Потому что в руби открытые классы, что означает что какая-нибудь библиотека, подключенная к проекту, может абсолютно любым образом поменять поведение любых классов, включая наиболее базовые. Подключил библиотеку - и всё как-то заработало. А как именно - хуй знает. Подключил вторую библиотеку - и всё ёбнулось, где-то они конфликтуют, и повлиять ты на это не можешь. Вот что такое магия.
За щеку тебе написал под 8080 в диаметре
>жет абсолютно любым образом поменять поведение любых классов, включая наиболее базовые. Подключил библиотеку - и всё как-то заработало. А как именно - хуй знает. П
Я люблю обмазываться несвежими гемчиками и дрочить...
Это маняфантазии. Сделать, конечно, так можно, но я за 6 лет с руби ни разу такого не встречал.
придется влезать в дебри и тратить время,ты так скажи
только про него некого здесь спросить
Делал такое на зенде. Как в рубях, получилось?
>Кстати вот 2.6 Рубен на подходе в декабре.
Что изменилось в синтаксисе с 2.5 до 2.6? Может быть это слишком узко, тогда давай с 2.0 до 2.6 ?
В 2.6 десяток новых методов, в целом там скорость работы увеличили.
Из самого главного - yield_self добавленный в 2.5 теперь есть alias then, например
construct_uri
.then(&Faraday.method(:get))
.then { |res| res.body if res.success? }
&.then(&JSON.method(:parse))
&.dig('content', 0)
&.then { |item| item.transform_keys(&:to_sym) }
А с 2.0 дофига всего, можешь гуглить если интересно. Помимо большого роста в скорости всякие прикольные штуки вроде safe name оператора:
# Ruby 2.2.x
if user && user.admin?
# do something
end
# Ruby 2.3
if user&.admin?
# do something
end
Keyword аргументы (a_method(var: value)), frozen_string_literal, метод dig, сравнение хэшей...
Ну основа все та же, за которую Руби и любят. А вот доп фич навешано дохуя.
http://blog.marc-andre.ca/2013/02/23/ruby-2-by-example/
Например здесь некоторые фичи из перехода на 2.0
Так что сейчас Руби вообще очень мощный язык сейчас стал. Элегатный, выразительный, с виду простенький, но в нем куча фич для работы не только с вебом, а с чем угодно.
В 2.6 десяток новых методов, в целом там скорость работы увеличили.
Из самого главного - yield_self добавленный в 2.5 теперь есть alias then, например
construct_uri
.then(&Faraday.method(:get))
.then { |res| res.body if res.success? }
&.then(&JSON.method(:parse))
&.dig('content', 0)
&.then { |item| item.transform_keys(&:to_sym) }
А с 2.0 дофига всего, можешь гуглить если интересно. Помимо большого роста в скорости всякие прикольные штуки вроде safe name оператора:
# Ruby 2.2.x
if user && user.admin?
# do something
end
# Ruby 2.3
if user&.admin?
# do something
end
Keyword аргументы (a_method(var: value)), frozen_string_literal, метод dig, сравнение хэшей...
Ну основа все та же, за которую Руби и любят. А вот доп фич навешано дохуя.
http://blog.marc-andre.ca/2013/02/23/ruby-2-by-example/
Например здесь некоторые фичи из перехода на 2.0
Так что сейчас Руби вообще очень мощный язык сейчас стал. Элегатный, выразительный, с виду простенький, но в нем куча фич для работы не только с вебом, а с чем угодно.
Да, но я не понимаю откуда это берется. Да, я понял - так и так, сейв, редирект. А где это блять хранится?
http://rusrails.ru/
Это перевод https://guides.rubyonrails.org/
Ознакомься с разделом "rails для начинающих"
Какие сессия или парамсы.
tasks_path роутер автоматически распознает как путь для index страницы ресурса tasks.
>>304563
Да, тебе надо сначала пройти https://guides.rubyonrails.org/ полностью, тогда 95% всех вопросов про магию отпадут.
Так его и объявили лол, ты бы видел хайп в 2008-2010 годах.
Просто сейчас есть и другие инструменты + разделение фронта и бэка. А так Рельсы все еще надежный и классный инструмент.
Так-то нахер он нужен, без него можно с заказчиком и корешем из интегратора еще и бабосик на железе попилить так-то
Заебись. Как будто я и не знал этого.
здесь все мертво
> 2.4.3 :039 > def bar(numb); yield rand 1000 if block_given?;
> yield rand 1000 if block_given?;
> yield numb*2 if block_given?;
> end
> => :bar
> 2.4.3 :040 > bar(2)
> => nil
> 2.4.3 :041 > bar(2) { |x| print x; print " "; print x; puts }
> 162 162
> 399 399
> 4 4
> => nil
Нет, как раз функция содержащая yield вызывает блок который приписан к вызову функции содержащей yield.
Блок по сути является параметром функции (или передаётся в функцию , типа как бы как скрипт).
т.me/proRuby
т.me/rubylang
т.me/codenamecrud
Вот где уютные активные чатики по руби. Там же можешь и помощь спросить (только разумеется адекватную, а не то что гуглится за 3 секунды как в /pr любят спрашивать).
т.me/rubyjob
Сюда вакансии сыпятся ежедневно.
>Сюда вакансии сыпятся ежедневно.
А какой мне толк от этих вакансий если я только рейлстуториал закончил?
Никакой. Но лично мне когда я начинал было приятно смотреть на вакансии, видеть что Руби движуха кипит, не смотря на нытье про "руби умир".
Да это местные скоморохи же, тут каждый тред хоронят руби.
Ты расскажи как приобрести опыт чтобы аплаиться на вакансии, а не про "неумир" (тут и так все это знают).
Блин везде нужны люди которые сначала на пыхе пять лет кодили, потом три года на рельсе. А начинали в 5 лет в семье программиздов-учёных, блият сика накхуй.
Да никак, взял после пет-проекта. До этого полгода заканчивал универ выгнали на сдаче диплома рофел и подрабатывал "веб-мастером" подлатывая один сайтик где изучил HTML, CSS основы. Потом сидел дома зимой и учил рельсы, потом работу предложили.
Правда потом мы перешли на PHP, но это уже другая история
Мне в принципе повезло с одной стороны, с другой - я работаю не в галере, а в небольшой дизайн-студии и у меня опыта хоть и 2 года считай, если выжать из него воду, то выйдет от силы год.
Вот недавно случайно попал на интервью на сеньора лол, и в целом неплохо себя показал, но конечно видно что опыта пока мало. Да и с руби я мало работаю ж теперь, больше PHP.
Одним словом да, всем нужны супер спецы с 10 лет опыта, но джуновские вакансии проскакивают + есть курсы при компании с трудоустройством и всякое такое. Короче, если желание есть - без работы точно не останешься.
На крайняк есть фриланс. Может 1-2 заказа за бесплатно сделаешь, зато научишься и потом сразу норм бачи. Тем более что рубистов не так много и конкуренции поменьше в этом плане.
Сам подумываю попробовать на праздниках посмотреть че там по фрилансу.
Ну смотря насколько ты способен обучаться языку) полгодика точно чтобы читать без переводчика.
И то это будет от силы pre-intermediate уровень.
Если в школе был хоть какой английский, это не так сложно, как кажется. Если не было, то хуевенько, но выбора у тебя все равно нет. В любом случае английский это твоя самая главная инвестиция в твое будущее
Мне интересно, чем думают люди, которые берут в 2018 немецкий основным языком.
Германия довольно популярный вариант для иммиграции.
у меня не было выбора
Как ты устроился веб-мастером?
Как тебе предложили работу (незнакомец позвонил на мобильный или по связям с работы веб-мастером, но при этом ещё и на руби[значит поддерживал связь?])?
> На крайняк есть фриланс.
Страшно же, завалишь заказ и тебя внесут в какой-нибудь индустриальный чёрный список.
Да и на руби фриланса ой как мало.
Мамка посоветовала меня знакомой которая занималась какой-то фармакологической хуйней и у них был старый сайт, его нужно было по мелочи обновлять.
Потом я учил руби-рельсы, сделал пет-проект и админы одной штуки по которой я делал пет-проект пригласили на работу прям к ним, лел. А то оказалась дизайн-студия, ну там длинная история.
На Руби фриланс есть вроде на апворке. Его мало, так зато и конкуренции меньше.
Тебе очень крупно повезло.
> На Руби фриланс есть вроде на апворке.
Но сам ты конечно же не работал на апворке?
> Однако мой колега синьор работал и говорил что вполне можно пробовать.
Это называется халтура, без минимум мидлового опыта и умения чётко работать ты по факту там не нужен на апворке никому.
> Ты говоришь таким тоном будто кроме меня в мире никто джуном не устроился за последние 2 года.
В мире полно, в россии 3 целых хуй десятых (как правило пыхари/джависты отпахавшие 5+ лет).
Тебе очень крупно повезло.
Можно писать тебе за щеку!
Как оно может быть протухшим, если ничего лучше пока не придумали, кроме может быть Кристала?
с чего бы?
Где работу искал? У меня 2к $, и русские всегда говорят "дорого берешь"
Няши рассказывают почему они выбрали Рельсы для разработки Гитлаба.
гитлаб молодцы в бизнес плане, но в их код смотреть страшно. Модели по 3к строк, и интерфейс лагает.
и в графический интерфейс или многопоточность и асинхроность?
Кто-нибудь делал небольшие интернет-магазины на руби с использованием Spree? Стоит оно того если пилить одному или лучше взять что-то готовое и очень простое на php?
>небольшие интернет-магазины
Пару лет назад даже на хаскеле подобное делал, думаю на руби еще проще.
> Та же история и с dry-петушней, сделавшей схемы мммаксимум как замену StrongParams с коершенами и назвавшей это валидациями. На просьбу провалидировать одно поле если другое == тому-то, послышалось невнятное мычание. После просьбы сделать кастомные валидации с нормальными еррор-мессаджами, раздалось визгливое кукареканье. Более сложных вопросов типа контекстных валидаций и changed-условий им даже не задавали.
Вообще-то всё есть. Но лично мне dry не нравится потому-что нужно описывать типы для параметров, дублировать там же валидации, пробрасывать кучу аргументов для транзакций ну и вообще начинает казаться,что сложное стало ещё сложней.
Там много велосипедов, хоть и хорошо задокументированных. Лучше делать самопис, чем сам сейчас на рельсах и занимаюсь.
Не знал, что где-то ещё столько платят на рубях. У меня такая зп была только первые 3 месяца, когда я пришёл джуном и о руби только из книжек знал.
Не знал, что-то кто-то еще книжки читает. К слову я тоже о руби узнал только в день собеса, на самом деле думал иду писать на перле, а там оказался нужен был рельс-мен. В итоге взяли с учетом что я сам все освою за 2 дня. Ничего, справился.
а все, разобрался, оказывается очередь забита action cable
В туториале от Хартла, он пишет, что для почты в production - нужно верифицировать аккаунт на heroku. А heroku требует ввести кредитную карту. Можно как-то без этого обойтись?
Не использовать хероку, очевидно же. Если тебе полтора письма для тестов послать, то просто регни почту на гугле или яндексе.
Нельзя, нужно привязать карту. Иначе не выйдет использовать аддоны на хероку.
насчет джанги-скорее одинаково
Питон уже давно сдулся, если бы не ML про него вообще никто бы не знал.
а что по синтетическим тестам,есть обзоры?
охуенно. жаба всё
зачем платить за то,что можно самому нагуглить?
я бы может даже раздачу на рутрекере сделал, но там оформлять заебешься
Я БЛЯТЬ ДЖВА ГОДА ЖДАЛ
а надо что бы сразу было видно
Статистика. У большинства линукс, ну и мак.
Зачем пердолиться с виндой, когда на линуксе все быстрее, удобней и без проблем?
Единственный минус линукса - нет фотошопа.
Запили в облако пожалуйста.
>У большинства
Значит не у всех? Значит всё-таки разрабатывают получается?
>Зачем пердолиться с виндой, когда на линуксе все
Маленький пердолик себя крутым хакером возомнил, да?
Факт, что сервер крутится под Линем, не отменяет того факта, что под него писать хоть под досом можно.
Хуйни не неси, пердолик.
Я вообще с винды сижу лел, какой пердолик? Как обычно у виндошизика пригорело когда его операционную систему не считают рабочей.
Чё вы срётесь — единственная нормальная ОС для повседневной жизни это MacOS, линукс для сервера, винда для всего (игры, фотошоп, специализированное ПО).
>>317318
Потому что в шапку всё это говно не засунуть — слишком большая шапка слишком плохо, это АИБ с протухающими тредами, 4PDA где надрачивают шапку до идеала.
А чем линукс плох для повседневной жизни? Сижу на нем уже лет 5, винду держу для игор в дуал буте, брат жив. На работе у меня всегда был мак, единственный его плюс в повседневном использование, это наличие нативного офиса, как по мне.
Я на линуксе сидел десять лет.
На маке софт ты обновляешь когда хочешь, а не когда захочет мейнтейнер (и не нужно ебаться с компиляцией, когда ты не хочешь компилировать, но при этом хочешь свежий релиз растрового редактора).
Одное единственное DE в маке — шизофазия с разделение на Qt/Gtk в плане визуального оформления подзаебала (и продолжает бесить когда ставишь на мак "породистый" линуксовый софт типа виртуалбокса или гимпа).
Homebrew и Brew Cask — все плюсы устновки софта из консольки, без зависимостей.
Сочетания клавишь и работа с клавиатурой (много нестандартных символов забито через альт и команд, и не нужно настраивать композ).
Нормально работающая звуковая система, вместо пульсы.
Нормальный скайп.
Нормальный видеоплеер (IINA, на основе MPV, только лучше).
iTerm вместо говна типа Konsole/GnomeTerminal.
Единственное чего не хватает на макос это музыкального плеера с нормальным интерфейсом вместо тунца/вокса.
>На маке софт ты обновляешь когда хочешь, а не когда захочет мейнтейнер
Тут надо правильно дистр выбирать. Я сижу на манжаре арч без пердолгинга, всегда свежак, в крайнем случае всегда есть AUR, на котором вообще любое дерьмо можно найти.
>Одное единственное DE в маке — шизофазия с разделение на Qt/Gtk
Единственное нужное Qt приложение это qBittorrent, если ты не кедераст.
>Homebrew и Brew Cask
Всегда считал это костылями, фактически в макосе есть аж 3 активно используемых способа установки приложений (macstore/dmg/homebrew), это пиздец, я считаю. И да pamac минималистичен и очень удобен, лучший пакетный менеджер из всех какими я пользовался.
>Сочетания клавишь и работа с клавиатурой
НИНУЖНО мне
>Нормально работающая звуковая система, вместо пульсы.
Тут согласен, хотя последние пару лет у меня с ней проблем не было.
>Нормальный скайп.
Он не умер еще?
>Нормальный видеоплеер
А чем просто mpv плох?
>iTerm вместо говна типа Konsole/GnomeTerminal.
Пользуюсь iTerm и гномовским терминалом, same shit как по мне.
В целом, видимо, у нас разные ожидания от ОС. Плюс меня невероятно бесят анимации по любому поводу в маке, в гноме их можно одной глобальной настройкой отключить
> Единственное нужное Qt приложение это qBittorrent, если ты не кедераст.
Не чувак, со мной это не прокатит, я перерос такую аргументацию и просто хочу чтобы приложение выглядело эстетично и не знать, что там у него под капотом.
> Тут надо правильно дистр выбирать.
Опять же не прокатит. Все линукс дистры говно.
Говорю это как человек, который попробовал обстоятельно сидеть на многих дистрах, DE/WM.
> фактически в макосе есть аж 3 активно используемых способа установки приложений (macstore/dmg/homebrew), это пиздец, я считаю
Пиздец это два ебанутых тулкита, 4 DE которые пытаются косплеить ОС.
Пусть хоть 50 способов установки, это куда лучше чем по-ебанутому выглядящие приложения, которые без дополнительных усилий не обновить (тут я должен сделать поправку, мне важны не только обновления, но и возможность отката и просто установки древних и очень новых версий) с изучением десятков "простых" команд для каждого дистра.
> Тут согласен, хотя последние пару лет у меня с ней проблем не было.
На гитхабе телеги уже год или два висит баг с записью звука.
> Он не умер еще?
Нет, это миф, живее всех живых.
> А чем просто mpv плох?
Нужно дрочиться со скриптами чтобы прикрутить погрузку сабов, звуковых дорожек, PiP. Ну и сам UI няшнее.
> Пользуюсь iTerm и гномовским терминалом, same shit как по мне.
Значит ты просто из людей которые не замечают разницы.
> В целом, видимо, у нас разные ожидания от ОС.
Да, я не гонюсь за свободой и "полным контролем".
Мне больше важна эстетика, приятный внешний вид, наличие эталона, предсказуемости и удобства в плане пользовательской работы, а также просто наличие самого разнообразного софта. (но вообще я считаю нормальному челу пофиг — объективно, работать работу можно хоть на плашмете с андроидом)
> Сочетания клавишь и работа с клавиатурой
> НИНУЖНО мне
Ну значит ты не относишься щепитильно к тому как и что пишешь.
> Плюс меня невероятно бесят анимации по любому поводу в маке, в гноме их можно одной глобальной настройкой отключить
Гном это червь-пидор так-то.
Анимации в маке можно отключить в Accessibility одной галочкой (reduce motion) и прозрачность тоже (reduce transparency). Ну и другими параметрами можно задрочиться в утилитах типа OnyX.
> Единственное нужное Qt приложение это qBittorrent, если ты не кедераст.
Не чувак, со мной это не прокатит, я перерос такую аргументацию и просто хочу чтобы приложение выглядело эстетично и не знать, что там у него под капотом.
> Тут надо правильно дистр выбирать.
Опять же не прокатит. Все линукс дистры говно.
Говорю это как человек, который попробовал обстоятельно сидеть на многих дистрах, DE/WM.
> фактически в макосе есть аж 3 активно используемых способа установки приложений (macstore/dmg/homebrew), это пиздец, я считаю
Пиздец это два ебанутых тулкита, 4 DE которые пытаются косплеить ОС.
Пусть хоть 50 способов установки, это куда лучше чем по-ебанутому выглядящие приложения, которые без дополнительных усилий не обновить (тут я должен сделать поправку, мне важны не только обновления, но и возможность отката и просто установки древних и очень новых версий) с изучением десятков "простых" команд для каждого дистра.
> Тут согласен, хотя последние пару лет у меня с ней проблем не было.
На гитхабе телеги уже год или два висит баг с записью звука.
> Он не умер еще?
Нет, это миф, живее всех живых.
> А чем просто mpv плох?
Нужно дрочиться со скриптами чтобы прикрутить погрузку сабов, звуковых дорожек, PiP. Ну и сам UI няшнее.
> Пользуюсь iTerm и гномовским терминалом, same shit как по мне.
Значит ты просто из людей которые не замечают разницы.
> В целом, видимо, у нас разные ожидания от ОС.
Да, я не гонюсь за свободой и "полным контролем".
Мне больше важна эстетика, приятный внешний вид, наличие эталона, предсказуемости и удобства в плане пользовательской работы, а также просто наличие самого разнообразного софта. (но вообще я считаю нормальному челу пофиг — объективно, работать работу можно хоть на плашмете с андроидом)
> Сочетания клавишь и работа с клавиатурой
> НИНУЖНО мне
Ну значит ты не относишься щепитильно к тому как и что пишешь.
> Плюс меня невероятно бесят анимации по любому поводу в маке, в гноме их можно одной глобальной настройкой отключить
Гном это червь-пидор так-то.
Анимации в маке можно отключить в Accessibility одной галочкой (reduce motion) и прозрачность тоже (reduce transparency). Ну и другими параметрами можно задрочиться в утилитах типа OnyX.
Ещё отмечу наличие в маке нормальной тёмной темы и возможность быстро её переключать. При это во многих приложениях (IINA, iTerm) можно принудительно задать нужный вариант.
В линуксе так умеют только некоторые гнумовые/кдешные приложения (ну не считая может Deepin, но там своя, китайская, атмосфера).
>много нестандартных символов забито через альт и команд
Какой у этой фигни вообще юзкейс? Никогда не понимал.
Удобно и быстро вводить нестандартные и нужные символы же™
Так уже умер же, последний гвоздь в виде JIT'а вон уже забили.
Это была отличная серия тредов, жаль терять такой язык, жаль терять наше маленькое и уютное коммунити.
Олсо, вчера случайно пайтон подучил, бесит эта муть и компот с необходимостью писать self на каждый чих, какие же блядь черви-пидоры всё таки это язык делали.
Жаль руби не так популярен.
как и 2018
Как и 2014, 2015, 2016, 2017 и 2018.
Вакансий мало, но они есть иногда. Так же руби-джун это махровый анекдот, между тем что ты ничего не знаешь и мидлом в руби маленький промежуток. Чтобы найти работу тебе нужно знать как минимум рельсы - а это минимальный фронт (хтмл, цсс и хотя бы основы js), сам руби, как работают рельсы (его минифреймворки), основные паттерны, основы баз данных, умение задеплоить, git, linux... Какой же ты джун после всего этого? Может слабенький и неопытный, но это уже мидл уровень.
В Украине есть курсы для вкатывальщиков по рельсам от галерки Ruby Garage.
Так же если ты хорош можешь напрямую письмо написать и резюме прикрепить. Я нашел работу ДЖУНОМ руби просто сделав свой пет-проект посвященный одной хуйни, админы этой хуйни это увидели и предложили работать в команде.
Потом мы переехали на пхп, но это уже другая история.
>Потом мы переехали на пхп
В том то и дело, что все переезжают с Ruby на что-то еще. Умирает язык.
Потому что специалисты по пхп дешевые и их много. Часто не знают англ и зарубеж зп или фриланс для них не аргумент, те они не будут жаловаться что им есть куда идти, крути ими как хочешь. Рашен бизнес же ну.
Рамблер.
Не, с Руби обычно редко переезжают, слишком уж он приятен для разработки.
Просто у нас в студии изначально на пхп писали, на руби просто пару проектов, там долгая история.
Где ты этот тренд видел? Руби топ язык во фрилансе и в Bay Arena всяких Сан-Франциско.
Один из самых няшных даджейстов по руби. Топ за 2018, график релиза RoR 6.
неплохо,скоро пощупаем 6ку
Спасибо, 2-е нашел, но хочу 3-е.
а почему нет?
И реально ли эта книга такая хорошая как ее описывает автор и восторженные комментаторы на его сайте?
Более трушное ООП.
Там вроде только тип Integer является особым (для производительности,ну и символы конечно).
Нет форматирования пробельными символами.
ты еще попробуй найти работу
На коболе тоже зарплаты хорошие.
Кому ты пиздишь? Ни одна руби-няша не станет с пхпшником даже рядом стоять. Но так уж и быть представлю, что она терпит тебя из жалости и помогу:
1. Спроси у нее сколько объектов придется собрать GC за одним объектом ActiveRecord. Заодно уточни сколько объектов ActiveRecord можно создать за 1 секунду на современном процессоре
2. Потом узнай когда же GIL наконец-то уберут. Если начнет говорить что-то про jruby, то можешь просто брезгливо кривить лицо
3. Почему нельзя использовать return внутри Proc?
4. Где опциональная типизация?
5. Научился ли ActionCable держать хотя бы 1к коннектов не сжирая весь проц?
6. А он еще не умер?
Что-то больше ничего сходу в голову и не приходит. На самом деле руби и правда очень няшный и продуманный язык. Его основные проблемы лежат не в самом языке, а том, что он долго был тормозным (он уже довольно давно вполне на уровне с пхп и питоном, но репутация осталась), никакая большая компания не взяла его под свое крыло и под него, в отличие от питона, не завезли либ для МЛ и прочих дата саенсов.
так руби про удобство разработки,а не про продуманность внутренностей
Нет, прочтешь просто потом чейнджлоги мажорных версий и все, дел на часа 2-3. Это тебе не js какой-нибудь же.
они не нужны
Анон, я вчера обосрался слегка и не обратил внимания, что ты написал аж 2008 год. У этой книги есть более свежее издание аж 2013 года.
Я новее не нашел. На сайте O'Reilly информация только про издание 2008 года. Есть еще перевод этой книги на русский 2011 года.
Всё равно спасибо тебе. Бегло посмотрел книгу - то что нужно. Очень понравилось, что она построена в духе книги Кернигана и Ритчи о Си.
>>324304
Могу предположить, что это своеобразная реализация функций высшего порядка. По крайней мере в Питоне я бы аналогичный функционал сделал в виде функции, которую бы передал в качестве аргумента другой функции.
> На просьбу провалидировать одно поле если другое == тому-то, послышалось невнятное мычание
Это копия, сохраненная 22 января 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.