About Python [ru]
6.32K subscribers
314 photos
1 video
1.64K links
Все о Python: алгоритмы, паттерны проектирования, задачи, нейронные сети

Канал на бирже - https://telega.in/c/python_tesst

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Состояние производительности Python 3.13: Free-Threading

Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Frontender's notes [ru]
Supply Chain атака на npm: Shai-Hulud — угроза, которая заражает проекты

Недавняя атака на экосистему npm под названием Shai-Hulud привлекла внимание разработчиков по всему миру. Это масштабная supply chain атака, которая затронула более 500 пакетов, включая популярные библиотеки, такие как ngx-toastr, tinycolor, react-jsonschema-form-extras и пакеты от CrowdStrike.

Заражённые пакеты содержат вредоносный скрипт bundle.js. Этот скрипт запускает TruffleHog для поиска секретных данных, таких как GitHub токены, NPM ключи или AWS креды, и отправляет их на внешний сервер. Дополнительно создаётся вредоносный workflow в папке .github/workflows, который будет автоматически запускаться при каждом CI-процессе. В итоге, атака действует как червь, распространяясь через каждый новый пакет, заражая downstream-проекты.


ℹ️ Что делать разработчикам

Проверить проекты на наличие заражённых версий пакетов
Ротировать npm-токены, GitHub PAT и облачные креды, чтобы минимизировать последствия
Аудитировать CI/CD конфигурации для выявления подозрительных изменений
Обновлять пакеты только из доверенных источников, избегать использования сомнительных версий


📌 Supply chain атаки становятся всё более изощрёнными и опасными. Ранее мы переживали только за typosquatting, а теперь столкнулись с реальными «npm-червями», которые могут заразить проекты на всех уровнях. Если вы работаете с публичными пакетами, регулярный аудит зависимостей и CI/CD — теперь часть обязательной практики.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Генерация баз данных теперь за пару секунд 🚶‍♂️

Нужна база данных, но нет времени и желания на долгое проектирование? Тогда Database Build — это то, что вам нужно!

Что умеет Database Build?

— Мгновенная генерация базы данных: Просто напишите текстовое описание, и нейросеть преобразует его в полноценную структуру базы с таблицами, связями и диаграммами
— Фейковые данные за секунды: Нужны тестовые данные? Создайте их прямо в сервисе
— Экспорт в SQL или загрузка на сервер: Не нужно копировать и вставлять — сразу получите готовую базу в нужном формате или загрузите её на сервер
— Бесплатно: Сервис доступен без платы — можно без риска протестировать


Database Build — идеальный инструмент для разработчиков, тестировщиков и всех, кто работает с базами данных. Ускорьте процесс разработки и создавайте базы без усилий.

Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что такое list comprehension в Python и как он работает?

List comprehension — это лаконичный способ создания списков в Python. С его помощью можно быстро преобразовать или отфильтровать элементы из другого итерируемого объекта, написав компактный и читаемый код.

➡️ Пример:

# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# Фильтрация чётных чисел
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]


🗣️ List comprehension позволяет комбинировать создание и обработку списков в одну строку, что делает код более компактным и удобным для чтения. Однако его стоит использовать разумно, чтобы не усложнять логику.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Python + Pygame = Amazing Frogs: создаем крутую головоломку

Готов создать игру, от которой не оторвешься? Давай вместе сделаем Amazing Frogs – убийцу Тетриса на Python! Тут тебе и падающие блоки, и взрывающиеся цвета, и хитрая механика. Запасайся кофе, открывай IDE, и поехали превращать код в игровое безумие!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по Python

Напишите скрипт, который проверяет, существует ли указанный файл, и выводит сообщение Файл найден или Файл не найден.

➡️ Пример:

python check_file.py example.txt
Файл найден


Решение задачи ⬇️

import os
import sys

if len(sys.argv) < 2:
print("Использование: python check_file.py <file_path>")
sys.exit(1)

file_path = sys.argv[1]

if os.path.isfile(file_path):
print("Файл найден")
else:
print("Файл не найден")
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке

