SucheBlog abonnierenVerwaltung des BlogsKategorienKontaktMarkus Brückner |
Montag, 24. November 2008Geschäftstüchtig ist...... bei Google unter dem Suchbegriff "Dyslexie" für Hörbücher zu werben... Dienstag, 18. November 2008Pylons und Elixir + Session-HandlingWer mal entspannt Webapplikationen entwickeln will/muss, dem sei Pylons ans Herz gelegt. Nettes Framework, noch einige kleinere Ecken, aber schonmal sehr angenehm zum Entwickeln geeignet. Meist liegt hinter einer Webapplikation ja ein entsprechendes Datenmodell in Form einer Datenbank. Um die bequem ansteuern zu können (SQL von Hand zu coden ist mittlerweile definitiv nicht mehr schön) bringt Pylons eine Integration für SQLAlchemy mit. Nun ist SQLAlchemy flexibel und mächtig, dafür aber manchmal etwas komplexer als nötig. Für viele Anwendungsfälle reichen die Möglichkeiten, die Elixir mitbringt (Elixir ist eine auf SQLAlchemy aufsetzende Bibliothek, die einen deklarativen Stil zur Erstellung des Datenmodells ermöglicht). Mit diesem Trio kann man schonmal recht viel Interessantes tun. Blöd nur, wenn man ein wenig faul bei der Einbindung der verschiedenen Module ist. Dann kann es nämlich dazu kommen, dass plötzlich folgende Fehlermeldung auftritt, wenn man versucht was in der Nutzersession im Pylons zu speichern: TypeError: 'ScopedSession' object is unsubscriptable Der Datentyp deutet es an: das session-Objekt von Pylons ist unter diesem Namen nicht verfügbar. Der Fehler ist simpel: im Datenmodell der Applikation stand mal from elixir import * (um Schreibarbeit bei den Elixir-Datentypen zu sparen). Im Controller wiederum wurde das Datenmodell mit from app.model import * importiert. Tja... Elixir definiert dummerweise ein eigenes session-Objekt, welches durch diese Import-Kette in den Namensraum der Applikation gerät und dort dann das eigentliche Pylons-Objekt überschreibt. Als Lösung bleiben drei Möglichkeiten: man kann den Import im Datenmodell in import elixir ändern und allen Datentypen ein elixir. voransetzen, die benötigten Elixirtypen mittels from elixir import Field, .... im Datenmodell importieren (und dabei keinesfalls session mit reinnehmen) oder in der Applikation das Datenmodell mittels import app.model as m und dann jedem Zugriff auf Elemente des Modells ein m. voranstellen. Danach hat man wieder wie gewünscht Zugriff auf seine Session und kann Daten darin speichern und daraus lesen. Freitag, 7. November 2008KombinationsessenIrgendwie sollte ich mal wieder was technisches schreiben, bevor das hier komplett zu nem Food-Blog verkommt. Aber da grad nix gravierendes technische anliegt geht's halt erstmal wieder um Essen... Mir wurde ein Buch geliehen. Jamie Oliver - "Kochen für Freunde". So verrückt ich das finde, dass ausgerechnet ein Engländer der Welt das Kochen beibringt: der Kerl ist gut. Das Buch auch. Jedenfalls fühlte ich mich spontan inspiriert, heute selbst Nudeln zu bauen. Zutaten sind relativ simpel: 250g Mehl (Typ 405), 250g Hartweizengries, 8 Eigelb, 3 Eier. Teig kneten, kühlen, ausrollen, schneiden, fertig. Funktioniert als Bandnudeln, Lasagneplatten etc.pp. Soweit so gut. Sieht, wenn fertig, so aus: ![]() 2 Meter Nudeln Ja, wir mussten spontan noch eine Stange in der Küche einziehen um die Nudeln aufhängen zu können. Wer bei dem Rezept aufgepasst hat, dem fällt was auf: es bleiben 8 Eiweiß übrig. Das ist ne Menge. Was macht man nun damit? Wegschmeißen ist irgendwie doof, also muss noch was damit gemacht werden. Das naheliegendste: Eiweiß, Zucker, etwas Salz und Zitronensaft und fertig sind die Baiser. Ok, wenn man sich doof anstellt (haben wir) und nicht mit ner Spritztüte umgehen kann (können wir nicht), dann isses ne Heidensauerei. Spaß macht's trotzdem. ![]() Küken und Baiserrohmasse ![]() Fertisch... Keine Reste übrig, beide Sachen hoffentlich lecker. Morgen oder so. Sonntag, 2. November 2008ErntezeitEigentlich wollten wir ja nur ein wenig Wandern gehen. Trainieren für Neuseeland und so. Ganz gemütlich ein wenig durch die Ausläufer des Thüringer Wald laufen (sehr schicke Ausläufer übrigens). Dann kamen aber so Sträuche dazwischen. Sträucher voll Hagebutten. Da wir letztens schonmal spontan welche mitgenommen und sehr lecker Hagebuttengelee draus gebaut hatten, konnte ich nicht so recht vorbeigehen. Irgendwann wurde es den anderen dann zu langweilig und sie haben mir halt beim Sammeln geholfen, wie man sieht... ![]() Hagebutten, überall Hagebutten. Oh, und Manu, Anja und Wastl. Später an der Strecke stand dann da noch so ein Holunderstrauch. Wastls blöder Kommentar: "Eigentlich ist Holundergelee ja auch ganz lecker." führte dazu, dass wir den spontan auch noch abgeerntet haben. (Ein echtes Problem hierbei ist übrigens der Transport der Früchte ohne entprechende Ausrüstung. Speziell Holunder hinterlässt hässliche Flecke...). Wieder zuhause angekommen konnten wir eine stattliche Ausbeute begutachten: ![]() Die eigentliche Arbeit kommt ja erst noch... Auf ging's zur Verarbeitung der Früchte. Holunderbeeren ablesen, waschen, kochen und auspressen: ![]() Nein, da ist niemand gestorben. Hagebutten schneiden, kochen und durchs Sieb gießen: ![]() Anstrengend aber lohnenswert. Die ausgekochten Hagebutten enthalten übrigens immernoch jede Menge Saft, was meine Mitstreiter spontan veranlasste, ein Alkoholexperiment zu wagen. Hagebuttenlikör. Steht hier rum und sieht zum Fürchten aus. Probieren werd ich den bestimmt nicht, wenn er fertig ist. ![]() Nein, kein Hackfleisch, sondern zerriebene Hagebutten. Das Ergebnis der Mühen: Holundergelee, Holunderessig, Holunderlikör, Hagebuttengelee, Hagebutten-Apfel-Gelee, Hagebuttenlikör und Holunder-Apfel-Hagebuttentee (nicht alles im Bild zu sehen). ![]() Fast das komplette Ergebnis. Meine Holde hat übrigens beschlossen für all die Dinge, die wir so gebastelt haben ein Symbolbild für die Küche zu malen. Hier ist schonmal das vor einiger Zeit gekochte Apfelmus: ![]() Apfelmusaquarell
(Seite 1 von 1, insgesamt 4 Einträge)
|