vault backup: 2026-06-01 15:11:31

This commit is contained in:
Dmitry
2026-06-01 15:11:31 +03:00
parent 6510a1b0c4
commit ab68251d40
2 changed files with 71 additions and 61 deletions
+6 -4
View File
File diff suppressed because one or more lines are too long
@@ -1,7 +1,9 @@
---
created: 2026-06-01
updated: 2026-06-01
---
# Экзамен — Разработка веб-ориентированных информационных систем
> Временная заметка для экспорта в PDF. Удалить после использования.
---
## Блок 1. Общие вопросы
@@ -176,17 +178,18 @@ $$340\ 282\ 366\ 920\ 938\ 463\ 463\ 374\ 607\ 431\ 768\ 211\ 456 \text{ адр
### Localhost и порты
**localhost** — стандартное доменное имя для loopback-адреса `127.0.0.1` (IPv4) или `::1` (IPv6). Означает «этот же компьютер».
**localhost** — стандартное доменное имя для loopback-адреса `127.0.0.1` (IPv4) или `::1` (IPv6). Означает "этот же компьютер".
**Стандартные порты:**
| Протокол | Порт |
| --- | --- |
| HTTP | 80 |
| HTTPS | 443 |
| FTP | 21 |
| SSH | 22 |
| DNS | 53 |
| SMTP | 25 |
| Протокол | Порт |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---- |
| HTTP | 80 |
| HTTPS | 443 |
| FTP | 21 |
| SSH | 22 |
| DNS | 53 |
| SMTP | 25 |
---
@@ -204,13 +207,14 @@ Content-Type: application/json
```
**Основные методы:**
| Метод | Назначение |
|---|---|
| GET | Получить ресурс |
| POST | Создать / отправить данные |
| PUT | Заменить ресурс целиком |
| PATCH | Частично обновить |
| DELETE | Удалить |
| Метод | Назначение |
| ------ | -------------------------- |
| GET | Получить ресурс |
| POST | Создать / отправить данные |
| PUT | Заменить ресурс целиком |
| PATCH | Частично обновить |
| DELETE | Удалить |
**Структура HTTP-ответа:**
```
@@ -221,13 +225,14 @@ Content-Type: text/html
```
**Коды ответов:**
| Диапазон | Смысл | Примеры |
|---|---|---|
| 1xx | Информационные | 100 Continue |
| 2xx | Успех | 200 OK, 201 Created, 204 No Content |
| 3xx | Перенаправление | 301 Moved Permanently, 302 Found |
| 4xx | Ошибка клиента | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found |
| 5xx | Ошибка сервера | 500 Internal Server Error, 503 Service Unavailable |
| Диапазон | Смысл | Примеры |
| -------- | --------------- | --------------------------------------------------------------- |
| 1xx | Информационные | 100 Continue |
| 2xx | Успех | 200 OK, 201 Created, 204 No Content |
| 3xx | Перенаправление | 301 Moved Permanently, 302 Found |
| 4xx | Ошибка клиента | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found |
| 5xx | Ошибка сервера | 500 Internal Server Error, 503 Service Unavailable |
**HTTPS** — HTTP поверх TLS/SSL. Шифрует передачу данных; порт 443. Сертификат подтверждает подлинность сервера.
@@ -257,8 +262,8 @@ URL ⊆ URI; URN ⊆ URI.
### Идентификация, аутентификация, авторизация
- **Идентификация** — присвоение субъектам уникальных идентификаторов (логин, email).
- **Аутентификация** — проверка подлинности: «ты действительно тот, кем представляешься?» (пароль, токен, биометрия).
- **Авторизация** — проверка прав: «что тебе разрешено делать?» (роли, разрешения).
- **Аутентификация** — проверка подлинности: "ты действительно тот, кем представляешься?" (пароль, токен, биометрия).
- **Авторизация** — проверка прав: "что тебе разрешено делать?" (роли, разрешения).
**Модель CIA:**
- **Конфиденциальность** — данные недоступны неавторизованным.
@@ -445,18 +450,19 @@ URL ⊆ URI; URN ⊆ URI.
- `<label for="id">` — подпись к полю (клик по label фокусирует input).
**Типы `<input>`:**
| `type` | Назначение |
|---|---|
| `text` | Обычная строка |
| `password` | Пароль (символы скрываются) |
| `email` | Email с базовой проверкой формата |
| `number` | Числовой ввод |
| `checkbox` | Флажок (можно выбрать несколько) |
| `radio` | Выбор одного из группы (одинаковый `name`) |
| `file` | Загрузка файла |
| `date` | Выбор даты |
| `hidden` | Скрытое поле |
| `submit` | Кнопка отправки |
| `type` | Назначение |
| ---------- | ------------------------------------------ |
| `text` | Обычная строка |
| `password` | Пароль (символы скрываются) |
| `email` | Email с базовой проверкой формата |
| `number` | Числовой ввод |
| `checkbox` | Флажок (можно выбрать несколько) |
| `radio` | Выбор одного из группы (одинаковый `name`) |
| `file` | Загрузка файла |
| `date` | Выбор даты |
| `hidden` | Скрытое поле |
| `submit` | Кнопка отправки |
```html
<fieldset>
@@ -806,18 +812,19 @@ class Book(models.Model):
blank=True)
```
- **`ForeignKey`** — «один ко многим»: у одного автора много книг.
- **`OneToOneField`** — «один к одному».
- **`ManyToManyField`** — «многие ко многим»; Django автоматически создаёт промежуточную таблицу.
- **`ForeignKey`** — "один ко многим": у одного автора много книг.
- **`OneToOneField`** — "один к одному".
- **`ManyToManyField`** — "многие ко многим"; Django автоматически создаёт промежуточную таблицу.
**`on_delete`:**
| Значение | Поведение |
|---|---|
| `CASCADE` | Удалить текущую запись вместе со связанной |
| `PROTECT` | Запретить удаление, пока есть ссылки |
| `SET_NULL` | Записать `NULL` (нужен `null=True`) |
| `SET_DEFAULT` | Записать значение по умолчанию |
| `DO_NOTHING` | Ничего не делать |
| Значение | Поведение |
| ------------- | ------------------------------------------ |
| `CASCADE` | Удалить текущую запись вместе со связанной |
| `PROTECT` | Запретить удаление, пока есть ссылки |
| `SET_NULL` | Записать `NULL` (нужен `null=True`) |
| `SET_DEFAULT` | Записать значение по умолчанию |
| `DO_NOTHING` | Ничего не делать |
**`related_name`** — имя обратной связи: `author.books.all()`.
@@ -1002,13 +1009,14 @@ urlpatterns = [
```
**Конвертеры пути:**
| Конвертер | Тип | Пример URL |
|---|---|---|
| `<str:name>` | Строка без `/` | `/user/ivan/` |
| `<int:pk>` | Целое положительное | `/post/42/` |
| `<slug:slug>` | Буквы, цифры, `_`, `-` | `/tag/django-orm/` |
| `<uuid:id>` | UUID | `/item/075194d3-...` |
| `<path:subpath>` | Строка с `/` | `/files/a/b/c.txt` |
| Конвертер | Тип | Пример URL |
| ---------------- | ---------------------- | -------------------- |
| `<str:name>` | Строка без `/` | `/user/ivan/` |
| `<int:pk>` | Целое положительное | `/post/42/` |
| `<slug:slug>` | Буквы, цифры, `_`, `-` | `/tag/django-orm/` |
| `<uuid:id>` | UUID | `/item/075194d3-...` |
| `<path:subpath>` | Строка с `/` | `/files/a/b/c.txt` |
**`re_path`** — маршрут с регулярным выражением:
```python