diff --git a/.gitignore b/.gitignore index 5e3d356..ce04733 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ social/ .obsidian/ +Curses/ diff --git a/README.md b/README.md index e69de29..8edf4f8 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,45 @@ +# Инструкция по установке + +1. Скачать программу [Obsidian](https://obsidian.md/), или любой другой редактор для файлов .md. + - Arch +```bash +sudo Pacman -S obsidian +``` +- Debian\Ubuntu\Fedora\CentOS +```bash +sudo snap install obsidian --classic +``` +2. скачать git [репозиторий](https://github.com/lambehorn/knowledge_vault.git). +```bash +git clone https://github.com/lambehorn/knowledge_vault.git +``` +3. Открыть репозиторий при помощи текстового редактора который вы установили. + +--- + +Конспект предназначен для учащихся на прикладном потоке ПГНИУ, но пользоваться им может каждый желающий. + +Так же можно отправлять правки в репозиторий, что бы развивать конспект. + +# Installation guide + +1. Download the app [Obsidian](https://obsidian.md/) (or any other editor for `.md` files). + - Arch +```bash +sudo pacman -S obsidian +``` +- Debian Ubuntu Fedora CentOS +```bash +sudo snap install obsidian --classic +``` +2. Clone the git [repository](https://github.com/lambehorn/knowledge_vault.git): +```bash +git clone https://github.com/lambehorn/knowledge_vault.git +``` +3. Open the cloned folder with the text editor you installed above. + +--- + +The notes are made primarily for students of the Applied-Stream at Perm State University (PGNIU), but anyone is welcome to use them. + +Feel free to submit pull requests to help improve the notes. \ No newline at end of file diff --git a/Языки программирования/Curses - ввод текста.md b/Языки программирования/Curses - ввод текста.md deleted file mode 100644 index 75daf91..0000000 --- a/Языки программирования/Curses - ввод текста.md +++ /dev/null @@ -1,7 +0,0 @@ -В [[curses]] есть возможность создавать специальный обьект для ввода текста. -Для ввода текста импортирутется специальный обьект textpad. - -```python -from curses.textpad import Textbox -``` - diff --git a/Языки программирования/Curses - оконные объекты.md b/Языки программирования/Curses - оконные объекты.md deleted file mode 100644 index 7f4bb9e..0000000 --- a/Языки программирования/Curses - оконные объекты.md +++ /dev/null @@ -1,113 +0,0 @@ -В [[Curses]], существуют объекты, сразными параметрами, для разметки и ореинтации в консоли. -Ранее добавленный объект `stdscr`, является по сути объектом окна нашей консоли. -### Управление выводом текста -- `addch(y, x, ch[, attr])` – вывести символ. -- `addstr(y, x, str[, attr])` – вывести строку. -- `insstr([y, x,] str[, attr])` – вставить строку. -- `delch([y, x])` – удалить символ. - -### Управление положением курсора -- `move(y, x)` – переместить курсор. -- `getyx()` – получить текущие координаты курсора. -- `getbegyx()` – координаты верхнего-левого угла окна. -- `getmyx()` – размеры окна (строки, колонки). - -### Чтение ввода -- `getch([y, x])` – получить символ/код клавиши. -- `getkey([y, x])` – то же, но как строка (например `"KEY_LEFT"`). -- `getstr([y, x])` – считать строку. -- `nodelay(flag)` – включить/выключить неблокирующий ввод. -- `timeout(ms)` – задать таймаут ожидания ввода. -- -### Работа с экраном/окном -- `clear()` – очистить окно. -- `erase()` – стереть содержимое (похоже на `clear`, но без обновления). -- `refresh()` – обновить экран, показать изменения. -- `noutrefresh()` – отложенное обновление (для `doupdate()`). -- `redrawwin()` – перерисовать окно. - -### Атрибуты и цвет -- `attron(attr)` – включить атрибут. -- `attroff(attr)` – выключить атрибут. -- `attrset(attr)` – установить атрибуты. -- `bkgd(ch[, attr])` – задать символ/атрибут фона. -- `bkgdset(ch[, attr])` – задать "фон по умолчанию". -- `color_pair(n)` – использовать цветовую пару. - -### Управление окнами -- `subwin(nlines, ncols, begin_y, begin_x)` – создать подокно. -- `derwin(nlines, ncols, begin_y, begin_x)` – "деривативное" окно. -- `overlay(win)` – скопировать содержимое (не заменяя пробелы). -- `overwrite(win)` – полностью переписать. -- `box([vertch, horch])` – нарисовать рамку вокруг окна. -- `border([...])` – нарисовать рамку со своими символами. - -### Прокрутка -- `scroll([n])` – прокрутить содержимое вверх. -- `scrollok(flag)` – разрешить/запретить автопрокрутку. -### Дополнительно -- `keypad(flag)` – включить/выключить поддержку функциональных клавиш. -- `idlok(flag)` – оптимизировать обновление при вставке/удалении строк. -- `leaveok(flag)` – разрешить оставлять курсор "где попало". -- `touchwin()` – пометить всё окно для перерисовки. -- `untouchwin()` – снять метки. -- `is_wintouched()` – проверить, есть ли изменения. - -### Обьекты окон - -В curses так же можно создавать окна отдельно от основного. - -Вот несколько обьектов окон для разметки в curses: - -#### newwin - обычное окно - -- Создаётся функцией `curses.newwin(nlines, ncols, begin_y, begin_x)`. -- Можно сделать несколько таких окон в пределах `stdscr`. -- Каждый объект — независимый `_curses.window`. - -Пример: - -```python -win = curses.newwin() -``` - -#### subwin - подокно - -- Создаётся как "срез" другого окна. -- Разделяет память с родительским окном: изменения в одном видны в другом. -- Удобно, если хочешь "разбить экран на части". - -Пример: - -```python -sub = stdscr.subwin(5, 20, 2, 5) -``` - -#### derwin - Дочернее окно - -- Похоже на subwin, но привязано к координатам внутри родительского окна, а не всего экрана. -- Тоже разделяет буфер с родителем. - -Пример: - -```python -der = win.derwin(5, 20, 1, 1) -``` - -### newpad - Pad - -- "Большое окно", которое может быть больше экрана. -- Сам не отображается, нужно явно указывать какую часть показывать через pad.refresh(). -- Удобно для скроллинга длинных текстов, логов и т. п. - -Пример: - -```python -pad = curses.newpad(100, 100) -pad.refresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol) -``` - -где -- **`pminrow, pmincol`** — координаты внутри pad (откуда брать данные). -- **`sminrow, smincol`** — верхний левый угол области на экране, куда будет выведен кусок pad. -- **`smaxrow, smaxcol`** — нижний правый угол области на экране (включительно). \ No newline at end of file diff --git a/Языки программирования/Curses.md b/Языки программирования/Curses.md deleted file mode 100644 index 740b919..0000000 --- a/Языки программирования/Curses.md +++ /dev/null @@ -1,20 +0,0 @@ -Это библиотека написаная для языка [[Python]], которая позволяет писать консольные приложения. - -# Начало -для того что бы консольное приложение запустилось необходимо импортировать библиотеку curses. Так же можно импортировать обьект wrapper, для удобства, который позволит обрабатывать ваше приложение, что по сути является оберткой. - -```python -import curses -from curses import wrapper -``` - -Действия происходят внутри функции main, в котороую wrapper помещает объект - текущее окно консоли, с которым и происходит основное взаимодействие. - -```python -def main(stdscr): # Созддаем функцию с объектом окна консоли stdscr - pass -wrapper(main) # Оборачиваем функцию в wrapper -``` - -# Возможности: -### [Оконные объекты](Curses%20-%20оконные%20объекты)