среда, 11 декабря 2013 г.

Python нахождение наиболее часто встречающейся буквы в тексте

Задача: нахождение наиболее часто встречающейся буквы в тексте (использование например в криптографии при дешифровке). Требуется:

  • ищем только буквы
  • нет зависимости от регистра ('a' и 'A' считаются одинаковой буквой)
  • ищем букву которая встречается максимальное количество раз
  • если таких букв несколько, то результат выдаем первую встречающуюся по алфавиту

Python set методы с наглядными рисунками

Не хватает графики для ясного понимания действий методов set. Хотелось бы как в SQL рисунки пересечений окружностей при работе с join. И вот попал на такой сайт . Выкладываю оттуда картинки.
Union |
>>> s1 = set([1, 2, 3])
>>> s2 = set([3, 4, 5])
>>> print s1.union(s2)
set([1, 2, 3, 4, 5])

Python проверка на сложность пароля

Например, установлены такие требования к паролю:


  • не меньше 8 символов
  • должна присутствовать хотя бы одна цифра [0-9]
  • должна присутствовать хотя бы одна заглавная буква [A-Z]
  • должна присутствовать хотя бы одна строчная буква [a-z]


вторник, 10 декабря 2013 г.

Ошибка "Служба временно недоступна, попробуйте позже" при входе в Семейную безопасность

В составе пакета Windows Live есть Семейная безопасность. Ее можно использовать для ограничения доступа к сайтам, как полное ограничение с входом только на сайты входящие в белый список, так и более лояльное ограничение:

воскресенье, 8 декабря 2013 г.

Использование lambda вместе со списком в Python

Очень наглядный пример использования lambda с методами списков в Python

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> 
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> 
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> 
>>> print reduce(lambda x, y: x + y, foo)
139


>>> digit = [1, 2, 3]
>>> 
>>> print [(lambda x: x * x)(x) for x in digit)]
[1, 4, 9]
или лучше
>>> print [x * x for x in digit]

Еще интересный пример (вырезать в строке лишние дефисы)

пятница, 6 декабря 2013 г.

XP 0x80246008 ошибка Windows Update

Такая ошибка возникает если проблемы с сервисом "Фоновая интеллектуальная служба передачи (BITS)". Используется BITS Windows для скачивания в фоновом режиме в том числе обновлений. Должна присутствовать в списке сервисов, и включена Auto.  У меня появилась эта ошибка 0x80246008 после Microsoft FixIt - одно лечили другое покалечили. Вместо этой службы у меня появилась служба с таким именем "@%SystemRoot%\System32\qmgr.dll -1000"
В журнале запись ошибки "BITS error 1290: 0x50a"

Решение: экспортировал с рабочей тачки ветку  HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services\BITS  
старую удалил новую импортировал, ребутнулся и OK

Содержимое ветки выкладываю здесь:

Настройка WiFi роутера

  1. Forward - UPnP   Некоторые роутеры или клиенты могут не совсем корректно поддерживать UPnP, либо вручную сделан проброс портов и, следовательно, функционал UPnP не нужен. Можно отключить.
  2. WPS    Подключаться будем с паролем установленным вручную, поэтому можно отключить.
  3. Wireless security - WPA2 (Установить пароль)
  4. Также не забудем задать имя WiFi сети. Для более стабильной связи подбираем канал, в настройке сети канал желательно поменять с Auto на более поздний (например 9)