Видео ролики бесплатно онлайн

Смотреть телеграм видео

Официальный сайт rnns 24/7/365

Смотреть видео бесплатно

Похожие на wizВеб-сервер своими руками. Часть 4 — раздача файлов
wiz 01.02.2011 17:40

PythonВеб-сервер своими руками. Часть 2 — наводим порядок.

Один модуль, в котором лежит всё подряд это нормально для мини-серверков, которые просто делают одну функцию и не собираются становиться более универсальными. Используя код из первой части любой теперь может выполнять простейшие операции через свой «веб интерфейс», но даже это скоро станет очень тяжело поддерживать.

Поэтому сейчас мы поделим сервер на части и упакуем всё в коробку с бантиком, чтобы модуль можно было использовать в своих целях, не изменяя код самого сервера.
Полностью.
+ 16 -
6
wiz 01.02.2011 11:05

PythonВеб-сервер своими руками

Многие уже писали себе «сайты» или планируют ими заняться, но при этом плохо представляют себе что же это такое - сайт. Серия постов посвящена построению с нуля учебного (а не супер-быстрого или супер-фичастого) сервера, на примере которого, постараемся разобрать разные практические вопросы из жизни разработчика. Первая, вступительная, часть публичная т.к. возможно многим будет интересно «как это всё устроено». Код на питоне, но это практически псевдокод на английском, поэтому ни у кого тут сложностей возникнуть не должно. Остальные части скорее всего будут показываться только для участников питоноблога.

Сайт это такой многослойный торт, напичканый самыми разными видами крема кода. Давайте посмотрим, что происходит, когда пользователь набирает в браузере http://example.com/ и зачем.
Полностью.
+ 23 -
8
wiz 02.02.2011 16:59

PythonВеб-сервер своими руками. Часть 3 — фиксим фичи, добавляем баги

В предыдущей части мы сделали инстурменты для тестирования серверного кода без участия сокетов. Но это получился самый тривиальный из видов тестов ­— Smoke Test. Сервер запрос обработал, но что именно произошло остаётся загадкой.

Как мы помним из кода, липовое соединение содержит в себе буфер отправленного, в котором оказывается ответ сервера. Можно было бы его сравнить с эталонной строкой, но каждый раз её составлять неудобно и муторно. Поэтому неплохо было бы его распарсить.

Но один раз у нас уже кто-то что-то парсит, а именно — сервер, при получении запроса от клиента. Внимательно посмотрев на траффик можно обнаружить, что протокол практически симметричен. И клиент и сервер обмениваются «сообщениями», состоящими из одних и тех же элементов: строка запроса или ответа (формат одинаковый, немного отличается содержимое), заголовки (формат одинаковый) и тело (необязательное для клиента при GET и для сервера при всяких хитрых статусах).

В то же время, наш тестовый клиент уже содержит генератор запросов, преобразующий аргументы функции согласно протоколу.
Полностью.
+ 12 -
3
wiz 16.12.2010 00:45

Python«Практическая» задачка для начинающих

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

Поэтому вот такая задачка для питона: напишите реализацию сортировки quicksort.

Я не буду тут рассказывать этот алгоритм, найдите его сами. Это и будет первым уроком. Гугл ваш другл отныне и до конца статьи.
Замечу только, что не надо использовать list comprehensions, это очень неэффективно.

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

Полностью.
+ 8 -
7
le087 10.01.2011 22:54

СкриптыМой почти первый и совсем кривой велосипед на Python

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

Ну и так, раз уж недавно взялся за изучение Python (ибо так нам проповедывал Эрик Реймонд; по ссылке он вам расскажет, откуда в сыре дырки =), и почему именно стоит брать например python, как первый язык программирования), то и решил написать маленький скрипт на этом замечательном языке.

Всем, кто не рубит в программировании, но интересно посмотреть, как это примерно выглядит и как не надо писать скрипты, так же приглашаю под кат.
Полностью.
+ 7 -
27
wiz 01.03.2011 00:16

PythonСистема автоматической сборки

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

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

Сначала я запускал тесты руками: save, switch, $ nosetests. Потом к тестам добавились проверялки качества кода и пришлось всё засунуть в скрипт:
1
2
3
4
pyflakes *.py
pep8 *.py
pylint *.py
nosetests


Скрипт запускать каждый раз ужасно лениво, поэтому небольшая оболочка на inotifywait стала запускать тесты и проверки после каждого сохранения:
1
2
3
4
while true; do
    inotifywait -e modify project/*.py -qq; clear
    ./do_tests
done


Тут я стал более-менее доволен происходящим и даже на некоторое время расслабился. Но ведь программист кроме того, что ленив ещё и горд, поэтому результаты хочется кому-нибудь показать. Чтобы вести историю происходящего (которая очень помогает когда заходит начальник начальника и спрашивает: «ну-с, чем вы занимались последний месяц?») уже есть система контроля версий. Но она показывает только, что сделано и не даёт обзора успешности каждой ревизии. Получается что код лежит, но непонятно в каком он состоянии и что где ещё надо сделать.

Кроме того довольно тяжело следить за коллегами, которые тоже могут что-то сделать и забыть прогнать тесты, в результате в репозитории лежит битый код, не прошедший code review и при очередном pull может внезапно начаться clusterfuck.

И тут очень вовремя kmmbvnr@lj выпустил скринкаст, в котором он демонстрировал интеграцию тестирования для django-проектов с сабжем Jenkins (бывш. Hudson). Посмотрел я на все эти красоты, графики и отчёты и тоже захотел чтобы всё само пело и играло. Но у него django-jenkins, как и следует из названия, встраивается в джангу и генерит отчёты используя хитрую систему. Мой проект до джанги не дорос и скорее всего не дорастёт — это достаточно тривиальное WSGI-приложение, которое правда стремительно разрастается. Пришлось поднимать всё с нуля.

Воскресенье я на это убил, но в целом всё довольно прямолинейно и теперь у меня есть симпатичные отчёты:



Что внутри?
Полностью.
+ 11 -
0
wiz 18.01.2011 22:13

Я рекомендуюМонтирование через сеть для win/mac/lin и браузера

http://code.google.com/p/wsgidav/

Наконец-то сделали наормальный WebDAV сервер и библиотеку расширения к нему. Можно смело шарить в ro и rw, с авторизацией и без файловые системы и каталоги чего угодно. Получается такая как бы FUSE, но через сеть.
Полностью.
+ 13 -
8
08.12.2010 21:40

RANUX — Модульное тестирования в Python на примере копирования файлов

На днях встала задача написать скрипт копирующий новые файлы из одной директории в другую и пропускать ранее скопированные. Если возникают какие-либо ошибки, то все они записываются в лог.
Хочу обратить ваше внимание, что все тестовые методы изолированны друг от друга, так что если сломается один метод, то другие продолжат выполняться. А так же методы setUp и tearDown подготавливают среду для выполнения тестов.
Полностью.
+ 3 -
10
RANUX 12.12.2010 12:14

Python — Урок 1.1 TDD для начинающих на Python

Представляю вашему вниманию первую часть первого урока посвящённую разработке через тестирование. Надеюсь будет полезно:) Старался написать максимально простым языком:) Комментарии приветствуются.

Добро пожаловать на серию уроков по Test Driven Development. Для тех кто ещё не знает что такое TDD: Разрабо?тка че?рез тести?рование (англ. test-driven development) — техника программирования, при которой модульные тесты для программы или её фрагмента пишутся до самой программы и, по существу, управляют её разработкой. Основная идея - реализовать правильно работающий функционал, обеспечить возможность повторного использования и простого изменения структуры исходного кода, при этом не изменяя его поведения (рефакторинг)
Полностью.
+ 17 -
27
lol2Fast4U 05.06.2009 00:15

PythonОграничиваем себя в расходе трафика

Поскольку у меня лимитный интернет (предоплачено 500 мб в месяц, а платить больше абонентской платы не хочется), я решил написать небольшую программу (не хочется скриптом называть, но по сути это скрипт. даже интерфейса нету) - демон, который висит в фоне и снимает показания счетчика. Не воды, а трафика. Когда достигнут лимит - предупреждает и отключает. Писал для себя, но решил кинуть на Pastebin и дать линк в твиттер. Тут же @hublog поправил меня - надо писать while 1, а не придумывать переменную и писать while a == a.

Что полуичлось - под катом.

UPD: Версия 2.0, теперь все делается прямо, а не через ж0пу %) Старая версия здесь.

Полностью.
+ 13 -
40
1 2 3 4 5 6 7 8 12 13

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн