вторник, 15 мая 2012 г.

Что такое Nuitka (Перевод)

На самом деле в этом вопросе есть два аспекта:

  1. Что она представляет из себя сейчас?
  2. Чем она должна быть?

Сейчас

На данный момент Nuitka – хорошая замена интерпретатору Python, способная скомпилировать всё, что предлагает CPython 2.6 и 2.7. Она переводит Python в программу С++, которая потом использует “libpython” для выполнения так же, как и CPython, делая это совместимым образом.

Более того, иногда она оказывается быстрее чем CPython, хотя ещё и не всё до конца оптимизированно. 258% на pystone – неплохо для начала (версия 0.3.11).

Обзор е-книги. Современный Tkinter для занятых разарбочиков на Python (Перевод)

Я недавно купил книжку Mark Roseman “Modern Tkinter for Busy Python Developers“ на Amazon и как раз вчера её закончил. Я думаю, что она вышла недавно, хотя её релиза я не видел. В любом случае, посмотрим на неё поближе!

Быстрый обзор
  • Почему я её купил: хотел покопаться в других библиотеках для построения GUI на Python, да и новых книг про Tkinter я не видел ещё со времён книги John Grayson’s Python and Tkinter Programming
  • Почему я её дочитал: написана очень хорошо, хотя глава про виджеты и затянута
  • Я рекомендую её… любому, кто хочет сделать свои приложения на Tkinter более адекватными или хочет узнать про новую систему тем в Tkinter.

понедельник, 14 мая 2012 г.

Никогда не используйте табуляцию… (Перевод)

Поскольку использование табуляции (код ASCII 9) обычно вызывает всякие проблемы с кодом, используйте хорошее правило:

1) Никогда не используйте табуляцию

1. 1) Единственное исключение: ваш код использует именно её для своих целей (единственный пример, приходящий мне на ум - Makefile)

среда, 9 мая 2012 г.

Релиз Shed Skin 0.9.2

Только что вышел новый релиз Shed Skin, версии 0.9.2, ограниченного компилятора из Python (2.4-2.6) в C++. Это второй maintenace релиз после выпуска 0.9, так что было добавлено несколько новых функций.
Главное улучшение коснулось оптимизации модуля массивов. Кроме того было проведено ещё несколько не столь значительных улучшений и исправлено несколько ошибок. За деталями обращайтесь к заметкам о релизе.
Кроме того, было добавлено три новых примера, так что теперь их всего 67 (боле 17К строк кода): программа "стереоскопического зрения" и два решателя для кубика рубика.

Обзор электронной книги: Quality Python Development

После просмотра нескольких электронных книг на последней неделе меня попросили написать обзоры нескольких авторов. Более того, я даже получил предложение написать обзор для другого сайта! Неплохо, да? В любом случае Frederic Lepied связался со мной сегодня чтобы я написал обзор его электронной книги, которую можно купить на Amazon. Но послал мне её вариант для Kindle. Книжку пришлось читать с помощью calibre, так как ничего более подходящего у меня под рукой на тот момент не было. Книжка на удивление короткая, всего 42 страницы, так что я прочитал её на одном дыхании. Итак, обзор!

Для нетерпеливых

  • Почему я за неё принялся? Ну во первых, меня попросил автор ;) И он предоставил мне экземпляр книги
  • Почему я её закончил? Книжка была короткая и по теме
  • Я рекомендовал бы её начинающим, которых хотят улучшить свои навыки и стать продвинутым программистом на Python

Формат книги

Насколько мне известно, книга доступна только на Amazon и для Kindle. Если у Вас есть это устройство или подходящая программа для чтения, тогда всё в порядке. Её вес около 600Kb.

Содержание

В книжке 7 глав:
  1. Стиль кода (по большей части речь о PEP8 и pyLint)
  2. Структурирование вашего дерева разработки (структура файлов и иерархия каталогов)
  3. Документация (reST и Sphinx)
  4. Пакеты (как создавать пакеты с помощью distutils и как их размещать на PyPI)
  5. Тесты
  6. Поиск дублирующего кода (немного TDD, маленькие хитрости использования тестов, Frood's mock библиотека, Nose test framework и coverage.py)
  7. Непрерывная интеграция (5 и 6 глава + Jenkins)

Обзор

Я подозреваю, что книжка была написана человеком, для которого английский - не родной язык. Поэтому взгляд цепляется за "the codes" вместо "the code", но с другой стороны, я не нашёл там большого количества ошибок. В книге ни одна из тем не раскрывается глубоко, что может быть не так уж и хорошо. Зато она побуждает Вас самим рыться в данной теме. Автор перечисляет большое количество пакетов, что на мой взгляд очень интересно. Вы не потратите время на чтение основ Python, у Вас сразу будет хорошая стартовая площадка для дальнейшего развития.
Я должен отметить, что шестая глава не то чтобы глава, а всего одна страница. Седьмая глава могла бы быть больше и подробнее, так как там приводятся советы для работы с Jenkins для оценки вашего кода. Мне показалось это интересным, особенно в контексте непрерывной интеграции. Кроме того, мне понравилась глава про документацию и про пакеты.
Книга стоит $4.99, но Вы можете получить её бесплатно, если у Вас есть Kindle и Amazon Prime. На мой взгляд стоит перед покупкой хотя бы посмотреть несколько примеров страниц. Если Вы хотите получить представление о структурировании ваших программ, тестировании и документировании, тогда эта книга может быть для Вас.

Источник

Королевство существительных (перевод)

Начал переводить, но потом вспомнил, что уже читал перевод. Правда тот вариант найти не могу, а тут не полный перевод, но суть уже изложена. Но и не пропадать же сделанному? )))  Я 
"Некоторые слова очень вредные. Ни за что не поддаются! Особенно глаголы! Гонору в них слишком много! Прилагательные попроще - с ними делай, что хочешь. Но глаголы себе на уме! Впрочем, я с ними со всеми справляюсь".— Шалтай-Болтай

Всем привет! Сегодня мы послушаем сказку о Злом Короле Java и его попытке всемирного искоренятения1 глаголов.
Предупреждение: эта история без счастливого конца. Эта история не для людей со слабым сердцем или с критичными устами. Если Вы обидчивы или склонны плохо вести себя в комментариях - не читайте дальше.

Выражение exec и Тайна Python'a (перевод)

Какое-то время назад я исследовал объекты кода с использованием модуля dis. В том посте я привёл несколько примеров выполнения объектов кода, созданных налету с использованием выражения exec. Теперь мы продолжим наши исследования.
Учтите, что как и мой предыдущий пост, эти исследования касаются только Python 2.x, в частности Python 2.7. В отличие от того поста, как минимум один способ работать не будет в Python 3.x - в 3.х exec является функцией и изменения в локальной области видимости не переносятся в область видимости вызывающей функции (спасибо comex, который отметил это)