ИЗУЧЕНИЕ ЯЗЫКА 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: Какой gem посмотреть, чтобы понять, как писать код? A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping. Еще можешь полистать на гитхабе гемы с нарастающей популярностью (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby
В остальном же добавляют какую-то минорную хуйню типа алиаса Kernel.then на yield_self. Пиздец а сразу когда впиливали фичу с именем не могли определиться ? И так жопа горит от всяких алиасов вроде collect и inject , спорного паттерн-матчинга который толком не обсуждался и получил справедливо много негодования от сообщества.
Что-то подозрительно мало новостей о обещанных фичах, где новости о типизации внутри языка, настоящую многопоточность через гильдии (guilds), быстрой jit-компиляции(а не как сейчас)?
>>1728845 Что за мания ждать каких-то новых фич, когда и так все работает? Проблема производительности стоит все менее и менее остро с каждым годом, а скорость разработки наоборот становится важнее. Если хочешь еженедельных фич и фреймворков,то перекатывайся лучше в жс. Руби не для тебя.
>>1728845 >Compacting GC с которым рубя потребляет аж на 1% меньше памяти Смысл Compacting GC не в уменьшении потребления памяти, а дефрагментация кучи. Чтобы долгоживущие процессы не сталкивались с проблемами нехватки непрерывного куска памяти. для Ruby- абсолютно не нужная фича
>>1728850 > Что за мания ждать каких-то новых фич, когда и так все работает? Нахуя новые языки придумывать если и на старых можно программы писать (ахуенная аргументация, да) Кстати ты пишешь на Ассемблере или на Фортране? > Проблема производительности стоит все менее и менее остро с каждым годом, а скорость разработки наоборот становится важнее. Если ты вдруг последние 10 лет был в анабиозе – производительность растёт за счёт добавления новых ядер. Рубя эти дополнительные ресурсы использовать кроме как плодя процессы использовать не умеет. INB "а зачем мне это я ведь крудомака, и ничего больше не умею puma -w 128 go brr"
> Если хочешь еженедельных фич и фреймворков,то перекатывайся лучше в жс. > Руби не для тебя. Хочешь развития языка - уходи Лол что?
>>1728923 А что за jemalloc скажешь, теперь он больше не нужен? насколько помню его тоже для уменьшения фрагментации памяти использовали
>>1729452 Еще добавлю, что всякие примитивы для многопоточной работы есть в concurrent-ruby, так что на голых потоках программировать никакой нужды нету.
Спрашивал в БД треде, но там 1,5 анона, из них знают базы данных 0, поэтому тут продублирую свою проблему.
гайз, нужна хелпа. Суть задачи. У меня есть некий запрос, который вовзвращает IDшники из некоторой таблицы. Количество таких айдишников много больше чем CHUNK_SIZE = 10000. Мне надо чанками эти айдишники поочереди записывать во временную таблицу tmp_some_ids (id INT), и вызывать процедуру, которая работает с этой временной таблицей (если кому интересно, эта процедура добавляет в эту тублицу еще одно поле, в котором хранится некоторые значения соответствующие ID). Потом из этой темповой таблицы выгружать полеченные данные, обработать их. И опять залить следующий чанк в tmp_some_ids, и так в цикле пока я не обработаю все записи с первого запроса. ТАк вот у меня есть 3 стула: 1 и самый топорный) выгружить все id в память в ruby скрипте, далее рубями уже поделить все записи на чанки, и запихивать их в цикле во временную таблицу и далее по алгоритму 2) создать/очистить таблицу, к первому запросу добавить LIMIT #{page_number CHUNK_SIZE}, #{(page_number + 1) CHUNK_SIZE} и этот селект инсертить в tmp_some_ids. И в рубях в цикле инкрементить page_number + 1 пока количество заинсерченных данных не меньше CHUNK_SIZE. 3) Похожу на п. 2, только вместо лимитов использовать условие AND WHERE id > #{MY_LAST_INSERTED_ID} и так мне после каждого инсерта надо запоминать MY_LAST_INSERTED_ID = select max(id) from tmp_some_ids для следующей итерации.
Анон, на какой стул сам сядешь, на какой мать посадишь?
Мои же мысли по этим пунктам таковы: 1) тип придется генерить инсерт insert into tmp_some_ids (id) values (#{stored_ids[0]}), (#{stored_ids[1]}), ... (#{stored_ids[CHUNK_SIZE-1]) что как на мой взгляд залупа полная. 2) выглядит норм, но хз как на уровне mysql норм не норм, по сути он передрачивает один и тот же запрос много раз формируюя чанки (возможно я не прав). как по мне тоже залупа полная 3) выглядит тоже норм, но надо делать все время лишний запрос чтобы все врямя получать самый большой айди во временной таблице, что как бы тоже залупа полная.
>>1731905 It's the end Friend of mine It's the end Friend of mine
Time is over... Where we could simply say "I love you" Now you open the door Leave me crying Trying to embrace you again Trying to face this damn situation Man I can't...
It's the end Friend of mine It's the end Sweet friend of mine
Dear friend, I cannot tell the reasons why... We started well, good time Give me some wine when you open the door You seem hurt, do try to speak a word to me What on earth could really go wrong with you and me?
Yet, it's the end Friend of mine It's the end Sweet friend of mine
Time seems to be over... Where we could simply say "I love you" Now you open the door I feel cold Why can't I hold you in my arms? Told you that life is short but love is old
It's the end Friend of mine It's the end Sweet friend
Вечер в хату, господа рубисты,уже год вкатился в Python разработчики, в целом нравится, ЗП растет мой уровень тоже, слышал что питон и руби похожи, проблема в том что питон многие не воспринимают как язык для бекенда, опять чтобы выйти на нормальную ЗП от 100к и выше надо очень многое знать, у меня сейчас ЗП 80к, до этого была 50к, как обстоит дело с ЗП и ростом у вас? Насколько быстро можно выйти на зарплату в 100-150к, много ли надо учить? Помимо самого руби и рельсов?
>>1732087 С годом опыта и англицким можно в фуллтайм команду вкатиться на буржуйский проект, 20$-30$ за час макакинга по американскому времени. Часто даже в русскоязычную компнду салоедов, но тогда Крым ИХ.
>>1732094 Анон статистика с хабра одно, а информация из первых рук другое, тем более хабр это лицемерная параша, где важно говорить не то что думаешь, а то что нравится большинству, а иначе опустят по карме и будешь раз в час коменты оставлять
>>1732100 Ну вот ещё по Украине статистика для джунов. Вполне соответствует. В Украине даже больше стартап-студий с о стеком на Ruby специализируются на бурж рынок. Я бы туда пробовал или в Беларуские студии. Вот там точно в валюте ЗП.
>>1732100 Я не знаю, что можно в руби искать. По-моему руби выстрелил лет десять назад через рельсы, задав моду на фреймворки, которые все спиздили себе и теперь любой язык имеет примерно такую же инфраструктуру. Теперь рельсы всего лишь одни из, руби некоторое время ещё был на ходу из-за некоторого непонятного тренда на девопс инструменты, но это тоже в прошлом, в общем. В целом, это мертвый язык, чуть живее перла.
>>1732110 сразу видно необразованного человека в обычно необразованной среде. дальше лень тебе пояснять. погугли хотя бы CI инструменты на руби, даун.пока.
Посмотрите что там кидается в параметры. Сначала используется each с двумя аргументами в блок. Потом each_pair... Тут нужно придумать каким образом все это делать когда на вход поступает все что на картинке..
>>1732135 Вот сам подумай, зачем нам тебе помогать? Мы сами, вкатуны, по $20/час с нарисованным коммерческим опытом не прочь поработать. Может тебе ещё рассказать как через апворк или бурж. вакансии выйти на фуллтайм валютную удалёнку? Просто проходи мимо, возвращайся в свою питонопарашу. питон красивый выразительный язык для всех (вас ща реально стадо), вот и работай с ним, JS ещё подучи c Реактом и макачь потихоньку. Мы тут сами как-нибудь, у нас тут своя атмосфера. УХОДИ.
>>1731913 >божественный актив рекорд Говно ебанное этот актив рекорд. Объекты инстанциируются медленно, постоянно надо юзать всякие pluck и connection.exec_query. Любой более-менее сложный запрос, пиши sql или юзай arel, блять, да там даже `>`, `<` нельзя написать без них написать. Миллион методов, которые делают почти одно и то же, find, find_by, where, update, update_attributes, update_attribute, update_column, save, create_with, create_or_find_by, find_or_create_by, where, rewhere, order, reorder, includes, left_joins, eager_load, preload, attribute, attribute_was, attribute_before_last_save, attribute_change, attribute_previous_change, attribute_change_to_be_saved, attribute_in_database, attribute_before_type_cast. Колбеки, которые любая ньюважины считает своим долгом навесить десятки на модель, бонус поинты за рекурсивное сохранение в колбеках. Я уж молчу про миллионы всяких малоизвестные методов и просто высеры DHH вроде fourty_second и suppress.
>>1732969 Ну хуй знает, анон. Я, например, люто охуел, когда увидел, что при использовании sql в духе SELECT SUM(bokas.*) AS jokas эктив рекорд создает метод jokas на каждом элементе коллекции. Приятные мелочи у него есть. Да, сложные запросы через SQL, но что-то вообще похуй, иногда даже удобнее так
>>1733155 Этот как раз одна из причин почему >Объекты инстанциируются медленно Эта говнина (и еще другие похожие "удобные" поведения) начинает у каждого объекта добавлять синглтоные методы в таких случаях.
>>1734154 После кукбука у меня осталось ощущение, что авторы просто перегнали любой-язык кукбук в руби без учета особенностей языка, примеры оттуда были реально не очень.
Господь дал им Eloquent Ruby, нет, не хочу, говно жрать хочу. Книга фактически покрывает весь руби за какие-то 300 страниц. Ей, конечно, почти 10 лет, но руби за это время не сильно поменялся, это ж не модный js фреймворк, после нее достаточно за пару часов проглядеть ченджлоги мажорных версий.
йоу ювелиры, запилил проект на RoR, до этого пользовался только nodejs, в пон лонч на pd, hn & reddit, как не обосраться с продакшн? Подскажите какой-нибудь чек-лист или подобное для грамотного продакшна который будет держать тысячи юзеров одновременно и тд? как вообще проводить стресс тесты для ror приложений? ссылок достаточно, спасибо!
Как перестать ловить IO Error: stream closed при работе с Tempfile? Я скоро пизданусь. Даже строка в духе Tempfile.new.binmode << model.image.read раз в 100 прогонов тестов дает эту херню.
inb4: не юзать темпфайл. Но хотелось бы все же с ним.
>>1737756 Про пуму и fullstaq (просто руби собранный с jemalloc тоже сойдет) тебе уже написали. Nginx обязателен перед пумой, убедись, что вся статика отдается через него или через какой-нибудь CDN. В самой пуме не забудь настроить количество воркеров по количеству ядер, потоков где-то 5-10 на воркер ставь, зависит от приложения, конечно, но это довольно универсальные значения. Если используешь postgesql (ты же не какую-нибудь nosql парашу используешь?), то подними pgbouncer. Если используешь redis, то скорее всего нужно врубить append only (только если не хранишь там пиздец важные данные). Если если используешь actioncable, то используй anycable. Очевидно, но убедись, что приложение стартует в продакшен режиме. САМОЕ ВАЖНОЕ Подключи datadog для мониторинга и если будет овердохуя трафика готовься кешировать/поднимать ноды/оптимизировать (соответственно деплой должен работать как часы).
>>1739518 Если у тебя есть рутовый доступ, то правками в /etc/fstab. Если нету, то пиши в какую-то другую директорию, которая находится не в tmpfs (использую df -h и тот же /etc/fstab что бы понять, что-где у тебя намаунчено), при создание Tempfile можно передать директорию в которой ты хочешь что бы файл был создан.
Сейчас использую Vim (голый без расширений), не хватает автодополнений или например чтобы скобки, кавычки и т.п. по сочетанию клавиш (или автоматически тоже) закрывались + сами скрипты запускаю либо в отдельном терминале или в виме ":!ruby kill_the_people.rb", а хотелось чтобы тут же где-то окошко было и сочитанием клавиш. Можно ли это все допилить в виме расширениями? Или проще смотреть в сторону VSCode\Atom? Я только изучать начал Ruby, поэтому пока что так обхожусь.
Оффтоп: Объясните про Visual Studio Code / VSCode / VSCodium, раньше не имел с этим редактомором дело, так что запутался пиздец найдя вот это. Правильно я понял, что VSCode - это то, на чем базируется Visual Studio Code, и который является open source, значит Visual Studio Code - сразу в урну. А VSCodium это просто собранный VSCode c другими дефолтными настройками?
>>1741818 Если тебе ответят Да или Нет, это на что-то повлияет? Ты сам уже пытался куда-то заэплаиться или хотя бы смотреть варианты? Если нет, то идешь нахуй, ебучий школоунтер
>>1741314 Ставь опенсорсную версию vscode, не ошибешься, интеграции со всякими рубокопами и тд там есть. Rubymine по-сути нахуй не нужен, все равно в руби все настолько динамическое, что автокомплит работает только в простейших случаях, когда и без него все ясно. Терминал по-моему отдельно запускать самое удобно, но дело вкуса, конечно, так-то в vscode он есть. На vim просто забей, я хоть и сам линуксоид уже лет 10 как, но вим это просто пердолинг ради пердолинга, да еще и с посредственным результатом в итоге.
>>1741317 справедливо, у нас самые популярные RubyMine, VS Code, vim
>>1741349 >VS Code и подобное не нужно ОРНУЛ! vim такая же бесполезная хуйня (нет, ну как же, Shift+G, gg, 12j), как и VS Code, пока плагинами не обвесишь.
>>1741403 >>1741416 >>1741417 2. Так как ты только начал изучать руби, то от RubyMine будет больше вреда, чем пользы (это я про то, как среда будет гемчики устанавливать для своего анализатора и прочая хуйня) Но пользуясь случаем, скажу, что официальная последняя обновляемая версия работает с кряком-файлом-лицензией с китайского гитхаба, который легко гуглится.
Может кто-нибудь объяснить почему ваше говно не запускается через браузер на локальном сервере или консоль? Там каждый раз танцы с бубном нужны чтобы увидеть Хэллоу Ворлд?
>>1742174 >2. Так как ты только начал изучать руби, то от RubyMine будет больше вреда, чем пользы (это я про то, как среда будет гемчики устанавливать для своего анализатора и прочая хуйня) Как будто VS Code точно так же какой-нибудь solargraph себе не подтягивает.
>>1728444 (OP) Такое ощущение, что занимаюсь какой-то хуйней, для вкатунов вакансий нет, либо умей как сеньор за 40к. Крайне разворован проебанным временем, надо было голанг учить, а не этот хайпопроебанный язык
>>1743820 Я уже окончательно забью, просто в очередной раз понял, что программирование для меня скучное и монотонное занятие, по восемь часов наращивать простатит, да на хуй оно нужно, сваркой заниматься и то интереснее.
>>1745304 >А то. Куколд DHH еще в прошлом году смерджил PR с выпилом всех блеклистов. Потому что рельса опережает своё время, и это не актив рекорд тормозной, это компьютеры пока недостаточно совершенны, чтобы быстро работать с такой передовой технологией.
Хуй знает зачем это пишу, прост захотелось выговориться. Кроч вкатился в руби на рельсах в 2011 году, просто по фану по работе кодил на Си всякие железки. Два года крудошлёпил делая всякие демки, искал идею для стартапа, по итогу таки устроился на галеру и потом ещё два года уже рубировал на разных проектах для дяди, там нахватался жс и вот уже последние пять лет пишу только на жс. Прошёл через стартапы и кровавый энтерпрайз. Выгорел, но снова вернулся. Классека. Вчера пытаясь изучить ещё какую-то JS библиотеку меня что-то переклинило. Накатил свежие руби на систему, достал с антресолей Sublime Text без плагинов даже лицензия ещё не протухла и просто без задней мысли начал фигачить очередной круд на рельсах. Незаметно просидел так до трёх ночи. Какое-то непонятное чувство ностальгии, понял что просто приятно сидеть и печатать руби код. Уже давно не ощущал такого. Неужели у руби нет будущего? Мне уже почти 30, вот думаю насколько это идиотская идея вкатиться в руби снова? Чтобы ты сейчас делал анон, если бы вкатывался? Хз, может у меня синдром утёнка хотя первый язык таки ассемблер. Вообще каждые несколько месяцев я думаю что надо включить достигатора и изучить что-то дополнительное к ЖС, чтобы двигаться дальше. Но куда не попробую, везде как-то неуютно, нет той радости от написания кода пробовал, Го, Раст, Java, пробовал Unity/C#. От ЖС тоже нет радости, но его я уже как-то знаю и мне хватает на заработок. Кароч хотел это куда-то написать. Тоже вижу что руби всё и золотое время ушло. Хз кароч.
>>1746167 Околокрудовыве перфомансонезависимые бложики с мелкоплатформами никогда не перестанут быть востребованными На западном рынке руби всё еще котируется В чем проблема?
>>1746167 Вкатываюсь. В то время пока ты был на галере и выгорал я баловался рубями, делал какую-то хуйню для себя, а потом успешно забивал на пару лет.
Горит что проебал время в то время как мог бы поднимать баблинский как ты с 2015 года
>>1746394 пока ты баловался рубями, я успел в 2017 начать учить програмач, в 18 вкатиться в спринг, в 19 сменить спринг на рельсы и сейчас работать на удаленке.
>>1746441 Анон, зачем ты так со мной? Раз написал что вкатился, расскажи как все проходило, сколько примерно получаешь. Стоит ли искать на hh или сразу linkedin?
Вообще, я тыкал жабу, свифт. Был опыт с эликсиром. Макакерство на апворке. Но что-то в голове щелкнуло и пропало все желание что-либо делать. Возможно дело было в моем окружении. Несколько раз вешал резюме, но потом убирал тк были загоны что надо дохуя знать - быть невьебенным математиком, знать все алгоритмы поиска, ну ты понял..:)
>>1746467 прости, не хотел обижать, просто подтолкнуть к вопросу чего ты вообще хочешь.
проходит как и обычно у всех на собесах, просто уровень конторы меняется. получаю 80к (при учете что у меня население в 50к в мухосрани) и живу с бабушкой.
ищи везде, я на хх рассылал на джуна и на мидла.
>Но что-то в голове щелкнуло и пропало все желание что-либо делать как ты вообще эти 5 лет выживаешь? ты же не работаешь, или где то за гроши сидишь?
>были загоны что надо дохуя знать - быть невьебенным математиком, знать все алгоритмы поиска, ну ты понял..:) ничего этого не надо знать. максимум что я смогу так это бинарное дерево написать. ну и просто желательно ориентироваться в разных дата структурах и смотреть где лучше имплементировать, предлагать решения на проекте, обсуждать. алгоритмы не нужны в 95%. Больше рассказываю про архитектурные решения в тех или иных ситуациях и всем заходит.
>>1746457 Про твой невьебенно передовой эктиврекорд, правда где он там невьебенно передовой ни разу непонятно, ты все равно вручную будешь запросы писать маломальские, чтобы не получать вот такую хуету как на скрине
>>1746240 В целом нет проблемы, мне до момента когда индустрия выбросит меня на свалку осталось лет 15 хотя у нас был фронтендер 45+ лет, это пиздец аноны. Проблема с рубями кмк в том что многие библиотеки начинают умирать и не поддерживаться. Вот это наверное пугает. Типа сейчас вкачусь обратно, потрачу время, а через два года буду страдать пытаясь запилить свой околокруд с кучей проблем.
>>1746637 изучать, решать задачи, читать нормальный код пробовал? Ты откровенно говоря, как-то много на дваче сидишь, поменьше бы тут сидел, а учил и вкалывал, больше выхлопа было бы, а не эти сопли, Да я не уверен, а вдруг завтра война, да пожалуйста-мерси, всю эту херню уже выбрасывай из головы и учись давай.
>>1746381 Ну дохуя алиасов, ну где-то надо запросик подправить, и чо? ActiveRecord отличный патерн для своих задач и сосет только, когда модели предметной области становится приемлимым размещать только в нескольких таблицах - data mapper в помощь
>>1748515 >Rspec знать обязательно, понимать как пишутся юнит тесты в принципе. Вот эта хуйня всегда напрягала. Это же как говночистом работать.
Помню несколько раз освежал знания перед подачей резюме, вроде все ок. Потом забивал хер как на резюме так и на sql.
-- Смотрите бананы, нормально будет в качестве "показать код" отправить какую-нибудь хуйню на 200-300 строчек, которая берет инфу с определенного места и обработав ее отправляет в другое. Модули, классы, елды, хуе-мое, nokogiri.
Или стоит все это прикрутить к тем же реальсам и куда-то задеплоить? Успел повторить только ruby, порешать какие-то задачи.
Чето мне лень даже тыкать rails без особой необходимости. А ведь еще наверн нужен какой-нибудь vue?
>>1728444 (OP) Тредом промахнулся >>1654504 → Вот что мне хотелось бы видеть от джуна (джуна, а не стажера) 1 http 2 что происходит при нажатии На ссылку в браузере 3 без деталей ка организован веб врейворк в целом и rails в частности 4 s из solid, dry, нейминг, рубокоп 5 active record: валидация, отношения, формирование простых запросов - select, order, count
Ну и наверное хватит, можно конечно ебучее полотно написать на примере понторезов с хабра, но на самом деле от джуна больше ждать не надо Аноним 12/07/20 Вск 05:24:34 №1748798650 >>1654806 → Вот о таких напыщенных хуесосах я говорил, лол. Все виды джойнов, триггеры, констрейты, нормальные формы, eager load и rspec- ты описал мидла, а по части БД топового мидла или даже синьора, лол. Джун на руби с триггерами и функциями. На руби лол
>>1750703 >>1750723 Вообще, думаю все же лучше оставить в lib тк там несколько модулей и классов. Изначально предполагалась что эта шляпа будет только отправлять сообщения в телегу. Возможно стоит сделать из этого гем, но я не хочу выставлять на показ все это дело
>>1750723 Та пох на те ишьюз. Мне главное, чтоб он версию рубей подтягивал, когда я в папку с проектом захожу. И версии рубей без лишних танцев ставил. С этим он нормально справляется. Рбенв не юзал. Единственное, что слышал от адептов рбенва: "он не патчит команду cd". Ну, мне похуй
здарова чувачки, кто мне может объянить почему эта рубишная залупа теряет SIGCHLD сигналы? пикрилы - скрипт и аутпут, в аутпуте видно что 5 процесов работало, а от 4 только получили сигнал. Эта залупа не всегда теряет, но бывает, А мне надо что-то наподобии такого в продакшн двигать, но как двигать, если оно работает через раз. Process.waitpid(chld_pid) и Process.waitall() юзать не хочу, потому что не хочу блочить главный процесс. Не обращайте внимания на проброс потоков вывода, это мне так надо.
-лвл +- -раз был фронтэндером, то хорошо знаешь js? -как готовился(если можно небольшой список того что повторял), что показывал отправляя резюме? -сколько просил по деньгами спасибо
Доброго времени суток, господа. Не подскажите как оптимизировать мое решение? А то кодварс душит и не пускает по времени. Я понимаю что я фп дебил который юзает рекурсию и иммутэбл стейт, но не понимаю как оптимизировать это... (Не рубист, просто любитель в фп покопаться)
>>1751674 это еще как минимум card / ticket. Думаю формулу покруче можно придумать. Тебе грубо говоря тебе надо узнать сколько тикетов надо купить, чтобы скидка на них превышала 500 баксов. Я уверен это можно матаном решить без итераций. Звони математикам кароче, я не математик, и мне впадлу думать
Доброго времени суток Аноны. Начал заниматься автоматизацией на для себя(Ruby+cucumber),подскажите пожалуйста как в руби можно записать условие-если значение меньше то нажимаем кнопку
>>1756880 Не понял о чем ты. Мне кажется это спам, просто собирают инфу о вакансиях и по шаблону отправляют.
>>1756812 С чего бы? Ты додик? Самый банальный пример в хелпер можно засунуть обработку вывода текста, если текст не простой. Например ты хочешь чтобы у тебя в комментах были ссылки на другие комменты #1 #2. Эту логику можно в хелпер.
парни, блят, кто-то юзал Trestle? у него есть гем Trestle-tinymce с этим редактором работал, банально и просто но из-за того, что он обвернут в трестл – не могу доп. конфиги сделать в редактор, на гите у Trestle-tinymce написано, что конфиги изменять можно в инициализаторе trestle.rb но как – не сказано может кто-то сталкивался из анонов?
Че вы тут сидите? Руби сдох давно. Создатель-японец на вас насрал, российский рынок тоже опустил вас на дно, вы никому не нужны, кроме легаси-притонов. Объясните, нахуя вам это
>>1758117 > А че ты тут сидишь? Руби сдох давно. Создатель-японец на тебя насрал, российский рынок тоже опустил тебя на дно, ты никому не нужен, кроме легаси-притонов. Объясни, нахуя тебе это
>>1758235 Поддерживать говно мамонта? Ну круто, вот только эти говна рано или поздно будут переписаны, и вас скоро либо попрут нахуй, либо заставят переучиваться. То есть, даже если ты чудом нашел работу, перспектив у тебя никаких нет
>>1758117 Хз я работаю в руби-конторе, нас тут девов 50, все при деле, большинство проектов что заходят - новые. И даже на Elixir разрешают чуток пописать.
>>1758275 И чего ты предлагаешь, какие альтернативы? Если ты джун-вкатун, то тебе везде будет хуево, потому что ты джун-вкатун, который ничего не умеет, но В ПЕРСПЕКТИВЕ научится. Ходить по тредам и ныть про хуево/нет работы, вали отсюда на хуй, неудачник ебаный. Вас таких блядей нигде не любят, не хотят и ненавидят.
Рубаноны, начал вкатываться и возник вопрос, однозначного ответа на который не могу нагуглить. Вот есть у меня пикрелейтед мэп. В нескольких местах возвращаются значения в зависимости от условия. Норм так вообще писать? Прост на других языках яваскирпт я чётко вижу где "возврат" записью return dupa. А тут ретёрн запрещён. Видел совет использовать next, чтобы визуально было видно точки выхода из итерации. Как быть, анон?
много некстов мне некомфортно, так как мало где такое видел
>>1758829 а чего disctionary не содержит обработки интеджер? почему интеджер надо вот так отдельно делать? я бы в disctionary вынес его не знаю, как он выглядит, правда. Тогда бы всё, что в блоке мэпа до рескью, тебе не надо было бы в принципе, а вот то, что в рескью, по идее выглядело бы так: @dictionary[token] ? [type, token] : ['error', token]
и это тогда единственная строка в блоке твоего мэпа.
Кстати, пиши do-end вместо фигурных скобок. Спасибо
>>1758849 > а чего disctionary не содержит обработки интеджер Там просто мапа на самом деле. Я хз как это сделать лел.
> пиши do-end вместо фигурных скобок А есть какой-то гайд на который все моляться? А то я поставил для форматирования standard и он мне do/end заменяет на скобочки. То есть я правильно понимаю что Одна строка => скобки Много строк => do/end
>>1759615 Друг проходил собеседование на курсы, где тоже надо было пройти детектор. Вопросы уровня: - у вас есть связи с криминалитетом? - вы когда-нибудь воровали на работе? (ручки/блокноты не считаются) - если бы вы могли украсть огромную сумму и точно знаете, что об этом никто ничего не узнает и вам за это ничего не будет - украли бы вы?
Пиздец, то даже не на работу, а на курсы не по руби, там джава была. Лучший индикатор того, что галера идет нахуй
Правда, что джуны-рубисты-рельсисты никому не нужны? Тип чаще всего ищут людей на поддержку уже существующих проектов, а в случае с руби - на этапе сопровождения немаленьких проектов уже нужно реально мозги подключать, что для джуна зачастую задача невыполнимая.
>>1759721 Это немного не так работает. Пили проекты, учись. А там уже определишься. Я когда-то учил руби чтобы перекатиться из "инженер в НИИ за 8к в месяц" на веб разраба в тёплый офис с печеньками и смузи. В итоге на первую работу взяли фронтендером и с того времени я на Руби не писал комерчески. Но Руби и в частности Рельсы дали мне отличную базу, лучшие практики, плюс Руби настолько приятный язык для кодинга что на первых порах это помогло мне не бросить вкатывание. Плюс учебные материалы структурированы и их достаточно. Не дофигищи, что непонятно за что браться, а именно достаточно. Поэтому перестань думать о нужности/ненужности. Сейчас это не важно. Это будет только мешать. Просто учись кодить, делай простые приложения, экспериментируй, задуши перфекциониста на первое время и получай удовольствие. Не ставь себе цель стать Руби-он-Рейлс звездой с 300к/сек. Просто учись программировать. А там будет видно. После первого языка и основных концепций несложно перекатиться на что-то более популярное и более востребованное, да и с высоты даже минимального опыта будет понятно твоё это или нет, какая область более интересна и тому подобное.
Я сейчас снова решил "вкатиться" в RoR, при этом мой бэкграунд сейчас больше пяти лет фронтенда, ноды и внезапно Java/Spring. Появилось несколько идей, которые хотелось бы запилить. Начал с прототипа на ноде и после трёх недель бесцельного подбора библиотек и настройки проекта я понял что ничего лучше Рельсов для этих целей не придумали. Настолько здесь всё создано для концентрации именно над задачей, а не над вылизыванием структуры папок и подбора нужных библиотек.
>>1759754 Писать без статики, анон ты серьезно? Постоянно умираю от неопределенности объектов, весь код под каждым методом натыкан что кто возвращает, и какие типы параметров на входе. Просто frustrating over and over.
Смотрел на элик, там это дело все описывается через @spec, не так выразительно, но хоть что то. Не могу я больше на рельсах писать.
>>1759992 Мм, как вкусно. Писать тесты на динамику чтобы проверять выводы типов, когда априори можно перекатиться на статик язык где уже типы по умолчанию имеются и никаких тестов не нужно писать -> меньше тратишь время.
Ты видел хоть один современный язык динамический? Не считая элика, таких уже нет. Все что есть создавалось в бородатых 90.
>>1760019 Можно всколь так же упомянуть питон, где с ужасными абстракциями полиморфизма и наследования, есть чуть приятная семантика в методах. А именно можно к переменной приписывать int || str || List и прочее. Уебищно, но если бы в рубях соизволили это сделать язык бы был более интересным к серьезным продакшн продуктам, закрывая глаза на остальные минусы.
>>1759979 Да, я серьёзно. Там в спойлере я уже упомянул, что работаю фуллстеком на рекате/ноде использую тайпскрипт и джаве. Я понимаю что есть более годные языки со статическими типами. Но даже если взять Жаву и ТС. Да, кодировать проще, IDE подскажет где что надо. Некоторые вещи более безопасны. Но опять же повторюсь, мне лично приятнее кодить на динамическом Руби со всеми его якобы недостатками. Для веба самое то. За несколько дней я набросал рест апи, и особо не заморачивался.
Что касается "неопределённости объектов", "код натыкан", "какие параметры на входе"... штош, у меня это проблем никогда не вызывало. Там посмотрел, тут посмотрел, здесь написал тест, а потом имплементацию. И всё. Я ещё практикую написание кода в Vim без особых плагинов. Ну то есть только подсветка и несколько базовых вещей, типа быстрого перехода к файлу. Сначала было тяжело после нескольких лет Intellij IDEA, которая почти за тебя пишет код. Но буквально за неделю втягиваешься и уже весь проект держится в голове. Последнее подсмотрел у Джонатана Блоу, Хейнемеера, некоторых рубистов, типа Аарона Патерсона, которые не используют IDE совсем и пишут достаточно сложный код, полностью разбираясь в кодовой базе. Кароч я к тому что типы не сделают твой проект круче, если ты в целом говнокодер.
>>1754308 Когда ты указываешь hi\him ты поддерживаешь лгбт комунити. Не поддерживаешь - не видать тебе работы по карьерной лестнице.
Ты можешь быть they\them и не предоставлять своей внутренней гендерной принадлежности. Так что соси собака.
По факту, смотря на все это понимаешь, что может все таки не зря в рашке живешь. Ведь это все началось как снежный ком и кто знает, может через 5 лет рядом с тобой одни пидарасы будут сидеть, и проблема не в том, что они будут геи, а проблема будет в том, что если ты пискнешь хоть что то в их сторону, они тебя разорвут в клочья.
>>1760420 >ничего изучать не надо. d2w - delete two words, ну и все в таком ключе. Нет чувак. это дрочево. Я не хочу сидеть с листочком А4 и пытаться вспоминать комбинации, и поверь, каждый человек, даже мистер ингландмен сидит с листочком. Твои доводы вымышлены и не имеют реальности происходящего.
Тем более в век, когда есть стрелки. И когда есть мак. Вим, емакс не нужен. Даже на вскод с трудом кодиться. Но кодиться.
>>1760111 Напомнило очередной холивар, в котором не могут выбрать редактор, чтобы написать программу, пиздец, да хоть что открывай и пиши, уже просто делать людям нечего, если они вместо программирования дрочат на плагин в виме
Открою интележи руби и быстро пофикшу хотфиксы\заимплеменчу фичу. В оставшиеся время буду пить смузи, пока очередной челик пытается разобраться в виме.
>>1762424 Смысл дядям сидеть и ждать принца-мидла(который не факт что объявится), если можно взять мало-мальски нормального джуна и со временем сделать из него мидла, который им нужен? Алсо, если ты имеешь ввиду переходить на джангу/фласку - то меняешь шило на мыло
Вот что интересно. Почему эти ребята https://thinknetica.com/ учат рельсам, но сайт у них, тем не менее, не на рельсах, а на гавнотильде с гавнокодом внутри, которые даже не читаемый поисковиками?
>>1762752 В идеале, если ты делаешь такие курсы - будь добр покажи, что ты можешь, чтоб я открыл их сайт и посмотрел, как рельсы работают и зачем они мне нужны. Хуй с ним с лэндосом, лэндос можно было, ну хотя бы на HTML, CSS, Js Рельсовики фронтенд вроде знают, основы, как минимум?
Но там вот есть чел, написано, что он делал сайт якитории, я открываю якиторию, смотрю исходный код, а там
DJANGO_GLOBALS = {
Как это понимать? Я мб чет не догоняю, но вот джанго сразу вижу, а отсылок к руби чет не
>>1762739 Учат? С тебя берут деньги за то, чтобы накидать заданий, кинуть тебе лекцию, а дальше ебись как хочешь. Это не обучение, а попросту спекуляция на его якобы присутствии. Можно и самому за бесплатно так учиться, как там предлагается, а за будто бы хорошее там сообщество ещё одна сказка про белого бычка. Меня удивляет, как все нахваливают этот интенсив, когда ты по большому счету сам платишь, чтобы самому сделать, никакой гарантии трудоустройства тоже нет, это обычное инфоцыганство.
>>1762860 Согласен абсолютно. Интересует просто, как они спекулирует, но не показывают свой скил и даже лэндос пилят на гавнотильде с якобы курсом. Ебать, Я так тоже учить могу, хотя я даже не джун
Как сделать так, чтоб он читал не данные вписанные в ручную, а данные из файла txt? с рандомным значением, чтоб при каждом запуске скрипта читалась рандомная строка из файла proxy.txt?
>>1763234>>1763228 В общем нашел на стэкоферфлоу вариант, но так он вообще теперь файл не открывает(либо открывает, но не так) string = File.readlines("proxy.txt").sample a = [string] real_proxy = a
Ошибка (node:15674) UnhandledPromiseRejectionWarning: Error: Invalid "proxyUrl" option: the URL must contain both hostname and port.
Но, сука, какого же хуя, он не открывает его в проксях тогда? Думаю там какая-то ошибка в строках, открываются как то иначе, мб скобки нужны какие то куда-то или еще чет типа такого
Как делается загрузка файлов с другими полями в одной форме?
Например у меня есть Post и File. Мне нужно чтобы создавался post и к нему прикреплялись файлы.
У file есть post_id, но у нас его нет тк post еще не создан.
Если делать без всяких гемов, то как лучше поступить?
Если у меня несколько файлов, то нормально ли отправлять formData несколько раз? Будет получаться что на сервер будет несколько раз приходить следующее
>>1763336 Несколько раз отправлять нельзя, это плохой код.
Создаешь транзакцию, например, Post.transaction do post = Post.create(...)
Внутри транзакции создаешь файлы, айди поста у тебя уже будет, если с файлом что-то не так, делаешь raise exception и транзакция отменяется, пост не создаётся.
>>1763353 Лучший синтаксис имхо Си подобный так как он применим на большинстве япов а твой руби понятен только тебе и создателю этого кала. По поводу вакансии не знаю как у тебя у меня на весь город (миллионник) одна вакансия.
>>1763352 Я тогда вообще не догоняю как показывать прогресс загрузки файлов по одному если в итоге правильнее отправлять formData. Сейчас я просто цепляю все файлы к formdata и отправляю ее. На сервер приходит все как нужно.
Но прогресс показывается только на последнем прогресс баре.
A если делать xhr.send(file) вместо xhr.send(formData) прогресс показывается для каждого файла, но при этом на сервер приходит в params приходит {}
Короче я сделал чтоб работало string = File.readlines("proxy.txt").sample real_proxy = string
Всё. Оно работает. Если гнать в массив, как я до этого делал - то не работает. Убрал строку с а = стринг, реал прокси = а, оставив стрин=файлрид, реал прокси - стринг и всё заработало, как надо
Плохо читаешь, там написано: >Участвовал в проектах для различных заказчиков >таких как, Avaya, Nokia, "Якитория" и др.
Судя по всему под проектом для Якитории, имеют ввиду вот что: >мы создали уникальную для рынка систему, которая пронизывает все бизнес-процессы большой компании >от заказа в мобильном приложении, минуя колл-центр и менеджеров ресторанов, до отслеживания координат курьеров
>>1763637 Ты же понимаешь, что часто у компании крутится больше, чем один сервис / одна система и часто эти сервисы/системы сделаны на разных технологиях и как-то общаются между собой по API, да?
Как блять работать с вашими ебаными класами? Я прочитал про них и на трайруби и на руби-ланг, и еще овер дохуя сайтов, как можно разобраться, если примеры построены на ёбаном puts "zalupa", пиздец нахуй. Весь вечер проебался и всё равно нихуя не работает, а почему не работает - хуй знает.
Подскажите почему происходит какая-то хуйня ПОЖАЛУЙСТА, МОЛЮ
>>1763763 Ватир это плагин, открывает он гугл хром. И в юзер агенте создаю. Но если я его где-то убираю, то 30:in `<main>': undefined local variable or method `browser' for main:Object (NameError)
Мб как-то надо иначе объединять то, что после скобок? Но я не нашел методов, подумал , что смогу в классы загнать и он ВНЕЗАПНо всё порешает, но чет не порешалось блять
По отдельности они работают, а как их в одно целое объединить то? я пробовал и browser = Watir::Browser.new(:chrome, proxy: proxy, driver) и browser = Watir::Browser.new(:chrome, proxy: proxy + driver) и вообще много чего перепробовал и нихуя не работает. Решил делать это классами, и отправил прокси + юзер агент в класс, а потом пытался объявить, когда вызываю браузер
>>1763792 Так приватные прокси не запихаешь с авторизацией. Приходится использовать 2 гема, один гем с прокси, другой с юзер агентом, как бы их в значении driver = соединить в одно
>>1763813 Так тоже не прокатит, поэтому и написали гем дополнительный, который через node.js работает, лол. Неужели нет никакой функции объединить два значения драйвера в одном?
>>1763831 Ну, просто вслепую тыкая точно не получится объединить вариаций того, как это могли заимплементить создатели гемов массакак и вариаций жареного супа. Только надеяться, что в треде найдется кто-то, кто такое делал. Универсального ответа нет. Либо искать в документации, либо в исходниках гемов, либо на стековерфлоу
>>1763848 Тебе надо выяснить, как работают гемы для твоей ситуации. Руби в данном случае просто инструмент, а интерфейс гемов только в документации этих гемов может быть описан (если повезёт)
>>1763702 Я не перестаю удивляться с додиков, которые залетают в тред чисто посрать, одному придурку синтаксис не понравился, что уже в принципе вброс, теперь этот тупиздень косит под дурака в духе "а чо, в других нет???". Да на хуй вы живёте вообще, зайти в тематику и пукнуть в рубитреде, на большее извилин не хватает. >>1763444
>>1763866 Блять, двачую. Но мне кажется, что это семен просто раз в неделю залетает. Ладно бы язык реально ВО ВСЕМ сосал. Так нет же, уверен, что эти же люди не заходят в js тред и не пишут, какой он поехавший
Пацаны. А как сделать http реквест, который отправит определенные данные в форму? Например чтоб зайти на двач и отправить сообщение с помощью скрипта? Или скажем зайти на тинькоф и оставить заявку на кредит в форме?
В итоге просто сделал "/upload" На каждый файл свой formData. Как мне показалось так проще обрабатывать данные на сервере и показывать прогресс загрузки каждого файла. Правда в js'е говнокод надо почистить.
+
У формы есть несколько текстовых полей - это еще 1 formData
В итоге когда нажимают submit - форма отправляет текстовые поля формы, создает @post и возвращает id Дальше начинают грузиться файлы которые привязываются к этому id
Еще sqlite постоянно выдавал "SQLite3::BusyException: database is locked" из-за того что быстро вызывался Upload.create С pg такой проблемы нет.
>>1764047 Я смотрел тестирование-прирост мизер,а в под некоторыми нагрузками даже в минус уходят... Ну лан,перфоманс можно мощными процами нивелированть. А вот с фичами по сути ничего интересного,Матц какую то херню городит уже много лет.Баги фиксить конечно нужное дело,но вот отставание по развитию очевидно.Даже старина пых очухался...
>>1764057 >Ну лан,перфоманс можно мощными процами нивелированть.
Хуёво как раз, чем больше ядер тем меньше частота, а в вебе как правило проблема как раз в ядре в соточку и недовольными юзерами что у них по 5 минут корзина покупок считается.
>>1764062 >а так тут нужны в вм оптимизации, а это по сути рокетсаенс
Область применения потому что такова.
А все крутые фишки в процессорах делают или для игорь (ускорение числоебли на fp32), медиа (опять же числоебля на int32), научдроча (fp64). А что бы строки и массивы лихо крутить - хуй.
Если бы манямантры тормозов-абсракцунов про тормозящую бд были бы правдой, то индустрии даже пыхе архитектуру времен 3.0-4.0 менять было бы не нужно, нужникс изобретать тоже было бы не нужно - хуле, "бутылка в базе азаза идите все нахуй, мой говнософт нитармазит."
Но нет, по node.js, по взделающему Go, по популярноси C# и Java мы видим - что эффективность рантайма для мидделваре крайне важна. Что маняпроблемы мускуля на шареде давно не имеют место быть в современном мире с его то noSQL и прочими in-memory кешами и на первый план выходит скорость языка.
Апофеоз - Rust и его популярность, когда мир показал что ему нужен быстрый язык, у него больше нет денег затыкать проблемы производительности платиновыми зионами по полтора ляма за камень которые всё равно их не решают, потому что алгоритмы в вебе однопоток.
>>1764197 Вот только 90% сайтов в инернете никогда не потребуют производительность даже обычного php
Конечно можно рассчитывать, что твой проект станет супер популярным, и начать писать всё на rust, а потом конкуренты запустят аналог из говна и палок, и соберут аудиторию, а твой супер быстрый бэкэнд уже никому не будет нужен.
Не надо делать преждевременные оптимизации, пока у тебя нет проблем со скоростью языка, не еби себе мозги.
Если хуяке и в продакшн - это первые на незанятом рынке, пусть и юзера по полчаса как на модеме загрузки страницы ждут - это значит, что за загрузку страницы за полчаса бабки прилетят, а оптимизированному за 0.5мс ответу сервера но через год - нет.
>>1764197 Полная хуйня чел, ты скорее в эзернет упрёшься, чем в скорость работы интерпретатора
>даже пыхе архитектуру времен 3.0-4.0 менять было бы не нужно архитектуру меняют не для ускорения работы твоих скриптов, а для ускорения скорости разработки
На похапэ можно писать довольно быстрый код. Конечно, не такой резкий, как заточенный под конкретную задачу инстанс nodejs или, не дай бог, что-нибудь для веб на няшной с ассемблерными вставками.
Можно банально придерживаться паттерна mvc и не погрязнуть в паутине спагетти-скриптов с сотнями инклюдов. Код будет хотя бы структурирован и изолирован локальными кучками говнеца. Это идеальное состояние, если большую часть рабочего времени вы добавляете в общую свалку новые, независимые друг от друга конвертики с тухлятиной.
Можно написать классы объектов, там где они необходимы и наполнить их методами. Опять же, всё ради структурирования кода, для вполне сносной и быстрой навигации по разрастающейся выгребной яме проекта.
Можно вооружиться профайлером, раскурить исходники ядра фреймворка, который вам предписало начальство, и частично переписать его, снизив время выполнения этого хитросплетения пиздеца на 80%. Вырезать конфиг веб-приложений, сделанный в xml. Уничтожить миллионы вызовов __call() и call_user_func(), от которых кровоточат глаза. Большинство макак знает, что обычное веб-приложение на похапэ инициализируется каждый раз с нуля. Поэтому уменьшить на 90% время инициализации - это очень хорошая идея.
Можно искать узкие места и куски рендерера, где хтмл генерится недостаточно быстро. Вооружиться memcached и реализовать грамотные схемы самообновляющегося блочного кеширования. Избавиться от пары дюжин лишних запросов к бд на каждый чих. Получить 80% страниц, выхлоп которых отрабатывает без запросов к бд вообще.
Можно заняться очередями сообщений и перенести на них особенно тяжёлые куски процессинга картинок, видео, музычки, почты и прочего хлама, чтобы всё упиралось в длину очереди, количество воркеров и машины, эти очереди разгребающие, а не в число клиентов и их терпение к времени отклика от сервера.
Можно навесить плюшки в виде аякса, где это уместно, и местами перенести генерацию контента вовсе на клиент, вместе с тем сэкономив десятки тяжёлых запросов на отрисовку страницы целиком.
Можно взять сверхбыстрое простое хранилище типа redis и использовать его для сегментов системы, которые создают большую плотность не очень важных запросов к бд, типа учёта баннеропоказов, трекинга статусов online и логирования всякой поебистики.
Можно придти к мысли, что mysql с её слоупочными table locks и transactional safety и с её возможностью масштабирования только при помощи анальных расширителей не очень-то, собственно, и нужна в большинстве задач. Потратить 2 месяца и перенести огромную смердящую кучу наваленных друг на друга небольших пакетиков с говном на mongodb, на небольшой, но няшный кластер из нескольких replica sets по тройке лёгких машин. Ощутить невесомое изящество, с которой она похрустывает сотнями тысяч записей, прелесть schema-free и отсутствие дрожи в коленях, когда раньше ты запускал alter table на рабочей копии бд, глубокой ночью, потому что оно кладёт сервер на час-другой. А потом часами напролёт в умилении смотреть на графики munin, которые резко перебежали из погранично-красной зоны в самый низ зелёной. Финально включить eaccelerator и наслаждаться запасом в сотни запросов в секунду на отдельно взятом сервере начального уровня.
Можно дополнительно озаботиться настройкой nginx, убрать из конфига логгирование для файлопомойки, включить пяток жизненно-важных параметров, указать нормальные значения для буферов. Окончательно уничтожить апач, для которого был прописан reverse proxy для некоторых урлов. Выкинуть SATA-винты на помойку. Поставить дополнительно недорогих SSD и развернуть на них кэш для самой мелкой статики.
Только это всё не нужно. Ваш сайт, результат вашей работы никогда не получит хоть какой-то нагрузки. Когда на ресурс заходит 10 человек в день, а 90% хитов совершают боты гугла, можно хуярить страницы на 50, и даже на 150 SQL-запросов, ведь все таблицы бд влезают в оперативку, и страница даже на каком-нибудь позапрошлогоднем zend framework без твиков соберётся менее, чем за секунду. Да какой там фреймворк! Какой там MVC! Проще дёргать по необходимости разнородные готовые куски, часть кода бросить голодным доширак-макакам, и склеить всё воедино лишь-бы-работало спагетти-кодом. Ведь проект нужно было сдать ещё вчера, а завтра он будет навсегда забыт. И останется крутиться на задрипанном, надолго предоплаченном vps, в cron которому прописана ежедневная перезагрузка.
>>1764365 Бери или как уже написали sinatra или, если хочешь почувствовать себе дохуя модным, то roda на самом деле годнота, рекомендую. Если работаешь с базой, то бери sequel, использовать activerecord без рельс такое себе. Для перезагрузки кода listen + zeitwerk, их связка пишется буквально в десяток строка кода, работает как часы. Можно еще activesupport подключить для разных няшностей. И puma как вебсервер сверху. Все, с этим базовым набором уже можно разрабатывать как белый человек.
>>1764540 Ну да, это базовый набор для небольшого приложения, все остальное подключается по мере необходимости. Иначе ты один только релоад кода или менеджер коннектов к базе ебанешься с нуля писать.
>>1764684 >Есть идеи, как писануть бэкдор на руби? Мб исходники у кого то есть? И стоит ли? Или лучше для этого дела шарп взять На руби сделан потрясающий инструмент - metasploit framework, исходники лежат на гитхабе и доступны для ознакомления.
>>1765763 Вебдрайвер инжектит атрибут webdriver в html, то есть однозначно объявляет о своем присутствии, так что распознается это очень просто независимо от юзер-агента.
>>1765777 Это не баг, он никак не фиксится, насколько я помню, однако думаю ничто не помешает завернуть вебдрайвер через прокси и подчищать весь левый контент парсером.
>>1765803 В смысле, ты исходник не смотрел? Я там завернул и в прокси и в юзерагент. Конечно вебдрайвер без прокси - нахер не нужен. А вот как контент подчистить поясни, я не понимаю, что ты имеешь ввиду
>>1765872 Твой прокси только адрес меняет, я говорю, если сайт выполнит какую-нибудь херню типа window.document.documentElement.getAttribute("webdriver") и отправит результат работы на сервер - любой вменяемый защитный механизм отправит тебя в бан, соответственно, все эти фичи надо либо как-то отрубать, либо не позволять клиентской части детектора стучать на сервер, перехватывая и изменяя сообщения на стороне прокси.
>>1765996 /home/RubyProject/3.rb:46:in `block in <main>': undefined local variable or method `config' for main:Object (NameError) from /home/RubyProject/3.rb:45:in `each' from /home/RubyProject/3.rb:45:in `<main>'
>>1766019 У меня там только это было Я же говорил, что из питухона взял, там просто прописываешь текст = блабла и всё работает. И в main делаешь import config
TEXTS1 = 'Какой то текст' TEXTS2 = 'Какой то текст' TEXTS3 = 'Какой то текст'
Как молодой веселый хипстороватый гомосек всего за 10 лет состарился до потертого морщинистого пидора с раздолбаным очком, который и на зоне то нахер никому не сдался?
Пацаны, смотрите какая хуйня, есть штука, которая записывает данные из путс с новой строки file = File.new("users.json", "a:UTF-8") file.puts "user error: " + time2.inspect file.puts "blalbalba: " + time2.inspect
А как сделать так, чтоб при каждой новой записи удалялась предыдущая? например я путнул юзер еррор, потом путнул блабла, блабла осталось, а юзер еррор удалиось?
Озадачился написать себе простого голосового помощника. Не нашел на руби распознавателей речи, что подскажете? На питоне гуглится в два клика, а тут что-то не вышло
>>1768617 не думаю что распознаватели речи пишут на питоне, скорее просто обертки делают для библиотек, которые на низкоуровневых написаны, ищи аналоги для таких библиотек на руби
Если там за это время хоть что-то изменилось именно в апишке вызовов (а не во внутренностях), то сам подправишь рубишный гем.
>>1768617 >На питоне гуглится в два клика Ну вот я тоже решил загуглить
Picking a Python Speech Recognition Package A handful of packages for speech recognition exist on PyPI. A few of them include:
• apiai (эта хуйня ходит в Google Cloud Dialogflow) • assemblyai (эта хуйня ходит в https://www.assemblyai.com)
• google-cloud-speech (эта хуйня ходил в Google Cloud Speech) И ВНЕЗАПНО ЕСТЬ ПРИМЕР ДЛЯ РУБИ В ОФИЦИАЛЬНОЙ ДОКУМЕНТАЦИИ https://cloud.google.com/speech-to-text/docs/samples • pocketsphinx (это та же самая хуйня, что я порекомендовал двумя постами выше)
• SpeechRecognition (Library for performing speech recognition, with support for several engines and APIs, online and offline <- солянка из остальных либ в этом списке) • watson-developer-cloud (нужно ли говорить в какое облако эта хуйня ходит за распознаванием речи) • wit (ходит в wit.ai, есть рубишный SDK https://github.com/wit-ai/wit-ruby)
>>1768617>>1768857 ДАК Я ПРОСЛУШАЛ В ИТОГЕ ГДЕ ТАМ НА ПИТОНЕ ТОТ САМЫЙ OPEN-SOURCE SPEECH RECOGNITION КОТОРЫЙ РАБОТАЕТ ЛОКАЛЬНО, НИКУДА НЕ ХОДИТ И ДЛЯ КОТОРОГО НЕТ ОБЁРТКИ НА РУБИ?
> open(@jpnFile){|jpnfd| > open(@engFile){|engfd| > @avsim,@alignment = > AlignLib::alignFile(jpnfd,engfd) > } > } В ruby 1.8 работает, а в ruby 1.9.x пишет "can't convert Fixnum into String" на вызове alignFile. Есть у кого опыт как это фиксится? Если что, в C-расширении эта функция регистрируется так: > rb_define_module_function(m, "alignFile",alignFile, 2) И ещё, при переходе на 1.9.x, к командной строке интерпретатора пришлось добавить --encoding EUC-JP, не знаю могло ли это повлиять.
гайз не бейте лучше дайте совет рили нравится руби, хочу не просто работать с ним на дядю но и просто задрачивать но меня сильно демотивирует то что я не бессмертный вампир которому не надо кушать ничего кроме крови простых смертных, и мне нужно где-то работать при всём этом так где искать работу для джуна-то ёпт, я смотрел на dou и джунов там ищут с минимум годом экспириенса а где найти этот экспириенс если меня никуда работать не возьмут :( так как живу в пердях то вариант только удаленка скорее всего вы со своим элитизмом меня нахуй пошлете, но попробовать спросить можна было
>>1770107 Отправляй всем резюме. Если ты не в Киеве раз уж ты на доу ищешь, делаю вывод, что ты сс Украины и ищешь в своем городе руби позицию, то отсылай резюме, а там видно будет. Пизды за резюме не получишь, а рубистов в твоем городе может не хватать, базарю
>>1770443 Это рельсы конвертят потому что у тебя enum объявлен, используй priority_before_type_cast, если нужно число. Может быть есть способ и по-красивее давно enum не юзал потому что это очередной нахуй не нужный высер DHH
>>1770623 Если ты наследуешь класс, и хочешь переопределить метод, но при этом не полностью заменить его, а добавить что-то к вызову. super вызовет оригинальный метод
>>1770088>>1770404 >1.9 >2020 >прекращается поддержка 2.4 Руководствовался что чем меньше инкрементирую версию руби -- меньше адаптировать код для новой версии. Ну в любом случае собирался переписывать на golang. А для тестов, chroot со старой убунтой с ruby 1.8 вполне сошёл, так что обойдусь.
Блять, у меня такое чувство, что я все проебал. Учил ruby/rails делал проектики, а работу так и не искал. Побывал рнн господином. Это блять, лет 5 прошло. Сейчас выкакал пару проектиков чтобы было что показать, но это чувство меня не перестает покидать.
Как-то отписывался об этом. В 2006 наверн было охуенно со всем вот этим баловаться. А сейчас остается быть думером.
>>1772239 Блэ, а на что тогда расчитывают вот эти вот вкатывальщики, появляющиеся из треда в тред. Еще могу немного в эликсир. Но я не собираюсь его прямо сейчас задрачивать.
Считаю что адекватная идея найти работу на рубях, а там по возможности перекатываться.
>>1772702 > Какие планы на будущее? Заняться шеей, сменить кресло со столом, продолжать дожимать до джуна, к диплому уже работать, на крайняк, сменю стек с руби на любой другой бэкенд, если вообще труба по вакансиям будет.
Кстати кто на каком кресле сидит дома, офис, может посоветуете?
Пацаны, как фиксить такую проблему, ос дебиан 10, jruby не хочет работать
WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.headius.backport9.modules.Modules to method sun.nio.ch.NativeThread.signal(long) WARNING: Please consider reporting this to the maintainers of com.headius.backport9.modules.Modules WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
>>1773802 >>1773785 >>1773553 >>1773548 Зачем ты спрашиваешь в мертвом треде, тут никто кроме нас не сидит, все остальные перешли на голанг, там хоть работа есть
Вопрос уже наверняка был, и есть ответ в шапке, но всё равно задам: Для чего ещё руби годен, кроме рейлс? Почему на нём не стоит делать что-то десктопное/мобильное? Есть ли смысл сильно задрачивать руби вплоть до мелочей, когда всё для чего он понадобится это крудошлёпство?
Если говорить о вебсокетах, то что для чего нужен socketID?
У anycable есть пример и там делают следующее var socketId = Date.now(); . Date.now это чисто для примера, но в реальных условиях что там должно быть? Какой-нибудь user_id?