Java has a shortened version of an if else command. The use of it is very easy, if you understand it once.

It’s written:

x ? y : z;

Here the question mark and the colon will take the place of the commands if and else.
This means:

condition ? inCaseOfTrue : elseCase;

Explanation:
If the condition is true the part behind the questions mark will be taken, else the part behind the colon.
This shortened version has big advantages for coding, because it prevents blowing up your code.
e.g. if you want to return a string in a method depending on a parameter:

classic „version“, which is even short, just using the direct return.

public String getMood(boolean hasGoodMood){
    if(hasGoodMood){
        return "happy";
    }
    return "sad";
}

And here the real short and smooth verion:

public String getMood(boolean hasGoodMood){
    return hasGoodMood ? "happy" : "sad";
}

Especially for setting strings the short if else show their potential, e.g.:

longString = longString.length()>5 ? longString.substring(0, 5) : longString;

This short line will substring a string and prevents an indexOutBounds in case that the string is not long enough.

At the end both (short and classic if else) will be compiled to the same, but the meaningful use will prevent blowing up your source code and keep it more structured.

 

In PHP gibt es wie in anderen Programmiersprachen die for-Schleife um Arrays zu durchlaufen bzw. um eine Anweisung mehr als einmal auszuführen.

Syntax:

for (startStatement; condition; loopStatement) { ... }
for (startStatement; condition; loopStatement) : ... endfor;

startStatement  – Statement das vor dem 1. Schleifendurchlauf ausgeführt wird. Meist wird eine Zählvariable initialisiert.
condition – Bedingung die vor jedem Schleifendurchlauf ausgeführt wird. Ist der Wert „true“ so wird der nächste Schleifendurchlauf durchgeführt. Bei „false“ wird die Iteration/For-Schleife beendet.
loopStatement  – Am Ende jedes Schleifendurchlaufs wird dieses Statement ausgeführt. Hier wird dann meist eine Zählvariable verändert.

Beispiele:

Initialisierung der Zählvariablen $i mit 1. Solange $i kleiner oder gleich 5 ist, wird die Schleife fortgesetzt, während am Ende eines Schleifendurchgangs die Zählvariable $i um 1 erhöht wird. Hier werden die Zahlen von 1 bis 5 ausgegeben.

for ($i = 1; $i <= 5; $i++) {
    echo $i;
}

Analog können die Zahlen natürlich auch rückwärts ausgegeben werden.

for ($i = 5; $i >= 1; $i--) {
    echo $i;
}

weiterlesen von ‘PHP – For Schleife’ »

 

In Java gibt es die Funktion substring um einen String aus einem größeren String herauszulesen. Es gibt 2 Möglichkeiten die Funktion zu nutzen: Einmal mit Angabe des Startindex ab dem der restliche String zurück geliefert wird oder es kann zusätzlich ein Stopindex angegeben werden an dem der Substring endet.

Syntax:

public String substring(int startIndex);
public String substring(int startIndex, int endIndex);

weiterlesen von ‘Java – Substring Funktion’ »

 

In Java gibt es zur Suche von Strings in größeren Texten/Strings die Funktion indexOf. Wird der Suchstring im Text gefunden, so liefert die Funktion indexOf die aktuelle Position des ersten Vorkommens zurück. Wird der Suchstring nicht gefunden, liefert die Funktion stattdessen den Wert -1. Die Funktion kann auf ein String angewendet werden.

Syntax der verschiedenen indexOf-Funktionen von Java:
weiterlesen von ‘Java – indexOf Funktion’ »

 

Die Programmiersprache Java besitzt die Methode split um Strings anhand gewisser Kriterien in mehrere Einzelteile aufzusplitten. Diese Method wurde in der Java-Klasse String implementiert, so dass die Methode auf jeden String angewendet werden kann. Hauptsächlich wird die Methode genutzt um einen String genau anhand eines Zeichens zu splitten.

Beispiel:

String example = „Das ist ein Test“;
String[] splitResult = example.split(“ „); // –> splitten an den Leerzeichen

Ergebnis:

splitResult[0] : Das
splitResult[1]: ist
splitResult[2] : ein
splitResult[3] : Test

Syntax der Split-Funktion:

weiterlesen von ‘Java – Split String’ »

 

Cross Site Scripting oder kurz XSS ist die Bezeichnung für das Ausnutzen einer Sicherheitslücke von Webanwendungen. Hierbei wird nicht vertrauenswürdiger Quellcode in vertrauenswürdige Elemente der Webanwendung eingebunden, um den Code letztendlich als vertrauenswürdig anzusehen.

