Теги ‘python’

Язык программирования Python / Jabber-to-Evernote Gateway изнутри

Нет комментариев »

Некоторое время назад я запустил бота для постинга в Evernote через джаббер и пообещал открыть исходный код, чтобы показать примеры работы с Evernote API и OAuth.



Код — в конце статьи, а для начала я расскажу о некоторых особенностях работы с Evernote.


Язык программирования Python / 6 способов слияния списка списков

Нет комментариев »

Зашел тут у нас в офисе разговор как наиболее «красиво» и быстро склеить список списков в Питоне. Действительно как?



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



ВАРИАНТ1

Все знают, что элементы списка можно перебирать в цикле и, то что можно добавлять элементы в конец. Это приводит нас к первому варианту решения:

def listmerge1(lstlst):

    all=[]

    for lst in lstlst:

        for el in lst:

            all.append(el)

    return all



Мало того, что функция растянулось аж на 6 строк, так вдобавок она еще и не эффективная.

Попробуем её улучшить в обоих смыслах: скорости и красоты («pythonic way»).


Язык программирования Python / Полиглоты в продакшн Питона

Нет комментариев »

Полиглоты в продакшн Питона.



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



И самое интересное: подходы, используемые при написании этой программы, будут интересны не столько академически, сколько практически — при разработке программы с использованием этих подходов разработка будет проще и удобнее (хоть поначалу и чуточку непривычно), а программа будет эффективнее, чем без них.



Впрочем, это звучит страшнее, чем является.



Язык программирования Python / Ссылка Вышел релиз Python 3.1

Нет комментариев »

Среди изменений:



* Библиотека ввода/вывода переписана на языке Си, что позволило ускорить ее работу от 2 до 20 раз;

* Новый механизм оптимизации циклов "–with-computed-gotos", в некоторых ситуациях ускоряющий выполнение кода примерно на 20%;

* В 2-4 раза увеличена скорость декодирования строк UTF-8, UTF-16 и LATIN-1;

* Для json модуля добавлено расширение, написанное на Си и значительно повышающее производительность;



По ссылке продолжение списка.


Язык программирования Python / Разворачиваем боевой сервер на nginx + mod_wsgi

Нет комментариев »

Здрасти. Долго-долго я присматривался к замечательному фреймворку django, читал книгу, изучал статьи, пробовал писать hello world’ы (со встроенным в джангу сервером это было легко и приятно). А вчера я попробовал настроить от начала до конца боевой сервер, и как оказалось, это не так просто, и мне даже показалось, что будь я моложе и неопытнее, я бы плюнул на это дело. Вот я и решил поделиться с читателями полной инструкцией, снабдив её некоторыми рассуждениями и конфигами. Статья расчитана на начинающих, но будет интересно всем, обещаю.


Open source / Qtiplot + Python дают огромные возможности для построения графиков и обработки данных

Нет комментариев »



Сегодня я немного расскажу про программу QtiPlot и возможность скриптования её возможностей с помощью языка Python.



Программа QtiPlot разрабатывается как свободный аналог Origin, то есть универсального средства представления и анализа данных. Она позволяет строить всевозможные графики, выполнять операции с данными, искать аппроксимации кривых и тд. С Ориджином я не работал с первого курса института, так что сравнить возможности не смогу, да это и не важно, QtiPlot имеет три важнейших преимущества, это свободность, кроссплатформенность и скриптование на языке Python, о котором пойдёт речь дальше.



В настоящее время «стандартом де факто» для построения графиков в мире *nix систем является gnuplot, в мире Windows это Origin, видимо ломанный, если посмотреть на его стоимость (чуть менее $1000 за самую крутую версию). Так вот QtiPlot в месте с Питоном вполне могут потеснить эти продукты.



Язык программирования Python / Скрипты Python против Bash — 2 или Tips & Tricks

Нет комментариев »

image

Довольно давно я написал статью, в которой приводил примеры основ работы с системой с помощью Python-скриптов. Из-за мельком оброненной фразы (достаточно взглянуть на название топика) статья получила довольно много комментариев холиварного и не очень характера. Кому-то, возможно, захотелось воспользоваться возможностями Python для администрирования (сейчас подобного рода тулзы на питоне как раз набирают популярность). Так почему бы не завлечь в свой стан еще немного единомышленников? :) Встречайте — небольшая подборка простых приемов для тех или иных целей.


Язык программирования Python / Случайные числа из звуковой карты

Нет комментариев »

Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.



При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.



В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.



Язык программирования Python / Порядок разрешения методов в Python

Нет комментариев »

В этой заметке рассматривается алгоритм MRO С3 и некоторые специфические проблемы множественного наследования. Хотя и алгоритм и проблемы не ограничиваются рамками одного языка, я акцентировал своё внимание на Питоне. В конце приведён список полезных ссылок по данной теме.


Язык программирования Python / pyjob.ru — вакансии для python-программистов

Нет комментариев »

Здравствуйте. Пару дней назад я совершенно спонтанно создал сайт pyjob.ru Вдохновение я черпал с сайта djangogigs.com Если кто не знает, djangogigs.com — это площадка для размещения вакансий для django-разработчиков. Я не могу сказать про pyjob.ru что-то особенное. Да, это просто-напросто список python-вакансий. Я регулярно вижу объявления о поиске python-программиста на различных сайтах. Скромно хочу, чтобы pyjob.ru был официальным местом для такого рода объявлений. Естественно, на сайт не нужно заходить каждый день — достаточно лишь подписаться на RSS фид. Первое время буду копировать ручками вакансии с других сайтов. Надеюсь, в будущем pyjob.ru заживёт собственной жизнью.