📣 Практика использования парсер-комбинаторов peco и оператора match для создания простых DSL на языке Python
В данной статье рассматривается один из способов реализации DSL (Domain Specific Language) на примере разработки системы символьного дифференцирования, как в SymPy, с использованием парсер-комбинаторов peco и структурного сопоставления с образцом по PEP 636
DSL применяются:
⏺конфигурирования спецпроцессоров на основе FPGA (PyLog),
⏺описания правил SSA-оптимизаций в компиляторах,
⏺ускорения вычислений на CPU или GPU (numpy, numba и прочие JIT-компиляторы),
⏺компактного описания наборов конфигурационных файлов (Jsonnet, Dhall),
⏺описания фрагментов систем на едином языке, понятном не только техническим специалистам (Ubiquitous Language) и др.
🖥 Читать подробнее
▶️ Геттеры и сеттеры, property атрибуты
Геттер(getter) – это специальный метод, позволяющий получить доступ к приватному атрибуту
Сеттер (setter) – это специальный метод, дающий возможность присвоить новое значение приватному атрибуту
Свойство(property atribute) – позволяет установить геттеры и сеттеры к определенному атрибуту вашего класса
👀 Смотреть на YouTube
▶️ Публичные, приватные, защищенные атрибуты и методы Python Public Protected Private
Приватные методы позволяют закрыть доступ к данным вне нашего класса
При помощи приватных атрибутов и методов мы скрываем (инкапсулируем) логику работы нашей программы от пользователя и предоставляем ему только конечный результат
👀 Смотреть на YouTube
📣 FastAPI + Redis + Celery: Создание системы временного хранения файлов с автоудалением и удобным веб-интерфейсом
Сегодня мы создадим FullStack приложение: файлообменник с временным хранилищем на сервере
Другими словами, мы сделаем так, чтобы пользователь при отправке файлов на наш сервер выбирал срок жизни файла, и по истечении этого срока файл с сервера автоматически удалялся
📣 Рекурсивные запросы в SQLAlchemy
Сегодня мы рассмотрим основные способы получения иерархической структуры из БД на примере реального многослойного приложения с использованием SQLAlchemy 2.0
В завершение статьи автор проведет сравнение производительности всех описанных подходов
🖥 Читать подробнее
📣 Как создать свой веб-фреймворк на Python
В этой статье мы создадим свой веб-фреймворк на Python с использованием gunicorn, он будет легким и иметь базовый функционал
⏺Создадим обработчики запросов (views), простую и параметизированную маршрутизацию, Middleware, i18n и l10n, Request/Response, обработку html-шаблонов и генерацию документации
⏺Построим наиболее важные части фреймворка, изучим работу WSGI и создание веб-приложений
🖥 Читать подробнее
📣 Один из лучших редакторов кода
Visual Studio Code (VS Code) – текстовый редактор, разработанный Microsoft для Windows, Linux и macOS
Включает в себя отладчик, инструменты для работы с Git, подсветку синтаксиса, IntelliSense и средства для рефакторинга. Имеет широкие возможности для кастомизации: пользовательские темы, сочетания клавиш и файлы конфигурации
Распространяется бесплатно, разрабатывается как программное обеспечение с открытым исходным кодом, но готовые сборки распространяются под проприетарной лицензией
14–15 декабря VK Tech проведёт Weekend Offer для Python-разработчиков и инженеров. Это шанс присоединиться к работе над крупнейшей облачной платформой страны VK Cloud и вместе с VK Tech помогать бизнесу расти.
Узнайте больше о вакансиях и откликайтесь здесь.
Флоу простой: оставляете заявку, общаетесь с рекрутерами, выбираете слоты для собеседований и проходите их в назначенное время. О результате VK Tech сообщит вскоре после финального интервью.
Откликайтесь до 13 декабря включительно.
📣 О векторных базах данных простым языком
Векторная база данных – это простая база данных, оптимизированная под хранение и поиск векторов, даже таких, которые состоят из сотен и тысяч измерений
Содержание статьи:
⏺Начнём с основ – что такое вектор?
⏺Что такое векторная база данных?
⏺Примеры использования
⏺Принцип работы векторных баз данных
◦ Создание эмбеддингов
◦ Индексация векторов
◦ Векторный поиск
⏺Простейший векторный поиск на чистом Python
⏺Поиск сходств и метрики расстояния
⏺Уменьшение размерности
⏺Список векторных баз данных
🖥 Читать подробнее
📣 Телеграм-бот магазин на Python. Создание с нуля
В этой статье автор покажет, как сделать Telegram-бота для онлайн-магазина на Python, который позволяет пользователям просматривать каталог товаров, добавлять их в корзину и оформлять заказы
Мы также рассмотрим, как интегрировать платежи и работать с базой данных для хранения информации о товарах и корзинах пользователей
🖥 Читать подробнее
▶️ Атрибуты класса
Сегодня в видео рассмотрим:
⏺Атрибуты класса
⏺Как создать атрибут класса
⏺Как обратиться к атрибуту класса
⏺Как изменить атрибут класса
⏺Как удалить атрибут класса
👀 Смотреть на YouTube
Программист-одиночка? Сидишь дома, 24/7 в коде, и дом уже не дом? Задолбало? 😢
Найти таких же кодеров – квест не из простых…
Вопрос по работе? Кому написать? Тишина…
Поэтому специально для тебя замутили крутой чатик для новичков Python-щиков 🤝
1️⃣ Обсуждение сложных (и не только) моментов с опытными разработчиками и другими участниками
2️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
3️⃣ Общение с единомышленниками и заряд мотивации
➡️А еще, в закрепе есть бесплатный вводный курс по Python, ну это так, к слову))
Короче, всё для прокачки! Залетай к нам — ссылка на чат (тык)
▶️ Классы, объекты, экземпляры классов
В видео поговорим о том, что такое объект, класс и экземпляр класса
А также узнаем как создать свой собственный класс
👀 Смотреть на YouTube
📣 Замыкания в Python: примеры использования
В этой статье мы:
⏺Разберем, что такое замыкания и как они работают в Python.
⏺Узнаем, как и где их можно применять.
⏺Изучим альтернативы замыканиям.
Замыкание – это функция, которая определена внутри другой функции и использует переменные из локальной области видимости внешней функции
Эти переменные остаются доступными для вложенной функции даже после завершения выполнения внешней функции, что позволяет ей использовать их в дальнейшем
🖥 Читать подробнее
📣 Python REST API: Flask, Connexion и SQLAlchemy (часть 3)
В этой третьей части серии вы узнаете, как:
⏺Работать с несколькими таблицами с взаимосвязанной информацией в базе данных
⏺Создавать связи «один ко многим» в базе данных
⏺Управлять связями с помощью SQLAlchemy
⏺Сериализовать сложные схемы данных со связями с помощью Marshmallow
⏺Отображать связанные объекты в клиентском интерфейсе
🖥 Читать подробнее
⚡️XMAS HACK к нам мчится!
С 20 по 23 декабря под звон Jingle bells пройдет самый яркий и праздничный хакатон 2024 года - XMAS HACK.
🎁Дед Мороз и Снегурочка уже положили под елочку XMAS HACK особый подарок - 1 000 000 рублей!
✨Уникальный кейс от Tvigle:
QoE Master: Мониторинг и улучшение качества воспроизведения
👨💻Задача:
Разработайте систему мониторинга и оценки качества восприятия (QoE) зрителем онлайн-кинотеатра. Система должна автоматически собирать ключевые метрики (время старта воспроизведения, количество буферизаций, задержки, отклики) и выдавать рекомендации по улучшению качества стриминга.
🚀Осталось собрать команду и до 19 декабря подать заявку на участие: https://xmas-hack.ru/
🎅XMAS HACK к нам мчится, скоро все случится!🌟
📣 Делаем управление конфигами удобным при помощи pydantic_settings
Конфиги используются в каждом приложении, многие разработчики используют для управления конфигурационными файлами стандартные библиотеки по типу json
и yaml
, а также python-dotenv
для загрузки чувствительных данных из файла в переменные окружения
В этой статье мы научимся загружать как нечувствительные данные из файлов TOML, так и переменные из .env
в классы
🖥 Читать подробнее
На фоне роста ипотечной ставки и изменения курса $ россияне по рассрочке скупают объекты в ОАЭ.
Рассрочка беспроцентная, дается на срок от 2 до 8 лет с первым взносом в 10% от стоимости.
Например, можно взять квартиру у моря с террасой и бассейном, чтобы жить или сдавать в аренду. Доход здесь в валюте и не облагается налогом.
Подписывайтесь на самый большой канал о рынке недвижимости Эмиратов от аналитика Андрея Негинского (он на фото) и скачивайте в закрепе каталог из 20 таких проектов с описанием и ценами.
▶️ Моносостояние
Создадим такой класс, у экземпляров которого будет одно общее состояние и изменения одного экземпляра будут затрагивать другие экземпляры
Такая реализация называется
"Моносостояние"
👀 Смотреть на YouTube
▶️ Создание класса и его методов
Сегодня в видео попрактикуемся в создании классов и описании их методов: создадим атрибуты класса и экземпляра, а также сделаем конструктор класса (метод _init_)
👀 Смотреть на YouTube
▶️ Инициализация объекта | Метод init
Обычно сразу после создания объекты ещё не готовы к работе, сначала в них нужно передать все необходимые данные: параметры работы, стартовые значения, ссылки на другие объекты и т. п. Такой процесс называется инициализацией и должен проходить сразу после создания объекта
В Python метод init является конструктором класса, этот метод вызывается автоматически при создании нового объекта класса и используется для инициализации его атрибутов. Конструктор init позволяет задавать начальные значения переменных объекта и выполнять другие действия при создании экземпляра класса
👀 Смотреть на YouTube
▶️ Методы экземпляра | Аргумент self
Сегодня в видео рассмотрим:
⏺Методы экземпляра
⏺Аргумент self
⏺Как создать метод класса
⏺Как создать метод экземпляра
⏺Что такое self в Python
👀 Смотреть на YouTube
▶️ Функция как атрибут класса
Атрибуты класса – это имена переменных вне функций и имена функций
Эти атрибуты наследуются всеми объектами, созданными на основе данного класса
Атрибуты обеспечивают свойства и поведение объекта
👀 Смотреть на YouTube
▶️ Атрибуты экземпляра класса
Сегодня в видео мы рассмотрим:
⏺Как создать атрибут экземпляра класса
⏺Как обратиться к атрибуту экземпляра класса
⏺Как изменить атрибут экземпляра класса
⏺Как удалить атрибут экземпляра класса
👀 Смотреть на YouTube
🔥 Приглашаем на митап «Современный ИИ глазами новичков и профессионалов»
Вместе со специалистами по цифровой трансформации ЕДИНОГО ЦУПИС и участником разработки национальной стратегии развития ИИ поговорим о самой обсуждаемой технологии последних лет:
✔️ Зачем нужно внедрять ИИ, если кажется, что тут больше хайпа, чем реального профита.
✔️ Как устроено сердце GPT и поймем, почему существуют ограничения при работе с LLM и как гиперпараметры влияют на саму модель.
✔️ Как развить свою экспертность в сфере ИИ и стать лидером направления в своей компании.
⏱️ 10 декабря, 18:30
📍 г. Санкт-Петербург, Аптекарский пр-кт, д. 4, корп. 2, стр. 1
Участие бесплатное, регистрация по ссылке. Ждем вас!
📣 В PyPI внедрили поддержку механизма цифровой аттестации для проверки подлинности опубликованных пакетов
14 ноября 2024 года разработчики репозитория Python-пакетов PyPI сообщили о внедрении поддержки механизма цифровой аттестации для проверки подлинности опубликованных пакетов
Это проверка пришла на смену верификации с использованием PGP-подписей
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн
Но где найти единую "базу" ивентов? Чтобы "заглянул -> увидел все что есть -> выбрал -> пошел"?
🔥 Советуем обратить внимание на канал, в котором публикуют анонсы вебинаров, хакатонов, конференций, мастер-классов, ивентов от гигантов индустрии и лучших специалистов по кодингу, дизайну, аналитике и т.д.
👍 Классный и полезный канал, где вы точно не пропустите ничего важного и интересного.
🗂 IT-мероприятия России / ITMeeting / IT events — подписывайся и будь в курсе ближайших ивентов!
Внимание, Java- и Kotlin-разработчики Минска! Приглашаем вас на технический митап с барбекю. Будем слушать и обсуждать топовые доклады от команды МТС Web Services, а после — общаться в неформальной обстановке.
Когда: 6 декабря, 18:00
Где: площадка «Бетон», Кальварийская ул., 17, г. Минск
В программе:
— Расскажем, как строим новое облако с нуля в 2024-м
— Поговорим о разработке IAM в облаке
— Обсудим, как создать Development Platform
— Разберёмся, что такое реконсиляция и почему она важна для облачной инфраструктуры
После докладов вас ждёт: барбекю-пати и нетворкинг.
Регистрируйтесь по ссылке.
▶️ 10 Уникальных библиотек Python
В данном видео рассмотрим 10 очень интересных Python библиотек, которые способны улучшить ваши проекты.
Они способы повысить читаемость и эффективность вашего кода, в некоторых случаях они ускоряют процесс разработки, так как предоставляют готовые инструменты.
👀 Смотреть на YouTube
▶️ Распространение исключений (propagation exceptions)
В видео рассмотрим:
⏺Как происходит распространение исключений по стеку вызова
⏺Перехват и обработка исключений на разных уровнях
👀 Смотреть на YouTube