О книге «Producing Open Source Software»


Давно я не писал посты о прочитанных книгах, хотя в последнее время удалось прочитать достаточно много книг, которые достойны обзора. Так уж получилось, что в этом году большинство книг по программированию, которые мне попадались, были на английском языке. В этом посте речь пойдет об одной из таких книг Карла Фогеля (Karl Fogel) — «Producing Open Source Software».

Как ясно из названия, эта книга об открытом программном обеспечении, но прежде чем говорить о книге, надо сказать пару слов об ее авторе. Карл работал (или работает) над такими известными проектами как Subversion (она же SVN, система контроля версий, которая когда-то пришла на смену CVS) и Launchpad — хостинг для открытого софта, где, например, располагается проект Ubuntu, MySQL и многие другие крупные опенсорсные проекты.

В своей книге «Producing Open Source Software», которая также распространяется с открытыми исходниками на сайте http://producingoss.com, Карл всесторонне описывает работу над софтом с открытыми исходниками. Причем, речь в ней идет не только о технической стороне, но и о социальной, ведь успешный открытый проект — это прежде всего результат взаимодействия многих людей, тем или иным образом участвующих в проекте. Причем участники могут проживать по всему миру. Это не обязательно должны быть программисты, это могут быть дизайнеры, бета-тестеры, люди, которые переводят программу на свой родной язык, да и просто пользователи, которые присылают свои пожелания и сообщения об ошибках. А может быть создание свободного софта — это ваша основная работа, тогда возникнет вопрос о том, как зарабатывать на нем, причем так, чтобы сообщество вас поддерживало.

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

Читать далее ‘О книге «Producing Open Source Software»’ »

Статья про создание exe-шников из python-скриптов

Написал большую статью про создание запускаемых файлов (.exe, если говорить про Windows) из скриптов на Python с помощью библиотеки cx_Freeze. Ссылка на статью — http://jenyay.net/Programming/Cxfreeze

Доклад на Moscow Python Meetup

Недавно делал доклад на конференции Moscow Python Meetup про создание desktop-приложений на Python. В докладе в качестве примера показывал OutWiker. Теперь организаторы выложили видео доклада.

Новая статья про создание интерфейса средствами Matplotlib

Продолжаю пополнять серию статей про использование библиотеки Matplotlib. Для тех, кто с ней незнаком, это замечательная библиотека для построения графиков на языке Python. Сегодня выложил статью под названием Создание интерфейса средствами библиотеки Matplotlib. В этой статье описано, как можно создавать элементы интерфейса с помощью библиотеки Matplotlib, не используя других библиотек.

Про книгу «Android. Программирование для профессионалов»

Обычно я пишу обзоры книг, которые мне понравились. К книге, о которой пойдет речь в этом посте, у меня больше претензий, чем восторга, однако все-равно хочется о ней написать (и не только для того, чтобы поворчать).

Я уже давно поглядываю на программирование под Android, когда-то уже читал книги про это дело, но до реального применения все не добирался. И вот тут понадобилось написать для себя одно приложение под Android, поэтому параллельно с написанием кода решил освежить знания, почитав книжку. Надо сказать, что мне как-то не везет с литературой на эту тему, мне еще не попалось ни одной книги, которой бы я мог поставить твердую пятерку и написать восторженный отзыв. Везде описание идет какое-то обрывочное, которое не дает красивого описания архитектуры Android. Возможно, в этом виновата сама система.

К сожалению, книга Б. Харди, Б. Филлипса, К. Стюарта и К. Марсикано «Android. Программирование для профессионалов» не исключение. Но сначала хочется выразить свое «фи» переводчикам и издателю (несмотря на все мое уважение к издательству Питер). Во-первых, второе название книги перевели настолько вольно, что оно стало полностью противоречить содержанию книги. В оригинале книга называется «Android Programming. The Big Nerd Ranch Guide». Никаких профессионалов в оригинале нет, «The Big Nerd Ranch» — это компания, которая занимается разработкой и обучением программированию. И даже предисловие книги начинается словами «Начинающему программисту Android предстоит основательно потрудиться…» Таким образом, эта книга предназначена именно для новичков. Вот именно с этой позиции и стоит рассматривать эту книгу.

Читать далее ‘Про книгу «Android. Программирование для профессионалов»’ »

Вышла библиотека для построения графиков Matplotlib 2.0

Вышла библиотека для построения графиков Matplotlib 2.0

Недавно обновилась библиотека Matplotlib, предназначенная для рисования графиков на языке Python, я про нее еще периодически пишу небольшие статьи. На этот раз изменения в библиотеке произошли настолько заметные, что разработчики решили дать ей номер 2.0 (предыдущая версия имела номер 1.5.3).

Самое заметное изменение касается внешнего вида получаемых графиков. Раньше многие ругали библиотеку за то, что графики, нарисованные с помощью нее, выглядят несколько устаревшими, в стиле 90-х годов, хотя лично я на внешний вид не жаловался, особенно с учетом того, что при необходимости внешний вид гибко настраивается. Однако над новой версией поработали дизайнеры и внешний вид графиков по умолчанию теперь заметно отличается от предыдущих версий.

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

Читать далее ‘Вышла библиотека для построения графиков Matplotlib 2.0’ »

Книга Лучано Рамальо «Python. К вершинам мастерства»

На днях дочитал книгу Лучано Рамальо «Python. К вершинам мастерства». Пожалуй, это лучшая техническая книга, которая мне попадалась за последние время. Это объемная книга, содержащая 768 страниц, но при этом читается она достаточно легко. Сразу надо сказать, что книга Рамальо — не учебник для начинающих, вы уже должны знать Python хотя бы на начальном уровне, представлять себе, что такое объектно-ориентированное программирование и иметь хотя бы общее представление о шаблонах проектирования. Процитирую несколько фраз из введения книги, где сам автор пишет, для кого предназначена эта книга:

Python — простой для изучения и мощный язык программирования… Поскольку язык так просто выучить и начать применять на деле, многие программисты используют лишь малую часть его обширных возможностей… Эта книга написана для практикующих программистов на Python, которые хотят усовершенствоваться в Python 3. Если вы уже знакомы с Python и хотели бы перейти на версию Python 3.4 или старше, эта книга для вас.

В этой книге действительно упор сделан на возможностях, которые появились в Python 3.x, особенно автор подчеркивает особенности, возникшие в версиях Python 3.3 и 3.4. В момент написания книги Python 3.5 еще не вышла, но было примерно понятно, что туда собираются включить, и Лучано Рамальо упоминает некоторые такие возможности. Хотя в книге упор сделан на Python 3, но многие описанные вещи применимы и к Python 2.x, при этом подчеркивается, где есть различия в поведении интерпретатора Python 2.x и 3.x.

Большая часть книги в той или иной мере посвящена объектам в Python, тому, как интерпретатор их создает, что происходит при вызове методов вида __xxx__ и многое другое. Хотя местами описывается достаточно низкоуровневая логика, но до байт-кода автор доходит всего один или два раза.

Читать далее ‘Книга Лучано Рамальо «Python. К вершинам мастерства»’ »

Новая статья про использование библиотеки Matplotlib

Новая статья про использование библиотеки Matplotlib

Иногда при использовании библиотеки Matplotlib требуется добавить возможность пользователю взаимодействовать с нарисованным графиком — выделять интересующие области, перетаскивать объекты на графике и т.п. Для подобных задач библиотека Matplotlib позволяет обрабатывать различные события, связанные с действиями мышью и нажатиями клавиш.

Выложил новую статью про обработку событий мыши и клавиатуры на графиках Matplotlib.

Другие статьи про Matplotlib

Две новые статьи про использование библиотеки Matplotlib

Написал две новые статьи для серии статей про использование библиотеки Matplotlib. Первая статья — Способы задания цвета в Matplotlib, вторая статья — Как в Matplotlib менять оформление линий по умолчанию.

Новая статья про рисование линий уровня с помощью библиотеки Matplotlib

Выложил новую статью Как с помощью Matplotlib рисовать линии уровня, которая продолжает серию статей про библиотеку Matplotlib, предназначенную для рисования графиков на языке Python. Другие статьи из этой серии вы можете найти здесь.

contour_11