Python: Маленькая хитрость. if-else vs and-or.

На этот раз будет мини-заметка, уж слишком мне понравился трюк, о котором пойдёт речь дальше.

Наверное любому программисту приходится часто писать конструкции такого вида:

if a == b:
c = d
else:
c = e

Как-то разбирая исходники какого-то проекта (скорее всего, это была Django) наткнулся на весьма компактную замену. Вот для сравнения два аналогичных блока кода с использованием логических операций python’а и с использованием конструкции if-else:

# if-else:
if random.random() > 0.5:
a = 1
else:
a = 0

# and-or style:
a = random.random() > 0.5 and 1 or 0

На мой взгляд выглядит гораздо лучше и компактнее (да-да, if-else можно записать в 2 строчки вместо 4, но мне так не нравится). Другое дело, что некоторым это может показаться противоречиво с некоторыми пунктами дзена python’а (import this), но это спорно. В общем использую там, где считаю нужным.

Кстати, если кого-то интересует производительность, то она примерно одинакова, далее выложу тесты и объяснение логики для тех, кому интересно. Читать далее...

Антивирус Касперского: решение проблемы с доступом к сетевым ресурсам.

Продолжаю курс статей по решению возникших проблем в области администрирования, безопасности и программирования. И сегодня расскажу как исправить косяк, возникший после установки продукта Лаборатории Касперского версии 7.0 или 6.0 (касается как персональных версий, так и для офиса), при котором может пропадать сеть и доступ к общедоступным ресурсам сети. Читать далее...

WordPress: Модернизация плагина statpress.

21 февраля 2010 1 комментарий

Статистика — вещь не только интересная, но иногда и полезная. WordPress — один из популярнейших движков php для блогов, для него существует огромное количество плагинов, в том числе и плагины для просмотра статистики по посещаемости. Один из таких плагинов — statpress. Но есть в нём некоторые недостатки, автор плагина добавил распознавание некоторых русских поисковых движков, но так же некоторые упустил из виду. Хотя даже тот же Яндекс обрабатывается не очень хорошо, не учитываются переходы с yandex.ua, yandex.kz и т.п. Но opensource тем и хорош, что всегда можно поправить исходники, если что-то тебя не устраивает. Далее пойдёт речь об оптимизации плагина statpress под Российские поисковики. Читать далее...

Hibernate: Удаление объектов из БД.

10 февраля 2010 Нет комментариев

По работе пришлось изучать работу Java’вского ORM’а, пока что знаком только бегло, но некоторые полезные штуки для новичка решил записать. Может кому пригодится, может нет, но хотя бы самому гуглить придётся меньше. Кстати, примеры будут не на Java, а на Jython’е, т.к. с первым я тоже не очень знаком.

Итак, опустим настройку и подключение Hibernate, предположим, что вы это уже сделали. Быть может, напишу об этом позже. Требуется удалить из таблицы player (которая маппится с классом Player, естественно… или наоборот) некоторые записи. Если мы знаем id игрока, тогда всё элементарно (как и в других случаях):

player = session.load(Player, player_id)
session.delete(player)

Теперь рассмотрим случай, когда надо удалить много записей. Читать далее...

Администрирование: восстановление работоспособности Windows XP — ошибка c000021a.

5 февраля 2010 1 комментарий

Поведаю вам очередной совет по восстановлению операционной системы Windows XP из дауна в синий «экран смерти» с ошибкой с000021a.

Такая ситуация с ошибкой c000021a возникает при завершении Winlogon.exe или сsrss.exe, а также при неудачном запуске smss.exe. Причиной тому может стать некорректное завершение работы операционной системы, некорректная установка софта или обновления, а также вредоносные программы. Читать далее...

Администрирование: проблема с загрузкой профилей в Windows Vista и 7.

По служебной деятельности научился решать проблему, возникающую в Windows Vista и Windows 7 со службой профилей пользователей. А именно, при попытке войти в систему (в домене) выводится сообщение о том, что «Служба профилей препятствует входу в систему». Причиной тому могут быть разные ситуации, но наиболее часто встречаемые это:

  • некорректный путь к профилю,
  • были удалены профили «default» или «Общие» (он же «Public») или нарушена их иерархия папок.

Читать далее...

Администрирование: Восстановление загрузки Windows.

Случается так, что в один прекрасный день при загрузке Windows на черном экране выводится сообщение, что по причине некорректного файла system или software операционная система (далее ОС) семейства Windows не может загрузиться. Это происходит тогда, когда ОС некорректно завершает свою работу — моргнул свет, нажатие кнопки «reset» или просто по необъяснимой причине. Читать далее...

Безопасность: удаление вредоносных программ (отправка СМС и т.д.).

25 декабря 2009 Нет комментариев

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

Персональные данные: классификация ИСПДн.

17 декабря 2009 Нет комментариев

Одним из первоочередных мероприятий, которое требуется осуществить при создании информационной системы обработки персональных данных (ИСПДн) является классификация ИСПДн.

Это необходимо для того, чтобы определить класс системы и соответствующие требования, предъявляемые ФСТЭК и ФСБ при обработке персональных данных (ПДн). В этой статья я опишу общую процедуру проведения классификации ИСПДн. Читать далее...

Персональные данные: основные мероприятия по обеспечению безопасности.

17 декабря 2009 Нет комментариев

При создании информационной системы обработки персональных данных (далее ИСПДн), я обратил внимание на то, что вопрос «основных мероприятий по обеспечению безопасности персональных данных» мало освещен. Может причина тому «неумение юзать google», может еще что, в таком случае специально для тех, кто столкнулся с подобной проблемой я написал эту статью. Читать далее...

Безопасность: Информационная система персональных данных (ИСПДн).

В связи с усилением к концу года ажиотажа, связанного с процессом обработки персональных данных, который, в соответствии с Федеральным законом №152 «О персональных данных», до 1 января 2009 года должен быть приведен в соответствие с требованиями данного закона, встает вопрос, с чего начать и что делать? Читать далее...

Windows: Установка драйверов к принтерам семейства Kyocera.

Существует такая проблема, как установка драйверов под ОС Windows Vista и причина всему – отсутствие поддержки разработчиков драйверов. Но не будем о грустном. В своей статье поведаю я об очередном глюке с установкой драйверов к принтерам семейства Kyocera, и поделюсь своим скромным опытом. Читать далее...