• Стоит ли учить Ruby и Rails в 2016 году?

    Стоит ли учить язык Ruby и фреймворк Ruby on Rails в 2016 году?


    Зависит от ваших целей. Лично мне было просто интересно изучать этот язык и мне он нравится.

    В мире PHP активно развивается много отличных фреймворков и библиотек. В JavaScript вообще каждый день революция, новые подходы и фреймворки растут как грибы после дождя.
    А вот про Ruby и Ruby on Rails давно ничего не слышно.


    В мире Ruby тоже есть неплохие библиотеки и фреймворки. Например, hanami (hanamirb.org) или занимательный volt (https://github.com/voltrb/volt) у которого как на клиенте, так и на сервере используется ruby код. Правда Rails довольно сильно притягивает всех своей гравитацией, к слову, в этом месяце обещали релизнуть Rails 5 с поддержкой общения с клиентом через websocket — ждём-с.

    В целом, ещё Ruby используется для Chef (автоматизация серверов), homebrew (пакетный менеджер в маках), cocoapods для разработки OS X приложений, vagrant для управления виртуальными машинами разработки, jekyll/middleman/octopress — для генерации статических сайтов, известные sass/scss тоже на ruby, хоть теперь уже и есть реализации на других языках.

    Ещё, сравнительно недавно вылез на стол и начал танцевать, соблазняя возможностью компиляции кода — руби-косплеер Crystal (https://github.com/crystal-lang/crystal). И есть RubyMotion — фреймворк для создания OS X/iOS/Android приложений на Ruby (www.rubymotion.com).

    Тут можно посмотреть список популярных библиотек — https://github.com/markets/awesome-ruby

    В общем, смотрите сами. Да, язык сейчас не на вершине волны, но он развивается и говорить о смерти пациента рано.
    Ответ написан
    4 комментария
  • Что нужно освоить веб разработчику чтобы облегчить себе жизнь?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    1) Выбрать и настроить IDE. Освоиться в ней.
    2) Научиться работать с системами контроля версий.
    3) Научиться учиться. Выучить английский, научиться пользоваться гуглом.
    4) Научиться писать код.
    5) Научиться дебажить свой код.
    6) Научиться тестированию кода.
    7) Понять, как работает компьютер, сетевой стек, браузер, как устроены базы данных, как работает компиляция. Освоить DevOps.
    8) После 7 пункта уже можно учиться оптимизировать свой код.
    9) Научиться решать задачи, а не тупо писать код. Разобраться, когда и где и как использовать разные технологии,
    10) Научиться работать с людьми. Научиться продавать себя и свой продукт.
    11) Выкинуть хлам из дома.
    12) Старых позвать друзей.
    Ответ написан
    1 комментарий
  • Стоит ли учить Ruby и Rails в 2016 году?

    Freika
    @Freika
    Senior Ruby on Rails developer
    Прям для вас писал: frey.su/should-i-learn

    Добавлю еще, что как только вы займетесь Ruby, вы услышите о нем столько, сколько не слышали за всю жизнь. Также и с любым другим инструментом, не только с языками. Работы на Ruby и Ruby on Rails навалом.
    Ответ написан
    16 комментариев
  • Как организовать работу удаленных программистов?

    @svsanek
    Из личного опыта - много работал сам удаленно, сам нанимал людей. Больше всего понравилось как работают американцы.
    1. Все проекты на github либо bitbucket. Баг трекер там же
    2. Каждой задаче дается оценка и за оплачивается только оценка. Т.е. ты сказал, что сделаешь за 4 часа - заплатят только за 4-ре часа и не кого не волнует сколько ты провозился.
    3. Задачи дробят до самого маленького уровня. По каждой задаче все обсуждения через коменты к задаче. Никакого скайпа.
    4. Каждый час-два пинг "как дела? на каком этапе?". Пропал больше чем на 2 дня - уволен.

    Итого:
    - Возможно ли найти ответственных и самостоятельных людей?
    да
    - Каким образом следует контролировать сотрудников?
    Регулярно пингуй. Требуй решения задач в срок. Если пропал больше чем на два дня - проще избавиться и найти нового (я так за одним долго бегал). Лог задачи веди в коментах к этой задаче.
    Если ли смысл использовать тайм-трекеры на ПК работников?
    бессмысленно
    - Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?
    Давай оценить задачу, сам прикинь сколько в часах ее делать. Договоритесь, что на эту задачу столько-то часов. Плати только за часы. Ты не крупная компания, которая может оплачивать перекуры и болтовню за кофе.
    - Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?
    Есть знакомый - очень хороший PHP-девелопер (больше 5 лет стажа только удаленной работы) - берет от 750р за час. Посмотри по фриланс площадкам - сколько ребята просят за час.
    Ответ написан
    7 комментариев
  • Как организовать работу удаленных программистов?

    gadfi
    @gadfi
    https://gamega.org
    - Возможно ли найти ответственных и самостоятельных людей?

    да
    - Каким образом следует контролировать сотрудников?

    а как вы это делаете в офисе ?
    Если ли смысл использовать тайм-трекеры на ПК работников?

    нет

    - Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?

    зависит от того как принято у вас в компании
    - Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?

    столько же сколько и обычному
    Ответ написан
    Комментировать
  • Стоит ли этот курс на Udemy внимания и своих денег?

    @frilix
    Иногда "творю"
    Тыц бесплатные курсы, ну я бы даже так их не назвал. Много практики, так что теорию будите всегда закреплять, впрочем теорию сами читаете, если пройти все их курсы, то можно иметь хорошее представление о фулстак разработке
    Ответ написан
    2 комментария
  • Безопасен ли Tor Browser в базовой конфигурации для анонимности?

    @Paranoich
    Обеспечит ли гарантированную безопасность Tor в базовой конфигурации

    Безопасность обеспечит. Но не гарантирует.
    могу ли я быть спокоен что меня не смогут вычислить в случае необходимости?

    Нет, не можете.

    Вы же в практическом плане это рассматриваете, а не сферический тор в вакууме. Вы запускаете его на компьютере, на операционной системе, бок о бок с кучей других программ и сервисов. Набранный текст, файл подкачки, нечаянные попытки открыть .onion в "обычном" браузере, оставшиеся в истории - всё это может свести на нет усилия программистов.

    Про компрометацию говорят и пишут очень много, но достоверно известен лишь один случай в России кого взяли за жабры из-за публикации в сети тор запрещённых материалов. И никакой тор не поможет, если человек от большого ума регистрируется на закрытых ресурсах, размещая запрещённое видео и при этом использует тот-же уникальный и редкий логин, что и в вк, даже не меняя аватарку. А дальше пальцы в дверной проём/бита/бутылка из под шампанского (выбрать по вкусу).

    И стоило-ли ему устанавливать тор ?

    Самое уязвимое звено - это то что сидит перед монитором, а тор сделает что может, если Вы ему мешать не будете. И главное : если не понимаете назначение настроек - не трогайте их, запросто сделаете только хуже.
    Ответ написан
    Комментировать
  • Как вы систематизируете полученные знания?

    sindzicat
    @sindzicat
    Инженер-конструктор, программист-самоучка (Python)
    На этот вопрос исчерпывающий ответ дал Николай Ягодкин из advance-club, который занимается технологиями обучения. Есть три уровня запоминания информации:

    1. Уровень узнавания (да, мы проходили эту теорему, но о чём она - хз). Информация на этом уровне забывается быстро. Ведение конспектов и их использование на уровне "нашёл ответ - применил - поехал дальше" - это удержание информации на уровне узнавания. Вы часто будете пользоваться конспектом, но долго информацию в памяти держать не будете.

    2. Уровень воспроизведения (да, мы проходили эту теорему, можем рассказать её). На этом уровне информация теряется медленнее. Важно, что человек на этом уровне умеет просто воспроизводить материал.

    3. Уровень понимания. В этом случае информация сохраняется на очень долгий промежуток времени, а то и на всю жизнь. Это уровень, когда человек может строить логические связи с использованием запомненной им информации. Это же уровень навыков. Например, вы научились в детстве кататься на велосипеде, потом не катались несколько лет. Теперь нужно снова сесть за велосипед. Как его вести, вы вспомните за секунды. Т.е. на этом уровне информация воспроизводится мгновенно - гораздо быстрее, чем на остальных уровнях.

    Процесс обучения - это процесс связывания нейронов. Чтобы запомнить информацию надолго, нужно не просто учить, а доводить до уровня понимания (навыков). В этом случае между нейронами будет сильная связь. Потом нужно повторять информацию в течении 4-7 дней, чтобы связь между нейронами перестала распадаться. После этого она будет храниться годами.

    К сожалению ответ тянет на большую статью или даже на несколько статей, поэтому мне придётся сделать отсылку к бесплатным информативным вебинарам Николая Ягодкина, например этому: https://cloud.mail.ru/public/JG3f/nCjbfMNMF (К сожалению это видео уже недоступно на Youtube, поэтому скачанный мною вариант).
    Ответ написан
    4 комментария
  • Доход с Upwork для ИП: как определить налогооблагаемую базу для УСН?

    opium
    @opium
    Просто люблю качественно работать
    Откуда у вас такие странные вопросы никого не волнует что там себе апворк забрал всех волнует сколько вам на счёт упало
    Ответ написан
    6 комментариев
  • Какой софт и плагины использует front-end developer на ubuntu? Какие плюсы для разработчика имеет Linux(ubuntu)?

    @lorentzimys
    Я на убунте юзаю:
    1) Sublime 3 в качестве текстового редактора
    2) командная строка с оболочкой zsh
    3) FileZilla - для фтп доступа
    4) + на VirtualBox разворачиваю винду и ставлю на нее фотошоп. Если комп нормальный, стоит SSD диск и ресурсы компьютера распределены равномерно между виртуалкой и убунтой - то работает без проблем.
    Вместо фотошопа (если не хочется ставить виртуалку) - можно ставить GIMP + плагин с настройками редактора под вид фотошопа.
    5) Из плюсов - те что описаны выше, удобно настраивать сервера и запускать на локалхосте сайты без дополнительных средств типа энгельса и денвера дли винды (если речь о пхп). Руби, например, тоже работает лучше из под линукса, на винде, говорят - запара.
    Ответ написан
    4 комментария
  • Рассчитать монетизацию сайта?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Открою Вам страшную тайну: монетизируют свои ресурсы через рекламные сети либо люди совсем без фантазии, либо дорвейщики и прочий мусор.
    Если у Вас есть понятная, качественная аудитория - составляете список рекламодателей кому она может быть интересна, нанимаете продажников и вперед по списку. Только не надо продавать очередные банеры. Делайте спецпроекты, это гораздо выгодней.
    Это не говоря уже про прямые монетизации сервиса.
    Ответ написан
    1 комментарий
  • Минимум для Junior RoR?

    insiki
    @insiki
    broken pipe
    webils.ru/app/guest/?id=7341

    Вдобавок к ссылке выше:
    1. Rails 4. Гибкая разработка веб-приложений
    (Лично часто обращаюсь к 3-й главе, если есть вопросы)
    2. Статьи и сайт (он же на русском) покрывают практически все возникающие вначале вопросы. Углубляясь, чаще идем на apidock.com/rails и api.rubyonrails.org
    3. На 100% этих скринкастов всего 1-2% несостыковок по синтаксису.
    4. Также, если вы житель Санкт-Петербурга (или планируете переехать), можно записаться на этот отличный курс по RoR, если из другого города, то вот отличная площадка для обучения.

    ps:
    Не забываем про Convention over configuration - https://github.com/styleguide/ruby
    Ну и еще, не забываем, что Rails это Ruby - Крис Пайн - "Учись программировать"

    Список курсов по Ruby и отзывов.
    rubycourses.ru
    Ответ написан
    Комментировать
  • Как найти стабильную удалённую работу Web разработчику? Реально ли?

    @timonbandit
    Front End Developer
    Конечно реально. Я после офиса начал фрилансить на freelancer.com(но они козлы редкостные) и Odesc. За полгода было три предложения фул-тайм, при том, что не искал фул-тайм. Но в результате согласился на интересную работу, работаю из дома штатовской компании. Зарплата в любом случае выше, чем у меня по региону в 2-3 раза.
    Только вот я ненавижу работать из дома. Дома всё расслабляет. Поэтому нужно в коворкинг идти или офис небольшой снимать.
    Но в любом случае, работы за рубежом много и восточно-европейских девелоперов любят.
    Ответ написан
    10 комментариев
  • Как найти стабильную удалённую работу Web разработчику? Реально ли?

    @ivkol
    реально. Вакансии с brainstorage - галочка "удаленно"
    Ответ написан
    Комментировать
  • Существует ли красивый linux, но не ubuntu?

    @Eddy_Em
    Линукс — он для работы, а не свистоперделок.
    Если нужны свистоперделки, но не хочется вирусов, то есть макось.
    А если хочется в игрульки гонять, есть специальная прошивка для игровых приставок, в народе вындовьсом кличут.
    Ответ написан
    Комментировать
  • Существует ли красивый linux, но не ubuntu?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Вам нужна оболочка, как и сказали выше.
    А лучше Mac OS X - лучший линукс =)
    Ответ написан
    Комментировать
  • В чём разница между конструктором и initialize методом в Ruby?

    AMar4enko
    @AMar4enko
    Называйте как хотите, это не принципиально.
    По поводу двух initialize - есть такое понятие ruby way.
    Так вот, ruby way это что-то вроде
    class A
        def initialize(params)
            self.class.class_eval {attr_accessor *params.keys}
            params.each {|key,value| send("#{key}=",value)}
        end    
    end    
    
    val = A.new(:param1 => 'test', :param2 => 'test2')


    Для того, что бы иметь возможность инициализировать объекты по разным сценариям, вы можете использовать статические методы, возвращающие должным образом инициализированные объекты, например:
    class A
        class << self
            def with_param(param1) self.new(:param1 => param1); end    
            def with_two_params(param1,param2) self.new(:param1 => param1, :param2 => param2);  end    
        end        
        def initialize(params)
            self.class.class_eval {attr_accessor *params.keys}
            params.each {|key,value| send("#{key}=",value)}
        end    
    end    
    
    p A.with_param('test')
    
    p A.with_two_params('test1','test2')
    Ответ написан
    2 комментария