52807
по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
🖥 Cheatsheet по Pandas
Держите годную шпаргалку по работе с библиотекой Pandas, тут описано самое основное, что может понадобиться в работе:
⏩Группировка данных по заданным параметрам.
⏩Объединение нескольких таблиц в одну сводную.
⏩Очищение данных от дубликатов и невалидных строк или столбцов.
⏩Вывод определенных значений по фильтрам или уникальности.
⏩Использование агрегирующих функций, включая подсчет значений, суммы элементов, определение среднего значения.
⏩Визуализация собранных данных.
Пользуйтесь)
@pythonl
🖥 Designing a Pure Python Web Framework
Reflex — Разработка веб-приложений на чистом Python.
Библиотека, котороя упрощает разработку приложений с помощью инструментов командной строки для инициализации и запуска проектов. Изначально инструмент был выпущен под названием Pynecone.
Недавно была выпущена новая версия Reflex 0.4.0, которая включает в себя следующие улучшения:
- Запуск сервиса хостинга с возможностью бесплатного размещения приложений.
- Руководство по созданию клонов ChatGPT с использованием Reflex.
- Новые ключевые компоненты на основе Radix UI с единой системой тем.
- Расширенные руководства по интеграции настраиваемых компонентов React.pip install reflex
▪Документация
▪GitHub
▪Гайд с примерами
@pythonl
🖥 Полезная статья про исключения в Python
Самое то вспомнить/освежить, как происходит работа с исключениями, try-except-finally — и всё такое.
📎 Статья
@pythonl
🖥 Formcrawler: This script Crawls the website and finds the URLs that contain html forms.
Этот скрипт может сканировать веб-сайты и находить все ссылки, содержащие HTML-формы.
Очень полезно, чтобы находить формы для Blind XSS.
Blind XSS (Слепая XSS) — уязвимость, при которой хакер может внедрить скрипт на страницу, но не может увидеть его непосредственное выполнение.
Это может произойти, если веб-приложение выполняет обработку информации перед запуском протоколов безопасности, скрипт выполняется и может повлиять на других пользователей и инстурменты или нанести вред все системе.
⚙️Github
@pythonl
🖥 GIL в Python: как его будут отключать
— «Python-разработчики, как правило, хорошо знают, что такое и для чего нужен GIL, вопросы по нему встречаются на большинстве собеседований, я и сам люблю их задавать. Но в CPython его скоро не будет. Да, core-разработчики CPython взяли курс на его удаление»
Держите интересную статью о том, как ведётся работа по ускорению CPython и удалению GIL.
Некоторые факты из статьи:
⏩GIL (Global Interpreter Lock) является главным препятствием для настоящего параллелизма на уровне потоков в Python.
⏩PEP 703 представил план внедрения флага компиляции --disable-gil для отключения GIL.
⏩Изменения в Python будут разделены на четыре категории: подсчет ссылок, управление памятью, потокобезопасность контейнеров и блокировки и атомарные API.
⏩Предлагаются различные техники для устранения недостатков GIL, включая раздельный подсчет ссылок, увековечивание и отложенный подсчет ссылок.
⏩Управление памятью будет изменено с использованием потокобезопасного аллокатора Mimalloc.
⏩Сборщик мусора потребует изменений для обеспечения гарантий, которые ранее предоставлялись GIL.
⏩Потокобезопасность контейнеров будет обеспечена введением мьютексов на уровне каждого контейнера.
⏩Предлагается введение новых функций, которые будут возвращать объекты с уже измененными счетчиками.
📎 Статья
@pythonl
Сможете разгадать тайны Гиперкуба?
Проявите смекалку и примените ИТ-скиллы на Tinkoff CTF — соревновании по спортивному хакингу. Победителям — призы до 420 000 ₽. Вот как все устроено:
— Выберите лигу: опытных или новых игроков. Задания рассчитаны на ИТ-специалистов уровня мидл и выше. Если играете впервые, можете потренироваться с демоверсией заданий.
— Соревнуйтесь в одиночку или командой до трех человек. Организаторы помогут найти команду, если нет своей.
— Играйте онлайн или офлайн — в одном из 16 городов России, Беларуси и Казахстана.
— Используйте время на решение заданий или общение с участниками — у вас будет 36 часов.
Задания будут интересны разработчикам, QA- и SRE-инженерам, аналитикам и другим опытным ИТ-специалистам.
Зарегистрируйтесь до 19 апреля и пробуйте свои силы
erid:2VtzqwE8UPw
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
28 марта, 19:00
Selectel Python Meetup.
Ребята из @SelectelCareers проводят митап для Python-разработчиков — присоединяйтесь!
Что будет:
— Разберем «еще один» быстрый фреймворк и сравним его с FastAPI
— Углубимся в слоистую архитектуру — разберем плюсы, минусы, подискутируем
— Обсудим переход с Python на Go: стоит ли реализовывать привычные приемы, и насколько это будет болезненно
Программа:
◽️ «Слоистая архитектура в Python-приложениях: гибкость кода vs оптимизация», Антон Титов, Selectel
◽️ «Перешел с Python на Go. Лучше стало», Андрей Шубин, Яндекс.Облако
◽️ «Черная овечка на фоне FastAPI», Николай Хитров, Банк Точка
Подключайтесь онлайн или приходите в офис в Санкт-Петербурге:
Реклама ООО «Селектел» erid 2VtzqwJpMtY
🦾 Изучите работу gRPC в Python и прокачайте скиллы в разработке
Приходите на бесплатный практический урок от OTUS, где вы вместе с опытным экспертом:
- поговорите о gRPC — протоколе на основе HTTP/2 и Google Protobuf;
- посмотрите на реализацию клиента и сервера;
- обсудите плюсы и минусы такой реализации.
📆 Занятие пройдёт 25 марта в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись.
Пройти тест
💻 Уязвимость в библиотеке aiohttp уже привлекла внимание хакеров
🗄Исследователи предупреждают, что недавно исправленная уязвимость в Python-библиотеке aiohttp (CVE-2024-23334) уже взята на вооружение хакерами, включая вымогательские группировки, такие как ShadowSyndicate.
🗄aiohttp — это опенсорсная библиотека, построенная на основе I/O фреймворка Asyncio и предназначенная для обработки большого количества одновременных HTTP-запросов без традиционного потокового нетворкинга. aiohttp часто используется технологическими компаниями, веб-разработчиками, бэкенд-инженерами и специалистами по анализу данных для создания высокопроизводительных веб-приложений и сервисов, объединяющих данные из множества внешних API.
🗄В конце января 2024 года aiohttp обновилась до версии 3.9.2, в которой устранили уязвимость CVE-2024-23334. Это path traversal баг, затрагивающий все версии aiohttp (начиная с 3.9.1) и старше, который позволяет удаленным злоумышленникам без авторизации получить доступ к файлам на уязвимых серверах.
🗄Проблема связана с недостаточной проверкой при установке follow_symlinks в значение True для статичных маршрутов, что позволяет получить несанкционированный доступ к файлам за пределами статичного корневого каталога сервера.
🗄В конце февраля текущего года на GitHub появился PoC-эксплоит для CVE-2024-23334, а в начале марта на YouTube было опубликовано подробное видеоруководство по эксплуатации бага.
🗄Как теперь сообщают аналитики компании Cyble, их сканеры обнаруживают попытки эксплуатации CVE-2024-23334 начиная с 29 февраля, и атаки лишь усилились в марте. В основном попытки сканирования исходят с пяти IP-адресов, один из которых ранее был отмечен в отчете Group-IB и связан с вымогательской группировкой ShadowSyndicate.
@linuxkalii
Начните карьеру в ИТ с гранта на обучение до 100% в Центральном университете!
Грант можно получить на одно из направлений бакалавриата по искусственному интеллекту, разработке и бизнес-аналитике. Помимо диплома и практико-ориентированного образования студенты получат:
- Персонализацию учебной траектории;
- Стажировку в одной из лучших ИТ-компании страны;
- Личного ментора на все время обучения;
- Доступ к современному кампусу в центре Москвы.
Получить полную информацию и оставить заявку можно здесь.
erid:2VtzqxaVAGk
Реклама, АНО ВО «Центральный университет», ИНН 7743418023
Хочешь пройти путь от Джуна до Мидла, чтобы повысить зарплату и навыки?
Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.
За 40 минут на Тестовом уроке ты:
✓ Оценишь свои знания
✓ Напишешь код в формате лайв-кодинга
✓ Получишь подробную обратную связь
✓ Построишь индивидуальную программу обучения, исходя из твоих собственных пробелов
✓ Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.
Запишись на Тестовый урок в боте после прохождения небольшого опроса, он займёт 1 минуту.
Реклама. ООО "ДЕВМАН". ИНН 5001149108. erid: LjN8KA4Cg
Вариант для тех, кто ищет виртуальный сервер с хорошей веб-защитой — Aéza:
– Виртуальные сервера до 6.0 ГГц на лучших процессорах;
– Профессиональная фильтрация атак StormWall;
– Круглосуточная поддержка;
– Anycast фильтрация;
– Низкие цены;
– 15% кешбэка по ссылке.
Бесконечно можно смотреть на три вещи: на огонь, воду и скидку от Aeza!
Говорят: твоё от тебя не уйдет. А зачем ждать? Динозавры тоже ждали и остались в прошлом
Используй 50% скидку и погнали в будущее!
Кроме того, сейчас Aéza раздает личные бесплатные сервера, забираем тут. Регистрация, подписка, платежи не потребуются.
Реклама. Индивидуальный предприниматель Лобанов Леонид Константинович. ИНН 781625705648 erid: LjN8KEr3S
У Тинькофф открылась стипендиальная программа для студентов на 2024 год!
В отборе могут участвовать студенты бакалавриата, специалитета и магистратуры (кроме выпускного курса) из всех городов и ВУЗов.
Стипендия выдаётся на один учебный год и составляет 25 000 ₽ в месяц.
Кроме этого:
— доступ к лекциям;
— общение с менторами;
— отложенный оффер на стажировку или работу в Тинькофф.
Более подробная информация и форма подачи заявки 👉 по ссылке
Переходите и подавайте заявку на одну из крупнейших в стране частных стипендий для студентов!
erid:2Vtzquqk3Pi
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
До 31 марта регистрируйтесь на конкурс прикладной разработки «If…else».
Рады сообщить о запуске регистрации на конкурс прикладной разработки «If…else» от GitVerse в рамках олимпиады «IT-Планета 2024»!
Если вам от 18 до 35 лет, вы пишете на C/C++/Java/Python, у вас есть опыт разработки прикладных решений и отличные знания по части алгоритмов, участвуйте и получайте возможность выиграть до 500 тыс. рублей!
Для участия необходимо до 31 марта зарегистрироваться и пройти отборочное тестирование на площадке для разработчиков GitVerse от СберТеха.
Конкурс состоит из трех этапов: отборочное тестирование, основной этап в виде решения прикладной задачи и очный финал.
Призовой фонд конкурса составляет 500 тыс. рублей*!
Подробные условия конкурсов и регистрация.
Следите за новостями и удачи в конкурсе!
*За вычетом НДФЛ
→ Одни плюсы в Практикуме
При покупке курса профессии вы получите доступ к дополнительному курсу, на котором можно освоить новый навык. Станьте IT-специалистом и добавьте в резюме строчку, на которую обратят внимание работодатели.
◾️«Python-разработчик плюс» или «Разработчик С++ расширенный»
➕дополнительный курс по углубленному SQL
Чтобы лучше работать с базами данных и писать более сложные запросы.
◾«Android-разработчик расширенный»
➕дополнительный курс по алгоритмам и структурам данных
Чтобы находить оптимальные решения в коде и отвечать на каверзные вопросы на собеседованиях.
◾«Аналитик данных плюс»
➕дополнительный курс по визуализации и BI-инструментам
Чтобы красиво и понятно представлять данные в Data Wrapper, Data-Lens и Tableu.
◾«Бизнес-аналитик продвинутый»
➕дополнительный курс по Excel для работы
Чтобы искать, сортировать и отбирать данные без труда и создавать эффектные таблицы и отчёты.
→ Получите ещё больше навыков — а значит, больше карьерных возможностей.
29 марта в 10:00 СберТех приглашает на онлайн-презентацию «GitVerse: открой вселенную кода».
Гостей мероприятия познакомят с GitVerse – платформой для работы с исходным кодом. Она позволяет создавать проекты с открытым и закрытым исходным кодом и развивать их вместе с ИТ-сообществом.
Что ждет участников мероприятия:
· Тренды разработки и роль открытого ПО в современном ИТ
· Возможности GitVerse и планы развития
· GigaCode – AI-помощник разработчика (AI, artificial intelligence — искусственный интеллект)
· Участие комьюнити в проекте
· Пакет облачных сервисов и его преимущества для разработчиков
· Обзор интересных репозиториев на GitVerse
· Реальные кейсы разработки и оптимизации с помощью GitVerse
· Общение в прямом эфире
Ждем тебя 29 марта!
Регистрируйтесь на мероприятие уже сейчас
🎉🎉🎉 Python 3.10.14, 3.9.19, and 3.8.19 is now available🎉🎉🎉
Вышли обновления Python 3.10.14, 3.9.19 и 3.8.19.
https://pythoninsider.blogspot.com/2024/03/python-31014-3919-and-3819-is-now.html
@pythonl
🖥 Как быстро написать API на FastAPI с валидацией и базой данных
Держите полезную статью
⏩Статья представляет собой руководство по созданию API с использованием FastAPI и Pydantic.
⏩Обсуждаются основные компоненты проекта: маршрутизация, валидация данных и работа с базой данных.
⏩Создается структура проекта и добавляются функции для работы с базой данных и создания запросов.
⏩Развертывание проекта на облачном сервере осуществляется с помощью Docker и создания образа приложения.
📎 Статья
@pythonl
🖥 Python for OSINT. 21-day course for beginners
Бесплатный курс по Python для OSINT специалистов.
Курс научит автоматизировать различные рутинные задачи, связанные с OSINT исследованиями: сбор данных с веб-сайтов, сбор результатов поиска, работа с интернет-архивами, создание отчетов и многое другое.
▪Github
@pythonl
🖥 Динамическое создание экземпляра класса из строки в Python
⏩Итак, для динамического создания экземпляра класса в Python можно использовать модуль importlib:
from importlib import import_module
module_name = 'your_module' # Определите название своего модуля
class_name = 'YourClass' # И название нужного вам класса
instance = getattr(import_module(module_name), class_name)()
import_module импортирует нужный модуль, getattr находит в нем класс, а () создает экземпляр этого класса.def get_instance(module_name, class_name):
try:
module = import_module(module_name)
class_obj = getattr(module, class_name)
instance = class_obj()
return instance
except ImportError:
print("Модуль отсутствует")
return None
except AttributeError:
print("Класс не найден")
return None
🖥 Таблица с возможностью поиска на Python с использованием Flet
В этом туториале рассматривается создание интерактивной таблицы с помощью Flet.
Причём с функциями поиска и фильтрации, что очень круто 🔥
🔜 Пошаговый туториал
@pythonl
🖥 Держите годный ролик, в котором описываются кейсы использования Pydantic
В ролике освещаются такие возможности Pydantic, как:
⏩Валидация данных. Pydantic проверяет, что входные данные соответствуют ожидаемому типу и формату. Если данные не подходят, Pydantic выбрасывает исключение.
⏩Преобразование типов. Pydantic автоматически преобразует входные данные в ожидаемые типы данных. Например, если входные данные представлены как строка, но ожидается, что они будут типа int, Pydantic попытается преобразовать строку в целое число.
⏩Поддержка JSON. Pydantic интегрирован с библиотекой JSON Python, что позволяет легко преобразовывать объекты Pydantic в JSON и наоборот.
⏩Использование аннотаций типов. Pydantic использует аннотации типов Python для определения ожидаемых типов данных и других параметров валидации.
⏩Поддержка моделей. Вы можете определить модели данных, используя классы Python, и Pydantic заботится о валидации данных при создании объектов модели.
⏩Настройка валидации. Pydantic позволяет настроить процесс валидации, используя валидаторы, которые могут быть определены в классе модели.
⏩...и ещё много всего
Подробный кликабельный план видео
📎 Видео
📎 Вот ещё годный обзор Pydantic
@pythonl
🖥 Python Mini Projects: a collection of projects to help you improve your programming skills.
Мини-проекты на Python.
Коллекция простых небольших проектов на Python, которые помогут вам улучшить свои навыки программирования.
🖥 Github
@pythonl
🖥 Полезное руководство о #! в Python
🟡Когда вы читаете чужой Python код, то часто видите загадочную строку, которая всегда появляется вверху файла и начинается с характерной последовательности shebang #!.
🟡Короче говоря, shebang — это комментарий особого типа, который вы можете включать в исходный код, чтобы указать оболочке операционной системы, где найти интерпретатор для остальной части файла:
#!/usr/bin/python3
print("Hello, World!")
#, за которым следует восклицательный знак !, известный как bang, отсюда и название shebang. python или python3.
🖥 Полезная статья по классам и объектам в Python
⏩В этой статье очень подробно описывается работа с объектами и классами в Python, рассказывается о таких вещах как:
— конструкторы
— атрибуты объекта
— методы классов
— деструкторы
В целом, очень полезно, рекомендую)
📎 Статья
@pythonl
🖥 Развивающийся интерпретатор RustPython
🔥 Относительно недавно стал доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust. RustPython нацелен на обеспечение совместимости с CPython 3.11 и более новыми выпусками.
Проект основал Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.
RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код. Поддерживается компиляция RustPython в форму универсального WASI-модуля на WebAssembly, который может запускаться в различных операционных системах.
Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust, без применения биндингов на основе CPython - RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптинга в приложениях.
▶️Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и linter Ruff.
🖥 GitHub
@pythonl
🔥 Совет по Python: Распаковка с помощью iterables!
Знаете ли вы, что "распаковка" работает со всеми видами iterable (т.е. не только со списками или кортежами), делая ваш код короче и элегантнее. 🚀
Этот небольшой фрагмент кода / хитрость позволяет вам легко захватывать ключи или элементы. 🐍 ✨
#Python #tips
@pythonl
🖥 5 полезных расширений VScode для работы с документацией Python и не только 🌟
⏩Draw.io Integration
Хорошо подходит для работы со сложными диаграммами: сперва можно создать диаграмму в десктопной версии Draw.io, а потом доработать ее в VScode с помощью расширения Draw.io Integration.
⏩Quarto
Quarto — крутая штука для работы с документацией под R, Python, Julia и Observable. Расширение Quarto для VScode поможет редактировать и рендерить QMD-файлы. В нем есть режим предварительного просмотра, который позволяет менять код документа и одновременно просматривать результат.
⏩Jupyter
Jupyter — один из самых популярных фреймворков для создания заметок, особенно в Python. Кстати, Jupyter классно работает вместе с документацией Quarto для Python. Расширение VScode Jupyter интегрирует заметки Jupyter в редактор VScode и поддерживает ipynb-файлы.
⏩Markdown All in One
С расширением Markdown All in One удобно редактировать документацию в формате Markdown. Оно располагает два окна рядом: редактор кода и тут же результат.
⏩Mermaid
Mermaid особенно полезен, если вам нужно создать структуру кодовой базы или динамическую диаграмму. В VScode есть два расширения для работы с файлами Mermaid — Mermaid Preview и Markdown Preview Mermaid Support.
@pythonl
🖥 Полезная статья по алгоритмам и структурам данных 🔥
В статье описаны такие структуры данных как:
— Массив (Array)
— Динамический массив (Dynamic array)
— Связный список (Linked list)
— Стек (Stack)
— Очередь (Queue)
— Множество (Set)
— Карта (Map)
— Двоичное дерево поиска (Binary search tree)
— Префиксное дерево (Trie)
— Граф (Graph)
Параллельно рассказывается про самые популярные алгоритмы и ещё много всего)
📎 Ссылка на статью
📎 Ещё статья в тему на русском
@pythonl
🖥 Awesome-Web-Scraping
Список куртых инструментов, библиотек и веб-сервисов, используемых при парсинге и обработке данных.
▪Github
@pythonl