• На сколько силен в Ruby уклон на функциональное программирование?

    @eliastro
    Руби - это мультипарадигменный язык (помимо ООП есть элементы функциональщины). Если в целом смотреть на руби разработку, то идет крен в ФП - набирают популярность такие фреймворки и наборы библиотек как hanami, dry-rb, где используются идеи из ФП (например монады). Сейчас на любой конфе по руби много говорят про ФП.
    Также есть родственный ЯП к руби - elixir, который собственно функциональный. И который очень популярен в руби-коммьюнити.
    Ответ написан
    Комментировать
  • Перспективы перехода в 1С?

    @eliastro
    Как бывший 1С-ник скажу свое мнение. Сам разрабатывал на 1С лет 7. По перспективам все ок, и с работой тоже. 1С никуда не денется в обозримом будущем, реальных конкурентов не видно и на горизонте. Даже не представляю, из-за чего может пошатнуться текущее господство 1С на рынке ERP для малого и среднего бизнеса. Но есть одно но. Возможно в будущем вам надоест 1С, и вы захотите прыгнуть на другой стек. И тут оказывается, это больно и сложно. 1С - это отдельная планета. И годы опыта на 1С почти ничего не стоят и не котируются, когда будете искать себе работу на другом стеке.
    С 1С ты ограничен рынком РФ, как правило это строго в офис, зп в рублях и сильно зависит от экономики страны и города(как пример обвал рубля после 2014).
    Ответ написан
  • Стоит ли возвращаться в профессию?

    @eliastro
    В вашем случае советую податься в 1С разработку. Можно и самостоятельно начать осваивать. Порог вхождения невысокий, реально устроиться стажером. Причем в возрасте. Сам видел как учитель истории вполне успешно переквалифицировался в 1с разрабы на моих глазах. За месяца 3 вполне реально поднять себя до уровня, чтобы можно было идти устраиваться джуниором. Через год вы будете уже специалист с нормальной зп и хорошими перспективами на будущее.
    Можно также пойти в 1С консультанты, если разработка это не ваше.
    Если податься в современную индустрию разработку(не 1С), то порог вхождения гораздо круче. И для этого важно подступать с горящими глазами, как тут уже писали.
    Ответ написан
    Комментировать
  • Можете оценить в часах время выполнения тестового задания на Ruby?

    @eliastro
    Первое задание - неудачное для мидла. Оно тривиальное, но при этом объемное. Минимум 8 часов, если делать норм(с тестами, с паттернами хотя бы уровня сервис обджектов). За 2-3 часа будет говнокод. Это задание для джуна. Если оно не будет оплачено, то мидл пройдет дальше мимо этой вакансии.
    Второе задание уже норм, и я бы его предлагал для мидла. Его можно прямо на собесе(порассуждать о вариантах реализации).
    Ответ написан
    Комментировать
  • На каком свете сейчас Ruby?

    @eliastro
    Чтобы оценить востребованность посмотрите вакансии на hh, moikrug, rubyjobs.dev и особенно канал телеграм @rubyjob
    Востребованность высокая, зп выше рынка в среднем по ИТ-палате.
    Из особенностей рынка - половина вакансий с возможностей удаленки. Но и там где предполагается офис, на деле готовы предложить удаленку (но не для джунов). Вопреки досужим мнениям(что только легаси проекты на поддержке), куча новых проектов пишут на руби.
    Особенно меня удивило, что различный корпоратив начал писать на руби (ростелеком, ржд, газпром, сбер и тд).
    Если будешь писать на руби, то велика вероятность, что будешь писать еще либо на голанге или эликсире. Т.к. в крупных проектах на руби распространено выносить высоконагруженные части в микросервисы на этих языках. Поэтому если перескакивают с рубей, то как правило это либо го, либо эликсир. Но чаще всего используют вместе, а не вместо.
    Ответ написан
    1 комментарий
  • Какие технологии выбрать для написания чата?

    @eliastro
    Если нужно быстрое, но при этом производительное решение - посмотрите anycable. Это переделанный рельсовый action cable на golang, который с легкостью интегрируется в рельсы, заменяя action cable. В итоге ты используешь все плюшки руби-мира и при этом имеешь производительность golang под капотом.
    https://anycable.io/
    Ответ написан
    Комментировать
  • C чего начать будущему ruby программисту, стоит ли вообще учить ruby и где найти работу?

    @eliastro
    В универ идти обязательно. Тут без оговорок. Но нужно понимать, что универ тебя не сделает программистом. От слова совсем. Нужно сразу настраиваться на самообразование. Спрашивается, зачем тогда универ, когда можно и так заниматься самообразованием? Учась 4 года в универе ты получаешь халявные годы, когда ты действительно можешь очень плотно прокачаться в самообразовании. Потом это будет сделать заметно сложнее. К тому же computer science качнуть самостоятельно сложновато (можно, но гораздо хлопотнее чем освоить какой-нибудь язык/фреймворк/технологию). Другое дело, что если это не будет топовый технический вуз, то CS скорее всего будет слабо даваться. Но все равно ты можешь самостоятельно углубляться. Изучай алгоритмы, структуры данных, математику и тд. Участвуй в студенческих олимпиадах по программированию. Это может открыть для тебя путь в ведущие ит компании. Вуз это нетворкинг, это потенциальные возможности. А также через годы спустя, ты возможно захочешь съездить поработать в другой стране. А тут раз облом - диплом обязателен оказывается.
    Какой язык учить не так важно. Если есть интерес к веб, то руби отличный вариант. Также как и js, python. Есть момент, что после руби будет сложновато переходить на другие языки - по причине того, что по сравнению с руби другие языки могут показаться убогими, деревянными и уродливыми. Но все дело привычки.
    Если бы я в школе/в вузе сам у себя теперешнего спросил, какой язык учить, то я бы посоветовал учить английский, а также плотно computer science.
    Ответ написан
  • Реализация уведомления по времени на ruby on rails?

    @eliastro
    Используйте sidekiq. В этом случае очередь задач будет обрабатываться параллельно. Настройте кол-во воркеров сайдкик исходя из нагрузки(посмотрите в админке). А также создайте несколько очередей. Та очередь задач, которую нужно обрабатывать как можно скорее - поставьте ей максимальный приоритет.
    Rescue - однопоточный. Он вам не подойдет.
    Ответ написан
  • Django или Rails для мобильных приложений?

    @eliastro
    По своему опыту скажу, RoR очень активно используется для разработки АПИ для мобильных клиентов. В последствии по мере роста проекта, некоторые части проекта могут выделяться в микросервисы например на go, elixir, nodejs.
    Ответ написан
    Комментировать
  • Как сейчас используют Ror / Django?

    @eliastro
    В новой версии рельс есть webpaker, который обеспечивает удобную интеграцию с webpack и yarn (в комлекте также есть опциональные преднастроенные интеграции с react, angular, vue).
    Но также очень популярное использование RoR - в качестве REST API. В рельсах даже есть специальный api mode. Т.е. фронт отделен от бэка в отдельное приложение. А уже с бэкендом взаимодействует веб-клиент (angular, react, ..) и мобильные клиенты. Из своей практики уже несколько проектов подряд встречаю, которые работают по такой схеме. Также часто можно наблюдать, что монолит Рельс, где заложена основная бизнес-логика, взаимодействует с различными микросервисами (которые могут быть написаны на го, эликсире или опять же на руби) для всякой асинхронщины и производительности в узких мест проекта.
    Ответ написан
    Комментировать
  • Что выбрать для карьеры c# или ruby?

    @eliastro
    Если нравится руби, то его и изучай. Скорее всего потом ты все равно перейдешь на другие языки и технологии независимо от того, что ты выберешь (руби или с#). Работы на руби много, особенно учитывая соотношения кол-во вакансий и конкуренцию на рынке. Более того на руби ты легко сможешь найти работу удаленно при желании (как на западные компании, так и РФ), т.е. не ограничен рынком своего города или страны. А в C# удаленная работа скорее исключение, чем правило. Также в плане фриланса (upwork например), то руби гораздо предпочтительнее, чем C#.
    Ответ написан
    Комментировать
  • На чем писать back-end в связки с Vue + mongodb?

    @eliastro
    Если предполагается, что бэк будет сложным, в котором будет много всего, или ожидается, что в будущем бэк будет активно дописываться, изменяться, то рекомендую писать на Ruby. В этом случае можно писать код быстро, используя уже готовые проверенные временем библиотеки(гемы), при этом код будет лаконичным, ясным и легко поддерживаемым в будущем. Если rest api, то можно выбрать фреймворк Ruby on rails 5 api mode. Связка с RoR+vue+mongodb отлично стекуется.
    Если бэк будет не сложным, то можно все что угодно.
    Если реалтайм, то nodejs или go.
    Ответ написан
    Комментировать
  • Как правильно добавить города (локацию) для пользователей?

    @eliastro
    Создаем 3 модели и связываемых их:
    class City < ActiveRecord::Base
    	has_many :users
    end
    
    class User < ActiveRecord::Base
    	has_many :posts
    	belongs_to :city
    end
    
    class Post < ActiveRecord::Base
    	belongs_to :user
    end

    Далее нам, например, понадобилось при выводе всех постов (экшен index контроллера PostsController) выводить еще и город автора поста. Тогда во вьюхе post index.html.erb вывод города - post.user.city.name. Пример реализации:
    <table>
      <thead>
        <tr>
          <th>User</th>
          <th>City</th>
          <th>Text</th>
          <th></th>
          <th></th>
          <th></th>
        </tr>
      </thead>
    
      <tbody>
        <% @posts.each do |post| %>
          <tr>
            <td><%= link_to post.user.name, user_path(post.user) %></td>
            <td><%= post.user.city.name %></td>
            <td><%= post.text %></td>
            <td><%= link_to 'Show', post %></td>
            <td><%= link_to 'Edit', edit_post_path(post) %></td>
            <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
          </tr>
        <% end %>
      </tbody>
    </table>


    Сам изучаю Рельсы. Может можно и более изящно все сделать. Но проверил - работает.
    Ответ написан
  • В данный момент собираюсь изучать 1С. Возможен ли в будущем переход на что нибудь более интереснее?

    @eliastro
    Занимаюсь профессионально 1С более 5 лет. Но заинтересовался веб-разработкой, и в данный момент плотно изучаю Ruby on Rails. Хочу перебраться из 1С в эту область. Все новое, незнакомое, непривычное, но в то же время очень интересно. К слову бытует мнение, что после 1С будет очень сложно переучиваться на другой язык. На мой взгляд, ерунда это все. Если действительно есть интерес к новым инструментам, технологиям, языкам - все осваивается без проблем.
    Сравниваю сейчас 1с и руби. Первое впечатление от руби - восторг. До того красивый, гибкий и интересный язык. Архитектура Рельс тоже очень понравилась, все логично и красиво. У 1С тоже есть свои плюсы. В первую очередь это востребованность в любом городе России. Можно спокойно переехать в другой город, и без проблем найти работу с хорошей зп по меркам того города. Наверное у многих 1с ассоциируется с бухучетом и рутиной. Но область применения 1с очень обширная. Причем зачастую выступаешь в роли бизнес-аналитика, а не программиста. На самом деле увлекательных вещей хватает.
    Вообщем переход из 1С на что-то другое, я считаю, вполне возможным при наличии интереса и мотивации.
    Ответ написан
    Комментировать