ИЗУЧЕНИЕ ЯЗЫКА 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
Стоит ли учить младшего брата Ruby? Как там с работой? Боюсь что в о фронте жопа, конкуренция вкатывальщиков крайне высока. На этом фоне Руби выглядит весьма вкусно, не так зафоршен как петон, но и спрос все еще имеется.
>>1787876 Заклинаю тебя, двоедушника, уйти, уйти, уйти, уйти с дорог войны, продать душу руби, встать на путь смирения и внимать гласу мудрых, очисти разум свой от всего бренного, обрести покой должен ты.
>>1787841 Тебе с таким вопросом лучше по чатам полазить, если кратко, стоит учить его программировать через руби, если ему самому нравится, вопрос с работой решаем, даже если ты полностью голый, но готов учиться
Вот есть такой массив хэшей [{name: 'Vasya', apples: 2, bananas: 4}, {name: 'Sasha', apples: 0, bananas: 5}, {name: 'Misha', apples: 1, bananas: 0}, {name: 'Petya', apples: 2, bananas: 6}, {name: 'Dasha', apples: 3, bananas: 0}] Мне нужно для каждого взять имя и последний ключ, который оканчивается не на 0. Т.е. результат должен быть таким Vasya - bananas: 4 Sasha - bananas: 5 Misha - apples: 1 Petya - bananas: 6 Dasha - apples: 3 Как сделать?
>>1789657 Не могу, это просто хэш из SQL. В общем нужно просто пройтись по хэшу, и найти последний ключ, значение которого не равно нулю. {name: 'Misha', age: 45, apples: 1, bananas: 0} надо вывести Apples: 1
>>1792348 >>1792350 Для вкатывальщиков-джунов работы кот наплакал, одни миддлы и сениоры везде нужны. >Можешь попробовать начать смотреть Обожаю руби-тред, классическая пассивная агрессивность, сторожите кормушку, молодцы. Ну раз смотреть, то подскажи, где, будь другом.
Ну а вообще, советую делать две вещи: • самообразование по технологиям — читать книжки, смотреть конфы на ютубе по рубям/базам/архитектуре/ООП • дрочить английский (желательно даже взять уроки уровня SkyEng, чтобы ПОТРЕНИРОВАТЬСЯ ГОВОРИТЬ)
Когда будет уже 3-4 года опыта — легко сможешь выйти на долларовую удалёнку.
Онлайн-конференция RubyKaigi Takeout стартует уже завтра! Смотрите выступления членов Ruby Core Team (включая Мацумото), а также других рубистов со всего света в том числе и марсианина https://twitter.com/palkan_tula
>>1797782 Мне кажется нет. Сам вкатился только из-за того что на работе проект дали, ну и ушел с пыхи полностью на рубя (дешевле пыхаря переучить, чем искать рубиста в мухосрани). Рынок руби работки таков, что можно прекрасно себя чувствовать имея околосинёрские скиллы, а джуном будешь преимущественно сосать писос, лучше взять более хайповый стек для самовката.
>>1798533 >можно прекрасно себя чувствовать имея околосинёрские скиллы, а джуном будешь преимущественно сосать писос Это вообще всех языков касается, не только руби
>>1798535 Как пример, в каком-нибудь реакте джуном попроще, и если есть хоть что-то типа пета в гитхабе, имея только лишь знания жса и околореактовских приблуд, легко залететь на норм зп с нулём опыта (60-80к)
>>1798646 Угу, есть такая мысль. Объем знаний там всё таки поменьше нужен, а спрос на них выше(даже с учетом количества вкатунов). Всё таки бек может быть на чем угодно, но фронт в 80% случаев - это реакт, гораздо реже нг с вью, но там как ни крути, всё равно жс. Так и выходит, что реактодебилу закатиться проще, тож планирую на следующем проекте взять на себя часть фронта, а то мало ли куда жизнь повернется, хоть тут хлеб будет
Выкакал одну штуку на синатре. Тестов не писал тк там все настроить было гемором. Я хоть и настроил, но потерял мотивацию. Никаких js библиотек здесь не использовал.
Месяц назад потыкал rails на уровне около-скаффолда. До этого НЕ использовал rails пару лет и вообще ничего не делал.(отписывался в треде, но в последнее время просто луркую тут)
Этого достаточно чтобы вкатиться или мне теперь этот какиш нужно где-то развернуть?
В связи с короноанусом и заканчивающимся баблом, удаленка кажется более адекватным вариантом.
Если сделать резюме и заполнить профили на всяких кругах, хх, линкдине и будут предложения, то куда лучше двигать? Ведь если будет предложение от не ру конторы, то в моей голове это ассоциируется с нестабильностью и большей ответственностью.
На сколько расчитывать на старте в плане денег 70к?
У меня какое-то ощущение что я обосрусь. То есть, желание и какая-то уверенность в том что найду работу есть, но когда начнут поступать задачи, начнется пиздец и уныние.
- Думаю после редакса любой вкатывальщик забьет хуй. Сам по себе реакт может и ок.
По сообщениям выше решил потыкать реакт. Почему так туго идет? Или они специально все усложняют чтобы значимость фронтэндеров не падала и их не заменил AI.
Кошешн все эти хуки и контексы выглядят получше редакса, но все же.
Как дела с работой обстоят? Зашла на hh, там почти на каждой вакансии рубиста есть табличка - будьте первым. Неужели такой недостаток кадров? Так ли легко вкатиться?
>>1803957 >>1787634 (OP) Тёмыч, сделай в следующем перекате отдельную вкладку про как найти первую работу, про то, что должен уметь вкатун-рельсовик, про хуйню-малафью, одна и та же поебота из треда в тред лезет
>>1811570 Я сначала так и хотел делать. В итоге кое что сделал, но не на rails. Сейчас меня зачем-то понесло на эликсир. Дочитаю книгу и начну эплаиться. Возможно дело в том что я ссыкую это делать и просто откладваю момент. Если получится найти удаленку, то отпишусь тут через 1-2 недели успешной работы гыы
>>1811715 Он в какой-то степени прав, но зависит от вводных. Но раз ты задаешь такой вопрос, у тебя скорее всего дохуя мотивации. Месяц позадротишь язык, сделаешь какие-то скриптики, дальше уже какой-то проект.
Вот у меня горит от проебанного времени и упущенных моментов и я часто чувствую себя как овощ с брейнфогом. А еще когда читаешь требования где нужно быть ахуенным математиком, то еще больше дизморальки тк за последние несколько лет я не использовал ее вообще.
Если есть дохуя мотивации, то все будет ок. Как пример, от elixir in action с его todo примером тянет блевать и опускаются руки тк это нихуя не реальная задача и много лишнего текста.
>>1812556 Они пишутся разными авторами без какого-либо общего шаблона.
>>1811836 Интересное мнение. С автором Elixir in Action я знаком лично, работал с ним в одной конторе, он охуенный спец в своём деле, активный попенсорц деятель и отличный ментор. Elixir in Action я сам не читал, но сейчас вышел 2nd edition, возможно он лучше. Если не идёт, то есть адекватная замена Programming Elixir >= 1.6
>>1812707 На счет твоего последнего предложения. Это абсолютно 2 разные книги. Хоть здесь и тяжко читается, но у него более менее реальный пример(в плане архитектуры) Но ебаное todo это параша.
Programming Elixir >= 1.6 читался легче и там в основном идет упор на основы(читал его года 2-3 назад и делал задания)
Rails все еще решает. НО если хочется повыебываться или потыкать что-то необычное, то можно и в elixir.
Я ни разу не вкатывальщик, и вообще 1С-господин (говноед). Но появилось желание создавать сайты в качестве хобби. Эти ваши рельсы и руби мне подойдут для этого? И с чего лучше начать - с изучения фронта или бека? Простите за глупый вопрос, я просто не знаю где это спрашивать вообще.
>>1814030 Довольно хуёвое хобби ты себе выбрал, брат. После того как ты поймёшь сколько требуется знаний чтобы сделать сайт, за голову ухватишься и обратно в 1С-перекатишься. Энивей, чтобы попробовать на вкус дерьмеца, начни с html-курса на theodinproject в шапке треда. В принципе, ты можешь ограничиться только этим сайтом для изучения сабжа. Но опять же, лучше бы ты в качестве хобби в ассемблере ковырялся, чем сайты решил создавать.
>>1814171 Спасибо за совет, а что, разве создание сайтов это крайне сложная вещь? Тогда почему я в /b/ кучу тредов видел как люди пытаются стать веб-макаками
Если коротко - руби очень плохой вариант для начала.
- Учишь С++ / C# до ООП включительно, для понимания как нормальный код писать (это опциональный шаг)
1. БД (MySQL идеальный вариант для начала) 2. HTML / CSS (просто пройтись, посмотреть какие есть теги, как оно вообще работает) 3. PHP, для понимания как работает веб (здесь далеко лезть не нужно, просто учишься писать / доставать данные с БД и отображать где то) 4. базовый JS - просто понять как оно работает, добавить на написанный ранее PHP сайт анимации или асинхронные запросы 5. просто почитай про MVC, попробуй реализовать свой фреймворк
Первых 5 пунктов - база. Дальше у тебя уже должно сложиться представление, о том что тебе проще/интереснее, и тоже есть несколько путей:
1. Laravel/Cake PHP/шото еще из MVC фреймворков - сможешь спокойно писать простые сайты, при желании пробоваться куда то на стажировку 2. WordPress или другие CMS - сплошной говнокод, комьюнити бумеров и фрилансеров 300к/сек. Программирования как такового нет, только установка кривых плагинов и допиливание костылей. 3. Что то из следующих стаков (сможешь писать сайты / приложения / микросервисы, что душе угодно): Node.js / React(Vue) Phython / Django Ruby / Ruby on Rails
>>1814580 React / Vue - ЖС библиотеки для написания веб-приложений (фронта) Python - язык, на котором можно реализовать либо API, к которому уже будет обращаться фронт, либо монолитное приложение, используя фреймворки вроде Django
ПХП-говно протекло из своего отстойника в наш могильник и с умным видом ПОЯСНЯЕТ ЗА ЖИЗНЬ начать с крестов для нормального кода, чтобы потом уйти ковырять в ПХП. Ты ебанулся совсем такое ему >>1814580 советовать? Почти уверен, что ни на том, ни на этом тебе всерьез программировать не приходилось, пиздуй в свой ларавел-тред, скотобаза ебаная.
>>1814684 Ахуенно, только я Ноде фулл-стек пишу. Пыху последний раз год назад в универе видел. Плюсы или другой низкоуровневый язык нужен для понимания того че вообще с кодом происходит, я и говорил что это опционально. Пыха хороший первый язык, потому что она простая и после изучения дает много путей дальнейшего развития.
Вы хули тут устроили, долбоебы? Идите на хуй со своей ПЫХОЙ и крестами из треда, пыха это червь пидор, хуже этого гавна нет ничего, а чтоб делать веб-проекты начать кодить с крестов - это вообще советы уровня Б
>>1814278 >Спасибо за совет, а что, разве создание сайтов это крайне сложная вещь? Чтобы сделать сайт по современным технологиям, а не на чистом html, надо знать SQL, HTML5, CSS, JS, любой из бэкэнд языков (в нашем случае это руби), фронтенд фреймворк типа React, бэкэнд фреймворк типа Rails, знать как работают HTTP-запросы и разбираться в MVC-архитектуре (хотя это не сложно), ну и для самого сайта надо бы в дизайне шарить, читать книги типа Эдварда Тафти. Как бы пиздец много работы для одного человека, и поэтому люди пытаются стать не веб-макаками, а бэкендерами/фронтендерами/QA-тестировщиками. Чтобы сделать сайт надо три-четыре человека в современных реалиях, это пиздец. И после того как ты окунешься во всё это, ты поймешь насколько же это унылое и пиздец утомительное дело, а уж в качестве хобби оно вообще никчемное. Лучше рисовать научись или на гитаре играть. Ты бы еще в качестве хобби бумагу острым краем облизывал.
>>1814530 >- Учишь С++ / C# до ООП включительно, для понимания как нормальный код писать (это опциональный шаг) Ебануться, учить два абсолютно разных языка, один байтоёбский, другой клон джавы, на какой ляд спрашивается? Поясни что такое "нормальный код" для начала, ну чтобы тут люди посмеялись. >1. БД (MySQL идеальный вариант для начала) Охуенно идеальный вариант когда все сейчас давно используют PostgreSQL из-за анальных лицензий Oracle.
>>1814696 >Плюсы или другой низкоуровневый язык нужен для понимания того че вообще с кодом происходит Блядь, я тебе ГАРАНТИРУЮ, ты не имеешь НИ МАЛЕЙШЕГО представления о том, че вообще с кодом происходит. Поверхностное знание крестов не наделяет тебя хтоническими знаниями адептус механикус и способностью управлять духом машины. Чтобы знать, че с кодом происходит, надо знать ассемблер и то как компилятор интерпретирует структуры данных.
>>1815660 Двачну. Но чтоб начать делать веб-проекты - надо делать вебпроекты, а не задротить ассемблер всё же. Чувак хочет веб-приложение мутить, стартапы мб, а тут советы, как будто он хочет стать хаккером ниибаца и взламывать пентагон через Html
>>1815660 Это же филиал \пр где никто не соображает контекст. Добавлю к знанию о том, что там внутри творится, лучше начинать с основ, с электротехники, с понятия тока и напряжения.
Ну тот чел конечно клоун, плюсы учить)00) Нормальный чел плюсы не будет учить, так же как и jAvA и прочие 20-30+ лет языки (кроме рубей и элика)
Посаны? Помогите. Учу рейлс и сейчас простенький блог делаю. В общем не могу прописать в контроллере destroy, чтобы комменты удалять, чет не понимаю что не так делаю. Рейлс ругается на отсутствующий метод comments, но эмммм, почему тогда он через консоль всё прекрасно находит? Я где-то ошибаюсь, но не знаю где. https://www.codepile.net/pile/82q1Jq25
У меня такой вопрос посаны, вам комфортно работать на уровне 10 абстракций? То есть, я пока что вкатун простой, и мне немного непонятно как можно комфортно запомнить что ass.label содержит в себе html типа <label for="ass" class="we" id="can">. В реальной работе рельсовики вообще вьвсами занимаются или это фронтендеры вилкой чистят сами?
>>1816883 Уже года 3-4 года как вообще вьюхи в рельсах не трогал. На рельсах только API (на текущей работке еще и grape сверху), фронт или на реакте или вью, сами пилим фронт только для админки, для всего остального отдельная команда фронтов. Вообще в рельсах во вьюхах только формы ебанутые, как по мне, остальное нормально сделано, но может это у меня уже воспоминания подзатерлись.
>>1817250 >а как же скорость в 3 раза выше? По сравнению с 2.0 релизом, 2.6 и так был почти вдвое быстрее 2.0, так что всё возможно. Кроме того, параллельное выполнение и легковесная конкурентность из коробки позволит писать писать код, который будет и более чем в 3 раза быстрее. Тайп черкер тоже замечательная вещь, вангую, будет стандартом для всех более-менее крупных приложений.
>>1814288 >Посоны, какие компании имеющие офисы в РФ- это топ для рубиста? • EvilMartians, Evrone, Gett, Wheely, Bookmate • Hoodies, JetRockets, Uchi.ru, AT Consulting, СофтТелематика • Mail.ru (GeekBrains, InstaCart, etc) • Сбербанк (DomClick, etc)
Ну это первое, что в голову пришло давно не работаю на российском рынке, может там что изменилось
>>1817864 Я вопрос задавал. Работаю в AT Consulting Плюсы: вкатился с полного нуля и платят по меркам Мухосранска сносно, относительно ненапряженно, рост по грейдам отличный. Минусы: платят все же ниже рынка, тонны легаси
>>1817864 Кстати, Evrone - единственная комнпаия куда прошел собеседование. По их меркам я еле-еле тяну, но все же оффер был без повышения текущей зп. Вроде как там ЖЕСТКИЙ тайм менеджмент. Галере нужны сильные гребцы.
>>1821456 В приложении нихуя нет, она просто отдает страницы из базы и все. Кеширует на диск. Никаких фоновых процессов нет. Нихуя нет. Заходит челове 200 в день. Какого хуя это говно протекат, что там может протекать. >>1821456
Была подобная хуйня, есть подозрение что если ты дохуя длинные строки дергаешь - то они хуево чистятся. Но ты на верном пути, копни в сторону данных которые прилетают. Если тачка позволяет обмажься профилировщиками, гайды в инете найдешь без меня.
Ребят, кто-нибудь знает, что за контора? Офис на Нахимовском просперкте. Вроде пишут про игровые высоконагруженные проекты, офис класса A, в вакансии жирная з/п, но чет контора вообще noname.
>>1822827 Так они пыхера ищут. В их тред и иди спрашивать.
А так - если контора даже в разделе "Проекты" ничего не показывает в качестве портфолио, то это уже повод закрыть их говно-лендинг и не вспоминать об этой недогалере (тем более что сайт не гуглится).
>>1822827 Работал там фронтом. Они казино пилят, по-этому и название такое стремное, что бы не палиться. Онлайн у них довольно большой, статистики у меня нету, но деньги они видно, что гребут лопатой. Из сочетания кучи бабла и специфики работы и вытекает жирная серая зарплата, да и в целом, если тебе что-то нужно, денег не жмут. Офис нормальный, обычный опенспейс, но в самом офисе плюшек особо нету. Хайрят они очень активно, за то время, что я работал размер команды в раза 3 вырос.
>>1823650 >>1823648 Я уже тут отписывал. Такое чувство что занимаюсь самоотсосом в этом треде
Опыт какой-то был, но давно. Повторил все что нужно как мне кажется. Есть какие-то поделия. Но к rails интерес подугас и напрмер вчера мне было интересно тыкать свифт. Хотя я понимал что делаю хуйню тк надо найти работу, а я отвлекаюсь на ненужные мне вещи.
вопрос(ы):
- как бы вы выбирали из нескольких предложений о работе? Искали бы в течении какого-то времени? ведь наверно не стоит быстро принимать решение.
- Если бы был вариант между офисом и удаленкой, что бы выбрали? (Учитывая ситуацию с короной)
- Сколько стоит просить на старт(Пусть будет на позицию джуна)
>>1823910 >Что мы предлагаем: >•Фиксированный оклад (по результатам встречи); >•График работы: 5/2 Пн – Пт с 10:00 до 19:00; >•Оформление по ТК РФ (по трудовой); >•Своевременная выплата заработной платы (2 раза в месяц); >•Неограниченные перспективы карьерного и профессионального роста; >•100% оплата больничных, отпусков; >•Комфортные условия работы (офис класса А с панорамным остеклением, шаговая доступность от метро Нахимовский проспект, современная техника, оборудованная кухня, где всегда всё наличии).
>>1823688 Добавлю сюда вопрос. Анон спросил про линкдин и хх. Что бы вы выбрали ру или какую-нибудь иностранную контору? Я понимаю что синуоры бы выбрали иностранную
>>1823878 В том-то и дело, что именно ios как-то не вставляет. А вот под macos всегда хотелось что-то сделать.
>Почему не вкатыаешься Денег на пару месяцев осталось.
>>1823910 >посмотреть/погуглить Ссылки на казино я тут давать не буду, а больше даже и не знаю, что можно показать.
>Там легаси или новые проекты На фронте часть проектов переписано на vue и там все ок, в старых довольно-таки пиздец. Но тут руби-тред, так что я думаю тебя интересует бекенд, там основной монолит довольно старый у них там еще какие-то микросервисы есть вроде, но тут я вообще не в курсе, но, насколько я могу судить, они поддерживают его в хорошем состояние и активно пилят в том числе крупные фичи без проблем, так же в последний год где-то они активно фиксили боттлнеки, api стало прямо заметно шустрее.
>Коллектив хороший? Коллектив дружелюбно-нейтральный, токсичных мудаков я не замечал, но тут ключевое слово нейтральный, если ты ищещь походы в бар по пятницам и тому подобные корпоративы, то такого тут нет.
>И что, реально с 10 часов приходить нужно? Вообще да, но договорится, после испытального, вполне можно.
>>1823960 >Вообще да, но договорится, после испытального, вполне можно. Собакин уже сказал что не менее 30% сотрудников должно быть на удаленке. Как ты думаешь, кого отправят на удаленку, а кого оставят пахать в офисе?
Проблемка с cloudflare, сервак по запросу качает себе файл на диск, потом отдает его пользователю, бывает, не укладывается в 100 сек и cloudflare рвет соединение по таймауту, асинхронный менеджер загрузок мне пилить не хотелось бы, слишком сложный механизм для такой задачи, может существует какой-то костыль для этого?
>>1825363 >редикти с сервака в cloud Не понял, что это значит. Редирект? Файла-то нет, а пока экшон дойдет до редиректа соединение уже будет убито. Думаю можно сделать сабдомен в обход клаудфлары, который бы отдавал файлы, по-сути только dns прописать и роутер поправить, должно сработать.
• В чём заключается роль девлида в разных компаниях • Как разработчик превращается в лида • Чем занимается лид • Какие пути развития есть у лида • Как специфика компании влияет на роль лида.
Опытом поделятся эксперты из FunBox, ManyChat, X5, Xsolla.
13 ноября — бесплатная конференция, на которой мы обсудим самые практичные темы. В этом году мы решили не гнаться за трендами, а поговорить о старой доброй классике: борьбе с legacy, построении жизнеспособной архитектуры, связи фронтенда и бэкенда, жизни с Rails в реальном мире. Контента будет мало и только по делу. Для участия нужно зарегистрироваться.
14 и 15 числа пройдут платные воркшопы, каждый из которых раскроет одну из заданных тем на 100%. Покажем, как внедрить лучшие практики в жизнь. Каждый воркшоп состоит из 4-х часового занятия, домашнего задания, поддержки по всем возникшим вопросам в чате в течение недели и фидбека на ваше решение от эксперта.
>>1839203 Ну может и топовое, а есть какая-то инфа о том как там работается?
Я сталкивался с несколькими людьми, которые там работали и они отзывались не то чтобы хуево, но как-то противоречиво. Один говорил что перерабатывал жестко, другой что кидали с проекта на проект и пилил всякое говно, ну то есть такое. С другой стороны я не знаю насколько они профессионалы - те с кем разговаривал, может им просто нормальных проектов не давали. Хз.
>>1840673 В шапке почти каждый раз скриншоты из актуальной (последней) к этому моменту руби-конференции. Когда создавался тред, последний ивент с выложенными видео к этомум моменту был NoRuKo (который по сути мини-EuRuKo онлайн в этом коронавирусном году).
1. Архитектура: что за зверь и зачем её моделировать от @morozzzko 2. Как просрать свой out-source от @maslenkov_e 3. Нейминг и аффордансы. расскажет @cutalion митапчик в предверьи рубираши онлайн.
Чувствую себя тупым с shopify. Подскажите, пожалуйста.Делаю все по гайдам , подключаю гем shopify, создаю env с ключами и подключаю с dotenv. В самом shopify кидаю ссылку на ngrok. Но при установке приложения проблемы: 1. Если приложение кастомное - ошибка что нельзя по этой ссылке установить 2. Если паблик - должно быть проверено (review) shopify 3. Если установлю приложения не по ссылке, а в shopify, то первый раз по ссылке нормально грузит магазин, а потом ошибку токена выдаёт. Также раз получилось приложение по ссылке установить, но только в одному магазину, а другому выдавало первую ошибку Сори что сумбурно, скрины сделать не могу т.к электричество вырубились.
Начинал с руби, в итоге вкатился этой осенью в iOS(swift). На все про все ушло около года времени. Бекенд разработка не понравилась. Просто мысли в слух. Удачи вкатывальщикам.
>>1847502 eхал case через when через when через when через when через when через when через when через when через when через when через when через when через when через when ...
Был на этих конфах, очередные додики вещают ради собственного же самоподдува о насущной, уже просто до блевоты заебавшей брехни про архитектуру, про руби-хуюби, который был испорчен самим же создателем после тупого копирования сорбета, о существовании которого он КАК БУДТО БЫ не знал, спасибо блядь, япошка ебучая, окончательно убил все желание оставаться на этом некогда прикольном языке.
Что касательно работы, господи, вам самим то не смешно эту хуйню из треда в тред обсуждать? Тут даже местный ебик умудрился на рейт 15 баксов в час вкатиться, будучи там из какой-то сибирской залупы, о чем он любит каждый тред упоминать, привет тебе, марсианин. Если вы не знаете, как устроиться, то спросите здесь, он вам расскажет историю про кодгеймс, про алгоритмы, про постгрес, про жиес фреймворки и имиджборду на рельсе, которую написал, вот и вся цена вопроса о так называемом устройстве на работу. Впрочем, мне скорее не повезло с первой работой и приходилось заниматься какой-то вечной хуетой, от ревью конфига на синатре до перепиши за день 1000 строк кода, потому что наш мидл-долбоеб куда-то резко проебался в никуда. Так было три месяца, пока не попробовал голанг, мне понравилось и показалось еще легче, чем тот же самый руби, перешел на него. Так что если ты, вкатун, читаешь это, можешь смело учить руби, потому как тебе сейчас скорее всего абсолютно похуй что учить, отдельное спасибо ОПу (хую) за поддержание треда на плаву, а то бы без него про этот тред никто бы и не узнал.
мимокрок с рейтом $17/час, который сьебался на голанг
>>1851205 а разве конфы существуют не исключительно ради того, чтобы додики тешили своё ЧСВ? этакий хороший выпуск пара, иначе те кто поумнее будет конкурировать за управляющие должности, что никому не нужно пержу на руби три года, за все это время посмотрел только 1 конфу по руби, видимо, не зря)
Все билеты на воркшопы проданы, но мы приготовили много интересного для каждого рубиста на вечер этой пятницы. Пять докладов: фронтенд без фронтенда, асинхронная архитектура, Roda, алгебраические эффекты, как бороться со сложностью в Rails-проектах.
Всем привет. Ребят подскажите, как реализовать платную подписку?
Я так понимаю, что у mvc Users должно быть значение boolean с true и false, и значение integer, в котором нужно реализовать таймер (или когда ты дергаешь API платежек таймер там и так предоставят?)
По умолчанию, когда пользователь регистрируется, то значение boalean = false, а таймер = 0
Пользователь зарегался, увидел Paywall, который подключен к Yandex Kassa (хз, как ее подключить тоже) после того, как человек оплачивает, то запускается таймер со значением 30(на месяц подписка) и начинается обратный отсчет, а значение bolean меняется на true и тут мы делаем callback при котором, если bolean = true, то мы показываем страницу с контентом, если bolean = false, то показываем paywall
Так? Или как то иначе. И как это должно выглядить в целом, где почитать и что почитать по теме
>>1857608 Не работал с такой штукой, но вот про таймер, мне кажется, лишним. Может лучше поле дейттайм? И, когда пользователь хочет сделать что-то, что требует подписки, мы проверяем, а что в дейттайм поле этом. Если там слишком старо всё, то отсекаем пользователя, ему это действие запрещено, раз подписка проёбана. Алсо, не понял зачем булево поле. Точнее мысль понял, но, как по мне, оно лишнее.
>>1858069 >банить А можно сразу с базы дропать, хуле. В его посте про это речи не было. Сервисы с подписками будут выпрашивать все же, чтоб перепополнили, чтоб продолжить то или иное действие.
Привет, через 10 дней интервью на позицию вкатывальщика дата-аналитика. С рубями познакомился 4 дня назад, когда делал тестовое. Я просто ещё с универа неплохо знаю питон и задачу дали типичную для скриптовых яп (запарсить сайт). Сделал гугля аналоги питонячьих либ, структур данных итд, а потом тупо прошелся линтером по результату. Предупредил контору об этом, сказали, што пойдет. Так вот, можете посоветовать, как быстро придрочиться руби-вей подходам, а не городить, например, си-подобную лапшу? Ибо скорее всего на интервью придется вживую писать какие-то типовые задачки на алгоритмы на чистом руби. Книги по яп вообще не заходят, долго читать, плюс нужно ещё парралельно по sql надрочиться...
>>1861437 Отличие сишной лапшы от руби вея, на мой взгляд, во многом еще в том, что в руби дофига встроенных методов для типовых задач (сгрупировать значения хэша дикт из питона, отфильтровать массив и т.д.). Многие такие штуки я узнавал либо из документации типо такой (тут про стринг, но можно поковырять и другие классы): https://ruby-doc.org/core-2.6/String.html
Ну и просто пока сталкиваешься пишешь что-то на руби и с проблемами, гуглишь, узнаешь что-то новое (но и дурацких советов некоторых индусов можно подхватить, видел и такое). Но это любого языка касается, так-то.
>Зойчем? Чтоб слать запросы из кода в ООП стиле, а не курлом.
>Куда класть все эти классы? Мы на проекте такие штуки в lib клали. Главное под модуль какой-то впихни, типо там module YandexKassa, чтоб lib не засрался со временем.
Что за JSON в конце ты добавил я хз, выглядит как ответ яндекса. Можешь как фикстуру для тестов теперь юзать если не любишь VCR, я хз.
>>1862872 >контроллер? или модель Не модель поскольку ты ни определяешь структуры данных, ни пишешь эти данные куда-то Контроллер отвечает за взаимодействия сервера к клиенту, тут ты сам клиент Это сторонний сервис, как написал анон выше
>>1863336 Блин, уже 2 дня с ним ебусь, если я роутс.рб оставляю, как там
YandexKassaIntegration::Application.routes.draw do # ... scope '/yandex_kassa' do controller 'yandex_kassa', constraints: { subdomain: 'ssl' } do post :check post :aviso get :success get :fail post :fail # исключение: при неуспехе оплаты из кошелька Яндекс.Денег приходит запрос методом POST end end end
Rails.application.routes.draw do # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html scope '/yandex_kassa' do controller 'yandex_kassa', constraints: { subdomain: 'ssl' } do post :check post :aviso get :success get :fail post :fail # исключение: при неуспехе оплаты из кошелька Яндекс.Денег приходит запрос методом POST end end end
оно мне вот что выдает
/home/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.4/lib/action_dispatch/routing/mapper.rb:900:in `controller': wrong number of arguments (given 2, expected 1) (ArgumentError)
Я тупица, с api ни разу не работал, для меня это какой то кошмар и темный лес
Но я просто не понимаю куда это написать, это модель или что, а если это не модель и не контроллер, какие должны быть контроллеры с моделью тогда, как туда вьюху подкрутить и тд. Я просто не понимаю. Api работает без моделей и контроллеров? А как тогда в базу значения передать.
Это реально пиздец какой то.
Я просто дикий джун в этих ваших рельсах, вообще отдуплить не могу че делать с этими api.
Хотя некоторые api я таки смог прикрутить, ибо там у гемов была полная документация. Но вот апи яндекс кассы мне не дается, просто сижу блять и охуеваю, как в этом можно разбираться вообще Пиздец вы пацаны молодцы конечно, если вам удается понять эту хуйню
>>1863349 Ну, там же выше расписали, что у тебя должен быть набор plain ruby классов, где ты через faraday (или любое любой похожий гем) отправляешь запросы на свою яндекс кассу. Получил ответ - обработал (записал в базу че те там надо). Мы ж не знаем, что там за логика в твоем конкретно приложении, чтоб дать ответ, что ты с базой должен делать на разные ответы яндекс кассы. Если у тебя, например, есть модель заказов Order и, скажем, у нее есть статусы типо in_progress, wait_for_pay, paid, delivered, то ты, например, пилишь эндпоинт на оплату заказа пользователем. В нем будешь вызывать все эти классы, которые шлют запросы на яндекс кассу. Если яндекс касса вернула success на запрос оплаты, то на уровне приложения ты можешь, например, поменять статус данного заказа с wait_for_pay на paid. Просто пример из головы, надеюсь идею ты понял.
Гемчики по ссылкам выше можешь использовать просто как пример. Поройся в их коде и глянь, как они структурно построены, как запросы уходят, как апи ключи передаются и так далее.
>>1869945 Так если ты вкатываешься в айти, подразумивается что большую часть этой карты ты уже знаешь. Все эти компоненты не меняются от ЯП, выучив что-то одно дальше будет куда проще
>>1869945 интересно что за ебанашки делают подобные пикчи? вангую что-то типа невротических додиков которые 3 года не могут вкатиться, но которым должно быть все по полочкам сука, да больше половины этой хуеты выветрится из головы сразу после собеса лично я например пилил бизнес логику на POROs в течение больше полугода и нахуй мне не всралось больше половины этой инфы конечно если ты краб на галере ситуация может быть другая, но я как продакт-господин ссу им в ротешник, так что похуй
>>1870169 Я такие не делаю, но тоже додик, не могу вкатиться > 3 года. Хотя я по сути и не пытался искать работу. В основном из-за того что прыгаю с одного на другое. Или вообще забиваю на несколько месяцев. Потом может появиться какая-то идея и все по новой. Чувствую себя говном.
Как вкатиться? Точно решил, повсил резюме. В тг группах не писал. Было одно предложение с hh, как я понял интервью, но мне не нравится чем они занимаются и там скорее всего тестовое задание на пару недель. Хотя думаю выбирать я сейчас не должен.
>>1870383 пиздишь в резюме с три короба, на собесе делаешь пук-среньк, пристыдненный приходишь домой и учишь то, на чем обосрался повторяешь этот цикл пока не возьмут
Судя по всему нужно вкатываться в жабу. Тк там и вакансии почти без требований и на долгосрок это актуально.
А если делать свои проектики, то и рубей достаточно.
Пришло пару сообщений. В одном из них попросили заполнить форму и все. Возможно я дофига попросил, но по идее они сами могут сделать контр-предложение.
Привет, аноны. Не с кем обсудить/посоветоваться, вот пришел к вам.
Меняю работу короче. Так-то на руби уже давно пишу и опыт есть. А сейчас предложили пойти на говно. И короче есть вариант пойти в рубишный проект или пойти на говняшный. По деньгам одно и то же примерно. Когда предложили, я сначала воодушевился, нихуя себе, возможность попробовать другой стек. А потом подумал и усомнился.
Во-первых, гошка не очень-то приятный язык и на нем было бы круто писать места которые нужно заоптимизировать, но там пишут на нем все, в том числе бизнес-логику и мне кажется что это нихуя не прикольно. Во-вторых, если абстрагироваться от хайпа и дроча, то не такой уж это и общий и востребованный язык и вряд ли альтернатива js/питону/руби. Еще такое субъективное ощущение что о гошке всегда говорят в каком-то контексте "переписывания", а когда встречаешь доклад про архитектуру/проектирование (реально кайфовое и самое дорогое на рынке), то это старая добрая пыхоплеяда. Может ошибюсь. В-третьих, учитывая вышесказанное, я понял, что совсем не хочу расставаться с руби. Он прикольный и чтобы там не говорили про умирание, свою нишу занимает прочно. Может в рашке и проседает, но тем не менее. А если сейчас соскочу на го то пропущу и 6ю рельсу и 3ю версию (а это реально новый виток эволюции), то есть отстану от рынка. Компенсирует ли это отставание экспертиза в го и то дилетантство, которое называют микросервисами - ХЗ. В-четвертых, как я понял, в гошку вкатиться достаточно легко. Она не завязана на какую-то экосистему. В рельсо-рубях же ценно не только и не столько знание языка, сколько погружение в экосистему. (Субъективное опять же ощущение)
Короче с одной стороны новый стек, нагрузки и весь этот микро-бред + контора солидная и соответственно строчка в резюме. С другой неиллюзорная вероятность уронить свой уровень в руби и если решу вернуться, то остаться без нормальной з/п.
>>1871890 Лол ты это я, сам 1.5года фронт реакт/редакс и куча приблуд, хочу переехать в рельсу, сейчас сижу и буду искать джуна/мидла вакансию, сам не знаю что делать, сижу ковыряю лениво доки рельсовые и все
>>1871912 Ну, анон, а тебе зачем в рельсу? Тебе тогда лучше на ноду смотреть, у тебя выбор однозначный. Это раньше js на беке был сначала невозможной, потом сомнительной историей. Сейчас уже используют и проекты есть и это реальный конкурент.
>>1871916 >>1871967 Почему так считаете? Чет заставили задуматься, спросил себя что я хочу и оказалось просто получать килотоны и сидеть дома на удаленке, сходил на хх, на ноде даже больше удаленки, по деньгам примерно также если сортировать по вилке, надо еще раз обдумать чтоли свое решение с учетом ваших мнений, ох...
>>1871996 Потому что нода и его фреймворки современнее и актуальнее, и будут только расти. А ты уже знаешь js, значит тебе будет проще вкатиться гораздо, а зачем тебе шило на мыло менять с реакта на рейлс - не очень понятная история
>>1872238 Понял, спасибо за советы, надумал что буду докатывать свою жопу в ноду (express/koa/nest/hapi), а рельсу уже потом дотыкаю для себя, чем-то она меня манит, коммунити чтоли, а то в жс треде одни токсичные чсв уебаны >>1872265 Даже не думал об этой мерзости, не пробовал нативную разработку, но баловался с Expo/React Native и как-то ахуевал от мобильной разработки, да знаю что нативная отличается от кросс-платформенной, но не горел желанием даже смотреть в эту сторону
>>1872327 Ну React Native и подобные это мерзость. Тебе видимо больше нравится бекенд разрабатывать, чем фронтенд. Мне наоборот больше gui программировать нравится.
>>1872327 Здесь коммуните еще хуже, оч мелкое, оч чсвшное, токсичное душное , а чсв такое раздутое, что пиздец, помощи особо не жди, будем кидать ссылки на доки максимум, ибо сами не знают. Самое лучшее коммуните в шарпистов, там за тебя и код напишут все кому не лень, и подскажут все, что нужно
Зачем писать вот такое в описании вакансии? Это же наоборот отталкивает. - Высокая ответственность за надлежащее исполнение задач; - Высокий темп работы;
За пару недель ожидания, я понял что на hh лучше откликаться самому(сам этого еще не делал) Наверно это связано с тем что доступ к базе стоит дорого.
На мойкруг приходило пару вопросов типа еще ищете..., предлагаю..., но странно что мало кто сразу кидает ссылку на вакансию.
И еще, я не понимаю что делать: выбирать из небольшого количества предложынных вариантов(например, сайт сексшопа) или искать/ждать чего-то большего?
Нахуя придумали rbs с типами когда есть сорбет? Чтобы подсасывать говногигантам с огромным легаси? А хули им насасывать, если конкаренси и зайлоад решения не завезли все равно?
>>1877453 Матц прикинулся шлангом и сделал вид, что не знает про сорбет. Гораздо больше бы подсосал шопифаю (или блять сеилсфорсу, я их путаю), если бы хвалил их сорбет, а в третью версию что-то более нужное завез (не ебу что, мне все норм, я даже не на 2.7)
>>1818039 Работал в АТК в ДС. От отдела к отделу отличается, но в целом ебаная галера. Постоянный раш, переработки, погонщики вечно пушат, все должно было быть сделано вчера. Аналитики нет, задачи додумываешь сам. Для полноты картины, есть пару бонусов. Если задержался после 23:00, можешь взять такси за счет компании. Выходишь в выходные - можешь заказать от компании еды в сушивоке. Оплачиваться это отдельно естественно не будет.
Для джуна норм, берут почти всех, можно неплохо прокачаться. В целом текучка большая, но есть динозавры по 8-10 лет работают.
Блять, ребят. Как сделать телеграм бота, который отвечает ReplayKeyboard'ом постоянно?
Telegram::Bot::Client.run(token) do |bot| bot.listen do |message| case message when Telegram::Bot::Types::CallbackQuery if message.data == 'touch' bot.api.send_message(chat_id: message.from.id, text: "Don't touch me!") end
markup = Telegram::Bot::Types::InlineKeyboardMarkup.new(inline_keyboard: kb) bot.api.send_message(chat_id: message.chat.id, text: 'Sorry to see you go :(', reply_markup: markup) when '/stop' bot.api.send_message(chat_id: message.chat.id, text: "Bye, #{message.from.first_name}") end end end
Как мне в if message.data == "touch" вызвать еще одну клавиатуру, уже с другим текстом и другой датой?
>>1882011 >Дальше сделал wq или просто q достаточно? q - сохраняет и выходит, его достаточно. Сам юзаю wq, хуй пойми чего.
>Где-то видел что переименование сразу работало. Не, так надо. На первом экране ты просто раздаешь команды что делать ис каким коммитом. А потом уже он сам спросит недостающую инфу на других экранах. если тебе несколько коммитов переименовать, то для каждого и переспросит. СДелано на тот случай, если у коммита несколько коммит месседжей и там целая поэма расписана в них
>>1882406 Ну, в блоке when, который на пятой строке начинается, вообще нет упоминаний инлайновой клавиатуры, в огтличии от следующего when'a. Вот сделай такое же в первом when'e
Да кто куда хочет. Просто рил обидно, у нас на мухосранич одна-две конторы на рубине, школота заходит, а потом ссытся что технологии не релевантны и валят.
Смотрите какая штука: Есть приложение-клиент Есть простой api бэк без всяких authentication/authorization итд
Нужно сделать так чтобы пользователь мог зайти на сайт, сделать покупку/подписку, получить токен/ключ/... и вставить его куда-то в приложение.
Дальше бы этот ключ передавался например как authorization header или вообще голым param(так можно?)
Как это сделать? Stripe недоступен, я слышал про варианты его завести, но это гемор
Какие есть альтернативы? Пока что нашел paddle, но там что-то непонятно. Я думал что можно после оплаты сделать redirect где будут какие-то params и на этом redirecte просто высвечивать на странице этот самый токен.
>>1886326 >Дальше бы этот ключ передавался например как authorization header или вообще голым param(так можно?) Зачем? Уточни, пожалуйста, а то у тебя ж по идее регистрации нет, как ты пишешь.
>Как это сделать? Что сделать-то? Передавать с клиента этот ключ? Ну, просто передаешь с клиента... Либо квери параметрами (которые в урле после ? знака), либо в теле запросов через JSON (в контроллере придет всё это добро всё равно в params)
>>1886371 > Зачем? Уточни, пожалуйста, а то у тебя ж по идее регистрации нет, как ты пишешь. Тогда прогу/клиент будет использовать кто попало. Суть в том чтобы любой мог скачать прогу, но чтобы брать данные с api, нужно предоставить ключ или что-то в этом духе. saas хуле
Я понял что все же придется делать регистрацию, либо просто таблицу где будет ассоциацию ключей с email.
Аноны, кто пользуется вс кодом, подскажите: есть ли плагин, которому я через Ctrl+P скармливаю что-то типо Api::V1::HuitasController, а он мне находит файл app/controllers/api/v1/huitas_controller.rb ?
Я знаю, что ему можно скормить просто HuitasController и он найдет файл huitas_controller, но может есть какой-то экстеншн именно на то, чтоб вс код понимал, что :: - просто вложенность
Есть я, года 3-4 опыта у меня примерно в руби. Хочу зп в баксах и зарубежного работодателя, притом что сверхординарных каких-то навыков и желания рвать жопу на работе у меня нет. Усиленно учу разговорный английский для будущих интервью и т.д., пишу-читаю уже на достаточно хорошем уровне.
Вопросы такие:
1) Какой бы совет для прокачки языка анон дал? Мок интервью сервисы, ещё что-то?
2) Как научиться торговаться по зарплате при онбоардинге на новую работу? Как повышать зарплату на имеющемся месте работы? Такая больная тема, ужас, я бы даже заплатил — все равно в мессенджере такие раговоры ведутся, чтобы за меня максимум выбили или говорили что для этого писать
3) Если меня интересует релокейт не в США, то не будет ли лучше мне сейчас усиленно учить Go? По сравнению с руби мне он совсем не нравится, но пет проект сделал, наверное жить можно.
4) Где находить работодателя или почасовой рейт, куда копать с нуля? Фрилансом не занимался никогда. На апворке делать мелочные задачи забесплатно и набивать отзывы? Или как сейчас?
>>1887594 1) Мне помог совет "окружи себя языком, который учишь". Я знаю, что это, вроде как, даже мем сейчас, но это правда работает. Вот нравится тебе читать статьи про, скажем, обезьян. Читай их на английском. 2) Можешь сам просить оффер, мол, присылайте и обсудим. Звучит ЧСВшно, но если они тебя оценивают, скажем, на 2к (про себя, тебе не выслали офер), а ты такой 3к попросил, то хуй его знает.
За остальное не знаю что сказать, работаю на украинской галере я с Украины, в моем городе не шибкий спрос на руби, но есть куда идти, если с этой уйду или удаленка, которой стало люто много
Ну че, посоны, готовы к модерн вебу без джяваскрипт-фреймворков?
>DHH @dhh · Dec 22 >Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This includes our brand-new Turbo framework and pairs with Stimulus 2.0 >https://hotwire.dev
>>1889264 >>Hotwire aka NEW MAGIC is finally here: An alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. это, прямо как в старом добром web 1.0 ?
сука, как меня бесит чат в телеге рубишный. Пиздят о хуйне на 2к человек, лишь бы пездануть что-то. Заходишь, а там что угодно, кроме рубей. Политика, сука, зум, спейс икс. Настолько все хорошо в рубях, что, кроме хуеты всякой, и обсудить-то и нечего
>>1889264 >modern web applications without using much JavaScript by sending HTML instead of JSON over the wire Только через 20 лет прозрели, пиздец. В Фениксе только спустя 5 лет додумались передавать js код по вебсокетам. Чую мощные подрывы жоп всяких дебилов, которые будут кукарекать что не нужно.
DHH ебнулся со своими жсами в рельсе. У нас 90% проектов - апи на рельсе. Нахуя мне все эти ваиры, стимулусы и прочий кал. Что не новость -- завезли больше жс в рельсу. Пиздануться. На том видео, где он с Матцом, постоянно говорит про запуск миграций из UI (очень блять полезно) и СКАФФОЛДЫ.
Как в базу накатывать картинки и видосы? А то получается, что во всех уроках, которые чекают накатывают только стринг и флоат, и че с этой хуйней делать?
>Horizontal Sharding из коробки >Multi-DB Improvements >Strict Loading >Destroy Associations in Background >Performance Improvements >New Active Record and Action View capabilities >Bug Fixes
>>1839764 >Вкатились? Уже лет 6 как. Я, кстати, апнулся до $6k в месяц после налогов. Всё так же тупо сениор, тупо набираю код 0 ответственности, руковожу 0 людьми и т.д. Мечтаю когда-нибудь стать тех лидом / архитектом или вкатиться в бизнес скорее не связанный с АйТи, так что мне на самом деле в другой тред или на другую доску
>>1851205 >до блевоты заебавшей брехни про архитектуру, про руби-хуюби >мимокрок с рейтом $17/час, который сьебался на голанг ДРУЖИЩЕ, тебе бы не помешало послушать про архитектуру или хотя бы про руби-хуюби, чтобы со своих сцаных $17/час апнуться ХОТЯ БЫ до тридцатки. Для этого не обязательно слушать конфы, можно просто навернуть книг, но заметь, докладчики часто сами палят, что почитать по тем же DDD, CQRS, event-driven design, event sourcing (или ещё какой хайповой теме, за которую готовы больше платить).
>>1852104 >хороший выпуск пара, иначе те кто поумнее будет конкурировать за управляющие должности, что никому не нужно Не думал, что рост есть не только по управляющим должностям, но и по техническим? Глянь кем и где работают всякие топ-спикеры с конф, представь сколько получают и потеряй сознание
>>1877779>>1878560 >Работал в АТК в ДС Работал когда-то в конкуретне AT Consulting — Прогресс-Софт (ныне СофтТелематика, если не ошибаюсь). >Если задержался после 23:00, можешь взять такси за счет компании Было так же, такси даже не эконом, а КОМФОРТ >Выходишь в выходные - можешь заказать от компании еды в сушивоке Было так же >Переработки не оплачиваются По будням не оплачиваются. За выходной день платили по тарифу X2
>>1890699 >Пиздят о хуйне на 2к человек, лишь бы пездануть что-то Да тож заметил, поэтому читаю только часть руби-чатов, где близко к теме.
мимо долларовый удалёнщик $6k в месяц после налогов, ≈6 лет опыта работы на руби
>>1894135 Ты планируешь перекатываться на другой стек? Что вообще думаешь о перспективах разных направлений? Как к мобильной разработке относишься? В частности к iOS?
>>1894762>>1894773 Не слушай джавадурачка, если тебе нужен прикладной язык программирования, с которым можно найти работу и при этом не выблевать свои внутренности от говна 20-летней давности, которое нужно поддерживать, то руби самое то или питон или жопаскрипт, но с последним можно выблевать внутренности и от кода годовой давности. А уж с Си начинать это вообще шиза, хули не с ассемблера сразу?
>>1894802 Если ты можешь поднять сервер на рельсах, который что-то делает, задеплоить его куда-то и поддерживать, то уже все основные навыки есть, остальное зависит от контекста самого места работы и твоего опыта. Но если ты ньюфаг, то смысла дрочить что-то специализированное все равно нет, только самые азы и идти работать джуном как только кто-то тебя согласится взять.
почему? наоборот же, я из кабанчика перекатился в it, жалко навыков не хватает на разработку тех или иных решений, но постепенно решаю эту проблему, а так идей, что разрабатывать и кому продавать - полно, б2б рынок в россии пустой
>>1894822 Любое легаси это не прогулка в парке, но если выбирать между легаси в динамическом языке с манкипатчингом всего и вся и одним фреймворком, структура которого узнается с первого взгляда на директорию проекта, и ебаной джавой, то ты поехавший, если выберешь второе.
>>1895005 Где же вы эти сотки получаете, эх. Я вообще ни одной вакансии не могу найти, которая не требовала бы n лет опыта загодя. А все стажеры/джуны по руби требуются либо в ДС, либо на Украине. Хочу прогать на руби, очень нравится язык, но в итоге дрочу джаву. Нахуй так жить.
>>1897644 has_secure_password в модели юзера и обновлении куки с сессией - это буквально 20 строк кода, тогда как devise - это огромный монстр со своим DSL, в котором очень сложно сделать шаг-влево или вправо, не перепахав весь гугл. Использовать его стоит только если он из коробки на 100% подходит под твои требования и ты знаешь, что эти требования не поменяются в ближайшем времени. pundit я бы вообще трогать не стал, потому что все готовые решения для авторизации обычно полное говно, плюс одного главного решения среди них нет, везде используется абсолютно разное, в отличие от devise, который монополист и который можно освоить хотя бы из-за этого. Так что: 1) Если ты ньюфаг и просто неспешно учишься для интереса, пиши свое, до devise всегда доберешься. 2) Если тебе надо завтра устраиваться на работу, то пиши через devise, он к сожалению используется почти везде. 3) Если ты на работе пишешь реальный проект и тебя заставили первый раз в жизни делать авторизацию, то либо бьешь по ебалу того, кто заставил и объясняешь ситуацию, либо берешь devise.
>>1897466 >Че мелочиться, сразу в текстовый файл пиши. Думаешь, это троллинг? Нет, если хочешь выжать из рельсы какой-то вменяемый перформанс - придется строить приложение вокруг кэша.
>>1897685 Что ты там делаешь на рельсах, если тебе современных серверных мощностей и лоад балансера в крайнем случае не хватает для перформанса? Протеины вычислять собрался? В 99% случаев использование кеша говорит только о том, что ты нахуевертил неоптимизированного говнокода.
>>1897693 Сводные таблицы, статистика, обогащение данных из разных источников, аналитические отчеты по 100к позициям, кароче, обычная работа с данными, можно оптимизировать всё это до посинения, но активрекорд на каждый такой отчет уходит в глубокие раздумья, кэширование и бэкграунд-таски, по-сути, единственный способ всё это выдавать за вменяемое время.
>>1897709 >но активрекорд на каждый такой отчет уходит в глубокие раздумья Это и называется "неоптимизированный говнокод", потому что если ты упираешься в перформанс какого-нибудь выдроченного десятилетиями на оптимизацию постгреса(!), то я боюсь представить, что там у тебя в коде и какие там монструозные джойны, которые надо было зарефакторить сто лет назад. Я бы еще понял, если бы ты уперся в перформанс самих рельс, но когда ты говоришь "БД недостаточно оптимизированна для моих нужд", то тут явно проблема не в рельсах и не в БД.
>>1897745 Активрекорд в принципе не может "уходить в глубокие раздумья", в раздумья уходит твой хуево сформированный запрос к хуево сформированной базе, хуевость которых является только твоей виной и ничьей другой. Если ты пытаешься сказать "а вот если бы я руками sql-запрос формировал, то он бы точно не висел", то во-первых это чушь и вранье, а во-вторых активрекорд не запрещает тебе инжектить сырой sql.
>>1897752 >хуево сформированный запрос >хуево сформированной базе >не запрещает тебе инжектить сырой sql Чтобы что? Сырыми вставками вывести хуёвость всего приложения на недостижимо новый уровень? И при этом всё равно многократно проиграть варианту, который достает активрекорд-объекты из кэша.
>>1898203 Интересуюсь, тк испытываю трудности преодоления 4к$ - все офферы что я пока получал в это сегменте это или через ИП или серые зарплаты и не хочется брать на себя такие риски
>>1899586 Без нагрузки сложно сказать, смотря что за логика, какое количество пользователей, какие объемы данных. У меня крутится плейграунд на аналогичной впске (1 гб, 1 ядро) - рейлс, редис, сайдкик и впн, работает нормально, разве что rabbitmq сервер оказался довольно прожорливым на проц.
>>1899804 Ну допустим, если помечтать: 10-20 пользователей, каждый из которых делает 12-20 запросов каждые 5 секунд.
Сайдкик делает запрос на какой-то 3rd party сайт. Иногда данные могут прийти и через пару секунд, а иногда воркер может повисеть и минуту+.
Если нужная запись недавно была обновлена и еще не прошло n минут, то он просто возвращает ее из редиса. А если уже прошло n минут, то он возвращает текущую запись и в то же время делает запрос через воркер.
Так же висит vpn, какой-то скриптик и пара статических сайтиков с околонулевой посещаемостью. ----
И еще вопрос по поводу jwt как достать email если токен expired в пикрил? Единственная идея которая меня посетила это просто проверять сколько осталось до истечения в begin и если уже мало времени, то делать какие-то действия
>>1899834 Зачем тебе доставать из истекшего токена что-то? Если он истек, то пользоваться им ты не должен, точка. У тебя тут явно какая-то логика, которая должна быть не в токене, а в другом месте.
>>1899961 Я как раз хотел доставать email из истекшего токена чтобы обновить его когда он expired.
Вот вся логика:
Чел логинится через браузер. Оформляет подписку. Делается redirect на какой-то route который делает запрос для проверки прошла ли оплата. Если да - сохраняем токен в db.
Чел заходит в приложение. Вводит email/pass - получает токен(который берется из db) Через какое-то время токен истекает.
При очередном запросе приложение получает ответ что token is expired. Дальше приложение пытается получить новый токен отправив сохраненные email/pass. Здесь придется связываться с сервисом который принимал оплату чтобы проверить продлена ли подписка. Это может занять время... и мне кажется часто вызывать его плохо.
>>1900044 >Дальше приложение пытается получить новый токен отправив сохраненные email/pass. Пароль хранить на клиенте - это сразу нахуй. Либо отдавай приложению refresh токен, по которому оно сможет получить новый access токен, либо вообще убирай ссаные токены и делай нормальную сервер-сайд сессию, которую сервер будет продлевать автоматически при активности пользователя.
>>1899497 Ну я тоже когда-то 20к рублей получал, ниче, все мы там были. Главное развиваться и искать вызовы, не застревать в плохих компаниях и проектах и все будет
>>1900044 Я не понимаю. Токен -то признак оплаты? Или токен авторизации? Это звучит как разные вещи. 1 авторизуйся 2 проверь оплачено ли в БД 3 проверь оплачено ли в удаленном сервисе
>>1900114 В какой-то степени да. И так нет необходимости дергать бд. Так бы можно было при каждом запросе находить пользователя по email'u и если нужно ограничивать его.
>>1900114 Блэт, вот я почитал еще про jwt и это не ок вообще что-то проверять в дб. Еще появляется проблема что токен будут использовать несколько людей.
>>1901738 Токен - это сессия. Сессий у одного пользователя может быть сколько угодно и каждая будет со своим токеном. Так что хуй знает, что ты там нахуевертил, что у тебя один токен на одного пользователя, но нормальным флоу авторизации это не назовешь.
>>1901738 Ты умеешь программировать на руби, это уже хорошо, но извини,этого недостаточно и в голове каша. Необходимо осознать что ты имеешь 3 вещи в одном контексте и это следует разделить 1. аутентификация Проверка того валидна ли присланная пара логин+пароль. Опции: 1.1 присланная пара логин+пароль не найдена. Самый инкапсулированный способ 1.2 пользователь не найден. Ты даёшь информацию о том, что в системе такой пользователь не зарегистрирован, что по себе уже является информацией. 1.3 пользователь найден, но пароль неверен. Аналогично предыдущем пункту. Результатом аутентификации может являться сообщение об ошибке или токен Аля сессия. Этот токен говорит «данный чувак ранее прислал нам логин и пароль и они верны». В контексте аутентификации следует подумать о сессиях (конкретных сеансах работы с системой). Как долго ты считаешь личность пользователя установленной с момента последней отправки логина+пароля? (Ваша сессия истекла, пожалуйста введите логин+пароль чтобы продолжить) Разрешаешь ли ты заходить пользователю с нескольких устройств одновременно? (Вы зашли на сайт с устройства iPhone) Ограничено ли как-то количество этих одновременных заходов? (Вы зашли на сайт с устройства iPhone, также вы одновременно зашли с браузера chrome в Дагестане) Можно ли «выйти из аккаунта»? Можно ли сидя на телефоне «выйти из аккаунта» на браузере chrome в Дагестане? Можно ли сидя на айфоне «выйти отовсюду?»? Можно ли сидя на айфоне «выйти отовсюду, включая этот iPhone»? 2. Авторизация После того как мы успешно установили личность реквестера (authentication) следует понять а имеет ли данный гражданин/устройство права посещать/изменять пзапрашмваемый ресурс. Авторизует ли система это действие? (разрешает? ли система делать это?) Результатом авторизации может являться сообщение об ошибке или собственно доступ к материалам. Ты наверное не хочешь при каждом запросе аутентифицированного пользователя лазить во внешний сервис и спрашивать его разрешено ли пользователю иметь дело с указанным ресурсом? 2.1 В случае, если пользователю «можно», то ты можешь придумать хранить резолюцию сервиса по доступу пользователя локально - как бы закэшировать его ответ. Это будет access токен. И тут нужно быть внимательным и ответить на некоторые вопросы: Что со сроком действия этой резолюции? Что произойдёт, если в 23:59 сервис разрешал доступ, а в 00:15 уже не разрешает? 2.2 в случае, если нельзя. Как ответить пользователю об этом? Что будет, если пользователь запросит эту информацию через 2 секунды? Что, если в 23:59 было нельзя, а в 00:15 уже можно?
Вот так будет нормально?: Когда чел делает подписку - вызывается хук и мы выдаем refresh token, который истекает в next_bill_date. refresh_token сохраням в дб.
Дальше чел логинится в приложении - получает access_token и refresh_token. access_token истекает например каждые 1-2 часа.
Чтобы его обновить он отправляет запрос на какой-то /refresh роут. Тут вопрос: нормльно ли искать пользователя по refresh_token'у. Можно конечно записать туда email. Не знаю как лучше. Если юзер найден - отправляем access_token.
В результате, если хука продления не было, то дата в refresh_token'e не обновится. И пользователь сможет его обновлять максим до истечения подписки даже если отменит ее.
>>1903003 Просто сделай ебаную сервер сайд сессию, то есть модель Session{uuid, user_id, expires_at}, храни ее uuid в зашифрованной куке(session в контроллере), и продлевай expires_at на сервере как угодно, хоть автоматически при любом запросе, хоть вручную на /refresh роуте
>>1903022 Ну только в каком-нибудь редисе. То что ты описал требует постоянного обращения к бд. С jwt и refresh_token'ом это обращение бы происходило раз в час.
>>1903197 >То что ты описал требует постоянного обращения к бд И что? если ты пытаешься в своем туду листе оптимизировать получение одной записи из базы по индексированному ключу, то просто иди нахуй >С jwt и refresh_token'ом это обращение бы происходило раз в час. Только если ты поехавший и не достаешь пользователя из базы, когда тебе нужно с этим пользователем работать, а полностью доверяешь актуальности и полноте информации в этом jwt.
>>1903212 Ебать ты у мамы хайлоадер. Во-первых, эти цифры потянет даже самый обоссаный десятидолларовый сервер, во-вторых, когда дело дойдет до оптимизаций(скорее всего не дойдет), то выборка текущей сессии из базы будет там на самом последнем месте по приоритету и нагрузке, а ты уже хочешь костылить десять токенов и кешировать их в редисе нахуй, чтобы избежать 0.1мс запроса в базу. Более классического примера предварительной и неквалифицированной оптимизации не придумаешь.
>>1903224 >десятидолларовый сервер Нихуя. А может быть я пока не хочу вообще вкладываться. И зачем нужны такие ресурсы если я не знаю расклада событий.
Сейчас у меня 990 свободной ram и одноядерный проц в просетое. Раз ты так раздаешь советы, то расскажи сколько минимум нужно ресурсов на все это дело.
>>1903238 Речь не о том, нужны тебе ресурсы или нет, а о том, что ты хочешь сделать флоу авторизации в 10 раз сложнее, чем он должен быть под предлогом "не хочу лишнего запроса в базу", что является полнейшей шизой. >расскажи сколько минимум нужно ресурсов на все это дело. На какое дело? Я не ебу, что твой сервер делает в этих 20 запросах.
>>1903242 >что твой сервер делает Однотипные запросы к другому сервису. Типа прослойка-кэш. Но из-за большого их количества, возможны таймауты, но не факт.
>>1787634 (OP) Скажем, я хочу забомбить свой маленький маняме онлайн-кинотеатр, но что-то в гугле не нахожу гайдиков. Как вообще выплёвывать видеопоток? Какой-то опенсорс-софтиной?
Сап Рубаны, кто-нибудь может поделиться ссылкой на тесты или задачи по руби, я учусь, и хочу порешать что-нибудь для закрепления материала. Мне тут как-то скидывали один сайт, но я его успешно проебал.
Вопрос наверное глупый, но я все же его задам. Реально ли сделать следующее: Запускаем в докере приложение. По нажатию нужной кнопки на вьюхе- запускаем rspec. Выводим на вьюху результат.
https://hh.ru/vacancy/41127655 А когда пишут, что джуниор-разработчик на РоР должен знать HTML, CSS и Javascript, он реально должен их ЗНАТЬ, или достаточно уметь читать со словарём? Я самообучаюсь тут, модели нравятся, контроллеры нравятся, а на вьюхах пиздец как буксую; если застреваю на одной точке где-то на три часа - так именно из-за чего-то во вьюхах. Я понимаю, что базовое знание должно быть, но они ж не ожидают, что им джун, учивший руби, будет придумывать фронтэнд?
Если я со стаковерфлоу и гуглом сверстаю кое-как работающий и не сильно вырвиглазный сайт с бэкэндом на рельсе, этого должно хватить для начала? Ненавижу, блядь, джаваскрипт, почему все языки не могут быть пиздатыми как руби.
Когда я начинал знакомство с руби. Везде читал, что "руби сообщество добродушное во всем помогут". Зашел в чат телеги спросил мол насколько нужны познания в английском, и нужны ли они вообще. Так накинулись как собаки. Хтьфу. Токсичные уроды, а не сообщество. Так что кто только начинает учить руби, запомните. НИКТО ВАМ ВОТ ТАК ПРОСТО НЕ ПОМОЖЕТ. Ищите все сами. Ройте интернет в поисках ответа. Не ждите, что вам подскажут. Всегда найдется дурачок, который напишет "твой код фуфло, а ты говно". Такие вот эти "добродушные" рубисты.
>>1916261 Более безмозглого вопроса тяжело себе представить, и ты его потащил в комунити. Потратил бы на него хоть пять минут своего времени, заметил бы, что переводов нет, что даже русскоязычные блоги пишут свои заметки на английском, вопрос бы ушел сам собой.
>>1915792 имхо, на 100% зависит от работодателя, от его добросовестности, может быть как обычная работа, даже плюсов больше, чем минусов, так и полный пиздец хуже рабства, 50/50
1) Называешь модель BookAuthor - красиво. В базе записано book_authors - некрасиво.
2) Называешь модель BooksAuthor - уёбищно, зато таблица books_authors, что понятнее.
Вроде такая хуйня, но чет с коллегой зацепились и не ебем, как должна называться. Нашел статьи, где пишут, что надо как в первом пункте. Нашел и те, где пишут, что надо как во втором.
Сам рубач, с пхп кто-нибудь беперекатывался? Поглядел на рельсы один в один лара, да и синтаксис простой, практически все тоже самое что и в пыхе, только чуток по-другому. Заебал этот рынок пхп одно говно на цмс, либо магазины на ларе, а на нормальные проекты всем синьеров подавай. Я почти год проработал, но как-то заебали эти магазинчики и всякие Битриксы и думаю съедать куда-нибудь. Был у кого-то опыт переката, оно того стоило или лучше не пробовать?
Сап рубаны, посоветуйте какие-нибудь сайты с задачами по руби для ньюфага? Кодварс пока сложновато даётся. Хочется попрактиковать знания, а где не знаю.
Здравствуйте. Мне очень понравилось веб разработка Руби на Рельсах. Скажите пожалуйста каковы мои шансы стать успешным в этом направлении? Немного о себе: стаж работы в железнодорожной отрасли 7 лет. Образование техническое, техник-путеец. Рельсы, рельсошпальная решетка, чистка откосов, покраска пикетных столбов делаются почти закрытыми глазами. В принципе могу работать в бригадах по замене стрелочных переводов, на различных станциях. Через полгода стану бригадиром у себя на участке. Но вот зарплата колосально маленькая. Я слышал местные железнонодорожники получают от 30 долларов в час. Поэтому решил тоже уйти в Руби на Рельсах. Спасибо всем за ответы.
>>1935965 Здравствуй, братишка. Искренний, чистый как обсидиан совет, иди в армию, на контрактную службу. Там, блядь, фантастически охуенно: пиздатое форменное обмундирование, льготный кредит на бетонометры, денежное довольствие плюс пайковые, делать не нужно вообще нихуя, в сравнении с железнодорожной отраслью.
>>1935487 Крупные, но это зарубежные. Я забыл добавить, я имел ввиду наши, российские компании по типу яндекс, mail, а также банковский сектор: сбер, альфа, тинькофф...
>>1942192 Заняты работой мы, очевидно же. С ног до головы закидали тасками, некогда в треде чатиться, время - деньги, а эти питонопыхи все вкатываются да вкатываются, обсуждают сотни постов темы уровня "что за IndentationError??????", наплыв школьников, все дела.
Зимний митап Saint P Ruby Community 2021! ДА, И СТРИМ И ЗАПИСЬ БУДУТ. 25 февраля на площадке Купибилета, Стартуем, как обычно в 19.00.
Докладчики и доклады: 1. Ну собственно Шаматов. Я расскажу про Dry CLI: проект, над которым я периодически работаю. 2. Юлиан Покровский расскажет про Алгоритмы и структуры данных для рельсовика. 3. Владимир Дементьев настолько хорош, что у него есть 4 доклада, и он шафлом выберет тот, который расскажет нам. 4. Михаил Грачев расскажет про Линтеры, которые на страже порядка
4 марта в 17:00 эксперты из компании UMBRELLIO и MPI поделятся своим практическим опытом в ruby разработке.
Программа митапа: 17:10 — Рустам Ибрагимов, "SmartCore (smart-rb) — a set of common abstractions and principles, realized in scope of Ruby, DDD and Clean Architecture" 17:50 — Александр Ильчуков, "MPI: композитные атрибуты моделей данных" 18:30 — Астхана Аникет, "Метрики эффективности сервиса"
Уже ставшая традицией встреча Рубистов пройдет в 13-ый раз!
И если ранее митап проходил в офлайн режиме на одной из московских площадок, то предстоящий митап пройдет на онлайн-платформе и стать участником может любой желающий, без привязки к геопозиции.
Программа: 19:00 Григорий Петров (Evrone) — Почему Ruby медленный? 19:45 Евгений Фатеев (VK Работа) - Learning to Rank вместе с Ruby 20:30 Молчанов Андрей (Uscreen) - Краткая история кеширования 21:15 Цепелев Дмитрий (Evil Martians) - Как ускорить GraphQL API