Найти тему
Показать, с помощью Python, список доступных Wi-Fi сетей
Простенький код, использующий NetworkManager (под виндой не пробовал, ибо там используется netsh, да и python я еще после переустановки винды там не ставил. Винда у меня только для фото-видео редактирования)...
11 часов назад
Трекер привычек. Fastapi + pyTelegramBotAPI. Использование шифрования PyJWT. Часть 4
Данный пункт (безопасную аутентификацию пользователей) требований к проекту мне не очень понятен. Пользователи телеграм имеют уже встроенную аутентификацию, и никто не захочет работать (наверное) с ботом который требует ввода username и пароля. Но раз требуется - пожалуйста! На фронте telegram_id будет кодироваться а на бэке - декодироваться. Ключ шифрования я помещу в файл .env, а в config...
5 дней назад
Ремонт МФУ Samsung SCX-3400
Сапожник без сапог, это правило офигенско про меня. Два года назад купил новую запчасть для принтера - блок резировых роликов с шестеренками. Поставил только сегодня. Диагноз был таков - не захватывает бумагу, приходилось в ручную подавать. Чтобы добраться до этого узла - нужно чуть не полностью раскидать устройство на запчасти. Хотя, возможно, можно бы проще извлечь эту планку: Самое удивительное, данный принтер почти не видел перезаправляемых картриджей, новые стоят таких смешных денег что, пожалуй, будет дикостью идти и заправлять картридж...
6 дней назад
Трекер привычек. Fastapi + pyTelegramBotAPI. Добавление пользователя в БД. Часть 3
Продолжаем разговор... В предыдущей статье, я разобрал как создать модели, сделать миграции, в базе данных была создана таблица users. Теперь самое время написать логику работы приложения чтобы происходило добавление пользователя (пусть будет по выполнению команды /register). Сделаем обработчик команды /register, которая будет отправлять запрос на бэкенд для добавления нового пользователя: Запрос прилетает сюда: Где в качестве аргументов получаем асинхронную сессию и данные из запроса, которые трансформируются в словарь (dict)...
1 неделю назад
Трекер привычек. Fastapi + pyTelegramBotAPI. Миграции. Alembic. Часть 2
Продолжаем разговор. Первую часть своего повествования я переписал, сделал рефакторинг и теперь код выглядит так: Это всё что относится к фронтенду, бэк остался без изменений. Как мне кажется, самым правильным будет регистрацию произвести при запуске бота, то есть при выполнении команды /start. Будет запрошен пользователь по его user_id, который уникален для каждого пользователя telegram. При нажатии пользователем кнопки "старт" происходит запрос к базе данных есть или нет там пользователь с таким id...
1 неделю назад
Трекер привычек. Fastapi + pyTelegramBotAPI. Часть 1
Этот цикл статей - лайвкодинг, чем закончится, я пока не знаю. Для того и пишу статью, чтобы записывать те шаги, что выполняю при проектировании приложения. Чтобы в процессе написания статьи, самому стало понятно, что делать дальше. Давно я взялся за эту задачу, написать чат-бот "Трекер привычек", но были другие задачи и эта отошла далеко на задний план. В пятницу 07.03.25 защитил свой дипломный проект: Волновался прямо таки как школьник на экзамене. Хотя, по большому счету, эта защита совершенно ничего не даёт кроме опыта...
1 неделю назад
Простейший веб-чат на Fastapi + Websocket
Однажды, мне попалось видео по организации вебчата на Fastapi и Websocket, ну я как прилежный ученик решил всё это повторить, слово в слово в коде. И у меня конечно же ничего не заработало. Я понял что у меня не хватает знаний по JavaScript (я вообще ничего в этом языке не знал), пришлось подтянуть базовые знания в этой штуке и только после этого вернуться к вебчату... Когда я прошел некую базу по JS, я понял что надо бы полностью переписать тот код что я увидел в видео. Основываясь на документации Fastapi по вебсокетам, можно запустить самый примитив...
1 неделю назад
Как расшарить свой компьютер (файлы) в интернет
Речь пойдет о локальном веб-сервере, который расшаривает (домашнюю, потому что я в ней находился, когда запускал веб сервер, директорию юзера linux) при помощи туннельного соединения мы можем дать доступ к своим файлам любому желающему (про ограничения, я пока не задумывался). Но можно запустить веб-сервер и из той директории, которую мы хотим расшарить. Например, есть у меня директория ~/temp: И вот, всё заработало, уже в новой директории: Но всё это чудо доступно только в локалхост, а как же раздать это чудо миру?! Есть разные туннельные сервисы...
3 недели назад
Телеграмм-бот на AIOGram. От простого, к сложному. Часть 5
На прошлой статье я попытался объяснить как работают миддлвары на aiogram. Возможно это получилось доходчиво, а возможно и нет. Я пытался это объяснить в первую очередь себе... Сегодня я попытаюсь "подружить" телеграм-бот с системой управления базами данных (СУБД) Postgresql. А так же настроить систему миграций alembic. Для этого, я добавлю в файл .env, в котором хранится BOT_TOKEN, настройки подключения к базе данных PG: Которые будут считаны в /src/config_data/config.py: Затем, как оказалось, у меня на компе не установлен postgresql...
3 недели назад
Полезные консольные утилиты для Linux
Многие помнят, как, побыстрому, можно посмотреть содержимое файла, командой: cat <file_name>, ну и команда выведет что-то типа скучного: Всё такое одноцветное, не очень читабельное. которая раскрасит наше черно-белое унылое существование. На Manjaro-Linux я устанавливал ее с помощью: yay -S bat Как теперь смотрится тот же файл, что был открыт выше с cat: Другое дело. Когда надоедает вводить ручками всякие cd туда, cd сюда, затем выводить списки файлов в директориях и тд и тп, то для этого есть старый добрый Midnight Commander или сокращенно mc: Но он какой-то тормознутый...
113 читали · 3 недели назад
Телеграмм-бот на AIOGram. От простого, к сложному. Часть 4
Не буду постить много ссылок на предыдущие статьи этого цикла, всего лишь одна - предыдущая: Сегодня поговорим о MiddleWare в телеграмм-боте. Как оказалось, мидлвары бывают разные (черные, белые, красные, навеяло из древноге творчества...) - внешние (outer) на входе и внутренние (inner) на выходе, а между ними то, на что сработал хэндлер, колбэк или запрос. Есть такая задача при написании хорошего кода: DRY (Don't Repeat Yourself) или "НЕ ПОВТОРЯЙСЯ". Если ты написал какой-то код и такой же код...
1 месяц назад
Задача: Имеется большой текст, нам нужно посчитать сколько раз каждое слово встречается в тексте. Самый простой способ это сделать - from collections import defaultdict Затем вывести на экран в качестве python-словаря.
1 месяц назад