Pull to refresh
5
0
Сергей Паньков @trapwalker

Backend, python

Send message

Некоторые неочевидные особенности Django ORM (filter и exclude)

Level of difficultyMedium
Reading time7 min
Views1.5K

TLDR: В статье рассказывается о некоторых особенностях Django ORM, а именно, как при неправильном использовании некоторых встроенных методов (filter(), exclude()) можно незаметно, но очень больно, выстрелить себе в ногу при работе со связями many-to-many и one-to-many (связь, обратная к FK). Статья может быть полезной не слишком искушенному в тонкостях Django ORM разработчику.

Интересно...

Кастомизация Django Admin с django-unfold

Level of difficultyEasy
Reading time3 min
Views1.7K

Привет, Хабр. Изучая безграничные просторы интернета интернета, заметил явное отсутствие обучающих статей на тему кастомизации админ-панели в /Django/, а уж поверьте. Её довольно старое для современных рамокстилизация — не приговор. И делается это буквально в пару кликов, без лишнего .css кода. На который как раз таки гайдов полно. Зачем засорять папку со статическими файлами лишним кодом, если можно сделать это в пару кликов.

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

Читать далее

От кнопки до продакшена: как мы делаем Telegram Mini Apps

Level of difficultyMedium
Reading time18 min
Views6.7K

Привет! Мы Дима и Илья, работаем в команде ТМА-разработки Doubletapp и расскажем, как создать Telegram Mini App на стеке React + Python.

Telegram Mini Apps — это мощный инструмент, который позволяет создавать интерактивные веб-приложения, работающие прямо внутри мессенджера. Они идеально подходят для игр, маркетплейсов, сервисов бронирования и многого другого.

В этом туториале мы разберем процесс создания Mini App:

настроим проект
создадим фронтенд на React с поддержкой Telegram SDK
реализуем бэкенд на Python (Django)
свяжем все компоненты и развернем приложение.

Читать далее

Оптимизация запросов в Django. Подробное руководство

Level of difficultyHard
Reading time60 min
Views3.7K

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

Данная статья подходит как для начинающих, так и для достаточно опытных разработчиков на django, а также для всех, кто еще не интересовался, что происходит под капотом ORM.

Читать далее

Как в 2025 году в Django реализовать аутентификацию через Google

Reading time3 min
Views1.5K

Аутентификация через сторонние сервисы осуществляется на базе протокола OAuth 2.0, который поддерживается библиотекой Python Social Auth Django.

Для начала нам нужно установить библиотеку social-auth-core и дополнительную библиотеку social-auth-app-django для интеграции этой системы регистрации/аутентификации в Django. Оба компонента мы указали в списке зависимостей проекта в файле requirements.txt:

Читать далее

Мой набор для Django

Level of difficultyEasy
Reading time3 min
Views2.2K

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

Читать далее

Просто «включатель» света с радаром 24 ГГц для «Умного дома» или автономного использования

Level of difficultyMedium
Reading time7 min
Views14K

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

Вот и добралась моя безумная DIY автоматизация до ванной комнаты, а причина тому - датчик присутствия HLK-LD2402. Этот датчик был куплен на распродаже в одном оранжевом маркетплейсе с целью поиграться и забыть, но он настолько мне понравился, что я решил дать ему возможность поработать в составе моего DIY устройства. А что из этого вышло — читайте далее.

Читать далее

И снова о распознавании лиц с помощью Python

Reading time7 min
Views5.1K

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

В этой статье мы посмотрим, как можно использовать библиотеки OpenCV и Dlib для распознавания лиц. Мы не будем сильно углубляться в код, а вместо этого рассмотрим рабочие примеры систем распознавания на основе этих библиотек.

Читать далее

Бюджетный квадрокоптер на базе ESP32 своими руками

Level of difficultyMedium
Reading time5 min
Views43K
За последние годы дроны стремительно переросли из нишевых хобби-девайсов в гибкие инструменты, применяемые для множества всевозможных задач — от фотографии до сельского хозяйства и даже военной сферы. В зависимости от назначения, характеристик и способности нести полезную нагрузку подобные устройства могут стоить от нескольких тысяч до миллионов.

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

