uk
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

Відкрити в Telegram

📈 Аналітичний огляд Telegram-каналу Python | Вопросы собесов

Канал Python | Вопросы собесов (@python_easy_ru) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 13 104 підписників, посідаючи 9 745 місце в категорії Технології та додатки та 50 714 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 13 104 підписників.

За останніми даними від 09 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -53, а за останні 24 години на -3, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 8.62%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.62% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 129 переглядів. Протягом першої доби публікація в середньому набирає 737 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як ставь, модуль, строка, docker, alice.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

Завдяки високій частоті оновлень (останні дані отримано 10 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

13 104
Підписники
-324 години
-137 днів
-5330 день
Архів дописів
Квартиры в Тюмени с первым взносом 0 ₽. ЖК «Астро» Современный ЖК в Тюменской слободе. Квартиры в ипотеку без первого взноса
Квартиры в Тюмени с первым взносом 0 ₽. ЖК «Астро» Современный ЖК в Тюменской слободе. Квартиры в ипотеку без первого взноса с низкой ставкой на весь срок. Все для комфортной жизни: ✅ Эргономичные планировки ✅ Ремонт и мебель от застройщика ✅ 15 минут до центра Тюмени ✅ Паркинг или кладовая в подарок Зафиксируйте условия и получите подборку планировок! Получить предложение Финансовые услуги оказывает: ПАО "Сбербанк". #реклама mrqz.me О рекламодателе

🤔 Разница между C++ и Python? Это два популярных языка программирования, каждый из которых имеет свои уникальные особенности, области применения, преимущества и недостатки. 🚩Синтаксис и простота использования 🟠C++ Более сложный и строгий синтаксис, требующий явного объявления типов переменных, использования указателей, управления памятью и других низкоуровневых конструкций. Более крутая кривая обучения из-за необходимости понимать концепции, такие как управление памятью, указатели и более сложные конструкции языка.
#include <iostream>
  
int main() {
    int number = 10;
    std::cout << "Hello, World! Number: " << number << std::endl;
    return 0;
}  
🟠Python Простой и лаконичный синтаксис, который делает код более читаемым и легким для написания. Нет необходимости в явном объявлении типов благодаря динамической типизации. Пологая кривая обучения, подходящая для новичков и быстрых прототипов.
number = 10
print("Hello, World! Number:", number)  
🚩Типизация 🟠C++ Типы данных проверяются на этапе компиляции, что позволяет обнаруживать ошибки раньше и оптимизировать код. Типы переменных и функций должны быть явно указаны. 🟠Python Типы данных проверяются на этапе выполнения, что обеспечивает большую гибкость, но может приводить к ошибкам времени выполнения. Типы переменных определяются автоматически на основе присваиваемых значений. 🚩Производительность 🟠C++ Благодаря компиляции в машинный код и возможностям низкоуровневой оптимизации C++ обеспечивает высокую производительность. Ручное управление памятью с помощью new, delete, указателей и других механизмов, что позволяет тонко настраивать использование ресурсов. 🟠Python Интерпретируемый язык с динамической типизацией, что может замедлить выполнение кода по сравнению с C++. Сборщик мусора автоматически управляет памятью, что упрощает разработку, но может снижать производительность. 🚩Области применения 🟠C++ Используется для разработки операционных систем, драйверов и другого системного ПО. Широко применяется для разработки игр благодаря высокой производительности и возможностям низкоуровневого управления. Используется в задачах, требующих максимальной производительности. 🟠Python Популярен в веб-разработке благодаря фреймворкам, таким как Django и Flask. Широко используется в области данных и ИИ благодаря библиотекам, таким как Pandas, NumPy, TensorFlow и PyTorch. Отлично подходит для написания скриптов и автоматизации задач благодаря простоте синтаксиса и большим возможностям стандартной библиотеки. 🚩Поддержка парадигм программирования 🟠C++ Поддерживает процедурное, объектно-ориентированное и обобщённое программирование (templates). Мощный инструмент для обобщённого программирования и метапрограммирования. 🟠Python Поддерживает процедурное, объектно-ориентированное и функциональное программирование. Инструменты, облегчающие функциональное и асинхронное программирование. Ставь 👍 и забирай 📚 Базу знаний

🤔 Какие паттерны программирования знаешь? Основные паттерны: порождающие (Singleton, Factory), структурные (Adapter, Decorator), поведенческие (Observer, Strategy). Они помогают решать общие задачи проектирования, делая код более гибким и читаемым. Например, Singleton гарантирует существование единственного экземпляра класса. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Чем отличается динамическая и статическая типизация? Это два различных подхода к определению и проверке типов данных в программировании. 🚩Статическая типизация 🟠Проверка типов на этапе компиляции Типы данных проверяются компилятором или статическим анализатором до запуска программы. 🟠Явное объявление типов Программист явно указывает типы переменных, параметров функций и возвращаемых значений. 🟠Безопасность типов Ошибки, связанные с типами, выявляются на этапе компиляции, что предотвращает множество ошибок во время выполнения программы. 🟠Примеры языков Java, C, C++, Go, Rust. Пример на Java
public class Example {
    public static void main(String[] args) {
        int number = 10;
        String text = "Hello, World!";
        System.out.println(text + " " + number);
    }
}
🚩Динамическая типизация 🟠Проверка типов на этапе выполнения Типы данных проверяются интерпретатором или средой выполнения во время исполнения программы. 🟠Неявное определение типов Типы переменных определяются автоматически на основе присваиваемых значений. 🟠Гибкость Переменные могут менять свой тип в течение выполнения программы, что позволяет писать более гибкий код. 🟠Примеры языков Python, JavaScript, Ruby, PHP.
def greet(name):
    return f"Hello, {name}!"

number = 10
text = "Hello, World!"
print(greet(text))
print(number)
🚩Плюсы и минусы статической типизацииРаннее обнаружение ошибок Ошибки, связанные с типами, выявляются на этапе компиляции, что снижает вероятность ошибок во время выполнения программы. ➕Оптимизация Компилятор может выполнять более эффективные оптимизации, зная точные типы данных. ➕Автодополнение и рефакторинг Современные IDE могут использовать информацию о типах для улучшения автодополнения, навигации по коду и рефакторинга. Документация Явное указание типов служит дополнительной документацией для разработчиков, облегчая понимание и сопровождение кода. ➖Дополнительная нагрузка на разработчиков Необходимость явно указывать типы данных может увеличить объем кода и время разработки. ➖Гибкость В некоторых случаях статическая типизация может ограничить гибкость кода, требуя дополнительных усилий для работы с динамическими структурами данных. 🚩Плюсы и минусы динамической типизацииГибкость и удобство Отсутствие необходимости явно указывать типы данных позволяет писать код быстрее и проще, особенно для прототипирования и небольших проектов. ➕Меньше кода Нет необходимости явно указывать типы, что уменьшает объем кода. ➕Гибкость в изменении типов Переменные могут менять тип в течение выполнения программы, что упрощает некоторые задачи. ➖Ошибки времени выполнения Ошибки, связанные с типами, выявляются только во время выполнения программы, что может усложнить отладку и тестирование. ➖Оптимизация Отсутствие информации о типах на этапе компиляции может ограничить возможности оптимизации. Сложность поддержки большого кода В больших проектах отсутствие явных типов может усложнить понимание и сопровождение кода. 🚩Современные подходы 🟠TypeScript Является надстройкой над JavaScript, добавляющей статическую типизацию. Позволяет разработчикам использовать статические типы и получать раннюю проверку типов, сохраняя при этом гибкость JavaScript. 🟠Python С версии 3.5 введены аннотации типов (type hints) с использованием модуля typing. Это позволяет использовать статический анализ типов с помощью инструментов, таких как mypy.
def greet(name: str) -> str:
    return f"Hello, {name}!"

def add(x: int, y: int) -> int:
    return x + y
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое корутина в Python? Корутина — это функция, которая может приостанавливать выполнение и возвращать управление вызвавшему коду, а затем возобновлять выполнение с того же места. Корутины используются для асинхронного программирования и реализуются с помощью ключевых слов async и await. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Быстрая миграция в Yandex Cloud за наш счёт Чувствуете, что текущая инфраструктура ограничивает рост вашего бизнеса? Пора пер
Быстрая миграция в Yandex Cloud за наш счёт Чувствуете, что текущая инфраструктура ограничивает рост вашего бизнеса? Пора переходить в облако! Специалисты Yandex Cloud помогут сделать процесс миграции максимально простым. Всё, что потребуется от вас, — выделить специалиста с доступом к инфраструктуре. Остальное мы берём на себя! И самое приятное: подайте заявку до 31 декабря, и мы покроем расходы на услуги нашей команды и тестовую инфраструктуру. ✨ Мигрируйте в Yandex Cloud легко и без рисков! ⚡Заполните заявку прямо сейчас Подать заявку #реклама yandex.cloud О рекламодателе Реклама на Яндексе

🤔 Что такое статическая типизация? Это метод определения типов переменных в программе, при котором типы данных проверяются на этапе компиляции, а не во время выполнения программы. Это означает, что все типы переменных, параметров функций и возвращаемых значений должны быть известны и определены до запуска программы. 🚩Основные характеристики статической типизации 🟠Проверка на этапе компиляции Типы переменных и выражений проверяются компилятором или статическим анализатором до запуска программы. Ошибки, связанные с типами, выявляются еще до выполнения программы. 🟠Явное объявление типов В языках со статической типизацией программист обычно явно указывает типы переменных. Это позволяет компилятору точно знать, какого типа значения будут использоваться в каждой переменной. 🟠Безопасность типов Статическая типизация помогает предотвратить многие типы ошибок, такие как использование переменных с неправильным типом, вызов функций с неверными аргументами и т.д. Улучшает надежность и предсказуемость кода. 🟠Оптимизация Компилятор может выполнять оптимизации, зная типы данных заранее. Это может привести к более эффективному машинному коду и улучшению производительности программы. 🚩Примеры языков со статической типизацией: Java
public class Example {
public static void main(String[] args) {
int number = 10;
String text = "Hello, World!";
System.out.println(text + " " + number);
}
}
C++
#include <iostream>
using namespace std;

int main() {
int number = 10;
string text = "Hello, World!";
cout << text << " " << number << endl;
return 0;
}
Go
package main
import "fmt"

func main() {
var number int = 10
var text string = "Hello, World!"
fmt.Println(text, number)
}
🚩Плюсы и Минусы Раннее обнаружение ошибок Ошибки, связанные с типами, обнаруживаются на этапе компиляции, что снижает количество ошибок, проявляющихся во время выполнения программы. ➕Автодополнение и рефакторинг Современные IDE могут использовать информацию о типах для улучшения автодополнения кода, навигации по коду и рефакторинга. ➕Документация Явное указание типов служит дополнительной документацией для разработчиков, облегчая понимание и сопровождение кода. ➕Оптимизация Компилятор может выполнять более эффективные оптимизации, зная точные типы данных, что улучшает производительность программы. ➖Дополнительная нагрузка на разработчиков Необходимость явно указывать типы данных может увеличить объем кода и время разработки. ➖Гибкость В некоторых случаях статическая типизация может ограничить гибкость кода, требуя дополнительных усилий для работы с динамическими структурами данных. 🚩Статическая типизация Python является динамически типизированным языком, но с версией 3.5 и выше появились возможности для аннотации типов (type hints) с использованием модуля typing. Это добавляет элементы статической типизации, помогая улучшить читаемость кода и использовать статические анализаторы для проверки типов.
def greet(name: str) -> str:
    return f"Hello, {name}!"

def add(x: int, y: int) -> int:
    return x + y

name: str = "Alice"
print(greet(name))

result: int = add(3, 5)
print(result)
Использование статического анализатора mypy
mypy example.py
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что быстрее, словарь или список? Словарь быстрее для поиска элементов (O(1) в среднем) по сравнению со списком, где поиск занимает O(n). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Обучение на Frontend-разработчика. С нуля за 9 месяцев. На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика. Персональный наставник middle/senior уровня. 14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования. Освоите JavaScript, React, TypeScript Официальный диплом и сертификат школы. Поддержка наставника по JS в течение 3-х месяцев после диплома. Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14 Узнать больше #реклама 16+ result.school О рекламодателе

🤔 В чем отличие Django от микрофреймворков, например FastAPI? Django и микрофреймворки, такие как FastAPI, предназначены для разработки веб-приложений на Python, но они имеют различия в подходе, функциональности и областях применения. 🚩Django 🟠Полный фреймворк (Full-Stack Framework) Django предоставляет полный набор инструментов для разработки веб-приложений, включая ORM (Object-Relational Mapping), систему шаблонов, формы, аутентификацию, админ-панель и другие компоненты. Подходит для разработки сложных и крупных приложений, требующих множества встроенных функциональностей. 🟠Явные настройки и соглашения Django следует принципу "The web framework for perfectionists with deadlines", предлагая стандартные способы решения большинства задач. Многое делается "из коробки", что снижает необходимость принимать решения по настройке и интеграции. 🟠Монолитная архитектура Django создавался с идеей "все включено", что означает, что все основные компоненты встроены и работают вместе. Это упрощает создание приложений, но может быть избыточным для небольших или простых проектов. 🟠Удобство работы с базами данных Django ORM позволяет удобно работать с различными базами данных, абстрагируясь от специфики SQL. Включает мощные средства для миграций баз данных.
from django.shortcuts import render
from django.http import HttpResponse

def hello_world(request):
    return HttpResponse("Hello, World!")
🚩FastAPI 🟠Микрофреймворк (Microframework) FastAPI является легковесным фреймворком, предназначенным для создания высокопроизводительных веб-API. Включает минимальное количество компонентов, предоставляя только то, что необходимо для обработки запросов и ответов. 🟠Асинхронная поддержка и высокая производительность FastAPI изначально поддерживает асинхронное программирование с помощью async и await, что позволяет создавать высокопроизводительные приложения. Построен на базе Starlette и Pydantic, что обеспечивает скорость работы и удобную валидацию данных. 🟠Минимальные зависимости FastAPI следует принципу "минимальных зависимостей", позволяя разработчику добавлять только необходимые компоненты и библиотеки. Легко интегрируется с различными базами данных и другими инструментами по мере необходимости. 🟠Современные возможности типизации FastAPI использует аннотации типов Python для автоматической генерации документации OpenAPI и валидации данных. Это упрощает разработку и тестирование API, делая код более читаемым и поддерживаемым.
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def hello_world():
    return {"message": "Hello, World!"}
🚩Ключевые различия 🟠Функциональность Django: Предоставляет все необходимые инструменты для разработки полного веб-приложения, включая работу с базами данных, формами, аутентификацией и админ-панелью. FastAPI: Фокусируется на создании быстрых и производительных веб-API, оставляя выбор других инструментов за разработчиком. 🟠Асинхронность Django: Поддержка асинхронного программирования была добавлена в более поздних версиях, но изначально он был ориентирован на синхронное программирование. FastAPI: Изначально построен с поддержкой асинхронного программирования, что позволяет создавать высокопроизводительные приложения. Ставь 👍 и забирай 📚 Базу знаний

🤔 Что знаешь о сложности алгоритма? Сложность алгоритма измеряется в терминах времени (time complexity) и памяти (space complexity), отражая, как ресурсы зависят от объёма входных данных. Часто используется нотация O-большое (например, O(n), O(log n)). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Удвоим бюджет на рекламу в Директе — добавим до 20 000 ₽ Зарегистрируйтесь в Директе и Яндекс добавит бюджет на первую рекламу для вашего бизнеса ⚡ Зарегистрироваться #реклама yandex.ru О рекламодателе

🤔 Что такое WSGI? Это стандартный интерфейс между веб-серверами и веб-приложениями или фреймворками, написанными на языке Python. Он определяет, как веб-сервер должен взаимодействовать с веб-приложением, и позволяет различным веб-серверам работать с любыми Python-приложениями, поддерживающими WSGI. 🚩Зачем нужен? 🟠Совместимость Позволяет любому WSGI-совместимому веб-серверу запускать любое WSGI-совместимое приложение. 🟠Модульность Обеспечивает возможность объединения нескольких промежуточных компонентов (middleware), которые могут выполнять задачи до или после обработки запросов основным приложением. 🟠Стандартность Упрощает разработку и развертывание веб-приложений, делая их независимыми от конкретных веб-серверов. 🚩Основные компоненты 🟠WSGI-сервер Программное обеспечение, которое принимает HTTP-запросы от клиента (например, браузера), преобразует их в формат, понятный приложению, и затем отправляет HTTP-ответы обратно клиенту. Примеры WSGI-серверов: Gunicorn, uWSGI. 🟠WSGI-приложение Любое Python-приложение или фреймворк, которое реализует WSGI-интерфейс. Примеры фреймворков: Django, Flask. 🚩Как работает? WSGI определяет простой интерфейс, который веб-сервер использует для передачи запросов в приложение и получения ответов от него. Этот интерфейс основан на вызове функции или вызываемого объекта (callable), который принимает два аргумента: environ и start_response. 🟠`environ` Словарь, содержащий все данные о запросе, такие как заголовки, параметры и другие метаданные. 🟠`start_response` Функция, которую приложение вызывает для начала формирования ответа. Она принимает статус ответа и заголовки.
def application(environ, start_response):
    status = '200 OK'
    headers = [('Content-Type', 'text/plain')]
    start_response(status, headers)
    return [b"Hello, World!"]

# Запуск приложения с использованием встроенного WSGI-сервера wsgiref
if __name__ == "__main__":
    from wsgiref.simple_server import make_server
    server = make_server('localhost', 8051, application)
    print("Serving on http://localhost:8051...")
    server.serve_forever()
🚩Как использовать WSGI с фреймворками: Современные Python веб-фреймворки, такие как Django и Flask, автоматически поддерживают WSGI. Это позволяет легко развертывать приложения, используя WSGI-серверы.
from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, World!"

if __name__ == "__main__":
    app.run()
Для развертывания этого приложения с использованием WSGI-сервера, например, Gunicorn, можно выполнить команду. Где myapp — это имя файла без расширения .py, а app — это объект приложения Flask.
gunicorn myapp:app
Ставь 👍 и забирай 📚 Базу знаний

📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной матери
📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление: 👩‍💻 Frontend 👩‍💻 PHP ⚙️ Backend 👩‍💻 Моб. Dev 📱 GitHub 👩‍💻 GameDev 🤓 Всё айти 👩‍💻 DevOps 👩‍💻 Python 🖥 Data Science 👩‍💻 Java 🐞 Тестирование 👩‍💻 C# 🤔 Хакинг & ИБ 👩‍💻 С/С++ 📱 Маркетинг 🖥 SQL 🖥 Дизайн 👩‍💻 Golang 👣 Rust Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке

🤔 Какие магические методы и для чего используются? Магические методы (например, __init__, __str__, __len__, __add__) используются для определения поведения объектов в специфичных ситуациях, таких как инициализация, строковое представление, арифметические операции или работа с коллекциями. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

🤔 Каким образом проходит информация валидацию? Это процесс проверки корректности и полноты данных, поступающих в систему, прежде чем они будут использованы или сохранены. Этот процесс может происходить на разных уровнях веб-приложения: клиентская сторона, серверная сторона, и на уровне базы данных. 🟠Клиентская валидация (Client-side Validation) До отправки данных на сервер. Используются HTML5 атрибуты и JavaScript. Снижение нагрузки на сервер, мгновенная обратная связь для пользователя. Не является надежной, так как пользователь может обойти ее.
<form>
    <input type="text" name="username" required minlength="3">
    <input type="email" name="email" required>
    <input type="submit">
</form>
Пример JavaScript валидации
document.querySelector('form').addEventListener('submit', function(event) {
    const username = document.querySelector('input[name="username"]').value;
    if (username.length < 3) {
        alert('Username must be at least 3 characters long.');
        event.preventDefault();
    }
});
🟠Серверная валидация (Server-side Validation) После получения данных от клиента. Используются встроенные или сторонние библиотеки и фреймворки. Надежная защита, обязательна даже при наличии клиентской валидации. Добавляет нагрузку на сервер, может увеличить время отклика.
from django import forms

class UserForm(forms.Form):
    username = forms.CharField(min_length=3, max_length=100)
    email = forms.EmailField()

def my_view(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            # Обработка данных
            pass
        else:
            # Обработка ошибок
            pass
    else:
        form = UserForm()
    return render(request, 'my_template.html', {'form': form})
Пример в Flask
from flask import Flask, request, render_template_string
from wtforms import Form, StringField, validators

app = Flask(__name__)

class UserForm(Form):
    username = StringField('Username', [validators.Length(min=3, max=100)])
    email = StringField('Email', [validators.Email()])

@app.route('/', methods=['GET', 'POST'])
def my_view():
    form = UserForm(request.form)
    if request.method == 'POST' and form.validate():
        # Обработка данных
        pass
    return render_template_string('<form method="POST">{{ form.csrf_token }}{{ form.username }}{{ form.email }}<input type="submit"></form>', form=form)
🟠Валидация на уровне базы данных (Database Validation) При сохранении данных в базу данных. Используются ограничения базы данных (constraints) и триггеры. Гарантия целостности данных на уровне хранения. Может вызвать ошибки, если данные уже были приняты сервером, но не прошли валидацию на уровне БД. Пример ограничения в SQL
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(100) NOT NULL CHECK (LENGTH(username) >= 3),
    email VARCHAR(100) NOT NULL UNIQUE
);
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что знаешь про два основных типа данных Python? Основные типы данных Python — изменяемые (списки, множества, словари) и неизменяемые (строки, числа, кортежи). Изменяемые можно модифицировать после создания, тогда как неизменяемые остаются неизменными. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специал
+9
Помощь в трудоустройстве в IT-сфере! В России из-за дефицита айтишников запустили бесплатную программу по обучению IT-специалистов. Теперь любой желающий может попробовать себя в IT с полного нуля и начать обучение бесплатно! Узнайте про дальнейшее трудоустройство в ведущие IT-компании для восполнения кадрового дефицита. Для этого нужно: - Перейти по ссылке - Заполнить анкету и ответить на вопросы (занимает менее 3 минут) - На основании ваших ответов вы сразу узнаете, подходит ли вам сфера IT и сможете ли вы в ней работать Перейти на сайт #реклама 16+ urban-university.ru О рекламодателе

🤔 Что происходит с запросом после того как мы обработали его во вьюхе? 🚩Этапы обработки запроса после вьюхи 1⃣Формирование ответа (Response) во вьюхе Вьюха обрабатывает запрос (например, получение данных из базы данных, выполнение бизнес-логики). На основе обработки данных вьюха формирует объект ответа. В Django это может быть HttpResponse, JsonResponse и т.д. В Flask это может быть объект Response или просто строка, которая будет конвертирована в ответ.
from django.http import HttpResponse

def my_view(request):
   data = "Hello, World!"
   return HttpResponse(data)   
Пример в Flask
from flask import Flask, Response

app = Flask(__name__)

@app.route('/')
def my_view():
   return Response("Hello, World!")   
2⃣Обработка промежуточными слоями (Middleware) После того как вьюха сформировала ответ, он проходит через цепочку промежуточных слоев (middleware). Middleware могут модифицировать объект ответа, добавлять заголовки, обрабатывать ошибки и т.д. Примеры обработки включают логирование, сжатие контента, обработку сессий и т.д.
class SimpleMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)
        response['X-Custom-Header'] = 'My Custom Header'
        return response
3⃣Обработка сервером и отправка ответа После прохождения всех промежуточных слоев ответ передается веб-серверу. Веб-сервер, такой как Nginx или Apache, отправляет сформированный ответ обратно клиенту (например, браузеру). Сервер обрабатывает низкоуровневые детали HTTP-протокола, такие как установка соединения, обработка заголовков и передача данных. Ставь 👍 и забирай 📚 Базу знаний