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

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

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Файловая система без фокусов: как hard links и XOR сэкономят ваши гигабайты

Статья объясняет концепцию символьных и жёстких ссылок на файлы, акцентируя внимание на hard links в Windows, малоизвестных многим веб-разработчикам. В простых примерах раскрывается принцип работы ссылок и их отличия от привычных ярлыков.

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

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

➡️ Пример:

"A man, a plan, a canal, Panama"

True


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

import re

def is_palindrome(s):
# Оставляем только буквы и цифры, приводим к нижнему регистру
cleaned = re.sub(r'[^a-zA-Z0-9]', '', s).lower()
return cleaned == cleaned[::-1]

# Пример использования:
input_string = "A man, a plan, a canal, Panama"
result = is_palindrome(input_string)
print(result) # Ожидаемый результат: True
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

В статье показано, как создать свою страшилку на Хэллоуин с помощью Python и p5py, прямо в онлайн-IDE. Без лишних установок и настроек — просто открывай браузер и начинай программировать.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Приложение на Go шаг за шагом. Часть первая: скелет, НТТР-сервер и конфигурация

Статья предлагает структурированный подход к обучению Go для новичков. Автор курса «Go-разработчик с нуля» делится опытом и помогает пошагово создать API для управления библиотекой книг, чтобы закрепить полученные знания.

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

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

➡️ Пример:

Входная строка:
"The weather is nice today. Nice weather makes me happy."
Слово для замены: "nice"
Новое слово: "great"

Ожидаемый вывод:
"The weather is great today. Great weather makes me happy."


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

def replace_word(text, old_word, new_word):
return text.replace(old_word, new_word)

# Пример использования:
input_text = "The weather is nice today. Nice weather makes me happy."
result = replace_word(input_text, "nice", "great")
print(result) # Ожидаемый результат: "The weather is great today. Great weather makes me happy."
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Разрабатываем первое AI приложение

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Возможности функции scatterplot() библиотеки seaborn

Статья объясняет использование функции scatterplot() из seaborn для визуализации взаимосвязи числовых переменных. Рассказывается о параметрах настройки цвета, размера и стиля точек, что помогает в многомерном анализе данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как работает модуль os в Python для работы с файловой системой?

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

➡️ Пример:

import os

# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)

# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')


🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Укрощение монстров: мониторинг и управление ресурсоемкими запросами в Django + PostgreSQL

Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Страх ошибки — худший тормоз для роста.

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

🎯 Что делать: начни с маленьких рисков. Возьми задачу, в которой пока не уверен, или предложи идею на митинге, даже если есть сомнения. Фейлы — это не клеймо, а возможность показать, как ты умеешь справляться и двигаться дальше. Чем раньше примешь это, тем быстрее начнёшь расти.
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Пишем небольшое приложение на Python для повышения продуктивности с помощью ИИ и BotHub API

Статья объясняет, как создать приложение для автоматического анализа онлайн-встреч. Используя API BotHub (Whisper-1 + Claude 3.5 Sonnet), вы научитесь извлекать ключевые идеи, распределять задачи и генерировать отчёты в формате PDF.

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

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

➡️ Пример:

[10, 20, 4, 45, 99]
45

[5, 5, 5]
None


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

def find_second_largest(numbers):
# Удаляем дубликаты и сортируем список в порядке убывания
unique_numbers = sorted(set(numbers), reverse=True)
# Если уникальных чисел меньше двух, возвращаем None
return unique_numbers[1] if len(unique_numbers) >= 2 else None

# Пример использования:
print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45
print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Кастомизация Django Admin. Часть 1: Структура шаблонов

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

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

Напишите функцию, которая принимает строку и возвращает список всех её подстрок. Подстрока — это непрерывная последовательность символов, содержащаяся в строке.

➡️ Пример:

"abc"
['a', 'ab', 'abc', 'b', 'bc', 'c']


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

def generate_substrings(s):
substrings = []
for i in range(len(s)):
for j in range(i + 1, len(s) + 1):
substrings.append(s[i:j])
return substrings

# Пример использования:
input_string = "abc"
result = generate_substrings(input_string)
print(result) # Ожидаемый результат: ['a', 'ab', 'abc', 'b', 'bc', 'c']
Please open Telegram to view this post
VIEW IN 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