Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (18)

Лучшие ответы пользователя

Все ответы (11)
  • Где найти обучение/курсы для опытного web программиста?

    @hippoage
    Осознать чему нужно учиться. Например:
    1 Оценить какие проблемы были на 3х последних проектах и какие знания помогли бы это избежать
    2 Какие еще инструменты можно изучить (от vim до специализированных тулзов для профилирования). Сюда же и горячие клавиши к используемому IDE
    3 Изучить аналогичные современные библиотеки и фреймворки, возможно, что ваши подходы уже не так эффективны
    4 Изучить перспективные библиотеки и фреймворки, которые вскоре могут понадобиться
    5 Изучить принципиально другие языки программирования, например Java/PHP/Ruby(Python)/Erlang/Haskell. С языками идут свои концепции и даже на основном языке ваш код улучшится
    6 Если про веб-разработчиков, то даже среди людей со стажем 5-7 лет мало встречал, кто бы действительно знал Javascript и SQL одновременно хорошо, как правило, одну из этих вещей можно подтягивать и подтягивать. SQL еще может делиться на MySQL, PostgreSQL, MS SQL, Oracle SQL. Желательно знать первые 2 хотя бы (особенно при непонятках с будущим MySQL). + различные NOSQL
    7 Вернуться к истокам (Кнут, алгоритмы, паттерны). Особенно паттерны хорошо читаются после некоторого опыта.
    8 Что-то из смежных дисциплин (управление проектами, дизайн пользовательского интерфейса, маркетинг, архитектура сложных систем)

    Т.е., основная идея в том, чтобы найти то, в чем вы все еще новичок. Современному программисту нужно знать множество современных концепций, языков, инструментов, библиотек.

    Если же хочется копать именно в глубь по уже выбранной любимой технологии (например, язык Java), то прямая дорога на конференции с наличием соответствующих докладов (российские и зарубежные) и книги на английском языке.
    Ответ написан
  • В какие open source проекты влиться?

    @hippoage
    Ключевое слово — junior jobs. Такие есть, например, у КДЕ: https://bugs.kde.org/buglist.cgi?keywords=junior-jobs&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit Там и ментора, вроде бы, дают на такие задачи. Единственно, там С++/Qt. Немного кода есть и на ruby/python, но он все-таки не характерен для обычного применения этих языков (веб или скрипты, а не десктоп).
    Ответ написан
  • Возврат заполненного command object?

    @hippoage
    Принципиально 3 подхода:
    1. передавать скрытые поля через input type='hidden' (если ничего страшного, что пользователь может в теории их поменять)
    2. в onSubmit в переменную citizenDb загружать Citizen из базы и переопределять необходимые поля значениями из базы (если пользователь не должен иметь возможности напрямую менять некоторые поля, такие как тарифный план, сумма денег или что-то такое)
    3. использовать сессию для временного хранения объекта (как написал karabara выше)

    Теперь подробней про сессию:
    I) не уверен, что если задать в форме новый параметр, то он не изменит поле, т.е. можно использовать как п.1 выше, но не как п.2
    II) если пользователь отошел «покурить» или его отвлекли телефонным звонком, то может оказаться, что сессия пропала и вместе с ней форма стала просто непригодной (желательно отдельно протестировать этот случай и что-то делать так, чтобы полностью восстановить форму, крайне желательно с сохранением уже введенных пользователем данных)

    Из-за п. II как правило не использую сессию кроме как для хранения user id.

    Небольшое примечание: в Spring неудобно делать п.2. Например, в рейлс можно в модели задать какие поля могут обновляться из реез-запроса автоматическим байндингом, а какие нет. Здесь же нужно все вручную проверять.
    Ответ написан
  • Как лучше вести разработоку серверного ПО? На внешних скриптах или на триггерах?

    @hippoage
    Традиционный способ не случайно традиционен. Нужны веские доводы, чтобы им не пользоваться.

    Разработка в БД даже после установки/настройки/адаптации окружения для разработки все равно дольше, чем разработка обычных программ. Так же появляются дополнительные архитектурные ограничения. Единственный плюс — это увеличение скорости сложных выборок.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (1)