Как установить лицензионную защиту кода на Python и обезопасить данные с помощью HASP?
При переходе от On-Cloud размещений ПО на On-Premises в большинстве случае перед вами неизбежно встанет задача защиты интеллектуальной собственности – и она особенно критична для рынка AI, где задействуются модели, обладающие высокой ценностью для компании. К тому же, в этой сфере широко используется интерпретируемый язык Python, ПО на котором содержит алгоритмы, являющиеся интеллектуальной собственностью компании, но фактически распространяется в виде исходных кодов. Это не является проблемой для On-Cloud решений, но в случае с On-Premises требует особой защиты как от утечек кода, так и самих данных.
Рассказываю реальную историю решения этой, казалось бы, не самой тривиальной задачи. И так, обо всем по порядку.
https://habr.com/ru/company/mts_ai/blog/678928/
🔗 Python tricks
При переходе от On-Cloud размещений ПО на On-Premises в большинстве случае перед вами неизбежно встанет задача защиты интеллектуальной собственности – и она особенно критична для рынка AI, где задействуются модели, обладающие высокой ценностью для компании. К тому же, в этой сфере широко используется интерпретируемый язык Python, ПО на котором содержит алгоритмы, являющиеся интеллектуальной собственностью компании, но фактически распространяется в виде исходных кодов. Это не является проблемой для On-Cloud решений, но в случае с On-Premises требует особой защиты как от утечек кода, так и самих данных.
Рассказываю реальную историю решения этой, казалось бы, не самой тривиальной задачи. И так, обо всем по порядку.
https://habr.com/ru/company/mts_ai/blog/678928/
🔗 Python tricks
Aiogram + Django — бич индустрии чат-ботов
Решил я тут пофрилансить для души, и увидел, что каждый третий проект по разработке чат-бота предполагает интеграцию веб-админки. В основном это касается онлайн-магазинов, где заказчик пытается сэкономить на сайте и заменить его монстрючим чат-ботом. При этом рулить проектом ему удобнее в привычной среде. Отсюда и возникает пунктик — "хочу админку". Функциональность этой штуковины обычно заканчивается на обновлении информации о товарах, назначении админов, управлении рассылками... в общем, простые манипуляции с базой, не более. Так вот, дефолтный разработчик, видя этот пункт, берет, мать ее, Django. Почему? Ну конечно, причина кроется в лени колхозить свою админку, и притащить красивую Джанговую реализацию кажется хорошей идеей. Заказчик, в свою очередь, гуглит топ веб-фреймворков и одобрительно кивает на сей перфоманс. А иногда и подливает масла в огонь, прямо в описании работы пингуя Django.
https://habr.com/ru/post/679362/
🔗 Python tricks
Решил я тут пофрилансить для души, и увидел, что каждый третий проект по разработке чат-бота предполагает интеграцию веб-админки. В основном это касается онлайн-магазинов, где заказчик пытается сэкономить на сайте и заменить его монстрючим чат-ботом. При этом рулить проектом ему удобнее в привычной среде. Отсюда и возникает пунктик — "хочу админку". Функциональность этой штуковины обычно заканчивается на обновлении информации о товарах, назначении админов, управлении рассылками... в общем, простые манипуляции с базой, не более. Так вот, дефолтный разработчик, видя этот пункт, берет, мать ее, Django. Почему? Ну конечно, причина кроется в лени колхозить свою админку, и притащить красивую Джанговую реализацию кажется хорошей идеей. Заказчик, в свою очередь, гуглит топ веб-фреймворков и одобрительно кивает на сей перфоманс. А иногда и подливает масла в огонь, прямо в описании работы пингуя Django.
https://habr.com/ru/post/679362/
🔗 Python tricks
Как повысить безопасность приложений с помощью фабрик строк в psycopg
psycopg — это адаптер базы данных PostgreSQL для Python, то есть одной из его основных задач является автоматическая подстройка типов при составлении запросов и получении ответов между PostgreSQL и Python. И хотя это преобразование отлично применяется к встроенным типам, psycopg также предоставляет нативный способ обрабатывать специализированные типы данных с помощью фабрик строк.
🔗 Python tricks
psycopg — это адаптер базы данных PostgreSQL для Python, то есть одной из его основных задач является автоматическая подстройка типов при составлении запросов и получении ответов между PostgreSQL и Python. И хотя это преобразование отлично применяется к встроенным типам, psycopg также предоставляет нативный способ обрабатывать специализированные типы данных с помощью фабрик строк.
🔗 Python tricks
Python Community Meetup 8/07: видео и материалы встречи
Первый открытый онлайн-митап сообщества, для которого собрали огонь-программу. Вместе со спикерами из Райффайзенбанка и Яндекса обсудили новости с полей — «Python ускоряется?», поговорили об использовании Dependency Injection и применении Python в highload-проектах с большой кодовой базой.
https://habr.com/ru/company/raiffeisenbank/news/t/566370/
🔗 Python tricks
Первый открытый онлайн-митап сообщества, для которого собрали огонь-программу. Вместе со спикерами из Райффайзенбанка и Яндекса обсудили новости с полей — «Python ускоряется?», поговорили об использовании Dependency Injection и применении Python в highload-проектах с большой кодовой базой.
https://habr.com/ru/company/raiffeisenbank/news/t/566370/
🔗 Python tricks
Метакласс в моделях — Django
Django - это высокоуровневый веб-фреймворк Python, который способствует быстрой разработке и чистому, прагматичному дизайну. Созданный опытными программистами, он берет на себя большую часть хлопот, связанных с веб-разработкой, так что вы можете сосредоточиться на написании своего приложения без необходимости изобретать колесо. Он бесплатный и с открытым исходным кодом. Перед тем, как двигаться дальше, изучите модели Django.
Метамодель (Meta Model) - это, по сути, внутренний класс вашего класса модели. Метамодель в основном используется для изменения поведения полей вашей модели, таких как изменение опций заказа, verbose_name, и многих других параметров. Добавление класса Meta к вашей модели совершенно необязательно.
https://habr.com/ru/company/otus/blog/692124
🔗 Python tricks
Django - это высокоуровневый веб-фреймворк Python, который способствует быстрой разработке и чистому, прагматичному дизайну. Созданный опытными программистами, он берет на себя большую часть хлопот, связанных с веб-разработкой, так что вы можете сосредоточиться на написании своего приложения без необходимости изобретать колесо. Он бесплатный и с открытым исходным кодом. Перед тем, как двигаться дальше, изучите модели Django.
Метамодель (Meta Model) - это, по сути, внутренний класс вашего класса модели. Метамодель в основном используется для изменения поведения полей вашей модели, таких как изменение опций заказа, verbose_name, и многих других параметров. Добавление класса Meta к вашей модели совершенно необязательно.
https://habr.com/ru/company/otus/blog/692124
🔗 Python tricks
Руководство по программированию сокетов на Python. Клиент, сервер и несколько соединений
К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях.
https://habr.com/ru/company/skillfactory/blog/691296/
🔗 Python tricks
К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях.
https://habr.com/ru/company/skillfactory/blog/691296/
🔗 Python tricks
Создаем Telegram бот с регистрацией пользователей из таблицы в Airtable + Python
Создавайте чат-бот просто копируя базу данных в Airtable. Обработчики команд чат-бота пишутся на Python прямо в таблице в Airtable. Хранение данных пользователей так же возможно в базу Airtable.
https://habr.com/ru/post/692504/
🔗 Python tricks
Создавайте чат-бот просто копируя базу данных в Airtable. Обработчики команд чат-бота пишутся на Python прямо в таблице в Airtable. Хранение данных пользователей так же возможно в базу Airtable.
https://habr.com/ru/post/692504/
🔗 Python tricks
Realtime-матчинг: находим матчи за считанные минуты вместо 24 часов
Задача матчинга в последнее время набирает всё большую популярность и используется во многих сферах: банки матчат транзакции, маркетплейсы – товары, а Google и другие IT-гиганты проводят соревнования по решению таких задач на Kaggle.
Для маркетплейса матчинг – очень важный процесс, который решает сразу несколько задач:
1. При поисковом ранжировании из множества товаров показывать сначала самые выгодные предложения.
2. Объединять множество товаров в одну сущность и показывать предложения одного и того же товара от разных селлеров.
3. Понимать, насколько пользователям выгодно покупать на Ozon, и выстраивать ценообразование на основе этой информации.
Сегодня мы поговорим не только о решении этой задачи, но и о способах её реализации: offline (batch) vs online (realtime). Также обсудим, как и зачем переходить от первого ко второму.
https://habr.com/ru/company/ozontech/blog/692860/
🔗 Python tricks
Задача матчинга в последнее время набирает всё большую популярность и используется во многих сферах: банки матчат транзакции, маркетплейсы – товары, а Google и другие IT-гиганты проводят соревнования по решению таких задач на Kaggle.
Для маркетплейса матчинг – очень важный процесс, который решает сразу несколько задач:
1. При поисковом ранжировании из множества товаров показывать сначала самые выгодные предложения.
2. Объединять множество товаров в одну сущность и показывать предложения одного и того же товара от разных селлеров.
3. Понимать, насколько пользователям выгодно покупать на Ozon, и выстраивать ценообразование на основе этой информации.
Сегодня мы поговорим не только о решении этой задачи, но и о способах её реализации: offline (batch) vs online (realtime). Также обсудим, как и зачем переходить от первого ко второму.
https://habr.com/ru/company/ozontech/blog/692860/
🔗 Python tricks
Исчерпывающее руководство по множествам в Python
Класс
https://habr.com/ru/company/wunderfund/blog/693592
🔗 Python tricks
Класс
set
(множество) — это одна из ключевых структур данных в Python. Она представляет собой неупорядоченную коллекцию уникальных элементов. Класс set
, в некоторой степени, соответствует математическому множеству. Многие широко используемые математические операции, применимые к множествам, существуют и в Python. Часто вычисления, производимые над множествами, оказываются гораздо быстрее, чем альтернативные операции со списками. В результате, для того чтобы писать эффективный код, Python-программисту просто необходимо уметь пользоваться множествами. В этой статье я расскажу об особенностях работы с классом set
в Python.https://habr.com/ru/company/wunderfund/blog/693592
🔗 Python tricks
Регулярки (regex) — основы для решения кейсов, про которые не пишут в статьях про основы
"Там просто регулярку написать" - говорили они.
Хочу показать вам небольшой кейс/задачу, которую передо мной поставили.
https://habr.com/ru/post/693586/
🔗 Python tricks
"Там просто регулярку написать" - говорили они.
Хочу показать вам небольшой кейс/задачу, которую передо мной поставили.
https://habr.com/ru/post/693586/
🔗 Python tricks
Новый взгляд на асинхронность в Python: в лучших традициях gevent, но ещё лучше
Некоторые уже видели мои статьи про добавление асинхронности в django. Этот пост не об этом: вопрос более широкий и посвящён асинхронности в целом. И подход совсем другой.
Кстати, вопрос с асинхронным django тоже решился - как побочный эффект. Между прочим, собираюсь использовать это в продакшене при первой возможности.
Итак, асинхронность в стиле gevent - что бы это могло быть? Читайте под катом. На картинке - иллюстрация к сказке Киплинга "Слонёнок".
https://habr.com/ru/post/694804/
🔗 Python tricks
Некоторые уже видели мои статьи про добавление асинхронности в django. Этот пост не об этом: вопрос более широкий и посвящён асинхронности в целом. И подход совсем другой.
Кстати, вопрос с асинхронным django тоже решился - как побочный эффект. Между прочим, собираюсь использовать это в продакшене при первой возможности.
Итак, асинхронность в стиле gevent - что бы это могло быть? Читайте под катом. На картинке - иллюстрация к сказке Киплинга "Слонёнок".
https://habr.com/ru/post/694804/
🔗 Python tricks
Telegram бот с offline распознаванием голосовых и генерацией аудио из текста
Всем привет! После прочтения постов про голосового ассистента (первый, второй) и сервис Silero, мне стало интересно поиграться с offline распознаванием аудио, а также обратным преобразованием текста в аудио. И как все начинающие разработчики я сделал своего Telegram бота. Просто Telegram – это удобный и мобильный интерфейс для взаимодействия с чем угодно. В своем пет-проекте я применил: Python, aiogram, Vosk, Silero и ffmpeg.
https://habr.com/ru/post/694632/
🔗 Python tricks
Всем привет! После прочтения постов про голосового ассистента (первый, второй) и сервис Silero, мне стало интересно поиграться с offline распознаванием аудио, а также обратным преобразованием текста в аудио. И как все начинающие разработчики я сделал своего Telegram бота. Просто Telegram – это удобный и мобильный интерфейс для взаимодействия с чем угодно. В своем пет-проекте я применил: Python, aiogram, Vosk, Silero и ffmpeg.
https://habr.com/ru/post/694632/
🔗 Python tricks
Ошибка 15-летней давности в Python делает уязвимыми более 350 тыс. проектов
Исследователи Trellix обнаружили ошибку в языке программирования Python, которая создаёт риск для сотен тысяч программных проектов. Выявленная уязвимость системы безопасности существовала в Python в течение 15 лет.
Подробнее: 👉 тут
🔗 Python tricks
Исследователи Trellix обнаружили ошибку в языке программирования Python, которая создаёт риск для сотен тысяч программных проектов. Выявленная уязвимость системы безопасности существовала в Python в течение 15 лет.
Подробнее: 👉 тут
🔗 Python tricks
Как компьютерное зрение помогает определить координаты спутниковых снимков
Я выбрал задачу от института МФТИ, посвященную аэрофотоснимкам. В геодезии ряд задач можно решить с помощью спутниковых снимков. Однако в экстренных ситуациях, связанных с поиском очагов пожара или пропавших людей, сопоставление спутникового снимка с масштабами реальной местности занимает слишком много времени и не дает достоверной информации в режиме онлайн. Для точной обработки информации и обеспечения безопасности внедряется искусственный интеллект.
Я занял второе место, предложив одно из лучших решений по автоматизации привязки фотографии к географическому положению. Эта разработка призвана помочь и ускорить геодезические работы, например, при выявлении чрезвычайных ситуаций или вырубки лесов.
https://habr.com/ru/post/696422/
🔗 Python tricks
Я выбрал задачу от института МФТИ, посвященную аэрофотоснимкам. В геодезии ряд задач можно решить с помощью спутниковых снимков. Однако в экстренных ситуациях, связанных с поиском очагов пожара или пропавших людей, сопоставление спутникового снимка с масштабами реальной местности занимает слишком много времени и не дает достоверной информации в режиме онлайн. Для точной обработки информации и обеспечения безопасности внедряется искусственный интеллект.
Я занял второе место, предложив одно из лучших решений по автоматизации привязки фотографии к географическому положению. Эта разработка призвана помочь и ускорить геодезические работы, например, при выявлении чрезвычайных ситуаций или вырубки лесов.
https://habr.com/ru/post/696422/
🔗 Python tricks
Лайфхаки Python: сэкономить память и ускорить выполнение программы
Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код. Сегодня поговорим про обработку списков.
Подробнее: 👉 тут
🔗 Python tricks
Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код. Сегодня поговорим про обработку списков.
Подробнее: 👉 тут
🔗 Python tricks
Именование среза с использованием функции slice
Работа с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке..
🔗 Python tricks
Работа с множеством значений, которые заданы индексами, может быстро обернуться беспорядком – как в плане поддержки, так и в плане читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Но есть и более удачный способ написания качественного кода, как показано на картинке..
🔗 Python tricks
10 лучших фреймворков для веб-разработки на Python
Python — это объектно-ориентированный, интерпретируемый и интерактивный язык программирования. Это один из самых быстроразвивающихся языков. Рост популярности фреймворков на его основе — следствие лидирующей позиции языка. Фреймворки существуют для того, чтобы упрощать жизнь программисту. Они помогают экономить время, потому что благодаря им разработчик фокусируется на логике работы приложения, а не на рутинных задачах.
Подробнее: 👉 тут
🔗 Python tricks
Python — это объектно-ориентированный, интерпретируемый и интерактивный язык программирования. Это один из самых быстроразвивающихся языков. Рост популярности фреймворков на его основе — следствие лидирующей позиции языка. Фреймворки существуют для того, чтобы упрощать жизнь программисту. Они помогают экономить время, потому что благодаря им разработчик фокусируется на логике работы приложения, а не на рутинных задачах.
Подробнее: 👉 тут
🔗 Python tricks
Пишем систему распознавания ладони на Python OpenCV
Всем привет, в этой статье покажем как написать систему распознавания ладони на Python + OpenCV (26 строчек кода). Этот урок требует минимальных знаний OpenCV.
Подробнее: 👉 тут
🔗 Python tricks
Всем привет, в этой статье покажем как написать систему распознавания ладони на Python + OpenCV (26 строчек кода). Этот урок требует минимальных знаний OpenCV.
Подробнее: 👉 тут
🔗 Python tricks
Гайд по магическим методам в Python
Магические методы в языке программирования Python нужны, чтобы реализовывать свойства объектов при их взаимодействии.
В статье раскроем их «магию» и остановимся на каждом из методов подробно.
Подробнее: 👉 тут
🔗 Python tricks
Магические методы в языке программирования Python нужны, чтобы реализовывать свойства объектов при их взаимодействии.
В статье раскроем их «магию» и остановимся на каждом из методов подробно.
Подробнее: 👉 тут
🔗 Python tricks
Сравнение быстродействия def и lambda-функций Python 3.x
Сравним быстродействие def и lambda-функций. Предположительно, lambda, заточенный под однострочники, будет быстрее выполняться и создаваться.
Подробнее: 👉 тут
🔗 Python tricks
Сравним быстродействие def и lambda-функций. Предположительно, lambda, заточенный под однострочники, будет быстрее выполняться и создаваться.
Подробнее: 👉 тут
🔗 Python tricks