Archiv

Archiv für die Kategorie ‘Mampf’

Neues von Mampf

21. Januar 2009 GambaJo Keine Kommentare

Na ja, der Titel ist etwas geprahlt. Hab in den letzten Wochen einfach kaum Zeit das Projekt wirklich voranzutreiben.
Im Moment arbeite ich an der Hauptansicht, die dreigeteilt ist. Links wird es mal einen Baum geben, der die Rezepte nach Kategorien auflistet. Oben links gibt es eine Auflistung der Rezepte, und unten rechts gibt es dann das markierte Rezept ausführlicher dargestellt. Genau an dieser Darstellung arbeite ich gerade.

mampf_hauptansicht_01mampf_erfassung_01
mampf_hauptansicht_02mampf_auswahl_01

KategorienMampf | Tags: , , ,

Chili-Saison 2008 ist zu Ende

2. Dezember 2008 GambaJo Keine Kommentare

Hab letzte Woche die letzten Habeneros, Lemon Drops und Rocotos abgeerntet und getrocknet. Nun ist nichts mehr an den Sträuchern. Ist aber auch nicht schlimm, hab so einiges getrocknet, so dass ich einen guten Vorrat für den Winter habe.

Im Moment komme ich auch nicht wirklich hier was zu schreiben, da ich beruflich stark unter Strom stehe. Na ja, ich hoffe, es wird bald besser.

Da ich beruflich auch immer mehr C# und SQL brauche, habe ich mein Rezeptverwaltungs-Projekt auf Eis gelegt, oder besser gesagt, ich versuche es mit C# und sqlite. Bin bisher noch nicht besonders weit, aber gefühlsmäßig würde ich sagen, dass es mir leicher fällt, als mit Java und db4o. Werde den Hauptdialog auch umgestellten, da ich noch ein paar Ideen hatte.
Da ich Debian (Linux) nutze, nutze ich Windows XP als virtuelle Maschine mit Virtualbox. Als IDE benutze ich Microsofts Visual Studio 2008. Man kann ja oft berechtigt über Microsoft meckern, aber VS ist wirklich eine gute (wenn auch nicht perfekte) IDE.

KategorienChili, Mampf | Tags: , , , ,

Zwischenstand beim Javaprojekt Mampf

18. August 2008 GambaJo Keine Kommentare

Habe im Urlaub endlich mal Zeit und vor allem Lust gefunden mich mal wieder mit meinem kleinen Java-/db4o-Projekt zu beschäftigen. Wenn man dann ein Mal wieder drin ist, läuft es ganz gut.

Änderungen waren in erster Linie für den End-User nicht sichtbar, da es eher um Code-Optimierung ging. So habe ich versucht so viel Code wie möglich aus den einzelnen Stammdaten-Modulen in die übergeordnete Klasse zu verfrachten. Das sparrt Redundanzen und mach spätere Änderungen einfacher, weil sie nur noch an einer Stelle durchgeführt werden müssen.
Ich hab alle Methoden, Eigenschaften und Kommentare in englisch umgewandelt, so dass die fertige Software später auch von anderen Entwicklern bearbeitet werden kann.
Und ich hab zu jeder von mir erstellten Methode ein Javadoc-Kommentar hinzugefügt.

Für den User merkbar ist nun, dass man alle Stammdaten-Module komplett nutzen kann (Daten erstellen, bearbeiten, löschen und auswählen) und dass man mittlerweile auch komplette Rezepte inklusive Zutatenliste erfassen und speichern kann. DIe Kommunikation mit der Datenbank läuft da schon ganz gut.
Im Moment arbeite ich daran die gespeicherten Rezepte wieder in der Rezepte-Liste anzuzeigen, und wenn man ein Rezept markiert, dass es dann auch im Dialog in den entsprechenden Feldern angezeigt wird.
Außerdem muss ich noch die einzelnen Stati (Leer, Ansicht, Bearbeiten, Neu) testen, so dass der Status an der richtigen Stelle im Programm geändert wird, und dass dann die richtigen GUI-Komponenten aktiv oder inaktiv sind.


KategorienMampf | Tags: , , , , ,

Mampf die Rezeptverwaltung

12. Juli 2008 GambaJo Keine Kommentare

Vorgeschichte

Manch einer wird es vielleicht wissen, beruflich bin ich Programmierer und Supporter in einer kleinen Firma bei mir in der Nähe.

Da mir dieser kreative Vorgang ein gutes Gefühl gibt (meistens zumindest), und ich auch andere Programmiersprachen und Techniken erlernen möchte, habe ich angefangen ein kleines privates Projekt zu starten.

Zunächst stand ich vor der Frage, was ich überhaupt machen möchte. Da ja das deejaying eines meiner Hobbys ist, wollte ich zunächst eine Verwaltungssoftware für DJs schreiben.
Die nächste Entscheidung, die ich treffen musste, war die Wahl der Programmiersprache, der Entwicklungsumgebung (IDE) und der Datenbank. Ich habe mich für das Microsoft Visual Studio 2005 Express als IDE und C# als Programmiersprache entschieden, weil zu dieser Zeit VS Express kostenlos wurde und ich es in Zukunft auch beruflich brauchen werde. Als Datenbank habe ich mich damals für sqlite entschieden, da es eine kleine und performate SQL-Datenbank ist, die ohne Datenbankserver auskommt.
Ich hab dann mal einfach unbedarft angefangen, aber ich merkte schnell, dass ich doch mehr Grundkenntnisse benötige. So habe ich erst Mini-Applikationen wie eine simple ToDo-Liste erstellt.

