December 18, 2008

Как скрыть код скрипта на Python для последующей его продажи.

Если вы пишите скрипты на продажу либо на заказ рано или поздно встает вопрос как скрыть код скрипта который вы продаете и не отдавать исходный код. Зачем это надо? Например для того чтобы скрипт сам по себе не пошел по рукам, за что вы будете получать 0$ со скрипта, который вы сделали для продажи. Для PHP был создан Zend Encoder. Но я уже не сижу на PHP, поэтому сегодня расскажу как скрыть код скрипта на Python.

Дело в том что все скрипты на Python при первом запуске пишутся интерпретатором в виде байткода в файлы с расширением .pyc (это не рус типа РУСский или что-нибудь в этом роде, это PYthonCompiled - т.е. скомпилированый Python код). Интерпретатор Python по умолчанию пытается запускать именно эти файлы, а если он не существует, то использует исходный код после чего записывает этот же pyc-файл. Эти файлы можно создать, так сказать, вручную перед распространением файлов.

Делается это так
>>> import py_compile
>>> py_compile.compile('megascript.py')

В результате рядом с megascript.py будет создан файл megascript.pyc который вы и будете продавать. Удачной разработки, и больших заработков!

Links: PEP 304 - Controlling Generation of Bytecode Files

Понравилось? помогло? – Подпишись на RSS!

December 3, 2008

Ориентация во сне по времени и связь с реальной жизнью.

Сегодня приснился довольно прикольный сон, в котором я был как бы в настоящем времени, как бы понимая свое текущее положение.

Общем во сне я был в Минске, и мне позвонил знакомый чел пригласил поиграть в баскет в каком то зале. Так вот я ему ответил что вчера тоже играл в баскет (а это так и было в действительности), и через пару дней, в субботу, должен буду играть на, так называемом, баскетбольном марафоне (о нем чуть ниже), и лишний раз потренироваться мне не помешало бы. И марафоне я тоже буду играть в эту субботу.

Получается что я во сне расказал события и планы из реальной жизни. Прикольно как то получилось, у кого-нибудь бывали и бывают ли такие случаи?

Баскетбольный марафон это такая штука когда местные организовывают команды с 2-х соседних городов и играют друг против друга 8 часов нон стоп в первую субботу декабря. Представляете 8 часов баскета? в прошлом году я первый раз попал на это событие и играл за местную команду, и даже (хвастаюсь) занял второе место по количеству набранных очков среди двух команд :). Нет там не какие то ламеры играли, у всех довольно хорошего уровня баскет. В этом буду второй и наверно последний раз, потому что к следующему году к декабрю я уже свалю отсюда куда то дальше. Хотя возможно приеду просто поиграть если не буду далеко где-то.

December 1, 2008

Отправляем сообщения об ошибках используя Gmail и модуль logging в Python.

Наверное многие как и я пользуются сервисами Google в том числе Google Apps for your domain, который позволяется не загоняться как минимум почтой на своем сервере и не бороться со спамерами использующими SMTP релей. В том числе сам Gmail имеет много преимуществ перед другими почтовиками. Отправляю почту я как правило тоже используя сервера gmail.

У программистов иногда стоит задача скриптами отправлять почту ( я не про спам ;) ), это может быть как контактная форма, так и какая то служебная информация от скриптов. Например скрипт оповещает о завершении какой-либо задачи, это могут быть какие то периодические отчеты, либо в случае ошибки отправлять письмо с данными о "происшествии".