❤14👍1
🔥 __slots__ в Python
Когда мы создаем объект класса, атрибуты этого объекта сохраняются в словарь под названием
Давайте создадим простой класс
//Читать статью
Когда мы создаем объект класса, атрибуты этого объекта сохраняются в словарь под названием
__dict__
. Этот словарь мы используем, когда присваиваем и считываем значения атрибутов. Это позволяет нам динамически внедрять новые атрибуты уже после создания объекта.Давайте создадим простой класс
Article
, у которого изначально есть два атрибута: date
и writer
. Если мы выведем __dict__
данного объекта, то получим ключи и значения для каждого атрибута. Также мы выведем __dict__
для самого класса – это нам понадобится позже. После этого добавим в объект новый атрибут reviewer
и увидим его в обновленном __dict__
.//Читать статью
🤔8❤5🔥2
⚙️ Конвейер данных в реальном времени с Kafka и ClickHouse
Построим конвейер данных с их приемом в ClickHouse через Kafka и агрегированием автоматически обновляемых данных. Возьмем набор данных о мировых ценах на продовольствие, хоть и неидеальный для Kafka из-за отсутствия критериев скорости.
Сначала создадим на Python скрипт для выдачи сообщений — строк набора данных. Затем настроим 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
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
Обсудим интересный вопрос -как можно запретить менять наши атрибуты, реализовать логику изменения/получения атрибутов и как запретить добавлять объекту новые атрибуты.
Напоминаю: используем сет/гет, а также проперти ТОЛЬКО при наличии логики в получении или установке атрибута
▪️ _dict_ - это атрибут объектов в питоне, который хранит состояние
▪️ _setattr_ вызывается при попытке установить атрибут
▪️ property - это удобный механизм создания геттеров и сеттеров
▪️ _slots_ - создан для уменьшения памяти, занимаемой объектами, но как побочное свойство -не даст добавить объекту новый атрибут
➖ https://www.youtube.com/watch?v=Ak8Fqw7YpDc
👍8
🤯24🔥8👍6❤1
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👍12❤6🔥1
🔥 Релиз Django LTS 4.2: обзор изменений и необходимости обновления
В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.
«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.
А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье мы разберемся с этими и другими вопросами.
//Читать статью
В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.
«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.
А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье мы разберемся с этими и другими вопросами.
//Читать статью
👍10❤2
Media is too big
VIEW IN TELEGRAM
🎬 "Простой Python": ложь, большая ложь и метаклассы / Григорий Петров
Мы привыкли к тому, что "Python — это простой язык, исполняемый псевдокод". Так написано в книгах, так говорят преподаватели на курсах, так написано в интернетах. А потом начинающие разработчики приходят на работу, где их встречают протоколы, декораторы, менеджеры контекстов, метаклассы и другие веселые зверушки взрослого Пайтона.
➖ https://www.youtube.com/watch?v=_EHgMxtrOmE
Мы привыкли к тому, что "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
Каждый день мы пишем много асинхронного кода и выбираем для каждой задачи подходящую 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 мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? Эти и многие другие вопросы мы разберем.
//Читать статью
Простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? Эти и многие другие вопросы мы разберем.
//Читать статью
🤔13👍4
🤔12👍3
Цифровые часы с помощью sleep() и timestamp()
В этом скрипте мы создадим 7 временных отметок и добавим задержку на 2 секунды между каждыми двумя отметками.
Во-первых, чтобы запустить код, нам нужно добавить модуль
Мы используем функцию
В этом скрипте мы создадим 7 временных отметок и добавим задержку на 2 секунды между каждыми двумя отметками.
Во-первых, чтобы запустить код, нам нужно добавить модуль
time
. Функция sleep()
входит в этот модуль и принимает только один параметр – время в секундах, на которое остановится наша программа.Мы используем функцию
time()
, чтобы узнать текущее время, и localtime()
, чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime()
(«string from time»), которая возвращает время в виде строки в указанном формате.🔥8
🕷 BlackMamba или как ChatGPT пишет вредоносы
Скорее всего не для кого уже не новость, что ChatGPT от OpenAI способен не только генерировать статьи, идеи, писать код вместо разработчика, но также писать всякого рода вирусы и прочие вредоносные программы. Специалисты кибербезопасности из компании Hyas решили продемонстрировать, на что способно вредоносное программное обеспечении на основе ChatGPT.
По итогу получился интеллектуальный вирус, способный сам принимать решения и генерировать концы своего исходного кода, который не обнаруживают антивирусные решения.
Я решил сам убедиться, возможно ли такое, и вот что вышло - ЧИТАТЬ СТАТЬЮ
Скорее всего не для кого уже не новость, что ChatGPT от OpenAI способен не только генерировать статьи, идеи, писать код вместо разработчика, но также писать всякого рода вирусы и прочие вредоносные программы. Специалисты кибербезопасности из компании Hyas решили продемонстрировать, на что способно вредоносное программное обеспечении на основе ChatGPT.
По итогу получился интеллектуальный вирус, способный сам принимать решения и генерировать концы своего исходного кода, который не обнаруживают антивирусные решения.
Я решил сам убедиться, возможно ли такое, и вот что вышло - ЧИТАТЬ СТАТЬЮ
👍11❤1
🔥 Пять статей от редакции, собравшие больше всего отдачи:
1. Лекция - "Простой Python": ложь, большая ложь и метаклассы / Григорий Петров
2. Дублирующий скрипт: как с его помощью мы ускорили бизнес-процесс с двух рабочих дней до семи минут - В этой статье на примере большого и сложного процесса выдачи экспресс-кредитов мы расскажем, как нам удалось реализовать полноценный дубль процесса на стороне одного проверочного скрипта и ускорить процесс выдачи экспресс-кредитов с двух рабочих дней до семи минут.
3. Генерация 2D мира с помощью клеточного автомата на Python - Простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? Эти и многие другие вопросы мы разберем.
4. BlackMamba или как ChatGPT пишет вредоносы
5. Книга "Django 4 By Example (2022)"
1. Лекция - "Простой Python": ложь, большая ложь и метаклассы / Григорий Петров
2. Дублирующий скрипт: как с его помощью мы ускорили бизнес-процесс с двух рабочих дней до семи минут - В этой статье на примере большого и сложного процесса выдачи экспресс-кредитов мы расскажем, как нам удалось реализовать полноценный дубль процесса на стороне одного проверочного скрипта и ускорить процесс выдачи экспресс-кредитов с двух рабочих дней до семи минут.
3. Генерация 2D мира с помощью клеточного автомата на Python - Простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? Эти и многие другие вопросы мы разберем.
4. BlackMamba или как ChatGPT пишет вредоносы
5. Книга "Django 4 By Example (2022)"
👍11