Fragen zu Python von einem Interessenten.

24/02/2008 - 05:36 von Tamer Higazi | Report spam
Hi!
Ich bin eigentlich ein eingefleischter PHP5 Programmierer.

Mein Bruder tràumt und stirbt für Python, und ich will jetzt auch in den
Genuss kommen.

Doch sind fragen offen:

- Ich suche Frameworks für Python die genauso vom Umfang das Zeugs
liefern wie ezComponents oder dass Zend Framework.

Ich hörte VIIEEEELL von Zope WAS IST ZOPE??? Ein Applikationsserver
(Also auch ein Webserver?)

- Wenn ich ERNSTHAFT mit Python was anfangen möchte, suche ich einen
Weg, meine selbsgeschriebenen Python Skripte zu SCHÜTZEN, so dass der
Kunde nur eine Runtime Version mit einer Lizenzdatei für seine Domain
kriegt, aber keinen Einblick in die Skripte hat.

Gibt es sowas auch für Python?

Für PHP gibt es ioncube, sourceguardian, Zend Encoder die die Skripte
entschlüsseln und den entschlüsselten Code an die Zend Engine weiterreichen.

- Ich mache sehr oft in der UML meine Klassendiagramme. Gibt es ein
tool, der basierend auf der XMI Datei Roundtripp ingeneering macht und
mir die Klassen mit ihren Beziehungen erstellt?

Wenn mir jemand die Fragen beantworten kann, wàre ich der/die sehr Dankbar



Tamer Higazi
 

Lesen sie die antworten

#1 Marc BlackJack Rintsch
24/02/2008 - 08:32 | Warnen spam
On Sun, 24 Feb 2008 06:36:05 +0200, Tamer Higazi wrote:

- Wenn ich ERNSTHAFT mit Python was anfangen möchte, suche ich einen
Weg, meine selbsgeschriebenen Python Skripte zu SCHÜTZEN, so dass der
Kunde nur eine Runtime Version mit einer Lizenzdatei für seine Domain
kriegt, aber keinen Einblick in die Skripte hat.

Gibt es sowas auch für Python?



Jain. Das einfachste dürfte sein, dem Kunden die compilierten
Bytecode-Dateien zu geben. Das hat in etwa den gleichen "Schutz" wie
`*.class`-Dateien bei Java. Python kann auch aus ZIP-Archiven
importieren, das wàre dann also sowas wie ein JAR in Java. Wenn Dir das
bei Java genug wàre, kannst Du es bei Python auch so machen.

Für PHP gibt es ioncube, sourceguardian, Zend Encoder die die Skripte
entschlüsseln und den entschlüsselten Code an die Zend Engine weiterreichen.



So etwas gibt es AFAIK nicht. Obwohl es relativ einfach zu implementieren
wàre über einen "import hook". Das das noch niemand ernsthaft gemacht
hat, spricht vielleicht für den Unsinn solch einer Massnahme. ;-)

Letztendlich muss der Code in einer Form, die der Interpreter versteht,
beim Kunden sein. Wenn er verschlüsselt ist, muss er beim Kunden
entschlüsselt werden. Also gibt es beim Kunden auch immer irgend einen
Punkt, an dem ein Angreifer den unverschlüsselten Code abgreifen kann.

Wirklich sicher ist Code nur als Webservice. Vorausgesetzt es hackt
sich niemand in den Server. ;-)

- Ich mache sehr oft in der UML meine Klassendiagramme. Gibt es ein
tool, der basierend auf der XMI Datei Roundtripp ingeneering macht und
mir die Klassen mit ihren Beziehungen erstellt?



Soviel ich weiss nicht. Wüsste auch nicht wie das mit Python
funktionieren sollte. Also wie stellt man zum Beispiel Funktionen in UML
dar? Oder Klassen, die zur Laufzeit erzeugt oder veràndert werden?
Metaklassen? UML-Klassendiagramme eignen sich für statisch typisierte und
klassenfixierte Sprachen sehr gut und um den Klassen-Teil von Python
halbwegs abzubilden, aber wenn man damit "round trip" versucht, kommt man
wahrscheinlich auf einen Weg, wo man anfàngt Java in Python zu
programmieren.

Klassendiagramme in Python sind wahrscheinlich sowieso die meiste Zeit
recht langweilig, weil Vererbung in der Regel nur für gemeinsame
Funktionalitàt von Klassen verwendet wird und nicht um Typen zu schaffen
auf die man testen kann. Man hat also oft viele einzelne Klassen, selbst
wenn sie das gleiche "Interface" besitzen, und ab und zu mal eine sehr
flache Hierarchie.

Ciao,
Marc 'BlackJack' Rintsch

Ähnliche fragen