Category: Allgemein

Test: Lunascape Browser

Nachdem ich es im T3N Blog gelesen hatte, mußte ich es auch gleich ausprobieren. Den neuen Lunascape Browser. Als Google Anwender ist man gewohnt, das Anwendungen im Alpha, Beta Stadium sind und trotzdem funktionieren. Also auch gleich mal die Lunascape5 Alpha gezogen. Besonders für Developer soll dieser Browser besonders geeignet sein, weil alle drei Browser Engines in ihm vereint sind.


Beim ersten Starten wird auch gleich nach der bevorzugten Engine gefragt, die man später aber wieder ändern kann. Sofort stören mich die vielen Leisten, als Google Chrome Benutzer bin ich Minimalismus gewohnt.

Ohne irgendwas konfiguriert oder importiert zu haben, sind sofort gefühlte 1000 Feeds abonniert. Diese Poppen auch gleich in einem Outlook ähnlichen Fenster unten rechts in der Taskleiste hoch. Mein Geschmack ist es nicht. Aber jetzt ist verständlich warum er 512MB Arbeitsspeicher erfordert.

Die Performance konnte ich nicht testen, weil der Browser keine Webseite anzeigen konnte. Die Proxy Einstellungen sollte er sich, wie Chrome auch, direkt vom IE ziehen, jedoch konnte er komischerweise nur seine eigene Suche und die Feeds ansteuern.

Definitiv den Hals gekostet hat den Browser jedoch die nicht vorhandenen Shortcuts. Als Browser für Entwickler gepriesen und dann kein Strg + L und kein Strg + T . So kann ich nicht arbeiten. Ich mußte den Test abbrechen.

Java: Unterschiede zwischen && vs. &

Viele, denke ich, wissen gar nicht, das man eine Verknüpfung auch mit einem einfach & durchführen kann. Was der Unterschied zum doppelten && ist, soll der folgende Artikel beleuchten. Dieses Verhalten ist unabhängig von der Programmiersprache, für PHP habe ich es auch nochmals demonstriert. Im folgenden Beispiel wird Java verwendet. Grundsätzlich müssen bei einer UND-Verknüpfung alle Bedingungen WAHR sein, damit das Statement ausgeführt wird. Sollte nur eine Bedingung FALSE sein, wird der ELSE-Zweig genommen. Der Unterschied zwischen & und && ist jetzt nur, wie geht es weiter, wenn die erste Bedingung bereits FALSE ist.

Beispiel von && vs &

[java]
public class UndUnd {

public static void main(String[] args) {

if(a() && b()){
System.out.println("Fertig");
}else{
System.out.println("UnFertig");
}

}

public static boolean a(){
System.out.print("Hallo ");
return false;
}

public static boolean b(){
System.out.println("Welt");
return true;
}
}

// Ausgabe: Hallo
// Unfertig
[/java]

Bei Verwendung des && Operators, wird sofort nach der ersten fehlerhaften Bedingung abgebrochen. Für die Performance ist dies natürlich optimal. Jedoch könnte es sein, das sich in der Funktion B Programmcode befindet der trotzdem auf jeden Fall ausgeführt werden soll, genauso wie in der Funktion A. Hier würde man den einfach & Operator verwenden.

[java]
public class UndUnd {

public static void main(String[] args) {

if(a() & b()){
System.out.println("Fertig");
}else{
System.out.println("UnFertig");
}

}

public static boolean a(){
System.out.print("Hallo ");
return false;
}

public static boolean b(){
System.out.println("Welt");
return true;
}
}

// Ausgabe: Hallo Welt
// UnFertig
[/java]

Performance && vs. &

Für die Performance sollte man immer && verwenden, weil dann bereits nach der ersten fehlerhaften Bedingung abgebrochen wird. Wenn man gewährleisten will das alle Bedingungen überprüft werden, sollte man dagegen das einfach & wählen.

Zusammenfassung – tl;dr

Soll sichergestellt werden, dass alle Bedingungen in einem if untersucht werden, sollte ein einfaches & verwendet werden, besser für die Performance ist die Verwendung ist &&.

Weitere Fragen zur Java-Programmierung? Jetzt einfach und schnell einen Kommentar hinterlassen, mit E-Mail Adresse, und deine Frage wird ausführlich im BugBlog beantwortet.

[random_content group_id=”210″ num_posts=”1″]

Windows Restriktion: Strg + L is evil

Besonders Firmen haben das Problem zwischen Vertrauen und Sicherheit. Wie weit kann man dem Mitarbeiter vertrauen ohne dabei die Sicherheit des Unternehmens auf Spiel zu setzen. Besonders in Windows ist dies ein großes Problem, da es auch ohne böswillige Absicht des Mitarbeiters passieren kann, das der Rechner kompromittiert wird.

Am Wochenende wollte ich einem Bekannten helfen sein Notebook mit WLAN zu versorgen und drückte dabei im IE Strg+L . Diese Kombination öffnet normalerweise ein Fenster in welches man eine URL eintragen kann. Hier bekam ich jedoch die Meldung das ich nicht die Rechte hätte. Dabei ist das die gleiche Funktionalität, wie oben in die Adressleiste zu klicken.

Der Vorteil ist lediglich, das man nicht erst mit dem Touchpad oder dem Trackball zu der Leiste surfen muß, da diese beim Starten keinen Focus hat. Aber auch wenn der Browser schon gestartet ist, läßt sich so natürlich wesentlich schneller zu einer neuen URL springen.

Im Firefox funktioniert diese Kombination natürlich auch, jedoch öffnet sich hier kein neues Fenster, sondern der Browser springt direkt in die Adressezeile und man kann eine neue URL eintragen. Aufgrund der Gewohnheit bekam ich die Fehlermeldung natürlich mehrmals zu sehen, was mich umso mehr aufregte.

PHP Stylesheet CSS

Wie bereits in den 5 Tipps für eine schnellere Webseite beschrieben sollte man soviel Code wie möglich in die CSS Datei auslagern. CSS Dateien haben, genauso wie HTML nur einen Nachteil, man kann keine Logik implementieren. In PHP ist dies jedoch möglich. Außerdem kann PHP so tun als sei es CSS.

[php]

[/php]

In HTML wird es wie eine CSS Datei eingebunden.

[html] [/html]

Manche Kunden möchten gerne das jede Kategorie eine andere Farbe hat. Bevor man jetzt anfängt 10 verschiedene Stylesheet Dateien anzulegen, wäre es einfacher jedes Design in ein anderen Ordner zu legen und diesen per GET zu übergeben.

[html] [/html]

Um das Stylesheet übersichtlich zu gestalten, sollte man wirklich nur den Dynamischen Teil in eine PHP CSS Datei auslagern. Die untere CSS Datei würde wie folgt aussehen:

[css]

/* NUR FUER FARBEN UND HINTERGRUENDE */
/* DER REST ALLES IN STYLESHEET.CSS */

/* KOPF */

#kopf {
background-image:url(kopf/header_start.jpg);
background-repeat:no-repeat;
height: 220px;
}
[/css]

In der Codevorschau ist dieses Beispiel sehr bunt. Wer jedoch solche Dateien mit VI bzw. VIM erstellt, wird jedoch enttäuscht werden, weil der Editor das Syntaxhighliting aufgrund der Dateiendung entscheidet. Dies kann man jedoch manuell auf CSS umschalten. Danach ist der PHP Code zwar schwarz, aber die Datei sollte auch hauptsächlich aus CSS bestehen.

Wer in seinem VIM-Menü verzweifelt nach CSS sucht, wird unter Cascading Style Sheets fündig.

Meinung – Fazit zu 1blu

Während der langen Blogpause bin ich mindestens zweimal umgezogen. Beim durchforsten des Blogs ist mir aufgefallen wie euphorisch ich damals noch über 1blu schrieb. Heute würde ich dies nicht mehr sagen. Das Sprichwort “Wer billig kauft, kauft zweimal” hat sich mal wieder bewahrheitet.

Folgende Punkte haben mich zum Umzug bewogen:
– Samstag / Sonntag war der Server und die Verbindung extrem langsam
– Der Support hat auf E-Mails nicht geantwortet
– Die Bedienung von Plesk und Virtuozzo war sehr verwirrend
– Plesk hatte ein Eigenleben*

Nach einem kleinen Umweg über netclusive bin ich schließlich bei Hetzner gelandet, auf einem Root Server. Diesen einzurichten und zu konfigurieren, erfordert jedoch ein fundiertes Linux-Wissen und Erfahrung mit Servern die im Internet stehen.

Im Gegensatz zu 1blu läuft auf dem Hetznerserver kein Mailserver. Für eingetragene Domains und Mailadressen werden Mails angenommen und weitergeleitet oder abgelehnt. Es gibt jedoch keine Mailbox auf dem System. Die Aussortierung von Spam erfordert einfach zu viele Ressourcen und die Speicherung von Mails ist ein Faß ohne Boden, bei Bekannten, die immer nur 1 MB mehr haben wollen.

* Das Eigenleben äußerte sich darin, das sich Dienste nicht abschalten ließen oder abgeschaltete Dienste weiterhin Mails schickten.