Springe zum Inhalt

Monat: Februar 2016

Die diskrete Kosinus-Transformation (DCT)

Die diskrete Kosinustransformation (DCT – discrete cosine transformation) ist eine  diskrete, reellwertige, lineare und orthogonale Transformation.  Sie wurde 1974 ertsmalig vorgestellt und wurde aus der Fourier-Transformation (FT) unter Ausnutzung von Signalsymmetrien abgeleitet. Da es sich um eine reellwertige Transformation handelt, im Gegensatz zur FT deren Ergebnisse einen Real- und einen Imaginärteil hat, was natürlich nicht ganz so bequem zu handhaben ist und auch die doppelte Menge an Daten erfordert.

In diesem Artikel möchte ich einerseits die theoretischen Grundlagen und Anwendungsgebiete der DCT streifen, sowie anhand von Codebeispielen in Java eine Implementierung der diskreten Kosinustransformation vorstellen.

Lesen Sie weiter Die diskrete Kosinus-Transformation (DCT)

Der Iterator – iterieren über Java Collections

Die Java Collections implementieren die Schnittstelle java.lang.Iterable<T> und stellen somit eine Iterator Methode zur Verfügung. Mit dieser Methode besteht die Möglichkeit alle Objekte der Datenstruktur nacheinander einzeln zu extrahieren. Im Folgenden möchte ich kurz die Verwendung der Iterator für eine Liste an einem Codebeispiel veranschaulichen.

Lesen Sie weiter Der Iterator – iterieren über Java Collections

Java Collections

Die sogenannten Collection-Klassen (auch Aggregate oder Container) stellen eine Sammlung von Daten oder Objekten in einer sog. Datenstruktur dar. Sie werden verwendet um bei der Programmausführung transiente (nicht persistent gespeicherte) Daten im Arbeitsspeicher zu halten. In diesem Zusammenhang dürfte den meisten Lesern das Array schon bekannt sein, welches jedoch, im Gegensatz zu den Collections, teil der Sprachdefinition von Java ist.  Da Arrays jedoch verschiedenen Einschränkungen unterworfen sind bietet die Java-Klassenbibliothek im Paket java.util die Collections zur Verwendung an.

Die Vorteile gegenüber dem Array und den konkreten Einsatz der Java-Collections möchte ich in diesem Artikel mit dem nötigsten an Theorie und ein wenig Beispielcode veranschaulichen. Außerdem werde ich immer wieder auf die entsprechenden Seiten der Java-Klassenbibliothek verweisen, sodass Sie sich einen schnellen Überblick über die Methoden verschaffen können.

Lesen Sie weiter Java Collections

SharPoint-Desinger Workflow Startoptionen

Bei der Verwendung von SharePoint Designer Workflows bestehen verschiedene Möglichkeiten wie ein Workflow gestartet werden kann. Daher unterscheidet man prinzipiell drei unterschiedliche Varianten. Den Erstellungs-Workflow (on create), den Update-Workflow (on update) und den manuellen Wkfl. Die ersten beiden stehen daher in unmittelbarem Zusammenhang zum Erstellungsformular (New-Form) und dem Bearbeitungsformular (Edit-Form). In diesem Artikel möchte ich daher die Zusammenhänge kurz darstellen.

Lesen Sie weiter SharPoint-Desinger Workflow Startoptionen

Das Prinzip der Objektorientierung

In diesem Artikel möchte ich euch die wesentlichen Merkmale der Objektorientierung anhand der Programmiersprache Java erklären, die von vornherein als objektorientierte Sprache entwickelt wurde und somit das Konzept hervorragend veranschaulicht. Die Objektorietnierung geht davon aus, dass ein Modell der Realität über eine Menge von Objekten abgebildet werden kann. Hierbei geht man so vor, dass man zunächst im Problembereich denkt, der in der Regel sehr Komplex ist, da die Objekte der Realen Welt zahlreiche Eigenschaften haben, die jedoch nicht alle relevant für die Lösung sind. Dementsprechend nimmt man eine Abstraktion des Problembereiches vor und modelliert den sogenannten Lösungsbereich als einen Ausschnitt der realen Wel, der nur die Objekte und die Eigenschaften enthält der für die Lösung des Problems notwendig sind.