Статья демонстрирует, как с помощью Python и библиотек Flet и FastAPI создавать кроссплатформенные приложения. Рассматриваются подходы к разработке веб, мобильных и десктопных решений без необходимости изучать другие языки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Разбей и властвуй: как создать кастомный токенизатор в SpaCy

Статья показывает, как создавать кастомные токенизаторы в SpaCy для специфических задач: от разбивки текста по уникальным правилам до обработки экзотических языков программирования. Практические примеры включены.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️‍♂️ Когда твоя работа зависит от Василия

Задача вроде простая, но всё стопорится, потому что «это знает только Василий, он тут со времён динозавров». Никакой документации, только магия в его голове. В итоге — пока он не ответит, ты зависаешь, а проект буксует. Звучит знакомо?

⚙️ Если так, пора разорвать этот порочный круг. Вместо бесконечных вопросов начни собирать всё в одну базу знаний — хоть в Notion, хоть на салфетках. Предложи команде попробовать парное программирование: пока Василий творит чудеса, ты уже разбираешься, как эти фокусы повторить.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 7 продвинутых приемов pandas для науки о данных

Статья делится 7 продвинутыми приёмами работы с pandas для оптимизации задач анализа данных. Рассматриваются, например, итерации по группам с df.groupby().iter() и другие способы упростить повторяющиеся операции.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое генераторы в Python и зачем они нужны?

Генераторы — это функции в Python, которые возвращают значения по одному с помощью ключевого слова yield, вместо полного возврата всех значений сразу. Они полезны для работы с большими объемами данных, так как сохраняют память, генерируя значения на лету.

➡️ Пример:

# Генератор для получения первых N чисел Фибоначчи
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b

# Используем генератор
for num in fibonacci(5):
print(num)

# Вывод: 0, 1, 1, 2, 3


🗣️ В этом примере генератор fibonacci вычисляет числа по запросу, вместо сохранения всех значений в памяти. Это делает генераторы особенно удобными для работы с потоками данных или бесконечными последовательностями.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов

В этой статье я постараюсь простым языком рассказать о последствиях, к которым может привести слепой запуск A/B-тестов без предварительного А/А-тестирования.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по Python

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

➡️ Пример:

print(reverse_words("Hello World"))  # Ожидаемый результат: "World Hello"
print(reverse_words("Python is great")) # Ожидаемый результат: "great is Python"


Решение задачи ⬇️

def reverse_words(sentence):
return ' '.join(sentence.split()[::-1])

# Пример использования:
print(reverse_words("Hello World")) # Ожидаемый результат: "World Hello"
print(reverse_words("Python is great")) # Ожидаемый результат: "great is Python"
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Что такое метаклассы в Python и как они работают?

Метаклассы в Python — это классы, которые определяют поведение других классов. Они позволяют изменять или расширять логику создания классов, добавляя к ним атрибуты или методы. Метаклассы чаще всего используются для создания сложных API или DSL (языков предметной области).

➡️ Пример:

# Определение метакласса
class MyMeta(type):
def __new__(cls, name, bases, dct):
dct['custom_method'] = lambda self: f"Метод добавлен через {cls.__name__}"
return super().__new__(cls, name, bases, dct)

# Используем метакласс для создания класса
class MyClass(metaclass=MyMeta):
pass

# Пример использования
obj = MyClass()
print(obj.custom_method()) # Метод добавлен через MyMeta


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


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Двусвязный список в Python: простой инструмент для сложных задач

Эта статья написана для новичков, которые только начинают осваивать структуры данных на Python. Сегодня мы рассмотрим замечательную и очень полезную структуру — двусвязный список.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📐 Удобство кода важнее скорости написания

Код, который пишется за час, но читается три дня — это не экономия времени.

👉 Совет: всегда думай о том, сколько времени займёт чтение и поддержка твоего кода. Быстрое написание ценится только один раз. Удобное чтение ценится бесконечно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание RESTful API с помощью Django и Django REST Framework

Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 ТОП-10 книг по Python для начинающих программистов в 2024 году

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM