Is your DNS round-robin setup really round?
Just test!
Take this simple script and test on your own, with python 2 or 3.
Options:
usage: dns_round_robin_test.py [-h] [-c COUNT] [-d DELAY] name positional arguments: name DNS name to test optional arguments: -h, --help show this help message and exit -c COUNT, --count COUNT set total count of resolves -d DELAY, --delay DELAY set delay between resolves in 1/100s of second
Sample run command:
$ ./dns_round_robin_test.py google.com -c 20
Sample output:
================ google.com ================ 20/20 188.43.66.170 [ ||||| 25.0%] 5 188.43.66.187 [ ||||| 25.0%] 5 188.43.66.174 [ |||||||||| 50.0%] 10
2 сервера на Python
Интересные открытия ждут новичков при исследовании функциональности Python интерпретатора и состава библиотек.
SMTP сервер для разработчика
Команда:
python -m smtpd -c DebuggingServer -n
Что делает:
Выводит всё, что приходит по стандартному smtp протоколу на стандартный вывод. Можете перенаправить в файл, можете смотреть так, в терминале. По умолчанию ожидает соединения на порт 8025 (стандартный 25 порт использовать без повышения привилегий нельзя). Для дополнительных опций и возможностей смотрите документацию.
Веб сервер для статики или передачи файлов
Бывает так, что надо посмотреть что-то по http протоколу, т.к. политики браузера не разрешают это через file://. А бывает, что надо что-то большое передать по сети коллеге, что выкладывать на друпбоксы долго, а расшаривать папки муторно (или запрещено файерволами).
Команда:
python -m SimpleHTTPServer
Что делает:
Даёт доступ по http ко всем файлам в текущем каталоге. index.html работает, список файлов при его отсутствии выдаёт. По умолчанию использует 8000 порт (стандартный 80 порт использовать без повышения привилегий нельзя). На стандартный вывод пишутся логи запросов, что также удобно. Для дополнительных опций и возможностей смотрите документацию.
Python
Сколько не сопротивляйся, прогресс настигает…
Давно ли я изучал perl? Как казалось, самый крутой и развитый язык для всего-на-свете (и самый мозгодробильный, ага). Хотя, должен признать, язык и среда выполнения очень стабильные, библиотеками покрыты все предметные области, простые проекты делать легко, сложные — интересно, а работает оно годами и без сбоев.
Давно ли я изучал php? Самый продвинутый и простой язык для web-разработок. Как классно создавать на нём что-то: раз, два и готово! Сколько вокруг приложений на нём — бери, изменяй под себя и используй.
Но, вот уже довольно продолжительное время рядом со мной ширилось использование другого, нового и любопытного языка — python-а. Со времён моего знакомства с RedHat 8 я видел интересный процесс перехода в системных задачах от perl-а к python-у. Сам язык практически стабилизировался, появилось невообразимое количество библиотек. Использование сервисами Google, развитие приложений для web и другие применения — всё это не оставило выбора.
Начал изучать python. Не могу больше сопротивляться 🙂
Зачем изучать? Для меня есть минимум 3 причины: саморазвитие, быстрая разработка кросс-платформенных приложений, причём, как серверных, так и с графическим интерфейсом, а также разработка для web. А вообще — что-то очень много всего на python вокруг стало в моей любимой Ubuntu, да и вообще.
В голове есть идеи, реализация которых начата в процессе обучения, вероятно напишу про результаты позже. Как показал опыт, самая эффективная форма обучения — использование изучаемого. Тем не менее читать документацию, статьи и книги очень полезно. Поэтому посылаю:
- http://python.org/
- http://www.python.ru/
- http://www.djangoproject.com/
- http://www.djbook.ru/
- http://softwaremaniacs.org/blog/category/django/
- http://habrahabr.ru/blogs/django/
- https://launchpad.net/quickly
Принимаю ссылки от освоивших. Особенно интересны обзоры хороших практик применения особенностей языка и вообще описание этих особенностей и отличий от.
PS: Python — это не про рептилию (хотя в логотипе намекают), а про Monthy Python-ов, так что «улыбаемся и кодим, улыбаемся и кодим»!