• Как сделать form object для обновления записи, а не только для создания?

    @unabl4
    ruby on rails web dev
    А обновлять как? Какие именно сущности должны быть обновляемы?
    Кстати, у вас неправильно заимплементирована транзакционность - метод "create" (без восклицательного знака) не кидает exception, и поэтому транзакция не откатится назад при ошибке.
    А так же амперсанд для безопасной навигации не нужен при проверке requirements на существование.
    attr_accessor тоже уже померли вроде :D
    Ответ написан
    3 комментария
  • Как не стать недоспециалистом?

    @mletov
    Можно читать книги, можно все время мониторить актуальные тенденции, но общения с более опытными товарищами ничто не заменит. Если не удается устроиться в компанию с сильным IT коллективом, то хотя бы на форумах почаще спрашивать "а вот так делать правильно? " или "а этот подход еще актуален?", а не удовлетворяться тем, что код компилируется и запускается. Иначе рост во многом будет в ширину, а не глубину.
    Особенно это касается вопросов, связанных не просто с написанием работающего кода, а с идеологией приложения (архитектура, ООП, масштабируемость и т д).

    На сегодняшний день проблема состоит не в нехватке информации, а наоборот, в ее избытке, а отфильтровать ее не всегда хватает знаний/опыта. Курсы Евгения Попова так популярны не потому, что люди дураки, а потому, что хорошо распиарены. Или вот я осваиваю ASP.NET MVC, нашел, как мне показалось, удобную штуку - генерацию edmx, но добрые люди на metanit.ru меня просветили, что для серьезных приложений нужно использовать Code First, иначе бы до сих пор так писал.

    Если полагаться только на самообразование, то есть риск получить нехилые такие пробелы в базовых вещах. Лично знаю людей, которые написали не одно приложение по работе с БД, неплохо знают SQL, умеют писать хранимые процедуры, но когда я упомянул слова "нормализация" и "3-я нормальная форма", вполне искренне меня спросили "что это?"
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    > разработчика, клепающего формочки?

    Как будто это что-то плохое :)

    Нарисовать красивую и удобную формочку - искусство. И навык. Которого очень часто не хватает тем самым "крутым техдирам" и прочим специалистам.

    Все хотят быть архитекторами. Но если все будут архитекторами - кто будет красить стены в домах? Класть проводку? Стелить крышу? Монтировать лифты?

    Индусы? Джумшуты?

    Ну ок, пускай красят. Но тогда не удивляйтесь последствиям :)
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Прямой ответ на вопрос: будьте в тренде технологий.
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    Jump
    @Jump
    Системный администратор со стажем.
    Учитесь, стремитесь и развивайтесь.
    Сами, ни на кого ни надеясь.
    Это конечно если вам это действительно надо, а для некоторых достаточно и формочки клепать, платят и то хорошо.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Если вы задаетесь такими вопросами, значит у вас уже есть потенциал.

    На самом деле все лучшие практики когда-то были придуманы кем-то самостоятельно, поэтому да, можно многого достичь самому, если пытаться достигать.

    Но для ускорения, попробуйте найти хобби-проект (можно и опенсорс), который близок вашему стеку технологий и интересен вам, и поучаствовать в нем - когда разберетесь в этом проекте достаточно, чтобы видеть решения каких-то задач, у вас будет появлятся интересный чужой опыт.

    Если вы перейдете когда-нибудь в другое место работы, даже если там будет круче - у вас уже будет свой опыт, в котором вполне могут быть полезные для нового проекта наработки.
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    opium
    @opium
    Просто люблю качественно работать
    я стал отличным специалистом и учился сам
    видимо я как раз тот самый крутой техдир
    Ответ написан
  • Как не стать недоспециалистом?

    @FoxInSox
    мои проблемы, т.к. никто не проверяет.

    Сами ответили на свой вопрос: устройтесь туда где будут проверять вашу работу, советовать и обучать. Очевидно работать в окружении профессионалов можно в большой компании(Яндекс, например). Если в вашем городе нет такой, то переезжайте в Питер или Москву.
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    titov_andrei
    @titov_andrei
    All my life I learn - and die a fool!
    Пробуйте организовать отдел на своей работе. Это ни чем не отличается от работы с реальными заказчиками. Те же обсуждения объёмов работы и выделение бюджетов. Возьмёте себе ученика - и наступит следующий уровень.

    С работы не дёргайтесь! Всё можно делать удалённо.
    Ответ написан
    Комментировать
  • Как не стать недоспециалистом?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    читайте книжки, развивайтесь. Крутые тех диры иногда обитают во всяких гиттерах. А еще - учитесь задавать вопросы и ищите на них ответы. Вопросы в духе "откуда взялся active record", или откуда взялись объекты и зачем они нужны если есть функции и тд. Порой в поисках ответов на эти вопросы можно много чего узнать и понять.
    Ответ написан
    2 комментария
  • Как разграничивать работу и жизнь?

    Yollyyolly
    @Yollyyolly
    владелец интернет-магазина
    Мне кажется, что "Работа" с большой буквы, когда ты все время получаешь от нее удовольствие - это несколько идеализированно. В любой деятельности есть приятные и интересные элементы, а есть рутина. Если бросать деятельность как только пошел невдохновляющий кусок - далеко не зайти. Так что уставать от работы - это совершенно нормально.
    А по поводу рекомендаций - мне помогает составление списков задач. В психологии называется операция "сброс". Просто перед выходом с работы я сажусь и записываю на бумагу (всякие приложения тоже можно, но бумага мне помогает больше) все задачи, вопросы, сомнения, которые крутятся в голове. Мозг понимает, что информация сохранена, не потеряется, и продолжать ее все время фоном держать не нужно. Переключаться на другое становится реально легче
    Ответ написан
    Комментировать
  • Как разграничивать работу и жизнь?

    A1ejandro
    @A1ejandro
    youtube блогер, ИТ-специалист
    Нужно правильно выбирать, при чем и Работу и Жизнь. Глупо тратить жизнь занимаясь нелюбимой работой. Работа обязательно должна быть любимой и творческой, чтобы ты мог сам себе ставить задачи и решать их. Задачи должны делать вызов твоим возможностям и знаниям, ты должен постоянно совершенствоваться. И тогда становится неважно, что ты не можешь "переключаться" (считай "выключаться") - более того, это становится нежелательным.

    Кроме того, в психологии есть такое понятие как "потоковое состояние". Частично выше я его и описываю. Что-то вроде открытия сверхвозможностей (типа той самой волшебной таблетки из фильма "Области тьмы", только без таблетки). Почему то это явление недостаточно изучается, хотя оно точно работает - проверено.
    Ответ написан
    Комментировать
  • Как разграничивать работу и жизнь?

    opium
    @opium
    Просто люблю качественно работать
    отпуск за свой счет на пару месяцев в году спасет вас.
    Ответ написан
    Комментировать
  • Как разграничивать работу и жизнь?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Попустит.
    Обычный перегруз, со временем адаптируетесь.
    А дома что-бы отвлечься должен быть фактор на который можно отвлечся - у кого это дети, у кого друзья и пьянки.
    Ответ написан
    Комментировать
  • Как передать объект в действие контроллера?

    viktorvsk
    @viktorvsk
    Вы сделали костыль с hidden field
    Что бы было нормально, нужно посмотреть, что такое nested resources routing
    Ответ написан
    Комментировать
  • Стоит ли изучать программирование веб-дизайнеру?

    Serhioromano
    @Serhioromano
    Web Developer
    Я закончил художественну школу и всю жизнь был связан с дизайном. Работал в бригаде отделочников советского времени, когда дизайн придумывали мы сами. Работал художником оформителем в разных организациях. Потом начал работать с компьютером. Стал дизайнеров в одной студии (полиграфия). Открытки, этикетки так сказать. Но если честно я ни когда не чувствовал себя как дома. Мне нравилось, но так как я никогда не делал ни чего другого, я думал что так и должно быть.

    Мой основной мотив, заниматся этим, была возможность самореализации. Это то чего мне всегда было нужно. Даже на гитаре научился играть между делом и закончил муз училище уже будучи взрослым.

    Но в какой то момент, я решил попробовать программировать. Я начал изучать PHP. Ну с ним естественно MySQL, HTML, CSS, JS.

    О как я был слеп. Войдя в мир программированя, я понял, почему будучи художником, и еще стал учится музыке. Мне не хватало. Я чувствовал голод. Но погрузившить в программирование, я "нашел мир своей душе" (только Бог может дать истинный мир). Я насытился. Я получил все что надо.

    Я всегда думал что я гуманитарий и точные науки, я не потяну. Даже в институт из за этого не пошел. Но оказалось, что я просто был обманут тем фактом что в 10 лет был отдан в Художественную школу что и сформировало следующие 22 года моей жизни.

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

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

    Короче

    Коротко ответ на вопрос. Может и у вас скрытый талант и любовь к этому. Может попробовав вы уже не сможете от этого отказаться. А может и нет.

    Ни знаю стоит ли изучать програмирование дизайрену, но уверен что попробовать уж точно стоит.
    Ответ написан
    Комментировать
  • Расскажите про Ваш путь rails-разработчика. С чего начинали?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я еще могу посоветовать Rails для зомби и RailsCasts. Да и вообще сам https://www.codeschool.com/ очень хороший ресурс для обучения, есть правда небольшой порог вхождения - английский язык, но для программиста он должен быть вторым родным. Хотя уровень английского в уроках там очень невысокий, так что можно смотреть с базовыми знаниями языка.
    Ответ написан
    Комментировать
  • Расскажите про Ваш путь rails-разработчика. С чего начинали?

    viktorvsk
    @viktorvsk
    railstutorial.ru/chapters/4_0/beginning
    Начинаете с фреймворка (рельсы), а не языка (руби).
    Чаще гуглите. Старайтесь читать только англоязычную информацию.
    Используйте линукс (или мак).

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

    Не велосипедьте:
    - велосипеды изобретаете только в редких случаях (по остальному гуглите best-practices, на начальном этапе >80% задач, с которым сталкнетесь, уже давно решены множество раз и очень элегантным способом), а если и написали - то делитесь с сообществом, организовав его в гем.

    Ресурсы
    - Перед тем, как приступить к решению задачи, сначали ищите решение здесь: https://www.ruby-toolbox.com/
    - Пробуйте по-максимуму использовать специализированные ресурсы (rubular, heroku), которые облегчат жизнь на каком-то этапе.
    - Сразу же привыкайте к таким вещам, как firebug, byebug, pry, Ap

    P.S.
    Итак, наверное, многих смутит подход отказаться от велосипедов, пользоваться преимуществами коммьюнити, делают вещи, которые just work и не понимать сути некоторых из них на начальном этапе.

    Так вот, хоть это и "обидно" не знать чего-то (хотя, когда знаешь, чего не знаешь - узнать это куда легче :) ), ведь кто-то может спросить тебя "Чувак! Ты сделал ЭТО, взял за ЭТО деньги, и вот скажи, как ты это сделал? Как оно работает? А что будет если Х ? А есть сделать Y? А в ситуации Z?"

    И тут понимаешь, что ты всего это не знаешь, не продумывал, но что-то уже есть, работает, деньги заплачены, фидбек получен. И тут наверное, должно стать бы стыдно... Но кроме этого тезиса я не вижу причин отказываться от предложенного подхода.

    Давайте предсатвим простейшую ситуацию и попробуем взвесить плюсы и минусы (наверное, этот вопрос будет многим интересен еще долго время)

    Вы только решили начать изучать Ruby on Rails. И тут подвернулся знакомый, которому нужен простейший сайт-визитка с простой админкой.

    Конечно, вы можете потратить неделю или месяц на то, что б понять, как сделать простейшую аутентификацию с bcrypt, как настроить rvm, unicorn, nginx на vps и наклепать кучу вьюх для редактирования чего-то там

    А можете поставить devise, active admin и high voltage, получить деньги и увидеть работающее решение, которое на 100% удовлетворяет требованиям заказчика. Хотя вы нифига и не понимаете, как оно все вместе работает.

    Какие плюсы?
    - Возможность делать реальную работу и получать реальные деньги почти сразу
    - Возможность быстро сделать то, что понравится самому, вместо того, что б перепилить 10 велосипедов, которые уже достали
    - Возможность заниматься бизнес-логикой вместо инфраструктуры
    - Использование опыта сообщества
    - Если вы стараетесь "меньше разбираться сам в готовых решения", вы рискуете не изобрести очередной велосипед, а делать все по best-practice (envrionments, deployment, svc, asset pipeline)
    ...

    Какие минусы?
    - Действительно, в тот момент, когда выйдет первый более-менее продакшн, вы не станете Йодой по экранированию кавычек или Мастером iconv.
    - У вас, скорей всего, не будет времени на изобретение нового "MVC" фреймворка
    - Врядли вы захотите "подарить миру еще одну CMS"
    - Вы не прочтете кучу учебников "руби для чайников", потому что к концу первого псевдо-проекта поймете, как мало там пользы для начала
    - И, конечно, если вы пришли сюда, "потому что айтишникам много платят", то дальше, как это называют, джуниора, не уйдете.

    А разобраться, как оно устроено внутри - можно всегда, пока не подписали никаких обязующих договоров и NDA :) хотя, и после можно.

    Точно так же, как плоха преждевременная оптимизация. Точно так же очень часто бывает плохо "преждевременно в чем-то разобраться".

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

    Или есть еще минусы? Кстати, заметьте, что никто не говорил, "нужно ли вообще делать Х". Спрашивалось, "что лучше делать вначале?".
    Ответ написан
    9 комментариев
  • Расскажите про Ваш путь rails-разработчика. С чего начинали?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Подозреваю что стандартная история у всех примерно одинаковая.

    guides.rubyonrails.org/getting_started.html и ебашить код паралельно читая документацию, статьи, книги
    Ответ написан
    Комментировать