Большие логи rinetd

В Linux системе есть несколько способов перенаправить трафик на другой компьютер или сервер. Можно использовать iptables, можно использовать rinetd.

rinetd проще тем, что для перенаправления трафика достаточно установить пакет, добавить простую строку в файл конфигурации и перезапустить сервис.

Наткнулся на то, что в какой-то момент rinetd начал генерировать гигантские log-файлы, которые быстро переполняли терабайтный раздел.

Выглядели записи в лог-файле примерно так:

21/Apr/2013:23:30:46 0.0.0.0 � �� 0 (null) 0 0 0 accept-failed -

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

Как извлечь файлы из ISO в Linux

В линукс с извлечением файлов из ISO архива все просто. Нужно смонтировать сам ISO-файл и скопировать из него данные. Читать далее Как извлечь файлы из ISO в Linux

Python Yield

Yield — ключевое слово, которое используется для выхода из функции-генератора значений списка. Подобные функции-генераторы используются, когда вам нужно создавать какую-то более сложную последовательность, чем возвращаемая range(10). Читать далее Python Yield

script type = “text/template”

На некоторых сайтах в коде можно встретить конструкцию вида

<script type = "text/template">
...
</script>

В отличие от блока, содержащего javascript (type = «text/javascript»), блок script type = «text/template» не будет обработан браузером. 

В этом блоке хранятся шаблоны, которые в дальнейшем используются библиотеками типа MustacheHamlEcounderscore.js для генерации HTML кода на стороне клиента.

rsync +нестандартный порт ssh

Для копирования файла или каталога с помощью rsync на удаленный компьютер, на котором SSH использует нестандартный порт, можно использовать команду

rsync -avz  --rsh='ssh -p8023' source_dir user@host:destination_dir/

Как просмотреть все URL в Django

Чтобы просмотреть все определенные в Django-проекте шаблоні URL, можно использовать следующий небольшой код:

import urls

def show_urls(urllist, depth=0):
    for entry in urllist:
        print "  " * depth, entry.regex.pattern
        if hasattr(entry, 'url_patterns'):
            show_urls(entry.url_patterns, depth + 1)

show_urls(urls.urlpatterns)

Читать далее Как просмотреть все URL в Django

Язык программирования Python — подробно для начинающих

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

Для изучения языка Python я также рекомендую книгу «Язык программирования Python», авторы: Г. Россум, Ф.Л.Дж. Дрейк, Д.С. Откидач. Написано очень последовательно и доступным языком.
Читать далее Язык программирования Python — подробно для начинающих

i18n и l10n

Плохо запоминается то, что непонятно.

Что такое i18n? Это сокращение от английского Internationalization  — интернационализация, или поддержка программным продуктом различных языков.

l10n — сокращение от Localization — локализация, или адаптация программы для определенного региона.

Числа 18 и 10 — число символов между первым и последним в длинных терминах. Все просто :)

Как Django обрабатывает URL

https://docs.djangoproject.com/en/1.5/topics/http/urls/

Ограничение Django в том, что как только она находит соответствующий шаблон, обработчик URL прекращает работу и передает управление указанной в качестве view функции для отрисовки шаблона или обработки данных.