- PVSM.RU - https://www.pvsm.ru -
Как часто вы не могли вспомнить ту или иную команду в Git, Vim, Linux, C++? Сколько времени вы тратите на поиск ответа в man или в интернете? Пробовали ли вы когда-нибудь писать свои собственные справочники и чем это заканчивалось? Хотели бы вы немного помочь вашей памяти?
Разрешите вам помочь. Под катом небольшая история эволюции моих справочников и утилита Dic.
После прочтения своей первой IT книги, я взял за правило писать подробные конспекты всего того, что узнал «понятным языком», дабы в будущем можно было вернуться к конспектам и напомнить себе забытое. Вскоре заметил, что чаще всего забываются мелочи, такие как названия нужных утилит или команд, а перечитывать конспект слишком долго. Тогда я решил действовать иначе и писать небольшие справочники, содержащие уже не основные мысли прочитанной книги, а описание основных команд и примеры их использования. Такой подход оказался намного эффективнее предыдущего, так как мое первое предположение оказалось ошибочным: если вы прочитали книгу, то ваш
Сначала все шло хорошо, если я не мог чего-то вспомнить, то обращался к справочникам и (благодаря иерархической структуре) быстро находил нужную информацию, но иногда я охотнее откладывал решение задачи «на потом» потому, что мне было просто лень открывать нужный справочник и искать в нем (хоть и быстро) информацию. Сначала я не обращал на это внимание, сводя все к собственной лени, но с того самого времени, как я перешел на Xmonad, понял — дело вовсе не во мне. Проблема в том, что для нахождения очень небольшой порции информации я заставляю себя совершать слишком сложные действия: переходить в каталог со словарем, открывать словарь нужным редактором, используя мышь находить нужную информацию — все это слишком сложно для решения крошечной задачи, от того и лень ее решать. Для меня, как программиста любящего «велотренажеры» в программировании, это был вызов невиданной дерзости и я нашел решение!
За час я набросал «на коленке» небольшой Bash-скрипт, который предоставлял мне всю необходимую информацию оперируя короткими запросами. Весь алгоритм работы скрипта можно описать одним предложением: зная имя словаря и раздела, скрипт должен возвращать содержимое файла, описывающего данный раздел.
На практике это выглядит следующим образом. Предположим мне нужно узнать, что делает команда git init, я набираю в терминале:
dic git init
и получаю краткое (в одно предложение) описание команды:
ЛОКАЛЬНЫЙ РЕПОЗИТОРИЙ
git init - создание репозитория в текущем каталоге
КЛОН
git clone <url> [<dir>] - клонирование репозитория по указанному адресу в текущий каталог (или в каталог dir)
Используйте dic имяСловаря имяРаздела
«Как быть, если я не помню имя команды, но знаю что она делает?» — спросите вы. Выход столь же прост:
dic git | grep ''инициализация нового репозитория''
на экране появится запись:
init — инициализация нового репозитория (init,clone)
говоря нам что нужно читать раздел dic git init.
Прирост в скорости поиска информации был очевиден. Если раньше мне нужно было минимум минута-две для поиска в справочниках или в интернете, то сейчас хватает десяти секунд (я даже засекал!).
Конечно, предлагаемое мной решение подойдет не всем. Во-первых — вам нужен Bash, во-вторых — под рукой всегда должен быть терминал и вы должны уметь быстро с ним работать, в-третьих — вы должны уметь правильно составлять справочники (т.к. Dic этого делать не умеет). Если вас это не пугает, то давайте «сядем за штурвал» и посмотрим на «приборную панель»:
ИНИЦИАЛИЗАЦИЯ
git init — инициализация нового репозитория
Вот, собственно, и все, что нужно Dic для работы со словарем, все максимально просто.
Теперь пару слов о доступных командах:
Иметь под рукой удобный словарь хорошо, а если он будет заполняться сразу несколькими людьми — еще лучше! Именно поэтому Dic может использовать репозиторий на Github.com для обновления своих словарей. Конечно вы можете обойтись и без git, просто скопировав нужные вам словари в каталог .git/library, и даже создавать собственные словари, но стала бы Wikipedia.org 6-м по посещаемости сайтом в Интернете, если бы не командная работа всех пользователей?!
Если у вас еще нет Git, обязательно установите его. После первого запуска Dic, он сам создаст каталог .dic/library у вас в домашнем каталоге и скачает в него все доступные на сегодняшний день справочники. Если же вы хорошо знакомы с Git, то сможете вести собственную ветку справочников, которая, возможно, будет добавлена в основную и вашими справочниками смогут пользоваться другие. Если вы почувствовали, что ваши справочники устарели, просто выполните dic -u и он сам обновит их из репозитория.
Создавайте свои справочники и добавляйте команды в существующие по мере необходимости. Старайтесь писать максимально коротко и информативно, чтобы тратить меньше времени на поиск информации, но не забывайте, что вашими справочниками возможно будут пользоваться другие люди.
Автор: Delphinum
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/54061
Ссылки в тексте:
[1] мозг: http://www.braintools.ru
[2] Скрипт Dic: http://delphinum.ru/dic.sh
[3] Репозиторий справочников на Github.com: https://github.com/Bashka/Dic
[4] Источник: http://habrahabr.ru/post/211082/
Нажмите здесь для печати.