Блог python программиста
Изображение гика

Блог питониста

Книга про нейтронные звезды

Недавно прочитал научно-популярную книгу про нейтронные звезды. Хочу рассказать о прочитанном. Называется книга "Cуперобъекты. Звезды размером с город". Автор - Сергей Попов, доктор физико-математических наук, астрофизик и популяризатор науки, ведущий научный сотрудник института имени П.К. Штернберга (ГАИШ МГУ). Несколько лет проработал в европейских университетах и обсерваториях. Основная область его научных интересов - астрофизика нейтронных звезд.

Читать далее

Немного об импортах в питоне

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

Читать далее

Делаем navbar

Иногда нужно сделать navbar и переключать класс active на выбранной ссылке. Это можно сделать по-разному, расскажу об одном решении. Допустим у вас есть простое Flask - приложение:

Читать далее

Попытка разобраться с многопоточностью

Многопоточность подразумевает, что несколько потоков будут исполняться параллельно. В идеале использование многопоточности ускоряет выполнение программы. Однако, в python есть такая штука как GIL, Global Interpreter Lock, которая обеспечивает то, что в каждый момент времени активен только один поток.

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

Читать далее

Пишем будильник на питоне

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

Я буду писать его под Ubuntu, поскольку использую данную ОС дома. Также можно попробовать сделать то же самое под Raspbian, если у вас есть Raspberry. Будильник будет работать как демон, тоесть не будет блокировать терминал,  а будет работать в фоновом режиме.

Читать далее