[PYTHON:TODAY]
62.3K subscribers
2.18K photos
973 videos
278 files
1.37K links
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!

Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat

Сотрудничество: @web_runner

Канал в РКН: https://clck.ru/3GBFVm
Download Telegram
💾 Коды ответа и методы запроса HTTP

#web #doc
👍90🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 Шесть архитектур API и как они работают, которые вы должны знать

#doc #web
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194🔥30🤯83
✍️ Сохрани. Это нужно знать

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

Сетевая модель OSI — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает
свою часть процесса взаимодействия.

Гайд на русском 👇

#doc #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49🔥63
This media is not supported in your browser
VIEW IN TELEGRAM
✍️ Разработчикам и техническим специалистам крайне важно понимать концепции различных методов HTTP-запросов

На диаграмме также показано, имеет ли каждый метод тело запроса/ответа, является ли он безопасным, идемпотентным или кэшируемым.

9 распространенных типов HTTP-запросов:

1. PATCH: Для обновления частей ресурса.
2. TRACE: используется для отладки путей запросов.
3. OPTIONS: возможности сервера запросов.
4. CONNECT: устанавливает соединение с веб-сервером.
5. DELETE: удаляет данные.
6. PUT: обновляет или заменяет данные.
7. POST: отправляет данные.
8. HEAD: извлекает только заголовки.
9. GET: извлекает данные.

🙂 Понимание этих методов помогает в разработке надежных и эффективных API.

#doc #cheatsheet #web
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥84
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 В мире разработки программного обеспечения выбор правильного архитектурного шаблона имеет решающее значение для создания масштабируемых, поддерживаемых и высокопроизводительных приложений.

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

💬 𝟭. 𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗵𝗶𝗰 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲
Самый простой и традиционный подход, при котором все компоненты связаны между собой в единой кодовой базе. Монолитная архитектура проста и идеально подходит для небольших приложений, не требующих обширной масштабируемости. Однако по мере роста систем ее масштабирование, тестирование и поддержка могут стать сложными. Идеально подходит для стартапов или небольших команд, ищущих быструю разработку.

💬 𝟮. 𝗠𝗶𝗰𝗿𝗼𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲
Любимый вариант для больших сложных приложений, которым требуется масштабируемость и гибкость. Здесь приложение разделено на независимо развертываемые сервисы, каждый из которых обрабатывает определенные бизнес-функции. Микросервисы позволяют командам использовать различные технологические стеки и масштабировать сервисы независимо. Этот шаблон популярен в приложениях с высоким трафиком и организациях, которым нужна свобода для независимого развертывания функций.

💬 𝟯. 𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗿-𝗪𝗼𝗿𝗸𝗲𝗿 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲
Этот шаблон разделяет задачи на контроллеры и рабочие. Контроллер управляет взаимодействиями с пользователем, в то время как рабочие выполняют фоновые задачи, такие как обработка данных, создавая систему, которая является высокомасштабируемой и эффективной. Идеально подходит для приложений, которым необходимо выполнять интенсивные фоновые задания, такие как обработка заказов, аналитика в реальном времени или уведомления.

💬 𝟰. 𝗠𝗼𝗱𝗲𝗹-𝗩𝗶𝗲𝘄-𝗖𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗲𝗿 (𝗠𝗩𝗖)
Классический шаблон, обычно используемый в веб-приложениях, MVC разделяет логику приложения (модель), пользовательский интерфейс (представление) и взаимодействие (контроллер). Такое разделение задач упрощает поддержку и обновление определенных частей, не затрагивая всю систему. MVC является популярным выбором для приложений, которым требуются пользовательские интерфейсы, особенно в сферах электронной коммерции и управления контентом.

💬 𝟱. 𝗘𝘃𝗲𝗻𝘁-𝗗𝗿𝗶𝘃𝗲𝗻 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲
Идеально подходит для систем, которым необходимо реагировать на определенные действия или события, такие как щелчки пользователя, обновления базы данных или показания датчиков. В этом шаблоне компоненты реагируют на события асинхронно, что делает его масштабируемым и слабосвязанным. Архитектура, управляемая событиями, отлично подходит для приложений со сложными рабочими процессами или асинхронными потребностями в обработке, такими как IoT, аналитика в реальном времени и системы уведомлений клиентов.

💬 𝟲. 𝗟𝗮𝘆𝗲𝗿𝗲𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲
Организует приложение по слоям (Презентация, Бизнес, Доступ к данным и Инфраструктура) для создания четкого разделения интересов. Каждый слой отвечает за определенный аспект, делая систему более обслуживаемой и тестируемой. Многоуровневый подход часто используется в корпоративных приложениях и идеально подходит для создания четкой стандартизированной структуры во всей системе.

📂 Сохраняем

#doc #web #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥86
This media is not supported in your browser
VIEW IN TELEGRAM
⌨️ Коды состояния HTTP имеют решающее значение для веб-разработчиков.

Cписок из 18 основных, которые вам нужно знать с пояснением на русском:

💬 200 OK: Запрос успешно выполнен.
💬 201 Created: Запрос выполнен успешно, и в результате был создан новый ресурс.
💬 202 Accepted: Запрос получен, но еще не обработан.
💬 204 No Content: Для этого запроса нет содержимого для отправки, но заголовки ответа могут быть полезны. Пользовательский агент может использовать их для обновления закешированных заголовков, полученных ранее для этого ресурса.
💬 301 Moved Permanently: URL-адрес запрошенного ресурса был изменен навсегда. Новый URL-адрес указан в ответе.
💬 302 Found: URI запрошенного ресурса был временно изменен.
💬 304 Not Modified: Этот код используется для целей кэширования. Он сообщает клиенту, что ответ не был изменен, поэтому клиент может продолжать использовать кэшированную версию ответа.
💬 400 Bad Request: Сервер не может или не будет обрабатывать запрос из-за чего-то, что воспринимается как ошибка клиента (например, неправильный синтаксис, формат или маршрутизация запроса).
💬 401 Unauthorized: Хотя стандарт HTTP определяет этот ответ как «неавторизованный», семантически он означает «неаутентифицированный». Это значит, что клиент должен аутентифицировать себя, чтобы получить запрошенный ответ.
💬 403 Forbidden: Клиент не имеет прав доступа к контенту, то есть он неавторизован, поэтому сервер отказывается предоставить запрошенный ресурс. В отличие от 401 Unauthorized, личность клиента известна серверу.
💬 404 Not Found: Сервер не может найти запрошенный ресурс. В браузере это означает, что URL-адрес не распознан.
💬 405 Not Allowed: Метод запроса известен серверу, но не поддерживается целевым ресурсом. Например, API может не разрешать вызов DELETE для удаления ресурса.
💬 408 Request Timeout: Истекло время ожидания запроса.
💬 500 Internal Server Error: На сервере произошла ошибка, в результате которой он не может успешно обработать запрос.
💬 501 Not Implemented: Метод запроса не поддерживается сервером и поэтому он не может быть обработан. Методы GET и HEAD должны всегда поддерживаться сервером и для них не должен возвращаться этот код.
💬 502 Bad Gateway: Ошибка неверного шлюза. Такой ответ может прислать сервер, который выступает в качестве шлюза, если в процессе обработки запроса он получил недопустимый ответ от целевого сервера.
💬 503 Service Unavailable: Сервер не готов обработать запрос в данный момент. Распространёнными причинами являются техническое обслуживание или перегрузка сервера.
💬 504 Gateway Timeout: Истекло время ожидания шлюза.

📂 Сохраняем

#doc #web #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍69🔥87
Forwarded from NetStalkers
🔥 Botasaurus — крутой Python инструмент, мощная среда для парсинга/веб-скрейпинга, которая позволяет обходить защиту от ботов, создавать скраперы быстрее, проще и с максимальным удовольствием используя UI интерфейс.

Что вы получаете с Botasaurus:

🟢 Превращайте любой скрапер в инструмент с удобным интерфейсом за минуты, удивляя своей простотой.
🟢 Забудьте о проблемах с детекцией ботов — Botasaurus справляется с этим на уровне Супермена для Selenium и Playwright.
🟢 Сокращайте траты на прокси до 97%, используя запросы на основе браузера.
🟢 Асинхронный параллельный скрейпинг становится проще простого с распараллеливанием, профилями и конфигурацией.
🟢 Экономьте время благодаря встроенному кэшированию, очистке данных и удобным утилитам.
🟢 Масштабируйте свои скраперы на несколько машин с помощью Kubernetes и собирайте данные быстрее.

Botasaurus — инструмент, который не только облегчает работу, но и экономит часы времени. Попробуйте, и вы удивитесь, насколько эффективным может быть веб-скрейпинг! 🚀

⚙️ GitHub/Много примеров кода

#python #soft #github #web
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍67🔥238
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Полезные библиотеки Python

Helium — простая в использовании Python библиотека созданная для автоматизации работы с браузерами, такими как Chrome и Firefox.

Построена на базе Selenium, но с более понятным и коротким API. С Helium можно сократить код в два раза и легко взаимодействовать с элементами страницы.

Плюсы? Она сама разбирается с iFrames, окнами, ожидает загрузки элементов, позволяет обходить капчи, проверку на ботов, делая автоматизацию стабильной и без лишних хлопот.

Установка:
$ python -m pip install helium


Простой пример использования:
# A Helium function:
driver = start_chrome()
# A Selenium API:
driver.execute_script("alert('Hi!');")


⚙️ GitHub/Инструкция

#python #soft #web #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥227
✍️ Краткая шпаргалка по запросам REST API на русском

➡️ GET/POST/PUT/PATCH/DELETE что такое и для чего используются;
➡️ Параметры запросов;
➡️ Заголовки запросов и ответов;
➡️ 200, 301, 404, 500 - коды ответов и что они обозначат и д.р полезные вещи.

#doc #api #cheatsheet #web
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30
This media is not supported in your browser
VIEW IN TELEGRAM
💻 Наглядная шпаргалка по работе сессии, файлов cookie, JWT, токенов, SSO и OAuth 2.0 на одной диаграмме

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

💬 Сессия — Сервер сохраняет вашу учетную запись и передает браузеру файл cookie с идентификатором сеанса. Это позволяет серверу отслеживать состояние входа в систему. Но файлы cookie не работают на разных устройствах.

💬 Токен — Ваша учетная запись закодирована в токене, отправленном в браузер. Браузер отправляет этот токен при будущих запросах аутентификации. Хранилище сеансов сервера не требуется. Но токены нуждаются в шифровании/дешифровании.

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

💬 SSO — Система единого входа использует центральную службу аутентификации. Это позволяет одному логину работать на нескольких сайтах.

💬 OAuth2 — Разрешает ограниченный доступ к вашим данным на одном сайте другому сайту без разглашения паролей.

💬 QR-код — Набирающий популярность метод аутентификации. Кодирует случайный токен в QR-код для входа в систему с мобильного устройства. Сканирование кода позволяет войти в систему без ввода пароля.

Сохраняй 👍

#doc #web #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥73