ChYuriy

На Пикабу
Дата рождения: 14 апреля
381 рейтинг 14 подписчиков 8 подписок 11 постов 6 в горячем
Награды:
5 лет на Пикабу
5

Сокращаем ссылки без регистрации и СМС. Только для ленивых

Привет, Pikabu! Долгое время мой сервис сокращения ссылок LazyUrl(*прим. автора - Ленивый) не был интересен именно как сервис так, как перенаправлял пользователя на промежуточную страницу с предупреждением о возможных проблемах с переходом на неизвестный ресурс. Таким способом я отпугнул всех арбитражников с порнухой, а за одно и обычных пользователей. Но меня это не сильно волновало, проект мне интересен с точки зрения программирования, а не большого числа посетителей.

Но всё же хочется чтобы сервис жил. Поэтому в последнем обновлении я добавил спам систему, которая позволяет сокращать 5 ссылок за 24 часа без ограничений. Сокращённые ссылки сверх лимита будут направлять пользователя на страницу с предупреждением, а затем на целевой сайт. Такая схема должна принести неудобства для массового сокращения ссылок, в то время как обычный пользователь сможет нормально работать с сервисом.

Ну и наконец пару слов о сервисе. Сам сервис живёт здесь lzy.su Его главная особенность заключается в способе сокращения ссылок. Для того чтобы сократить ссылку страницы сайта google.com, достаточно в адресной строке набрать вот такую команду: lzy.su/https://google.com то-есть дописать перед адресом целевой страницы адрес сервиса lzy.su/ Также можно удалить ссылку и получить статистику кликов. Регистрация не требуется. Для подтверждения владения правами на дополнительные действия система выдаёт пароль. Команда для получения статистики будет выглядеть так: lzy.su/gJY/i/83628, а для удаления так: lzy.su/gJY/d/83628. i - значит information, d - значит delete. Каждый раз при сокращении ссылок сервис будет выдавать готовые комбинации команд, запутаться будет сложно. А для тех, кто понял как это работает достаточно запомнить выданный пароль.

Вот и всё. На всякий случай добавлю, что код сервиса открыт. Найти его можно здесь: https://github.com/YuriyCherniy/lzy.su написан на Django, заглядывайте.

Показать полностью
30

Добавил фичу убивающую мой сервис сокращения ссылок. Пусть будет просто Open Source

Привет, Pikabu! Захотелось мне как-то написать, что-то такое, что может потрогать в интернете ещё кто-то кроме меня. Так родился небольшой сервис сокращения ссылок на Django. Написал код, приложение работает, поделился на Пикабу, получил отзывы и даже код ревью (спасибо @TopestKek)! Добыл впечатлений и опыта больше, чем рассчитывал.

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

Что сделал: Первым делом добавил readme на русском языке. Упростил запуск на локальной машине, теперь приложение по умолчанию стартует с базой данных SQLite, что избавляет от нескольких дополнительных шагов по установке и конфигурации PostgreSQL. Фича из заголовка - добавил промежуточную страницу перед редиректом пользователя с предупреждением о рисках, выглядит вот так https://lzy.su/Q0Y Это отпугнёт массу обычных пользователей и всех арбитражников с порнухой. Ну и как я надеюсь с юридической стороны обезопасит сервис если кто-то нехороший начнёт толкать какую-нибудь запрещённую хрень.

Была мысль добавить API с использованием DRF, но решил не переусложнять. В общем, приложение запускается локально очень просто. Readme на русском для многих понятнее. Почти всех злодеев отпугнул, наверное стоит ещё перевести на русский язык интерфейс, но пока лень.

Страница сервиса на github здесь. Всем добра!

Показать полностью
22

Разворачиваем Django приложение в Docker контейнере. UPDATE

Привет, Pikabu! Год назад я публиковал пост с базовыми шагами по разворачиванию Django приложения в Docker контейнере для Ubuntu Server 20.04 LTS. Время идёт, с того времени многие провайдеры добавили возможность устанавливать Ubuntu Server 22.04 LTS. В новой версии ОС есть небольшие отличия, которые не позволяют успешно установить и запустить приложение. Актуализировал инструкцию, а также немного откорректировал некоторые шаги. Где-то убрал лишнее, где-то добавил объяснений. А ещё заметил, что в репозиторий есть постоянный трафик с яндекса, гугла и самого гитхаба. Кому-то пригодилось там, поделюсь обновками и здесь.

Репозиторий: https://github.com/YuriyCherniy/how-to-dockerize-django-app

Напомню, повторив шаги описанные в репозитории пользователь получит Django приложение в Docker контейнере работающее с базой данных Postgresql, настроит Nginx и получит SSL сертификат с настроенным автообновлением.

24

LazyUrl - сокращатель ссылок для ленивых. Проект на Django

Привет, Pikabu! Закончил свой очередной маленький проект на Django в рамках выполнения задачи становления Python backend разработчиком. Это банальный сокращатель ссылок с несколькими особенностями.

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

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

