суббота, 16 декабря 2017 г.

Релиз расширения current TODOs для MS Visual Stido Code

Недавно сделал публичный релиз расширения для vscode которое занимается тем, что подсвечивает классические аннотации вида TODO: FIXME: и т.д. Также снизу в статусной строке ведется счетчик этих самых аннотаций по текущему открытому файлу.

Называется оно current TODOs и может быть установлено стандартным способом - через маркет расширений.

Проект с открытым исходным кодом доступен на github и распространяется под лицензией MIT.

История возникновения этого мини проекта такова...

вторник, 28 февраля 2017 г.

Python. Как перейти между внутренними циклами глубокой вложенности.

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


воскресенье, 18 октября 2015 г.

Python: модуль SymPy. Пример символьных вычислений.

SymPy - это обширный Python модуль реализующий символные вычисления. В качестве примера будет разобрана реальная математическая задача.

четверг, 3 сентября 2015 г.

Как маленькая деталь "убила" мой смартфон

Недавно случилось беда, мой смартфон Lenovo P780 начал самопроизвольно выключаться. На вид это выглядело просто - в хаотичный момент времени жизнь в нем моментально гасла. Это могло быть и после пары минут работы и во время старта загрузки. Типичный алгоритм решения проблемы начинается с понимания источника проблемы - программной или аппаратной. Так как никаких обновлений, софта или иных действий программной направленности не производилось, то решено было переключиться на аппаратную сторону проблемы. В интернете легко нашлась статья как без лишних проблем разобрать корпус и добраться до электронной начинки. После снятия всех нужных панелек был обнаружен свободно болтающийся маленький болтик. Тут на памяти вспоминается, что уже с год-полтора внутри телефона при тряске что то явно болтается. Но как маленький болтик так упорно мешает работе телефона? Может быть он замыкает какие то контакты и коротит телефон? Но почему только сейчас и так явно и постоянно? Несколько поразмыслив, наряду с этой версией, я выдвинул и вторую. Внутри телефона присутствует кнопка аппаратного reset'а, вполне вероятно что болтик закатывается и нажимает ее. Какой бы не была правильная версия виной всему маленький болтик, который по какой то причине открутился и отправился в свободное плавание внутри корпуса телефона.

суббота, 23 мая 2015 г.

Еще один сервис тестирования на знание Python

mypythonquiz - Небольшая серия тестов на знание Python, которая может освежить в памяти некоторые тонкости языка. Надоедливая видео реклама сбоку успешно ликвидируется Adblock расширением вашего браузера.

четверг, 23 апреля 2015 г.

Python: как обойти ошибку cx_freeze при сборке с модулем obspy

Попытка сборка на ОС Windows заканчивается ошибкой при выполнении программы "Import error: could not load shared library from obspy.signal". Я расскажу как быстро преодолеть эту ошибку.

пятница, 21 ноября 2014 г.

Отслеживаем завершение процессом загрузки CPU (для задач pywinauto)

pywinauto - это Python модуль для автоматизации процессов над графическим интерфейсом Microsoft Windows. Другими словамия, модуль позволяет эмулировать действия мыши и клавиатуры над объектами окна.

Порой случается такая ситуация что приложение выполняет какое либо трудоемкое задание, при этом не выдает никаких "внешних" признаков по которым можно было бы отследить средствами pywinauto факт завершения выполнения задачи. Использование простой задержки time.sleep() черевато проблемами, если таймаут наступит, а процесс все еще будет занят.
Все что мы знаем в такой ситуации это то что процесс потребляет ресурсы CPU, так почему бы этим не воспользоваться?