aktuellekalenderwoche.de neues Projekt

aktuelle-kalenderwoche

Wir schreiben die 22. Kalenderwoche und eine neue Seite erblickt das Licht des World Wide Web:  aktuellekalenderwoche.de.

Ziel der Webseite ist die Sammlung von Implementierungen verschiedenster Programmiersprachen mit der gleichen Zielsetzung: die Ausgabe der aktuellen Kalenderwoche, bzw. die Ausgabe einer Kalenderwoche zu einem definierten Datum.

Nach und nach werden neue Programmiersprachen hinzugefügt.

Zum Start stehen JAVA, PHP und Excel zur Verfügung. Die Liste wird jedoch kontinuierlich ausgebaut werden.

Die Seite baut auf der orange site webengine auf und ist eine Art Spielplatz für neue Parser, Techniken etc.

SVN subclipse howto

Subclipse Apple OSX

Subclipse Apple OSX

Der Informatik Fachbereich der Uni Köln etwas versteckt eine sehr gut beschriebene Anleitung zum Thema SVN mit Subclipse.

Die Anleitung umfasst dabei die Installation und Benutzung des Plugins und Umschreibt die Vorgänge / Notwendigkeiten in ausreichendem Maße.

SVN sublipse howto Uni Köln

Subclipse ist ein Plugin der freien Entwicklungsplattform Eclipse, welche plattformunabhängig auf Java aufbaut. Sublipse wird dabei zur Versionierung von Dateien im Entwicklungszyklus genutzt und kommuniziert mit einem Subversion Server.

Subversion:

Subversion (SVN) ist eine Open-Source-Software zur Versionsverwaltung von Dateien und Verzeichnissen.

Die Versionierung erfolgt in einem zentralen Projektarchiv (engl. repository) in Form einer einfachen Revisionszählung. Wenn Änderungen an Inhalten verteilt auf den Computern der Bearbeiter ausgeführt werden, werden zwischen dem Projektarchiv und einem Arbeitsplatz jeweils nur die Unterschiede zu bereits vorhandenen Ständen übertragen; anfangs das gesamte Projekt, später nur Änderungen.[…]

Java Speicherbedarf – Java needs a lot memory

Java und das elende Vorurteil über mangelnde Performance. Hier mal ein Beispiel, wie hoch der Hunger nach Speicher von Java sein kann.

Java braucht Speicher

Java braucht Speicher

167772106 TB ist schon eine enorme Größe an virtuellem Speicher. Klar ist es ein simpler Fall von fehlerhafter Adressierung und einem resultierendem Programmabsturz.

Java wird meist in der freien Entwicklungsplattform Eclipse entwickelt, welche einige Optimierungen zu Laufzeitoptimierung bietet.

Automatische Weiterleitung mit php html javascript

Mittels dem folgenden Codeschnippsel lässt sich eine Weiterleitung mittels PHP realisieren durch Nutzung des Headers bzw. der header() Funktion.

<?php
header("Location: http://www.alexanderjaeger/");
exit();
?>

In HTML lässt sich sowas folgendermaßen umsetzen:

Dabei gibt die Zahl an, nach wievielen Sekunden weitergeleitet werden soll.

In Javascript würde es so aussehen:

<script type="text/javascript">
  window.location.href='http://www.alexanderjaeger.de/';
</script>

Dabei ist zu beachten, dass bei deaktiviertem Javascript keine Weiterleitung erfolgt.

Kostenloses Java Buch

Bruce Eckel’s „Thinking in Java“ ist ein hervorragendes Buch für Einsteiger, aber auch Nachschlagewerk für Java-Fortgeschrittene.

Java Logo

Alle grundlegenden Dinge über die Programmiersprache werden ausreichend beschrieben, besonders schön sind jedoch Philosophien die vermittelt werden, wie man bestimmte Problemstellungen in Java lösen kann, elegant und einfach.

Das schöne an dem Buch ist, man erhällt es als Ebook im .doc Format oder als .html inklusive Beispiel Quellcode. Das setzen eines Lesezeichens lohnt sich und ist neben „Java ist auch eine Insel„, einem deutschen OpenBook, die erste Anlaufstelle bei auftretenden Problemen.

Neben Thinking in Java gibt es auch „Thinking in C++“ vom selben Author.

Reinschauen lohnt sich!

.tostring() überschreiben für Loggingzwecke

Wenn man am entwickeln ist baut man fast automatisch Logginganweisungen ein um dem Programmverlauf zu folgen, sofern man keine Debug-Umgebung nutzen kann. Meistens nutzt man dann an mehreren Stellen fast die gleichen Zustandsausgaben.

Macht man sich einmal die Arbeit, die tostring() Methode zu überladen, erspart man sich eine Menge Arbeit und hällt nebenbei den Quellcode des eigentlichen Programmablaufs frei von überflüssigem Code.

Folgende Situation:

Object:

public class object {
  private String vString1 = "";
  private int vIntZahl = 1;
  public String toString() {
      return ("der Inhalt des aktuellen Objektes ist: vString1: " + vString1 + " vIntZahl: " + vIntZahl);
  }
  public String getVString1() {
    return vString1;
  }
  public void setVString1(String string1) {
     vString1 = string1;
 }
  public int getVIntZahl() {
    return vIntZahl;
 }
 public void setVIntZahl(int intZahl) {
    vIntZahl = intZahl;
  }
}

Main Mathode:

public class mainclass {
public static void main(String[] args) {
Exampleobject vConcreteObject= new Exampleobject();
System.out.println("Inhalt vorher: "+vConcreteObject.toString());
vConcreteObject.setVIntZahl(3);
vConcreteObject.setVString1("hallo");
System.out.println("Inhalt nachher: "+vConcreteObject.toString());
}
}

Normal müssten wir bei beiden System.out Aufrufen die Get-Funktionen des Objektes nutzen. Die Ausgabe ist nun an jedem Ort normiert und wenn sich etwas am Aufbau des Objektes ändert, kann dies zentral in der toString() Methode angepasst werden und alle zugreifenden Ausgaben können genutzt werden.

Weiterführend könnte man natürlich eine toLog() Funktion einführen, wenn man ausführlichere Informationen haben möchte, das Prinzip bleibt aber gleich.

Noch einen drauf setzen kann man mit dem Umleiten der log Nachrichten per Syslog an seine eigene Syslog factory.