Pull to refresh
9
0
Роман Ищенко @djamba

Android Developer

Send message

ByeDPI + Redsocks на OpenWRT: дарим свободу локальной сети на дровах (на примере ASUS RT-N12 ROM/ОЗУ: 8/32 Мб)

Level of difficultyEasy
Reading time6 min
Views43K

Решение проблемы зачастую упирается в использование роутеров с ограниченными ресурсами, таких как ASUS RT-N12 VP B1 с ROM/ОЗУ 8/32 Мб. В этой статье я расскажу, как настроить связку ByeDPI и Redsocks на роутере с OpenWRT, даже если ваш роутер далеко не топ по характеристикам.

## Зачем нужны ByeDPI и Redsocks?

ByeDPI — это утилита для обхода DPI (Deep Packet Inspection), которая изменяет сетевые пакеты таким образом, чтобы они не распознавались системами фильтрации трафика.

Redsocks — это прокси-инструмент, который перенаправляет трафик через SOCKS или HTTP прокси, даже если приложение не поддерживает прокси напрямую.

Сочетание этих двух инструментов на роутере позволяет обходить блокировки на уровне провайдера, обеспечивая свободу в домашней сети без необходимости установки ПО на каждом устройстве.

Ставим ByeDPI и Redsocks на OpenWRT
Total votes 36: ↑36 and ↓0+53
Comments69

Расширенная шпаргалка по корутинам Kotlin

Level of difficultyMedium
Reading time8 min
Views4K

Предположим, что вы уже какое-то время работаете с Kotlin-корутинами и знакомы с базовыми концепциями, такими как приостанавливаемые (suspend) функции и билдер launch. Однако по мере усложнения проектов вы всё чаще сталкиваетесь с необходимостью искать решения для более продвинутых задач и обращаетесь к поисковым системам или искусственному интеллекту за помощью.

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

Читать далее
Total votes 23: ↑21 and ↓2+25
Comments0

Интеграция Telegram-бота с ЮKassa

Level of difficultyMedium
Reading time6 min
Views2.8K

Вроде бы есть у ЮКассы неплохая документация о настройке платежей через ТГ-бота, есть в интернете и несколько статей на эту тему, но все-таки на практике сталкиваешься со множеством неочевидных нюансов…

Опишу по шагам процесс подключения платежей для Python-бота на aiogram 3, при условии, что у его владельца уже оформлена самозанятость.

Читать далее
Total votes 9: ↑7 and ↓2+7
Comments12

Pydantic 2: Полное руководство для Python-разработчиков — от основ до продвинутых техник

Reading time26 min
Views15K

Друзья, сегодня мы погрузимся в мир Pydantic 2 – мощного инструмента для валидации данных в Python! Узнаем, почему эта библиотека стала незаменимой в 30% Python-проектов и как она упрощает работу с данными. От базовых концепций до продвинутых техник – мы охватим всё, что нужно знать современному Python-разработчику. Готовьтесь к практике – ведь только так можно по-настоящему освоить Pydantic и сделать ваш код более надёжным и эффективным.

Читать далее
Total votes 31: ↑30 and ↓1+33
Comments12

Решение проблемы race condition в Kotlin корутинах

Level of difficultyMedium
Reading time4 min
Views5.5K

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

Читать далее
Total votes 7: ↑6 and ↓1+8
Comments3

Асинхронный SQLAlchemy 2: пошаговый гайд по управлению сессиями, добавлению и извлечению данных с Pydantic

Reading time34 min
Views7.4K

Продолжаем цикл статей по асинхронной SQLAlchemy в стиле ORM!

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

Что нас ждёт сегодня?

- Сессии и фабрики сессий: Узнаем, как эффективно управлять сессиями для взаимодействия с базой данных.

- Добавление данных в таблицы: Освоим безопасные методы добавления новых записей с использованием ORM-методов.

- Извлечение данных из таблиц: Погрузимся в мир извлечения данных. Рассмотрим простые запросы и более сложные фильтры для работы с данными.

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

Не пропустите, будет интересно и полезно!

Читать далее
Total votes 17: ↑17 and ↓0+19
Comments24

22 омерзительные опечатки в русском переводе книги М.П. Дайзенрот «Математика в машинном обучении»

Reading time4 min
Views21K

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

На выбор имелось два варианта книги:

- бесплатная версия на английском

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

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

Но…

Что "Но"?
Total votes 98: ↑98 and ↓0+129
Comments71

Асинхронный SQLAlchemy 2: простой пошаговый гайд по настройке, моделям, связям и миграциям с использованием Alembic

Reading time30 min
Views11K

Наконец-то пришло время взяться за то, что я давно планировал — подробный гайд по асинхронной версии SQLAlchemy 2.0 в стиле ORM. В этой серии статей я подробно расскажу обо всех аспектах: от создания моделей и установления связей между ними до миграций с Alembic и взаимодействия с данными в базе. Мы будем шаг за шагом разбирать ключевые моменты работы с асинхронной базой данных, что позволит вам глубже понять SQLAlchemy и применить эти знания на практике.

Для начала, давайте разберёмся, что такое SQLAlchemy и почему каждый разработчик, работающий с реляционными базами данных (такими как SQLite, PostgreSQL, MySQL и т. д.), должен знать о ней. После этого — настройка. Мы будем работать с PostgreSQL, но не переживайте: код, который мы напишем, универсален для всех реляционных баз данных. Мы начнем с базовой настройки SQLAlchemy для асинхронного взаимодействия, а затем перейдём к созданию таблиц в современном декларативном стиле.

Читать далее
Total votes 29: ↑28 and ↓1+30
Comments27

Зарубежная банковская карта в 2024: где оформить онлайн, сколько стоит, как пополнять?

