# Курс лекций "Как стать разработчиком PostgreSQL"
-Данный курс предназначен для начинающих разработчиков еще не погрузившихся в мир системного программирования в общем и не знакомых с внутреннем устройством PostgreSQL в частности.
-В рамках курса учащийся двигаясь от простого к сложному познакомится с кодом СУБД PostgreSQL, с основными структурами и абстракциями используемыми в коде, а так же с приемами программирования применяющимися при разработки ядра PostgreSQL.
-Курс предполагает решение большого количества простых учебных задач затрагивающих разные аспекты функционирования ядра PostgreSQL, с подробным изучением исходного кода ядра реализующего изучаемую функциональность.
+Данный курс предназначен для начинающих разработчиков, еще не погрузившихся в мир системного программирования в общем и не знакомых с внутреннем устройством PostgreSQL в частности.
+В рамках курса учащийся, двигаясь от простого к сложному, познакомится с кодом СУБД PostgreSQL, с основными структурами и абстракциями, используемыми в коде, а так же с приемами программирования, применяющимися при разработке ядра PostgreSQL.
+Курс предполагает решение большого количества простых учебных задач, затрагивающих разные аспекты функционирования ядра PostgreSQL, с подробным изучением исходного кода ядра, реализующего изучаемую функциональность.
В идеале после завершения курса учащийся должен свободно ориентироваться в большей части кода ядра PostgreSQL или уметь самостоятельно разобраться с теми частями, которые затронуты не были.
-Данный курс не предполагает углубленного знакомства с техникой и алгоритмикой хранения поиска и обработки данных, но предполагает подробное знакомство с кодовой инфраструктурой в рамках которой эти алгоритмы практически реализованы.
+Данный курс не предполагает углубленного знакомства с техникой и алгоритмикой хранения поиска и обработки данных, но предполагает подробное знакомство с кодовой инфраструктурой, в рамках которой эти алгоритмы практически реализованы.
Курс находится на ранних этапах разработки.
На данный момент готовы лекции:
В процессе создания находится лекция:
-- Базовые структуры PostgreSQL: Типы данных переменной длинны
+- Базовые структуры PostgreSQL: Типы данных переменной длины
-#№ Подготовка к мастерклассу
+#№ Подготовка к мастер-классу
-Для участия в мастерклассе понадобиться ноутбук с утсановленным на нем Ubuntu Linux, или любом другом Debian-based дистрибутиве, одной из последних версий.
+Для участия в мастер-классе понадобится ноутбук с установленным на нем Ubuntu Linux или любым другим Debian-based дистрибутивом, одной из последних версий.
Использование других дистрибутивов Linux допускается, но всю работу по адаптации материала под конкретный дистрибутив обучающемуся придется проделывать самостоятельно.
-Перед мастерклассом пользователю следует:
+Перед мастер-классом пользователю следует:
-1. Убедится, что он имеет доступ к режиму администратора в системе. (Команда `sudo su` должна вызывать консоль в режиме адимнистратора с диезом (`#`) в приглашеении)
+1. Убедиться, что он имеет доступ к режиму администратора в системе (команда `sudo su` должна вызывать консоль в режиме адимнистратора с диезом (`#`) в приглашении).
-2. Убедиться, что в системе утстановлен PostgreSQL (команда `sudo -u postgres psql` должна вызывать командно-строчный интерфес к PostgreSQL).
+2. Убедиться, что в системе утстановлен PostgreSQL (команда `sudo -u postgres psql` должна вызывать командно-строчный интерфейс к PostgreSQL).
-3. Убедиться, что в системе развернут только один кластер PostgreSQL (команда `sudo pg_lsclusters` должна выводить только одну зеленую строчку и ни одной красной)
-В случае если кластеров оказалось более одного (а такое случается если система пережила несколько мажорных обновлений), самостоятельно свести количество кластеров к одному.
-Будте бдительны, не потеряйте свои данные, они могу оказаться в одном из старых класетров.
+3. Убедиться, что в системе развернут только один кластер PostgreSQL (команда `sudo pg_lsclusters` должна выводить только одну зеленую строчку и ни одной красной). В случае, если кластеров оказалось более одного (а такое случается, если система пережила несколько мажорных обновлений), самостоятельно свести количество кластеров к одному. Будте бдительны, не потеряйте свои данные, они могут оказаться в одном из старых кластеров.
-4. Убедится что в системе установлена только одна версия PostgreSQL. (команда `apt list --installed "postgresql-*"` должна выдавать список только одним числовым суффиксом . Например`-17` или "минус любое число", но какое-то одно)
-В случае если версий постгреса оказалось более одной (а такое может случиться, если система пережила несколько обновлений) следует удалить более старые версии.
+4. Убедиться, что в системе установлена только одна версия PostgreSQL (команда `apt list --installed "postgresql-*"` должна выдавать список только с одним числовым суффиксом, например, `-17` или "минус любое число", но какое-то одно). В случае, если версий постгреса оказалось более одной (а такое может случиться, если система пережила несколько обновлений), следует удалить более старые версии.
-5. Если были обнаружены и устранены проблемы в п.2 и 3, убедитесь, что постгрес все еще работает: перезагрузите систему и провторите п.2.
+5. Если были обнаружены и устранены проблемы из пп. 2 и 3, убедитесь, что постгрес все еще работает: перезагрузите систему и провторите п. 2.
-6. Прописать в системе репозитории с исходными кодами пакетов.`/etc/apt/sources.list` или в `/etc/apt/sources.list.d` (зависит от версии) (все строки начинающиеся с `deb ` продублировать и заменить в дубликатах `deb` на `deb-src`), обновить список пакетов командой `sudo apt-get update`. Убедится что можно получить исходный код для пакета `postgresql`: `apt-get source postgresql`
+6. Прописать в системе репозитории с исходными кодами пакетов.`/etc/apt/sources.list` или в `/etc/apt/sources.list.d` (зависит от версии) (все строки начинающиеся с `deb ` продублировать и заменить в дубликатах `deb` на `deb-src`), обновить список пакетов командой `sudo apt-get update`. Убедиться, что можно получить исходный код для пакета `postgresql`: `apt-get source postgresql`
-7. Убедитесь, что умеете редактировать текстовые файлы, используя один из консольных текстовых редакторов: `nano`, `mcedit`, `vim`, `emacs` или любой другой, на ваше усмотрение.
+7. Убедиться, что он умеет редактировать текстовые файлы, используя один из консольных текстовых редакторов: `nano`, `mcedit`, `vim`, `emacs` или любой другой на ваше усмотрение.