WordPress Blog: Ladezeit verkürzen durch Caching

Posted: April 26th, 2011 | Filed under: Internet, Programmieren, Software | Tags: , , | 5 Comments »

Bei einem Aufruf eines Blogs werden serverseitig viele Leseoperationen durchgeführt. Der PHP-Code muss interpretiert werden und Einträge aus der Datenbank müssen geholt werden. Erst dann kann die Seite an den Benutzer gesendet werden. Um diese Zeit zu verkürzen hat man die Möglichkeit mittels dem Plugin WP-Super-Cache die Seiten des Blogs zwischen zu speichern, so dass zum Beispiel gar keine Datenbankaufrufe mehr getätigt werden müssen. Ich hab das Plugin mal getestet und die Zeit stoppen lassen.

Vorher

Stolze 4,84 Sekunden Ladezeit

image

Nachher

Schlappe 1,23 Sekunden Ladezeit.

image

Das Plug-In ist also aufjedenfall sehr empfehlenswert!


Java: Wav-Datei abspielen in einem Applet ohne Sicherheitsabfrage

Posted: April 24th, 2011 | Filed under: Java, Programmieren | Tags: , , , , , | No Comments »

Will man in einem Java Applet eine WAVDatei abspielen ohne auf die lokale Festplatte zugreifen zu müssen, also ohne dass der Benutzer eine Sicherheitsfrage gestellt bekommt, muss man die Applet eigene Methode getAudioClip verwenden. Leider funktioniert diese nicht für MP3s oder OGG.

Beispiel Applet

image

Applet-Quellcode

import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class PlayWav extends javax.swing.JApplet {

   public static JApplet playWav;

   private JButton playButton;
   private JButton stopButton;

   // Audio
   private AudioClip audioClip;

   public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            JFrame frame = new JFrame();
            PlayWav inst = new PlayWav();
            frame.getContentPane().add(inst);
            ((JComponent) frame.getContentPane()).setPreferredSize(inst
                  .getSize());
            frame.pack();
            frame.setVisible(true);
         }
      });

   }

   public PlayWav() {
      super();
      initGUI();
   }

   private void initGUI() {
      try {
         playWav = this;
         BorderLayout thisLayout = new BorderLayout();
         getContentPane().setLayout(thisLayout);
         {
            playButton = new JButton();
            getContentPane().add(playButton, BorderLayout.CENTER);
            playButton.setText("play");

            // Play
            // Wav Datei online abspielen mittels der Applet-Methode
            // getAudioClip.
            playButton.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent evt) {
                  try {
                     // alarm.wav liegt in
                     // http://blog.mynotiz.de/howTo/PlayWav/alarm.wav
                     URL url = new URL(getDocumentBase().toString());
                     audioClip = playWav.getAudioClip(url, "alarm.wav");
                  } catch (MalformedURLException e) {
                     e.printStackTrace();
                  }

                  // Play normal
                  audioClip.play();

                  // Play in loop
                  // audioClip.loop();
               }
            });
         }
         {
            stopButton = new JButton();
            getContentPane().add(stopButton, BorderLayout.SOUTH);
            stopButton.setText("stop");

            // Stop
            stopButton.addActionListener(new ActionListener() {
               public void actionPerformed(ActionEvent evt) {
                  audioClip.stop();
               }
            });
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

HTML-Quellcode

<applet style="border: 1px solid black;" code="PlayWav.class" archive="playWav.jar"> Ihr Browser unterstütz keine Java Applets! </applet>

 

Wie ihr aus eurem Code ein Applet erzeugt erfahrt ihr hier.

FTP-Ordner

Im FTP-Verzeichnis sieht das ganze dann wie folgt aus.

image


Java Applet: Pizzawecker / Küchenuhr

Posted: April 19th, 2011 | Filed under: Internet, Java, Programmieren, Software | Tags: , , , , , | 1 Comment »

Jeder kennt dass, Pizza oder Lasagne in den Backofen geklatscht und aufgedreht. Danach wieder an den Rechner gesetzt und irgendwann fällt einem ein: “Ach du schei…, meine Pizza ist ja noch im Backofen”. Meistens ist es dann leider zu spät und man findet lediglich ein schwarzen Fladen im Backofen. Um dies zu vermeiden habe ich mir ein Pizzawecker Applet geschrieben bei dem man, wie bei einer Küchenuhr, eine Countdown-Zeit eingeben kann. Wie viel Zeit (in Prozent) bereits abgelaufen ist könnt ihr anhand der Pizza-Grafik ablesen. Je fertiger eure Pizza ist desto mehr Stücke kommen hinzu. Ist der Countdown abgelaufen, und somit die Pizza voll, ertönt ein nerviges Alarm-Geräusch und man weiß, jetzt sollte ich schleunigst die Küche aufsuchen.

Auf http://pizzawecker.mynotiz.de erreicht ihr das Applet.

image

Viel Spaß damit und einen guten Hunger!


Java Applet: Zufallszahlen generieren

Posted: April 16th, 2011 | Filed under: Internet, Software | Tags: , , , , , | No Comments »

Schon einige male habe ich einen Zufallszahlengenerator oder einen elektronischen Würfel gebraucht. Um mir nun jedes Mal die Google-Suche zu ersparen habe ich mir ein kleines Applet geschrieben mit dem ihr euch eine beliebige Zufallszahl von X bist Y generieren könnt. Es kann also sowohl ein Maximum als auch ein Minimum eingegeben werden. Zum Applet gehts hier, oder einfach auf das Bild klicken.

image


Java Spieleentwicklung: Einstieg in Slick – Tutorial

Posted: April 2nd, 2011 | Filed under: Programmieren, Tutorials | Tags: , , , , , , | 5 Comments »

Seit einiger Zeit befasse ich mich mit der Java 2D Spiele-Engine Slick (Danke an Tobse). Deswegen habe ich mir gedacht wieso nicht ein Tutorial schreiben. Heraus gekommen ist ein Dokument welches beschreibt wie man Slick einrichtet, wie mein sein erstes Projekt erstellt und wie man ein erstes Spiel entwickelt. Als Beispiel-Spiel habe ich mich für einen Pong-Klon entschieden.

Hier geht’s zum Slick Tutorial:

image