KC868-AG Pro: эпицентр умного дома (ESP32, Zigbee, Tuya, IR, 433 MHz и прочее)

Level of difficultyEasy
Reading time5 min
Views15K


Какое-то время назад я разбирал в своём блоге контроллер для управления устройствами умного дома KC868-AG. Сейчас компания Kincony выпустила новую, значительно модернизированную версию KC868-AG Pro с поддержкой Zigbee 3.0 и Tuya в двух диапазонах 2,4 ГГц и 433 МГц. Плюс контроллер имеет IR и RF433 управление и приём сигналов и прочие возможности.

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

А теперь разберём как это устроено и как это работает (там есть множество интересных и неочевидных нюансов).
Читать дальше →

Log4ts — библиотека, которой не должно быть

Level of difficultyMedium
Reading time7 min
Views8.2K

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

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

Библиотека Log4ts вдохновлена идеями Log4J и обеспечивает логирование в программах, написанных на  TypeScript.
Далее в этой статье я расскажу о том, как её установить, использовать и конфигурировать.

А в конце я опишу коротенько другие мои библиотеки, которые тоже не должны были бы существовать.

Читать далее

Учим железки разговаривать, или ESP32 DAC и немного таймера

Reading time6 min
Views27K
В ходе разработки одного очень интересного устройства (эх, лишь бы силенок хватило) я решил, что будет неплохо, если устройство это будет говорящим. Как нельзя кстати здесь пригодилось наличие в целевом микроконтроллере, ESP32 компании Espressif Systems, двухканального 8-битного ЦАПа.

В этом туториале (если его можно так назвать) я покажу, как можно быстро и довольно просто организовать проигрывание аудиофайла силами микроконтроллера ESP32.

AGLoRa. Или прототип простого самодельного спутникового LoRa-трекера

Reading time9 min
Views19K

Вокруг всё чаще и чаще слышно упоминание загадочных слов LoRa. Начиная от, разумеется, Хабра, и заканчивая прайсами поставщиков различного IoT-оборудования.

Было очень любопытно самому убедиться, а правдивы ли обещания дальности работы? Попробовать это очень просто, готовые модули LoRa можно без проблем кликнуть со всем известного китайского маркетплейса. Но проверять дальность, просто мигая лампочкой на расстоянии, как-то не наглядно, так что напрашивается подключение GPS-приемника и самостоятельного подсчета расстояния. Ну и вы уже поняли, что в этом месте запахло прототипом спутникового трекера, передающим данные не по GSM-каналу, как обычно, а по радиоканалу LoRa...

Читать далее

Как мы разрабатывали игры для xkcd

Level of difficultyEasy
Reading time8 min
Views2.4K

20 апреля xkcd опубликовал Escape Speed — четырнадцатый ежегодный комикс к Дню смеха, который мы разработали вместе. Escape Seed — это большая игра про исследование космоса, нарисованная Рэндалом Манро. Я писал код движка и редактора, а игровой логикой и обработкой ресурсов занимался davean. Карту игры редактировали Патрик КлэпЭмберКевинБенджамин Стаффин и Дженел Шейн.

Это был один из самых амбициозных (и самых запоздавших) комиксов к Дню смеха, выпущенных нами. Чтобы реализовать его, необходимо было добиться баланса графики, физики, сюжета, игровой логики и скорости рендеринга. Мы решили, что стоит потратить больше времени, чтобы сделать всё правильно.

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

В статье мы расскажем несколько историй о разработке этих двух игр.

Читать далее

Как стать VPN провайдером за один вечер

Level of difficultyMedium
Reading time13 min
Views180K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат

ESP8266 и Arduino, подключение, распиновка

Reading time5 min
Views371K
Привет Хабр. Тема ESP8266, как и IoT(интернет вещей), всё больше набирает популярности, и уже Arduino подхватывает инициативу — добавляя эти Wi-Fi модули в список поддерживаемых плат.
Но как же его подключить к ардуино? И возможно как-то обойтись вообще без ардуино? Сегодня именно об этом и пойдёт речь в этой статье.

Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE. Но, обо всём по порядку.

image

