Python и 1000 уязвимостей
37.7K subscribers
1.84K photos
563 videos
27 files
1.98K links
Сила в единстве.

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

Канал на бирже:
https://telega.in/channels/osint_pythons/card

№ 5383975776
РКН: https://clck.ru/3FtTDH
Download Telegram
Media is too big
VIEW IN TELEGRAM
👾 Jabber чат-бот на Python

«Джаббер» (Jabber) в переводе с английского означает "болтовня" или "трескотня". Это первоначальное наименование свободного протокола обмена мгновенными сообщениями ХМРР, а также собирательное название работающих с его использованием клиентских программ.

https://www.youtube.com/watch?v=cZQJ1U2LS8o
👍62
Что выдаёт код выши?
Anonymous Quiz
21%
Драко Драко Драко
6%
Рон Рон Рон
21%
0
52%
Error
14👍1
🔥 __slots__ в Python

Когда мы создаем объект класса, атрибуты этого объекта сохраняются в словарь под названием __dict__. Этот словарь мы используем, когда присваиваем и считываем значения атрибутов. Это позволяет нам динамически внедрять новые атрибуты уже после создания объекта.

Давайте создадим простой класс Article, у которого изначально есть два атрибута: date и writer. Если мы выведем __dict__ данного объекта, то получим ключи и значения для каждого атрибута. Также мы выведем __dict__ для самого класса – это нам понадобится позже. После этого добавим в объект новый атрибут reviewer и увидим его в обновленном __dict__.

//Читать статью
🤔85🔥2
⚙️ Конвейер данных в реальном времени с Kafka и ClickHouse

Построим конвейер данных с их приемом в ClickHouse через Kafka и агрегированием автоматически обновляемых данных. Возьмем набор данных о мировых ценах на продовольствие, хоть и неидеальный для Kafka из-за отсутствия критериев скорости.

Сначала создадим на Python скрипт для выдачи сообщений  —  строк набора данных. Затем настроим ClickHouse для их получения и обработки, а после поэкспериментируем с представлением в реальном времени и удалением данных.

//Читать статью
🔥7👍1
🔥 Пять статей от редакции, собравшие больше всего отдачи:

1. Модуль Calendar в Python (часть 1)
Модуль Calendar в Python (часть 2)

2. Как загружать данные в SQL в 20 раз быстрее на Python - Работа с массивными наборами данных – повседневное дело для большинства специалистов по обработке данных...

3. Добавление функций в классы Python

4. Книга "40 алгоритмов, которые должен знать каждый программист на Python"

5. __slots__ в Python
🔥6👍4
Media is too big
VIEW IN TELEGRAM
🔥 Доступ к свойствам объекта. Property и slots

Обсудим интересный вопрос -как можно запретить менять наши атрибуты, реализовать логику изменения/получения атрибутов и как запретить добавлять объекту новые атрибуты.

Напоминаю: используем сет/гет, а также проперти ТОЛЬКО при наличии логики в получении или установке атрибута

▪️ _dict_ - это атрибут объектов в питоне, который хранит состояние
▪️ _setattr_ вызывается при попытке установить атрибут
▪️ property - это удобный механизм создания геттеров и сеттеров
▪️ _slots_ - создан для уменьшения памяти, занимаемой объектами, но как побочное свойство -не даст добавить объекту новый атрибут

https://www.youtube.com/watch?v=Ak8Fqw7YpDc
👍8
Что выдаёт код выше?
Anonymous Quiz
34%
ПП
27%
Пп
29%
пП
10%
пп
🤯24🔥8👍61
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем красоту в Python turtle graphics

import turtle as tur
import colorsys as cs
tur.setup(800,800)
tur.speed(0)
tur.tracer(10)
tur.width(2)
tur.bgcolor("black")
for j in range(25):
for i in range(15):
tur.color(cs.hsv_to_rgb(i/15,j/25,1))
tur.right(90)
tur.circle(200-j*4,90)
tur.left(90)
tur.circle(200-j*4,90)
tur.right(180)
tur.circle(200-j*4,90)
tur.hideturtle()
tur.done()

Turtle - это предустановленная библиотека Python, которая позволяет пользователям создавать рисунки и фигуры, предоставляя им виртуальный холст.Экранное перо, которое вы используете для рисования, называется черепашкой, что и дает название библиотеке.

🔥Копируем код и наслаждаемся процессом (а приятнее, конечно, сделать свою красоту)
🤯22👍126🔥1
🔥 Релиз Django LTS 4.2: обзор изменений и необходимости обновления

В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.

«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.

А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье мы разберемся с этими и другими вопросами.

//Читать статью
👍102
Media is too big
VIEW IN TELEGRAM
🎬 "Простой Python": ложь, большая ложь и метаклассы / Григорий Петров

Мы привыкли к тому, что "Python — это простой язык, исполняемый псевдокод". Так написано в книгах, так говорят преподаватели на курсах, так написано в интернетах. А потом начинающие разработчики приходят на работу, где их встречают протоколы, декораторы, менеджеры контекстов, метаклассы и другие веселые зверушки взрослого Пайтона.

https://www.youtube.com/watch?v=_EHgMxtrOmE
🔥13🤔4
Что выдает код выше?
Anonymous Quiz
19%
<class 'hexint'>
51%
<class 'hex'>
24%
<class 'int'>
6%
<class 'number'>
🤔10🤯7👍3
🔥 Дублирующий скрипт: как с его помощью мы ускорили бизнес-процесс с двух рабочих дней до семи минут

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

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

//Читать статью
🔥7
Media is too big
VIEW IN TELEGRAM
🎬 Почему вам не нужен асинхронный ORM / Денис Катаев

Каждый день мы пишем много асинхронного кода и выбираем для каждой задачи подходящую aio-библиотеку в зависимости от того, с чем нам приходится работать: с HTTP или с файлами. А ещё нам приходится работать с базами данных, но, увы, aio-database нет.

https://www.youtube.com/watch?v=tIpMZTbEK6Q&t=38s
4👍2🔥2🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
  Генерация 2D мира с помощью клеточного автомата на Python

Простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? Эти и многие другие вопросы мы разберем.

//Читать статью
🤔13👍4
Объяснение решения - ссылка на телеграф
🤯15👍91
Что выдаёт код выше?
Anonymous Quiz
46%
True
18%
False
14%
1
3%
0
19%
Error
🤔12👍3
Цифровые часы с помощью sleep() и timestamp()

В этом скрипте мы создадим 7 временных отметок и добавим задержку на 2 секунды между каждыми двумя отметками.

Во-первых, чтобы запустить код, нам нужно добавить модуль time. Функция sleep() входит в этот модуль и принимает только один параметр – время в секундах, на которое остановится наша программа.

Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.
🔥8