2010-10-02 4 views
19

Wie beginne ich Twisted lernen? Welche Bücher, Dokumentation oder Tutorial empfehlen Sie?Lernen Twisted

Der Grund, warum ich diese Frage gestellt habe, ist, dass Twisted Learning mir auch beim Lernen von Konzepten im Zusammenhang mit Netzwerkprogrammierung helfen würde (Terminologien und wie es funktioniert) Ich habe gehört, dass die Dokumentation für Twisted nicht so gut ist. Ist das wahr?

Beachten Sie, dass ich nach einigen Ratschlägen suche, die Ihnen tatsächlich geholfen haben. Ich suche nach deiner Erfahrung. PS: Ich bin mir der offiziellen Dokumentation bewusst. Es gibt auch das O'Reilly Book auf Twisted; Ist das gut?

+0

Hmm, scheint eine doppelte Frage: http://stackoverflow.com/questions/1888139/python-twisted-where-to-start – Etienne

+0

Aah ja es tut. Vielen Dank. – user225312

Antwort

24

Ich finde this tutorial, verbunden mit aus der third party documentation Abschnitt der wichtigsten verdrehten Dokumentationsseite, um gut geschrieben und lehrreich zu sein.

Das Tutorial besteht aus zahlreichen Iterationen der Implementierung eines "Poetry Server and Client". Es beginnt mit einer blockierenden, nicht-verdrehten Version und funktioniert bis zu einer vollständigen Twisted-Version. Jeder Schritt führt neue Abstraktionen ein und stellt Probleme dar, die in den nachfolgenden Schritten gelöst werden.

Der Code, der jeden Schritt implementiert, wird als Git Repo verfügbar gemacht.

2

Schauen Sie sich die Beispiele an, die mit Twisted's Dokumentation geliefert werden. Auch die Dokumentation ist nicht schlecht, aber nicht sehr vollständig. Außerdem sind die API-Dokumente ziemlich gut.

Wenn Sie wissen, mit welchem ​​Teil Sie beginnen, versuchen Sie einfach mit dem Code zu spielen, bis Sie stecken bleiben, google Samples in Bezug auf Ihren Code und fragen Sie nach stackoverflow.

3

Die Art und Weise, wie ich gelernt habe, war, ein kleines Projekt zu starten und viel herum zu googeln. die Twisted Tutorials sind manchmal nicht sehr klar, es gewöhnt sich nur an das Framework und die Art, wie es funktioniert ... EDIT: itd auch empfehlen zu verstehen, was verdreht ist basiert auf, die ganze Idee von twisted ist, Ereignis-driven bereitzustellen Programmierung für Python zusammen mit einigen anderen Funktionen wie asynchronen Sockets und Web-Server-Klassen.

Eine kurze Erklärung von Deferred und Callbacks, die die Idee hinter twisted sind, ist das Erstellen eines Ereignisses (deferred object), dem dann ein Callback hinzugefügt wird. dann wird an einem Punkt das Ereignis ausgelöst, und der Callback wird mit einem Ergebnis (es könnte null sein) von der Ereignisoperation ausgelöst. Ein gutes Beispiel: Wenn Sie eine Schaltfläche in einem Formular haben, erstellen Sie ein Ereignis (ein zurückgestelltes Objekt), dann fügen Sie einen Rückruf an, wenn der Benutzer auf eine Schaltfläche klickt, wird das Ereignis ausgelöst und die Callback-Funktion wird aufgerufen Veranstaltung.

ich hoffe, dies wird Ihnen eine gute allgemeine Vorstellung davon geben, was verdreht ist und wie es in einer Python-Umgebung verwendet werden kann, gibt es auch IronPython (.NET), das auch Vielseitigkeit hat.

~ george

+1

Der krondo.com Link sollte perfekt sein! – user225312

0

Wie vor dem Krondo Twisted Introduction erwähnt ist ziemlich schön. Aber das Twisted-Buch von O'Reilly ist auch nicht schlecht. Ich habe nur die erste Ausgabe (von 2005) des Buches und ich denke, es ist besser strukturiert als das Krondo-Tutorial.

Es enthält Standardaufgaben (wie das Herunterladen einer Webseite) und gibt zwei Abschnitte für jede Aufgabe.

"Wie mache ich das" und danach "Wie funktioniert es".

Ich denke, das Buch ist ziemlich gut, wenn Sie nicht die Zeit haben (oder nicht wollen), das Krondo-Tutorial zu lesen.

Eine Sache, die ich im O'RILLEY-Buch jedoch vermisse, sind Inline-Callbacks. Vielleicht haben sie ein Kapitel darüber in neuen Ausgaben hinzugefügt, da Inline-Callbacks später zu twisted hinzugefügt wurden.

Besonders wenn Sie kein Fan von einem Bildschirm lesen, würde ich vorschlagen, das Buch zu bekommen. (Auch sie enthält eine interresting Vorwort aus dem verdrehten Erfinder)