Посты с тэгом libraries


Code Reloader

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

Некоторое время назад я начал писать своего чатбота TheBot и стал подыскивать варианты, как бы и в нем сделать перезагрузку по изменению кода. Да так и не нашел готовой библиотки.

Тогда я выпилил модуль autoreload из Django, и оформил его в виде отдельной библиотеки. Так и родился модуль server-reloader.

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



Нашему проигрывателю, наши же пластинки и не подходят

Должен отметить, что всю свою карьеру разработчика, я старался держаться подальше от платформно зависимой разработки. В этом мне помогали готовые открытые библиотеки, позволяющие абстрагироваться от платформы, такие как Qt, WxWidgets, SDL, ACE и. т.д. Драйвера мне писать не приходилось, но для достаточно сложных приложений и систем этого подхода вкупе с С++ и одного, другого динамического языка хватало с лихвой. Читать дальше →



argparse, format и six или мои маленькие радости

Скажем прямо, optparse был хорошим решением для Python 2.3, когда в нем была только обертка над getopt. Но время шло и народ требовал нового решения, составлял PEP'ы и наконец принимал argparse в состав Python 2.7+. Однако на argparse я пересаживался долго. Вот прошло уже больше года с моего окончательного перехода на 2.7 ветку, а я все пытался парсить опции и аргументы, приходящие в Python-скрипт, при помощи optparse. Последние пару недель меня убедили что очень зря! С argparse я теперь могу разбирать не только опции, но и аргументы. Никакого больше,

parser = OptionParser(...)
...
options, args = parser.parse_args()

только,

parser = ArgumentParser(...)
...
args = parser.parse_args()


Набор полезных утилит и библиотек мира .NET

Хабы: Программирование, .NET

Продолжаю серию постов о библиотеках и прогрмаммах этого мира. Крайне советую всем не знакомым посмотреть в сторону языка программирования Nemerle. У него есть все шансы стать таким же мейнстримом, как C#, F#, VB.NET. Тут все зависит от вас, как говорится. Вы задаете мейнстрим, а не корпорации. Итак, приступим.

SharpDevelop



Это прекрасная IDE для работы в проектах .NET. Скоро будет добавлена поддержка C\C++. Сейчас она есть, но частичная. IDE полностью бесплатна, поддерживает на данный момент C#/VB.NET/IronRuby/IronPython/F#/Nemerle(надо доустановить плагин)/ Boo. Среди типов проектов — абсолютно любые, включая ASP.NET, WPF, WCF с визуальными редакторами, подсказками. Есть встроенный рефакторинг, имеющий пока что малую часть функционала ReSharper. Вместе с плагином Them