Search
Write a publication
Pull to refresh
43
0
Александр Вольф @alexwolf

User

Send message

Основы Python — кратко. Часть 6. Расширенное определение функций.

Reading time4 min
Views75K
Продолжение, начало см. тут.

В этом разделе мы поговорим более подробно про определение функций, и раскроем некоторые Python-специфичные особенности данного процесса. Так как информации много, то постараюсь излагать все достаточно кратко.

Параметры по-умолчанию


Для всех параметров функций можно указывать значения по-умолчанию, это дает возможность вызвать функцию с меньшим числом параметров. Например, у нас есть функция для авторизации пользователя на сайте:
def login(username="anonymous", password=None):
    """Тут какие-то действия"""
    pass

# вызвать эу функцию мы можем одним 
# из нижеприведенных способов
login("root", "ujdyzysqgfhjkm")
login("guest")
login()
# мы можем указать какой из параметров мы передаем, 
# указав его имя в явном виде
login(password="nobody@mail.com") 

Читать дальше →

Отладка в Django

Reading time4 min
Views29K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.

ajax загрузка нескольких файлов с php формой

Reading time2 min
Views36K
Как-то для личных целей мне понадобилось сделать ajax загрузку сразу нескольких файлов. Но хотелось сделать это красиво и удобно.
Для этой задачи я выбрал горячо мной любимый jquery и несколько плагинов к нему.
подробнее

Баги IE. Часть 1. Наличие или отсутствие hasLayout

Reading time10 min
Views12K
Этим постом я планирую начать серию статей о багах IE и возможных вариантах их исправления. Цикл статей решил написать в первую очередь для себя, дабы как-то систематизировать и сохранить свои знания, но я надеюсь, что он будет полезен как новичкам так и опытным верстальщикам.

Первым постом хочу затронуть одно из фундаментальных понятий при исправлении багов IE — hasLayout.
Читать дальше →

Отправка комментариев пользователей сайта вам на Jabbеr

Reading time1 min
Views6K
Во время шумихи с аськой и предложениями перехода на jabber я решил разобраться: что же такое джаббер и как он мне может пригодиться кроме прямого общения.

Применение нашлось само собой – хочется получать комментарии с сайта себе в мессенжер. Этот подход оказался очень удобным и простым в реализации.

Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.

В функцию добавления комментария на сайте я добавил строки:

include ‘XMPPHP/XMPP.php’;
$conn = new XMPPHP_XMPP('джаберовский сервер', 5222, 'логин', 'пароль', 'xmpphp', 'jabber.ru', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
try
{
	$conn->connect();
	$conn->processUntil('session_start');
	$conn->presence();
	$conn->message('ваш джаббер', 'текст сообщения');
	$conn->disconnect();
}
catch(XMPPHP_Exception $e)
{
	die($e->getMessage());
}


Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.

Вот собственно и все…

P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.

Простой RDF-репозиторий на PHP и MySQL для начинающих

Reading time6 min
Views5.9K
Проблема: сложность практического освоения технологий семантической сети начинающими.

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

Задача: разобраться в создании, хранении и обращении к словарю, в использовании языка запросов на начальном уровне на практике.

Если вы примете участие в обсуждении и будете подсказывать лучшие решения, то я буду обновлять этот пост по мере совместного нахождения новой информации. Надеюсь, в итоге получится небольшой урок для начинающих.
Читать дальше →

Семантика в HTML 5

Reading time9 min
Views30K
Я собираюсь сделать смелый прогноз. Еще долго после вас и меня HTML будет вокруг. Не только в миллиардах архивных страниц нашей эры, а как живые дыхательные органы. Слишком много сил, энергии и инвестиций пошло на разработку web-инструментов, протоколов и платформ, что бы все это было легко брошено.

Остановимся, что бы рассмотреть нашу ответственность. К несчастью, в истории мы связаны с разработкой важного инструмента нашей цивилизации, который будет использоваться для общения в течении десятилетий. И так когда мы направляем свои умы, праздно или всерьез, на улучшение HTML мы должны понимать на сколько далеко идущими могут быть последствия наших решений.
Читать дальше →

Subversion: cлияние переименований файлов

Reading time3 min
Views3.5K
— Зачем ты, Белка, летишь за мной, Кабаном?
— Не знаю, Кабан! Приказ Хорька. Как понял? Приём.
— Ни хера не понял! Какого Хорька, Белка? Я Кабан. Кто такой Хорёк? Кто это? Приём.
— Кабан, ты дятел! Как понял? Приём.
— Понял тебя, Белка. Я — Дятел. Повторяю вопрос про хорька. Кто это?
— Кабан, сука, ты всех заманал, лети вперёд молча! Конец связи.
Виктор Шендерович

Как известно, Subversion не умеет отслеживать переименования файлов. Согласно документации, команда svn move равносильна svn copy с последующим svn delete. Такое поведение вызывает большие проблемы при слиянии веток. Рассмотрим способы их решения.
Читать дальше →

Ribbon? Это просто! или Работаем с каскадными таблицами стилей (CSS) в Qt

Reading time6 min
Views24K
Некоторое время назад в одном из обсуждений я упомянул о том, что контрол «a-la ribbon» (который был использован в MS Office 2007 для организации меню) легко и непринуждённо реализуется средствами Qt.

Я не хочу спорить о том, удобен ribbon или нет (сам я больше склоняюсь ко второму мнению). Но на его примере можно отлично раскрыть возможности каскадных таблиц стилей для Qt (которые были представлены в Qt 4.2), чем я и займусь. Сразу прошу прощения: я не дизайнер, поэтому с точки зрения эстетики мой QRibbon скорее всего не дотянет до своего собрата от МС, но дизайнеры в МС, полагаю, в своей области превосходят меня на 2 головы, да и человеко-часов, думаю, там было затрачено в слегка побольше. Я же всего лишь демонстрирую общий принцип и базовые возможности.

Так как я сейчас изучаю язык Python, то для демонстрации был выбран именно он, но для C++ всё делается абсолютно так же. Заранее прошу прощения: Python я только-только изучаю, поэтому код может быть полон корявостей, так что прошу больно не пинать :)

