Это копия, сохраненная 2 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Arhivach: https://arhivach.ng/thread/582943/
Ruby thread COVID-19 EDITION
ИЗУЧЕНИЕ ЯЗЫКА
Q: C чего мне начать, чтобы стать рубистом?
A: Отличным началом будет Programming Ruby (The Pragmatic Programmers Guide), читать Eloquent Ruby и The Well Grounded Rubyist после прочтения первой толку особо не даст, одни и те же вещи, дальше читаем Ruby Way, затем познаем метапрограммирование с Metaprogramming Ruby.
А дальше открываем Ruby cookbook 2015 года, Пишем свой код во время чтения.
Q: Следующий уровень, продвинутые книги по руби:
A: Confident Ruby by Avdi Grimm | Practical Object-Oriented Design in Ruby
Refactoring Ruby Edition | Ruby Under a Microscope
Q: Онлайн курсы чтобы попробовать/вкатиться:
A: https://ruby.github.io/TryRuby/ | https://rubymonk.com/
https://www.codewars.com/?language=ruby | http://rubykoans.com
Q: Какой gem посмотреть, чтобы понять, как писать код?
A: Лучше всего посмотреть небольшие gem'ы вроде cancancan, pundit, camping.
Еще можешь полистать на гитхабе гемы с нарастающей популярностью (там еще нет тысяч строк, и тебе будет легче понять): https://github.com/trending?l=ruby
Q: Хорошие практики по руби и рельсам?
A: Обязательно стайлгайды (как оформлять код):
https://github.com/rubocop-hq/ruby-style-guide
https://github.com/JuanitoFatas/fast-ruby
https://github.com/rubocop-hq/rails-style-guide
Руководства "для чайников":
https://www.railstutorial.org/book [en]
https://www.theodinproject.com/tracks/1 [en] | http://codenamecrud.ru/ [ru]
Еженедельная рассылка с новостями из руби мирка:
https://rubyweekly.com
Прочая годнота:
https://github.com/markets/awesome-ruby
Q: Документация по стандартным библиотекам руби и рельс:
A: https://ruby-doc.org/ | https://api.rubyonrails.org
https://guides.rubyonrails.org
Q: Можно ли на руби писать нативные GUI, мобильные приложения, игры?
A: Да, но не стоит.
Q: Что ещё изучить?
A: Английский, git, linux. Паттерны. Один из часто используемых – Service Object.
https://www.sitepoint.com/7-design-patterns-to-refactor-mvc-components-in-rails
СРЕДА РАЗРАБОТКИ
Q: Как установить разные версии рубей?
A: https://rvm.io | https://github.com/rbenv/rbenv | https://github.com/asdf-vm/asdf
Q: Есть ли чат в Telegram?
A: @LearnRubyForPikabuChat | @rubylang | @rubyschool | @rubyrush
@pro_rb | @saintprug | @moscowrb | @ruby_talks | @ruby_random
Паблики в Telegram
@LearnRubyForPikabu | @ruby_rails_tips_tricks | @painless_rails_ru | @ruby_bookshelf
РАБОТА
https://hh.ru/search/vacancy?text=ruby
https://t.me/rubyjob
https://www.youtube.com/watch?v=UUK65-8iLms
>Не понял: где каноничное фото?
http://www.rubyinside.com/rubys-popularity-scales-new-heights-19.html
>May 31, 2006
Ну может через пару тредов вставлю в шапку, почему бы и нет?
Заклинаю тебя, двоедушника, уйти, уйти, уйти, уйти с дорог войны, продать душу руби, встать на путь смирения и внимать гласу мудрых, очисти разум свой от всего бренного, обрести покой должен ты.
Тебе с таким вопросом лучше по чатам полазить, если кратко, стоит учить его программировать через руби, если ему самому нравится, вопрос с работой решаем, даже если ты полностью голый, но готов учиться
блин погугли рубираш курсик, оч годный. Имхо руби это то с чего стоит начинать прогать.
Руби конечно выразительный но его мегарасширяемость (фиг поймешь что у тебя есть в объекте и подсказки нет) бида бида
[{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
Как сделать?
У тебя структура не позволяет это удобно сделать
Сделай такой формат
{name: "vasya", data: [{fruit: "banana", count: 0}] }
А ещё лучше сделать отдельный Value Object и там сделать метод last_not_empty
Не могу, это просто хэш из SQL. В общем нужно просто пройтись по хэшу, и найти последний ключ, значение которого не равно нулю.
{name: 'Misha', age: 45, apples: 1, bananas: 0}
надо вывести Apples: 1
Чтобы не перебирать остальные записи хэша после первого выполненного условия, нам же только одно вхождение нужно.
)
>фиг поймешь что у тебя есть в объекте и подсказки нет
tvoy_object.inspect
tvoy_object.methods - Class.methods
попробуй так
Да все, всем спасибо. Путсы плевать, мне главное алгоритм.
>2 пик.
Парни, простите за оффтоп, но по поводу вот этой мыши, очень хочу её себе, покупал ли её кто-то с линухом? Не было проблем?
>85к для джуна годовосика нормас
ДА
Ну а вообще, советую делать две вещи:
• самообразование по технологиям — читать книжки, смотреть конфы на ютубе по рубям/базам/архитектуре/ООП
• дрочить английский (желательно даже взять уроки уровня SkyEng, чтобы ПОТРЕНИРОВАТЬСЯ ГОВОРИТЬ)
Когда будет уже 3-4 года опыта — легко сможешь выйти на долларовую удалёнку.
мимо-пересказал-свой-путь
Хм, первую работу не выбирают. А после года можно смело на 120к идти (как я и сделал).
Все больше смотрю на элик и хочу туда.
Да
Нет
Бесплатная трансляция начнётся в 4 утра по Москве:
https://www.youtube.com/channel/UCBSg5zH-VFJ42BGQFk4VH2A
Ну дык это чат видеокурсов.
Никак, на хуй надо
Сидим, пилим легаси для пропитания + стартапы для повышения скилла.
Мне кажется нет. Сам вкатился только из-за того что на работе проект дали, ну и ушел с пыхи полностью на рубя (дешевле пыхаря переучить, чем искать рубиста в мухосрани). Рынок руби работки таков, что можно прекрасно себя чувствовать имея околосинёрские скиллы, а джуном будешь преимущественно сосать писос, лучше взять более хайповый стек для самовката.
>можно прекрасно себя чувствовать имея околосинёрские скиллы, а джуном будешь преимущественно сосать писос
Это вообще всех языков касается, не только руби
Как пример, в каком-нибудь реакте джуном попроще, и если есть хоть что-то типа пета в гитхабе, имея только лишь знания жса и околореактовских приблуд, легко залететь на норм зп с нулём опыта (60-80к)
Хочешь сказать, что реактодебилом залететь и легче, и быстрее, чем рельсовкатунцом?
Угу, есть такая мысль. Объем знаний там всё таки поменьше нужен, а спрос на них выше(даже с учетом количества вкатунов). Всё таки бек может быть на чем угодно, но фронт в 80% случаев - это реакт, гораздо реже нг с вью, но там как ни крути, всё равно жс. Так и выходит, что реактодебилу закатиться проще, тож планирую на следующем проекте взять на себя часть фронта, а то мало ли куда жизнь повернется, хоть тут хлеб будет
Закатиться проще, да язык поганый, не для людей он, браузерный ассемблер
Закатиться в жс может и проще, но как же не хочется.
Месяц назад потыкал rails на уровне около-скаффолда. До этого НЕ использовал rails пару лет и вообще ничего не делал.(отписывался в треде, но в последнее время просто луркую тут)
Этого достаточно чтобы вкатиться или мне теперь этот какиш нужно где-то развернуть?
В связи с короноанусом и заканчивающимся баблом, удаленка кажется более адекватным вариантом.
Если сделать резюме и заполнить профили на всяких кругах, хх, линкдине и будут предложения, то куда лучше двигать? Ведь если будет предложение от не ру конторы, то в моей голове это ассоциируется с нестабильностью и большей ответственностью.
На сколько расчитывать на старте в плане денег 70к?
У меня какое-то ощущение что я обосрусь. То есть, желание и какая-то уверенность в том что найду работу есть, но когда начнут поступать задачи, начнется пиздец и уныние.
-
Думаю после редакса любой вкатывальщик забьет хуй. Сам по себе реакт может и ок.
Надо будет сегодня-завтра потыкать и его.
блять, долго думал отправлять или нет этот высер
>Все больше смотрю на элик и хочу туда
Лол, НАХУЯ?
На всяких weworkremotely и relocateme эликсира вообще ПО НУЛЯМ ПОЧТИ по сравнению с руби, на LinkedIn Jobs тож СИЛЬНО МЕНЬШЕ
Так ведь главное это не количество вакансий, а количество желающих на место.
На руби их больше, но и специалистов на одно место много и устроиться сложнее
Может заебать do...end, но в целом норм.
--test-type=webdriver из браузера в selenium?
Нашел вариант для c# только
ChromeOptions options = new ChromeOptions();
options.AddExcludedArgument("test-type"); // To remove arg "--test-type=webdriver"
Кошешн все эти хуки и контексы выглядят получше редакса, но все же.
Попробуй лучше vue
>>787634 (OP)
Тёмыч, сделай в следующем перекате отдельную вкладку про как найти первую работу, про то, что должен уметь вкатун-рельсовик, про хуйню-малафью, одна и та же поебота из треда в тред лезет
Двачую
Норм. Самое сложно найти первую работу, потом будут к тебе подбегать и деньги в карманы сувать, лишь бы ты работал.
/thread
Нет
Так и есть серьзено
Ваще пахую
Почитал шапку, это за сколько можно вкатиться без опыта, месяца 4-5?
И что ты предлагаешь?
Я сначала так и хотел делать. В итоге кое что сделал, но не на rails. Сейчас меня зачем-то понесло на эликсир. Дочитаю книгу и начну эплаиться. Возможно дело в том что я ссыкую это делать и просто откладваю момент. Если получится найти удаленку, то отпишусь тут через 1-2 недели успешной работы гыы
>>811715
Он в какой-то степени прав, но зависит от вводных. Но раз ты задаешь такой вопрос, у тебя скорее всего дохуя мотивации. Месяц позадротишь язык, сделаешь какие-то скриптики, дальше уже какой-то проект.
Вот у меня горит от проебанного времени и упущенных моментов и я часто чувствую себя как овощ с брейнфогом. А еще когда читаешь требования где нужно быть ахуенным математиком, то еще больше дизморальки тк за последние несколько лет я не использовал ее вообще.
Если есть дохуя мотивации, то все будет ок. Как пример, от elixir in action с его todo примером тянет блевать и опускаются руки тк это нихуя не реальная задача и много лишнего текста.
А как и как долго ты вкатываться начал?
А что было в том разделе? Я с села
Открой шапку, где ты там мало вакансий увидел?
>elixir in action
От всех *in action книг тянет какой то невыносимой нудятиной, вне зависимости от языка.
Они пишутся разными авторами без какого-либо общего шаблона.
>>811836
Интересное мнение. С автором Elixir in Action я знаком лично, работал с ним в одной конторе, он охуенный спец в своём деле, активный попенсорц деятель и отличный ментор. Elixir in Action я сам не читал, но сейчас вышел 2nd edition, возможно он лучше. Если не идёт, то есть адекватная замена Programming Elixir >= 1.6
Выполненных упражнений из последнего издания Хартла на гитхабе.
Ставишь себе условное ТЗ по аппу. В процессе написания учишь. Врубаешься. Получаешь Yet Another TODO App.
...
...
...
Тебя берут на работу.
На счет твоего последнего предложения. Это абсолютно 2 разные книги. Хоть здесь и тяжко читается, но у него более менее реальный пример(в плане архитектуры) Но ебаное todo это параша.
Programming Elixir >= 1.6 читался легче и там в основном идет упор на основы(читал его года 2-3 назад и делал задания)
Rails все еще решает. НО если хочется повыебываться или потыкать что-то необычное, то можно и в elixir.
Но появилось желание создавать сайты в качестве хобби. Эти ваши рельсы и руби мне подойдут для этого? И с чего лучше начать - с изучения фронта или бека? Простите за глупый вопрос, я просто не знаю где это спрашивать вообще.
Довольно хуёвое хобби ты себе выбрал, брат. После того как ты поймёшь сколько требуется знаний чтобы сделать сайт, за голову ухватишься и обратно в 1С-перекатишься. Энивей, чтобы попробовать на вкус дерьмеца, начни с html-курса на theodinproject в шапке треда. В принципе, ты можешь ограничиться только этим сайтом для изучения сабжа. Но опять же, лучше бы ты в качестве хобби в ассемблере ковырялся, чем сайты решил создавать.
Спасибо за совет, а что, разве создание сайтов это крайне сложная вещь? Тогда почему я в /b/ кучу тредов видел как люди пытаются стать веб-макаками
>>814278
Если коротко - руби очень плохой вариант для начала.
- Учишь С++ / 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
React / Vue - ЖС библиотеки для написания веб-приложений (фронта)
Python - язык, на котором можно реализовать либо API, к которому уже будет обращаться фронт, либо монолитное приложение, используя фреймворки вроде Django
Я в АХУЕ!
ПХП-говно протекло из своего отстойника в наш могильник и с умным видом ПОЯСНЯЕТ ЗА ЖИЗНЬ начать с крестов для нормального кода, чтобы потом уйти ковырять в ПХП. Ты ебанулся совсем такое ему >>814580 советовать? Почти уверен, что ни на том, ни на этом тебе всерьез программировать не приходилось, пиздуй в свой ларавел-тред, скотобаза ебаная.
Ахуенно, только я Ноде фулл-стек пишу. Пыху последний раз год назад в универе видел.
Плюсы или другой низкоуровневый язык нужен для понимания того че вообще с кодом происходит, я и говорил что это опционально. Пыха хороший первый язык, потому что она простая и после изучения дает много путей дальнейшего развития.
phpython
пыха 8 стронг
>>814030
Да, рельсы подойдут вполне. Не слушай долбоебов выше, я хз че они тут вообще делают.
Удваиваю. Пиздец, блять, изучи сначала пыху, а только потом в рельсы вкатывайся. Поешь сначала говна, а только потом начинай есть шоколад.
>Спасибо за совет, а что, разве создание сайтов это крайне сложная вещь?
Чтобы сделать сайт по современным технологиям, а не на чистом html, надо знать SQL, HTML5, CSS, JS, любой из бэкэнд языков (в нашем случае это руби), фронтенд фреймворк типа React, бэкэнд фреймворк типа Rails, знать как работают HTTP-запросы и разбираться в MVC-архитектуре (хотя это не сложно), ну и для самого сайта надо бы в дизайне шарить, читать книги типа Эдварда Тафти. Как бы пиздец много работы для одного человека, и поэтому люди пытаются стать не веб-макаками, а бэкендерами/фронтендерами/QA-тестировщиками. Чтобы сделать сайт надо три-четыре человека в современных реалиях, это пиздец. И после того как ты окунешься во всё это, ты поймешь насколько же это унылое и пиздец утомительное дело, а уж в качестве хобби оно вообще никчемное. Лучше рисовать научись или на гитаре играть. Ты бы еще в качестве хобби бумагу острым краем облизывал.
>- Учишь С++ / C# до ООП включительно, для понимания как нормальный код писать (это опциональный шаг)
Ебануться, учить два абсолютно разных языка, один байтоёбский, другой клон джавы, на какой ляд спрашивается? Поясни что такое "нормальный код" для начала, ну чтобы тут люди посмеялись.
>1. БД (MySQL идеальный вариант для начала)
Охуенно идеальный вариант когда все сейчас давно используют PostgreSQL из-за анальных лицензий Oracle.
>Плюсы или другой низкоуровневый язык нужен для понимания того че вообще с кодом происходит
Блядь, я тебе ГАРАНТИРУЮ, ты не имеешь НИ МАЛЕЙШЕГО представления о том, че вообще с кодом происходит. Поверхностное знание крестов не наделяет тебя хтоническими знаниями адептус механикус и способностью управлять духом машины. Чтобы знать, че с кодом происходит, надо знать ассемблер и то как компилятор интерпретирует структуры данных.
Двачну. Но чтоб начать делать веб-проекты - надо делать вебпроекты, а не задротить ассемблер всё же. Чувак хочет веб-приложение мутить, стартапы мб, а тут советы, как будто он хочет стать хаккером ниибаца и взламывать пентагон через Html
Это же филиал \пр где никто не соображает контекст. Добавлю к знанию о том, что там внутри творится, лучше начинать с основ, с электротехники, с понятия тока и напряжения.
Ну тот чел конечно клоун, плюсы учить)00) Нормальный чел плюсы не будет учить, так же как и jAvA и прочие 20-30+ лет языки (кроме рубей и элика)
https://www.codepile.net/pile/82q1Jq25
Добавил, не в нём дело было.
У меня такой вопрос посаны, вам комфортно работать на уровне 10 абстракций? То есть, я пока что вкатун простой, и мне немного непонятно как можно комфортно запомнить что ass.label содержит в себе html типа <label for="ass" class="we" id="can">. В реальной работе рельсовики вообще вьвсами занимаются или это фронтендеры вилкой чистят сами?
Уже года 3-4 года как вообще вьюхи в рельсах не трогал. На рельсах только API (на текущей работке еще и grape сверху), фронт или на реакте или вью, сами пилим фронт только для админки, для всего остального отдельная команда фронтов. Вообще в рельсах во вьюхах только формы ебанутые, как по мне, остальное нормально сделано, но может это у меня уже воспоминания подзатерлись.
ну хуй знает, можно было бы назвать такую версию 2.8
Насколько он быстрее ruby 2?
>а как же скорость в 3 раза выше?
По сравнению с 2.0 релизом, 2.6 и так был почти вдвое быстрее 2.0, так что всё возможно. Кроме того, параллельное выполнение и легковесная конкурентность из коробки позволит писать писать код, который будет и более чем в 3 раза быстрее. Тайп черкер тоже замечательная вещь, вангую, будет стандартом для всех более-менее крупных приложений.
УМЕР! ПОДОХ К ХУЯМ!
Как земля
Если нравится, то юзай. Каждому свое.
очень
>Посоны, какие компании имеющие офисы в РФ- это топ для рубиста?
• EvilMartians, Evrone, Gett, Wheely, Bookmate
• Hoodies, JetRockets, Uchi.ru, AT Consulting, СофтТелематика
• Mail.ru (GeekBrains, InstaCart, etc)
• Сбербанк (DomClick, etc)
Ну это первое, что в голову пришло давно не работаю на российском рынке, может там что изменилось
>>814685
>Макдональдс, Бургер Кинг, Халяль от Ашота
Вот ты сейчас смеёшься, но:
«KFC — разработка системы персонализации для ресторана» - evrone.ru
https://evrone.ru/kfc
https://evrone.com/kfc
https://vc.ru/evrone/133429-chto-vnutri-u-restorana-kfc-kotoryy-pomnit-chto-vy-lyubite
The CRM is a Ruby on Rails application and two microservices.
Работал в евроне? Как там климат?
Я вопрос задавал. Работаю в AT Consulting
Плюсы: вкатился с полного нуля и платят по меркам Мухосранска сносно, относительно ненапряженно, рост по грейдам отличный.
Минусы: платят все же ниже рынка, тонны легаси
Кстати, Evrone - единственная комнпаия куда прошел собеседование. По их меркам я еле-еле тяну, но все же оффер был без повышения текущей зп. Вроде как там ЖЕСТКИЙ тайм менеджмент. Галере нужны сильные гребцы.
В чём смысл оплачивать кому-то твой опенсорс? Чтобы потом в удобный момент объявить твое время за время компании?
рядом с коболом
зайди в жс тред,тебя обдадут фонтаном красноречия
удаленно?
Офис
пашол нахуй
Мертвый тред мертвого языка
/thread
>когда в языке все так хорошо
проорал
Она может блядь сама освобождать память?
Как мне блядь узнать, че она там такого хранит в памяти важного и не хочет освобождать?
Просто добавь в крон рестарт в 5 утра
> она просто отдает страницы из базы
Была подобная хуйня, есть подозрение что если ты дохуя длинные строки дергаешь - то они хуево чистятся. Но ты на верном пути, копни в сторону данных которые прилетают. Если тачка позволяет обмажься профилировщиками, гайды в инете найдешь без меня.
Офис на Нахимовском просперкте.
Вроде пишут про игровые высоконагруженные проекты, офис класса A, в вакансии жирная з/п, но чет контора вообще noname.
И сайт http://it-partner.pro/ одностраничник. Почта для контактов
Так они пыхера ищут. В их тред и иди спрашивать.
А так - если контора даже в разделе "Проекты" ничего не показывает в качестве портфолио, то это уже повод закрыть их говно-лендинг и не вспоминать об этой недогалере (тем более что сайт не гуглится).
попробуй jmalloc
Работал там фронтом. Они казино пилят, по-этому и название такое стремное, что бы не палиться. Онлайн у них довольно большой, статистики у меня нету, но деньги они видно, что гребут лопатой. Из сочетания кучи бабла и специфики работы и вытекает жирная серая зарплата, да и в целом, если тебе что-то нужно, денег не жмут. Офис нормальный, обычный опенспейс, но в самом офисе плюшек особо нету. Хайрят они очень активно, за то время, что я работал размер команды в раза 3 вырос.
Тыкал реакт, уже дней 20 назад(хуки, контексты). Уже кое что подзабыл.
С рубями у меня наверн такая же ситуация.
Каковы шансы ремоута?
>>823648
Я уже тут отписывал. Такое чувство что занимаюсь самоотсосом в этом треде
Опыт какой-то был, но давно. Повторил все что нужно как мне кажется. Есть какие-то поделия.
Но к rails интерес подугас и напрмер вчера мне было интересно тыкать свифт. Хотя я понимал что делаю хуйню тк надо найти работу, а я отвлекаюсь на ненужные мне вещи.
вопрос(ы):
- как бы вы выбирали из нескольких предложений о работе? Искали бы в течении какого-то времени? ведь наверно не стоит быстро принимать решение.
- Если бы был вариант между офисом и удаленкой, что бы выбрали? (Учитывая ситуацию с короной)
- Сколько стоит просить на старт(Пусть будет на позицию джуна)
Желательно чтобы отвечали не синуоры
Спасибо
Потому что очевидно - сениор выберет удаленку. Выберет то место где больше платят и попросит на старт больше чем ему платят сейчас.
Анон, а можешь дать больше инфы, где про них можно посмотреть/погуглить?
Казино это мне кажется интересная область. Там легаси или новые проекты? Инженерная культура есть или тяп-ляп? Коллектив хороший?
>Что мы предлагаем:
>•Фиксированный оклад (по результатам встречи);
>•График работы: 5/2 Пн – Пт с 10:00 до 19:00;
>•Оформление по ТК РФ (по трудовой);
>•Своевременная выплата заработной платы (2 раза в месяц);
>•Неограниченные перспективы карьерного и профессионального роста;
>•100% оплата больничных, отпусков;
>•Комфортные условия работы (офис класса А с панорамным остеклением, шаговая доступность от метро Нахимовский проспект, современная техника, оборудованная кухня, где всегда всё наличии).
И что, реально с 10 часов приходить нужно?
1485*4
2240 долларов в месяц
В каком-нибудь украинском мухосранске ты уже король с такой зарплатой, да даже в Киеве можно не плохо жить.
Добавлю сюда вопрос. Анон спросил про линкдин и хх. Что бы вы выбрали ру или какую-нибудь иностранную контору? Я понимаю что синуоры бы выбрали иностранную
>>823878
В том-то и дело, что именно ios как-то не вставляет. А вот под macos всегда хотелось что-то сделать.
>Почему не вкатыаешься
Денег на пару месяцев осталось.
Это через что ты нашел? На апворке вроде были такие emoji, нет?
>посмотреть/погуглить
Ссылки на казино я тут давать не буду, а больше даже и не знаю, что можно показать.
>Там легаси или новые проекты
На фронте часть проектов переписано на vue и там все ок, в старых довольно-таки пиздец. Но тут руби-тред, так что я думаю тебя интересует бекенд, там основной монолит довольно старый у них там еще какие-то микросервисы есть вроде, но тут я вообще не в курсе, но, насколько я могу судить, они поддерживают его в хорошем состояние и активно пилят в том числе крупные фичи без проблем, так же в последний год где-то они активно фиксили боттлнеки, api стало прямо заметно шустрее.
>Коллектив хороший?
Коллектив дружелюбно-нейтральный, токсичных мудаков я не замечал, но тут ключевое слово нейтральный, если ты ищещь походы в бар по пятницам и тому подобные корпоративы, то такого тут нет.
>И что, реально с 10 часов приходить нужно?
Вообще да, но договорится, после испытального, вполне можно.
Примерно такая же фигня, только в РФ и без столь жестких требований.
>Вообще да, но договорится, после испытального, вполне можно.
Собакин уже сказал что не менее 30% сотрудников должно быть на удаленке. Как ты думаешь, кого отправят на удаленку, а кого оставят пахать в офисе?
Скорее всего никого.
хештег вообще не гуглится, а euruko это какая то конфа или чето такое, но тоже не до конца понял
упд, все гуглится, все конфы какие то, но все же хотелось узнать поподробнее шо это такое
ага
Да, подох, видишь никто не пишет в треде. Проходи мимо
>редикти с сервака в cloud
Не понял, что это значит. Редирект? Файла-то нет, а пока экшон дойдет до редиректа соединение уже будет убито.
Думаю можно сделать сабдомен в обход клаудфлары, который бы отдавал файлы, по-сути только dns прописать и роутер поправить, должно сработать.
Для джуна-рубиста норм.
Ах, как же хочется С ТАКОЙ ЗАРПЛАТОЙ на РЕМОУТ!
Это может быть хитрая рассылочка с целью набрать базу актуальных резюме, по которым будут плотно работать другие люди и будут уже другие зп.
Что там? Снова переписывают с Ruby на Elixir?
он зомби
Я бы кунчека завел. Переодевал бы его в тяночку и учил погромировать, кормил лоликолесами и целовался под пледиком...
• В чём заключается роль девлида в разных компаниях
• Как разработчик превращается в лида
• Чем занимается лид
• Какие пути развития есть у лида
• Как специфика компании влияет на роль лида.
Опытом поделятся эксперты из FunBox, ManyChat, X5, Xsolla.
14 октября в 17:00 МСК
Регистрация:
https://funbox.timepad.ru/event/1444619/
так тут говорят,что перфоманс не главное,что железо дешевое для этого есть,зато как все удобно...
Ну, говорят это те, кто остались на этому языке. А те, кто ушел, ушли из-за интерпретатора.
Покормил
Ты мой пост перечитай, зелень
>>837206
RubyRussia 2020 Online
13 ноября — бесплатная конференция, на которой мы обсудим самые практичные темы. В этом году мы решили не гнаться за трендами, а поговорить о старой доброй классике: борьбе с legacy, построении жизнеспособной архитектуры, связи фронтенда и бэкенда, жизни с Rails в реальном мире. Контента будет мало и только по делу. Для участия нужно зарегистрироваться.
14 и 15 числа пройдут платные воркшопы, каждый из которых раскроет одну из заданных тем на 100%. Покажем, как внедрить лучшие практики в жизнь. Каждый воркшоп состоит из 4-х часового занятия, домашнего задания, поддержки по всем возникшим вопросам в чате в течение недели и фидбека на ваше решение от эксперта.
13 ноября 17.30 - 21.00
Регистрация обязательна:
https://railsclub.timepad.ru/event/1449405/
https://rubyrussia.club/
Вроде большая проектная контора, вроде как с инженерной культурой, но че-то никогда о ней ничего толком не слышал.
Основали и устраивают эти ваши все rubyrussia, привезли Матца в Россию, рассказывают на своих митапах как он любит майонез.
А вообще, одни из топовых, если не саме топовые рельсовики в этой стране.
Добплачивают тебе если ты коммитишь в опенсорс.
Полтора года как
Лично не сталкивался.
Распиаренный бренд аутсорс бодишопа
Ну может и топовое, а есть какая-то инфа о том как там работается?
Я сталкивался с несколькими людьми, которые там работали и они отзывались не то чтобы хуево, но как-то противоречиво. Один говорил что перерабатывал жестко, другой что кидали с проекта на проект и пилил всякое говно, ну то есть такое.
С другой стороны я не знаю насколько они профессионалы - те с кем разговаривал, может им просто нормальных проектов не давали. Хз.
Полагаю, любая крупная контора не может не нести на себе отпечтака галерного прошлого.
В шапке почти каждый раз скриншоты из актуальной (последней) к этому моменту руби-конференции. Когда создавался тред, последний ивент с выложенными видео к этомум моменту был NoRuKo (который по сути мини-EuRuKo онлайн в этом коронавирусном году).
С тех пор из больших конференций (и чтобы были видео) была уже RubyKaigi Takeout 2020
https://www.youtube.com/playlist?list=PLbFmgWm555yZeLpdOLhYwORIF9UjBAFHw
Вообще, ознакомиться с прошедшими и предстоящими конференциями можешь здесь:
https://rubyconferences.org/
Доклады сегодня в 19:00 по ссылке в зуме
1. Архитектура: что за зверь и зачем её моделировать от @morozzzko
2. Как просрать свой out-source от @maslenkov_e
3. Нейминг и аффордансы. расскажет @cutalion
митапчик в предверьи рубираши онлайн.
https://us02web.zoom.us/j/83844995605
1. Если приложение кастомное - ошибка что нельзя по этой ссылке установить
2. Если паблик - должно быть проверено (review) shopify
3. Если установлю приложения не по ссылке, а в shopify, то первый раз по ссылке нормально грузит магазин, а потом ошибку токена выдаёт.
Также раз получилось приложение по ссылке установить, но только в одному магазину, а другому выдавало первую ошибку
Сори что сумбурно, скрины сделать не могу т.к электричество вырубились.
что за пидар?
да мне моего манки-патча хватает...
eхал case через when через when через when через when через when через when через when через when через when через when через when через when через when через when ...
красивше, но как-то стремно, что итоговая регулярка магически модифицируется под поиск только в конце строки
.match?(/(_\d++$)|(_{1}$)/)
.end_with?(/(_\d++)|(_{1})/)
Я верно понимаю, что это вся разница будет?
Не хочу спорить, пытаюсь разобраться в предмете
Что касательно работы, господи, вам самим то не смешно эту хуйню из треда в тред обсуждать? Тут даже местный ебик умудрился на рейт 15 баксов в час вкатиться, будучи там из какой-то сибирской залупы, о чем он любит каждый тред упоминать, привет тебе, марсианин. Если вы не знаете, как устроиться, то спросите здесь, он вам расскажет историю про кодгеймс, про алгоритмы, про постгрес, про жиес фреймворки и имиджборду на рельсе, которую написал, вот и вся цена вопроса о так называемом устройстве на работу. Впрочем, мне скорее не повезло с первой работой и приходилось заниматься какой-то вечной хуетой, от ревью конфига на синатре до перепиши за день 1000 строк кода, потому что наш мидл-долбоеб куда-то резко проебался в никуда. Так было три месяца, пока не попробовал голанг, мне понравилось и показалось еще легче, чем тот же самый руби, перешел на него. Так что если ты, вкатун, читаешь это, можешь смело учить руби, потому как тебе сейчас скорее всего абсолютно похуй что учить, отдельное спасибо ОПу (хую) за поддержание треда на плаву, а то бы без него про этот тред никто бы и не узнал.
мимокрок с рейтом $17/час, который сьебался на голанг
Двачую
а разве конфы существуют не исключительно ради того, чтобы додики тешили своё ЧСВ? этакий хороший выпуск пара, иначе те кто поумнее будет конкурировать за управляющие должности, что никому не нужно
пержу на руби три года, за все это время посмотрел только 1 конфу по руби, видимо, не зря)
Откликайся сам на все подряд(в пределах разумного). Ничего не теряешь, а шанс найти работу больше будет.
>>850083
>>850908
RubyRussia 2020 Online уже сегодня (13.11.2020)!
Все билеты на воркшопы проданы, но мы приготовили много интересного для каждого рубиста на вечер этой пятницы.
Пять докладов: фронтенд без фронтенда, асинхронная архитектура, Roda, алгебраические эффекты, как бороться со сложностью в Rails-проектах.
Участие бесплатное, старт в 17.30, регистрация на сайте
https://rubyrussia.club/
Их же наверняка куда-то сливают.
Я так понимаю, что у mvc Users должно быть значение boolean с true и false, и значение integer, в котором нужно реализовать таймер (или когда ты дергаешь API платежек таймер там и так предоставят?)
По умолчанию, когда пользователь регистрируется, то значение boalean = false, а таймер = 0
Пользователь зарегался, увидел Paywall, который подключен к Yandex Kassa (хз, как ее подключить тоже) после того, как человек оплачивает, то запускается таймер со значением 30(на месяц подписка) и начинается обратный отсчет, а значение bolean меняется на true и тут мы делаем callback при котором, если bolean = true, то мы показываем страницу с контентом, если bolean = false, то показываем paywall
Так? Или как то иначе. И как это должно выглядить в целом, где почитать и что почитать по теме
Не работал с такой штукой, но вот про таймер, мне кажется, лишним. Может лучше поле дейттайм? И, когда пользователь хочет сделать что-то, что требует подписки, мы проверяем, а что в дейттайм поле этом. Если там слишком старо всё, то отсекаем пользователя, ему это действие запрещено, раз подписка проёбана.
Алсо, не понял зачем булево поле. Точнее мысль понял, но, как по мне, оно лишнее.
>делаем callback
умер
Можно запускать таск раз в сутки и банить всех просроченных подписчиков, и не нужно чекать даты на каждый экшон.
>банить
А можно сразу с базы дропать, хуле.
В его посте про это речи не было. Сервисы с подписками будут выпрашивать все же, чтоб перепополнили, чтоб продолжить то или иное действие.
Разве раилс разработчики не ценятся исключительно как фулстек макаки?
Так вот, можете посоветовать, как быстро придрочиться руби-вей подходам, а не городить, например, си-подобную лапшу? Ибо скорее всего на интервью придется вживую писать какие-то типовые задачки на алгоритмы на чистом руби.
Книги по яп вообще не заходят, долго читать, плюс нужно ещё парралельно по sql надрочиться...
Отличие сишной лапшы от руби вея, на мой взгляд, во многом еще в том, что в руби дофига встроенных методов для типовых задач (сгрупировать значения хэша дикт из питона, отфильтровать массив и т.д.).
Многие такие штуки я узнавал либо из документации типо такой (тут про стринг, но можно поковырять и другие классы):
https://ruby-doc.org/core-2.6/String.html
Либо в этом блоге:
https://www.rubyguides.com/
Ну и просто пока сталкиваешься пишешь что-то на руби и с проблемами, гуглишь, узнаешь что-то новое (но и дурацких советов некоторых индусов можно подхватить, видел и такое). Но это любого языка касается, так-то.
>Ну и просто пока пишешь что-то на руби и cnfkrbdftimcz с проблемами
Вот так хотел. Плавлюсь чет
curl https://payment.yandex.net/api/v3/payments \
-X POST \
-u <Идентификатор магазина>:<Секретный ключ> \
-H 'Idempotence-Key: <Ключ идемпотентности>' \
-H 'Content-Type: application/json' \
-d '{
"amount": {
"value": "2.00",
"currency": "RUB"
},
"payment_method_data": {
"type": "bank_card"
},
"confirmation": {
"type": "redirect",
"return_url": "https://www.merchant-website.com/return_url"
},
"description": "Заказ №72",
"save_payment_method": "true"
}'
Куда его добавлять я не понимаю и как? Это контроллер? или модель?
А этот json куда
{
"id": "22e18a2f-000f-5000-a000-1db6312b7767",
"status": "succeeded",
"paid": true,
"amount": {
"value": "2.00",
"currency": "RUB"
},
"authorization_details": {
"rrn": "10000000000",
"auth_code": "000000"
},
"captured_at": "2018-07-18T17:20:50.825Z",
"created_at": "2018-07-18T17:18:39.345Z",
"description": "Заказ №72",
"metadata": {},
"payment_method": {
"type": "bank_card",
"id": "22e18a2f-000f-5000-a000-1db6312b7767",
"saved": true,
"card": {
"first6": "555555",
"last4": "4444",
"expiry_month": "07",
"expiry_year": "2022",
"card_type": "MasterCard",
"issuer_country": "RU",
"issuer_name": "Sberbank"
},
"title": "Bank card *4444"
},
"refundable": true,
"refunded_amount": {
"value": "0.00",
"currency": "RUB"
},
"recipient": {
"account_id": "100001",
"gateway_id": "1000001"
},
"test": false
}
curl https://payment.yandex.net/api/v3/payments \
-X POST \
-u <Идентификатор магазина>:<Секретный ключ> \
-H 'Idempotence-Key: <Ключ идемпотентности>' \
-H 'Content-Type: application/json' \
-d '{
"amount": {
"value": "2.00",
"currency": "RUB"
},
"payment_method_data": {
"type": "bank_card"
},
"confirmation": {
"type": "redirect",
"return_url": "https://www.merchant-website.com/return_url"
},
"description": "Заказ №72",
"save_payment_method": "true"
}'
Куда его добавлять я не понимаю и как? Это контроллер? или модель?
А этот json куда
{
"id": "22e18a2f-000f-5000-a000-1db6312b7767",
"status": "succeeded",
"paid": true,
"amount": {
"value": "2.00",
"currency": "RUB"
},
"authorization_details": {
"rrn": "10000000000",
"auth_code": "000000"
},
"captured_at": "2018-07-18T17:20:50.825Z",
"created_at": "2018-07-18T17:18:39.345Z",
"description": "Заказ №72",
"metadata": {},
"payment_method": {
"type": "bank_card",
"id": "22e18a2f-000f-5000-a000-1db6312b7767",
"saved": true,
"card": {
"first6": "555555",
"last4": "4444",
"expiry_month": "07",
"expiry_year": "2022",
"card_type": "MasterCard",
"issuer_country": "RU",
"issuer_name": "Sberbank"
},
"title": "Bank card *4444"
},
"refundable": true,
"refunded_amount": {
"value": "0.00",
"currency": "RUB"
},
"recipient": {
"account_id": "100001",
"gateway_id": "1000001"
},
"test": false
}
>Куда его добавлять я не понимаю и как? Это контроллер? или модель?
Если тебе надо слать подобные запросы на сторонний сервис в данном случае яндекс кассу, то тебе нужен враппер на стороннюю апиху.
https://www.nopio.com/blog/how-to-create-an-api-wrapper-of-an-external-service-in-rails/
Первая ссылка с гугла, вроде норм примеры кода, общий смысл понятен.
>Зойчем?
Чтоб слать запросы из кода в ООП стиле, а не курлом.
>Куда класть все эти классы?
Мы на проекте такие штуки в lib клали. Главное под модуль какой-то впихни, типо там module YandexKassa, чтоб lib не засрался со временем.
Что за JSON в конце ты добавил я хз, выглядит как ответ яндекса. Можешь как фикстуру для тестов теперь юзать если не любишь VCR, я хз.
>контроллер? или модель
Не модель поскольку ты ни определяешь структуры данных, ни пишешь эти данные куда-то
Контроллер отвечает за взаимодействия сервера к клиенту, тут ты сам клиент
Это сторонний сервис, как написал анон выше
str.match?(regex) && list.include?(hui)
и приходится использовать вот это
(str.match?(regex) && list.include?(hui)) ? true : false
Блин, уже 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
То он выдает
uninitialized constant YandexKassaIntegration (NameError)
Если роут оставляю таким
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 ни разу не работал, для меня это какой то кошмар и темный лес
Блин, уже 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
То он выдает
uninitialized constant YandexKassaIntegration (NameError)
Если роут оставляю таким
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 ни разу не работал, для меня это какой то кошмар и темный лес
Как с этим гемом работать я вообще не понял =(
Он там даже закинул исходник
https://gist.github.com/creepycheese/f94c9e2a47b16f7303ba
Но я просто не понимаю куда это написать, это модель или что, а если это не модель и не контроллер, какие должны быть контроллеры с моделью тогда, как туда вьюху подкрутить и тд. Я просто не понимаю. Api работает без моделей и контроллеров? А как тогда в базу значения передать.
Это реально пиздец какой то.
Я просто дикий джун в этих ваших рельсах, вообще отдуплить не могу че делать с этими api.
Хотя некоторые api я таки смог прикрутить, ибо там у гемов была полная документация. Но вот апи яндекс кассы мне не дается, просто сижу блять и охуеваю, как в этом можно разбираться вообще
Пиздец вы пацаны молодцы конечно, если вам удается понять эту хуйню
>uninitialized constant YandexKassaIntegration (NameError)
Ну импортируй класс этот, лол
мимопроходил
Зачем ты его вызываешь тогда
Ну, там же выше расписали, что у тебя должен быть набор plain ruby классов, где ты через faraday (или любое любой похожий гем) отправляешь запросы на свою яндекс кассу. Получил ответ - обработал (записал в базу че те там надо). Мы ж не знаем, что там за логика в твоем конкретно приложении, чтоб дать ответ, что ты с базой должен делать на разные ответы яндекс кассы.
Если у тебя, например, есть модель заказов Order и, скажем, у нее есть статусы типо in_progress, wait_for_pay, paid, delivered, то ты, например, пилишь эндпоинт на оплату заказа пользователем. В нем будешь вызывать все эти классы, которые шлют запросы на яндекс кассу. Если яндекс касса вернула success на запрос оплаты, то на уровне приложения ты можешь, например, поменять статус данного заказа с wait_for_pay на paid. Просто пример из головы, надеюсь идею ты понял.
Гемчики по ссылкам выше можешь использовать просто как пример. Поройся в их коде и глянь, как они структурно построены, как запросы уходят, как апи ключи передаются и так далее.
У тебя получится!
Ходят слухи что там тухло и текучка, хотя отбор раньше был по крайней мере серьезный.
Ну расскажи
maгический
Так если ты вкатываешься в айти, подразумивается что большую часть этой карты ты уже знаешь. Все эти компоненты не меняются от ЯП, выучив что-то одно дальше будет куда проще
интересно что за ебанашки делают подобные пикчи? вангую что-то типа невротических додиков которые 3 года не могут вкатиться, но которым должно быть все по полочкам
сука, да больше половины этой хуеты выветрится из головы сразу после собеса
лично я например пилил бизнес логику на POROs в течение больше полугода и нахуй мне не всралось больше половины этой инфы
конечно если ты краб на галере ситуация может быть другая, но я как продакт-господин ссу им в ротешник, так что похуй
Я не заметил те что текстом. Но не суть, в том где постят работу нужны синуоры-помидоры
Я такие не делаю, но тоже додик, не могу вкатиться > 3 года. Хотя я по сути и не пытался искать работу. В основном из-за того что прыгаю с одного на другое. Или вообще забиваю на несколько месяцев. Потом может появиться какая-то идея и все по новой. Чувствую себя говном.
Как вкатиться? Точно решил, повсил резюме. В тг группах не писал. Было одно предложение с hh, как я понял интервью, но мне не нравится чем они занимаются и там скорее всего тестовое задание на пару недель. Хотя думаю выбирать я сейчас не должен.
пиздишь в резюме с три короба, на собесе делаешь пук-среньк, пристыдненный приходишь домой и учишь то, на чем обосрался
повторяешь этот цикл пока не возьмут
в офис попроще будет устроиться к местным чем на удаленку голым джуном, но пробуй везде, главное же просто навык собесов прокачать
576x1024, 0:56
А если делать свои проектики, то и рубей достаточно.
Пришло пару сообщений. В одном из них попросили заполнить форму и все. Возможно я дофига попросил, но по идее они сами могут сделать контр-предложение.
Такие дела
Ну рыночек порешал наверно. Я не в ДСах если что. У нас джунов как говна собачьего на улицах, они потом ливают через год на пыху.
Цены для ДСов умножай на 2
Меняю работу короче. Так-то на руби уже давно пишу и опыт есть. А сейчас предложили пойти на говно. И короче есть вариант пойти в рубишный проект или пойти на говняшный. По деньгам одно и то же примерно.
Когда предложили, я сначала воодушевился, нихуя себе, возможность попробовать другой стек. А потом подумал и усомнился.
Во-первых, гошка не очень-то приятный язык и на нем было бы круто писать места которые нужно заоптимизировать, но там пишут на нем все, в том числе бизнес-логику и мне кажется что это нихуя не прикольно.
Во-вторых, если абстрагироваться от хайпа и дроча, то не такой уж это и общий и востребованный язык и вряд ли альтернатива js/питону/руби. Еще такое субъективное ощущение что о гошке всегда говорят в каком-то контексте "переписывания", а когда встречаешь доклад про архитектуру/проектирование (реально кайфовое и самое дорогое на рынке), то это старая добрая пыхоплеяда. Может ошибюсь.
В-третьих, учитывая вышесказанное, я понял, что совсем не хочу расставаться с руби. Он прикольный и чтобы там не говорили про умирание, свою нишу занимает прочно. Может в рашке и проседает, но тем не менее. А если сейчас соскочу на го то пропущу и 6ю рельсу и 3ю версию (а это реально новый виток эволюции), то есть отстану от рынка. Компенсирует ли это отставание экспертиза в го и то дилетантство, которое называют микросервисами - ХЗ.
В-четвертых, как я понял, в гошку вкатиться достаточно легко. Она не завязана на какую-то экосистему. В рельсо-рубях же ценно не только и не столько знание языка, сколько погружение в экосистему. (Субъективное опять же ощущение)
Короче с одной стороны новый стек, нагрузки и весь этот микро-бред + контора солидная и соответственно строчка в резюме. С другой неиллюзорная вероятность уронить свой уровень в руби и если решу вернуться, то остаться без нормальной з/п.
Такие дела, не знаю что делать.
Лол ты это я, сам 1.5года фронт реакт/редакс и куча приблуд, хочу переехать в рельсу, сейчас сижу и буду искать джуна/мидла вакансию, сам не знаю что делать, сижу ковыряю лениво доки рельсовые и все
Ну, анон, а тебе зачем в рельсу? Тебе тогда лучше на ноду смотреть, у тебя выбор однозначный. Это раньше js на беке был сначала невозможной, потом сомнительной историей. Сейчас уже используют и проекты есть и это реальный конкурент.
перекатывайся на элик, в нём уже сто лет есть все, что руби с рельсами пытаются наверстать в своих новых весриях
>>871967
Почему так считаете? Чет заставили задуматься, спросил себя что я хочу и оказалось просто получать килотоны и сидеть дома на удаленке, сходил на хх, на ноде даже больше удаленки, по деньгам примерно также если сортировать по вилке, надо еще раз обдумать чтоли свое решение с учетом ваших мнений, ох...
>перекатывайся на элик
А я такого выбора не имею...
Были бы предложения - катнулся бы, конечно.
Если почасовая, то 500-750 рупий норм.
Потому что нода и его фреймворки современнее и актуальнее, и будут только расти. А ты уже знаешь js, значит тебе будет проще вкатиться гораздо, а зачем тебе шило на мыло менять с реакта на рейлс - не очень понятная история
Хз, но элик и вправду выглядит как один из полноценных языков для современного веба, коих не много
мимокрокодил
Я вот после 1.5 года во фронте вообще в iOS перекатился. Зависимость есть.
Понял, спасибо за советы, надумал что буду докатывать свою жопу в ноду (express/koa/nest/hapi), а рельсу уже потом дотыкаю для себя, чем-то она меня манит, коммунити чтоли, а то в жс треде одни токсичные чсв уебаны
>>872265
Даже не думал об этой мерзости, не пробовал нативную разработку, но баловался с Expo/React Native и как-то ахуевал от мобильной разработки, да знаю что нативная отличается от кросс-платформенной, но не горел желанием даже смотреть в эту сторону
Ну React Native и подобные это мерзость. Тебе видимо больше нравится бекенд разрабатывать, чем фронтенд. Мне наоборот больше gui программировать нравится.
Здесь коммуните еще хуже, оч мелкое, оч чсвшное, токсичное душное , а чсв такое раздутое, что пиздец, помощи особо не жди, будем кидать ссылки на доки максимум, ибо сами не знают. Самое лучшее коммуните в шарпистов, там за тебя и код напишут все кому не лень, и подскажут все, что нужно
Зачем писать вот такое в описании вакансии? Это же наоборот отталкивает.
- Высокая ответственность за надлежащее исполнение задач;
- Высокий темп работы;
За пару недель ожидания, я понял что на hh лучше откликаться самому(сам этого еще не делал) Наверно это связано с тем что доступ к базе стоит дорого.
На мойкруг приходило пару вопросов типа еще ищете..., предлагаю..., но странно что мало кто сразу кидает ссылку на вакансию.
И еще, я не понимаю что делать: выбирать из небольшого количества предложынных вариантов(например, сайт сексшопа) или искать/ждать чего-то большего?
много текста
Матц прикинулся шлангом и сделал вид, что не знает про сорбет. Гораздо больше бы подсосал шопифаю (или блять сеилсфорсу, я их путаю), если бы хвалил их сорбет, а в третью версию что-то более нужное завез (не ебу что, мне все норм, я даже не на 2.7)
>Зачем писать вот такое в описании вакансии?
Чтобы набрать всяких ололо-ответственных, которые такие все из себя
Работал в АТК в ДС. От отдела к отделу отличается, но в целом ебаная галера. Постоянный раш, переработки, погонщики вечно пушат, все должно было быть сделано вчера. Аналитики нет, задачи додумываешь сам. Для полноты картины, есть пару бонусов. Если задержался после 23:00, можешь взять такси за счет компании. Выходишь в выходные - можешь заказать от компании еды в сушивоке. Оплачиваться это отдельно естественно не будет.
Для джуна норм, берут почти всех, можно неплохо прокачаться. В целом текучка большая, но есть динозавры по 8-10 лет работают.
Ruby — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования
>можешь заказать от компании еды в сушивоке.
>Оплачиваться это отдельно естественно не будет.
>заказать от компании
>Оплачиваться не будет
А в чем роль компании тогда? Ты сам себе за свои деньги заказал, получается. Почему заказ от компании?
Вангую, отдельно оплачиваться не будет выходной, а не сушивок
Да, подтянул штаны уже, так хотелось типизации давно, ух
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
when Telegram::Bot::Types::Message
kb = [
Telegram::Bot::Types::InlineKeyboardButton.new(text: 'Touch me', callback_data: 'touch'),
]
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" вызвать еще одну клавиатуру, уже с другим текстом и другой датой?
Вообще ничего не понятно. Где конец первого case-when? Залей на пастбин и кидай сюда. Тут же ж непонятно ничего
Так а запили такую же йобу, как в блоке when Telegram::Bot::Types::Message туда, где месседж дата == тач
Вобщем я сделал вот так
r 123123 написал тут текст
f 123123 text
f 123123 text
Дальше сделал wq или просто q достаточно?
На следующем щаге мне предложили ввести имя для
r 123123 написал тут текст
Где-то видел что переименование сразу работало. Или это типа интерактив и все ок?
>Дальше сделал wq или просто q достаточно?
q - сохраняет и выходит, его достаточно. Сам юзаю wq, хуй пойми чего.
>Где-то видел что переименование сразу работало.
Не, так надо. На первом экране ты просто раздаешь команды что делать ис каким коммитом. А потом уже он сам спросит недостающую инфу на других экранах. если тебе несколько коммитов переименовать, то для каждого и переспросит. СДелано на тот случай, если у коммита несколько коммит месседжей и там целая поэма расписана в них
Про q походу напиздел, проще писать wq и не ебать себе мозг
юзаю вим только для интеррактив ребейза
ты дебил? это же МАСИВ хэшей
Добра. Я боялся что без wq накосячил
Ну, в блоке when, который на пятой строке начинается, вообще нет упоминаний инлайновой клавиатуры, в огтличии от следующего when'a. Вот сделай такое же в первом when'e
Дак там работает Telegram::Bot::Types::CallbackQuery, а у инлайна Telegram::Bot::Types::Message
Да кто куда хочет. Просто рил обидно, у нас на мухосранич одна-две конторы на рубине, школота заходит, а потом ссытся что технологии не релевантны и валят.
Есть приложение-клиент
Есть простой api бэк без всяких authentication/authorization итд
Нужно сделать так чтобы пользователь мог зайти на сайт, сделать покупку/подписку, получить токен/ключ/... и вставить его куда-то в приложение.
Дальше бы этот ключ передавался например как authorization header или вообще голым param(так можно?)
Как это сделать? Stripe недоступен, я слышал про варианты его завести, но это гемор
Какие есть альтернативы? Пока что нашел paddle, но там что-то непонятно. Я думал что можно после оплаты сделать redirect где будут какие-то params и на этом redirecte просто высвечивать на странице этот самый токен.
Хотя, по идее наверн придется создавать бд с пользователями :/
Можешь постгрес юзать, выбор за тобой
>Дальше бы этот ключ передавался например как authorization header или вообще голым param(так можно?)
Зачем? Уточни, пожалуйста, а то у тебя ж по идее регистрации нет, как ты пишешь.
>Как это сделать?
Что сделать-то? Передавать с клиента этот ключ? Ну, просто передаешь с клиента... Либо квери параметрами (которые в урле после ? знака), либо в теле запросов через JSON (в контроллере придет всё это добро всё равно в params)
Кеды и гном подтормаживают
> Зачем? Уточни, пожалуйста, а то у тебя ж по идее регистрации нет, как ты пишешь.
Тогда прогу/клиент будет использовать кто попало. Суть в том чтобы любой мог скачать прогу, но чтобы брать данные с api, нужно предоставить ключ или что-то в этом духе. saas хуле
Я понял что все же придется делать регистрацию, либо просто таблицу где будет ассоциацию ключей с email.
На торрентах, блеать.
Увидел,что требуют YARN.Раньше этого не писали в гайде и в процессе установки вылетали ошибки с ним.Ну там есть еще мелкие изменения
Помню тебя. Yarn был нужен еще с 5.1, как минимум. И в документации это было. Ссылку я тебе несколько тредов тому назад кидал.
Я знаю, что ему можно скормить просто HuitasController и он найдет файл huitas_controller, но может есть какой-то экстеншн именно на то, чтоб вс код понимал, что :: - просто вложенность
Есть я, года 3-4 опыта у меня примерно в руби. Хочу зп в баксах и зарубежного работодателя, притом что сверхординарных каких-то навыков и желания рвать жопу на работе у меня нет. Усиленно учу разговорный английский для будущих интервью и т.д., пишу-читаю уже на достаточно хорошем уровне.
Вопросы такие:
1) Какой бы совет для прокачки языка анон дал? Мок интервью сервисы, ещё что-то?
2) Как научиться торговаться по зарплате при онбоардинге на новую работу? Как повышать зарплату на имеющемся месте работы? Такая больная тема, ужас, я бы даже заплатил — все равно в мессенджере такие раговоры ведутся, чтобы за меня максимум выбили или говорили что для этого писать
3) Если меня интересует релокейт не в США, то не будет ли лучше мне сейчас усиленно учить Go? По сравнению с руби мне он совсем не нравится, но пет проект сделал, наверное жить можно.
4) Где находить работодателя или почасовой рейт, куда копать с нуля? Фрилансом не занимался никогда. На апворке делать мелочные задачи забесплатно и набивать отзывы? Или как сейчас?
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
>>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 ?
Web со своим джяваскриптом свернул не туда, хорошо что такие люди как DHH это понимают.
>modern web applications without using much JavaScript by sending HTML instead of JSON over the wire
Только через 20 лет прозрели, пиздец. В Фениксе только спустя 5 лет додумались передавать js код по вебсокетам. Чую мощные подрывы жоп всяких дебилов, которые будут кукарекать что не нужно.
А как же "чисто data on wire"? Какие плюсы своего подхода они озвучили и какие минусы подхода дата он вайр?
Press F, короче
Shrine или ActiveStorage
Скажи честно, ты даун?
>Horizontal Sharding из коробки
>Multi-DB Improvements
>Strict Loading
>Destroy Associations in Background
>Performance Improvements
>New Active Record and Action View capabilities
>Bug Fixes
Это из последнего (не считая JS JS JS)
Я про то, что он говорил о будущем рельсы, пошел нахуй
Там уже хостится простой статический сайтик. Нагрузки как таковой нет.
Давно делал это через minа, но то был rails.
Или сейчас это принятно делать все через докер?(не использовал его тк считал что он юзается в основном на линупсе для локальной разработки)
Или мне вообще нужен отдельный впс. Там один worker и планируется много простых запросов, которые выполняются 1-3 секунды.
Просто rsync заюзай
>Вкатились?
Уже лет 6 как. Я, кстати, апнулся до $6k в месяц после налогов. Всё так же тупо сениор, тупо набираю код 0 ответственности, руковожу 0 людьми и т.д.
Мечтаю когда-нибудь стать тех лидом / архитектом или вкатиться в бизнес скорее не связанный с АйТи, так что мне на самом деле в другой тред или на другую доску
>>851205
>до блевоты заебавшей брехни про архитектуру, про руби-хуюби
>мимокрок с рейтом $17/час, который сьебался на голанг
ДРУЖИЩЕ, тебе бы не помешало послушать про архитектуру или хотя бы про руби-хуюби, чтобы со своих сцаных $17/час апнуться ХОТЯ БЫ до тридцатки. Для этого не обязательно слушать конфы, можно просто навернуть книг, но заметь, докладчики часто сами палят, что почитать по тем же DDD, CQRS, event-driven design, event sourcing (или ещё какой хайповой теме, за которую готовы больше платить).
>>852104
>хороший выпуск пара, иначе те кто поумнее будет конкурировать за управляющие должности, что никому не нужно
Не думал, что рост есть не только по управляющим должностям, но и по техническим? Глянь кем и где работают всякие топ-спикеры с конф, представь сколько получают и потеряй сознание
>>877779 >>878560
>Работал в АТК в ДС
Работал когда-то в конкуретне AT Consulting — Прогресс-Софт (ныне СофтТелематика, если не ошибаюсь).
>Если задержался после 23:00, можешь взять такси за счет компании
Было так же, такси даже не эконом, а КОМФОРТ
>Выходишь в выходные - можешь заказать от компании еды в сушивоке
Было так же
>Переработки не оплачиваются
По будням не оплачиваются. За выходной день платили по тарифу X2
>>890699
>Пиздят о хуйне на 2к человек, лишь бы пездануть что-то
Да тож заметил, поэтому читаю только часть руби-чатов, где близко к теме.
мимо долларовый удалёнщик $6k в месяц после налогов, ≈6 лет опыта работы на руби
>Вкатились?
Уже лет 6 как. Я, кстати, апнулся до $6k в месяц после налогов. Всё так же тупо сениор, тупо набираю код 0 ответственности, руковожу 0 людьми и т.д.
Мечтаю когда-нибудь стать тех лидом / архитектом или вкатиться в бизнес скорее не связанный с АйТи, так что мне на самом деле в другой тред или на другую доску
>>851205
>до блевоты заебавшей брехни про архитектуру, про руби-хуюби
>мимокрок с рейтом $17/час, который сьебался на голанг
ДРУЖИЩЕ, тебе бы не помешало послушать про архитектуру или хотя бы про руби-хуюби, чтобы со своих сцаных $17/час апнуться ХОТЯ БЫ до тридцатки. Для этого не обязательно слушать конфы, можно просто навернуть книг, но заметь, докладчики часто сами палят, что почитать по тем же DDD, CQRS, event-driven design, event sourcing (или ещё какой хайповой теме, за которую готовы больше платить).
>>852104
>хороший выпуск пара, иначе те кто поумнее будет конкурировать за управляющие должности, что никому не нужно
Не думал, что рост есть не только по управляющим должностям, но и по техническим? Глянь кем и где работают всякие топ-спикеры с конф, представь сколько получают и потеряй сознание
>>877779 >>878560
>Работал в АТК в ДС
Работал когда-то в конкуретне AT Consulting — Прогресс-Софт (ныне СофтТелематика, если не ошибаюсь).
>Если задержался после 23:00, можешь взять такси за счет компании
Было так же, такси даже не эконом, а КОМФОРТ
>Выходишь в выходные - можешь заказать от компании еды в сушивоке
Было так же
>Переработки не оплачиваются
По будням не оплачиваются. За выходной день платили по тарифу X2
>>890699
>Пиздят о хуйне на 2к человек, лишь бы пездануть что-то
Да тож заметил, поэтому читаю только часть руби-чатов, где близко к теме.
мимо долларовый удалёнщик $6k в месяц после налогов, ≈6 лет опыта работы на руби
Насколько сложно перекатиться с PHP и JS на РУБИ?
Руби - стиль жизни
Ты планируешь перекатываться на другой стек? Что вообще думаешь о перспективах разных направлений? Как к мобильной разработке относишься? В частности к iOS?
Как же охуенно, когда IDE предупреждает об ошибках, когда есть null safety, и когда большинство проблем можно поймать на этапе компиляции
Похуй
Не слушай джавадурачка, если тебе нужен прикладной язык программирования, с которым можно найти работу и при этом не выблевать свои внутренности от говна 20-летней давности, которое нужно поддерживать, то руби самое то или питон или жопаскрипт, но с последним можно выблевать внутренности и от кода годовой давности. А уж с Си начинать это вообще шиза, хули не с ассемблера сразу?
Если ты можешь поднять сервер на рельсах, который что-то делает, задеплоить его куда-то и поддерживать, то уже все основные навыки есть, остальное зависит от контекста самого места работы и твоего опыта. Но если ты ньюфаг, то смысла дрочить что-то специализированное все равно нет, только самые азы и идти работать джуном как только кто-то тебя согласится взять.
>скорее не связанный с АйТи
почему? наоборот же, я из кабанчика перекатился в it, жалко навыков не хватает на разработку тех или иных решений, но постепенно решаю эту проблему, а так идей, что разрабатывать и кому продавать - полно, б2б рынок в россии пустой
Любое легаси это не прогулка в парке, но если выбирать между легаси в динамическом языке с манкипатчингом всего и вся и одним фреймворком, структура которого узнается с первого взгляда на директорию проекта, и ебаной джавой, то ты поехавший, если выберешь второе.
cap production deploy
Где же вы эти сотки получаете, эх. Я вообще ни одной вакансии не могу найти, которая не требовала бы n лет опыта загодя. А все стажеры/джуны по руби требуются либо в ДС, либо на Украине. Хочу прогать на руби, очень нравится язык, но в итоге дрочу джаву. Нахуй так жить.
бамп
>либо на Украине
Многие конторы тут уже давно точнее с начала карантина легко берут на удаленку
мимо-украинец-работающий-на-такую-украинскую-галеру
Если есть опыт(1.5 года) во вротенде?
А что будут?
Выбрал пока device/pundit, норм?
has_secure_password в модели юзера и обновлении куки с сессией - это буквально 20 строк кода, тогда как devise - это огромный монстр со своим DSL, в котором очень сложно сделать шаг-влево или вправо, не перепахав весь гугл. Использовать его стоит только если он из коробки на 100% подходит под твои требования и ты знаешь, что эти требования не поменяются в ближайшем времени. pundit я бы вообще трогать не стал, потому что все готовые решения для авторизации обычно полное говно, плюс одного главного решения среди них нет, везде используется абсолютно разное, в отличие от devise, который монополист и который можно освоить хотя бы из-за этого. Так что:
1) Если ты ньюфаг и просто неспешно учишься для интереса, пиши свое, до devise всегда доберешься.
2) Если тебе надо завтра устраиваться на работу, то пиши через devise, он к сожалению используется почти везде.
3) Если ты на работе пишешь реальный проект и тебя заставили первый раз в жизни делать авторизацию, то либо бьешь по ебалу того, кто заставил и объясняешь ситуацию, либо берешь devise.
>Че мелочиться, сразу в текстовый файл пиши.
Думаешь, это троллинг? Нет, если хочешь выжать из рельсы какой-то вменяемый перформанс - придется строить приложение вокруг кэша.
Что ты там делаешь на рельсах, если тебе современных серверных мощностей и лоад балансера в крайнем случае не хватает для перформанса? Протеины вычислять собрался? В 99% случаев использование кеша говорит только о том, что ты нахуевертил неоптимизированного говнокода.
Сводные таблицы, статистика, обогащение данных из разных источников, аналитические отчеты по 100к позициям, кароче, обычная работа с данными, можно оптимизировать всё это до посинения, но активрекорд на каждый такой отчет уходит в глубокие раздумья, кэширование и бэкграунд-таски, по-сути, единственный способ всё это выдавать за вменяемое время.
>но активрекорд на каждый такой отчет уходит в глубокие раздумья
Это и называется "неоптимизированный говнокод", потому что если ты упираешься в перформанс какого-нибудь выдроченного десятилетиями на оптимизацию постгреса(!), то я боюсь представить, что там у тебя в коде и какие там монструозные джойны, которые надо было зарефакторить сто лет назад. Я бы еще понял, если бы ты уперся в перформанс самих рельс, но когда ты говоришь "БД недостаточно оптимизированна для моих нужд", то тут явно проблема не в рельсах и не в БД.
Чтобы что-то существенно оптимизировать придется отказываться от активрекорд, то есть ограничивать себя в инструментах.
Активрекорд в принципе не может "уходить в глубокие раздумья", в раздумья уходит твой хуево сформированный запрос к хуево сформированной базе, хуевость которых является только твоей виной и ничьей другой. Если ты пытаешься сказать "а вот если бы я руками sql-запрос формировал, то он бы точно не висел", то во-первых это чушь и вранье, а во-вторых активрекорд не запрещает тебе инжектить сырой sql.
>хуево сформированный запрос
>хуево сформированной базе
>не запрещает тебе инжектить сырой sql
Чтобы что? Сырыми вставками вывести хуёвость всего приложения на недостижимо новый уровень?
И при этом всё равно многократно проиграть варианту, который достает активрекорд-объекты из кэша.
"Хуевость всего приложения" - это не вина рельсов и не вина активрекорд, а только того, кто это хуевое приложение написал.
Интересуюсь, тк испытываю трудности преодоления 4к$ - все офферы что я пока получал в это сегменте это или через ИП или серые зарплаты и не хочется брать на себя такие риски
Почему ты так думаешь?
Нужно запердолить синатру где есть redis и sidekiq. Стоит ли для этого купить отдельный vps?
Без нагрузки сложно сказать, смотря что за логика, какое количество пользователей, какие объемы данных. У меня крутится плейграунд на аналогичной впске (1 гб, 1 ядро) - рейлс, редис, сайдкик и впн, работает нормально, разве что rabbitmq сервер оказался довольно прожорливым на проц.
Ну допустим, если помечтать: 10-20 пользователей, каждый из которых делает 12-20 запросов каждые 5 секунд.
Сайдкик делает запрос на какой-то 3rd party сайт. Иногда данные могут прийти и через пару секунд, а иногда воркер может повисеть и минуту+.
Если нужная запись недавно была обновлена и еще не прошло n минут, то он просто возвращает ее из редиса. А если уже прошло n минут, то он возвращает текущую запись и в то же время делает запрос через воркер.
Так же висит vpn, какой-то скриптик и пара статических сайтиков с околонулевой посещаемостью.
----
И еще вопрос по поводу jwt как достать email если токен expired в пикрил?
Единственная идея которая меня посетила это просто проверять сколько осталось до истечения в begin и если уже мало времени, то делать какие-то действия
Зачем тебе доставать из истекшего токена что-то? Если он истек, то пользоваться им ты не должен, точка. У тебя тут явно какая-то логика, которая должна быть не в токене, а в другом месте.
Я как раз хотел доставать email из истекшего токена чтобы обновить его когда он expired.
Вот вся логика:
Чел логинится через браузер.
Оформляет подписку. Делается redirect на какой-то route который делает запрос для проверки прошла ли оплата.
Если да - сохраняем токен в db.
Чел заходит в приложение. Вводит email/pass - получает токен(который берется из db)
Через какое-то время токен истекает.
При очередном запросе приложение получает ответ что token is expired.
Дальше приложение пытается получить новый токен отправив сохраненные email/pass.
Здесь придется связываться с сервисом который принимал оплату чтобы проверить продлена ли подписка. Это может занять время... и мне кажется часто вызывать его плохо.
>Дальше приложение пытается получить новый токен отправив сохраненные email/pass.
Пароль хранить на клиенте - это сразу нахуй. Либо отдавай приложению refresh токен, по которому оно сможет получить новый access токен, либо вообще убирай ссаные токены и делай нормальную сервер-сайд сессию, которую сервер будет продлевать автоматически при активности пользователя.
Ну я тоже когда-то 20к рублей получал, ниче, все мы там были. Главное развиваться и искать вызовы, не застревать в плохих компаниях и проектах и все будет
Я не понимаю. Токен -то признак оплаты? Или токен авторизации? Это звучит как разные вещи.
1 авторизуйся
2 проверь оплачено ли в БД
3 проверь оплачено ли в удаленном сервисе
На этом языке можно программировать без лишних сложноcтей на Windows 10 с WSL, Mac OS, Linux.
В какой-то степени да. И так нет необходимости дергать бд.
Так бы можно было при каждом запросе находить пользователя по email'u и если нужно ограничивать его.
Ну если так делать, то это сильно упрощает задачу. Думаю так и поступлю.
Блэт, вот я почитал еще про jwt и это не ок вообще что-то проверять в дб. Еще появляется проблема что токен будут использовать несколько людей.
Я думал в треде одни синуоры.
Тебе сказали юзать виртуалку - юзай виртуалку.
В смысле токен несколько людей?
Ты хуйню какую-то пишешь непонятную.
Или давай больше контекста или пиши как знаешь и не Еби голову
Есть api. Есть приложение, которое его потребляет.
Чувак заходит через web/браузер - оформляет подписку.
Открывает приложение - вводит email/pass - получает токен. Пользуется приложением.
Дальше отправляет приложение своему другу и говорит вот тебе email/pass - пользуйся и платить ненадо - они пользуются вдвоем, но подписка одна.
хули непонятного
Токен - это сессия. Сессий у одного пользователя может быть сколько угодно и каждая будет со своим токеном. Так что хуй знает, что ты там нахуевертил, что у тебя один токен на одного пользователя, но нормальным флоу авторизации это не назовешь.
Пошли маневры
Ты умеешь программировать на руби, это уже хорошо, но извини,этого недостаточно и в голове каша.
Необходимо осознать что ты имеешь 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 уже можно?
Ты умеешь программировать на руби, это уже хорошо, но извини,этого недостаточно и в голове каша.
Необходимо осознать что ты имеешь 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 не обновится. И пользователь сможет его обновлять максим до истечения подписки даже если отменит ее.
И при новом логине обновлять этот refresh_token. Мне кажется логично
Просто сделай ебаную сервер сайд сессию, то есть модель Session{uuid, user_id, expires_at}, храни ее uuid в зашифрованной куке(session в контроллере), и продлевай expires_at на сервере как угодно, хоть автоматически при любом запросе, хоть вручную на /refresh роуте
Ну только в каком-нибудь редисе. То что ты описал требует постоянного обращения к бд. С jwt и refresh_token'ом это обращение бы происходило раз в час.
>То что ты описал требует постоянного обращения к бд
И что? если ты пытаешься в своем туду листе оптимизировать получение одной записи из базы по индексированному ключу, то просто иди нахуй
>С jwt и refresh_token'ом это обращение бы происходило раз в час.
Только если ты поехавший и не достаешь пользователя из базы, когда тебе нужно с этим пользователем работать, а полностью доверяешь актуальности и полноте информации в этом jwt.
Я написал что там по идее будет каждые 15-30 секунд по 20 запросов с пользователя. А если пользователей будет много? мммм
Собственно я и так использую редис для записи/выдачи вот этих запросов.
Ебать ты у мамы хайлоадер. Во-первых, эти цифры потянет даже самый обоссаный десятидолларовый сервер, во-вторых, когда дело дойдет до оптимизаций(скорее всего не дойдет), то выборка текущей сессии из базы будет там на самом последнем месте по приоритету и нагрузке, а ты уже хочешь костылить десять токенов и кешировать их в редисе нахуй, чтобы избежать 0.1мс запроса в базу. Более классического примера предварительной и неквалифицированной оптимизации не придумаешь.
>десятидолларовый сервер
Нихуя. А может быть я пока не хочу вообще вкладываться. И зачем нужны такие ресурсы если я не знаю расклада событий.
Сейчас у меня 990 свободной ram и одноядерный проц в просетое. Раз ты так раздаешь советы, то расскажи сколько минимум нужно ресурсов на все это дело.
Речь не о том, нужны тебе ресурсы или нет, а о том, что ты хочешь сделать флоу авторизации в 10 раз сложнее, чем он должен быть под предлогом "не хочу лишнего запроса в базу", что является полнейшей шизой.
>расскажи сколько минимум нужно ресурсов на все это дело.
На какое дело? Я не ебу, что твой сервер делает в этих 20 запросах.
>что твой сервер делает
Однотипные запросы к другому сервису. Типа прослойка-кэш. Но из-за большого их количества, возможны таймауты, но не факт.
Это же live view эликсира
Скажем, я хочу забомбить свой маленький маняме онлайн-кинотеатр, но что-то в гугле не нахожу гайдиков. Как вообще выплёвывать видеопоток? Какой-то опенсорс-софтиной?
Запускаем в докере приложение. По нажатию нужной кнопки на вьюхе- запускаем rspec. Выводим на вьюху результат.
5 секунд гугления и вот тебе пошаговый гайд (только не додумайся на страницу выводить 100500 фильмов по 40 гигов)https://www.youtube.com/watch?v=uV1hWKtza0g&t=534s&ab_channel=Deanin
Месье знает толк.
Если access_token хранится в модели User. Логично ли refresh_token закинуть в модель Subscription?
А когда пишут, что джуниор-разработчик на РоР должен знать HTML, CSS и Javascript, он реально должен их ЗНАТЬ, или достаточно уметь читать со словарём? Я самообучаюсь тут, модели нравятся, контроллеры нравятся, а на вьюхах пиздец как буксую; если застреваю на одной точке где-то на три часа - так именно из-за чего-то во вьюхах. Я понимаю, что базовое знание должно быть, но они ж не ожидают, что им джун, учивший руби, будет придумывать фронтэнд?
Если я со стаковерфлоу и гуглом сверстаю кое-как работающий и не сильно вырвиглазный сайт с бэкэндом на рельсе, этого должно хватить для начала? Ненавижу, блядь, джаваскрипт, почему все языки не могут быть пиздатыми как руби.
Не будет офк. Только базовые знания.
Ну, прямо скажем...
Прошла неделя с твоего сообщения. Наврят ли ты это прочитаешь. Но. Вот тут можно кое что найти.
https://ru.wikibooks.org/wiki/Ruby
Ты сам душный долбоеб судя по твоему высеру
Или просто забить хуй?
Более безмозглого вопроса тяжело себе представить, и ты его потащил в комунити. Потратил бы на него хоть пять минут своего времени, заметил бы, что переводов нет, что даже русскоязычные блоги пишут свои заметки на английском, вопрос бы ушел сам собой.
имхо, на 100% зависит от работодателя, от его добросовестности, может быть как обычная работа, даже плюсов больше, чем минусов, так и полный пиздец хуже рабства, 50/50
1) Называешь модель BookAuthor - красиво. В базе записано book_authors - некрасиво.
2) Называешь модель BooksAuthor - уёбищно, зато таблица books_authors, что понятнее.
Вроде такая хуйня, но чет с коллегой зацепились и не ебем, как должна называться. Нашел статьи, где пишут, что надо как в первом пункте. Нашел и те, где пишут, что надо как во втором.
Называешь модешь BookAuthor и прописываешь set_table_name 'books_authors'
Опыт в погромировании/опыт в ruby/зп/город
Начну:
3/3/85/Мухосранск 500к
6/3/дс/240
Более того, это грамматически правильно.
Автор книги -- это автор книги. Он может быть мертв в силу того, что жил в другую эпоху, потому юзером являться не сможет
Ну есть же гемы с пагинацией
Можно тупо бинарник для начала передавать через sendfile, во вьюхе HTML5 player.
38
Был у кого-то опыт переката, оно того стоило или лучше не пробовать?
А подготавливать все чтобы это работало. Если у тебя не rails, то начинается пердолинг.
Вероятно, стоило это обозначить в вопросе, не? Телепаты в отпуске.
6/6/970k/другая страна
Тут скорее вопрос к тому что за руби не стоит какая-либо корпорация уровня фаанг, которая будет развивать язык.
Здравствуй, братишка.
Искренний, чистый как обсидиан совет, иди в армию, на контрактную службу. Там, блядь, фантастически охуенно: пиздатое форменное обмундирование, льготный кредит на бетонометры, денежное довольствие плюс пайковые, делать не нужно вообще нихуя, в сравнении с железнодорожной отраслью.
Спасибо. Но лучше руки в говне чем бутылка в жепе.
Крупные, но это зарубежные. Я забыл добавить, я имел ввиду наши, российские компании по типу яндекс, mail, а также банковский сектор: сбер, альфа, тинькофф...
Мейл вполне юзает в своих проектах и стартапах. А для тырпрайза рельсы у нас слишком поздно появились, либо недостаточно производителены.
Мы за стабильные треды. Не стоит раскачивать тут.
Пердолился с докером и вдруг поломалось приложение
| ! Unable to load application: ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter
app | bundler: failed to load command: puma (/usr/local/bundle/bin/puma)
app | ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter
медуза на эликсере
Заняты работой мы, очевидно же. С ног до головы закидали тасками, некогда в треде чатиться, время - деньги, а эти питонопыхи все вкатываются да вкатываются, обсуждают сотни постов темы уровня "что за IndentationError??????", наплыв школьников, все дела.
В iOS треде тоже работяги. А в этих ваших python, js тредах один пиздеж вкатунов.
Зимний митап Saint P Ruby Community 2021! ДА, И СТРИМ И ЗАПИСЬ БУДУТ.
25 февраля на площадке Купибилета,
Стартуем, как обычно в 19.00.
Докладчики и доклады:
1. Ну собственно Шаматов. Я расскажу про Dry CLI: проект, над которым я периодически работаю.
2. Юлиан Покровский расскажет про Алгоритмы и структуры данных для рельсовика.
3. Владимир Дементьев настолько хорош, что у него есть 4 доклада, и он шафлом выберет тот, который расскажет нам.
4. Михаил Грачев расскажет про Линтеры, которые на страже порядка
25 февраля в 19:00
Литейный пр. 26, St. Petersburg, Russia
Регистрация обязательна: https://kommunity.com/saintpruby/events/winter-meetup-2021-6b2d4c4f
Стрим, предположительно, здесь
https://www.youtube.com/c/SaintPRubyCommunity
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 — Астхана Аникет, "Метрики эффективности сервиса"
Регистрация по ссылке.
https://umbrellio-event.timepad.ru/event/1535736/
Ждем тебя!
Уже ставшая традицией встреча Рубистов пройдет в 13-ый раз!
И если ранее митап проходил в офлайн режиме на одной из московских площадок, то предстоящий митап пройдет на онлайн-платформе и стать участником может любой желающий, без привязки к геопозиции.
Программа:
19:00 Григорий Петров (Evrone) — Почему Ruby медленный?
19:45 Евгений Фатеев (VK Работа) - Learning to Rank вместе с Ruby
20:30 Молчанов Андрей (Uscreen) - Краткая история кеширования
21:15 Цепелев Дмитрий (Evil Martians) - Как ускорить GraphQL API
11 марта 19:00–21:00
Регистрация обязательна: https://rubyrussia.club/meetup-13
Это копия, сохраненная 2 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.