Обновить
513.52

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Простой бэкап базы данных и статики для небольшого Django-проекта

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.2K

Друзья, всем привет!

Помимо основной работы инженером данных, я поддерживаю небольшой сайт на Django (посвящен информационным материалам по преподаванию истории и обществознания).

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

Сразу скажу, что такой подход подойдет для баз, размер которых не является астрономическим (десятки и сотни гигабайт), в моем случае база весит всего 50 Мб, статика около 400 - поэтому мне не составляло большого труда синхронизировать такие объемы. Думаю, небольшие и даже средние интернет магазины и блоги вряд ли хранят на порядки больше данных.

Для больших проектов, лучше бэкапы архивировать, шифровать и отправлять куда-нибудь в s3 типа  Minio.

Когда новая инфа на сайте появлялась довольно редко, я все делал руками, а именно...

Читать далее

Экстренное шифрование данных

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

Представим такую ситуацию: на вашем компьютере хранятся очень важные или компрометирующие вас данные, а в вашу дверь кто-то ломится. Ваша задача заключается в том, что бы быстро и незаметно зашифровать всю важную информацию на своём компьютере. Как это сделать?

Читать далее

FVWA (Flask Vulnerable Web Application)

Уровень сложностиПростой
Время на прочтение34 мин
Охват и читатели8.1K

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

Приложение содержит несколько заданий, в каждом из которых реализован некоторый изъян в безопасности (будь то слабый пароль, SQL-инъекция или XXE). Вы смело можете искать нестандартные пути решения, знакомиться с новыми для себя средствами анализа защищённости веб-приложений, пробовать различные полезные нагрузки и, главное, смотреть исходный код, позволяющий увидеть причину возникновения обнаруженной вами уязвимости.
Мы сделали минималистичную борду для сдачи флагов, а это значит, что вы сможете поделиться своими результатами с другими энтузиастами, обсудить интересные находки или поделиться способом решения)

Так что добро пожаловать в FVWA, лабораторию, где мы стараемся создать возможности для всех, кто хочет и стремится стать лучше в сфере веб-безопасности.

Исходники на GitHub: смотреть

К лаборатории!

Контроль за дрейфами предсказательных моделей и Popmon

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели9.1K

Привет, Хабр!

На связи участник профессионального сообщества NTA Иван Попов.

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

Как держать дрейф модели под контролем?

RabbitMQ Direct Reply-to. RPC поверх кролика без дополнительных очередей (пример на Python)

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели17K

Реализацией RPC запросов поверх брокеров сообщений никого не удивишь: очередь для запроса, очередь для ответа — ничего сложного.


Тот же RabbitMQ имеет пример в официальной документации. Других примеров там нет, поэтому создается впечатление, что отправка ответных сообщений в другую очередь — единственный возможный способ реализации RPC.


Этот сценарий отлично работает когда у нас есть непрерывный поток сообщений и непрерывный поток ответов на них. Однако, данный подход не применим в случаях, когда нам нужно отправить только одно сообщение и получить ответ именно на него. Мы сразу же попадаем в какой-то ад с фильтрацией ответов по correlation_id.


На самом деле, в RabbitMQ есть механизм и для такого сценария. Но он спрятан в недрах документации и о нем почти нет информации в интернете (особенно рабочих примеров кода).


Вот это недоразумение мы сейчас и исправим.

Читать дальше →

Отслеживание Bluetooth-устройств: эксперимент и выводы

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели10K

Незаметная жизнь Bluetooth: как ваши устройства могут стать незаметными маячками для трекинга. Как собрать данные окружающих Bluetooth-устройств без кода на коленке прямо на телефоне, как обработать данные, и как это можно использовать не только в коммерческих целях, но и для слежки. Эксперимент и результат.

Читать далее

Инструменты Дата-сайнтиста. Универсальная база

Время на прочтение4 мин
Охват и читатели13K

Специалисты по анализу данных используют много разных инструментов, причем новые технологии (фреймворки, библиотеки и т.д.) появляются так часто, что у начинающих свой путь в отрасли постоянно возникает вопрос, что им нужно изучать в первую очередь. Здесь вы найдете обзор базовых инструментов. В следующих постах мы продолжим тему и расскажем об инструментах, не вошедших в этот обзор.