Итак, начнём!
Читать дальше →

Блокирование просмотра из IE6

Reading time1 min
Views1.2K
IE 6 Blocker Script
Отыскал на просторах Всемирной интересный скрипт, блокирующий просмотр сайта из IE6. Возможно, это кому-то покажется большой пакостью для пользователей, но, видимо, это один из выходов заставить юзера обновиться до IE7 или пересесть на нормальный броузер. Скрипт использует jQuery.
Собственно, IE 6 Blocker Script
Читать дальше →

Вызов пользовательской функции в Perl из переменной

Reading time1 min
Views2.6K
Да, понадобилось мне сделать такой изврат. В PHP — это call_user_func().

Учитывая, что в Google я с довольно большим трудом нашёл реализацию (да и не там, где ожидал, а в вызовах), решил опубликовать сюда:

#!/usr/bin/perl -w
use strict;
if(exists $ARGV[0] && exists &{$ARGV[0]}){
    my $func_call = \&{$ARGV[0]};
    &$func_call();
}
sub test{
    print "123\n";
}


соответственно,

./test.pl test выведет 123
./test.pl aaa ничего не выведет

Возможно, кому-то пригодится)

Общий обзор стандартных средств наблюдений за системой

Reading time5 min
Views17K
Уровень сложности: начальный

Вводный обзор стандартных инструментов GNU/Linux должен помочь начинающим пользователям Linux контроллировать работу ОС. Используемые приложения, как правило, включены в поставку известных дистрибутивов. Полезным побочным эффектом я считаю возможность сориентировать молодых системных и сетевых администраторов в условиях [подозрения] компрометации.
Читать дальше →

Визуализация ботнетов на видео

Reading time1 min
Views1.2K
Спамерские ботнеты живут своей жизнью, и это не аллегория. Они действительно похожи на организм животного. По крайней мере, если посмотреть на компьютерную модель, которую сгенерировали финские программисты из компании Clarified Networks. На видео запечатлена активность ботнетов за несколько часов.

Они взяли за основу сырые данные, собранные F-Secure в IRC-каналах ботнетов. Парсинг и обработка выполнены средствами Python и PyQt. Затем они сделали привязку IP-адресов к физическим адресам посредством GeoIP-базы Maximind, после чего наложили их на карту Visible Earth от НАСА. После этого понадобилось немного поиграть с цветами и яркостью, чтобы карта смотрелась более зрелищно. Результат превзошёл все ожидания.


Читать дальше →

Критерии 100% читаемости сайтов

Reading time5 min
Views3.4K
Перевод статьи Oliver Reichenstein «The 100% Easy-2-Read Standard».

Большинство сайтов доверху наполнены мелким текстом, который больно читать. Но зачем? Нет причины вжимать так много информации в экран. Это глупая коллективная ошибка, которая относится к временам когда экраны были действительно маленькими. Так что…

screen vs magazine
Экран и журнал: 100%-размер шрифта — это не много. Фотограф: Wilson Miner.

Не заставляйте нас изменять размер шрифта

Мы не хотим изменять настройки браузера каждый раз когда посещаем новый сайт!

Читать дальше →

Презентации в браузере? Нет проблем.

Reading time1 min
Views8K
image
Сегодня трудно найти человека, который хотя бы раз в жизни не создавал на компьютере презентацию. Немало и тех, для кого это — обычное ежедневное занятие. Как правило, для этих целей используется пакет Microsoft PowerPoint, входящий в состав пакета офисных приложений. И всё бы ничего, но чтобы использовать данное ПО, его надо купить (просьба не смеяться). Правда, есть вариант использовать бесплатный аналог OpenOffice.org, но не всегда презентации, созданные в MS Office корректно отображаются в OOo и наоборот. Между тем, существует ещё один способ — создавать презентации прямо в браузере. Для этих целей используются стандартные технологии — HTML и CSS, что максимально упрощает работу людей, хоть немного знакомых с веб-разработкой.

Читать дальше →

Осторожно: статистическая дезинформация

Reading time3 min
Views2.7K
Вы никогда не задумывались, насколько велика может быть так называемая статистическая погрешность? Особенно — в мировых масштабах. Особенно — у, казалось бы, солидных и многократно цитируемых агентств или онлайновых сервисов. Я попробую показать вам, насколько всё грустно. Естественно — на примере статистики использования браузеров (кто меня знает — поймёт, почему). Надеюсь, после прочтения данного мини-исследования вы будете более критично относиться к очередным громким заявлениям различных изданий о рыночной доле той или иной программы.
Читать дальше →

Графика в LaTeX. Часть I

Reading time3 min
Views36K
Доброе время суток! Недавно заметил пояление на Хабре блога, посвящённого системе LaTeX. И решил поделиться теми небольшими знаниями, которые у меня есть.
Не буду повторяться и описывать что такое LaTeX, зачем он нужен и как устанавливать пакеты. Об этом уже много написано, в том числе и в этом блоге, да вы и без меня всё это знаете. Здесь я решил описать как пользоваться графическими возможностями LaTeX'а, так как недавно готовил эту тему для университета. Материала довольно много, поэтому пришлось разбить на части. В этой части я расскажу:
  • что такое псевдорисунки,
  • как пользоваться пакетом XY-pic.

Итак, по порядку.
Читать дальше →

Демон конвертации видео в FLV

Reading time3 min
Views3.8K
Решил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Читать дальше →

Векторная графика в LaTeX. Пакет PGF/TikZ

Reading time7 min
Views61K
Доброго времени суток. Давно собирался рассказать о возможностях векторной графики в LaTeX, предоставляемых низкоуровневым макропакетом PGF и его расширением TikZ, а выход предыдущей статьи о пакете Xy-pic для создания диаграмм и графов и появление свободного времени сделали возможным начать работу :-).

Мне в своё время понадобилось найти и изучить какое-то гибкое средство для создания качественных векторных изображений, потому что уже достали криво масштабированные, вставленные с ужасным расширением картинки растровых форматов, портящие всё впечатление от документа, да и увеличивающие его размер в два раза из-за одной большой картинки с прямоугольником и несколькими подписями к нему. Имеющиеся возможности встроенного окружения picture весьма скудны; пакет PStricks ориентирован на язык PostScript (не работает с pdflatex, который мне необходим), хотя и может кое-что, чего не может PGF; система MetaPost, пожалуй, является наиболее мощной из всех в этой области, но функционирует с использованием отдельного интерпретатора со всеми вытекающими из этого последствиями. Таким образом, выбор пал на PGF/TikZ.


Читать дальше →

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity