❃ Хижина программиста Æ
13.4K subscribers
1.51K photos
117 videos
25 files
3.37K links
Канал для IT Дизайнеров и Программистов, Инженеров и Преподавателей

📡 Ссылка на канал: @hut_programmer_07

⚖️ Фундаментальные знания по основам программирования, философии и этики

💡 По вопросам рекламы: @quadd4rv1n7

Σ 只
Download Telegram
🖥 Pydantic 2.0 — это основная версия библиотеки Pydantic, предназначенной для валидации данных и создания моделей данных в Python.
Она используется в основном для работы с данными, получаемыми из API, конфигурационных файлов или других источников.
Pydantic обеспечивает проверку типов и валидацию данных на основе аннотаций типов, что позволяет разработчикам создавать надежные и безопасные приложения.

🥳 Основные изменения и особенности Pydantic 2.0:

Изменения в API: В Pydantic 2.0 произошли значительные изменения в API, включая упрощение и улучшение читаемости кода. Некоторые старые функции были удалены или изменены, чтобы сделать библиотеку более интуитивной.
Поддержка данных в формате JSON: Pydantic 2.0 предлагает улучшенную работу с данными в формате JSON, что позволяет проще обрабатывать входные и выходные данные в виде JSON-объектов.
Улучшенная производительность: Новая версия оптимизирована для повышения производительности, что позволяет быстрее обрабатывать и валидировать данные.
Расширяемость: В Pydantic 2.0 улучшена система расширяемости, что позволяет разработчикам легко создавать собственные типы данных и валидации.
Поддержка dataclasses: Улучшенная интеграция с встроенными dataclasses, что упрощает их использование вместе с Pydantic.
Статическая типизация: Библиотека поддерживает статическую типизацию и интеграцию с такими инструментами, как mypy, что помогает выявлять ошибки на этапе разработки.
Использование BaseModel: В Pydantic 2.0 продолжается использование BaseModel для создания моделей данных, но с новыми возможностями и улучшенной логикой.

Установка `Pydantic`:
pip install pydantic


Пример кода:
from pydantic import BaseModel, EmailStr, conint, Field, validator, constr
from typing import Optional
import re

class User(BaseModel):
username: constr(min_length=3, max_length=30) # Имя пользователя: от 3 до 30 символов
email: EmailStr # Электронная почта с проверкой формата
age: conint(ge=0) # Возраст: неотрицательное целое число
bio: Optional[str] = Field(default=None, max_length=150) # Опциональная биография, максимум 150 символов
is_active: bool = True # Активный статус пользователя
password: constr(min_length=8) # Пароль: минимум 8 символов

@validator('username')
def validate_username(cls, v):
if not v.isalnum():
raise ValueError('Имя пользователя должно содержать только буквы и цифры')
return v

@validator('bio')
def validate_bio(cls, v):
if v and 'плохое_слово' in v: # Пример фильтрации нецензурных слов
raise ValueError('Биография не должна содержать нецензурных слов')
return v

@validator('password')
def validate_password(cls, v):
if not (re.search(r'[A-Za-z]', v) and re.search(r'[0-9]', v) and re.search(r'[!@#$%^&*(),.?":{}|<>]', v)):
raise ValueError('Пароль должен содержать хотя бы одну букву, одну цифру и один специальный символ')
return v

def __str__(self):
return f"User(username={self.username}, email={self.email}, age={self.age}, bio={self.bio}, is_active={self.is_active})"


Pydantic 2.0 является мощным инструментом для разработки приложений, требующих надежной валидации данных и строгой типизации, особенно в сочетании с такими фреймворками, как FastAPI.

⚡️Теги: #pydantic #python #validate #password #maximudupley #quadd4rv1n7 #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2💋1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤩1
26 октября — праздник Иверской иконы Божией Матери

В этот день православные верующие празднуют память Иверской иконы Божией Матери, одной из самых почитаемых икон Пресвятой Богородицы. Ее история уходит корнями в IX век, в годы иконоборческих гонений в Византии. Согласно преданию, одна благочестивая вдова, чтобы уберечь свою икону от разрушения, спустила её в море у берегов Никеи. Но икона не утонула, а чудесным образом поплыла по воде и достигла Афона, где ее встретили монахи Иверского монастыря. Икона сама указала монахам место, где она должна быть помещена, — над монастырскими воротами, поэтому её также называют Вратарницей или Портаитиссой.

Считается, что Иверская икона защищает от бедствий и враждебных сил, охраняет дома и семьи, дарует исцеление от болезней, утешает в скорбях и укрепляет веру. В России этот образ Пресвятой Богородицы стал особо почитаемым, когда икона была принесена в Москву в XVII веке.

Как провести этот день?