Irgendwann zu dieser Zeit wollte ich aus der Abhängigkeit zu Microsoft raus, d.h., Windows aufgeben und zu Linux wechseln. Das hat zwar einige Zeit gedauert, aber privat bin ich fast nur noch ausschließlich mit Linux (Debian) unterwegs. Damit hat sich aber auf einen Schlag VS Express und C# erledigt. Es gibt zwar unter Linux mono, aber so ganz ist es mit dem .NET-Framework nicht kompatibel.
Also begann meine Suche erneut, diesmal nach einer IDE und einer Sprache, die plattformunabhängig ist, so dass ich sowohl unter Linux, wie auch Windows entwickeln, aber auch die Anwendung ausführen kann.
In einem solchen Fall wird meist Java als erstes genannt. Und da ich mir früher schon mal Sun Microsystems entwickelte objektorientierte Programmiersprache, die aber eine installierte Runtime benötigt (ähnlich wie C# das .NET-Framework benötigt). Der Vorteil ist, dass es diese Runtime für verschiedene Betriebssysteme gibt und sie unter jedem Betriebssystem fast die gleichen Möglichkeiten bietet.
Im Moment ist es so, dass Eclipse von vielen Entwicklern als IDE für Java bevorzugt wird. Ich hab es mir mal angeschaut, komme damit aber nicht zurecht. Wie gesagt, hatte ich schon Erfahrung mit Netbeans. Vor allem der integrierte GUI-Builder gefällt mir ganz gut.
In Sachen Datenbank habe ich mich auch um entschieden. Ich hatte schon früher damit Kontakt, aber bisher noch nie etwas damit ausprobiert. Die Rede ist von Objekt-Datenbanken. Im Gegensatz zu relationalen Datenbanken gibt es in Objekt-Datenbanken keine Tabellen im eigentlichen Sinne. Stattdessen werden die Objekte als solches gespeichert. Das hat zwei gravierende Vorteile. Zum einen soll diese Art von Datenbank performater sein, wenn es um den Zugriff auf viele Verknüpfungen geht (ok ist bei meiner kleinen Anwendung nicht entscheidend), und zum anderen fällt die Schicht weg, in der ein Objekt in eine SQL-Anweisung bzw. ein Datensatz in ein Objekt umgewandelt werden muss, da die Objekte einfach so gespeichert werden. Es war aber hauptsächlich die Neugier, wie eine Datenbank ohne Tabellen auskommt. Etwas zu können, was die meisten anderen nicht können, kann sich später als Vorteil erweisen. Ich bin eh überzeugt, dass relationale Datenbanken deswegen vorherrschen, weil die meisten Entwickler und Administratoren eben nur diese Datenbanken gelernt haben.
Konkret habe ich mich für db4o (database for objects) entschieden, ist wohl die bekannteste kostenlose Objekt-Datenbank mit gutem Support für Java und C#.

Mampf die Rezeptverwaltung

Da ich mich sowohl in Sprache wie auch in die neue Datenbank einarbeiten muss, habe ich die Verwaltungssoftware für DJs erst mal bei Seite geschoben. Das wäre für den Anfang einfach zu umfangreich, und ich würde schnell die Motivation verlieren, da ich kein Ende sehe. Also musste ein neues Projekt her. Das zu finden war auch nicht schwer. Ein weiteres meiner Hobbys ist das Kochen. Ich koche viel und gern und lasse mich oft von fremden Rezepten inspirieren. Meistens wandle ich diese aber ab.
Blöd ist meist nur, wenn man unzählige Kochbücher und Zeitschriften hat, und vielleicht 5 Rezepte aus einem Buch/Heft interessant sind. Da verliert man schnell den Überblick und sucht sich tot. Also liegt da nichts näher eine Rezeptverwaltung zu schreiben. Klar, am Anfang wird es mühsam sein, seine Rezepte einzutragen, aber wenn man sie mal hat, gestaltet sich die Suche wesentlich einfacher.

Die Rezeptverwaltung wird „mampf“ heißen, und wenn sie mal fertig ist, als Freeware erhältlich sein. Wann es so weit sein wird, kann ich absolut nicht sagen. Das hängt davon ab, wie viel Zeit und vor allem Lust ich privat habe. Im Moment habe ich wieder Lust, daher tut sich etwas. Geht aber schleppend voran, weil ich ja auch gerade erst lerne, wie was funktioniert.

Bisher Geplante Features:

Erfassen, Bearbeiten, Löschen von Rezepten
Erfassen, Bearbeiten, Löschen von Stammdaten (Arten, Unterarten, Zubereitungsarten, Region, Zutaten, Mengeneinheiten)
Suchfunktion mit Filtern
Drucken der Rezeptliste
Drucken einzelner Rezepte

Es gibt aber schon mal Screenshots von der vorläufigen Oberfläche, wie es später mal aussehen könnte:

Mampf Hauptansicht 1 (Windows)Mampf Hauptansicht 2 (Windows)

Im Moment arbeite ich an den Stammdaten. Das sind kleine Module, mit denen Daten verwaltet werden, die man später für die Erfassung eines Rezepts benötigt. Als Beispiel nehme ich mal Zutaten. Viele Zutaten verwendet man ja immer wieder in verschiedenen Rezepten. Es wäre also unsinnig in jedes Rezept manuell z.B. „Olivenöl“ einzutragen. Zum einen wäre es sehr umständlich, zum anderen würde es Fehler in der späteren Suchfunktion provozieren, denn man kann „Olivenöl“, „Olivenoel“ oder „olivenöl“ schreiben, und für die Anwendung wären das drei verschiedene Zutaten. So erstellt man die Zutat in den Stammdaten, und kann sie in ein Rezept einfach aus einer Liste übernehmen:

Mampf Stammdaten (Arten)

KategorienMampf | Tags: , , , , , , ,