Das Scripting von Cross Site Scripting kommt von Javascript, durch das hauptsächlich Cross Site Scripting durchgeführt wird.

Ein einfaches Beispiel sind die Kommentarfelder, die es auf vielen Webseiten gibt. Fügt man dort

<script type=„text/javascript“>alert(„XSS“);</script>

ein und der Kommentar wird nicht überprüft, so erscheint bei jedem Aufruf zuerst ein Javascript-Popup, wenn die Webseite für Cross Site Scripting anfällig ist.

Dies kann natürlich auf unterschiedlichste Weise ausgenutzt werden.

Genauere Informationen über Cross Site Scripting gibt es beispielsweise auf http://ha.ckers.org/xss.html bzw. auf Wikipedia.

 

SQL-Injection bezeichnet die Möglichkeit durch Benutzereingaben eine Sicherheitslücke im System auszunützen um Daten einer SQL-Datenbank zu verändern oder auszulesen. Dadurch ist es möglich kritische Informationen, wie Benutzernamen und Passwörter, aus der zugrundeliegenden Datenbank auszulesen.

Login-Seiten von Webseiten haben in der Regel ein Benutzereingabefeld und ein Passwortfeld. Wenn die Eingaben der Felder nicht geprüft werden, so kann es z.B. möglich sein, sich ohne gültiges Passwort anzumelden.

Als erstes wird jedoch überprüft, ob die Benutzereingaben überprüft werden. Dies wird durch einen einfachen Slash (‚) im Eingabefeld realisiert.

Beispiel 1:
Wir gehen von dem zugrundeliegenden SQL-Befehl aus:

select FELDER
from TABELLE
where FELD = ‚$name‘;

Geben wir nun in das Eingabefeld otto‘ ein, so dürfte ohne Prüfung der Eingabe der SQL-Befehl folgendermaßen aussehen:

select FELDER
from TABELLE
where FELD = ‚otto“;

weiterlesen von ‘SQL Injection’ »

 

Die Auswirkungen von Softwarefehlern machen es notwendig an Software hohe Qualitätsansprüche zu stellen. Um den Qualitätsansprüchen gerecht zu werden, muss das Testen ein integraler Bestandteil der Softwareentwicklung sein.

Jedoch wird der Begriff „Testen“ oft falsch interpretiert, Sätze wie:

  • Testen ist der Prozess, der zeigen soll, dass keine Fehler existieren.
  • Testen soll zeigen, dass ein Programm korrekt arbeitet.

[Myers95] definiert das Testen vielleicht noch besser:

„Testen ist der Prozess, ein Programm mit der Absicht auszuführen, Fehler zu finden.“

Testen soll als zielgerichtete Tätigkeit zum Auffinden von Fehlern verstanden werden. Das Testen kann bis zu 50% der Projektzeit beanspruchen. Bei der Komplexität heutiger Systeme sogar manchmal auch mehr. Der Erfolg des Testens ist aber nicht nur aufgrund der psychologischen und menschlichen Faktoren oft nicht sichergestellt.
Zusätzlich ist zu beachten, dass selbst für sehr einfache Programme fast unendlich viele Testfälle existieren können, die in der Regel nur zu einem kleinen Teil durchgetestet werden können [Myers95]. Es bleibt also nur die Hoffnung, durch die vorhandenen Testfälle alle relevanten Fehler aufgefangen zu haben. Im nächsten Abschnitt werden einige Test-Prinzipien vorgestellt, die die Erfolgsquote des Testens verbessern.

weiterlesen von ‘Theorie der Softwaretests’ »

 

Hier ein Beispiel wie man mit Java aus einer Datei Daten auslesen kann:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class FileClass {

public static void main(String[] args) {

try {

File file = new File(„C:\\WINDOWS\\Temp\\subdirectory\\file.txt“);

// read data from file
BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String s = input.readLine();

// close reader
input.close();

// write data to stdout
System.out.println(„Result: “ + s);

} catch (IOException e) {

e.printStackTrace();

}

}

}

 

Hier ein kleines Beispiel um in Java Daten in eine Datei zu schreiben:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileClass {

public static void main(String[] args)
{

try {

File file = new File(„C:\\WINDOWS\\Temp\\subdirectory\\file.txt“);
// create directory and file if it does not exist
if (!file.exists()) {

// create directory if the directory does not exist
new File(„C:\\WINDOWS\\Temp\\subdirectory“).mkdirs();
file.createNewFile();

}
FileOutputStream stream = new FileOutputStream(file);
// write data to file
stream.write(„Test“.getBytes());
// empty data puffer
stream.flush();
// close output stream
stream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

Impressum Suffusion theme by Sayontan Sinha