26 октября верующие приходят в храмы, чтобы молитвенно поклониться иконе Иверской Божией Матери. В этот день особенно просят Богородицу о защите дома и семьи, о здравии близких и о даровании мира. Можно прочитать Акафист или молитвы перед этим образом, поблагодарить Богородицу за заступничество и попросить её помощи в трудных жизненных обстоятельствах. Также в молитвах можно попросить о поддержке на пути духовного становления, чтобы быть стойкими в вере и следовать заповедям Божьим.

Пусть этот день напомнит всем нам о великой любви и заступничестве Пресвятой Богородицы. С праздником!

#ПравославныеОнлайн #ИверскаяИконаБожьейМатери #Молитва #Записки #Церковь #ПравославноеСообщество #Православие #Благотворительность
2🙏1
Этот мир (придуман не нами) – кавер | This World – cover

Кавер на песню "Этот мир (придуман не нами)" передает глубокие эмоции и размышления о жизни и окружающем мире.

В этой композиции обсуждаются темы существования, судьбы и ответственности.

Песня может вызвать чувства ностальгии и задумчивости, подчеркивая, как мир вокруг нас формируется не только нами, но и внешними обстоятельствами.

⌨️ Теги: #cover #world #analytics #maximdupley #quadd4rv1n7 #2024
1💯1
Animation vs. Physics

Animation vs. Physics — это комедийный анимационный ролик, который демонстрирует, как анимированные персонажи взаимодействуют с законами физики.

Сценарии полны юмора и преувеличенных ситуаций, показывающих контраст между игривой анимацией и строгими физическими законами.

Видео использует креативные визуальные эффекты и шутки, чтобы подчеркнуть различия между анимационными мирами и реальностью.

⌨️ Теги: #analytics #animation #anim #physics #maximdupley #quadd4rv1n7 #2024
👍1🏆1
Animation vs. Geometry

Animation vs. Geometry — это забавный анимационный ролик, в котором разворачивается игривая битва между анимированными фигурами и геометрическими формами.

Видео включает яркую графику и креативную хореографию, а персонажи участвуют в комичных и преувеличенных столкновениях.

Анимация подчеркивает контраст между жесткостью геометрии и плавностью анимации, что приводит к развлекательным визуальным шуткам и экшен-сценам.

В целом, это легкомысленное исследование художественных стилей через остроумное повествование.

⌨️ Теги: #аналитика #анимация #проектирование #разработка #ролик #фигуры #anim #animation #geometry #analytics #maximdupley #quadd4rv1n7 #2024
👍2
🥳 BootstrapCDN (или Bootstrap Content Delivery Network) — это веб-сервис, который предоставляет бесплатный доступ к файлам фреймворка Bootstrap и другим библиотекам через сеть доставки контента (CDN).

Использование CDN позволяет значительно ускорить загрузку страниц и улучшить производительность сайтов, так как пользователи могут загружать ресурсы с ближайших к ним серверов.

⚡️ Вот основные особенности BootstrapCDN:

1️⃣ Доступ к Bootstrap: Вы можете легко подключить разные версии Bootstrap (CSS и JavaScript) к своему проекту, просто добавив ссылки на файлы в ваши HTML-документы.

2️⃣ Поддержка других библиотек: Кроме Bootstrap, BootstrapCDN также поддерживает другие популярные библиотеки, такие как jQuery и Font Awesome, что позволяет разработчикам быстро интегрировать их в свои проекты.

3️⃣ Быстрая загрузка: CDN хранит копии файлов на нескольких серверах по всему миру, что сокращает время загрузки, так как пользователи получают доступ к файлам с ближайшего сервера.

4️⃣ Обновления: BootstrapCDN автоматически обновляет версии библиотек, что позволяет разработчикам всегда использовать актуальные версии без необходимости вручную загружать файлы.

5️⃣ Простота использования: Подключение к BootstrapCDN требует минимальных усилий — достаточно скопировать и вставить предоставленные ссылки в HTML.

BootstrapCDN — удобный инструмент для веб-разработчиков, позволяющий легко и быстро подключать необходимые ресурсы к проектам.

⌨️ Теги: #boostrap #cdn #аналитика #web #network #content #html #javascript #css #html5 #templates #maximdupley #quadd4rv1n7 #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Полное объяснение ролика «Animation vs. Geometry»

В видео "Animation vs. Geometry" разворачивается комическая битва между анимированными фигурами и геометрическими формами.

Анимация выделяется яркими цветами и креативной хореографией, в то время как персонажи сталкиваются в преувеличенных и смешных ситуациях.

Видео подчеркивает контраст между жесткими формами геометрии и гибкостью анимации, создавая множество визуальных шуток и неожиданных моментов.

⌨️ Теги: #анимация #аналитика #геометрия #фигуры #формы #anim #animation #geometry #analytics #maximdupley #quadd4rv1n7 #2024
👍1💯1
⚽️ Soccer Hub — это веб-приложение, разработанное на фреймворке FastAPI, которое предоставляет API для управления информацией о футбольных командах, матчах и аналитикой.
Проект ориентирован на поддержку адаптивного дизайна, что позволяет пользователям удобно получать доступ к данным с различных устройств.
Приложение также включает в себя систему аналитики для отслеживания посещаемости и действий пользователей.

