С тегом «python»
http://code.google.com/p/wsgidav/
Наконец-то сделали наормальный WebDAV сервер и библиотеку расширения к нему. Можно смело шарить в ro и rw, с авторизацией и без файловые системы и каталоги чего угодно. Получается такая как бы FUSE, но через сеть.
Дружественная мне, компания ищет себе сотрудника.
Все начилось с того, что я очень люблю слушать один подкаст! Выходит он регулярно, каждую неделю, и мне просто надоело каждый раз ползти на сайт, качать файл, потом копировать его на мой плеер.
Ну и так, раз уж недавно взялся за изучение Python (ибо так нам проповедывал Эрик Реймонд; по ссылке он вам расскажет, откуда в сыре дырки =), и почему именно стоит брать например python, как первый язык программирования), то и решил написать маленький скрипт на этом замечательном языке.
Всем, кто не рубит в программировании, но интересно посмотреть, как это примерно выглядит и как не надо писать скрипты, так же приглашаю под кат.
В Ruby сообществе давно модно использовать альтернативный синтаксис для основных языков веб-разработки: HTML, CSS и JavaScript.
- Для HTML документов используется синтаксис HAML.
- Для CSS используются LESS, SASS или CleverCSS. Из них SASS самый продвинутый, к и так огромной куче возможностей можно добавить фреймворк Compass, который содержит много полезных функций, миксинов и имеет поддержку популярного CSS фреймворка BluePrint.
- Вместо JavaScript люди пишут скрипты на CoffeeScript - альтернативном синтаксисе яваскрипта. CoffeeScript похож по синтаксису на Python и имеет много заимствований "синтаксического сахара" из Ruby и Python.
К сожалению, о том, как организовать поддержку этих технологий в Django-проектах практически не пишут. Я попытался реализовать поддержку сразу трех технологий в одном проекте и столкнулся с ошибками. После нескольких часов копаний в коде я исправил ошибку в webassets (основная библиотека для поддержки этих технологий) и добавил некоторые функции в hamlish (к сожалению после этого он стал зависим от Django, поэтому я не стал его форкать, а сохранил прям в проекте).
Итак, встречайте - django-hsc-skel!
Основа для Django-проектов с поддержкой HAML, SASS (+Compass) и Coffee-Script]
Периодически в каналах и сайтах новички просят дать им простую задачку, но чтобы она была полезной. Что меня последнее время коробит в «изучении языков» в институтах и всяких учебниках, это то, что там учат буквально синтаксису языка и очень часто упускают «инженерный» аспект программирования в целом.
Поэтому вот такая задачка для питона: напишите реализацию сортировки quicksort.
Я не буду тут рассказывать этот алгоритм, найдите его сами. Это и будет первым уроком. Гугл ваш другл отныне и до конца статьи.
Замечу только, что не надо использовать list comprehensions, это очень неэффективно.
Но это ещё не все. Самое интересное начинается потом. Ведь программирование, как оно преподаётся это прямо таки изобразительное искуство — пара мазков и на холсте появляется ваша Нетленка. Но архитектура тоже была дисциплиной ИЗО, до тех пор пока не рухнул мост, построеный в таком стиле.
За вот уже 5 лет работы с джангой (с самого открытия код, ага) я уже столько раз делал ./manage.py startproject что уже и не счесть. И каждый раз это сопровождалось кучей рутинных операций типа настройки бд, созданием одних и тех же приложений. Первое время сама джанга менялась очень быстро и как-то это зафиксировать было практически нереально. К тому же фактически небыло инфраструктуры приложений, репозиториев и прочей обвязки. Но сейчас ситуация намного лучше.
Поэтому, представляю недавно собраный скелет типового джанго-сайта. Две команды и получается готовый сайт-со-страницами, готовый к навешиванию мясца.
Это не просто куча кода, но и некоторые решения из практики. Эти фичи я отметил по тексту жирненьким.
Репа с кодом: https://code.launchpad.net/~wiz/+junk/dbones
Лог работы: http://dumpz.org/25701/
Что внутри?
После некоторых доработок решил отдать на откуп сообществу свой cron-подобный шедулер DBUS-событий. Писал я его для своей N900, так что deb-пакет расчитан именно на Maemo 5, но использовать саму программу можно в любом Linux-е с DBUS-ом. Писано на питоне.
Upd: на данный момент допилил до версии 1.3 (скачать пакет для Маемо) и запостил анонс на talk.maemo.org. За обновлениями и новостями следите в моём уютненьком. Всем спасибо за советы и поддержку!
Python — Урок 1.1 TDD для начинающих на Python
Представляю вашему вниманию первую часть первого урока посвящённую разработке через тестирование. Надеюсь будет полезно:) Старался написать максимально простым языком:) Комментарии приветствуются.
Добро пожаловать на серию уроков по Test Driven Development. Для тех кто ещё не знает что такое TDD: Разрабо́тка че́рез тести́рование (англ. test-driven development) — техника программирования, при которой модульные тесты для программы или её фрагмента пишутся до самой программы и, по существу, управляют её разработкой. Основная идея - реализовать правильно работающий функционал, обеспечить возможность повторного использования и простого изменения структуры исходного кода, при этом не изменяя его поведения (рефакторинг)
08.12.10 21:40
RANUX — Модульное тестирования в Python на примере копирования файлов
На днях встала задача написать скрипт копирующий новые файлы из одной директории в другую и пропускать ранее скопированные. Если возникают какие-либо ошибки, то все они записываются в лог.
Хочу обратить ваше внимание, что все тестовые методы изолированны друг от друга, так что если сломается один метод, то другие продолжат выполняться. А так же методы setUp и tearDown подготавливают среду для выполнения тестов.
05.12.10 12:24
Не так давно, пару месяцев назад, появилась у меня идея сдирать получать информацию о друзьях с сайта ВКонтакте. Немного разобравшись с api начал искать подходящую либу на питоне. Как оказалось, к сожалению всё что я нашёл, это либы которые реализовывали серверный доступ и я решил написать на коленке свою либу PyVKApi:) Буду рад комментариям) и так поехали.
|
|
|
Последние посты
|
|
Последние комментарии
|
|
Изменения
|
|
Черновики (все)
|
|
Избранное (всё)
|
|
|