Kategorien
jQuery

jQuery asynchroner Ajax Call mit Callback Success Funktion

Bei der Programmierung von asynchronen Funktionen mit Ajax steht man vor dem Problem, dass die Funktion keinen Rückgabewert im herkömmlichen Sinne haben. Die folgende Funktion gibt nicht etwa die Variable response zurück, obwohl der Ajax Request erfolgreich ausgeführt wurde aufgrund der Asynchronität.

function test()
 {
 $.ajax({
 async: true,
 cache:false,
 url: "testUrl.php",
 beforeSend: function (jqXHR, settings) {
 url = settings.url;
 console.log(url);
 },
 success: function (response) {
 console.log("Ajax Call Success");
 },
 error: function (response) {
 handleError(response);
 }
 }
 );
 return response;
 }

Um eine das Ergebnis eines asynchronen Calls (Ajax) weiterverarbeiten zu können, kann man entweder eine Funktion aufrufen (schlecht, weil feste Bindung):

Kategorien
jQuery Mobile

Google Analytics und jQuery Mobile

Bei der Benutzung von Google Analytics mit jQuery Mobile gibt es ein paar Besonderheiten zu beachten. So wird nicht jede Seite neu geladen bei jQuery Mobile, sondern der Inhalt (per Ajax) in die bestehende Seite eingefügt und die URL angepasst, so dass der Eindruck einer App entsteht.

Für die Verwendung von Google Analytics mit jQuery Mobile bedeutet dies, dass man am besten manuell die Pageviews zählen sollte:

Man integriert in den <head> Teil der Applikation den Code:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX']);
/* do not track first page here*/
/*_gaq.push(['_trackPageview']);*/

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
Kategorien
WordPress

WordPress lokal testen Links anpassen

Damit beim lokalen Testen alle Links auf der Seite funktionieren muss man in der Datenbank in der Tabelle wp_options die Felder

option_id = 1, option_name = siteurl

und

option_id = 37, option_name = home

anpassen auf option_value an den lokalen Ordner bspw.  http://localhost/myTest/.

Danach funktionieren alle Links auf der Domain localhost und führen nicht mehr auf die Internetseite oder Ähnliches.

Die Verbindung zur Datenbank muss in der wp-config.php angepasst werden:

/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', '');
Kategorien
WordPress

WordPress Artikel von heute

Zum Auswählen aller Artikel, die am heutigen Tag veröffentlicht worden sind, kann man bei WordPress ganz einfach mit:

$today = getdate();

$queryToday = new WP_Query(
     array (
         'year' => $today["year"],
         'monthnum=' => $today["mon"],
         'day' => $today["mday"],
         'orderby' => 'date',
         'order' => 'DESC',
         'post_status' => array( 'publish')
    )
 );

 while ( $queryToday->have_posts() ) :
     $queryToday->the_post();
     echo " <a class='todayArticle' href='".get_permalink()."' title='".the_title_attribute('echo=0')."'>".get_the_title()."</a><br>";
 endwhile;

wp_reset_postdata();
Kategorien
PHP

PHP Analyse von Stichproben mit Pearsons C

Zur Analyse eine Stichprobe oder einfacher gesagt, wenn man von bestehenden Daten Rückschlüsse auf andere Daten machen will, kann man je nach Typ der Daten verschiedene statistische Zusammenhangskennzahlen berechnen. Da PHP leider so gut wie keine brauchbare Bibliothek für eine statistische Auswertung bietet, habe ich die Berechnung von Pearsons C bzw. des Korrigierter Kontingenzkoeffizient nach Pearson selber implementiert sowie die nötige Berechnung von Chi-Quadrat:

Kategorien
Server Administration

DNS – Bind9 Nameserver Konfiguration – Teil3

Um seinen eigenen DNS Server unter Ubuntu zu konfigurieren, muss man nur BIND installieren:

sudo apt-get install bind9

und einfach selber konfigurieren, wie im Folgenden gezeigt wird.

Die Funktionsweise von BIND

Die zentrale Datei   /etc/bind/named.conf:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

In dieser Datei werden nur 3 andere Datein inkludiert, die die Funktionalität beinhalten:

Die etc/bind/named.conf.options beinhaltet allgemeine Konfigurationsparameter für den Nameserver, z.B. ob rekursive Anfragen zulässig sind oder ob die Daten an andere Nameserver weitergegeben werden sollen.

Kategorien
Server Administration

DNS – Namensauflösung mit Nameservern – Teil2

Wenn man eine Domäne im Internet abfragt, wird die IP auf folgende Arten bestimmt:

Rekursive Namensauflösung

Der angefragte konfigurierte Nameserver kümmert sich komplett um das Auflösen und Cachen der DNS-Anfragen. Der Nameserver fragt selber iterativ andere Nameserver nach der Adresse, bis er die Antwort oder das Scheitern an den Client zurück sendet. Der Resolver ist der Teil des Clients, die die Kommunikation mit dem Nameserver übernimmt.

Dns-abfrage
Rekursive Namensauflösung

Kategorien
Server Administration

DNS – Grundlagen mit dig – Teil1

Was ist das Domain Name System (DNS)?

Die eindeutige Adresse im Internet, über die Server und Rechner gefunden werden können, ist allein die IP-Adresse: Bsp. IPv4-Adresse: 13.1.5.128.

Diese Adresse haben den Nachteil, dass sie schwer merkbar und nur flach hierarchisch strukturiert.

Zur Lösung des Problems wurden die DNS-Adressen eingeführt (Domänen), Beispiel: www.google.de.

Diese Adressen werden auf die IP-Adressen der Server gemappt durch Domain Name Server. Das bedeutet, wenn man die Adresse www.google.de eintippt in den Browser wird zuerst ein DNS-Lookup Request ausgeführt, der die IP Adresse bestimmt. Dies kann mit dem dig-Befehl unter Ubuntu nachvollzogen werden.

Kategorien
Android

ActionBarSherlock eigenes Design

ActionBarSherlock ist ein Framework für Android um eine ActionBar implementieren zu können vor der Android Version 3.0, bei der es eine native ActionBar gibt.

Beispiel für Actionbar mit eigenem Design unter Android 2.3.3

Außerdem kann man sehr viele Funktionen nutzen,die selbst die native ActionBar nicht möglich macht, eine Übersicht kann man sich am besten verschaffen durch die Installation der Sample App auf einem Android Device.

Eine Schwierigkeit des Frameworks besteht in der Individualisierung des Designs, dies ist sehr schwer möglich ohne den Online Style Generator für ActionBarSherlock. Mit diesem lässt sich viel Zeit sparen, absolut zu empfehlen!

Aktiviertes Suchfeld in Actionbar

 

Kategorien
Erlang

Eine einfache Datenbank in Erlang

Mit Erlang ist die prinzipielle Erstellung eines Datenbankmanagementssystems (DBMS) relativ einfach zu bewältigen.

Dafür spricht auch, dass einige Datenbanken in Erlang entwickelt worden sind:

  • CouchDB
  • SimpleDB

Aber auch andere sehr bekannte Projekte.

Beispiel Datenbank Statements in Erlang