Forwarded from OutWiker (Евгений Ильин)
Выложил новую альфа-версию OutWiker 4.0. В эту версию попало сразу несколько интересных изменений, ради которых я и переделывал дерево заметок на протяжении прошлых версий.
Если коротко, то теперь можно менять цвет каждой заметки в дереве, размер шрифта (работает масштабирование с помощью колесика мыши при зажатом Ctrl) и можно менять порядок следования заметок с помощью мышки, не тыкая многократно по кнопкам для перемещения страниц вверх и вниз.
А более подробно и с картинками (цветными!) все это описал в блоге - https://jenyay.net/blog/2024/12/15/outwiker-4-0-0-948-alpha-4-novye-vozmozhnosti-v-dereve-zametok/.
Если коротко, то теперь можно менять цвет каждой заметки в дереве, размер шрифта (работает масштабирование с помощью колесика мыши при зажатом Ctrl) и можно менять порядок следования заметок с помощью мышки, не тыкая многократно по кнопкам для перемещения страниц вверх и вниз.
А более подробно и с картинками (цветными!) все это описал в блоге - https://jenyay.net/blog/2024/12/15/outwiker-4-0-0-948-alpha-4-novye-vozmozhnosti-v-dereve-zametok/.
В Python были u-строки (не актуальные с выходом Python 3), сейчас есть r-строки, b-строки и f-строки. И, возможно, теперь еще будут t-строки. PEP 750 еще не приняли, но идея интересная. Это очередные шаблонные строки, которые можно использовать более безопасно, чем f-строки, благодаря проверке того, какие значения параметров туда пытаются подставить.
#python #программирование
#python #программирование
Python Enhancement Proposals (PEPs)
PEP 750 – Template Strings | peps.python.org
This PEP introduces template strings for custom string processing.
Forwarded from OutWiker (Евгений Ильин)
Первый спойлер к следующей альфа-версии OutWiker. Теперь около основных значков заметок будут появляться дополнительные значки, которые будут что-то обозначать (их может быть несколько). Пока есть только значок, обозначающий, что страница добавлена в закладки. Следующий на очереди значок, обозначающий, что страница открыта в режиме только для чтения. Есть идея помечать разные типы страниц своими дополнительными значками. Если что, эти значки планирую сделать отключаемыми.
Ходил вчера на Moscow Python Meetup, который проходил в Школе 21 от Сбера - изначально это был аналог Школы 42 - международной франшизы, школы программирования, в которой учат методом полного погружения (выплывет / не выплывет). Интересно, какой у них сейчас статус. Но пост не об этом.
На этом митапе было три доклада. Первый был про тестирование в целом и разные полезные плагины к pytest. Интересно, несколько плагинов я себе записал в заметки.
Второй доклад был от Сбера про написание агентов, которые взаимодействуют с нейронками через их API, но не просто передают запрос от пользователя, но на основе полученного ответа могут скорректировать запрос или сделать еще один запрос и только через несколько итераций выдать результат пользователю. Докладчик показывал все на примере сберовского GiagaChat, но рассказывал о библиотеках, которые могут работать с разными нейронками, и с помощью которых можно визуализировать и отлаживать процесс взаимодействия с нейронками.
А третий доклад был неожиданно про Lisp, а точнее про то, как на Python написали интерпретатор Lisp (не спрашивайте зачем :)). Этот доклад был на английском языке, его делал парень из Латинской Америки.
На этом митапе было три доклада. Первый был про тестирование в целом и разные полезные плагины к pytest. Интересно, несколько плагинов я себе записал в заметки.
Второй доклад был от Сбера про написание агентов, которые взаимодействуют с нейронками через их API, но не просто передают запрос от пользователя, но на основе полученного ответа могут скорректировать запрос или сделать еще один запрос и только через несколько итераций выдать результат пользователю. Докладчик показывал все на примере сберовского GiagaChat, но рассказывал о библиотеках, которые могут работать с разными нейронками, и с помощью которых можно визуализировать и отлаживать процесс взаимодействия с нейронками.
А третий доклад был неожиданно про Lisp, а точнее про то, как на Python написали интерпретатор Lisp (не спрашивайте зачем :)). Этот доклад был на английском языке, его делал парень из Латинской Америки.
Как-то неожиданно быстро закончился декабрь. Полноценные итоги года писать не хочу, но итоги месяца по поводу написания книги про Python подвести надо. Этот месяц получился не такой продуктивный, как прошлый, если считать по количеству написанных страниц, хотя по количеству написанных глав вполне себе ничего.
Сначала я дописал 22-ю главу про разбор параметров командной строки. В ней сказал, зачем это надо, как извлекать параметры из переменной sys.argv, показал, насколько это муторно, если делать множество разных именованных параметров. После этого начал рассказывать про использование стандартной библиотеки argparse, о которой когда-то писал большую статью у себя на сайте. Для книги все писал заново и сильно сократил.
После этого написал 23-ю главу про основы работы с регулярными выражениями. Описал базовый синтаксис, включая группы, и способы применения регулярных выражений - проверка на соответствие, поиск и замена. Поскольку книга рассчитана на новичков, то не стал углубляться в выражения, которые просматривают строки вперед-назад в поисках совпадений.
Написал 24-ю главу про тестирование. Это пока самая спорная глава, и в случае сильного сокращения она первая полетит в корзину. Я разрывался между тем, чтобы описывать стандартный модуль unittest и библиотеку pytest, которую сейчас все используют. Но все-таки решил остановиться на unittest по нескольким причинам. Во-первых, полезно иметь представление о возможностях стандартной библиотеки. Во-вторых, для маленьких скриптов, которые часто используются для обработки данных, обычно не хочется тянуть лишние зависимости, поэтому здесь лучше подойдет unittest. И, в-третьих, если писать про pytest, то надо писать про фикстуры, в которых используется оператор yield, а я до этого ничего не писал про создание генераторов, и хотел бы этой темы избежать. В заключении я сказал, что есть такая замечательная библиотека как pytest со своими особенностями, надеюсь, что это хотя бы простимулирует читателей посмотреть, что это такое. Под конец главы я еще написал раздел про тесты в строках документации.
Глава про тесты была последней, которая была посвящена непосредственно языку Python и стандартной библиотеке. Дальше должны пойти главы, в которых я буду рассказывать про NumPy, Matplotlib и Pandas.
Я уже начал писать главу про NumPy. Пока на протяжении почти 10 страниц описал разные способы создания массивов и начал описывать функции и методы для работы с ними. Стараюсь не сваливаться в пересказ документации, но это сложно, потому что у многих функций есть множество интересных параметров, о которых хочется не просто упомянуть, но и показать примеры их работы.
Кажется, количество глав про NumPy будет несколько больше, чем я ожидал. Всего сейчас уже написано 464 страницы, а я только подхожу к самому интересному.
#книга_про_python
Сначала я дописал 22-ю главу про разбор параметров командной строки. В ней сказал, зачем это надо, как извлекать параметры из переменной sys.argv, показал, насколько это муторно, если делать множество разных именованных параметров. После этого начал рассказывать про использование стандартной библиотеки argparse, о которой когда-то писал большую статью у себя на сайте. Для книги все писал заново и сильно сократил.
После этого написал 23-ю главу про основы работы с регулярными выражениями. Описал базовый синтаксис, включая группы, и способы применения регулярных выражений - проверка на соответствие, поиск и замена. Поскольку книга рассчитана на новичков, то не стал углубляться в выражения, которые просматривают строки вперед-назад в поисках совпадений.
Написал 24-ю главу про тестирование. Это пока самая спорная глава, и в случае сильного сокращения она первая полетит в корзину. Я разрывался между тем, чтобы описывать стандартный модуль unittest и библиотеку pytest, которую сейчас все используют. Но все-таки решил остановиться на unittest по нескольким причинам. Во-первых, полезно иметь представление о возможностях стандартной библиотеки. Во-вторых, для маленьких скриптов, которые часто используются для обработки данных, обычно не хочется тянуть лишние зависимости, поэтому здесь лучше подойдет unittest. И, в-третьих, если писать про pytest, то надо писать про фикстуры, в которых используется оператор yield, а я до этого ничего не писал про создание генераторов, и хотел бы этой темы избежать. В заключении я сказал, что есть такая замечательная библиотека как pytest со своими особенностями, надеюсь, что это хотя бы простимулирует читателей посмотреть, что это такое. Под конец главы я еще написал раздел про тесты в строках документации.
Глава про тесты была последней, которая была посвящена непосредственно языку Python и стандартной библиотеке. Дальше должны пойти главы, в которых я буду рассказывать про NumPy, Matplotlib и Pandas.
Я уже начал писать главу про NumPy. Пока на протяжении почти 10 страниц описал разные способы создания массивов и начал описывать функции и методы для работы с ними. Стараюсь не сваливаться в пересказ документации, но это сложно, потому что у многих функций есть множество интересных параметров, о которых хочется не просто упомянуть, но и показать примеры их работы.
Кажется, количество глав про NumPy будет несколько больше, чем я ожидал. Всего сейчас уже написано 464 страницы, а я только подхожу к самому интересному.
#книга_про_python
С самого начала но моем ноутбуке, которому в конце этого года должно исполниться 10 лет, стоит Ubuntu. Интерес к этому дистрибутиву я потерял уже давно, после того, как компания Canonical отказалась от разработки собственной оболочки Unity (как бы ее не ругали, но она была интересная), и с тех пор дистрибутив обновлял просто по привычке. Еще иногда нужен был именно Ubuntu, чтобы собрать snap-пакет, но в последнее время проблемы со сборкой в Manjaro (дистрибутив, который у меня стоит на десктопе, и я им вполне доволен) рассосались. И вот я задумался поставить вместо Ubuntu что-то другое, более экзотическое. Пока не решил, на что его поменять, думаю, может быть попробовать экзотику и поставить NixOS, а может быть наоборот не далеко уходить от Ubuntu и поставить Rhino - дистрибутив на основе Ubuntu, но обновляющийся не релизами, а постоянно (rolling), да еще и со своей оболочкой. На что-то совсем хардкорное вроде Gentoo я не готов морально.
#linux
#linux
Forwarded from OutWiker (Евгений Ильин)
Выложил очередную альфа-версию OutWiker под номером 4.0.0.950.
В этой версии много заметных изменений. Во-первых, теперь около основных значков заметок могут быть дополнительные, которые, например, обозначают, что заметка находится в закладках или открыта в режиме только для чтения.
Во-вторых, сделал новый плагин, который выделяет недавно измененные страницы (добавляет дополнительный значок и выделяет цветом).
И в эту версию попали еще разные более мелкие улучшения и исправления. Обо всем этом более подробно написал в блоге - https://jenyay.net/blog/2025/01/20/outwiker-4-0-0-950-alpha-5-dopolnitelnye-znachki-i-novyjj-plagin/
В этой версии много заметных изменений. Во-первых, теперь около основных значков заметок могут быть дополнительные, которые, например, обозначают, что заметка находится в закладках или открыта в режиме только для чтения.
Во-вторых, сделал новый плагин, который выделяет недавно измененные страницы (добавляет дополнительный значок и выделяет цветом).
И в эту версию попали еще разные более мелкие улучшения и исправления. Обо всем этом более подробно написал в блоге - https://jenyay.net/blog/2025/01/20/outwiker-4-0-0-950-alpha-5-dopolnitelnye-znachki-i-novyjj-plagin/
В новогодние каникулы мы с друзьями поехали в Киров, и там зашли в музей железнодорожного транспорта. Внезапно в этом музее нашли советский компьютер "Наири", разработанный в 1960-х годах.
Уже дома решил поподробнее почитать про него, и оказалось, что это довольно интересная штука. И главное, что в интернете можно найти руководство пользователя на этот девайс. Не удержался, написал пост про "Наири" - https://jenyay.net/History/Nairi
А после этого решил, что на сайте не хватает раздела для подобных статей, а посты в блоге на эту тему есть, и поэтому завел новый раздел "История науки и IT", куда собрал ссылки на имеющиеся старые блогозаписи по теме - https://jenyay.net/History/History
#история_it
Уже дома решил поподробнее почитать про него, и оказалось, что это довольно интересная штука. И главное, что в интернете можно найти руководство пользователя на этот девайс. Не удержался, написал пост про "Наири" - https://jenyay.net/History/Nairi
А после этого решил, что на сайте не хватает раздела для подобных статей, а посты в блоге на эту тему есть, и поэтому завел новый раздел "История науки и IT", куда собрал ссылки на имеющиеся старые блогозаписи по теме - https://jenyay.net/History/History
#история_it
Вчера ходил на очередной Moscow Python Meetup, который проходил на этот раз в офисе МТС около метро Технопарк. Традиционно, в рамках митапа было три доклада.
Первый доклад был про то, как делали систему анализа документов, находящихся в открытом доступе в корпоративной сети. Надо было быстро анализировать миллионы документов и помечать их метками, говорящие о том, что это за документ (договор, служебная записка, художественная книжка), кто и какие компании в документе упоминаются.
Второй доклад был про архитектуру распределенной системы и про то, как реализовывали паттерн "Сага", предназначенный для обеспечения надежных сложных транзакций, которые на любом внутреннем шаге могут сломаться, например, из-за ненадежной сети, или их могут отменить.
И третий доклад, который мне понравился больше всего, был про то, как разрабатывали ботов (в докладе их называли роботами), которые программируются для взаимодействия с десктопными приложениями. Это нужно, чтобы автоматизировать такие действия как нажатия кнопок, заполнение полей и т.п. При этом софт, с которым взаимодействуют роботы, сильно отличаются по принципам построения интерфейса, и где-то можно было находить нужный элемент управления по его дескриптору, а где-то нужная кнопка распознавалась по внешнему виду, сравнивая со скриншотом.
#moscowpython #python #программирование
Первый доклад был про то, как делали систему анализа документов, находящихся в открытом доступе в корпоративной сети. Надо было быстро анализировать миллионы документов и помечать их метками, говорящие о том, что это за документ (договор, служебная записка, художественная книжка), кто и какие компании в документе упоминаются.
Второй доклад был про архитектуру распределенной системы и про то, как реализовывали паттерн "Сага", предназначенный для обеспечения надежных сложных транзакций, которые на любом внутреннем шаге могут сломаться, например, из-за ненадежной сети, или их могут отменить.
И третий доклад, который мне понравился больше всего, был про то, как разрабатывали ботов (в докладе их называли роботами), которые программируются для взаимодействия с десктопными приложениями. Это нужно, чтобы автоматизировать такие действия как нажатия кнопок, заполнение полей и т.п. При этом софт, с которым взаимодействуют роботы, сильно отличаются по принципам построения интерфейса, и где-то можно было находить нужный элемент управления по его дескриптору, а где-то нужная кнопка распознавалась по внешнему виду, сравнивая со скриншотом.
#moscowpython #python #программирование
Написал в блог традиционный ежемесячный отчет о том, как продвигается написание книги про Python - https://jenyay.net/blog/2025/02/02/kniga-pro-python-progress-za-yanvar-2025-goda/.
Краткое содержание этого поста. Количество страниц перевалило за первоначально планируемые 500, но представитель издательства сказал, что до 700 - это ОК, на эту цифру теперь и ориентируемся.
За последний месяц в первом приближении написал главы про массивы в NumPy, про форматы файлов для хранения данных (текст, CSV, HDF5, Zarr и упомянул еще NetCDF) и про основы работы с библиотекой Matplotlib для построения графиков.
#книга_про_python
Краткое содержание этого поста. Количество страниц перевалило за первоначально планируемые 500, но представитель издательства сказал, что до 700 - это ОК, на эту цифру теперь и ориентируемся.
За последний месяц в первом приближении написал главы про массивы в NumPy, про форматы файлов для хранения данных (текст, CSV, HDF5, Zarr и упомянул еще NetCDF) и про основы работы с библиотекой Matplotlib для построения графиков.
#книга_про_python
На следующей неделе у меня начинаются занятия со студентами. Как обычно, в начале семестра чехарда с расписанием, но надеюсь, что в этом семестре у меня обойдется с минимальным количеством рабочих суббот.
Как обычно, у меня основной предмет - это "Моделирование электродинамических задач" у двух групп. В одной группе этот предмет идет один семестр, а в другой - два. Поэтому в первой группе, которой уже хоть что-то успели прочитать из электродинамики, мы будем заниматься непосредственно написанием скриптов на Python с реализациями алгоритма FDTD для моделирования распространения радиоволн (с упором на математику и физику, а скрипты - для подтверждения того, что формулы работают). В другой группе электродинамика только началась, и поэтому первый семестр я их буду мучить непосредственно Python-ом, а до полноценного моделирования доберемся в следующем семестре, когда электродинамику они уже будет знать (хе-хе), или по крайней мере ее сдадут, ну или хотя бы уже попытаются сдать.
А еще в этом семестре у меня загадочный предмет "Учебная исследовательская работа студентов" на первом курсе. Поскольку студенты еще ничего не знают по нашей специальности, основная цель на этом этапе - их заинтересовать. Мне предложили этих студентов заинтересовать Python-ом и показать серьезные программы для моделирования СВЧ устройств, чтобы они еще не совсем осознанно, но что-то там попытались нарисовать, вместе с преподом (в смысле со мной) посчитать и увидеть много цветных и трехмерных картинок. Посмотрим, что из этого получится.
#преподавание #маи
Как обычно, у меня основной предмет - это "Моделирование электродинамических задач" у двух групп. В одной группе этот предмет идет один семестр, а в другой - два. Поэтому в первой группе, которой уже хоть что-то успели прочитать из электродинамики, мы будем заниматься непосредственно написанием скриптов на Python с реализациями алгоритма FDTD для моделирования распространения радиоволн (с упором на математику и физику, а скрипты - для подтверждения того, что формулы работают). В другой группе электродинамика только началась, и поэтому первый семестр я их буду мучить непосредственно Python-ом, а до полноценного моделирования доберемся в следующем семестре, когда электродинамику они уже будет знать (хе-хе), или по крайней мере ее сдадут, ну или хотя бы уже попытаются сдать.
А еще в этом семестре у меня загадочный предмет "Учебная исследовательская работа студентов" на первом курсе. Поскольку студенты еще ничего не знают по нашей специальности, основная цель на этом этапе - их заинтересовать. Мне предложили этих студентов заинтересовать Python-ом и показать серьезные программы для моделирования СВЧ устройств, чтобы они еще не совсем осознанно, но что-то там попытались нарисовать, вместе с преподом (в смысле со мной) посчитать и увидеть много цветных и трехмерных картинок. Посмотрим, что из этого получится.
#преподавание #маи
На днях после долгого перерыва вышла новая версия (0.14) консольного двухпанельного файлового менеджера vifm. Я давно с любопытством слежу за этим проектом. Это такой файловый менеджер, работа с которым напоминает работу с Vim. Я когда-то даже писал статью из двух частей про использование и настройку этого чуда - https://jenyay.net/Programming/Vifm1.
К сожалению, в повседневной жизни мне консольные файловые менеджеры не подходят, потому что я часто таскаю мышкой файлы из менеджера в какую-нибудь уже запущенную программу, а с консолью такое в принципе невозможно сделать, но проект vifm мне очень нравится, он подкупает своей оригинальной идеей.
#soft #консоль
К сожалению, в повседневной жизни мне консольные файловые менеджеры не подходят, потому что я часто таскаю мышкой файлы из менеджера в какую-нибудь уже запущенную программу, а с консолью такое в принципе невозможно сделать, но проект vifm мне очень нравится, он подкупает своей оригинальной идеей.
#soft #консоль
На следующей неделе попросили провести пару занятий со школьниками, которые к нам придут. Надо им рассказать о том, чем мы занимаемся и не распугать потенциальных абитуриентов. Буду им показывать много картинок, и в презентации нет ни одной формулы.
#преподавание #маи
#преподавание #маи
В книге про Python добрался до написания главы про библиотеку Pandas, которая предназначена для обработки табличных данных. Для примеров кода надо было или придумать, или найти какие-то наборы данных. Поскольку с фантазией на такие вещи у меня все плохо, начал искать бесплатные датасеты в интернете. Перебрал множество вариантов открытых данных, включая статистику по длине клюва пингвинов и продажам автомобилей в Индии, пока не наткнулся на отличный датасет, в котором содержатся все космические запуски разных стран, начиная с запуска первого советского спутника в 1957 году и до 2022 года. Эти данные включают информацию об организациях, отвечающей за запуски, место запуска, дата и время, название космического аппарата, название миссии, сведения о том, используется ли до сих пор такой же тип ракеты-носителя, бюджет миссии (если он известен), и статус миссии - успех или провал. Прям хорошие данные для примера в книге, рассчитанной на инженеров.
#книга_про_python
#книга_про_python
Kaggle
Space Missions from 1957 to 2022
All space missions from 1957 to August 2022.
Когда я начинал писать книгу про Python, то планировал, что я ее буду писать в основном опираясь на материал лекций, которые читаю студентам. В реальности оказалось, что почти все примеры кода для книги я придумывал заново. В этом семестре у меня опять начались лекции про Python, и во время подготовки к ним пошел обратный процесс - код начал мигрировать из книги в лекции. А код за собой потянул изменения в структуре материала лекций. Ну а то, что я еще не дописал в книге, в лекциях я все равно не успею рассказать.
И вообще за все время работы в институте еще не было ни одного семестра, когда бы я ничего не менял в своих презентациях, но при этом каждый раз надеюсь, что у меня все готово, и при подготовке достаточно будет вспомнить, о чем я собирался рассказывать.
PS. Если кому-то интересно, то почти все презентации и исходники я выкладываю на github - https://github.com/Jenyay/modelling. Там даже еще остались старые материалы с тех доисторических времен, когда вместо Python я использовал Matlab.
#преподавание
И вообще за все время работы в институте еще не было ни одного семестра, когда бы я ничего не менял в своих презентациях, но при этом каждый раз надеюсь, что у меня все готово, и при подготовке достаточно будет вспомнить, о чем я собирался рассказывать.
PS. Если кому-то интересно, то почти все презентации и исходники я выкладываю на github - https://github.com/Jenyay/modelling. Там даже еще остались старые материалы с тех доисторических времен, когда вместо Python я использовал Matlab.
#преподавание
GitHub
GitHub - Jenyay/modelling
Contribute to Jenyay/modelling development by creating an account on GitHub.
Уже несколько дней назад закончился февраль, а я еще не написал традиционного поста о том, как продвигается написание книги по Python*.
В прошлом месяце я занимался написаним двух глав. Первая из них посвящена разным видам графиков, которые может строить библиотека Matplotlib. Это продолжение предыдущей главы, в которой я описывал основы использования Matplotlib. В новой главе рассказал, как строить графики в виде точек на плоскости (scatter), графики в полярной системе координат (в которой, например, строятся диаграммы направленности антенн), гистограммы, круговые диаграммы в виде пирога, нарезанного на сектора, трехмерные поверхности, линии уровня, а также векторные поля и отдельные вектора.
Следующая глава посвящена библиотеке Pandas, которая предназначена для работы с табличными данными. Эту главу еще не закончил, хотя она уже близка к завершению. В ней я более подробно разобрал чтение формата CSV и работы с индексами и заголовками таблиц. Потом описывал основные возможности для работы с числовыми таблицами - выделение подтаблиц, фильтрация данных, работу с отсутствующими данными. Сейчас дописываю раздел про работу со строковыми данными и группировку строк. Чтобы уложиться с запланированный объем, не стал описывать работу со сложными индексами и временными рядами, хотя к таким рядам может быть вернусь в следующих главах.
А дальше мне останется написать только две главы, одна будет посвящена JupyterLab, а другая более прикладным инженерным и научным задачам: преобразование Фурье, интерполяция данных, аппроксимация, решение систем уравнений, использование специальных функций вроде функций Бесселя и Ханкеля. Может быть придется что-то сократить, посмотрим по объему.
На сегодня написано 590 страниц. Если следующие две главы вместе не превысят 60 страниц, то этой будет замечательно.
* Я удивляюсь, как кому-то удается писать посты в блог каждый день, если это не является их работой.
#книга_про_python
В прошлом месяце я занимался написаним двух глав. Первая из них посвящена разным видам графиков, которые может строить библиотека Matplotlib. Это продолжение предыдущей главы, в которой я описывал основы использования Matplotlib. В новой главе рассказал, как строить графики в виде точек на плоскости (scatter), графики в полярной системе координат (в которой, например, строятся диаграммы направленности антенн), гистограммы, круговые диаграммы в виде пирога, нарезанного на сектора, трехмерные поверхности, линии уровня, а также векторные поля и отдельные вектора.
Следующая глава посвящена библиотеке Pandas, которая предназначена для работы с табличными данными. Эту главу еще не закончил, хотя она уже близка к завершению. В ней я более подробно разобрал чтение формата CSV и работы с индексами и заголовками таблиц. Потом описывал основные возможности для работы с числовыми таблицами - выделение подтаблиц, фильтрация данных, работу с отсутствующими данными. Сейчас дописываю раздел про работу со строковыми данными и группировку строк. Чтобы уложиться с запланированный объем, не стал описывать работу со сложными индексами и временными рядами, хотя к таким рядам может быть вернусь в следующих главах.
А дальше мне останется написать только две главы, одна будет посвящена JupyterLab, а другая более прикладным инженерным и научным задачам: преобразование Фурье, интерполяция данных, аппроксимация, решение систем уравнений, использование специальных функций вроде функций Бесселя и Ханкеля. Может быть придется что-то сократить, посмотрим по объему.
На сегодня написано 590 страниц. Если следующие две главы вместе не превысят 60 страниц, то этой будет замечательно.
* Я удивляюсь, как кому-то удается писать посты в блог каждый день, если это не является их работой.
#книга_про_python
Я долго держался, старался в книге про Python придумывать простые примеры, чтобы не надо было писать большие пугающие формулы. Но в главе, которая, возможно, будет последней, прорвало. Эта глава посвящена библиотеке SciPy и научным вычислениям, и я решил, что здесь можно. В итоге в разделе, в котором пишу про специальные функции, привожу пример, который я даю студентам в качестве домашнего задания - рассчитать эффективную площадь рассеяния идеально проводящей сферы, а для этого используются сферические функции Бесселя и Ханкеля. После этого идет раздел про преобразование Фурье, а поскольку книжка больше про программирование, а не про физику, надо хотя бы поверхностно объяснить, что это такое и где используется. И вот для того, чтобы объяснить, что это такое, пошли формулы с интегралами. Потом еще будут формулы для аналитического расчета спектра некоторых сигналов, но там будет уже не так страшно.
Жаль только, что потом все эти формулы надо будет перенабирать в Ворде, а то я сейчас весь текст пишу в LibreOffice под Линуксом и в либреофисном редакторе формул.
#книга_про_python
Жаль только, что потом все эти формулы надо будет перенабирать в Ворде, а то я сейчас весь текст пишу в LibreOffice под Линуксом и в либреофисном редакторе формул.
#книга_про_python
Все-таки наблюдать за сходимостью алгоритмов оптимизации - это очень залипательный процесс. Странно, что еще не сделали соц. сеть вроде Тиктока, куда можно заливать только видео с бегущими циферками или сходящимися со временем графиком. А в комментах можно было бы обсуждать, например, почему на 358-й итерации так резко скакнуло значение целевой функции. И срач можно устраивать между фанатами различных алгоритмов оптимизации, например, между генетиками (любителями генетического алгоритма) и жгунами (фанатами алгоритма имитации отжига).
Вы думаете почему я давно тут не писал о прочитанных книжках? Я иногда переключаюсь с технической литературы и нонфикшна на художественную, и некоторое время назад взялся за двухтомник Роберта Музиля "Человек без свойств". Поскольку я испорчен объектно-ориентированным программированием, каждый раз хотелось узнать, если у него нет свойств, есть ли у него методы, но сейчас не об этом.
Мусолил я эти два тома (800 + 600 страниц), кажется, с декабря. Очень тяжело шло. Вроде бы было интересно, и автор местами достаточно иронично описывает Австрию за год до начала Первой мировой войны, но такое ощущение, что вся книга построена не для того, чтобы рассказать какую-то историю, а чтобы автор мог поделиться своими философскими рассуждениями практически на все абстрактные темы. И вот такие длинные рассуждений, которые часто произносятся от лица какого-нибудь героя, читались очень тяжело. Во время их чтения мозг переключался на посторонних мысли, и приходилось его насильно возвращать в книгу и часто перечитывать одни и те же абзацы по несколько раз. И самое обидное, что после прочтения этих философских рассуждений, они почти сразу выветривались из памяти. Надо теперь хотя бы еще раз пролистать книжку и вспомнить, основные идеи.
В общем, странная книжка. И жаль еще, что автор ее не успел дописать, и поэтому все сюжетные линии так и остались подвешенными.
#книги
Мусолил я эти два тома (800 + 600 страниц), кажется, с декабря. Очень тяжело шло. Вроде бы было интересно, и автор местами достаточно иронично описывает Австрию за год до начала Первой мировой войны, но такое ощущение, что вся книга построена не для того, чтобы рассказать какую-то историю, а чтобы автор мог поделиться своими философскими рассуждениями практически на все абстрактные темы. И вот такие длинные рассуждений, которые часто произносятся от лица какого-нибудь героя, читались очень тяжело. Во время их чтения мозг переключался на посторонних мысли, и приходилось его насильно возвращать в книгу и часто перечитывать одни и те же абзацы по несколько раз. И самое обидное, что после прочтения этих философских рассуждений, они почти сразу выветривались из памяти. Надо теперь хотя бы еще раз пролистать книжку и вспомнить, основные идеи.
В общем, странная книжка. И жаль еще, что автор ее не успел дописать, и поэтому все сюжетные линии так и остались подвешенными.
#книги