Skip to content

Instantly share code, notes, and snippets.

@filinivan
Created September 5, 2019 13:10
Show Gist options
  • Save filinivan/6c910daa0e1c3a2aa18a0e3ceed90d4d to your computer and use it in GitHub Desktop.
Save filinivan/6c910daa0e1c3a2aa18a0e3ceed90d4d to your computer and use it in GitHub Desktop.
Need to know !!!
По своему опыту и по общению с другими, могу выделить такие вещи:
Linux, Bash и Git. По Linux есть хорошие курсы на Stepic от института биоинформатики,
а по Git нет ничего лучше книги Pro Git ( есть рус вариант).
Веб-сервер. Понимать как работает и что происходит на пути от пользователя до бэкэнда.
Знать где лежат логи сервера и уметь ими пользоваться (включая логи nginx/apache).
Тут полного объёма знаний от вас не требуют, но общее понимание нужно + желательно знать как поднять сервер
на nginx/Apache (ИМХО лучше брать nginx)
Restful и HTTP. Понимать принципы, знать типы запросов, чем отличается GET от POST (они в целом делают похожие вещи,
но есть важные отличия) и понимать где какой применить. С GET и POST важная часть, потому как часто используют POST там,
где он не нужен.
Базы данных. Тут лучше сразу начинать с PG, дефакто это уже коммерческий стандарт.
Если все же будете смотреть на MySQL, то берите чистый - т.е. не берите MariaDB. MariaDB слишком многое позволяет
что не будет работать в других бд (к примеру схлопывать группировку без условий).
Научитесь делать простые запросы выборки, запросы с агрегацией данных, join запросы.
Попробуйте понять что такое нормализация бд и в каких случаях ее применять, но тут без фанатизма ибо в реальных задачах
не всегда ее используют, порой, для скорости работы, лучше небольшая избыточность таблицы.
Будет круто, если вы разберётесь с nested sets с использованием left and right key.
Ruby, RoR. Ознакомьтесь с Ruby style guide и следуйте ему. Конечно на работе могут быть какие-то свои стилевые особенности,
но стайл гайд есть их основа.
В стайл гайде так же объясняется почему лучше использовать тот, а не иной метод. Ознакомьтесь с основами ActiveRecord,
Моделями, Контроллерами и пр. Пробуйте создавать это без автоматической генерации, дабы лучше разбираться в RoR.
Так же советую разобраться в том, как работает rails server, как он загружает зависимости (на rusrails это все есть в
разделе Копаем глубже), дабы понимать общие принципы.
Debug. Если у вас что-то не так, не стройте предположения - дебажьтесь. Это частая ошибка в начале,
строить всяяческие предположения и лезть в гугл на оснвое этих предположений, когда достаточно было бы пройтись дебагером
по месту, где возникает ошибка (и порой это даже быстрее) . Лично я рекомендую для этого использовать RubyMine ибо он
самый useful friendly в этом вопросе,, так же в вопросе просмотра истории Git и разруливания конфликтов в Git
Ну и пожалуй самые важные навыки: уметь гуглить и не боятся возникающих ошибок .
Удачи и успехов Вам в ваших начинаниях!
P.S. Так же месяцев через 6 после начала работы, советую почитать книжки по рефакторингу.
P.P.S. немаловажной частью является понимание как работает бизнес, эту тему лучше объясняют в книге Программист Фанатик, ее я бы советовал прочитать как можно раньше :)
Update: так же по чаще старайтесь лазить внутрь методов, которые вы используете и понять как они работают
(в руби майн это ctrl + click по методу)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment