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

OutWiker 3.3.0.936 beta. Снова новые векторные иконки и мелкие исправления

OutWiker 3.3.0.936 beta. Снова новые векторные иконки и мелкие исправления

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

За последнее время мне несколько пользователей написали сообщения, что нельзя менять горячие клавиши, которые назначены на такие действия как «Выбрать все» (Ctrl+A), «Отменить» (Ctrl+Z), «Вернуть» (Ctrl+Y), а также, что для работы с буфером обмена назначить клавиши Ctrl+Insert / Shift + Insert вместо Ctrl+C / Ctrl + V. Действительно, раньше эти клавиши были привязаны к компоненту редактора внутри программы, но в новой версии их тоже можно переназначать.

Читать далее ‘OutWiker 3.3.0.936 beta. Снова новые векторные иконки и мелкие исправления’ »

Книга Тиаго Антао «Сверхбыстрый Python»

Недавно дочитал книгу Тиаго Антао, которая в русскоязычном варианте называется «Сверхбыстрый Python», а в оригинале более скромно — «Fast Python». Ее подзаголовок — «Эффективные техники для работы с большими наборами данных». Сразу скажу, что книга мне очень понравилась и я ее всячески рекомендую тем, кто занимается обработкой данных или большими вычислениями с использованием Python.

Как известно, Python обладает репутацией медленного языка, и к сожалению, заслуженно. Его главное преимущество — это удобство работы. Но иногда требуется скорость, которую чистый Python обеспечить не может, а переписывать всю программу на C / C++ / Rust не хочется. К счастью, для таких случаев в Python есть обходные пути, позволяющие вроде бы писать на языке Python (или его подобии), но при этом значительно повысить скорость расчета или обработки данных. Тут надо оговориться, что книга посвящена приемам и библиотекам, работающим с реализацией CPython, не затрагивая другие реализации Python, такие как PyPy, IronPython, JPython и др.

По сути эта книга является сборником приемов, позволяющих подойти с разных сторон к решению задач оптимизации работы скриптов на Python. В основном внимание сосредоточено не на сложные математические вычисления, а на обработку больших данных. Каждая глава посвящена своей теме: асинхронное и многопроцессное программирование, использованию таких инструментов как Cython (не путайте с CPython) и Numba для компиляции скрипта в более низкоуровневый код, использованию видеокарт и распределенных вычислений. И везде на очень простых примерах, как правило не превышающих страницу, автор показывает основные идеи, используя разные библиотеки, и сравнивая между собой разные решения одной и то же задачи по скорости выполнения.

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

Далее я коротко пробегусь по главам книги и расскажу о чем они.

Читать далее ‘Книга Тиаго Антао «Сверхбыстрый Python»’ »

OutWiker 3.3.0.934 beta. Векторные иконки и новое окно настроек

OutWiker 3.3.0.934 beta. Векторные иконки и новое окно настроек

Выложил первую в 2024 году бета-версию OutWiker. В этой версии было сделано достаточно много изменений, в том числе такие, которые в будущем позволят сделать интерфейс намного более удобным. Те, кто читают Телеграм-каналы @outwiker или @jenyaynet, уже в курсе основных изменений в этой версии, хотя и они не знают всей правды, потому что одну возможность я реализовал совсем недавно.

Читать далее ‘OutWiker 3.3.0.934 beta. Векторные иконки и новое окно настроек’ »

OutWiker 3.3.0.932 beta — Контекстное меню меток и более аккуратное главное меню

OutWiker 3.3.0.932 beta - Контекстное меню меток и более аккуратное главное меню

До конца года хочется успеть вложить еще одну бета-версию OutWiker, номер версии предновогодней сборки — 3.3.0.932 beta.

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

Читать далее ‘OutWiker 3.3.0.932 beta — Контекстное меню меток и более аккуратное главное меню’ »

OutWiker 3.3.0.930 beta. Исправление ошибок в библиотеках

OutWiker 3.3.0.930 beta. Исправление ошибок в библиотеках

Выложил новую бета-версию OutWiker под номером 3.3.0.930. В этой версии я сосредоточился на исправлении ошибок и оптимизации того, что было сделано до этого.

Читать далее ‘OutWiker 3.3.0.930 beta. Исправление ошибок в библиотеках’ »

OutWiker 3.3.0.928 beta

OutWiker 3.3.0.928 beta

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

Больше всего меня озадачили сообщения от нескольких пользователей о том, что наблюдаются проблемы с работой программы, запущенной из snap-пакета в Linux (при этом с flatpak все нормально). У себя пока я эту проблему отловить не смог (попробовал на двух компьютерах с Manjaro и Ubuntu), попробую еще в виртуалке с разными настройками поиграться.

Все пожелания, которые мне присылали, я записал в Issues на github. Если что-то забыл, то пишите лучше сразу туда (не важно, на русском или английском языке). Если вы напишете мне на почту или в Телеграм, то я постараюсь сам добавить запись на github, но могу забыть. В дальнейшем я хочу постараться более осмысленно использовать issues, а то по опыту работы могу сказать, что большинство изменений, которые были сделаны в прошлой версии, в issues не отражались. Надо себя как-то дисциплинировать с точки зрения программерского процесса.

А теперь перейдем к новой бета-версии под номером 3.3.0.928, которая начинает новую ветку OutWiker 3.3. В августе, пока я был в отпуске, удалось достаточно много сделать. Те, кто следит за развитием OutWiker в специально заведенном для этой цели Телеграм-канале @OutWiker, уже знают, чем я занимался, а остальным сейчас расскажу. 🙂

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

OutWiker 3.2 Release!

OutWiker 3.2 Release!

В последних бета-версиях OutWiker изменения были не особо крупные, многие из них относились к системе сборки и к наведению красоты кода (рефакторингу). Поэтому хватит выкладывать бета-версии, пора очередную версию назвать релизом!

В этом посте я коротко перечислю, что поменялось версии 3.2 по сравнению с прошлой стабильной версией 3.1, которая вышла почти полтора года назад.

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

OutWiker 3.2.0.924 beta

OutWiker 3.2.0.924 beta

Пришло время выложить следующую бета-версию OutWiker с номером 3.2.0.924. Если на протяжении нескольких прошлых версий я в основном занимался изменениями, которые были не заметны внешне, то в эту версию попали исправления внешнего вида и разные мелкие исправления в интерфейсе.

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

OutWiker, Flatpak и WebKitGTK

OutWiker, Flatpak и WebKitGTK

Этот пост можно считать продолжением предыдущего, в котором я рассказывал о работе OutWiker в виде flatpak-пакета под Linux. В том посте я обещал рассказать о том, почему OutWiker до сих пор собиралась со старой версией runtime, а если быть более корректным, со старыми версиями org.gnome.Platform и org.gnome.Sdk, и как на днях эта проблема внезапно решилась, благодаря чему следующие версии OutWiker уже будут собираться со свежими версиями этих библиотек.

Чтобы понять, в чем заключается проблема, я нарисовал схему зависимостей OutWiker от библиотек, которую сейчас подробно опишу:

Читать далее ‘OutWiker, Flatpak и WebKitGTK’ »

OutWiker 3.2.0.922 beta

OutWiker 3.2.0.922 beta

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


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