Kategorien
PHP

PHP einfacher Textvergleich

Man kann mittels PHP einfach einen Prozentsatz berechnen, wie gleich 2 Texte bzw. Dateien sind. Dabei wird ein Wert von 0 bis 1 berechnet, mit 1 = Texte sind gleich und 0 für keine Ähnlichkeiten.  Ab PHP4 verfügbar.

$stringOk = file_get_contents("file1.dat");
$stringNotOk = file_get_contents("file2.dat");
if(strlen($stringOk))
{
echo  similar_text($stringOk, $stringNotOk)/  strlen($stringOk);
}
Kategorien
Java

Java Corba Client Server Kommunikation

Corba (Common Object Request Broker Architecture) ist vergleichbar mit RMI, nur komplizierter und umfänglicher, was auch der Grund ist, warum es in der Praxis nur eine kleine Nische einnimmt.

Aufbauend auf einer Middleware (ORB – Object Request Broker), die die Service verwaltet und für die Authentifikation der Benutzer zuständig ist, kann der Benutzer Services nutzen, die auf einem anderen PC laufen. Das System hat folgende Vorteile:

  • betriebsystemunabhängig
  • programmiersprachenunabhängig, durch die IDL (Interface Definition Language), mit dieser Schnittstelle können die Benutzer mit der Middleware kommunizieren
  • skaliebar, Dienste können problemlos repliziert und Ressourcen (Server) hinzugefügt werden, lose Bindung der Services
  • migrierbar, da der ORB die Dienste über den Namen und nicht über die IP verwaltet, was bei URLs natürlich genauso ist
  • nebenläufig, Prozesse laufen in eigenen Threads
  • robust, durch zentrales Failure Handling
  • verbindungslos, Service kann zu einem beliebigen Zeitpunkt genutzt werden, beliebig oft
Kategorien
Java

Java RMI Client Server Kommunikation

Über eine zentrale Registry melden sich Client und Server an. Dieser MArktplatz oder ORB (Object Request Broker) verwaltet die Dienste und vergibt die Zuschläge für die Nutzung der registrierten Dienste.

Kategorien
Java

Java RPC/Reflection Client Server Kommunikation

Das Parkhausbeispiel unter Verwendung eines RPC (Remote Procedure Call). Dabei wird über Reflection die Klasse auf dem Server zur Laufzeit instanziiert und eine beliebige Methode mit Parametern aufgerufen, die der Client bestimmen kann.

Kategorien
Java

Java Client/Server Kommunikation Socketverbindung

Das Parkhaus Besipiel unter Verwendung einer Socketverbindung über einen Port.

Kategorien
Diverses

swdirekt.de Bewertung Erfahrungsbericht

Gerade habe mir einen höhenverstellbaren Tisch gekauft bei swdirekt.de und wurde bitter enttäuscht vom Kundenservice.

  1. Beim Kaufvorgang des Tisches ist mir eine PHP Fehlermeldung angezeigt worden mit Root Pfad und allem, was ein Einfallstor für Hacker darstellt und mich über die Sicherheit meiner Daten zweifeln lässt.
  2. Nach kurzem hinsehen habe ich erkannt, das der Shop eine xt:Commerce Version von 2004 nutzt, inkl. aller Sicherheitslücken, die seit dem aufgetreten sind.
  3. Beim Kauf habe ich Zahlung auf Rechnung ausgewählt, weil ich kein Vertrauen in einen solchen Laden hatte.Der Abschluss lief ohne Probleme. Daraufhin hat mich ein Mitarbeiter angerufen und mir gesagt, dass Zahlung auf Rechnung nicht möglich sei für Neukunden und doch bitte vorher überweisen sollte. Klingt schon irgendwie unseriös, ist ja nicht so schwer programmieren so was. Naja, Paypal hat ja Käuferschutz, also Geld geschickt. Der Käufer hat mir bei schneller Zahlung eine Lieferung innerhalb einer Woche versprochen, also schnell das Geld hin. Daraufhin kam erstmal nichts und erst auf Nachfrage nach 2 Wochen die Message: Geld ist da , wird organisiert.
  4. Nächstes Ding war dann, dass mein  echt teurer Tisch (über 600€) per Spedition zu mir versendet werden sollte. Als die Spedition anrief, habe ich erfahren, dass der Shop so nett war, den billig Versand bis vor die Tür zu ordern. Was für mich heißt gut 50kg Tisch in den 5ten Stock zu heben.
  5. Auf Nachfrage beim Shop auf diesen Missstand war nur zu hören, das steht in den AGBs drin. Die Dame meinte frech zu mir, sie würde immer die AGBs lesen, wenn sie etwas bestellt, wieso ich das nicht machen würde. Selbst das Argument, ich hätte mich für die Zahlung per Vorkasse breitschlagen lassen, hat nicht gefruchtet. Am Ende musste ich meinen Tisch selber hochtragen.

Fazit: Ich bestelle nichts mehr bei swdirekt.de.

Kategorien
Amazon MWS

Amazon Product Advertising API nach AWS Products API Migration

Die nächste Änderung der Amazon Product Advertising API steht an, nachdem der wdsl Dienst abgeschaltete werden wird, wird im Ende August 2012 auch die Amazon Product Advertising API für Seller abgeschafft und durch den neuen Dienst ersetzt:  AWS Products API. Für Advertiser ist der Dienst weiterhin verfügbar.

Diese ist im Paket der neuen AWS Dienste entahlten, die Bibliothek kann hier bezogen werden. Ein Migrationsguide gibt es hier, auch wichtig die API Dokumentation.

Man kann grob sagen, dass die neue API stärker untergliedert ist und man mehr Requests über einen Artikel absetzen muss als mit der alten API, um dieselben Informationen zu bekommen.

 

Kategorien
Android

Blackberry Android Apps in Eclipse testen

Das Blackberry Playbook bietet die Möglichkeit Android Apps zu starten. Über Eclipse ist ein einfaches Testen im Simulator möglich.

  1. Als erstes muss VMware und der der PlayBook Simulator installiert werden. Anleitung. Dazu muss unfreundlicherweise ein Installer Programm zusätzlich installiert werden (Akami NetSessions).
  2. Code Signing Keys beantragen/registrieren bei Blackberry (kann bis zu 2 Stunden dauern)
  3. Zertifikate in Eclipse anlegen mit Hilfe der Keys.
  4. Debug Token installieren auf dem Simulator
  5. Projekt in Android Api 2.3.3 ändern und Blackberry Struktur hinzufügen
  6. Hoffen, dass es läuft 🙂
Kategorien
PHP

Internal Server Error 500 und die Ursachen

Die Fehler mit dem HTTP-Statuscode 500 sind sehr schwierig zu behebende Fehler, da der 500er Fehler viele mögliche Fehler zusammenfasst.

Der häufigste Grund ist eine fehlerhafte .htaccess Datei. Diese Dateien kann man am besten mit einem Logfile debuggen.

Ein anderer Grund kann ein PHP-Fehler sein. Es gibt bestimmte reservierte Bezeichner, die nicht als Variablennamen benutzt werden dürfen z.B: list. Dabei wird auch ein 500 Internal Server Error geworfen.

Bsp:

$list($a, $b) =functionA();
//richtig ist:
list($a, $b) =functionA();
Kategorien
Android

Android: Failed to install .apk on device (null)

Bei einer Fehlermeldung wie dieser:

Failed to install xxx.apk on device 'emulator-5554!
 (null)
 Launch canceled!

Kann man durch Neuanlegen eines neuen Virtual Devices (AVD) den Fehler beheben, alles andere hat bei mir nicht funktioniert.