Как Дебианыч учится программировать, лайфхак из первых рук

debianeach

Опубликован:  2020-05-29T06:45:08.175732Z
600

В блоге Дебианыча в основном представлены описания и демонстрации установки операционной системы и её основных компонент, и до настоящего момента почти ни слова не сказано об использовании операционной системы в повседневной жизни и работе за компьютером. Сейчас будем исправлять это досадное недоразумение, в этом обзоре я покажу как Дебианыч решает некоторые свои повседневные задачи с помощью Debian на своём компьютере.

Как известно, компьютер — это вполне универсальный инструмент, с его помощь можно выполнять различные действия и решать практически бесконечное множество повседневных задач. Компьютер — это не только центр развлечений, это ещё и отличный помощник, с ним можно учиться, работать, создавать интересный и востребованный у аудитории контент, выполнять сложные расчёты, программировать, управлять массивами данных и так далее. Поскольку Дебианыч последнее время погрузился в изучение некоторых специфичных прикладных областей множества компьютерных задач, будет, наверно, уместно рассказать в этом блоге, как я использую компьютер в учёбе.

Я уже не молод, полтинник ломится в открытую дверь, но тем не менее даже в этом возрасте я не перестаю учиться каждый день чему-нибудь новому, и компьютер — мой великолепный помощник.

Сегодня на повестке дня у Дебианыча новый движок для этого сайта — оригинальное web-приложение для ведения технических блогов и обсуждения затронутых тем в публичных комментариях и приватными сообщениями. Не то, чтобы прежнее решение, которое вполне успешно работает на сайте сейчас, оказалось плохим или неэффективным, нет, отнюдь… Просто время идёт, программные продукты развиваются и любой программист конечно же стремится быть в потоке. К тому же старая вебка этого сайта написана на блокирующем фреймворке, что в свою очередь потянуло на сервер достаточно тяжелые и ресурсоёмкие программы и библиотеки для выполнения отложенных задач в бэкграунде. Кроме этого, текущее web-приложение обращается к базе данных посредством ORM (Object Reletional Mapper), и от этой составляющей очень хочется отказаться сразу по нескольким веским причинам, о которых я, вероятно, расскажу в одном из ближайших выпусков этого или соседнего блога. Перечисленные обстоятельства привели меня к необходимости детального и скрупулёзного изучения синтаксиса SQL и приёмов работы с базой данных PostgreSQL — задача весьма непростая и достаточно долгоиграющая. И сейчас я покажу организацию своего рабочего места для решения этой задачи.

Итак, у меня есть совершенно великолепный и неотразимый десктоп с Debian bullseye на борту и рабочим столом LXDE, выглядит это великолепие вот так.., дождь.

gVXlgxERjH.png

Панель задач, которая расположена в нижней части экрана, содержит необходимые мне управляющие элементы, в её левой части расположена кнопка системного меню, сразу за ней следует датчик температуры процессора, панель запуска приложений, переключатель рабочих столов, у меня их два, но можно настроить и большее количество. После переключателя рабочих столов следует список окон запущенных программ. В правой части панели расположен клавиатурный индикатор, на котором отображается состояние CapsLock и NumLock, далее следуют переключатель раскладок клавиатуры, регулятор громкости и системный трей, в нём отображаются значки уже запущенных и работающих в фоне программ: менеджер питания, менеджер буфера обмена, менеджер сети, выпадающий терминал и два словаря; затем следуют системные часы и две кнопки для завершения сеанса. Таким образом, панель задач является основным управляющим элементом моего рабочего стола.

Как научиться работать с базой данных PostgreSQL? Вопрос не простой. Но, вероятно, хорошо бы взять за основу хорошую книжку, в которой изложены основные сложности взаимодействия с базой данных и методы их преодоления. На текущий момент я пока ограничился официальным мануалом сообщества, который загрузил с официального сайта PostgreSQL в формате PDF. В моей панели задач выведен ярлык запуска великолепной программы для чтения таких документов — qpdfview, запускаю программу и открываю в её окне мануал PostgreSQL, оттаскиваю окно программы в правую часть экрана.

aflgcgaQ9J.png