Этот видеоролик, полностью дублирует материал, представленный в статье.


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

IoT за копейки: практическое руководство. Часть 1-я, аппаратная

Reading time5 min
Views35K


Привет, Geektimes!

Представляем цикл статей, в котором рассмотрим, как с нуля и без пайки реализовать управляемое из облака недорогое IoT-устройство с огромными потенциалом. За основу возьмем «чистый» микрочип ESP8266, о котором недавно уже писали. Используем свежую DeviceHive-прошивку и напишем простенькое веб-приложение для обращения к cloud-серверу. К микрочипу подключим простое устройство, управлять которым можно будет с помощью пары кликов в браузере.

Перед вами первая статья цикла, из которой мы узнаем, какое именно оборудование нам понадобится.

Совсем недавно состоялся публичный релиз первой версии DeviceHive-прошивки для ESP8266. Цель наших статей — помочь каждому желающему реализовать с помощью DeviceHive собственное IoT-решение максимально дешево, быстро и без лишних сложностей.

Нам понадобится всего пять вещей:
  • плата с распаянным ESP8266;
  • USB ->UART-переходник;
  • источник питания;
  • провода;
  • сам девайс, который мы хотим подружить с облаком.


Общая стоимость первых четырех пунктов не превысит $ 5. Какое устройство выбрать для экспериментов — решайте сами.

Давайте рассмотрим каждый пункт подробнее.
Читать дальше →

Беспроводная настройка ESP8266 в прошивке DeviceHive v 0.3

Reading time3 min
Views20K


Good news, everyone! Вышла новая версия прошивки DeviceHive для ESP8266. Мы реализовали поддержку самых популярных интерфейсов для подключения устройств: GPIO, ADC, PWM, UART, I2C, SPI, 1-wire. Теперь можно легко подключить устройства с этими интерфейсами к нашему облачному сервису. А самое главное — появилась возможность беспроводного конфигурирования прошивки (см. скриншот ниже). Об этом мы сегодня и поговорим.



Тройной RESET, или «Поехали!»


При создании IoT-устройств с беспроводным подключением часто можно столкнуться с неприятной проблемой: настроить устройство конечному пользователю не так легко, как кажется. Такие устройства обычно не оснащены экраном и клавиатурой, поэтому задать начальные настройки (данные Wi-Fi-сети, например) не выйдет без подходящего кабеля и специализированного ПО. Эту проблему мы и попытались решить в новой версии прошивки.
Читать дальше →

Простой робот на МК esp8266 c micropython

Reading time11 min
Views10K
Привет, Хабр!

Эта статья описывает процесс апгрейда самоходной платформы на базе МК esp8266 с micropython, до простейшего робота, оснащённого сканирующим ультразвуковым датчиком препятствий, мигающим светодиодом, кнопкой «старт/стоп», а также встроенным веб-сервером, в рамках учебного проекта.

КДПВ:


Уменьшаем потребление ESP8266 при автономной работе с датчиками

Reading time3 min
Views14K

Вот уже более пяти лет WiFi модули на основе SOC ESP8266(ESP8285) успешно используются в автономных устройствах для измерения различных параметров объектов и окружающей среды с передачей по WiFi полученных данных.


В заметке «Как уменьшить потребление wifi модулей в десять и более раз» рассказывал о некоторых способах уменьшения времени активности WiFI сеанса таких модулей, что позволяет существенно сократить потребление энергии во время передачи данных. При этом типовое время сеанса передачи короткого сообщения удается уменьшить с 1-4 секунд до 0.12-0.3 секунды.


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


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


Более того, модуль измерения температуры на основе ESP8266 может периодически переключаться в режим глубокого сна, при котором ток потребления составляет менее 20 мкА. Просыпаясь, модуль читает показания датчика, сравнивает эти показания с предыдущими данными. Если показания изменились незначительно или находятся в допустимом интервале рабочих температур, то модуль вновь переключается в режим сна без сеанса связи.
Если показания датчика заметно изменились или вышли за пределы допустимого интервала, то модуль передает данные и / или сигнал тревоги по WiFi и переключается в режим глубокого сна.

Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Date of birth
Registered
Activity