Рубрика «python» - 332

В настоящие время, кроме знаменитой книги Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования, существует много различных источников, как по самим паттернам проектирования, так и по примерам их применения, да еще на разных языках программирования. С учетом этого и того, что во многих случаях, очень сложно различить один паттерн проектирования от другого, поскольку не всегда имеется его четкое, формальное определение, сводит в результате все положительные моменты от применения паттернов проектирования к нулю. Особенно это заметно на часто прилагаемой к примерам диаграммах на UML, поскольку они получаются малоинформативными и как бы ни о чем.

Критерии «идеального» решения

  • Выбрать пример, на котором можно продемонстрировать большинство паттернов проектирования.
  • Постановка задачи для примера должна быть простой, а предметная область примера всем знакомой.
  • Не давать определение паттерна, раз его сложно формализовать, а показать его отличие от другого на разных решениях (паттерны ведь разные) для одной предметной области.

Читать полностью »

По результатам исследованиям работы программистов около 20% времени тратиться на непосредственное написание кода и около 80% времени — на просмотр старого, его анализ. Исходя из данной предпосылки текстовый редактор в первую очередь должен предоставить удобные средства навигации по коду. Большая часть описанных фич как раз имеет дело с навигацией и анализом.

В данной статье я постараюсь продемонстрировать максимум удобных в ежедневном применении возможностей редактора Emacs для языка Python, и более конкретно для редактирования Django проектов.

Как говорится в пословице: «обещанного три года ждут». Хотя три года и не прошло, но уже изрядно много с моей предыдущей статьи «Emacs для начинающих: введение». Я не буду «растекаться мыслью по древу» а постараюсь максимально кратко показать как работают различные фичи Emacs в применении к Python.

Формат статьи:

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

Для тех же, кому интересно применить рецепты целиком — мой конфиг доступен (Mercurial) тут, а здесь: рецепт по его примененнию.
Читать полностью »

«Что позволило остаться GIF, это — циклическое проигрывание анимации, которое добавил Netscape. Если бы Netscape не добавил поддержку GIF в свой браузер, GIF умер бы в 1998»

— Александр Тревор (Alexander Trevor),
руководитель команды по созданию GIF в CompuServe

Формат GIF в июне этого года отпраздновал свое 25-летие, и является сегодня самым старым графическим форматом, который распространен в интернете. Посвящая выходные просмотру смешных анимированных гифок понимаешь, что некоторые из них были бы в разы лучше со звуком. Все текущие решения для циклической анимации со звуком (например: coub.com, gifsound.com) предлагают отказаться от GIF, но это — не выход. И я решил пожертвовать просмотром гифок на выходных для решения этой крайне важной проблемы.

Первая в интернете гифка со звуком по ссылке. Надо нажать на синюю кнопку, а потом на гифке. Плеер должен работать во всех современных браузерах (тестировался в последнем Firefox и Chrome).

Гифок под катом не будет, а будет процесс создания расширения для стандарта, написания конвертера и плеера.
Читать полностью »

Начнём

Имеется SQL база данных. Задача описывается тремя фразами:

  • выгрузка данных
  • валидация данных
  • генерация отчёта

Задача детальнее

Читать полностью »

В процессе работы над текущими проектами возникла ситуация когда «вдруг» перестал парситься сайт трекингов Почты России. В интернетах даже немного побурлили по поводу «ужасной» новой защиты и т.п. В тех же интернетах всплыла тогда информация, что у Почты России имеется-таки API. Не совсем человеческий (т.е. по протоколу SOAP) но какой-никакой существует и кто-то им даже, якобы, пользуется. Я сообщил шефу, шеф написал письмо на Почту России (электронное, на удивление) и оказалось — да. Всё это действительно есть и вроде бы даже работает. Видимо создали сервис ещё тогда.

Под катом будет линк на рабочий класс клиента (на python) к API Почты России и немного подробностей работы с ним.
Читать полностью »

Иногда очень хочется быстро найти нужный файл. С учетом того, что файлов — сотни тысяч, а ты не знаешь ни его названия, ни содержания, ни типа — ничего. Зато приблизительно знаешь категории. И хочется его быстро вычислить и сразу же отредактировать и записать.
На сегодня удобных кросс-платформенных open-source файлопомоек с прямым доступом к файлам — НЕТ.
Далее речь пойдет не о медиабиблиотеке и не о semaweb — а о простой и удобной системе управления громадной файлопомойкой с прямым доступом к файлам.
Читать полностью »

В данной статье будут освещены следующие возможности python'a:

  • парсинг web-страницы с помощью простого регулярного выражения;
  • скачивание файла с web-страницы;
  • отправка скаченного файла через smtp-сервер;
  • написание небольшого обобщающего скрипта.

Все это будет сопровождено работающими примерами.
Читать полностью »

Продолжение топика Альтернативное описание паттернов проектирования

Facade — позволяет скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Читать полностью »

Продолжение топика Альтернативное описание паттернов проектирования

Interpreter — решает часто встречающуюся, но подверженную изменениям, задачу.
Читать полностью »

Продолжение топика Альтернативное описание паттернов проектирования

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js