Перейти к содержанию

Настройка окружения

В прошлых уроках мы писали код в консольном редакторе Nano. Это бывает не очень удобно.

Можно выделить два подхода к написанию кода. Условно назовём их "задротский" и "традиционный". В нашем курсе рекомендуется придерживаться традиционного подхода.

Задротский подход

Это можно сравнить с тем, когда ты намеренно очень много времени уделяешь обработке эффективности, чтобы потом ~~ебашить~~ писать код со скоростью мысли. Кому зашли первые недели курса и кому хочется стать программистом-ниндзя — рекомендую присмотреться. Остальным лучше перейти к традиционному. Итак, задротский подход условно разделить на три этапа.

Первый этап. Научись печатать вслепую

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

Это совсем иной навык набора и его надо приобретать, отрабатывая до автоматизма. Есть специальные курсы для этого:

  1. Иди на https://www.ratatype.ru/learn, читай, осознавай. Проходи этот курс для английской раскладки. Не следует стремиться выполнить каждое задание без ошибок, лучше быстро двигаться вперед. Особое внимание обращай на правильную постановку рук. Распечатай или нарисуй табличку соответствия клавиш:пальцев и закрепи на видном месте (возле монитора), чтобы иногда подсматривать (на листочек, не на клавиатуру!). Долго на этом ресурсе не зависай, как только становится скучно - переходи к пункту 2:
  2. Добавляем фан в процесс, это очень важно! Для добавления фана: http://zty.pe играй в эту игру, она крутая https://klava.org/delta/#eng_code_python учись набирать конструкции твоего любимого языка программирования, чтобы довести их до автоматизма Чередовать с https://www.ratatype.ru/, пока не пройдешь его.
  3. Не при каких обстоятельствах не смотри на клавиатуру и не возвращайся к старой привычке набора, иначе ничего не выйдет. Так ты быстро дойдешь до "точки невозврата", когда новый стиль набора навсегда заменит старый. В течение дня полезно тыкать пальцами в воздух какие-нибудь символы, например в общественном транспорте или на скучной лекции. Так быстрее закрепятся навыки. Первое время скорость набора упадет в несколько раз, надо принять этот факт, но потом она повысится и станет намного выше прежней, а еще спустя какое-то время появится заветный автоматизм и слова и фразы будут появляться на экране сами по себе. Этого надо достичь.

Как только появится автоматизм, переходи ко второму этапу.

Второй этап. Отказаться от мышек/тачпадов во время работы

Тут два основных момента: освоение vim и использование горячих клавиш bash. Также отключаем мышь и помещаем её в какой-нибудь дальний ящик.

Смысл редактора vi (vim) в том, чтобы максимально повысить скорость редактирования текста. Но у него ОЧЕНЬ высокий входной порог: нужно владеть слепым десятипальцевым методом и нужно потратить несколько месяцев на то, чтобы изучить его основные режимы работы и команды. Не получится так, как было с Nano — запустил, поработал и закрыл. Без предварительной подготовки получится только запустить. Поработать не получится. Выйти тоже не получится :)) Итак, вим:

  1. Читаем про vim (гуглим), запускаем команду vimtutor и проходим этот встроенный туториал (займет не более часа). Там будут основы. С этого момента пишем код только в виме. Получится как со слепым методом набора: сначала будет очень неудобно и захочется всё бросить, скорость работы резко упадет и всё будет бесить — нужно принять это и продолжать дальше. В какой-то момент ты испытаешь просветление и будешь жалеть, что не открыл для себя вим раньше)
  2. Учимся создавать вкладки терминала (tabs) и переключаться между ними, а также делить вкладку (tab) на части вертикально и горизонтально (split) и прыгать по частям без мышки и тачпада. Делить терминал на части и перемещаться по ним — это важно. Ставим в ОС горячие клавиши на появление и скрытие терминала, чтобы он всегда был в двух нажатиях клавиш. Основной упор вот на эту прекрасную статью, она описывает эффективную работу в терминале: https://dwmkerr.com/effective-shell-part-1-navigating-the-command-line/
  3. Подружим vim и bash: можно использовать NERDTree, можно разделить терминал на две части — в одной вим, в другой баш, можно открыть их в разных вкладках. Важно найти для себя способ быстро переключаться между ними и кайфануть от отсутствия ненужных графических прослоек.

Теперь важный вопрос. А как же сидеть в интернете??? Для вимеров открыты возможности, которые недоступны другим. Например, есть специальный вим-браузер https://www.qutebrowser.org , также есть плагины для всех популярных браузеров, ты легко сможешь их найти. Скорость перемещения по интернету так же увеличится на порядок.

Помни про то, что важен фан: как только станет скучно — иди на https://www.shortcutfoo.com и https://vim-adventures.com

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

Третий этап. Экспериментируем

Открываем для себя дополнительные возможности инструментов и наращиваем функционал. Экспериментируем с другими инструментами.

  1. Баш — самая популярная оболочка, но далеко не единственная. Попробуй zsh (https://ohmyz.sh), fish (https://fishshell.com) или что-нибудь ещё. Сделай свой личный выбор.
  2. Если у тебя Мак — установи https://iterm2.com и настрой его под себя. Если Линукс — https://gnometerminator.blogspot.com Поэкспериментируй со всеми настройками и оцени, насколько они могут быть полезными.
  3. Изучи tmux https://github.com/tmux/tmux и научись с ним работать.
  4. Почитай о проекте https://neovim.io и попробуй его.
  5. Установи менеджер плагинов для своего вима, поставь самые популярные плагины, сделай из вима полноценную IDE (с подсветкой кода, автодополнением и тд), слепи собственный .vimrc и сохрани в удаленный репозиторий, чтобы в случае чего загружать собственные настройки на новом месте.
  6. Посмотри, что ещё существует кроме вима: слышал про Emacs?

Также вим-режим есть во всех популярных IDE и редакторах кода — VSCode, PyCharm и так далее.

Традиционный подход

В традиционном подходе предпочтение отдается графическим интерфейсам и горячим клавишам. У тебя может стоять как мощная IDE (Integrated Development Environment, интегрированная среда разработки), вроде PyCharm'а, так и легковесный, быстрый и гибкий редактор кода, вроде VSCode. Попробуй оба варианта, но для первого знакомства, небольших проектов и нашего курса рекомендуется использовать VS Code.

Скачай и установи VS Code: https://code.visualstudio.com

Открой вкладку Extensions (кнопка слева, под "жучком") и установи пакет python(это нужно для того, чтобы настроить редактор для работы с Питоном)

Открой меню: TerminalNew terminal (внизу должен появиться терминал, с ним будет удобнее, чтобы не переключаться между разными окошками)

Открой меню: HelpKeyboard shortcuts reference, распечатай этот PDF и осваивай хотя бы по одной горячей клавише в день, использование горячих клавиш очень сильно экономит время.

Давай напишем какой-нибудь простой код на питоне и запустим его. Открой новую вкладку, нажав на клавиатуре Ctrl+N (мы пользуемся только горячими клавиши, помнишь? так быстрее):

Напиши следующий код:

print('hello world')

Сохрани файл нажатием Ctrl+S. После сохранения в правом верхнем углу редактора появится зеленая стрелочка:

Нажми на неё, чтобы запустить код. Результат ты увидишь в терминале внизу.

Так, запускать код научились (найди горячую клавишу для запуска), Терминал с Башем добавили. Теперь Гит.

Снова нажми Ctrl+N. Открой вкладку Source Control (кнопка слева, над "жучком"):

VS Code предлагает открыть папку с имеющимся репозиторием или клонировать существующий с Гитхаба. Выбери второй вариант и установи плагин с работы с GitHub'ом, там нужно будет перейти в браузер и ввести пароль. Затем будет ещё куча манипуляций, после чего тебе нужно будет выбрать один из существующих репозиториев и место, куда его сохранить.

Теперь твоя задача потратить пару часов и разобраться с тем, как работать с Гитом в VS Code. Ты уже знаешь основные принципы и вот тебе официальная дока:

раз https://code.visualstudio.com/docs/editor/versioncontrol

два https://code.visualstudio.com/docs/editor/github

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

А теперь клонируй в VS Code свой репозиторий с проектом srm и попробуй что-нибудь улучшить в нём и пушнуть на Гитхаб. Например, почти все на курсе закинули ненужный пока файл .gitignore для Питона в этот проект. Удали его и пушни изменения.

Или найди опечатки в README (тоже у многих они были) и пушни изменения прямо из VS Code.

Если совсем нечего улучшать, то всегда можно что-нибудь добавить:

Так, запускать код научились. Терминал подключили. Гит тоже.

Ниже будет практика, она для самопроверки, сдавать работу не нужно.

В следующих уроках мы познакомимся с основами Питона и продолжим настраивать VS Code.

Практика

  • Установить VS Code
  • Установить пакет Python
  • Подключить Терминал
  • Распечатать или сохранить на видном месте Keyboard shortcuts reference
  • Научиться запускать код на Питоне
  • Подключить Гитхаб-аккаунт и клонировать репозиторий с твоим проектом srm
  • Что-нибудь исправить в репозитории с проектом srm и пушнуть изменения (цель — поработать с Гитом в VS Code)