Telegram Web Link
Python Academy
Сегодня у нас необычный тест для тру айтишников. Скажите нам, что вы видите на картинке, и узнайте, кто вы из разрабов. Если вы видите художника, затерявшегося в густой толпе и оставившего лишь несколько подсказок о своем местонахождении, то поздравляем…
💻 Рассказывали вам про задачи на Yandex Cup 2023. В финале команда Яндекса также решила совместить IT и искусство. Пространство было оформлено в стиле демосцены — субкультуры, связанной с компьютерным искусством и киберкультурой, и сами задачи также были тематическими. 

Один из запоминающихся арт-объектов соревнования: музыкальный перформанс “Код степи”, созданный участниками лейбла qazaq indie — Балхаш снится, Samrattama, — и другими независимыми художниками, где объединились элементы казахстанской культуры и технологий. Код, который писали участники, был синтезирован в звук и стал частью музыкального произведения.   

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

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

Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.

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

#python #validators
🐍 На работу python разработчиком сложно попасть без резюме.

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

🤖 @avatar_resume_bot
Паттерн проектирования Singleton

Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр. 

Метод __new__ вызывается для создания экземпляра класса, перед вызовом __init__. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).

В примере мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.

То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.

#классы #паттерны
Приглашаем на Pytup — круглый стол о Python 3.12

Пока все постепенно начинают думать о Новом годе, мы готовим для вас новый Pytup, чтобы поговорить про наш любимый язык программирования. Тема этого круглого стола — Python 3.12 в проде.

На Pytup мы соберём разработчиков, которым есть что сказать про Python 3.12 и которые могут поделиться первыми впечатлениями от новой версии. Стоит ли переходить на 3.12, что в новой версии реализовано плохо, а что — хорошо и вообще в ту ли сторону развивается язык. Обсудим эти и другие вопросы, вместе поразмышляем над перспективами Python, а ещё поболтаем о жизни, отдохнём и просто хорошо проведём время.

Pytup пройдёт 16 декабря в Москве, можно прийти офлайн или посмотреть онлайн-трансляцию.

Зарегистрироваться можно здесь.
Работа с PDF файлами используя PyPDF2

В этом посте, вы узнаете, как работать с PDF-файлами в Python. PyPDF2 предоставляет функциональность для работы с PDF-файлами в Python, позволяя автоматизировать процессы обработки и анализа документов в формате PDF.

Пример кода:

import PyPDF2

with open('example.pdf', 'rb') as file:

pdf_reader = PyPDF2.PdfReader(file)

num_pages = len(pdf_reader.pages)
print(f"Количество страниц в PDF: {num_pages}")

first_page_text = pdf_reader.pages[0].extract_text()
print("Текст с первой страницы:")
print(first_page_text)

pdf_writer = PyPDF2.PdfWriter()

pdf_writer.add_page(pdf_reader.pages[0])

with open('new_document.pdf', 'wb') as new_file:
pdf_writer.write(new_file)

print("Обработка PDF завершена.")


В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".

PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.

#python #pypdf2
Хеширование в Python используя hashlib

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

Пример кода:
import hashlib

# Пример хеширования строки с использованием SHA-256
data_to_hash = "Hello, World!"
hashed_data = hashlib.sha256(data_to_hash.encode()).hexdigest()

print(f"Исходные данные: {data_to_hash}")
print(f"Хеш-сумма (SHA-256): {hashed_data}")
В этом примере мы используем алгоритм SHA-256 из библиотеки hashlib для создания хеш-суммы строки "Hello, World!". Результат выводится в шестнадцатеричном формате.

Библиотека hashlib является одним из лучших инструментов для обеспечения безопасности данных в Python. Путем использования различных алгоритмов хеширования, таких как MD5, SHA-256 и других, вы можете обеспечить целостность данных и повысить уровень безопасности ваших приложений.

#python #hashlib
🌐 Копирование веб-содержимого в Python с библиотекой pywebcopy

Библиотека pywebcopy облегчает автоматизацию процесса загрузки веб-содержимого, что может быть полезным при создании веб-скраперов, загрузчиков или других приложений, требующих копирования данных из Интернета.

Пример кода:

from pywebcopy import save_webpage

url = 'https://www.example.com'

target_folder = 'path/to/folder'

save_webpage(url, target_folder)


В данном примере используется функция save_webpage для копирования веб-содержимого указанной веб-страницы (url) в указанную целевую папку (target_folder).

Библиотека pywebcopy предоставляет простой и удобный способ копирования веб-содержимого прямо из Python. Она может быть полезна при создании скриптов для загрузки данных с веб-страниц, автоматизации сбора информации или создании зеркал сайтов. 💻

#python #pywebcopy
Please open Telegram to view this post
VIEW IN TELEGRAM
Работа с YAML-Файлами в Python с Помощью Библиотеки PyYAML

PyYAML позволяет эффективно работать с файлами в формате YAML (YAML Ain't Markup Language), который широко используется для конфигураций, настроек и обмена данными в структурированной форме.

import yaml

data_to_write = {'name': 'John Doe', 'age': 30, 'city': 'Example City'}
with open('example.yaml', 'w') as file:
yaml.dump(data_to_write, file, default_flow_style=False)

with open('example.yaml', 'r') as file:
loaded_data = yaml.safe_load(file)
print(f"Загруженные данные: {loaded_data}")


Результат (файл example.yaml):
age: 30
city: Example City
name: John Doe

В этом примере мы используем PyYAML для записи словаря data_to_write в файл example.yaml и затем загружаем данные из этого файла обратно в переменную loaded_data.

Библиотека PyYAML предоставляет удобные средства для работы с данными в формате YAML в Python. Будь то сохранение конфигураций, обмен структурированными данными или другие сценарии, где YAML имеет преимущество, PyYAML обеспечивает легкость в использовании и читаемый код🐍

#python #yaml #pyyaml
Please open Telegram to view this post
VIEW IN TELEGRAM
Все сервисы Норникеля для работников, собранные в суперапе «Суперника» — нашли отклик в сердцах работников, ведь приложение уже используют 40 тысяч человек из 22 городов России.

Приложение оказалось крайне полезным, потому что у 75% сотрудников нет ПК на рабочем месте. Суперап доступен на любом мобильном устройстве, а также в десктоп-версии с любого компьютера. В личном кабинете можно узнать информацию об отпуске, стаже работы. Есть возможность настроить новостную ленту, получить доступ к документам и справкам, узнать о корпоративных мероприятиях и оставить отклик. Также можно общаться между собой в чатах на звонках и видеосвязи.

В основе «Суперники» микросервисная архитектура. Для быстрой и бесшовной работы приложения потребовалось разработать, согласовать, прописать и настроить 3500 правил. Все сервисы работают независимо друг от друга, а это более тысячи различных соединений.
Создание скриншотов с использованием модуля pyscreenshot

Модуль pyscreenshot, обеспечивая кросс-платформенную функциональность, позволяет легко создавать скриншоты как всего экрана, так и его отдельных частей. Для работы этого модуля необходимо установить библиотеку Pillow.

Для захвата изображения используется метод grab, для его отображения – show, а для сохранения – save. В метод grab можно также передать аргумент bbox, чтобы ограничить захват только определенной областью экрана.

Этот модуль оказывается особенно полезным, например, при логировании скриптов, использующих Selenium.
Selenium может открывать браузер и выполнять различные операции в нем, и использование pyscreenshot позволяет создавать скриншоты для последующего анализа и отладки.

#python #pyscreenshot
2024/09/27 11:27:36
Back to Top
HTML Embed Code: