Архив по категории ‘софт’.

Книга Криса Ричардсона «Микросервисы»

Недавно прочитал книгу Криса Ричардсона «Микросервисы», о которой и хотел рассказать в этом посте. Это довольно объемная книга, в ней больше 500 страниц, и в оригинале она называется «Microservices Patterns with examples in Java», что более точно описывает содержание книги. В этой книге действительно упор сделан на типичные шаблоны проектирования при использовании микросервисной архитектуры. Основное содержание книги крутится вокруг выдуманной компании, которая разрабатывает сервис по доставки еды из ресторанов. У них уже есть написанное на Java монолитное приложение, и разработчики решили его разбить на микросервисы. В книге описываются, какие сложности при это могут возникнуть, как спроектировать взаимодействующую систему монолитов, и какие приемы для решения различных типичных проблем можно использовать.

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

Читать далее ‘Книга Криса Ричардсона «Микросервисы»’ »

И еще четыре переписанные статьи из Matplotlib

И еще четыре переписанные статьи из Matplotlib

Привет всем!

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

В общем, не зря я взялся за переписывание этих статей. Правда, я ожидал, что работа будет более монотонная и менее творческая, и все статьи я поменяю достаточно быстро. Но в реальности оказалось, что даже уже с написанными разделами приходится повозиться, свериться с документацией и еще раз проверить каждый высказанный в статье тезис.

Но надеюсь, что все это не зря, и кому-нибудь это все пригодится. Заодно подумал, что возможно стоит начать писать подобные небольшие заметки про библиотеки numpy и pandas (особенно pandas).

Так вот к чему это я все. Сегодня я выложил четыре обновленные статьи про использование Matplotlib:

На этом пока все, буду постепенно исправлять оставшиеся статьи.

Про книгу «Kubernetes для DevOps»

В последнее время я решил разобраться с Kubernetes. Как правило, когда нужно изучить что-то новое, я предпочитаю это изучать по книгам, а не по разрозненным статьям в интернете. Чтобы понять, что такое Kubernetes и с чем его едят, купил книгу Джона Арундела и Джастина Домингуса «Kubernetes для DevOps». Когда заказывал эту книгу, то меня немного смущало это самое «для DevOps», я боялся, что там упор будет именно на практики DevOps с использованием Kubernetes, а не на сам Kubernetes (в оригинале книга называется «Cloud Native DevOps with Kubernetes. Building, Deploying, and Scaling Modern Applications in the Cloud»). К счастью, мои опасения не оправдались, и книга посвящена в первую очередь Kubernetes, а DevOps-у отведено место только в последней четверти книги.

Эта книга предназначена для тех, кто никогда до этого не запускал Kubernetes и не знает, с какой стороны к нему подступиться. В книге очень аккуратно описываются разные аспекты работы с Kubernetes на примере развертывания очень маленького веб-приложения на Go (буквально, Hello World, поэтому Go знать не обязательно). При этом желательно иметь представление, что такое Docker и как с ним работать, что такое Dockerfile, но и это все кратко, буквально самый минимум, рассказывается в начале книги.

Читать далее ‘Про книгу «Kubernetes для DevOps»’ »

OutWiker 3.1.0.892 beta

OutWiker 3.1.0.892 beta

Всем привет! Я подготовил новую бета-версию OutWiker, в которой продолжаю пытаться сделать работу с программой более удобной.

В этой версии (3.1.0.892) я продолжаю переделывать работу с горячими клавишами, чтобы дать больше возможностей для их настройки. До сих пор горячие клавиши были глобальные для всего приложения, независимо от того, на какой панели установлен фокус. Теперь появилась возможность устанавливать индивидуальные горячие клавиши для разных панелей (прикрепленные файлы, дерево заметок и т.п.).

Читать далее ‘OutWiker 3.1.0.892 beta’ »

Первая бета-версия Outwiker 3.1.0.890

Первая бета-версия Outwiker 3.1.0.890

Всем привет! Это первая бета-версия OutWiker 3.0 после релиза. Я очень надеюсь, что в этот раз интервал между релизами будет поменьше, пока я планирую выложить следующую стабильную версию до конца этого года.

В новой бета-версии произошли достаточно крупные изменения с точки зрения внутренностей программы, но не все из них видны пользователям. Давайте сначала расскажу о тех изменениях, которые вы можете увидеть, не залезая в исходники.

Читать далее ‘Первая бета-версия Outwiker 3.1.0.890’ »

Про цикл книг Дэна Симмонса «Песни Гипериона»

Я редко пишу про художественные книги, но тут не удержался. В моем списке для чтения книги Дэна Симмонса про Гиперион (этот цикл часто называют «Песни Гипериона») висели с давних времен. Несколько раз мне попадались упоминания этого цикла на просторах интернета при обсуждении фантастических книг. И вот, наконец-то, я это все прочитал. На неспешное чтение всех четырех книг: «Гиперион», «Падение Гипериона», «Эндимион», «Восход Эндимиона» у меня ушло три месяца. Если сравнивать этот цикл с другими произведениями, то в первую очередь на ум приходит «Дюна» Френка Герберта, хотя по сюжету и общему антуражу эти книги мало похожи. Общее у них — масштаб происходящих событий и политическая борьба на разных уровнях.

Твердой научной фантастикой серию про Гиперион я бы не назвал, в основном ее называют космооперой. Наверное это неплохое определение, хотя лично у меня со словом «космоопера» ассоциируется всякие низкокачественные произведения, к чему серия про Гиперион точно не относится.

В первых двух книгах описывается будущее XXIX-го века (по нашему летоисчислению), сюжет третьей и четвертой книг начинается примерно через 300 лет (через 274 года, если быть точным) после событий, описанных в первых двух томах. Тут вам и множество рас: люди и так называемые Бродяги (по сути люди, но которые стали модифицировать себя для жизни в космосе вместо того, чтобы терраформировать планеты), искусственный интеллект (ИскИны), андроиды. И главное — самый загадочный персонаж всех книг — Шрайк (кто-то его считает богом и ему поклоняется, кто-то считает его машиной-убийцей a la Терминатор и пытается его уничтожить). У людей и ИскИнов внутри своего сообщества есть отдельные кланы, которые конкурируют за влияние и проталкивают свои интересы. Отношения людей с ИскИнами тоже сложные: благодаря ИскИнам были созданы порталы, которые позволяли людям перемещаться в пространстве мгновенно, но при этом люди не понимали, как эти порталы работают, а у ИскИнов на порталы были свои планы. Но это я уже чуть не начал спойлерить.

Читать далее ‘Про цикл книг Дэна Симмонса «Песни Гипериона»’ »

OutWiker 3.0.0 Release!!!

OutWiker 3.0.0 Release!!!

Как говорится, разработку очередной версии программы невозможно завершить, ее можно только прервать. Слишком уж долго я откладывал релиз OutWiker: то нужно было перейти на Python 3, то выходила очередная версия библиотеки wxPython, в которых были добавлены полезные возможности или исправлены давно надоедавшие проблемы, то в очередном обновлении Ubuntu переставали работать нужные библиотеки и пришлось прекратить поддержку deb-пакета и перейти на snap. Были проблемы с библиотекой проверки орфографии и вовремя попавшаяся удачная замена. Недавно решилась проблема с тем, что антивирусы обзывали OutWiker трояном.

Буквально две недели назад обнаружилась новая проблема со snap-пакетами в некоторых дистрибутивах Linux, и поэтому в последнее время занимался тем, что учился создавать пакеты в формате flatpak. Так что теперь, если вам не нравится формат snap, то можете установить OutWiker с помощью команды

flatpak install flathub net.jenyay.Outwiker

В этом случае запускать OutWiker из командной строки можно с помощью команды

flatpak run net.jenyay.Outwiker

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

Читать далее ‘OutWiker 3.0.0 Release!!!’ »

OutWiker 3.0.0.886 unstable

OutWiker 3.0.0.886 unstable

Всем привет! Наконец-то я нашел время выложить следующую нестабильную версию OutWiker.

В этой версии самое заметное изменение связано со сборкой под Windows. В последнее время мне стали часто писать, что на новые сборки OutWiker стали ругаться антивирусы. Я и раньше с такой проблемой сталкивался, потому что антивирусам кажется подозрительным поведение exe-шника, который распаковывает себя во временную папку и начинает запускать новые процессы из распакованных файлов. Именно так ведет себя приложение, написанное на Python и упакованное с помощью PyInstaller в exe-шник.

Читать далее ‘OutWiker 3.0.0.886 unstable’ »

OutWiker 3.0.0.884 unstable

Всем привет! Продолжаю исправлять в OutWiker разные шероховатости. Сегодня выложил очередную нестабильную версию под номером 3.0.0.884.

Самое крупное изменение, которое было сделано в этой версии, касается создания списков на викистранице. Спасибо Сергею Гольцову, который заметил эту проблему. Суть проблемы заключатся в том, что каждый элемент списка начинается с символа * или #, а заканчивается в конце строки.

Читать далее ‘OutWiker 3.0.0.884 unstable’ »

OutWiker 3.0.0.882 unstable

OutWiker 3.0.0.882 unstable

И снова здрасьте! Выложил еще одну нестабильную версию OutWiker под номером 3.0.0.882.

Читать далее ‘OutWiker 3.0.0.882 unstable’ »