Auto | arch-x1: 2026-06-05 13:29:15

This commit is contained in:
Dmitry
2026-06-05 13:29:15 +03:00
parent 8e206fed3a
commit 1acb87897f
6 changed files with 763 additions and 36 deletions
+534 -3
View File
@@ -1,5 +1,5 @@
--- ---
status: seed status: processing
type: concept type: concept
tags: [] tags: []
created: 2025-12-17 created: 2025-12-17
@@ -9,6 +9,537 @@ aliases: []
# Вопросы по Вебу # Вопросы по Вебу
## Теория по блокам
Опорные заметки:
- [[IP-адрес]], [[IPv6]], [[Подсети и маска подсети]], [[NAT]], [[DNS]], [[TCP Vs UDP]]
- [[HTTP, HTTPS и HTTP3]], [[Сетевые порты]], [[Веб-аутентификация и авторизация]], [[OAuth 2.0]], [[URI, URL, URN]]
- [[Основы HTML (структура, таблицы, формы)]]
- [[CSS: Основы и селекторы]], [[CSS: Адаптивность, Flexbox и Grid]]
- [[Django Модели и ORM]], [[Django: Представления, шаблоны и CBV]], [[Django: Формы и CUD]]
### Блок 1. Общие вопросы
**IP-адрес** - адрес узла в сети. IPv4 записывается как `192.168.1.10`, внутри это 32 бита. IPv6 длиннее, 128 бит, например `2001:db8::1`.
**Маска подсети** показывает, какая часть IP относится к сети, а какая - к устройству. В `192.168.1.10/24` первые 24 бита - сеть, оставшаяся часть - хост.
**Приватные IPv4-адреса** используются внутри локальных сетей: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`. Они не маршрутизируются напрямую в интернете.
**Localhost** - обращение к самому себе. Обычно это `127.0.0.1`.
**NAT** переводит внутренний приватный адрес в публичный. Домашний роутер обычно делает PAT: много устройств выходят в интернет через один публичный IP, а различаются по портам.
**DNS** превращает доменное имя в IP-адрес. Браузер не ходит на `example.com` как на текст - сначала нужно узнать IP через DNS.
**TCP** устанавливает соединение через `SYN`, `SYN-ACK`, `ACK`, следит за доставкой и порядком данных. Поэтому он подходит для HTTP/HTTPS.
**HTTP** - протокол запроса и ответа. Клиент отправляет запрос, сервер возвращает ответ. HTTP не хранит состояние сам по себе.
**GET** обычно получает данные. **POST** обычно отправляет данные в теле запроса: форму, JSON, файл.
**HTTP-ответ** содержит код состояния:
- `2xx` - успех;
- `3xx` - перенаправление;
- `4xx` - ошибка клиента;
- `5xx` - ошибка сервера.
**HTTPS** - это HTTP поверх TLS. Он шифрует трафик и проверяет сервер через сертификат. HTTP обычно использует порт `80`, HTTPS - `443`.
**HTTP/3** использует QUIC поверх UDP. Смысл методов и кодов HTTP не меняется, меняется транспорт.
**Идентификация** - пользователь сообщает, кто он. **Аутентификация** - доказывает это. **Авторизация** - система решает, что ему можно.
**OAuth 2.0** позволяет приложению получить ограниченный доступ без передачи пароля пользователя. Это протокол авторизации, не прямой протокол логина.
**URI** - общий идентификатор ресурса. **URL** - адрес и способ получить ресурс. **URN** - устойчивое имя без обязательного адреса.
### Блок 2. HTML
HTML описывает структуру страницы. Минимальная структура:
```html
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Страница</title>
</head>
<body>
Контент
</body>
</html>
```
`<head>` содержит служебные данные: `meta`, `title`, `link`, `script`. Видимый контент находится в `<body>`.
HTML-комментарий:
```html
<!-- комментарий -->
```
**Нормальный поток** - стандартная раскладка без flex/grid/position. Блочные элементы идут сверху вниз, строчные - внутри строки.
**Блочные элементы**: `<div>`, `<p>`, `<h1>`, `<section>`, `<form>`. Обычно занимают всю строку.
**Строчные элементы**: `<span>`, `<a>`, `<strong>`, `<em>`, `<code>`. Идут внутри текста.
**Семантические теги** помогают показать смысл: `<header>`, `<nav>`, `<main>`, `<section>`, `<article>`, `<aside>`, `<footer>`.
`class` используют для групповой стилизации. `id` должен быть уникальным на странице и часто используется для якорей и связи с `label`.
Заголовки - `<h1>` ... `<h6>`, абзацы - `<p>`, списки - `<ul>`/`<ol>` + `<li>`, таблицы - `<table>`, `<tr>`, `<th>`, `<td>`.
Ссылка:
```html
<a href="https://example.com">Текст</a>
```
Картинка:
```html
<img src="image.jpg" alt="Описание">
```
Повторяющиеся пробелы и переносы строк в HTML схлопываются. Для явного переноса используют `<br>`, но для абзацев лучше `<p>`.
### Блок 3. HTML Forms
Форма собирает данные пользователя и отправляет их на сервер:
```html
<form action="/login/" method="post">
<input name="username">
<button type="submit">Войти</button>
</form>
```
Главные атрибуты формы:
- `action` - куда отправлять данные;
- `method` - каким HTTP-методом: обычно `get` или `post`.
У полей:
- `id` нужен для связи с `label`;
- `name` нужен серверу, именно под этим именем поле попадёт в запрос.
`label` связывают с полем через `for` и `id`:
```html
<label for="email">Email</label>
<input id="email" name="email" type="email">
```
`radio` выбирает один вариант из группы с одинаковым `name`. `checkbox` - независимый флажок, можно выбрать несколько.
`required` делает поле обязательным. `placeholder` показывает подсказку внутри пустого поля, но не заменяет `label`.
`fieldset` и `legend` логически группируют поля.
`textarea` - многострочное поле текста.
У `<button>` важно явно указывать `type`: `submit`, `button`, `reset`.
### Блок 4. CSS selectors
CSS выбирает элементы селекторами и применяет к ним свойства.
Основные селекторы:
- `*` - все элементы;
- `p` - все теги `<p>`;
- `.card` - элементы с классом;
- `#main` - элемент с id;
- `div p` - потомки;
- `div > p` - прямые дочерние элементы;
- `h2 + p` - сосед сразу после `h2`;
- `input[required]` - элементы по атрибуту;
- `a:hover` - псевдокласс;
- `li:nth-child(2)` - структурный псевдокласс.
Группировка:
```css
h1, h2, h3 {
color: black;
}
```
Комбинация селекторов:
```css
button.primary:hover {
background: blue;
}
```
**Каскад** - правила могут переопределять друг друга. Если свойство конфликтует, важны специфичность и порядок.
Специфичность по силе:
1. inline-style;
2. id;
3. class, attribute, pseudo-class;
4. tag, pseudo-element.
Пример: `body .content` сильнее, чем `div p`, потому что класс сильнее тега.
Наследование - некоторые свойства переходят от родителя к потомку, например `color` и `font-family`. `margin`, `padding`, `border` обычно не наследуются.
### Блок 4. CSS базовые свойства
Блочная модель:
- `content` - содержимое;
- `padding` - внутренний отступ;
- `border` - рамка;
- `margin` - внешний отступ.
`box-sizing: content-box` - `width` задаёт только контент. `box-sizing: border-box` - `width` включает `padding` и `border`.
Если задано `width: 100px`, `padding: 10px`, `border: 5px`, `box-sizing: border-box`, реальная ширина будет `100px`.
Фон:
- `background-color`;
- `background-image`;
- `background-repeat`;
- `background-position`;
- `background-size`.
Шрифты:
- `font-family` - семейство;
- `font-size` - размер;
- `font-weight` - толщина;
- `font-style` - наклон.
Текст:
- `text-align` - выравнивание;
- `text-decoration` - подчёркивание и другие линии;
- `line-height` - расстояние между строками;
- `letter-spacing` - расстояние между буквами;
- `text-shadow` - тень текста.
`margin: 0 auto` часто центрирует блочный элемент с заданной шириной.
### Блок 5. FlexBox Layout. Grid Layout
Flexbox - одномерная раскладка: по строке или колонке.
```css
.row {
display: flex;
flex-direction: row;
}
```
Главная ось зависит от `flex-direction`. При `row` главная ось горизонтальная, при `column` - вертикальная.
`justify-content` выравнивает по главной оси. `align-items` - по поперечной. Значение `align-items` по умолчанию - `stretch`.
`inline-flex` создаёт строчный flex-контейнер.
Свойства flex-элементов:
- `flex-grow` - как элемент растёт;
- `flex-shrink` - как сжимается;
- `flex-basis` - базовый размер до распределения свободного места.
Grid - двумерная раскладка: строки и столбцы.
```css
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto minmax(200px, 1fr);
}
```
`fr` - доля свободного пространства. `repeat(3, 1fr)` - три одинаковых столбца. `minmax(200px, 1fr)` - минимум 200px, максимум по доступному месту.
Термины Grid:
- grid lines - линии сетки;
- grid tracks - строки или столбцы;
- grid cells - ячейки;
- grid areas - области.
### Блок 6. Django models
Модель Django - Python-класс, который описывает таблицу БД. Поле модели - колонка. Объект модели - строка.
Если не указать `primary_key`, Django создаёт поле `id`.
Миграции:
- `makemigrations` - создать миграции из изменений моделей;
- `migrate` - применить миграции к БД.
`class Meta` задаёт настройки модели: сортировку, имена, ограничения.
`null=True` разрешает `NULL` в БД. `blank=True` разрешает пустое значение в формах.
`CharField` требует `max_length`.
`ForeignKey` задаёт связь "многие к одному". `on_delete` говорит, что делать при удалении связанного объекта. `related_name` задаёт имя обратной связи.
`ManyToManyField` задаёт связь многие-ко-многим. Связи меняются через `.add()`, `.remove()`, `.set()`, `.clear()`.
Промежуточная модель задаётся через `through`, если у связи есть свои поля.
### Блок 7. Django FBV
FBV - function-based view, обычная функция-представление.
View принимает `request` и возвращает `HttpResponse` или результат helper-функции:
```python
def home(request):
context = {"title": "Home"}
return render(request, "index.html", context)
```
В `render()` первым аргументом должен быть `request`.
Данные в шаблон передаются через context-словарь.
`get_object_or_404(Model, pk=pk)` получает объект или возвращает ошибку 404, если объекта нет.
Маршрут связывает URL и view:
```python
path("", views.home, name="home")
```
### Блок 8. Django CBV
CBV - class-based view, представление как класс.
Основные классы:
- `TemplateView` - просто показать шаблон;
- `ListView` - показать список объектов;
- `DetailView` - показать один объект.
CBV вызывается в маршруте через `.as_view()`:
```python
path("posts/", PostListView.as_view(), name="post_list")
```
`ListView` и `DetailView` можно привязать к модели через `model = Post` или через `queryset`.
Если в `ListView` не указать ни `model`, ни `queryset`, Django выдаст ошибку.
Стандартные переменные:
- `ListView`: `object_list` и `<model>_list`;
- `DetailView`: `object` и `<model>`.
Дополнительные данные добавляют через `get_context_data()`.
Список объектов меняют через `get_queryset()`. Один объект в `DetailView` меняют через `get_object()`.
Паджинация в `ListView`:
```python
paginate_by = 10
```
Шаблоны по умолчанию:
- `ListView`: `<app>/<model>_list.html`;
- `DetailView`: `<app>/<model>_detail.html`.
При переопределении методов часто вызывают `super()`, чтобы сохранить базовую логику Django.
### Блок 9. Django URLs
Маршрутизация описывается в `urls.py`.
`path()`:
```python
path("posts/<int:pk>/", views.detail, name="detail")
```
Аргументы:
- route - шаблон URL;
- view - представление;
- kwargs - дополнительные аргументы;
- name - имя маршрута.
Path-конвертеры:
- `<int:pk>`;
- `<str:name>`;
- `<slug:slug>`;
- `<uuid:id>`;
- `<path:subpath>`.
`urlpatterns` - список маршрутов.
`re_path()` использует регулярные выражения.
`reverse()` строит URL по имени маршрута в Python.
Шаблонный тег:
```django
{% url 'app:name' arg %}
```
`app_name` задаёт namespace приложения.
### Блок 10. Язык шаблонов Django
Переменные:
```django
{{ user.name }}
```
Если переменной нет в контексте, обычно выводится пустая строка.
Теги:
```django
{% for item in items %}
{{ forloop.counter }}. {{ item }}
{% endfor %}
```
`forloop` даёт служебные данные цикла: `counter`, `first`, `last`.
Фильтры:
```django
{{ title|lower }}
{{ items|length }}
{{ date|date:"Y-m-d" }}
```
Наследование:
```django
{% extends "base.html" %}
{% block content %}
Контент
{% endblock %}
```
Включение шаблона:
```django
{% include "parts/menu.html" %}
```
Статика:
```django
{% load static %}
<link rel="stylesheet" href="{% static 'css/app.css' %}">
```
Функции Python с произвольными аргументами напрямую из шаблона обычно не вызывают. Логику готовят во view, model method, custom template tag или filter.
### Блок 11. Django queries
ORM позволяет писать запросы к БД через Python-код.
`QuerySet` ленивый: запрос в БД не выполняется сразу при создании цепочки, а выполняется при обращении к данным.
Методы:
- `.all()` - все объекты;
- `.filter()` - объекты по условию;
- `.exclude()` - исключить условие;
- `.get()` - один объект;
- `.distinct()` - убрать дубли;
- `.aggregate()` - итог по всей выборке, возвращает словарь;
- `.annotate()` - вычисляемое поле для каждого объекта;
- `.order_by()` - сортировка;
- `.count()` - количество;
- `.exists()` - проверка существования.
Цепочки:
```python
Post.objects.filter(is_published=True).order_by("-created_at")
```
`Q` нужен для сложных условий:
```python
Post.objects.filter(Q(title__icontains="web") | Q(body__icontains="web"))
```
`F` нужен для работы с полями на стороне БД:
```python
Post.objects.update(views=F("views") + 1)
```
N+1 - проблема, когда один запрос получает список, а потом в цикле делается по запросу на каждый связанный объект.
`select_related()` делает SQL JOIN и подходит для `ForeignKey`/`OneToOne`.
`prefetch_related()` делает отдельный запрос и подходит для `ManyToMany` и обратных связей.
### Блок 12. Django forms
`forms.Form` - обычная форма без прямой привязки к модели.
`forms.ModelForm` - форма на основе модели. Модель и поля задаются в `Meta`.
Основные поля:
- `CharField`;
- `IntegerField`;
- `BooleanField`;
- `ChoiceField`;
- `EmailField`;
- `DateField`;
- `FileField`.
`widget` управляет HTML-видом поля:
```python
password = forms.CharField(widget=forms.PasswordInput)
```
`help_text` задаёт подсказку.
Валидация одного поля:
```python
def clean_email(self):
email = self.cleaned_data["email"]
return email
```
Валидация связи между полями:
```python
def clean(self):
cleaned_data = super().clean()
return cleaned_data
```
После `is_valid()` появляются `cleaned_data` и `errors`. `cleaned_data` содержит очищенные Python-значения.
## Тестовые вопросы
### Какой селектор сильнее: `body .content` или `div p`? ### Какой селектор сильнее: `body .content` или `div p`?
A. div p A. div p
@@ -263,7 +794,7 @@ C. models.py
3) `get_object_or_404()` 3) `get_object_or_404()`
4) `find_or_404()` 4) `find_or_404()`
### Что произойдет, если в LiveView не указать ни `model`, ни `queryset`? ### Что произойдет, если в ListView не указать ни `model`, ни `queryset`?
1) Он автоматически найдет модель по названию класса. 1) Он автоматически найдет модель по названию класса.
2) Django выдаст ошибку. 2) Django выдаст ошибку.
3) Он покажет все объекты базы. 3) Он покажет все объекты базы.
@@ -279,4 +810,4 @@ C. models.py
1) Метод `save()` в модели. 1) Метод `save()` в модели.
2) `validate_fields()`. 2) `validate_fields()`.
3) `clean_password()`. 3) `clean_password()`.
4) Общий метод `clean()` всего класса формы. 4) Общий метод `clean()` всего класса формы.
@@ -1,12 +1,12 @@
--- ---
status: stable status: processing
type: concept type: concept
tags: tags:
- network - network
- networking - networking
- protocols - protocols
created: 2025-12-17 created: 2025-12-17
updated: 2026-05-07 updated: 2026-06-05
aliases: aliases:
- TCP Vs UDP - TCP Vs UDP
--- ---
@@ -39,4 +39,18 @@ TCP, как протокол, определен в **RFC (Request For Comments)
- User Datagram Protocol Просто бросается файлами в "сторону" получающей стороны. Может теряться часть данных, или их порядок. В случае с видео, звонками, мы можем позволить себе потерю данных. - User Datagram Protocol Просто бросается файлами в "сторону" получающей стороны. Может теряться часть данных, или их порядок. В случае с видео, звонками, мы можем позволить себе потерю данных.
![](2_TCP%20vs%20UDP_image.png) ![](2_TCP%20vs%20UDP_image.png)
## Простыми словами для экзамена
TCP — транспортный протокол с установлением соединения и контролем доставки.
Перед передачей данных TCP делает трёхстороннее рукопожатие:
1. `SYN` — клиент просит открыть соединение.
2. `SYN-ACK` — сервер подтверждает и тоже просит подтвердить.
3. `ACK` — клиент подтверждает, соединение установлено.
TCP следит за порядком сегментов, подтверждениями, потерями и повторной отправкой. Поэтому он подходит для веб-страниц, файлов, почты и других случаев, где важна целостность.
UDP проще: отправил датаграмму и не ждёт подтверждения. Это быстрее, но без гарантий доставки и порядка. HTTP/3 использует UDP не напрямую, а через QUIC, который добавляет поверх UDP надёжность, шифрование и управление потоками.
@@ -8,7 +8,7 @@ tags:
- database - database
- migrations - migrations
created: 2026-05-30 created: 2026-05-30
updated: 2026-05-31 updated: 2026-06-05
source: source:
- '[[lec1-django_start_models-1.pdf]]' - '[[lec1-django_start_models-1.pdf]]'
- '[[lec4-django_lec_queries.pdf]]' - '[[lec4-django_lec_queries.pdf]]'
@@ -77,6 +77,15 @@ class Article(models.Model):
cover = models.ImageField(upload_to="covers/", blank=True) cover = models.ImageField(upload_to="covers/", blank=True)
``` ```
Если не указать `primary_key=True`, Django автоматически создаёт поле `id`. В современных версиях тип поля по умолчанию обычно задаётся настройкой `DEFAULT_AUTO_FIELD`, часто это `BigAutoField`.
`CharField` требует `max_length`, потому что БД должна знать максимальный размер строки.
`null=True` и `blank=True` — не одно и то же:
- `null=True` разрешает хранить `NULL` в базе данных;
- `blank=True` разрешает оставлять поле пустым в формах и админке.
### Отношения ### Отношения
- `ForeignKey(Target, on_delete=...)` — связь "один ко многим": у одной записи `Target` может быть много связанных записей текущей модели. - `ForeignKey(Target, on_delete=...)` — связь "один ко многим": у одной записи `Target` может быть много связанных записей текущей модели.
- `OneToOneField(Target, on_delete=...)` — связь "один к одному": каждой записи соответствует максимум одна связанная запись. - `OneToOneField(Target, on_delete=...)` — связь "один к одному": каждой записи соответствует максимум одна связанная запись.
@@ -105,6 +114,32 @@ class Book(models.Model):
co_authors = models.ManyToManyField(Author, related_name="coauthored_books", blank=True) co_authors = models.ManyToManyField(Author, related_name="coauthored_books", blank=True)
``` ```
`related_name` задаёт имя обратной связи. Если у книги есть `author = ForeignKey(Author, related_name="books")`, то у автора можно получить книги так:
```python
author.books.all()
```
Для `ManyToManyField` промежуточная модель задаётся через `through`, когда у самой связи есть дополнительные поля:
```python
class Student(models.Model):
name = models.CharField(max_length=100)
class Course(models.Model):
title = models.CharField(max_length=100)
students = models.ManyToManyField(Student, through="Enrollment")
class Enrollment(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
grade = models.IntegerField(null=True, blank=True)
```
Связь можно менять методами `.add()`, `.remove()`, `.set()`, `.clear()`.
--- ---
## Миграции ## Миграции
@@ -214,3 +249,34 @@ books = Book.objects.filter(
# F: увеличить счётчик просмотров прямо в БД # F: увеличить счётчик просмотров прямо в БД
Book.objects.filter(id=1).update(views=F("views") + 1) Book.objects.filter(id=1).update(views=F("views") + 1)
``` ```
## Простыми словами для экзамена
Модель Django — это Python-класс, который описывает таблицу БД. Поле модели — это колонка таблицы. Объект модели — это строка таблицы.
`Class Meta` задаёт служебные настройки модели: сортировку, человекочитаемые имена, ограничения, имя таблицы.
Основные методы QuerySet:
- `.all()` — все объекты;
- `.filter()` — несколько объектов по условию;
- `.exclude()` — всё, кроме условия;
- `.get()` — ровно один объект; если ноль или больше одного, будет ошибка;
- `.order_by()` — сортировка;
- `.count()` — количество;
- `.exists()` — есть ли хотя бы одна запись;
- `.distinct()` — убрать дубли;
- `.aggregate()` — один итог по всей выборке, возвращает словарь;
- `.annotate()` — добавляет вычисляемое поле каждому объекту.
Если нужно найти максимум цены по каждой категории, используют `annotate()` на категориях:
```python
Category.objects.annotate(max_price=Max("product__price"))
```
Если нужен один максимум по всем товарам, используют `aggregate()`:
```python
Product.objects.aggregate(max_price=Max("price"))
```
@@ -8,7 +8,7 @@ tags:
- cbv - cbv
- fbv - fbv
created: 2026-05-30 created: 2026-05-30
updated: 2026-05-31 updated: 2026-06-05
source: source:
- '[[lec2-django_lec_urls_views_templates-1.pdf]]' - '[[lec2-django_lec_urls_views_templates-1.pdf]]'
- '[[lec3-django_cbv-1.pdf]]' - '[[lec3-django_cbv-1.pdf]]'
@@ -76,6 +76,15 @@ from django.urls import reverse
url = reverse("blog:post_detail", kwargs={"pk": 1}) url = reverse("blog:post_detail", kwargs={"pk": 1})
``` ```
`path()` обычно принимает:
- `route` — строка маршрута;
- `view` — функция или `ClassView.as_view()`;
- `kwargs` — дополнительные аргументы view;
- `name` — имя маршрута для `{% url %}` и `reverse()`.
`app_name` задаёт namespace приложения. Тогда маршрут вызывается как `blog:post_detail`, а не просто `post_detail`.
--- ---
## Представления (Views) ## Представления (Views)
@@ -94,6 +103,12 @@ def index(request):
return render(request, "app/index.html", {"items": latest_items}) return render(request, "app/index.html", {"items": latest_items})
``` ```
У `render()` первым аргументом должен идти `request`:
```python
return render(request, "index.html", context)
```
```python ```python
from django.shortcuts import get_object_or_404, render from django.shortcuts import get_object_or_404, render
@@ -140,6 +155,35 @@ class PostDetailView(DetailView):
context_object_name = "post" context_object_name = "post"
``` ```
Если в `ListView` не указать ни `model`, ни `queryset`, Django не поймёт, какие объекты показывать, и выдаст ошибку.
Стандартные имена в контексте:
- `ListView``object_list` и дополнительно `<model>_list`, например `post_list`;
- `DetailView``object` и дополнительно `<model>`, например `post`.
Методы, которые часто переопределяют:
- `get_queryset()` — изменить список объектов;
- `get_object()` — изменить получение одного объекта;
- `get_context_data()` — добавить данные в шаблон.
При переопределении `get_context_data()` обычно сначала вызывают базовую логику:
```python
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["title"] = "Посты"
return context
```
Паджинация в `ListView` включается через `paginate_by = 10`. В шаблоне появляются `page_obj`, `paginator`, `is_paginated`.
Шаблоны по умолчанию:
- `ListView` ищет `<app>/<model>_list.html`;
- `DetailView` ищет `<app>/<model>_detail.html`.
```python ```python
# blog/urls.py # blog/urls.py
from django.urls import path from django.urls import path
@@ -167,6 +211,8 @@ urlpatterns = [
Шаблон получает контекст из view. Например, если view передала `{"posts": posts}`, в шаблоне доступна переменная `posts`. Шаблон получает контекст из view. Например, если view передала `{"posts": posts}`, в шаблоне доступна переменная `posts`.
Если обратиться к переменной, которой нет в контексте, Django-шаблон обычно выведет пустую строку, а не Python-ошибку.
```html ```html
{% for post in posts %} {% for post in posts %}
<article> <article>
@@ -247,3 +293,27 @@ STATICFILES_DIRS = [BASE_DIR / "static"]
```bash ```bash
python manage.py collectstatic python manage.py collectstatic
``` ```
## Простыми словами для экзамена
FBV — view как функция. CBV — view как класс с готовой логикой.
Маршрут соединяет URL и view:
```python
path("find/", views.find, name="find")
```
В шаблоне ссылка на именованный маршрут создаётся так:
```html
<a href="{% url 'myapp:find' %}">Поиск</a>
```
Шаблонные переменные пишутся через `{{ variable }}`. Шаблонные теги пишутся через `{% tag %}`. Комментарии пишутся через `{# comment #}`.
Ключ словаря в шаблоне читается через точку:
```django
{{ user_data.name }}
```
@@ -8,7 +8,7 @@ tags:
- validation - validation
- modelform - modelform
created: 2026-05-30 created: 2026-05-30
updated: 2026-05-31 updated: 2026-06-05
title: "Django: Работа с формами и CUD" title: "Django: Работа с формами и CUD"
source: source:
- '[[lec5-django_cud_form.pdf]]' - '[[lec5-django_cud_form.pdf]]'
@@ -43,6 +43,8 @@ class BlogForm(forms.ModelForm):
} }
``` ```
В `ModelForm` модель и поля задаются во внутреннем классе `Meta`. `fields` показывает, какие поля модели попадут в форму. `exclude` можно использовать наоборот: указать, какие поля не включать.
--- ---
## Жизненный цикл формы в представлении ## Жизненный цикл формы в представлении
@@ -107,6 +109,8 @@ class RegisterForm(forms.Form):
return cleaned_data return cleaned_data
``` ```
Для проверки связи между полями используют общий `clean()`. Например, "Пароль" и "Повтор пароля" нельзя нормально проверить через `clean_password()`, потому что нужно сравнить два поля.
--- ---
## Generic Editing Views (CBV для CUD) ## Generic Editing Views (CBV для CUD)
@@ -188,3 +192,39 @@ class BlogDeleteView(DeleteView):
При `POST` Django сверяет токен из формы с токеном пользователя. Если токена нет или он неправильный, запрос отклоняется. При `POST` Django сверяет токен из формы с токеном пользователя. Если токена нет или он неправильный, запрос отклоняется.
Короткое правило: во все HTML-формы с `method="post"` добавлять `{% csrf_token %}`. Короткое правило: во все HTML-формы с `method="post"` добавлять `{% csrf_token %}`.
## Простыми словами для экзамена
Форма Django делает три вещи:
1. Описывает поля.
2. Валидирует входные данные.
3. Даёт очищенные данные в `cleaned_data`.
Основные поля:
- `CharField` — строка;
- `IntegerField` — целое число;
- `BooleanField``True/False`;
- `ChoiceField` — выбор из списка;
- `EmailField` — email;
- `DateField` — дата;
- `FileField` — файл.
`widget` управляет HTML-представлением поля, а не типом данных. Например, строковое поле можно показать как пароль:
```python
password = forms.CharField(widget=forms.PasswordInput)
```
Подсказка к полю задаётся через `help_text`:
```python
email = forms.EmailField(help_text="Введите рабочую почту")
```
После `form.is_valid()`:
- `form.cleaned_data` содержит нормальные Python-значения;
- `form.errors` содержит ошибки;
- `form.save()` у `ModelForm` сохраняет объект модели.
+33 -27
View File
@@ -1,6 +1,6 @@
--- ---
generated: 2026-06-05 generated: 2026-06-05
total: 504 total: 505
--- ---
# Vault Index # Vault Index
@@ -9,7 +9,7 @@ total: 504
| Параметр | Значение | | Параметр | Значение |
|----------|----------| |----------|----------|
| Всего заметок | 504 | | Всего заметок | 505 |
## . ## .
@@ -20,6 +20,12 @@ total: 504
| [[CODEX]] | CODEX | — | — | [] | | [[CODEX]] | CODEX | — | — | [] |
| [[GEMINI]] | GEMINI | — | — | [] | | [[GEMINI]] | GEMINI | — | — | [] |
## 00 Inbox
| Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------|
| [[Вопросы по Вебу]] | — | processing | concept | [] |
## 01 Ideas ## 01 Ideas
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
@@ -243,8 +249,8 @@ total: 504
| [[Индексное инвестирование]] | Индексное инвестирование | seed | guide | [finance, investments, index, funds] | | [[Индексное инвестирование]] | Индексное инвестирование | seed | guide | [finance, investments, index, funds] |
| [[Инсайдерская торговля и манипулирование рынком]] | Инсайдерская торговля и манипулирование рынком | seed | concept | [finance, investments, market-abuse] | | [[Инсайдерская торговля и манипулирование рынком]] | Инсайдерская торговля и манипулирование рынком | seed | concept | [finance, investments, market-abuse] |
| [[Криптовалюты как инвестиционный актив]] | Криптовалюты как инвестиционный актив | seed | concept | [finance, investments, crypto] | | [[Криптовалюты как инвестиционный актив]] | Криптовалюты как инвестиционный актив | seed | concept | [finance, investments, crypto] |
| [[Облигации с залоговым обеспечением]] | Облигации с залоговым обеспечением денежных требований | seed | concept | [finance, investments, bonds, abs] |
| [[Облигации]] | Облигации | seed | guide | [finance, investments, bonds] | | [[Облигации]] | Облигации | seed | guide | [finance, investments, bonds] |
| [[Облигации с залоговым обеспечением]] | Облигации с залоговым обеспечением денежных требований | seed | concept | [finance, investments, bonds, abs] |
| [[Оценка акций]] | Оценка акций | seed | guide | [finance, investments, stocks, valuation] | | [[Оценка акций]] | Оценка акций | seed | guide | [finance, investments, stocks, valuation] |
| [[Риск-профиль инвестора]] | Риск-профиль инвестора | seed | concept | [finance, investments, risk] | | [[Риск-профиль инвестора]] | Риск-профиль инвестора | seed | concept | [finance, investments, risk] |
| [[Трейдинг]] | Трейдинг | seed | guide | [finance, trading, risk] | | [[Трейдинг]] | Трейдинг | seed | guide | [finance, trading, risk] |
@@ -263,8 +269,8 @@ total: 504
| [[Методы признания доходов и расходов]] | Методы Признания Доходов И Расходов | seed | concept | [finance, taxes] | | [[Методы признания доходов и расходов]] | Методы Признания Доходов И Расходов | seed | concept | [finance, taxes] |
| [[Налог на добавленную стоимость]] | Налог На Добавленную Стоимость | seed | concept | [mephi, finance, taxes] | | [[Налог на добавленную стоимость]] | Налог На Добавленную Стоимость | seed | concept | [mephi, finance, taxes] |
| [[Налог на доходы физических лиц (НДФЛ)]] | Налог На Доходы Физических Лиц (НДФЛ) | processing | concept | [mephi, tax, finance, taxes, ndfl] | | [[Налог на доходы физических лиц (НДФЛ)]] | Налог На Доходы Физических Лиц (НДФЛ) | processing | concept | [mephi, tax, finance, taxes, ndfl] |
| [[Налог на имущество ФЛ]] | Налог На Имущество ФЛ | seed | concept | [finance, taxes] |
| [[Налог на имущество организаций]] | Налог На Имущество Организаций | seed | concept | [finance, taxes] | | [[Налог на имущество организаций]] | Налог На Имущество Организаций | seed | concept | [finance, taxes] |
| [[Налог на имущество ФЛ]] | Налог На Имущество ФЛ | seed | concept | [finance, taxes] |
| [[Налог на прибыль]] | Налог На Прибыль | seed | concept | [finance, taxes, profit-tax] | | [[Налог на прибыль]] | Налог На Прибыль | seed | concept | [finance, taxes, profit-tax] |
| [[Налоги - MOC]] | Налоги - MOC | stable | moc | [finance, taxes] | | [[Налоги - MOC]] | Налоги - MOC | stable | moc | [finance, taxes] |
| [[Налоговая декларация]] | Налоговая Декларация | processing | concept | [mephi, tax, finance, taxes] | | [[Налоговая декларация]] | Налоговая Декларация | processing | concept | [mephi, tax, finance, taxes] |
@@ -445,8 +451,8 @@ total: 504
| [[ФА - вращение]] | ФА - Вращение | seed | concept | [math, statistics, factor-analysis] | | [[ФА - вращение]] | ФА - Вращение | seed | concept | [math, statistics, factor-analysis] |
| [[ФА - модель, цель, сущность]] | ФА - Модель, Цель, Сущность | stable | concept | [math, ml, mephi, statistics, factor-analysis] | | [[ФА - модель, цель, сущность]] | ФА - Модель, Цель, Сущность | stable | concept | [math, ml, mephi, statistics, factor-analysis] |
| [[Факторное отображение. Факторная структура]] | Факторное Отображение. Факторная Структура | stable | concept | [math, mephi, statistics, factor-analysis] | | [[Факторное отображение. Факторная структура]] | Факторное Отображение. Факторная Структура | stable | concept | [math, mephi, statistics, factor-analysis] |
| [[Факторный анализ. Цели и сущность. Постановка задачи. Отличие от анализа главных компонент]] | Факторный Анализ. Цели И Сущность. Постановка Задачи. Отличие От Анализа Главных | seed | concept | [math, mephi, statistics, factor-analysis] |
| [[Факторный анализ]] | Факторный Анализ | stable | concept | [math, ml, mephi, statistics, factor-analysis] | | [[Факторный анализ]] | Факторный Анализ | stable | concept | [math, ml, mephi, statistics, factor-analysis] |
| [[Факторный анализ. Цели и сущность. Постановка задачи. Отличие от анализа главных компонент]] | Факторный Анализ. Цели И Сущность. Постановка Задачи. Отличие От Анализа Главных | seed | concept | [math, mephi, statistics, factor-analysis] |
| [[Фундаментальная теорема факторного анализа]] | Фундаментальная Теорема Факторного Анализа | stable | concept | [math, mephi, statistics, factor-analysis] | | [[Фундаментальная теорема факторного анализа]] | Фундаментальная Теорема Факторного Анализа | stable | concept | [math, mephi, statistics, factor-analysis] |
| [[Этапы ФА. Выделение факторов]] | Этапы ФА. Выделение Факторов | seed | concept | [math, mephi, statistics, factor-analysis] | | [[Этапы ФА. Выделение факторов]] | Этапы ФА. Выделение Факторов | seed | concept | [math, mephi, statistics, factor-analysis] |
@@ -470,24 +476,24 @@ total: 504
| [[Ethernet]] | Ethernet | stable | concept | [network, networking, ethernet] | | [[Ethernet]] | Ethernet | stable | concept | [network, networking, ethernet] |
| [[LAN vs WAN]] | LAN Vs WAN | stable | concept | [network, networking] | | [[LAN vs WAN]] | LAN Vs WAN | stable | concept | [network, networking] |
| [[MAC-адрес]] | MAC-адрес | stable | concept | [networking] | | [[MAC-адрес]] | MAC-адрес | stable | concept | [networking] |
| [[NAT]] | NAT | stable | concept | [network, networking, nat] | | [[NAT]] | NAT | processing | concept | [network, networking, nat] |
| [[Networking - MOC]] | Networking - MOC | stable | moc | [network, networking] | | [[Networking - MOC]] | Networking - MOC | stable | moc | [network, networking] |
| [[OAuth 2.0]] | OAuth 2, OAuth 2.0 | seed | concept | [web, security, oauth, authorization] | | [[OAuth 2.0]] | OAuth 2, OAuth 2.0 | processing | concept | [web, security, oauth, authorization] |
| [[VLSM]] | VLSM | stable | concept | [network, networking] | | [[VLSM]] | VLSM | stable | concept | [network, networking] |
| [[VPN]] | VPN | stable | concept | [network, networking, vpn] | | [[VPN]] | VPN | stable | concept | [network, networking, vpn] |
| [[Базовая настройка коммутатора]] | Базовая Настройка Коммутатора | stable | concept | [network, networking] | | [[Базовая настройка коммутатора]] | Базовая Настройка Коммутатора | stable | concept | [network, networking] |
| [[Введение в сетевую безопасность]] | Введение в сетевую безопасность | seed | concept | [networking, security, infosec] | | [[Введение в сетевую безопасность]] | Введение в сетевую безопасность | seed | concept | [networking, security, infosec] |
| [[Веб-аутентификация и авторизация]] | Идентификация, аутентификация и авторизация, Веб-аутентификация | seed | concept | [web, security, authentication, authorization, oauth] | | [[Веб-аутентификация и авторизация]] | Идентификация, аутентификация и авторизация, Веб-аутентификация | processing | concept | [web, security, authentication, authorization, oauth] |
| [[Витая пара]] | Витая Пара | stable | concept | [network, networking] | | [[Витая пара]] | Витая Пара | stable | concept | [network, networking] |
| [[Иерархическая модель Cisco]] | Иерархическая Модель Cisco | stable | concept | [network, networking] | | [[Иерархическая модель Cisco]] | Иерархическая Модель Cisco | stable | concept | [network, networking] |
| [[Инкапсуляция данных]] | Инкапсуляция Данных | stable | concept | [network, networking] | | [[Инкапсуляция данных]] | Инкапсуляция Данных | stable | concept | [network, networking] |
| [[Коммутатор L3 vs Маршрутизатор]] | Коммутатор L3 Vs Маршрутизатор | stable | concept | [network, networking] | | [[Коммутатор L3 vs Маршрутизатор]] | Коммутатор L3 Vs Маршрутизатор | stable | concept | [network, networking] |
| [[Модель OSI]] | Модель OSI | stable | concept | [network, networking, osi] | | [[Модель OSI]] | Модель OSI | stable | concept | [network, networking, osi] |
| [[Подсети и маска подсети]] | Маска подсети, Подсети | seed | concept | [network, networking, subnet, ipv4] | | [[Подсети и маска подсети]] | Маска подсети, Подсети | processing | concept | [network, networking, subnet, ipv4] |
| [[Пример настройки DHCPv6]] | Пример Настройки DHCPv6 | stable | concept | [network, networking] | | [[Пример настройки DHCPv6]] | Пример Настройки DHCPv6 | stable | concept | [network, networking] |
| [[Режимы передачи данных в сетях]] | Режимы Передачи Данных В Сетях | stable | concept | [network, networking] | | [[Режимы передачи данных в сетях]] | Режимы Передачи Данных В Сетях | stable | concept | [network, networking] |
| [[Сегментация сети]] | Сегментация Сети | stable | concept | [network, networking] | | [[Сегментация сети]] | Сегментация Сети | stable | concept | [network, networking] |
| [[Сетевые порты]] | Сетевые порты | seed | concept | [network, networking, ports, tcp, udp, web] | | [[Сетевые порты]] | Сетевые порты | processing | concept | [network, networking, ports, tcp, udp, web] |
| [[Сетевые устройства]] | Сетевые Устройства | stable | concept | [network, networking] | | [[Сетевые устройства]] | Сетевые Устройства | stable | concept | [network, networking] |
| [[Утилита Ping]] | Утилита Ping | stable | concept | [network, networking] | | [[Утилита Ping]] | Утилита Ping | stable | concept | [network, networking] |
| [[Широковещательные и коллизионные домены. Коммутация.]] | Широковещательные И Коллизионные Домены. Коммутация | stable | concept | [network, networking] | | [[Широковещательные и коллизионные домены. Коммутация.]] | Широковещательные И Коллизионные Домены. Коммутация | stable | concept | [network, networking] |
@@ -517,20 +523,20 @@ total: 504
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------| |---------|---------|--------|------|------|
| [[ARP]] | ARP | stable | concept | [network, networking, protocols, arp] | | [[ARP]] | ARP | stable | concept | [network, networking, protocols, arp] |
| [[DNS]] | DNS | stable | concept | [network, networking, protocols, dns] | | [[DNS]] | DNS | processing | concept | [network, networking, protocols, dns] |
| [[HTTP, HTTPS и HTTP3]] | HTTP, HTTPS и HTTP/3 | seed | concept | [web, network, networking, protocols, http, https, http3] | | [[HTTP, HTTPS и HTTP3]] | HTTP, HTTPS и HTTP/3 | processing | concept | [web, network, networking, protocols, http, https, http3] |
| [[ICMP - Internet Control Message]] | ICMP - Internet Control Message | stable | concept | [network, networking, protocols, icmp] | | [[ICMP - Internet Control Message]] | ICMP - Internet Control Message | stable | concept | [network, networking, protocols, icmp] |
| [[IP-адрес]] | IP-адрес | stable | concept | [network, networking, protocols] | | [[IP-адрес]] | IP-адрес | processing | concept | [network, networking, protocols] |
| [[IPv6]] | IPv6 | stable | concept | [network, networking, protocols, ipv6] | | [[IPv6]] | IPv6 | stable | concept | [network, networking, protocols, ipv6] |
| [[TCP vs UDP]] | TCP Vs UDP | stable | concept | [network, networking, protocols] | | [[TCP vs UDP]] | TCP Vs UDP | processing | concept | [network, networking, protocols] |
| [[URI, URL, URN]] | URI, URL, URN | seed | concept | [web, network, networking, uri, url, urn] | | [[URI, URL, URN]] | URI, URL, URN | processing | concept | [web, network, networking, uri, url, urn] |
## 90 Library/Networking/Протоколы/DHCP ## 90 Library/Networking/Протоколы/DHCP
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------| |---------|---------|--------|------|------|
| [[DHCP-snooping]] | DHCP-snooping | seed | concept | [network, networking, protocols, dhcp] |
| [[DHCP]] | DHCP | stable | concept | [network, networking, protocols, dhcp] | | [[DHCP]] | DHCP | stable | concept | [network, networking, protocols, dhcp] |
| [[DHCP-snooping]] | DHCP-snooping | seed | concept | [network, networking, protocols, dhcp] |
| [[Dynamic ARP Inspection]] | Dynamic ARP Inspection | seed | concept | [network, networking, protocols, dhcp, arp] | | [[Dynamic ARP Inspection]] | Dynamic ARP Inspection | seed | concept | [network, networking, protocols, dhcp, arp] |
| [[Механизм работы - DHCP]] | Механизм Работы - DHCP | stable | concept | [network, networking, protocols, dhcp] | | [[Механизм работы - DHCP]] | Механизм Работы - DHCP | stable | concept | [network, networking, protocols, dhcp] |
| [[Настройка DHCP - Cisco]] | Настройка DHCP - Cisco | stable | concept | [network, networking, protocols, dhcp] | | [[Настройка DHCP - Cisco]] | Настройка DHCP - Cisco | stable | concept | [network, networking, protocols, dhcp] |
@@ -562,8 +568,8 @@ total: 504
| [[Курс по Python и Django]] | Курс по Python и Django | seed | moc | [python, django, backend] | | [[Курс по Python и Django]] | Курс по Python и Django | seed | moc | [python, django, backend] |
| [[Модели и ORM]] | Django Модели и ORM | processing | concept | [django, backend, orm, database, migrations] | | [[Модели и ORM]] | Django Модели и ORM | processing | concept | [django, backend, orm, database, migrations] |
| [[Основы объектно-ориентированного программирования]] | Основы ООП в Python | seed | concept | [python, oop, classes, inheritance, polymorphism, encapsulation] | | [[Основы объектно-ориентированного программирования]] | Основы ООП в Python | seed | concept | [python, oop, classes, inheritance, polymorphism, encapsulation] |
| [[Представления, шаблоны и CBV]] | 'Django: Представления, шаблоны и CBV' | processing | concept | [django, routing, templates, cbv, fbv] | | [[Представления, шаблоны и CBV]] | Django: Представления, шаблоны и CBV | processing | concept | [django, routing, templates, cbv, fbv] |
| [[Работа с формами и CUD]] | 'Django: Формы и CUD' | processing | concept | [django, forms, crud, validation, modelform] | | [[Работа с формами и CUD]] | Django: Формы и CUD | processing | concept | [django, forms, crud, validation, modelform] |
## 90 Library/Programming/Ruby ## 90 Library/Programming/Ruby
@@ -576,8 +582,8 @@ total: 504
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------| |---------|---------|--------|------|------|
| [[API импорт в Rails через runner]] | API импорт в Rails через runner | seed | guide | [programming, ruby-on-rails, api] |
| [[Active Storage]] | Active Storage | processing | concept | [programming, ruby-on-rails] | | [[Active Storage]] | Active Storage | processing | concept | [programming, ruby-on-rails] |
| [[API импорт в Rails через runner]] | API импорт в Rails через runner | seed | guide | [programming, ruby-on-rails, api] |
| [[Capistrano deploy через systemd]] | Capistrano deploy через systemd | seed | guide | [programming, ruby-on-rails, deploy] | | [[Capistrano deploy через systemd]] | Capistrano deploy через systemd | seed | guide | [programming, ruby-on-rails, deploy] |
| [[Deploy - finreport-analyzer]] | — | seed | guide | [programming, ruby-on-rails, deploy, linux] | | [[Deploy - finreport-analyzer]] | — | seed | guide | [programming, ruby-on-rails, deploy, linux] |
| [[Rails 8 Migration Guide]] | — | seed | guide | [programming, ruby-on-rails, rails-8, migration] | | [[Rails 8 Migration Guide]] | — | seed | guide | [programming, ruby-on-rails, rails-8, migration] |
@@ -589,11 +595,11 @@ total: 504
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------| |---------|---------|--------|------|------|
| [[Адаптивность, Flexbox и Grid]] | 'CSS: Адаптивность, Flexbox и Grid' | seed | concept | [css, flexbox, grid, adaptive-design, responsive-web] | | [[Адаптивность, Flexbox и Grid]] | CSS: Адаптивность, Flexbox и Grid | processing | concept | [css, flexbox, grid, adaptive-design, responsive-web] |
| [[Основы Bootstrap]] | Основы Bootstrap | seed | concept | [bootstrap, web-development, css-framework, grid-system] | | [[Основы Bootstrap]] | Основы Bootstrap | seed | concept | [bootstrap, web-development, css-framework, grid-system] |
| [[Основы HTML (структура, таблицы, формы)]] | Основы HTML (структура, таблицы, формы) | processing | concept | [html, web-development, structure, tables, forms] | | [[Основы HTML (структура, таблицы, формы)]] | Основы HTML (структура, таблицы, формы) | processing | concept | [html, web-development, structure, tables, forms] |
| [[Основы веб-разработки]] | Основы веб-разработки | seed | moc | [web, html, css, bootstrap] | | [[Основы веб-разработки]] | Основы веб-разработки | seed | moc | [web, html, css, bootstrap] |
| [[Основы, селекторы и блочная модель]] | CSS: Основы и селекторы | seed | concept | [css, web-development, selectors, box-model] | | [[Основы, селекторы и блочная модель]] | CSS: Основы и селекторы | processing | concept | [css, web-development, selectors, box-model] |
## 90 Library/Sport ## 90 Library/Sport
@@ -606,8 +612,8 @@ total: 504
| Заметка | Aliases | Status | Type | Tags | | Заметка | Aliases | Status | Type | Tags |
|---------|---------|--------|------|------| |---------|---------|--------|------|------|
| [[31, 32 - Налоги 1]] | 31, 32 - Налоги | seed | knowledge | [study, taxes] |
| [[31, 32 - Налоги]] | 31, 32 - Налоги | seed | knowledge | [study, taxes] | | [[31, 32 - Налоги]] | 31, 32 - Налоги | seed | knowledge | [study, taxes] |
| [[31, 32 - Налоги 1]] | 31, 32 - Налоги | seed | knowledge | [study, taxes] |
| [[Git]] | Git | seed | concept | [] | | [[Git]] | Git | seed | concept | [] |
| [[Gitlab]] | Gitlab | seed | concept | [] | | [[Gitlab]] | Gitlab | seed | concept | [] |
| [[HW Eng17.03]] | HW Eng17.03 | seed | concept | [homework] | | [[HW Eng17.03]] | HW Eng17.03 | seed | concept | [homework] |
@@ -617,27 +623,27 @@ total: 504
| [[OSINT - Зачет]] | OSINT - Зачет | processing | knowledge | [mephi, study, osi] | | [[OSINT - Зачет]] | OSINT - Зачет | processing | knowledge | [mephi, study, osi] |
| [[Rails 8 Migration Guide (finreport-analyzer)]] | — | seed | concept | [] | | [[Rails 8 Migration Guide (finreport-analyzer)]] | — | seed | concept | [] |
| [[Rails credentials edit не открывает редактор]] | Rails credentials edit не открывает редактор | seed | concept | [] | | [[Rails credentials edit не открывает редактор]] | Rails credentials edit не открывает редактор | seed | concept | [] |
| [[reader]] | — | seed | concept | [] |
| [[Ruby - массивы]] | Ruby - массивы | seed | concept | [] | | [[Ruby - массивы]] | Ruby - массивы | seed | concept | [] |
| [[Ruby - основы языка]] | Ruby - основы языка | seed | concept | [] | | [[Ruby - основы языка]] | Ruby - основы языка | seed | concept | [] |
| [[Upgrade Homelab]] | Upgrade Homelab | processing | project | [homelab, hardware] | | [[Upgrade Homelab]] | Upgrade Homelab | processing | project | [homelab, hardware] |
| [[reader]] | — | seed | concept | [] |
| [[Алгоритм обратного распространения ошибки для произвольного числа слоев НС]] | Алгоритм обратного распространения ошибки для произвольного числа слоев НС | seed | concept | [] | | [[Алгоритм обратного распространения ошибки для произвольного числа слоев НС]] | Алгоритм обратного распространения ошибки для произвольного числа слоев НС | seed | concept | [] |
| [[Алгоритм обучения сети Кохонена]] | Алгоритм обучения сети Кохонена | seed | concept | [] | | [[Алгоритм обучения сети Кохонена]] | Алгоритм обучения сети Кохонена | seed | concept | [] |
| [[Анализ типа фин. устойчивости]] | Анализ типа фин. устойчивости | seed | concept | [] | | [[Анализ типа фин. устойчивости]] | Анализ типа фин. устойчивости | seed | concept | [] |
| [[В случае ошибок на принтере Kyocera FS-1020MFP]] | В случае ошибок на принтере Kyocera FS-1020MFP | seed | concept | [] | | [[В случае ошибок на принтере Kyocera FS-1020MFP]] | В случае ошибок на принтере Kyocera FS-1020MFP | seed | concept | [] |
| [[ВДО no кредитам]] | — | seed | concept | [] |
| [[Введение в сетевую безопасность]] | Введение в сетевую безопасность | processing | concept | [] | | [[Введение в сетевую безопасность]] | Введение в сетевую безопасность | processing | concept | [] |
| [[ВДО no кредитам]] | — | seed | concept | [] |
| [[Знания Ruby]] | Знания Ruby | seed | concept | [] | | [[Знания Ruby]] | Знания Ruby | seed | concept | [] |
| [[Идеи для статьи]] | Идеи Для Статьи | — | — | [] | | [[Идеи для статьи]] | Идеи Для Статьи | — | — | [] |
| [[Идея]] | — | seed | concept | [] |
| [[Идея сети кохонена]] | Идея сети кохонена | seed | concept | [] | | [[Идея сети кохонена]] | Идея сети кохонена | seed | concept | [] |
| [[Идея — упаковка для еды]] | — | seed | concept | [] | | [[Идея — упаковка для еды]] | — | seed | concept | [] |
| [[Идея]] | — | seed | concept | [] |
| [[Инструкция по деплою finreport-analyzer]] | — | seed | concept | [] | | [[Инструкция по деплою finreport-analyzer]] | — | seed | concept | [] |
| [[Итераторы для обработки массивов Ruby]] | Итераторы для обработки массивов Ruby | seed | concept | [] | | [[Итераторы для обработки массивов Ruby]] | Итераторы для обработки массивов Ruby | seed | concept | [] |
| [[Команды для деплоя с помощью Capistrano]] | — | seed | concept | [] |
| [[КР - Кохонен]] | КР - Кохонен | seed | concept | [] | | [[КР - Кохонен]] | КР - Кохонен | seed | concept | [] |
| [[КР - Персептрон]] | КР - Персептрон | seed | concept | [] | | [[КР - Персептрон]] | КР - Персептрон | seed | concept | [] |
| [[КР - Хопфилд]] | КР - Хопфилд | seed | concept | [] | | [[КР - Хопфилд]] | КР - Хопфилд | seed | concept | [] |
| [[Команды для деплоя с помощью Capistrano]] | — | seed | concept | [] |
| [[Лайфхак для NPM. Как проксировать не на поддомен а на под путь]] | Лайфхак для NPM. Как проксировать не на поддомен а на под путь | seed | concept | [] | | [[Лайфхак для NPM. Как проксировать не на поддомен а на под путь]] | Лайфхак для NPM. Как проксировать не на поддомен а на под путь | seed | concept | [] |
| [[Материал по Экономическому анализу]] | — | seed | concept | [] | | [[Материал по Экономическому анализу]] | — | seed | concept | [] |
| [[Материалы по ЭА 2]] | — | seed | concept | [] | | [[Материалы по ЭА 2]] | — | seed | concept | [] |
@@ -652,8 +658,8 @@ total: 504
| [[Подготовка к экзамену по Веб-Разработке]] | — | seed | concept | [] | | [[Подготовка к экзамену по Веб-Разработке]] | — | seed | concept | [] |
| [[Подготовка к экзамену по Экономическому анализу]] | — | processing | moc | [finance, exam, study, economic-analysis] | | [[Подготовка к экзамену по Экономическому анализу]] | — | processing | moc | [finance, exam, study, economic-analysis] |
| [[Поздравления с НГ]] | — | processing | lab | [] | | [[Поздравления с НГ]] | — | processing | lab | [] |
| [[РИАС - база]] | РИАС - База | seed | knowledge | [mephi, study] |
| [[Работа с API для проекта Attendance Mephi]] | — | seed | concept | [] | | [[Работа с API для проекта Attendance Mephi]] | — | seed | concept | [] |
| [[РИАС - база]] | РИАС - База | seed | knowledge | [mephi, study] |
| [[Сети Хопфилда и Хэмминга]] | Сети Хопфилда и Хэмминга | seed | concept | [] | | [[Сети Хопфилда и Хэмминга]] | Сети Хопфилда и Хэмминга | seed | concept | [] |
| [[Сравнение хранилищ секретов]] | Сравнение Хранилищ Секретов | seed | knowledge | [il] | | [[Сравнение хранилищ секретов]] | Сравнение Хранилищ Секретов | seed | knowledge | [il] |
| [[УИР]] | УИР | seed | concept | [] | | [[УИР]] | УИР | seed | concept | [] |