Die Eigenschaften von Objekten werden über sogenannte Attribute dargestellt, während der Zugriff auf die Eigenschaft mit Hilfe von Methoden erfolgt. Objektorientierte Softwaresysteme haben zudem die hilfreiche Eigenschaft sehr stabil gegenüber nachträglichen implementierten Änderungen zu sein, anders als dies z.B. bei der Funktionsorientierten Programmierung schnell zu instabilen Zuständen führen kann.

Lesen Sie weiter Das Prinzip der Objektorientierung

Die Unterscheidung von Effektivität und Effizienz

Effektivität und Effizienz sind zwei Begriffe die zum Einen sehr wichtig sind und zum anderen sehr häufig durcheinander gebracht und nicht richtig verstanden werden. Gerade im Unternehmen sollten diese beiden Ideen täglich gelebt werden und die Grundlage jeder Entscheidung bilden, egal ob es nun Führungsentscheidungen sind oder aber wie Sie eine Aufgabe angehen oder Ihren täglichen Arbeitsablauf gestalten. Denn Ineffektivität und Ineffizienz sind der langsame und schwerfällige Tod jedes Unternehmens. (Anmerkung: Man sollte meinen, dass dies auch für Staaten gilt, aber die tägliche Erfahrung lehrt uns das Gegenteil. Die Frage ist nur wie lange das gutgehen kann.) Aus diesem Grunde möchte ich hier eine kleine Definition wagen und die beiden Begriffe voneinander abgrenzen.

 

Lesen Sie weiter Die Unterscheidung von Effektivität und Effizienz

SharePoint Metadatennavigation – Schlüsselfilter und Navigationshierarchie (Hierarchiefilter)

Das zentrale Element des MS SharePoint ist die Liste. In Ihrer Struktur erinnert Sie an eine Tabelle einer SQL Datenbank und bietet dem User zahlreiche Möglichkeiten herkömmliche Daten, aber auch „Big Data“ in Form von beliebigen Dateien effektiv zu verwalten und zu verschlagworten. Gerade im Bereich großer Ablagesysteme für Dokumente, die in früheren Zeiten im Unternehmen durch den klassischen Fileserver realisiert wurden, zeigen sich die Stärken des SharePoint. Eine dieser Stärken ist die Pflege von Metadaten, also Eigenschaften oder Attributen die Aussagen über den Inhalt einer Datei oder eines Datensatzes im Allgemeinen machen. Früher waren an dieser Stelle die „sprechenden Dateinamen“ das Mittel der Wahl (oder besser gesagt der Qual) um neben Verzeichnishierarchien in begrenztem Umfang die Suche zu nutzen zu können. Welche bedeutenden Fortschritte und Möglichkeiten Ihnen der SharePoint bietet, und damit die Zusammenarbeit wesentlich erleichtert, möchte ich Ihnen in diesem Artikel anhand der Schlüsselfilter und Navigationshierarchie zeigen.

Lesen Sie weiter SharePoint Metadatennavigation – Schlüsselfilter und Navigationshierarchie (Hierarchiefilter)

Initiierungsformularparameter – SharePoint Designer Workflow Parameterübergabe

Bei der manuellen Ausführung eines SharePoint-Designer Workflows kann es unter Umständen erforderlich sein, dass der Benutzer Informationen übergibt die zur Datenverarbeitung innerhalb des Workflows notwendig sind. In der Softwareentwicklung sprechen wir von der Parameterübergabe. Die übergebenen Parameter können wie lokale Variablen innerhalb der Workflowinstanz verwendet werden, sind jedoch nicht Teil des Datensatzes (Listenelement) selbst.

Im folgenden Artikel möchte ich Ihnen beispielhaft demonstrieren wie Sie die Übergabeparameter für einen Workflow konfigurieren.

Lesen Sie weiter Initiierungsformularparameter – SharePoint Designer Workflow Parameterübergabe

Zustandsautomat – SharePoint Workflow

Im Unternehmensumfeld sind Geschäftsprozesse und vor allem ihre Automatisierung ein zentrales Thema. Bei der Abbildung von Geschäftslogik mit MS SharePoint Technologie, z.B. bei der Entwicklung von Workflows mit Hilfe von Visual Studio oder SharePoint Designer gibt es zum Einen das Konzept des sequentiellen Workflows und zum Anderen den Zustandsautomat (engl. state machine) welcher seine Vorteile gegenüber sequentieller Automatisierung von Geschäftsprozessen hat, welche in einer tendenziell größeren Freiheit der menschlichen Teilnehmer bestehen.

Lesen Sie weiter Zustandsautomat – SharePoint Workflow