52806
по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
🖥 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
⁉️ Как эффективно работать с паттернами микросервисной архитектуры в Python?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом:
- разберете наиболее популярные паттерны: оркестрация и хореография;
- рассмотрите реализацию этих подходов, обсудите плюсы и минусы;
- ответите на все возникающие вопросы.
📢 Занятие пройдёт 14 марта в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!
➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись:
Инвесторы смогут тестировать и запускать собственных торговых роботов на уникальных данных
MoexAlgo — Python-библиотека для упрощения работы с Алгопак API. Предоставляет данные и аналитику по рынку акций Московской биржи (MOEX). Можно получать:
• исторические данные для тестирования торговых стратегий, проверки гипотез и backtest;
• онлайн-данные для алгоритмической торговли.
Библиотека необходима для работы с демоверсией Алгопак — новым инструментом Московской биржи. Благодаря ему вы можете прокачать свои навыки работы через REST API и Python-клиент. Клиенты получают доступ к большому набору исторических и онлайн-данных по рынку акций MOEX и могут проводить backtest различных торговых стратегий, а также создавать и автоматизировать торговые алгоритмы.
▪️ MoexAlgo
▪️ Backtrader_moexalgo
▪️ Демоверсия Алгопак доступна всем зарегистрированным пользователям сайта ПАО Московская Биржа — тестируйте на сайте
@pythonl
Реклама. Рекламодатель ПАО Московская биржа. ОГРН (1027739387411)
🖥 Помнишь эти методы списков в Python?
Держи, вот полезная шпаргалка, чтобы освежить их
📎 А вот ещё годный сайт, где собраны самые используемые методы/функции Python
@pythonl
⁉️ Готов стать профи в разработке на Python?- или будешь довольствоваться средним уровнем?
Всего за 5 месяцев можно освоить широкий стек технологий на онлайн-курсе «Python Developer. Professional» и вырасти в доходе и должности.
➡️ Пройди тест по Python и проверь свои знания.
Ответишь — пройдешь на продвинутый курс "Python Developer. Professional" от OTUS по специальной цене
🔥 Выбери светлую сторону силы и приходи на курс.
🔤Вопрос: как работает распаковка (*) в Python?
Что происходит, скажем, в случае такого генераторного выражения?
gen = (num for num in range(10))
print(*gen)
*args и **kwargs — это способы передачи переменного количества аргументов в функцию. Другими словами, они "распаковывают" значения из массива/словаря/множества и т.п. и передают эти значения в функцию.def test(a, b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение
array = [1, 2] # Создаём массив из двух чисел
test(*array) # Вывод: 3
*array значения для функции были преобразованы в test(1, 2)**kwargs:def test(a,b): # Принимаем параметры a и b
print(a + b) # Выводим их сложение
dct = {'a':1, 'b':2} # Создаём словарь и записываем ключ-значение
test(**dct) # Вывод: 3
**dct значения для функции были преобразованы в test(a=1, b=2)def test1(*var): # Принимаем параметры в виде множества
print(var)
test1(1, 2, 3) # Вывод: (1, 2, 3)
def test2(**var): # Принимаем параметры в виде словаря
print(var)
test2(a=1, b=2) # Вывод: {'a': 1, 'b': 2}
🖥 Hotpdf: a fast PDF parsing library to extract text and find text within PDF
hot pdf - это библиотека быстрого анализа PDF-файлов для извлечения текста и поиска текста в PDF-документах, созданная поверх pdfminer.sixpip install hotpdf
▪ Github
@pythonl
🌷 Happy Women's day!
Выводим поздравление с 8 марта.
@pythonl
💻 Уязвимость в библиотеке 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 для работы
Чтобы искать, сортировать и отбирать данные без труда и создавать эффектные таблицы и отчёты.
→ Получите ещё больше навыков — а значит, больше карьерных возможностей.
Как правильно подставлять значения из переменных / списков / словарей в SQL запрос в Python?
⏩Лучше всего использовать SQL запросы с использованием параметров:
cursor.execute("SELECT * FROM my_table WHERE id = ?", [123])
# parameter placeholder ------------------------> ^
# список/кортеж со значениями параметров -----------> ^^^^^qry = f"SELECT first_name, last_name FROM users WHERE id = {user_id}", который часто выполняется в нагруженной системе с различными значениями user_id может вытеснить из кеша запросов полезные запросы. import sqlite3
con = sqlite3.connect(":memory:")
cur = con.cursor()
cur.execute("create table lang (name, first_appeared)")
cur.execute("insert into lang values (?, ?)", ("C", 1972))
lang_list = [
("Fortran", 1957),
("Python", 1991),
("Go", 2009),
]
cur.executemany("insert into lang values (?, ?)", lang_list)
cur.execute("select * from lang where first_appeared=:year", {"year": 1972})
print(cur.fetchall())
con.close()
cursor.executemany() - это значительно быстрее и эффективнее по сравнению с вставкой в цикле по одной строке.
🖥 Flect is a Python framework for building full-stack web applications.
Flect — это фреймворк Python для создания полнофункциональных веб-приложений.
Он позволяет легко создавать пользовательские интерфейсы, используя модели Pydantic, которые аналогичны свойствам компонентов React.
Эта интеграция позволяет быстро разрабатывать интерактивные и красивые пользовательские интерфейсы с использованием Python.
▪ Github
▪ Docs
@pythonl
🖥 Полезный приём при работе с исключениями в Python
def divide(x=1, y=0):
try:
return x / y
except ZeroDivisionError:
raise ValueError("Pattern 3 error.") from None
divide()
divide() она вызывается с параметрами по умолчанию, то есть x=1, y=0, в общем происходит деление на 0, и мы попадаем в ветку except ZeroDivisionError. from None, в поднявшемся исключении встречалась бы ошибка ZeroDivisionError. ZeroDivisionError, а только исключение ValueError и сообщение об ошибке — всё из-за from None.from None, когда вы хотите скрыть от пользователя детали исходного исключения или внутреннее исключение используемой библиотеки.
🖥 Python: когда использовать array вместо list?
⏩Если в двух словах, то для хранения элементов разных типов, предпочтительнее использовать list, а для быстрых операций с числовыми данными и эффективного расходования памяти – array из модуля array.
⏩Список в Python – это универсальный инструмент, способный хранить элементы разных типов и эффективно управлять памятью, что особенно ценно при изменении размера списка.
Используйте списки, когда:
— Вам необходимо хранить элементы разного типа.
— Предполагается изменение объема данных.
— Важны удобство и простота поддержки кода.
⏩Массивы: когда приветствуется оптимизация при работе с числами
Массивы предназначены для высокопроизводительной работы с большими массивами однородных данных, особенно числовых.
Выбирайте массивы, когда:
— Вы работаете исключительно с числами одного типа.
— Обрабатываете большие объемы данных и важна экономия памяти.
— Нужна тесная интеграция с C-кодом.
@pythonl
🖥 Language Detection using Python
Определение языка с помощью Python.
@pythonl
🚀 GPM AdTech Challenge
от «Газпром-Медиа» и Getintent
Когда: 18-30 марта
Формат: гибридный
Призовой фонд: 1 000 000 рублей
Ты можешь стать победителем независимо от своего технического бэкграунда. Выбирай один из трех треков, создавай прототип и выигрывай 1 000 000 рублей.
Регистрация до 13 марта: https://cnrlink.com/gpmpython
🎙 Frontend Мeetup от Росбанка
Когда: 22 марта
Формат: очный, Казань
Вас ждут доклады специалистов Росбанка, СберМаркета и VK Добра.
Авторы лучших вопросов получат мерч.
Регистрация до 18 марта: https://cnrlink.com/rbkazanpython
💢 «Халява, приди!» от Codenrock
Когда: весь март
Формат: онлайн
Реши несложные, но увлекательные задачи по программированию и получи возможность стать обладателем промокода на любой маркетплейс. Это ли не халява?
Регистрация до 20 марта: https://cnrlink.com/halyavapython
Реклама. ООО "ЦУКЕР СТУДИЯ". ИНН 7751071015. erid: LjN8JyexX
🔥Подборка лучших обучающих каналов для программистов.
➡️ Делитесь с коллегами и cохраняйте себе, чтобы не потерять
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
#️⃣C#
С# академия
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
⚡Машинное обучение
Ml Собеседование - подготовка к собеседовению мл, алгоритмам, кодингу
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
Machine Learning - полезные статьи новости гайды и разбор кода
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🏆 Golang
Golang - подробные гайды, разбор кода, лучшие практики, заметки
Golang собеседование
Golang вакансии
Golang книги
Golang задачи и тесты
Golang чат
Golang news - новости go
🐍 Python
Python/django
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
🛢Базы данных
Sql базы данных
Библиотека баз данных
SQL чат
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
💥 Хакинг Kali Linux
Kali linux
linux_kal - kali чат
Информационная безопасность
🐧 Linux
Linux academy
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
🖥 Получение мостов tor из GMail с помощью Python
Учите Python, он везде)
1 шаг — установка внешних библиотекpip install python-decouple opencv-python pyzbar IMAPClientdecouple — для чтения данных из файлаopencv — для чтения изображения с QR-кодом pyzbar — чтобы прочитать данные, закодированные в QR-кодеIMAPClient — с помощью неё будем работать с сообщениями на почтовом сервере
Так как мы будем использовать пароль приложений, а также логин от аккаунта Google, то в коде его желательно не использовать. Поэтому, необходимо создать файл «.env» с примерным содержимым:
login = "test@gmail.com"
pwd = "gffg sbbp jccj vhhi"