Какие инструменты нужны для анализа данных

Lock записей и шквал «пятисоток»: какие шишки мы набили на миграциях в Django и как вам этого избежать

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.4K

Всем привет! Меня зовут Артём. Я бэкенд-разработчик Яндекс Практикума, занимаюсь продуктовой разработкой нашей платформы. Пришёл в команду почти три года назад, когда Практикум только развивался, так что экспериментировать приходилось много.

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

Практикум развивается, поэтому миграций накатывать приходится много. Причём применять их часто нужно к достаточно большим табличкам с щепоткой дата-миграций. В этой статье я разберу несколько примеров неаккуратной работы с миграциями в Django и поделюсь, как избежать подобных проблем. 

Читать далее

Тестируем на реальных кейсах Chatgpt Code Interpreter

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели15K

Меня зовут Андрей Цыган - я не программист, я смотрю на технологии ИИ с точки зрения человека, кто знает что хочет, но не имеет навыков это сделать через код.

Я протестировал новый плагин Code Interpreter на реальных задачах в бизнесе и остался приятно удивлён.

Посмотреть кейсы применения

Как из метрик Prometheus построить график Latency

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели37K

Обычно мы подключаем сбор метрик в prometheus к нашим web‑приложениям с помощью каких‑то клиентских библиотек, которые отдают метрики на /metrics. В этой статье я хочу рассказать как визуализировать Latency с помощью Histogram метрики.

Будет полезно тем, кто еще не строил метрики из Prometheus, а так же тем, кто хочет понять как их интерпретировать.

Читать далее

Полезные материалы и инструменты для погружения в Flask: выбор сотрудников Selectel

Время на прочтение4 мин
Охват и читатели13K

Часто Python-разработчики выбирают Flask в качестве «быстрого старта» для создания веб-приложений. Он прост в использовании и имеет много преимуществ перед другими фреймворками — например, легкий синтаксис, удобные шаблоны и инструменты для гибкой настройки сайтов.

Однако у начинающих могут быть трудности в работе с фреймворком. Чтобы свести их к минимуму и помочь с погружением в Flask, наши коллеги собрали полезные материалы. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →

Что же такое Django?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели110K

17 месяцев назад я начал свою путь в бэкенд разработку Python. Но спустя время я начал сталкиваться со сложностями в обучении на своей платформе. Первые уроки давались легко, а потом начиналось что-то непонятное в буквальном смысле. Заучивание, записывание, практика одного урока - на это уходили дни. А уроков сотни.

Чтобы найти простое объяснение и понять 10 минутный урок, приходилось несколько часов серфить интернет и потеть над кодом, выявляя правильный путь исправления ошибок. Везде говорят, что в первую очередь нужно учиться искать информацию в интернет. Но сейчас, когда я изучаю Django, даже "перекурив" весь русскоязычный мануал, я не понял ничего. В каждом предложении нужно "гуглить" термины. В сотрудничестве с ИИ я попробовал дать простое объяснение, которое поймет даже первоклассник.

Я только учусь и курс Django пройден наполовину. Все это сделано для тех, у кого тоже возникли трудности.

Узнать про Django

Хозяйке на заметку: автоматизируем рутинные процессы и экономим время

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели13K

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

В этой статье я расскажу о неочевидных автоматизациях, которые сделали нашу жизнь проще, и покажу, как реализовать их. В большинстве случаев нужна только техническая учётка для баг-трекера или DevOps-платформы.

Читать далее

Ближайшие события

Слушаем и декодируем в реальном времени радиосигнал точного времени из интернета

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели32K
image

Сегодня я хочу поговорить о том, как можно получить и декодировать сигналы точного времени, которые передаются по радио. Чтобы выполнить эту задачу, вам даже не понадобятся специальные устройства. Достаточно будет компьютера с более-менее быстрым интернет-соединением.

Технология передачи точного времени по радио не нова. Сигналы точного времени начали передавать практически сразу, как появился радиотелеграф. Сейчас передача сигналов точного времени осуществляется с помощью различных технологий. Помимо радио, информация о времени с разной степенью точности передаётся:

  • в интернете (NTP);
  • в сетях мобильной связи (NITZ);
  • в системах спутниковой навигации GPS, ГЛОНАСС, BeiDou-3, Galileo.

