In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt.
Weiterlesen "[JAVA] Verbindung zum Mysql Server aufbauen mittels MySQL Connector/J"
In Java werden Datenbankanbindung über die JDBC Schnittstelle aufgebaut. Hierfür werden für das jeweils benutzte Datenbankmanagement passende Treiber benötigt.
Weiterlesen "[JAVA] Verbindung zum Mysql Server aufbauen mittels MySQL Connector/J"
Ich habe soeben ein prima Tool zur visuellen Generierung von Datenbankschemata entdeckt: MySQL Workbench.
Das ganze ist unter der abgespeckten “Community Edition“ kostenlos erhältlich und untersützt sowohl reverse als auch forward engineering.
(sprich: Bestehende Datenbanken visuell überarbeiten, die Schemata mit der Datenbank synchronisieren, SQL Files erstellen ….)
Hier gehts zur Produktbeschreibung mit Download von MySQL Workbench
Will man mit ActionScript 3.0 eine SWF, JPG oder PNG Datei zur Laufzeit laden, stellt die einfachste Möglichkeit dazu wohl die Loader Klasse dar.
Betrachten wir mal die Teilschritte die nötig sind um unsere SWF, JPG oder PNG auf die Bühne zu bekommen.
Weiterlesen "[AS3.0] Laden externer Bilder zur Laufzeit in Flash"
Folgende Fehlermeldung habe ich heute bekommen:
mysqldump: Couldn’t execute ‘show fields from `table`’: Can’t create/write to file ‘/tmp/#sql_735_0.MYI’
(13)Permission denied: /var/www/webxx/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
Ich wusste, das ich den Fehler schonmal hatte. Doch woran lag das nochmal?
Richtig, der Webserver kann nicht auf das Verzeichnis zugreifen.
In Verbindung mit suPHP ist der Webserver in der Kategorie “Other” so das auch other leserechte aufs Document Root braucht:
chmod o+r /var/www/webx/html
Oft werden IP Adressen in einer Datenbank als Varchar(15) gespeichert. Doch das braucht 16 Byte pro Adresse. Wenn man sie als Int wert speichern würde, würde man nur 4 Byte brauchen. Das ist eine Ersparnis von 75%!
Außerdem hat das den weiteren Vorteil, das man in den IP Adressen gut suchen kann.
Also speichern wir sie doch in Zukunft als Int:
zurückrechnen lässt es sich mit:
Eigentlich ganz einfach und 75% Platz gespart
Und wir können nun mit dem kleiner und größer Operator ganz einfach auf bestimmte IP Bereiche testen z.B. um diese zu filtern.
Erklärung warum das so ist:
IP-Adresse: 127.0.0.1
-> IP in Hex: 0x7F.0×00.0×00.0×01
-> Punkte entfernen: 0x7F000001
-> Dezimal: 2130706433
Das lässt sich natürlich auch wieder zurückrechnen
Relativ viel Performance kostet es, mehrere Javascript und/oder Stylesheet Dateien einzubinden. Zwar geht die Abarbeitung relativ fix dank keep-alive aber dennoch kostet es Zeit. Bestimmte Javascript Bibiotheken bestehen ja schonmal locker aus 10 Dateien.
Daher kann es sinnvoll sein, mehrere Dateien in einer Zusammenzufassen.
Weiterhin ist so die Möglichkeit gegeben, evtl noch etwas nachzubearbeiten um weitere Dateigröße einzusparen.
Besonders User mit langsammen Verbindungen würden dies dankbar annehmen.
Hier eine praktische Generatorfunktion für Gutscheincodes, Passwörter etc.
Hier mal ein kleines Beispiel für Reguläre Ausdrücke, da viele Programmierer ja hiermit Probleme haben.
Bei diesem Beispiel wird eine Telefonnummer im typischen Format umformatiert, für Innland und Ausland User, die die Nummer angezeigt bekommen sollen.
Sei es für eine Bildergalerie in der eure Bilder in zufälliger Reihenfolge angezeigt werden sollen oder zufällig ausgewählte User eures neuen, schicken “Web 2.0 Portals” sein, ein Array gefüllt mit sich nicht wiederholenden Zufallszahlen ist euer Freund. (-;
Diese Methode hier hat eine schnieke Laufzeit und leistet mir in meinen Anwendungen gute Dienste.
Ich habe hier im Beispiel simplen C++ Code verwandt.
Weiterlesen "[C/C++] Array mit von einander verschiedenen Zahlen anlegen"
| M | D | M | D | F | S | S |
|---|---|---|---|---|---|---|
| « Feb | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||