09.04.2012
Sierpinski-Dreieck in eine Custom-View zeichnen.
In der folgenden Beispielanwendung wird ein Sierpinski-Dreieck in eine Cocoa Custom-View gezeichnet. Der Algorithmus für das Sierpinkski-Dreieck ist in Objective-C umgesetzt. Bei dem Sierpinkski-Dreieck handelt es sich um ein Fraktal, welches durch folgende rekusive Regel entsteht: ...
08.04.2012
Tutorial: Wie erstelle ich eine Custom View.
In diesem Tutorial wird erklärt, wie man mit Xcode 4 und Cocoa eine Custom-View erstellt, die man beispielsweise verwenden kann, um darin mit NSBezierPath zu zeichnen oder Text anzuzeigen. In diesem Beispiel wird einfach ein kurzer Text mit drawAtPoint:withAttributes: in die NSView gezeichnet...
06.04.2012
Routenplanung für Rennrad-Touren.
Ich beschreibe hier, wie man auf einfachem Wege eine Rennrad-Tour planen kann. Dabei wird erklärt, wie man zu den Kilometer-Werten, den Höhenmetern und dem Höhenprofil kommt. Außerdem wird noch kurz erklärt, wie die Route in einem gängigen Format (KML, TCX, GPX, ..) ...
25.03.2012
Tutorial: Zeichnen einer Box mit appendBezierPathWithArcFromPoint (NSBezierPath).
In diesem Tutorial wird erklärt, wie man mit moveToPoint, lineToPoint und appendBezierPathWithArcFromPoint einen NSBezierPath erstellt, der eine Box in eine Custom-View (NSView) zeichnet. Cocoa stellt zwar mit der Klasse NSBox eine Möglichkeit zur Verfügung, um einen Rahmen mit abgerundeten "Ecken" zu zeichnen, aber es gibt Anwendungsfälle ...
20.11.2011
Wie erstelle ich eine Table View mit statischem Inhalt
In diesem Tutorial wird erklärt, wie eine Table View (NSTableView) mit einer Data-Source verknüpft wird, um die Zeilenweise mit Daten zu befüllen. In dem Beispiel werden die Daten, die angezeigt werden sollen, statisch in einer Datenstruktur aus NSArrays und NSDictionarys hinterlegt. In realen Applikationen würde die Table View dynamisch ...
18.11.2011
Einfaches Cocoa-Tutorial mit NSTextFields, NSButtons und NSColorWell (Vokabeltrainer)
In dem folgenden Tutorial wird am Beispiel eines Vokabeltrainers erklärt, wie man NSTextFields, NSButtons und NSColorWells in Objective-C und Cocoa verwenden kann. Bei der Beispielanwendung werden die Vokabeln in einer plist als key-value-Paare verwaltet ...
17.11.2011
Einlesen von XML und Zugriff mit XQuery
Hier wird beschrieben, wie XML-Content, d.h. eine XML-Datei oder eine URL, die XML liefert, eingelesen werden. Danach werden gezielt Werte mittels XQuery ausgelesen. Zu beachten ist, daß der XML-Content in ein NSXMLDocument eingelesen werden und damit Probleme auftreten können, wenn die XML-Daten "zu groß" werden. In diesen Fall sollte ein ...
02.11.2011
plist-Dateien einlesen und schreiben mit Objective-C
Die plists sind eine Möglichkeit Konfigurationsdateien oder andere Daten auf dem Mac abzulegen. Mit Objective-C lassen sich diese sehr einfach in Datenstrukturen einlesen und wieder auf die Platte schreiben. Die plist-Dateien ...
24.10.2011
Aktualisierung aller CorePlot-Tutorials auf CorePlot Version 0.9 und Xcode 4
Alle Tutorials zu CorePlot wurde auf die aktuelle Version 0.9 und Xcode4 gehoben. Bei CorePlot handelt es sich um ein Framework für Mac OSX, iPhone und iPad. Es kann zur 2D-Visualisierung von Daten verwendet werden. Gehostet wird es bei Google-Code unter http://code.google.com/p/core-plot/. ...
31.07.2011
Beispiel für den Java SwingWorker mit einem JTree
Im Folgenden wird am Beispiel eines JTree erklärt, wie man den Java SwingWorker einsetzt, um zu verhindern, daß sich eine Swing-Oberfläche nicht neu zeichnet (repaint()), während ein Task oder Prozess lange läuft. In dem Beispiel wird ein JTree erstellt, der auf jeder Ebene 10 Knoten hat. Wird ein Knoten aufgeklappt (expand) ...
23.07.2011
Java Swing JTree Performance beim Aufklappen (Expand) von großen Bäumen
Im folgenden wird erklärt, wie die Performance beim Aufklappen von großen JTrees unter Java Swing beschleunigt werden kann. Dazu wird ein Beispiel mit einem JTree implementiert, der sich über ein Popup-Menü aufklappen (expand) läßt. In dem Beispiel wird gezeigt, wie durch das überschreiben der Methode public Enumeration ...
12.06.2011
Wie erstellt man eine Java Swing TreeTable
TreeTables mit Java sind ein Thema für sich. Eigentlich geht man davon aus, daß so eine elementare Komponente in jeder GUI-Bibliothek vorhanden sind. Bei Java Swing ist das leider nicht der Fall. Allerdings besteht die Möglichkeit sich eine eigene Komponente zu erstellen, die sich wie eine TreeTable verhält und auch so aussieht. ...
19.03.2011
Core Data: Binärdaten (BLOBs-Binary Large OBjects) lesen und schreiben (für Xcode 3.2 und Xcode 4)
Ausgehend von dem Tutorial Simple Core Data Command Line Importer (Xcode 4) wird im Datenmodell nun ein zusätzliches Attribut vom Typ Binary Data (NSData) hinzugefügt, um Binärdaten (BLOBs) zu speichern und zu lesen. In dem Beispiel werden Bilder (jpgs) verwendet. Allerdings können auf die gleiche Weise alle anderen ...
13.03.2011
Core Data Command Line Tool für Xcode 3.2 und Xcode 4. (Importieren, Auslesen, Sortieren und Löschen)
In dem Beispielprojekt wird mit Xcode 4 ein einfaches Datenmodell mit Core Data angelegt, das Personen mit Vor- und Nachnamen speichern kann. Danach wird eine Funktionalität ergänzt, die das Importieren von Personen aus einer Textdatei in das Datenmodell erlaubt. Dazu wird eine Textdatei mit Vor- und Nachnamen zeilenweise ...
28.02.2011
Einlesen und Laden von Dateien mit Objective-C
In den folgenden Abschnitten findet man Code-Beispiele zum Einlesen und Laden von Dateien. Wie so oft bei Objective-C wird der Java-Entwickler an der falschen Stellen nach einer Methode zum Einlesen suchen. Wie auch schon in dem Artikel Verwendung von Dateipfaden bei Objective-C befindet sich die passende Methode in ...
27.02.2011
Verwendung von Dateipfaden bei Objective-C
Im Folgenden wird an ein paar Beispielen erklärt, mit welchen Hilfsmethoden einfach mit Dateipfaden umgegangen werden kann. Beispielsweise das Zerlegen von Pfaden, Zugriff auf das Parent-Verzeichnis, Inhalt eines Verzeichnisses, usw. ...
13.02.2011
Neue CorePlot-Beispiele: CorePlot - Drucken von Diagrammen
In dem Beispielprojekt wird mit Xcode 4 ein einfaches Datenmodell mit Core Data angelegt, das Personen mit Vor- und Nachnamen speichern kann. Danach wird eine Funktionalität ergänzt, die das Importieren von Personen aus einer Textdatei in das Datenmodell erlaubt. Dazu wird eine Textdatei mit Vor- und Nachnamen zeilenweise ...
11.02.2011
Neue CorePlot-Beispiele: CorePlot - Speichern von Diagrammen als PDF
Im Folgenden wird erklärt, wie ein CorePlot-Diagramm als PDF-Datei abgespeichert werden kann. Als Vorlage kann entweder Tutorial: CorePlot Liniendiagramm oder Tutorial: CorePlot Balkendiagramm verwendet werden. In dem Beispiel wird ein zusätzlicher Button in die Oberfläche eingebaut, der mit einer Methode zum Speichern ...
06.02.2011
Neue CorePlot-Beispiele: CorePlot - Liniendiagramme mit Hintergrundfarbe
Im Folgenden wird erklärt, wie man mit dem Mac-Framework CorePlot ein Liniendiagramm erstellt, bei dem der Hintergrund angepaßt wird. In dem CorePlot Liniendiagramme anpassen wurde erklärt, wie ein Liniendiagramm mit CorePlot erstellt wird. Es wurde auf Themen wie Linienstärke, Linienfarbe, Linienart, Symbole, Symbolfarbe...
05.02.2011
Neue CorePlot-Beispiele: CorePlot - Liniendiagramme anpassen
In dem Beispiel wird ausgehend von Tutorial: CorePlot Liniendiagramm das Liniendiagramm so angepaßt, daß eine blaue, gestrichelte Linie mit runden weißen Markierungen zu sehen ist. Dabei wird die Breite der....
05.02.2011
Neue CorePlot-Beispiele: CorePlot - Liniendiagramme und Symbole (Symbols)
In dem Tutorial: CorePlot Liniendiagramm wurde erklärt, wie ein einfaches Liniendiagramm mit CorePlot erstellt wird. Der folgende Text beschreibt, wie das Liniendiagramm den eigenen Bedürfnissen angepaßt werden kann. Es wird erklärt, wie Markierungen (Symbole) eingefügt werden und wie deren Aussehen beeinflußt werden kann...
30.01.2011
Wie erstelle ich ein Liniendiagramm mit CorePlot: Tutorial
Im Folgenden wird erklärt, wie man mit dem Framework CorePlot ein einfaches Liniendiagramm auf dem Mac erstellt.
Als erstes muß ein neues Projekt in Xcode angelegt werden. Als Typ wird dabei eine Cocoa Application gewählt. ...
25.01.2011
Wie erstelle ich eine Outline View mit statischem Inhalt: Tutorial
In diesem Tutorial wird erklärt, wie die Outline View verwendet werden kann, um eine einfache hierarchische Struktur anzuzeigen. In dem Beispiel werden die Daten, die angezeigt werden sollen, statisch in einer Datenstruktur aus NSArrays und NSDictionarys hinterlegt. In realen Applikationen würde man die Outline View dynamisch füllen. Beispielsweise würde man ...
22.01.2011
Wie erstelle ich ein Balkendiagramm mit CorePlot: Tutorial
Im Folgenden wird erklärt, wie man mit dem Framework CorePlot ein einfaches Balkendiagramm auf dem Mac erstellt.
Als erstes muß ein neues Projekt in Xcode angelegt werden. Als Typ wird dabei eine Cocoa Application gewählt. ...
20.01.2011
Neue Objective-C Code-Schnipsel: Zeichnen von Punkten
Hier werden zwei Möglichkeiten zum Zeichnen von Punkten in Cocoa vorgestellt. Eine Methode, die mit Hilfe von Bezierkurven arbeitet und eine Methode, die mit NSRectFill einen Punkt zeichnet. In dem Beispiel wird ein einfaches Apfelmännchen gezeichnet. Der Begriff Fraktal wurde von Benoit Mandelbrot geprägt und ist durch das "Apfelmännchen" berühmt ...
12.01.2011
Neue Objective-C Code-Schnipsel: NSArray und NSMutableArray
In diesem Artikel werden die Klassen NSArray und NSMutableArray kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert.
Die folgende Funktion zeigt die Verwendung von NSArray. ...
12.01.2011
Neue Objective-C Code-Schnipsel: NSDictionary und NSMutableDictionary
In diesem Artikel werden die Klassen NSDictionary und NSMutableDictionary kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert. Die Erzeugung eines NSDictionary wird einmal mit der Funktion dictionaryWithObjects:forKeys und einmal mit der Funktion dictionaryWithObjectsAndKeys gezeigt. Zur Ausgabe wird einmal eine ...
10.01.2011
Neue Objective-C Code-Schnipsel: Convenience Allocator mit dem Autorelease-Pool
Eine einfache und elegante Methode das "Aufräumen" von Objekten vor dem Benutzer einer Klasse zu verbergen ist der Convenience Allocator. Dies ist eine Art Factory (siehe Factory Pattern)., die als Hilfsmittel den Autorelease-Pool (ARP) verwendet um den allokierten Speicher wieder freizugeben. Der folgende Code zeigt eine Klasse die eine solche Factory-Methode...
10.01.2011
Neue Objective-C Code-Schnipsel:NSString und NSMutableString
In diesem Artikel werden die Klassen NSString und NSMutableString kurz beschrieben. Außerdem wird die Anwendung einiger weniger ausgewählter Funktionen demonstriert....
09.01.2011
Verwendung von CorePlot
Hier findet man eine Einführung und Installationshinweise von CorePlot. In den Installationshinweisen wird auf deutsch erklärt, wie man CorePlot auf dem Mac einrichtet. Außerdem werden an Beispielen und in Tutorials verschiedene Themen rund um CorePlot eräutert...
08.01.2011
Neue Objective-C Code-Schnipsel: Grundlagen
Der folgende Code-Schnipsel erzeugt ein Objekt vom Type NSString. Als erstes wird die Variable testString deklariert. Dann wird Speicher für die Variable reserviert und es wird ihr beim Initialisieren der Wert Hello World! zugewiesen. Dann erfolgt die Ausgabe auf der Console und die Freigabe des reservierten Speichers. ...
08.01.2011
Neue Objective-C Code-Schnipsel: Memory Management
Mit dem Autorelease-Pool (ARP) lassen sich viele Probleme in Bezug auf die Speicherfreigabe lösen. Wird beispielsweise ein Objekt erzeugt und es ist nicht klar, wie lange es benötigt wird und wer es zu gegebenen Zeit wieder deallokiert, d.h. den Speicher freigibt, dann wird der ARP eingesetzt. ...
08.01.2011
Neue Objective-C Code-Schnipsel: Objekt-Orientierung
In dem Artikel geht des um Vererbung und Polymorphie. Um zu zeigen wie das Prinzip der Polymorphie ist, werden drei Klasse definiert die alle von der Klasse JHGraphic erben und die Funktion draw implementieren. Das folgende UML-Digramm zeigt die Vererbungsstruktur: ...
20.07.2010
Neuer Webauftritt. Die alte Webseite findet man hier
Unter dieser Adresse findet man den "alten" Webauftritt. Die Inhalte sind allerdings alle auf der neuen Seite zu finden. ...
07.08.2009
Veröffentlichung des Cocoa Kochbuchs
Im Jahr 2009 haben wir (Ferhat Ayaz, Erik Meißner, Jörn Hameister) ein Buch zum Thema Cocoa und Objective-C verfaßt. Das Buch beinhaltet Rezepte mit Fortgeschrittenen Themen zu Cocoa und Objektive-C. Es werden folgende Themen behandlet: Zahlreiche Rezepte und Beispiele für den sofortigen Einsatz; Applikationen, Frameworks, XML, Internet, Kommunikation, Agenten; Persistenz, Xcode Hacks, PDF-Export, Drawing ...
25.06.2009
Heike Hameister's Web-Seite
Focussing on bioinformatics, plant physiology and biochemistry, I graduated at Darmstadt Technical University in 2007. While working in the bioinformatics group of Prof. Dr. Marc-Thorsten Hütt, I wrote my diploma thesis, discussing the "correlation-based signatures of microorganisms". Please find more information in my curriculum vitae. ...
20.01.2008
Die Blog-Seite ist online.
Auf dieser Blog-Seite findet man allerlei Dinge, die mir im alltäglichen Leben passieren. Viele Dinge sollte man allerdings nicht allzu ernst nehmen. ...
19.04.2006
TransinformationPicture hinzugefügt. Programm, daß ein Bild mittels der Transinformation untersucht.
Die Transinformation (mutual information) gibt die Korrelation zweier Zufallsgrößen an. Einfach ausgedrückt versteht man darunter, daß die Transinformation die Information von X mißt die mit Y geteilt wird. Wenn X und Y unabhängig sind, dann enthält X keine Information über Y und umgekehrt. In diesem Fall ist die Transinformation 0. Falls X und Y gleich sind, dann erhält man keine neue Information über X, wenn man Y untersucht. Die Transinformation ist in diesem Fall 1. ...
09.04.2006
Fractal hinzugefügt. Zum Experimentieren mit Fraktalen (Mandelbrot- und Julia-Mengen)
Der Begriff Fraktal wurde von Benoit Mandelbrot geprägt und ist durch das "Apfelmännchen" berühmt geworden. Interessant an der Sache ist die recht einfach aussehende Definition der Mandelbrotmenge, deren grafische Darstellung das "Apfelmännchen" ergibt. Die folgende Abbildung zeigt ein "Apfelmännchen": ...
04.04.2006
DNA-Alignment hinzugefügt. Tool zur Berechnung von Sequenzalignments.
Da DNA-Sequenzen in der Biologie experimentell gewonnen werden, sind sie häufig mit Meßfehlern behaftet, daher macht es Sinn zwei DNA-Sequenzen nicht "genau" zu vergleichen. Deshalb versucht man bei einem Sequenzalignment zwei DNA-Sequenzen so untereinander zu schreiben, daß möglichst viele Übereinstimmungen gefunden werden. Dabei ist es erlaubt Platzhalter in die DNA-Sequenzen einzufügen, damit die Übereinstimmungen "größer" werden. Als Maß für die Übereinstimmung, werden Punkte für ein "Match", "Mismatch" oder ein "Gap" verteilt. Die Werte dafür sind abhängig von dem verwendeten Algorithmus. ...
13.03.2006
DNA-Analyzer hinzugefügt. Tool zum Nachweis künstlicher DNA.
Der DNA-Analyzer ist ein kleines Tool zur Analyse von DNA-Sequenzen. D.h. mit dem Tool ist es möglich die Häufigkeit von Basis-Sequenzen zu analysieren. Die Idee zu dem Tool kam mir bei der Lektüre des Buches "Methoden der Bioinformatik - Eine Einführung" von Marc-Thorsten Hütt und Manuel Dehnert. In dem Buch wird die DNA-Sequenz aus den Roman "Jurassic Park" untersucht und nachgewiesen, daß es sich um keine reale DNA-Sequenz handeln kann. Die Idee hinter dem Nachweis ist der CG-Gehalt in einer ...
26.02.2006
Rubrik Bücher hinzugefügt. Rezensionen und Buch-Tips.
Eigentlich wollte ich nur mal sehen, wieviele Bücher ich so in einem Jahr lese. Deshalb habe ich angefangen zu jedem Buch, das ich gelesen habe, bei Amazon eine Rezension zu schreiben, um am Ende des Jahres nur die Rezensionen zählen zu müssen. Tja, es war dann doch ziemlich erscheckend, wieviele es waren. Und es werden immer mehr...
...
12.02.2006
Bio Perl Tools hinzugefügt. Verschiedene Perl-Scripte für die Sequenzanalyse in der Bioinformatik.
In den folgenden Abschnitten findet man ein paar nützliche Tools zur Sequenzanalyse in der Bioinformatik. Alle Tools sind in Perl geschrieben. simpleRepeatStatistics.pl Die mit diesem Perl-Skript läßt sich eine Repeat-Tabelle einlesen und nach SimpleRepeats durchsuchen. D.h. es werden nur die Zeilen aus der Repeat-Tablle verwendet, die als repClass den Eintrag "SimpleRepeat" haben. Danach werden die Muster (Pattern) der SimpleRepeats gezählt (Wert in repName) und die Gesamtlänge der Muster gespeichert (genoEnd-genoStart). ...
28.09.2005
step2html -Tool hinzugefügt. Wandelt eine Step-Datei in eine HTML-Datei um.
Dieses Tool transformiert eine STEP-Datei in eine HTML-Datei. Nach der Transformation ist es möglich die HTML-Datei in einem Browser zu laden. Folgende Funktionalitäten stehen zur Verfügung: Die STEP-Elemente, Referenzen und Text sind farblich hervorgehoben. Die STEP-Referenzen können über Links verfolgt werden. Beim Überfahren der der Links wird das Ziel-Element angezeigt. ...
27.09.2005
Homepage-Generator Version 1.1; Kleine Erweiterungen und Bugfixing.
Der Homepage Generator ist ein einfache Perl-Script mit dem man auf sehr einfachem Wege seine eigene Homepage erstellen und auch pflegen kann. Auch diese Homepage ist mit diesem Tool erstellt worden. Das Perl-Script läßt sich über zwei XML-Datei konfigurieren. In der einen XML-Datei wird die Struktur der Navigation der Homepage angegeben, in der anderen XML-Datei werden die Farbeinstellungen und andere Einstellungen gemacht. ...