Как видно на снимке экрана выше, я учусь работать с базой данных по англоязычному мануалу, и это имеет определённый смысл. Английский язык — это первый инструмент программиста, и чтение документации на английском даёт мне возможность совершенствовать и держать в актуальном состоянии свой английский. Случается так, что я не знаю или не совсем отчётливо понимаю смысл некоторых английских слов, последнее время такое случается нечасто, но тем не менее… На этот случай в системном трее моей панели задач болтается Goldendict, окно которого можно поднять на рабочий стол заданным сочетанием клавиш или тычком указателя в значок в системном трее.

4HWm78iUjg.png

Давным-давно, когда я только начинал учить себя английскому языку, а это было в далёком-далёком 2008 году, мне посчастливилось скачать на файлообменнике адаптацию словарей Lingvo для программы StarDict, с тех пор эти словари служат мне верой и правдой.

В тексте мануала PostgreSQL очень часто встречаются фрагменты SQL-кода. Я всегда воспроизвожу их в текстовом редакторе, который на моём рабочем столе можно запустить с помощью второй панели с кнопками запуска приложений, которая выпадает автоматически, если подвести указать мыши в левый край рабочего стола.

cncVmRMzNk.png

Kate — отличный текстовый редактор, он даёт широкие возможности для работы с кодом разных диалектов, при этом достаточно лёгкий, настраиваемый и удобный. В Kate есть встраиваемый в окно терминал. В процессе изучения синтаксиса SQL я всегда набираю примеры в текстовом редакторе — это формирует правильную моторику и даёт возможность использовать так называемую мышечную память, так как печатаю я слепым десятипальцевым методом в двух раскладках.

nIfn0NljGo.png

Следует обратить внимание, что окно текстового редактора настроено так, что оно не перекрывает текст мануала в окне qpdfview. Терминал в Kate даёт возможность запускать любые программы и открывать с их помощью любые файлы, не снимая при этом руки с основной позиции на клавиатуре — «фываолдж».

Когда заданный в мануале код набран в текстовом редакторе, его нужно проанализировать и применить на практике, для этого мне необходим сервер PostgreSQL. Устанавливать серверное программное обеспечение на десктоп — на мой взгляд совсем не блестящая идея, поэтому я создал с помощью VirtualBox виртуальный сервер, установил на него Debian bullseye и сервер PosgreSQL, настроил всё это великолепие так, чтобы им можно было управлять прямо из терминала моего десктопа, детально такие настройки описаны в одном из выпусков соседнего блога на примере Debian stretch. Запустить этот виртуальный сервер я могу прямо из терминала Kate.

VirtualBoxVM —startvm server

Yg9nQB40Aa.png

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

R7dgcs2f0E.png

Теперь мне нужно подключиться к базе данных, для этого у меня есть выпадающий терминал Guake, который всегда болтается в системном трее, и окно которого можно активировать клавишей F12. Guake настраивается, в том числе настраивается и ширина выпадающего окна, для работы с psql лучше всего подходит терминал с максимально широким окном, поэтому мой Guake всегда занимает всю ширину окна и половину окна по высоте.

MhNn0dAcGh.png

Подключившись к базе данных в терминале, я получаю возможность исполнить файл с кодом, который набрал в текстовом редакторе, и возможность проанализировать особенности выполняемых этим кодом действий с помощью простых запросов. А регулярный многократный набор команд в psql опять же вырабатывает соответствующую моторику и автоматизм — то, что мне пригодится при работе с перспективным проектом в будущем.

bTNT92U1QI.png

Таким образом окна на моём рабочем столе расположены так, что я могу видеть и текст мануала, и набранный в редакторе текст, и полученный с этим кодом выхлоп psql и изменения в базе данных, кроме этого я имею возможность управлять сразу несколькими различными сущностями в одном событийном поле, и если, например, мне нужно подёргать питонячий адаптер базы данных, терминал Kate всегда под рукой, и в нём можно запустить интерактивную сессию Питона.

BciduFeAGI.png

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

Xoc41tr80m.png

Вот примерно так происходит повседневная событийность Дебианыча сейчас, когда он занят исследованием новых возможностей и получением новых практических навыков. Расскажите в комментариях, а как вы используете свой компьютер, и что делаете с его помощью кроме Интернета, кино и компьютерных игр…

Комментарии: