Книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python»

Недавно в издательстве ДМК вышла книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python».

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

Книга Мэттью Фаулера рассматривает асинхронное и параллельное программирование (объединенные под одним термином «конкурентное программирование», что показывает аккуратность автора в терминологии) с разных сторон. Здесь будет рассказано и про асинхронщину, и про многопоточноть (в значении multithreading), и про прогопроцессность. Все это в конце концов рассматривается под тем углом, как для всего этого дела может помочь стандартная библиотека asyncio, которая в первую очередь ассоциируется именно с асинхронным программированием, хотя она позволяет использовать также пулы потоков и процессов.

Читать далее ‘Книга Мэттью Фаулера «Asyncio и конкурентное программирование на Python»’ »

Переписал еще две статьи про Matplotlib

Продолжаю переписывать старые статьи про библиотеку Matplotlib, предназначенную для построения графиков на Python. Сегодня выложил обновленные статьи:

 

Обе эти статьи пришлось довольно сильно переписать, потому что писались они еще во времена Python 2. Теперь все примеры проверены на Python 3.10 и wxPython 4.2.0 (это касается первой статьи). Во второй статье добавлено побольше примеров, исправлены некоторые участки статьи, которые уже не актуальны в текущей версии Matplotlib и в современных версиях Windows.

Мне осталось переписать еще четыре старые статьи про Matplotlib, после чего можно будет приступать к написанию новых.

Обновил еще одну статью про Matplotlib

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

Мысли о читателях программерских статей

Мысли о читателях программерских статей

Задумался в очередной раз о содержимом сайта jenyay.net и целевой аудитории. В последнее время посты на сайте можно разделить на три темы: программирование, OutWiker и книги. Давайте поговорим о программерских статьях. Мне нравится их писать, потому что в них понятно о чем говорить, как правило логично выстраивается какая-то структура от простого к сложному, понятна цель — рассказать о какой-то библиотеке или отдельной ее возможности простым языком. С точки зрения читателя, такие статьи не отменяют необходимости чтения документации по рассматриваемому инструменту, но по крайней мере дает какое-то начальное представление о нем и направляет в нужную сторону.

Но вот вопрос — для кого писать. Дело в том, что лично я практически все интересующие меня вопросы, связанные с программированием, ищу на английском языке. Во-первых, в англонете материала на эти темы объективно больше. И, во-вторых, на английском проще сформулировать поисковый запрос, он получается более однозначный. Программерские статьи на русском языке я читаю в основном если случайно попадется какой-то текст, который меня заинтересовал (например, на Хабре). При этом сам я статьи пишу на русском языке, получается такое вот техническое лицемерие.

Читать далее ‘Мысли о читателях программерских статей’ »

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

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

Продолжаю обновлять давно написанные статьи про рисование графиков с помощью библиотеки Matplotlib.

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

И заодно напомню, что список всех статей про Matplotlib можно найти на этой странице.

Выходят две новые книги про Pandas

У двух издательств (ДМК и Питер) почти одновременно появились новые книжки про Pandas — мощной библиотеки для работы с табличными данными в Python.

В издательстве ДМК выходит третье издание «Python и анализ данных» Уэса Маккини, основного разработчика библиотеки Pandas. Я когда-то читал первое издание и писал про него обзор. Эта книга не только про Pandas, но еще и про Numpy и другие математические инструменты вроде IPython и Jupyuter, но большая часть книги все-таки посвящена Pandas.

А в издательстве Питер выходит книга «Pandas в действии» Бориса Пасхавера. Про эту книгу ничего сказать пока не могу.

Обновление статей про Matplotlib

Обновление статей про Matplotlib

После долгого перерыва продолжил обновлять, а во многом и переписывать, статьи про рисование графиков на языке Python c помощью библиотеки Matplotlib.

Сегодня выложил две обновленные статьи: Как изменять интервал осей и Как управлять положением рисок на осях. С ужасом заметил, что первоначальные статьи я писал больше 10 лет назад. Переписал исходники, чтобы они соответствовали более современному подходу в использовании этой библиотеки, заменил скриншоты, поправил текст, где-то добавил новые примеры.

Интересные находки в ГОСТ 33707-2016 «Информационные технологии. Словарь»

Интересные находки в ГОСТ 33707-2016 "Информационные технологии. Словарь"

Сразу скажу, что вообще-то ГОСТы я уважаю. В инженерной деятельности, которой мы занимаемся на работе, при оформлении отчетов мы стараемся аккуратно следовать терминологии, которая прописана в стандартах. И тут я листаю сравнительно свежий ГОСТ 33707-2016 «Информационные технологии. Словарь» и вижу странное. А затем еще одно странное. И еще. В общем, решил я поделиться тем, что меня, мягко говоря, смутило. На самом деле к большинству терминов из этого стандарта у меня вопросов не возникло, а вот некоторые вызвали удивление.

Начнем сразу с козырей. Именно этот термин меня побудит написать этот пост.

Читать далее ‘Интересные находки в ГОСТ 33707-2016 «Информационные технологии. Словарь»’ »

Статья про сборку wxPython из исходников под Windows

Статья про сборку wxPython из исходников под Windows

Давненько я не писал программерских статей на сайт. Написать эту статью меня подтолкнул перевод OutWiker на wxPython 4.2.0, когда оказалось, что в PyPi уже нет бинарных сборок под 32-разрядные Windows, а я пока не вижу причин отказываться от поддержки 32-битных операционок.

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

Ссылка на саму статью вот — Сборка библиотеки wxPython под Windows.

Книга Марка Хеклера «Spring Boot по-быстрому»

«Любой автор сам выбирает, что включать в издание, что не включать…
То, что одному автору кажется необязательным материалом,
другой считает совершенно необходимым»

Цитата из предисловия.

Привет всем! Как-то так сложилось, что в последнее время посты в этом блоге посвящены всего двум темам: книгам и OutWiker-у. В этот раз речь пойдет опять о программерской книге. Недавно в посте о книге Крейга Уоллса «Spring в действии» я писал, что на русском языке вышла еще одна книга про Spring — «Spring Boot по-быстрому» Марка Хеклера. Вот про нее сейчас и поговорим.

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

Подзаголовок книги «Создаем облачные приложения на Java и Kotlin» может в вести в заблуждение тем, что Kotlin, конечно, упоминается, говорится, что есть такой язык, есть даже один пример микросервиса, который написан на этом языке, но в целом концентрация Kotlin в общем содержании настолько мала, что ей можно пренебречь. В данном случае я бы сказал, что это скорее хорошо, что содержание не распыляется на два языка, и даже там, где Kotlin используется, это выглядит немного странно. Наверное, единственная цель этого примера — показать, что со Spring можно работать и на Kotlin, но уж точно это не стоило выносить на обложку книги.

Объем книги не такой большой, около 350 страниц, далее я коротко пробегусь по ее содержанию.

Читать далее ‘Книга Марка Хеклера «Spring Boot по-быстрому»’ »