Структура проекта
soccer_hub/
├── app/
│ ├── __init__.py # Инициализация FastAPI приложения
│ ├── main.py # Запуск приложения
│ ├── core/
│ │ ├── config.py # Конфигурации приложения
│ │ └── security.py # Функции безопасности
│ │
│ ├── db/
│ │ ├── database.py # Подключение к базе данных
│ │ ├── models.py # Модели данных
│ │ └── schemas.py # Схемы Pydantic для валидации
│ │
│ ├── routes/ # API маршруты
│ │ ├── __init__.py # Инициализация маршрутов
│ │ ├── analytics.py # Маршруты аналитики
│ │ ├── players.py # Маршруты игроков
│ │ ├── teams.py # Маршруты команд
│ │ └── matches.py # Маршруты матчей
│ │
│ ├── services/ # Логика бизнес-процессов
│ │ ├── team_service.py # Сервис для работы с командами
│ │ └── match_service.py # Сервис для работы с матчами
│ │
│ ├── templates/ # HTML шаблоны
│ │ ├── base.html # Основной шаблон
│ │ ├── index.html # Главная страница
│ │ ├── analytics.html # Страница аналитики
│ │ ├── matches.html # Страница матчей
│ │ ├── players.html # Страница игроков
│ │ ├── team.html # Подробнее о команде
│ │ └── teams.html # Страница команд
│ │
│ ├── static/ # Статические файлы (CSS, JS, изображения)
│ │ ├── css/ # Файлы стилей
│ │ ├── js/ # Файлы скриптов
│ │ └── images/ # Фотографии
│ │
│ └── analytics/ # Аналитика посещаемости и действий

├── tests/ # Тесты для приложения
│ ├── test_routes.py # Тесты для маршрутов
│ └── test_services.py # Тесты для сервисов

├── add_data.py # Добавление данных в БД
├── create_db.py # Создание базы данных

├── .env # Переменные окружения
├── .gitignore # Файлы и папки, которые нужно игнорировать в Git
├── alembic/ # Миграции базы данных (если используем Alembic)
│ └── env.py # Конфигурация миграций

├── docker-compose.yml # Docker для контейнеризации (опционально)
├── README.md # Описание репозитория проекта
├── requirements.txt # Зависимости проекта
└── run.py # Точка входа для запуска проекта


Используемые технологии
1️⃣ FastAPI: Фреймворк для создания высокопроизводительных API.
2️⃣ Pydantic: Для валидации и сериализации данных.
3️⃣ SQLAlchemy: ORM для работы с базой данных.
4️⃣ Alembic: Миграции базы данных.
5️⃣ Docker: Для контейнеризации приложения (опционально).

4️⃣ Репозиторий на GitHub

⌨️ Теги: #сайт #аналитика #fastapi #web #api #pydantic #sqlalchemy #alembic #docker #фреймворк #analytics #maximdupley #quadd4rv1n7 #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Maxim Dupley
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4
💻 5 Linux дистрибутивов, которые изменили всё

1️⃣ Debian

Основанный в 1993 году, Debian стал основой для многих других дистрибутивов, включая Ubuntu. Он ввёл концепцию "выпуска по стабильности", что привело к созданию надежной и безопасной системы для серверов и рабочих станций.

2️⃣ Red Hat Linux

Вышедший в 1995 году, Red Hat стал первым коммерческим дистрибутивом, предлагающим поддержку и обновления за плату. Это привело к созданию бизнес-модели вокруг Linux и вдохновило множество других дистрибутивов, таких как CentOS и Fedora.

3️⃣ Slackware

Один из старейших дистрибутивов, Slackware появился в 1993 году и стал известен своей философией "чистого" Unix и минималистичным подходом к установке и конфигурации. Он оказал влияние на множество других дистрибутивов, в частности, на Arch Linux.

4️⃣ Ubuntu

Запущенный в 2004 году, Ubuntu значительно упростил доступ к Linux для обычных пользователей. Он предложил удобный интерфейс и регулярные обновления, что привлекло большое количество новых пользователей и сделало Linux более популярным на десктопах.

5️⃣ Arch Linux

Запущенный в 2002 году, Arch Linux стал известен своим подходом "KISS" (Keep It Simple, Stupid), предлагая пользователям полную свободу в конфигурации системы. Он вдохновил многих пользователей создавать свои дистрибутивы и стал основой для таких проектов, как Manjaro и Antergos.

⌨️ Теги: #линукс #дистрибутив #аналитика #ubuntu #slackware #arch_linux #debian #redhat #oc #linux #analytics #maximdupley #quadd4rv1n7 #2024
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2