Level of difficultyEasy
Reading time5 min
Views67K

Привет, Хабр! Меня зовут Мила, когда‑то я работала аналитиком в банках, а нынче делаю авторские туры в Африку. По работе мне постоянно приходится отправлять деньги за границу, оплачивать отели, трансферы, билеты онлайн и оффлайн.

Хочу поделиться опытом оформления одной конкретной карты банка Казахстана. Данный банк, опасаясь санкций, публично отрицает возможность открытия счетов для нерезидентов ОНЛАЙН. Поэтому помогающие конторы стараются не ссылаться на реальное название банка, а заменять его на псевдонимы: «зелёный банк», «свободный банк», «банк воландеморт». Так что тссс! мы все понимаем, что король голый, но вслух ни‑ни.

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

Итак, поехали.

Читать далее
Total votes 63: ↑49 and ↓14+44
Comments116

Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок

Reading time49 min
Views20K

Сегодня мы создадим полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через MiniApp и вебхуки. В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение.

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

Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.

Читать далее
Total votes 20: ↑18 and ↓2+19
Comments9

Xray на Keenetic / Xkeen

Level of difficultyEasy
Reading time9 min
Views120K

Утилиту для поддержки Xray на роутерах Keenetic — Xkeen.
Весь код написан на чистом shell и открыт на GitHub.

Собирает Xray под Ваш Keenetic на Entware.
Доступны GeoIP и GeoSite от AntiFilter, AntiZapret и v2fly.

Автоматически обновляет в указанное время Xray, GeoIP и GeoSite.

Ознакомиться с Xkeen
Total votes 23: ↑22 and ↓1+30
Comments33

far2l в Ubuntu 24.04 LTS готов для повседневного использования

Level of difficultyEasy
Reading time6 min
Views23K

Несколько дней назад вышло обновление, устраняющее последние шероховатости UX, и мы рады представить вам долгожданный полноценно работающий Far Manager в составе LTS-версии Ubuntu 24.04! В этой статье я расскажу, как получить максимум удовольствия от его использования. Поехали!

sudo apt update

sudo apt install far2l

Читать далее
Total votes 113: ↑113 and ↓0+139
Comments171

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 1)

Level of difficultyEasy
Reading time7 min
Views4.7K

Всем привет! Меня зовут Николай Первухин. Я увлеченный разработчик на GoLang, работаю в Ozon Банке в группе разработки сервисов ЗСК (KYC).

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

Читать далее
Total votes 23: ↑23 and ↓0+26
Comments14

Обход блокировки YouTube без VPN и GoodbyeDPI

Level of difficultyEasy
Reading time4 min
Views201K

Клешни постепенно сжимаются.
С момента замедления YouTube, по данным СМИ, его трафик для России снизился на 50%. Роскомнадзор активно блокирует VPN-сервисы.

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

Что же делать?

Читать далее
Total votes 50: ↑34 and ↓16+26
Comments73

Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Reading time40 min
Views15K

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.

Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.

Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.

Но прежде чем мы погрузимся в код, давайте кратко обсудим, что такое вебсокеты и как они работают в контексте FastApi.

Читать далее
Total votes 18: ↑18 and ↓0+23
Comments5

Промпт-инжиниринг: как найти общий язык с ИИ

Level of difficultyEasy
Reading time10 min
Views6.1K

В последние годы мир информационных технологий переживает настоящую революцию, связанную с развитием искусственного интеллекта (ИИ). Одной из наиболее захватывающих и новых профессий в этой области становится промпт‑инжиниринг. Меня зовут Наталья Бруй, я руководитель группы промпт‑инженеров MTS AI. В этой статье я расскажу почему эта профессия приобретает всё большую значимость и как можно использовать приёмы промпт‑инжиниринга в работе и повседневной жизни.

Читать далее
Total votes 21: ↑18 and ↓3+22
Comments2

Основы Jetpack Compose: как обеспечить стабильность вашего кода

Level of difficultyMedium
Reading time13 min
Views8.9K

Привет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Мы в Диске сейчас активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose есть немало статей, однако ошибки продолжают cовершаться, поэтому решила поделиться своим опытом в формате ликбез‑статьи.

По моему опыту, многие кто начинают писать на Compose, делают это интуитивно. Почему? Чтобы привыкнуть, понять, осознать подход к декларативному UI — нужно много времени, и поэтому к пониманию стабильности приходят, как правило, сильно позже. Однако это важно, ведь правильно организованная стабильность уменьшает количество рекомпозиций, что улучшает производительность и плавность работы приложения.

Читать далее
Total votes 26: ↑26 and ↓0+28
Comments8

Упрощённая инструкция по развёртыванию VLESS и Shadowsocks-2022 проксей на основе сервера XRay на линуксовом сервере

Level of difficultyMedium
Reading time5 min
Views17K

Что мы тут делаем?

1. Разворачиваем прокси на основе протоколов VLESS и Shadowsocks-22 при помощи сервера XRay

Зачем это нужно?

Роскомнадзор научился достаточно качественно блокировать популярные VPN‑протоколы: OpenVPN, Wireguard и некоторые другие. VLESS позволяет маскировать трафик под обычное TLS‑подключение к сайту, что на данном этапе развития возможностей Роскомнадзора обходит все существующие способы блокировки трафика и позволяет иметь нефильтрованный доступ в интернет.

Читать далее
Total votes 13: ↑9 and ↓4+8
Comments9

Точечное улучшение скорости Youtube на роутере Keenetic

Level of difficultyMedium
Reading time5 min
Views50K

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

Читать далее
Total votes 20: ↑15 and ↓5+16
Comments19
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Works in
Registered
Activity