Хотя в этих случаях используются более современные технологии, передача сигналов точного времени по радио продолжает существовать и выполнять свои функции. Промышленностью выпускаются различные устройства, принимающие эти сигналы, например, часы Casion Wave Ceptor. Изучив основы передачи точного времени по радио, вы узнаете много интересного, а также закрепите свои знания в различных областях.
Читать дальше →

Опенсорс-библиотеки для Python: 40+ вариантов, как упростить жизнь начинающего дата-сайентиста

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели18K

Для Python существует более 137 тысяч библиотек с открытым исходным кодом, автоматизирующих работу в разных областях — от отдельных рутинных рабочих процессов в компаниях до создания сложных многофункциональных приложений. Одна из самых популярных областей применения «змеиного языка» — наука о данных, а также задачи, связанные с искусственным интеллектом и машинным обучением.

В этой обширной «шпаргалке» для начинающих AI/ML специалистов мы собрали опенсорсные библиотеки Python, сгруппированные по областям практического применения. Этот список с кратким описанием функций каждого инструмента будет полезен всем, кто постоянно работает с «Питоном» и ищет эффективные инструменты для решения возникающих задач.

Читать далее

Dagster и Great Expectations: Интеграция без боли

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.2K

Меня зовут Артем Шнайдер, и я занимаюсь DataScience в Бланке. Сегодня я хочу рассказать вам о том, как можно интегрировать два мощных инструмента – Dagster и Great Expectations.

Great Expectations позволяет определить так называемые ожидания от ваших данных, то есть задать правила и условия, которым данные должны соответствовать. 

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

Исходный код к этой статье на GitHub.

Давайте начнем? :-)

Погнали ?

Binance API и Telegram бот с уведомлениями о сделках

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели11K

Возникла задача сделать уведомления в Телеграм о сделках на Binance. Открытие и закрытие позиций, текущий профит, баланс и прочее. Это актуально когда надо быть в курсе если кто-то или что-то торгует на вашем счете.

Задача выглядела несложной - из Binance API забираем последние сделки и шлём в Телеграм - работы на пару часов. Но на практике это превратилось в квест в котором 90% времени ушло на изучение особенностей работы с Binance API, их довольно странную логику и жесткие лимиты.

В итоге, родился минималистичный скрипт на 40 строк кода и новый интересный проект о котором упомяну в конце статьи. Скрипт можно запустить на своем компьютере и все сделки на вашем счете превратятся в уведомления типа BUY BTCUSDT volume: 0.01 или CLOSE BTCUSDT profit: 10$

Читать далее

Автопостинг ВК (VK) на python

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели13K

У меня есть несколько групп в ВК, в которые нужно периодически публиковать посты. В целом мое желание можно описать фразой «А когда мне это делать, если я все время не хочу». Мотивация в моем случае это лень. Я не являюсь разработчиком, но решил набросать скрипт, который будет публиковать посты.

Читать далее

Семантическая сегментация на основе архитектуры U-Net и определение расстояния между объектами

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели29K

Всем привет!

Возвращаясь к бытовому применению нейронных сетей, изначально была идея усовершенствовать модель детекции свободного парковочного места из предыдущей моей статьи (Определение свободного парковочного места с помощью Computer Vision), сделать возможность сегментации дороги, тротуара и исключать из парковочных мест, автомобили, которые стоят на газоне (было несколько гневных комментариев на этот счёт).

Однако в процессе размышлений, я решил сделать отдельную модель сематической сегментации, причем написать вручную нейросеть и обучить на своих данных. Суть модели заключается в следующем:

Модель на базе U-Net архитектуры сегментирует различные объекты (кот, стул, стол, тарелка с котлетами итд) и при сближении двух объектов сегментации (кот - тарелка) модель сигнализирует об этом с помощью телеграмм бота.

Отлично, задача поставлена, теперь реализация!

Читать далее

Первые шаги в импульсных нейронных сетях

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели23K

Давайте попробуем немного разобраться в теме импульсных нейронных сетей (spiking neural network, SNN). Напишем простую импульсную нейронную сеть, используя только NumPy и Pandas, для классической задачи машинного обучения с использованием кодирования рецептивными полями.

Читать далее

Вклад авторов