Blog

  • WordPress: Bilder neu verlinken

    WordPress: Bilder neu verlinken

    Wenn man Bilder in Artikel oder Beiträge einfügt, dann werden die se in der Regel direkt auf das Bild verlinkt. Oftmals will man aber, dass Bilder auf eine andere Seite verlinken oder gar keine Aktion durchgeführt wird.

    Der folgende Artikel zeigt, wie man Bilder neu verlinken kann, nachdem diese bereits mit dem Editor eingefügt wurden.

    Bild bearbeiten

    Um das Bild zu bearbeiten, muss es im Editor mit der Maus angeklickt werden. Dann kann mit Klick auf den Bearbeitenknopf (kleiner Stift) in den Bearbeitenmodus gewechselt werden.
    bilder_verlinken-Auswahl

    Bild verlinken

    Im darauf erscheinenden Dialog kann man nun unter „Link zur“ die Verlinkung des Bilds ändern, dabei gibt es folgende Möglichkeiten:

    1. „Medien-Datei“: Verlinkt auf das Bild
    2. „Anhang-Seite“: Verlinkt auf eine Seite, welche lediglich das Bild und gegebenfalls weitere Informationen (z.B. die Beschreibung) dazu enthält.
    3. „Benutzerdefinierte URL“: Verlinkt auf eine beliebige Adresse, z.B. eine andere Internetseite.
    4. „Keine“: Das Bild wird nicht verlinkt.

    bilder_verlinken-link_einstellen

    Dann noch Speichern und Fertig!

  • WooCommerce: Schnelleinstieg in Varianten

    WooCommerce: Schnelleinstieg in Varianten

    Wer einen Webshop betreibt, wird schnell feststellen, dass einfache Produkte mit nur einer Ausprägung irgendwann nicht mehr ausreichen. Mit WooCommerce ist es recht einfach für seine Produkte verschiedene Variationen zu erstellen und diese anzubieten. Im folgenden Artikel möchte ich einen kurzen Einstieg geben, um den Start mit Variationen zu erleichtern. Um das Konzept und die Möglichkeiten besser zu verstehen, sollte allerdings die offizielle Dokumentation gelesen werden.

    (mehr …)

  • RC Shelby Cobra: Facelift

    RC Shelby Cobra: Facelift

    Heute mal was anderes. Nach Jahren im Keller musste mal ein kleiner Facelift her. Bitte nicht genauer hinschauen, ich bin nicht sehr talentiert und vor allem nicht geduldig genug für solche Arbeit. (Den tollen Bildvergleicher gibt es übrigens bei CodeCanyon)

  • Überblick: WordPress aktualisieren

    Überblick: WordPress aktualisieren

    Einleitung

    WordPress bringt von Haus aus einen guten und einfachen Mechanismus mit um sich selbst, installierte Plugins, Themes und Sprachen zu aktualisieren.

    Muss ich Profi sein, um Aktualisierungen durchzuführen?

    Jain, diese Frage lässt sich nicht pauschal beantworten und hängt immer von verschiedenen Faktoren ab. Ein paar – aus meiner Sicht wichtige – möchte ich hier vorstellen. Generell kann ich aus Erfahrung sagen, dass Aktualisierungen bei WordPress meist unproblematisch sind und man sich nicht davor scheuen braucht. Ich betreibe meinen Blog jetzt seit einigen Jahren und habe bisher immer ohne Probleme die verwendeten Plugins und Themes aktualisieren können.

    Dennoch sollte man auf ein paar Dinge achten.

    Faktor 1: Eigene Anpassungen

    Der wohl wichtigste Faktor sind eigene Anpassungen, in Form eigener Plugins und insbesondere eigener Themes.

    Je nachdem wie stark man die Standardfunktionalität von WordPress verbogen hat, kann eine Aktualisierung ein Risiko sein. Hier ist es wichtig, nach der Aktualisierung alle Funktionalitäten genau zu prüfen.

    Faktor 2: Die Version

    Entwickler verwenden oftmals Versionsnummern, die aus drei durch einen Punkt getrennte Zahlen bestehen, z.B. 3.8.1. Grob gesagt, bedeuten die Zahlen folgendes:

    • Die erste Zahl (3)
      Ist die Hauptversion der Komponente und ändert sich in der Regel nur, wenn wirklich bedeutende oder große Änderungen am Produkt (meist im Kern) stattgefunden haben. Manche Hersteller ändern diese Zahl auch nur aus Marketingzwecken.
      Gefahr: Ändert sich diese Zahl, dann sollte man bei der Aktualisierung vorsichtig sein, da hier sehr wahrscheinlich grundlegende Eigenschaften geändert wurden.
    • Die zweite Zahl (8)
      Ändert sich in der Regel, wenn sich im Produkt einzelne Features oder Schnittstellen geändert haben. Die Änderungen sind in der Regel überschaubar.
      Gefahr: Durch die hohe Stabilität von WordPress besteht hier in der Regel wenig Gefahr.
    • Die dritte Zahl (1)
      Dient in der Regel lediglich, um Fehlerbehebungen zu markieren. Hier sollten normalerweise keine Änderungen an Features oder Schnittstellen usw. stattgefunden haben. Ändert sich diese Zahl ist eine Aktualisierung in der Regel ohne Probleme möglich.

    Etwas genauer kann man das in der Wikipedia nachlesen.

    Faktor 3: WordPress, Plugin, Theme oder Sprache aktualisieren

    Wie bereits eingangs erwähnt gibt es in WordPress drei verschiedene Komponenten die aktualisiert werden können:

    • WordPress
      Gibt es Aktualisierungen für WordPress sollte man etwas genauer hinschauen. Updates für Fehler (die letzte Zahl) sind meist unproblematisch und können ohne weiteres durchgeführt werden. Bei größeren Aktualisierungen (die zweite Zahl) sollte man aufpassen. Hier gilt in der Regel: Verwendet man wenige und beliebte Plugins, sowie keine besonderen Themes, dann sind Aktualisierungen im Normalfall unproblematisch.
    • Plugins
      Normalerweise kann man Plugins ohne Probleme aktualisieren. Lediglich bei größeren Versionssprüngen sollte man aufpassen.
    • Themes
      Diese sind in der Regel ohne Probleme aktualisierbar.
    • Sprache
      Hat man hier keine eigenen Änderungen vorgenommen, sollte das kein Problem darstellen.

    Faktor 4: Weniger ist mehr

    Lieber weniger Plugins installieren und auf eine Funktionalität verzichten, als für jeden erdenklichen Fall etwas zu haben. Je mehr Plugins man installiert hat, desto größer ist die Gefahr, dass eins nicht mehr vom Autor gepflegt und mit einer neueren WordPress kompatibel ist.

    Wann sind Aktualisierungen verfügbar?

    Am einfachsten erkennt man, ob Aktualisierungen verfügbar sind, wenn im Adminbereich in der oberen Leiste das Aktualisierungssymbol mit einer kleinen Zahl für die Anzahl der verfügbaren Aktualisierungen angezeigt wird.

    update-verfügbar

    Wenn man dort klickt, gelangt man auf die Aktualisierungsseite.

    Vorbereitung

    1. Bevor man aktualisiert, sollte man immer eine Sicherung anlegen.
    2. Test auf einem Testsystem. Tritt hier ein Fehler auf, dann ist es nicht so problematisch und gleich für die ganze Öffentlichkeit sichtbar.

    Aktualisieren

    Die Aktualisierungsseite trennt die Komponenten WordPress, Plugins, Themes und Übersetzungen in einzelne Bereiche.

    update-durchführen

    Jetzt kann man entweder alles einzeln aktualisieren oder zumindest Blockweise die einzelnen Komponenten, z.B. Plugins.

    Am schnellsten und einfachsten ist es, wenn beispielsweise alle Plugins gleichzeitig aktualisiert, dazu:

    1. Klickt man bei Plugins „Alle auswählen“
    2. Und dann „Plugins aktualisieren“
    3. Im nächsten Dialog muss man bei manchen Installationen noch die FTP-Zugangsdaten eingeben:
      update_ftp
    4. Während der Aktualisierung wird WordPress für einen kurzen Moment in den Wartungsmodus geschaltet. Am Ende der Aktualisierung ist die Seite wieder ganz normal und hoffentlich ohne Fehler verfügbar:
      update_fertig

    Nach der Aktualisierung

    Sobald die Aktualisierung fertig ist, sollte man einen kurzen Funktionstest der Seite machen um Sicherzustellen, dass auch noch alles wie erwartet funktioniert.

    Was man alles testen sollte, hängt vom Funktionsumfang der Seite und den aktualisierten Komponenten ab. Folgende Hinweise sollen dabei helfen:

    • Die Seite einmal grob durchklicken und das Design und Layout auf Korrektheit prüfen,
    • Prüfen, ob Kommentare und Kontaktformulare noch funktionieren,
    • Sonstige spezielle Funktionieren, wie Umfragen, Kalender, Twitter-Integrationen usw. prüfen.
  • Tipp: WordPress-Sicherungen per Plugin erstellen

    Tipp: WordPress-Sicherungen per Plugin erstellen

    Mit Hilfe des Plugins BackUpWordPress können auch Anwender ohne FTP- oder MySQL-Kenntnisse schnell und einfach Sicherungen ihrer WordPress-Installation durchführen.

    Neben dem Erstellen manueller Sicherungen ermöglicht das Plugin auch automatisiert regelmäßig Sicherungen durchzuführen.  Bei erfolgreicher Erstellung des Backups kann man sich per E-Mail benachrichtigen lassen. Ist das Backup klein genug, dann wird es direkt mit der E-Mail mitgeschickt. Ansonsten ist hier leider noch ein manueller Download notwendig.

    [box type=“tick“]Tipp: Es gibt verschiedene Premium-Plugins, welche es z.B. erlauben, das erstellte Backup direkt per FTP oder DropBox zu sichern.[/box]

    Backups erstellen und runterladen

    Die Seite zum Plugin findet man in der Administration unter Werkzeuge -> Backup.

    backups-menü

     

    Die Verwaltungsoberfläche ist sehr einfach aufgebaut und bietet im Wesentlichen das Folgende:

    1. Angelegte Aufgaben und Aufgabe erstellen
      Hier werden alle bisher angelegten Aufgaben angezeigt und es ist möglich weitere Sicherungsaufgaben zu erstellen. Der Wert in Klammern gibt die Anzahl vorhandener Backups an.
    2. Beschreibung und Aktionen
      Eine kurze Beschreibung der ausgewählten Aufgabe, sowie die Möglichkeit die Aufgabe zu bearbeiten und manuell zu starten.
    3. Backups
      Alle bisher erzeugten Backups der ausgewählten Aufgabe werden hier aufgelistet und können heruntergeladen werden.


    backups-verwalten

  • Fujitsu Celvin Q800 auf QNAP TS-459 Pro II „aktualisieren“

    Hinweis: Das Installieren einer nicht offiziellen Firmware bedeutet auch den Verlust der Garantie. Zusätzlich können dabei alle Daten verloren gehen. Diese Anleitung ist ohne jede Gewähr und jeder führt sie auf eigene Gefahr aus. Für irgendwelche Schäden kann ich keine Haftung übernehmen.

    Backup: Vor dem Durchführen dieser Methode solltet ihr unbedingt eure Daten und Einstellungen sichern. Insbesondere die Einstellungen gehen wahrscheinlich verloren und müssen erneut vorgenommen werden (siehe Kommentare).

    Dank meines Diensts otr.scrobble.me hatte ich endlich einen triftigen Grund mir einen neuen Server zuzulegen. Da ich bereits gute Erfahrungen mit meinen Q700/TS-219 gemacht habe, gerne bei QNAP bleiben wollte, aber nicht soviel Geld ausgeben wollte, habe ich mir jetzt den Fujitsu Celvin Q800 gekauft. Gut der ist vielleicht nicht ganz so aktuell, aber reicht für meine Bedürfnisse: mehr Festplatte und vor allem einen Intel Dual Core-Prozessor. Da kann ich Java, Tomcat und Jenkins endlich über QPKG laufen lassen, ohne es immer lästig manuell nach jedem Serverneustart zu starten.

    Das Original 

    Auch der Q800 ist in Wirklichkeit ein QNAP-Gerät, und zwar der TS-459 Pro II (wenn man der Anzeige auf dem Display glauben darf). Laut Spezifikation ist der einzige Unterschied zwischen den beiden Geräten, dass der Q800 keine USB 3.0-Anschlüsse hat. Allerdings ist da auf dem Gehäuse lediglich ein USB 2.0-Aufkleber drüber geklebt. Da ich kein USB 3.0-Gerät besitze kann nicht sagen, ob es mit der Originalfirmware dann doch USB 3.0 ist.

    Das Update

    Okay, ich wollte das Update einfach nach der Variante für den Q700 durchführen. Das Gerät ist ja irgendwie das Gleiche. Arg, das ist mal gründlich in die Hose gegangen.  Irgendwie habe ich mich beim Herunterladen des Updates vertan und dann versucht das Update des  TS-559 Pro+ draufzuspielen. Logische Konsequenz: Fehler beim Booten, Bootloop usw. Glücklicherweise ist das Q800 ja schon ein Gerät der gehobeneren Klasse und hat einen VGA-Anschluss für Wartungszwecke. Zusammen mit diesem und der (nicht mehr aktuellen?) Recovery-Anleitung hier konnte ich das System wieder herstellen und die originale Firmware installieren.

    Das Recovery-Update 

    Hinweis: Im deutschen QNAP Club-Forum gibt es eine super bebilderte Anleitung. Leider habe ich diese auch erst jetzt (16.04.2013) durch Zufall entdeckt.

    Wie gerade angemerkt, stimmt die Recovery-Anleitung nicht ganz, zumindest hat es bei mir nicht so hingehauen und ich musste etwas improvisieren. Z.b. hießen die Festplatten bei mir anders, zusätzlich funktionierte das angegebene Tool nicht richtig, um den bootbaren USB-Stick zu erstellen.

    [box type=“alert“]Dieser Weg funktioniert wahrscheinlich nur, wenn ihr noch keine Daten auf dem Gerät habt.[/box]

    Deswegen hier meine Kurzanleitung: 

    1. Festplatten ausbauen
    2. Universal USB Installer runterladen: http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
    3. Damn Small Linux 4.1.10 runterladen: http://distro.ibiblio.org/damnsmall/current/dsl-4.4.10-initrd.iso
    4. System Full Image runterladen: http://eu1.qnap.com/Storage/tsd/fullimage/F_TS-459_20101118-1.0.9.img
    5. Mit Universal USB Installer und dem Damn Small Linux einen bootfähigen USB-Stick erstellen:
      • USB-Stick durch Universal USB Installer formatieren lassen
      • für Damn Small Linux in der Auswahlliste  ganz unten „Try unlisted Linux ISO“ auswählen
    6. Die Datei  F_TS-459_20101118-1.0.9.img als dom.img auf den USB-Stick kopieren.
    7. Die Schritte aus der Anleitung abarbeiten: 
      • Durch Drücken von F11 in den Boot-Auswahl-Bildschirm gelangen
      • USB auswählen, aber nicht „USB DISK MODULE PMAP“
      • Warten bis das Linux gestartet wurde und mit STRG+ALT+ENTF in den Konsolenmodus wechseln
      • Folgende Befehle eingeben:

        sudo su
        fdisk -l

        In der Ausgabe werden nun die verfügbaren Datenträger angezeigt. Der Datenträger mit der Größe von 512 MB sollte der Flashspeicher des Geräts sein (Vorsicht, wenn der verwendete USB-Stick auch 512 MB groß ist).

      • Hat der Flashspeicher z.B. die Bezeichnung sda1 sind die weiteren Befehle wie folgt:
        mkdir usbdrive
        mount /dev/sda1 /home/dsl/usbdrive
        cd /home/dsl/usbdrive 
        cp dom.img /dev/sdb
    8. Firmware 3.4.x runterladen (die aktuellste geht nicht, habe ich ausprobiert):
    9. Mit dem QNAP Finder die 3.4.x-Firmware installieren
    10. Festplatten einbauen. Achtung: Datenverlust möglich.
    11. Mit dem QNAP Finder die aktuellste Firmware installieren
    12. Gerät konfigurieren und Einrichten, Fertsch!

    Ich vermute fast, dass man das Gerät auch einfacher aktualisieren kann, wenn man nicht die falsche Firmware verwendet. Falls damit jemand Erfahrung hat freue ich mich über Feedback.

  • Tipp: Communote mittels CSS aufhübschen

    Leider unterstützt Communote von Haus aus kein Theming, also das Anpassen der Oberfläche an die eigenen Bedürfnisse. Über spezielle Kundenanpassungen ist dies natürlich trotzdem möglich.

    Fast jeder Browser ermöglicht es über Erweiterungen zusätzliches CSS zu einer Seite zu laden. So ist es mit wenigen Befehlen möglich das Standardlayout von Communote etwas aufzuhübschen. Im folgenden möchte ich einfach ein paar Beispiele zeigen.

    Beispiel 1: Etwas Weihnachtliches

    communote_weihnacht1 communote_weihnacht2

     

     

     

    Das Beispiel zeigt Communote in einem etwas weihnachtlichen Aussehen. Folgende Einstellungen wurden verändert:

    1. Hintergrundbild (Das Bild stammt von http://www.backgroundlabs.com/detail/link-131.html)
    2. Etwas Transparenz und Farbe im Hauptbereich
    3. Der Header wurde etwas schmaler gemacht (Mehr Platz für den Inhalt!)

    Um den Effekt zu erreichen ist folgender CSS-Code notwendig:

    body{
     background-image: url(http://www.backgroundlabs.com/backgrounds/131.jpg);
     background-attachment: fixed;
    }
    #cn-body-wrapper{
     background-color: rgba(255, 140, 120, 0.75);
     margin-top: 15px !important;
     -moz-box-shadow: 0px 1px 4px #000 !important;
     box-shadow: 0px 1px 4px #000 !important;
    }
    #cn-header .cn-topmenu-arrow, #cn-topmenu-arrow {
    display: none;
    }
    body#tinymce {
         background-image: none;
    }
    #cn-header #cn-topmenu {
        top: 8px !important;
    }
    #cn-logo img {
        display: none !important;
    }
    #cn-header {
        height: 35px;
        background-color: rgba(255, 255, 255, 0.85) !important;
    }
    #cn-header .cn-topmenu-arrow, #cn-topmenu-arrow {
        display: none;
    }
    #cn-communote #cn-header {
        -moz-box-shadow: 0px 1px 4px #000 !important;
        box-shadow: 0px 1px 4px #000 !important;
    }
    #cn-logout {
        position: absolute;
        right: 165px;
        top: 22px;
        z-index: 40;
    }
    #cn-footer-communote img, #cn-header img{
     display: none;
    }

     

    Beispiel 2: Klassischer Holzhintergrund

    Das erste Beispiel zeigt ziemlich viele Veränderungen. Das zweite Beispiel ist etwas schlichter und verändert lediglich den Hintergrund zu einem klassischen Parkett-Laminat-Holz-Look. Das Bild stammt von http://stenosis.deviantart.com/art/Wood-Wallpaper-59069393

    communote_wood1 communote_wood2

     

     

     

    body{
    background-image: url(https://adrian.moe/rchen/wp-content/gallery/communote/background_wood.jpg);
     background-attachment: fixed;
    }
    #cn-body-wrapper {
     background-color: rgba(235, 233, 230, 0.7);
    }
    #cn-header .cn-topmenu-arrow, #cn-topmenu-arrow {
    display: none;
    }
    body#tinymce {
         background-image: none;
    }
    #cn-footer-communote img{
      display: none;
    }

     

    Beispiel 3: Winterlandschaft als Fotohintergrund

    Auch hochauflösende Fotos eignen sich oft als Hintergrund. So macht das Arbeiten doch gleich viel mehr Spaß. Das Foto stammt von http://good-wallpapers.com/nature/4501

    communote_snow1 communote_snow2

     

     

     

    body{
    background-image: url(http://good-wallpapers.com/pictures/4501/snow_stranges_wallpaper.jpg);
     background-repeat: no-repeat;
     background-attachment: fixed;
    }
    #cn-body-wrapper {
     background-color: rgba(235, 233, 230, 0.7);
    }
    #cn-header .cn-topmenu-arrow, #cn-topmenu-arrow {
    display: none;
    }
    body#tinymce {
         background-image: none;
    }
    #cn-footer-communote img{
      display: none;
    }

    Kurzanleitung: Wie geht das?

    Für die meisten Browser gibt es Erweiterungen, um solche Effekte erzielen zu können. Hier ein paar Beispiele:

    Nach der Installation von Easy User CSS in Opera kann das Theme wie folgt angewandt werden:

    1. Seite besuchen, die man anpassen will, z.B. https://www.communote.com/microblog/global
    2. Easy User CSS-Knopf rechts oben klicken (Blatt Papier mit Stift drauf)
    3. CSS einfügen oder reinschreiben
    4. Speichern drücken

    communote_howto

     

    An der Stelle noch Vielen Dank an Christopher für den Fix für den TinyMCE im Firefox, sowie die Idee und Umsetzung des schmalen Headers im ersten Beispiel.

  • Grüne Wiesen mit Samen und Dünger

    Wenn man auf der grünen Wiese beginnt, dann fängt man in der Regel von ganze vorne an und meist auch ohne Ahnung davon zu haben. Man hat eine riesige Fläche zur Verfügung. Man kann pflanzen was man will, Wege anlegen wie man will usw..
    In der (Software-)Entwicklung verhält es sich ähnlich. Man steht vor einer schier endlosen Auswahl von Technologien, Frameworks und Möglichkeiten. Daraus wählt man nun, meist anhand bestehender Anforderungen (was einem gerade so eingefallen ist), persönlicher Vorlieben, schöner Beschreibungen und umfangreicher Featurelisten.
    Was folgt ist vielleicht ein schöner Garten oder ein erfolgreiches Projekt. Es gedeiht und die Rechnung geht so ungefähr auf.

    Doch leider folgt auch oft ein mehr oder weniger schwer unter Kontrolle zu kriegender Wildwuchs. Man hat den Garten halt angelegt, ohne wirklich Ahnung gehabt zu haben, man hat schön gepflanzt und gegossen, mal hier mal dort. Man hat eine Software geschrieben, deren Komponenten wunderbar mit einander verzahnt sind, neue, vollkommen andere Anforderungen sind entstanden, an die man selbst nie gedacht hat (aber die späteren Anwender schon). Man hat es dann halt so rein gebastelt.  Das könnte man jetzt den Garten Eden nennen oder einfach Version 1.0.

    Das geht dann meist auch noch eine ganze Weile gut. Mit einigen Aufwand kann man das Unkraut fern halten und die Software an an neue Anforderungen anpassen. Dann entsteht sowas wie der Garten Eden 1.1, 1.2 ….

    Aber hoffentlich nie die Version 2.0.

    Version 2.0 ist aus meiner Sicht die Chance vieles ordentlich zu machen. Eben nochmal auf der grünen Wiese zu beginnen, aber diesmal hat man schon vernünftiges Werkzeug, Samen, Dünger, Helfer und vor allem Erfahrung und genaue Vorstellungen dabei.

    In der Softwareentwicklung ist es doch wieder genauso? Das Produkt ist gereift, es ist einiges an Zeit vergangen, vielleicht 1, 2 oder 3 Jahre. Gleichzeitig ist das Produkt verkorkst, alles wurde irgendwie integriert, Hauptsache es geht, alles ist irgendwie Legacy und muss weiter gepflegt werden. Ich glaube viele wissen was ich meine.

    Startet man von vorne, hin zu einer echten 2.0 kann es doch nur besser werden?

    • Man hat ein in sich abgeschlossenes Produkt, d.h. ein Produkt, bei dem es immer schwieriger wird neue Anforderungen umzusetzen. Selbst vermeintlich einfache Sachen könnten zur Tortur werden (Mehrsprachigkeit, Login mit Facebook). Man hat alles irgendwie reingebastelt, irgendwie verzahnt (Refactoring steht auf der Streichliste wahrscheinlich gleich hinter Test ;).
    • Man hat eine vermutlich riesige Liste von Anforderungen im Vergleich zum ersten Prototypen. Damit lässt sich viel einfacher arbeiten. Anforderungen wie Erweiterbarkeit, automatische Aktualisierung, Verteilung, Integration waren zum Start von Version 1.0 möglicherweise gar nicht abzusehen, weshalb man auch nicht in diese Richtung entwickelt hat. Jetzt weiß man es aber.
    • Man hat ein Team, welches die bestehende Software kennt, die Vorgehensweise (den Prozess) kennt, aufeinander eingestimmt ist. Man wird zur Erreichung des gleichen Funktionsumfangs also gar nicht mehr solange brauchen.
    • Man hat Erfahrung. Das ist vermutlich der wichtigste Punkt. Version 1.0 entstehen vermutlich zum größten Teil von Greenhorns. Leuten frisch aus der Ausbildung, mit Ideen, Motivation, aber eben auch ohne jede Erfahrung. Da wird eben gewählt was gefällt. Die Zeit ist jetzt vorbei. Es wurde bei Version 1.0 viel über das Grundlegende gelernt. Worauf muss ich beim Gartenbau achten? Welche Pflanzen ergänzen sich in einem Beet?  Will ich meine Software auf mehrere Server verteilen? Soll meine Software mehr als eine Sprache unterstützen?
    • Entschlackung. Altlasten loswerden. Endlich mal ohne schlechtes Gewissen etwas entfernen dürfen (Da kann ich  sehr dieses Buch empfehlen).
    • Bestimmt noch vieles andere.

    Jetzt bleibt nur noch zu klären, wo dran es meistens scheitert.

     

     

  • Return: Die add-Anweisung

    Wer kennt nicht folgende Situation: Man benötigt eine Methode, die eine Liste oder ein Array zurück gibt. Innerhalb der Methode muss man jedes mal eine Instanz eines Array erzeugen, um dieses dann zurückzugeben. Einfacher wäre eine zusätzliche add-Anweisung, die verwendet werden könnte um Elemente zum Rückgabe-Array hinzuzufügen, wird in der Methode kein add angewandt, so gibt es einfach eine leere List oder Array zurück.

    Folgende Anforderungen könnte man an das add stellen:

    • Wird als Rückgabe einer Klasse ein Array oder eine Collection (oder eine Unterklasse davon) definiert, dann gibt die Methode automatisch eine Instanz der Rückgabe zurück, ein anderer Wert, z.B. null, kann mittels return zurückgegeben werden.
    • mit add object; kann ein Element der Ergebnismenge hinzugefügt werden.

    Ein kleines Beispiel:

    // Neu
    public List toString(int[] ints){
        for(int int: ints){
            add Integer.toString(int);
        }
    }
    
    // Alt
    public List toString(int[] ints){
        List intsAsString = new ArrayList();
        for(int int: ints){
            intsAsString.add(Integer.toString(int));
        }
        return intsAsString;
    }

    Mögliche Aufrufe:

    toString({}) -> Leere Liste vom Typ List
    toString({1,2,3}) -> Liste vom Typ List mit den Elementen "1", "2", "3"

    Wo wir schon dabei sind, warum kann man in Java eigentlich nicht mehrere Werte zurückgeben, reihenfolgeabhängig und durch Komma getrennt?

    object1, object2 = function();
    
    // z.B.
    public Object, Object  function(){ 
          ... ; 
        return result1, result2; 
    }
  • Definition: Der Datenmessi

    Mit Datenmessi werden im Allgemeinen Menschen bezeichnet, die es nicht schaffen, sich von digitalen Inhalten ihrer Festplatte zu trennen. Dies betrifft vor allem Mediendaten, wie Filme oder Musik. Im Gegensatz zu anderen Datensammlern, z.B. dem statistischen Bundesamt, ist der Großteil der Daten für den Datenmessi ohne wirkliche Relevanz und wird niemals benötigt. Betroffene zeichnen sich oftmals auch durch folgende Symptome aus:

    • Ständiges Hochrüsten des Rechners, insb. Speicherplatz, ohne jede Notwendigkeit,
    • 24/7 Dauerbetrieb des Rechners, ohne jede Notwendigkeit,
    • Keine Ahnung von der Atmosphäre eines Films im Kino haben [Anmerkung des Autors: Jeder Film ist als Telesync und Mic Dubbed schlecht].