Сервис работает по адресу lzy.su Надеюсь ничего не сломается после визитов реальных пользователей =)

Код проекта открыт: github.com/YuriyCherniy/lzy.su

Буду рад любым комментариям и предложениям, кроме замечаний с запятыми ) Спасибо за внимание!

Показать полностью
18

Django reusable app. Написал примитивно, но удобно

Привет, Пикабу. Решил попробовать написать Django reusable app, вернее не написать, а отделить от блога, о котором рассказывал ранее, часть функционала. Суть приложения заключается в удобной работе с изображениями в WYSIWYG редакторах через джанговскую админку. Приложение максимально примитивное. Загружаем картинку, получаем ссылку для вставки в редакторе. Удалённые картинки в WYSIWYG редакторе также контролируем в админке.

Django reusable app. Написал примитивно, но удобно

В коде особо интересного ничего нет. Разве, что будет любопытно новичкам посмотреть как работают переиспользуемые приложения. А вот сама идея мне кажется интересной. Пришёл к такому решению после безрезультатных поисков удобного и простого способа контролировать удаление связанных картинок после их удаления в WYSIWYG редакторе. Хотелось обойтись без всяких файловых менеджеров так как этой системой, кроме меня, должен был пользоваться человек не сильно близкий к компьютерам. Код лежит здесь django-wysiwyg-image. Никогда ничего в жизни не писал на английском языке кроме писем китайцам на алиэкспресс, если у кого есть пара минут свободного времени прбежитесь глазами по тексту, ткните носом, что исправить. Буду очень благодарен.

Показать полностью 1
39

Почему бы не написать свой блог на Django

Почему бы не написать свой блог на Django

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

Надуманно, сделано. Вот моя небольшая поделка: github.com/YuriyCherniy/just-blog

Код открыт. В Readme подробно расписал, как запустить на локальном хосте. С удовольствием отвечу на вопросы если кого-то заинтересует проект.

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

Сильно часто я там не пишу, но кое, что уже есть. Почитать и посмотреть как это выглядит можно здесь: there-is-a-bug.ru Так же на основе моей поделки работает ещё один проект, найти ссылку можно в readme.

Ну и пользуясь случаем апну парочку своих старых постов:

Разворачиваем Django приложение в Docker контейнере

Как я в open source контрибьютил и почему пока оставил эту затею

Моя хранилка ссылок на Django с парочкой особенностей

Показать полностью
103

Разворачиваем Django приложение в Docker контейнере

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

Вот ссылка на репозиторий: https://github.com/YuriyCherniy/how-to-dockerize-django-app в котором лежит тестовое приложение на Django с инструкцией. Пройдя все шаги, пользователь получит приложение, завёрнутое в Docker контейнер, подключённое к базе данных Postgres, настроенный Nginx в качестве обратного прокси и раздающий статические файлы, а также SSL сертификат для домена.

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

37

Моя хранилка ссылок на Django с парочкой особенностей

Привет, Pikabu! Продолжаю учить Python и Django. После своего перового игрушечного проекта захотелось сделать, что-то настоящее, что будет работать в интернете. Но, что? Навыки еще слабые, нужно придумать, что-то не сложное и в то же время хоть немного интересное для себя и возможно ещё кого-то. Немного поразмыслив над идеями, остановился на сервисе хранения закладок. Логика работы сервиса обещала быть не сложной, на этом и остановился. Первый результат работы можно заценить здесь: linky.su Регистрация не требуется, достаточно авторизации через Google, Yandex или VK. Электронные почты не собираю.

Немного об идеях которые пытался реализовать в проекте. Хотелось сделать UI очень простым, так, чтобы все было понятно без дополнительной возни. Сервис задумывался так, чтобы пользователь старался поддерживать порядок и не создавал простыни закладок, которые никогда не откроет. В связи с этим есть некоторые ограничения, что не всем может понравиться. Но я в личном использовании нахожу это удобным. Ну и фишка проекта - быстрые закладки. Идея заключается в возможности добавить закладку находясь вне сервиса. Например, вы находитесь на сайте https://google.com для того, чтобы добавить страницу в закладки необходимо перед url дописать linky.su/ должно получится так: linky.su/https://google.com На первый взгляд кажется заморочено, но после привыкания реально оказывается удобным. Идея не нова, но в подобных сервисах мало используется.

Проект хоть и не сложный, но помог мне углубить знания Django, так как Generic Class Based View перестали решать мои задачи. Познакомился с рядом полезных библиотек, немного попарсил сайты с помощью beautifulsoup, научился работать с авторизацией через сторонние сервисы, разобрался с хранением чувствительных данных в переменных окружения. Познакомился с sentry и попутно поработал с логированием. Углубился в тестирование, научился работать с mock объектами. Стало страшно все сломать даже небольшим изменением кода. С тестами реально спокойней жить. Из смежных технологий научился работать с Postgres и Nginx, завернул приложение в Docker, управляю контейнером через docker-compose.

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

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества