Uninteressantes von einem Anwendungsentwickler aus Linse
 
Seite 5 von 30

SSH Tunnel aufbauen

Kategorie "Linux" Linux  Verfasst am 27.04.2010 12:35 27.04.2010 12:35  0 Kommentare 0 Kommentare  

Hatten wir glaube ich schon einmal hier in einem User Kommentar, aber ich poste das noch mal als kleines Memo für mich und vielleicht für den einen oder anderen Besucher.

Einfacher Verbindungsaufbau:

ssh sim4000@example.com -L 55555:192.168.1.1:3306 -N

Verbindungsaufbau mit Key und anderem SSH Port:

ssh sim4000@example.com -p 1234 -i .ssh/key -L 55555:192.168.1.1:3306 -N

Das Beispiel zeigt, wie man via SSH einen Tunnel zu einem anderen Server aufbaut. Über diesen Tunnel kann man eine Verbindung zu einem Dienst aufbauen, der sonst nur in einem anderen Netz erreichbar ist.

In dem Beispiel oben würde ein Verbindungsaufbau mit einem MySQL Client zu localhost:55555 im Netz von example.com auf dem Rechner 192.168.1.1 rauskommen. Man hat also Verbindung zu einem Serverdienst, der sonst nur im lokalen Netz von example.com erreichbar wäre.

Nebeneffekt dabei ist, dass die Verbindung vom eigenen Rechner bis ins fremde Netzwerk komplett verschlüsselt ist. Hat zum Beispiel in öffentlichen WLAN Netzen enorme Vorteile.

Was die einzelnen Parameter bedeuten, kann man in »man ssh« nachlesen.

 

[PHP] Return einer Referenz auf eine Eigenschaft/Variable

Kategorie "Programmieren" Programmieren  Verfasst am 27.04.2010 12:22 27.04.2010 12:22  4 Kommentare 4 Kommentare  

Dieses kleine Beispiel zeigt, wie man eine Referenz auf eine Variable/Eigenschaft über eine Funktion zurück geben kann. Wichtig ist dabei das "&" vor dem Namen der Methode get().

class classfoo {
   private $var = "asdf";
 
   function &get() { return $this->var; }
   function mkecho() { var_dump($this->var); }
}

Im return von get() wird die Referenz auf die private Eigenschaft $var zurück gegeben. Wenn man also diesen Wert außerhalb der Klasse ändert, ist er auch innerhalb der Klasse geändert.

Man greift also von zwei verschiedenen Stellen auf den selben Speicher zu. Hier wird auch nicht auf private oder public geachtet. Das funktioniert immer.

Detaillierteres Beispiel: http://snippets.sim4000.de/show/17/

 

OpenOffice Impress: Master Folie kopieren

Kategorie "Hard- und Software" Hard- und Software  Verfasst am 20.04.2010 10:44 20.04.2010 10:44  0 Kommentare 0 Kommentare  

Man kann in OpenOffice Impress keine Master Folien kopieren. Diese Funktion existiert schlichtweg nicht. Über einen Umweg kann man OO allerdings "austricksen".

Man nimmt das vorhandene Master und erstellt eine Präsentation mit einer Folie. Nachdem man die Änderungen am Master vorgenommen hat, speichert man diese als Präsentationsvorlage ab.

Nun kann man in der Präsentation wo man ein zweites Master haben möchte in die "Master bearbeiten"-Maske wechseln und dort über Einfügen » Datei... die Vorlage importieren.

Schon hat man die Master Folie "kopiert". Hoffe das diese Funktion bald im OpenOffice implementiert wird...

 

SQL Query mit zwei Limits

Kategorie "Programmieren" Programmieren  Verfasst am 18.04.2010 08:11 18.04.2010 08:11  0 Kommentare 0 Kommentare  

Wer schon mal versucht hat mit SQL eine Blätterfunktion zu basteln kennt das Problem: Man hat ein Query wo bereits ein LIMIT drin ist, und will nun wegen dem Blättern ein weiteres einfügen und evtl noch anders sortieren. Hier kann man sich eines Subquerys bedienen.

SELECT
   *
FROM (
   SELECT * FROM real_table WHERE field='xyz' ORDER BY field2 DESC LIMIT 0 , 150
) AS vtable
ORDER BY field ASC
LIMIT 0 , 10

http://snippets.sim4000.de/show/15/

 

[JavaScript] Object.firstChild in reinem HTML

Kategorie "Programmieren" Programmieren  Verfasst am 11.04.2010 02:02 11.04.2010 02:02  1 Kommentar 1 Kommentar  

In einem Projekt hatte ich eben ein JavaScript, welches die Höhe eines divs an die reale Höhe des ersten Kindelementes anpasst.

var id = document.getElementById('div');
id.style.height=(id.firstChild.offsetHeight+20)+"px";

Nach einer Änderung am Inhalt des divs funktionierte auf einmal das Verändern der Höhe nicht mehr. Die Ausgabe von id.firstChild brachte nur ein plumpes undefined zu Tage.

Lösung des Problems waren Leerzeichen zwischen dem div-Tag und dem Kindelement. Durch den Umbau des div-Inhaltes haben sich die Leerzeichen eingeschichen. Nachdem diese wieder entfernt wurden, ging wieder alles.

Durch die Leerzeichen wurden die Kindelemente nicht erkannt. Der Browser ging davon aus, dass nur reiner Text in dem div ist. Darauf muss man auch erstmal kommen...

 

Email Aliase bearbeiten

Kategorie "Linux" Linux  Verfasst am 09.04.2010 13:57 09.04.2010 13:57  6 Kommentare 6 Kommentare  

Immer wenn man die Datei /etc/aliases bearbeitet, muss man den Befehl newaliases ausführen, und ggf den MTA (Mail Transfer Agent) neustarten.

Beispiel einer Alias Datei:

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: hostmaster@example.com

*kleine Notiz an mich*

 

Adobe Flash & Reader unter Windows installieren

Kategorie "Windows" Windows  Verfasst am 31.03.2010 14:41 31.03.2010 14:41  3 Kommentare 3 Kommentare  

Versucht man Flash unter Windows mit dem Firefox zu installieren, landet man immer bei Adobe auf der Website.

Dort wird man dazu genötigt so einen tollen Downloadmanager via Firefox AddOn zu installieren, über dem man dann auch an das ran kommt, was man eigentlich wollte: Flash!

Um diese gequirlte Kacke tolle Idee zu umgehen, kann man das neuste Flash aber auch bei chip.de runterladen. Dort gibt es dann ein zip Archiv. Entpacken, Binary ausführen, OK klicken, freuen.

Mal im Ernst: Wer denkt sich son scheiß aus? Download Manager nur für Adobe als Firefox AddOn... *sigh*

Nachtrag:
Bei dem Adobe Reader ist es kniffliger. Dort gibt es bei Chip nur einen Link zu adobe.com. Wer allerdings einen alternativen Browser einsetzt, kann den einfach zum Download benutzen.

Bei Safari zum Beispiel kann man die Setup.exe einfach speichern.

 

Alle Dateien größer als x MB finden

Kategorie "Linux" Linux  Verfasst am 29.03.2010 00:09 29.03.2010 00:09  0 Kommentare 0 Kommentare  

Mit find kann man alle Dateien die größer als beispielsweise 50 Megabyte sind finden.

cd /something/folder
find -type f -size +50M

+50k für Kilobyte, +50M für Megabyte und +50G für Gigabyte. Weitere Möglichkeiten kann man in der Manpage von find nachlesen.

 

SVN Arbeitskopie reparieren

Kategorie "Linux" Linux  Verfasst am 28.03.2010 16:43 28.03.2010 16:43  0 Kommentare 0 Kommentare  

Wenn man in einer SVN Arbeitskopie den .svn Ordner löscht, geht der Ärger los. Der Commit funktioniert nicht mehr fehlerfrei. Als Fehlermeldung kommt dann zum Beispiel

svn: Übertragen schlug fehl (Details folgen):
svn: Verzeichnis »/var/www/html/somefolder/.svn« mit Administrationsdateien der 
Arbeitskopie fehlt

Andy von webtatic.com hat nun eine kleine Sammlung von Workarounds zusammengefasst, mit denen die meisten Probleme gelöst werden können.

Schaut man sich bei der Arbeitskopie die Statusinformationen an, kam folgendes raus:

~      /var/www/html/somefolder

Um das wieder heile zu bekommen, kann man sich eines kleines Tricks bedienen. Man schiebt den fehlerhaften Ordner aus der Arbeitskopie raus, und stellt den Urzustand wieder her. Danach kann man den Ordner wieder an den Ursprungsort verschieben.

mv /var/www/html/somefolder /somefolder
svn revert /var/www/html/somefolder 
mv /somefolder /var/www/html/somefolder
svn add /var/www/html/somefolder

Der Blog Artikel von Andy ist auf jeden Fall lesenswert. Die Tipps sind echt Gold wert, wenn man mal eine Arbeitskopie zerschossen hat.

via webtatic.com

 

[PHP] Wiederholende Zeichenketten

Kategorie "Programmieren" Programmieren  Verfasst am 28.03.2010 16:21 28.03.2010 16:21  1 Kommentar 1 Kommentar  

Wenn man als Beispiel 100 Punkte durch einen einzigen ersetzen möchte, kann man dies ganz einfach mit der PHP Funktion str_repeat() lösen.

<?php
   $str = "hallo...........................................(usw)";
   echo str_replace(str_repeat(".", 100), ".", $str);
?>

Ist doch einfacher als die 100 Punkte auszuschreiben, oder? ;)

Seite 5 von 30

Tag Cloud

3D   Allgemein   Animation   Apache   Arbeit   Arch Linux   Asterix & Obelix   Bash   Bitlbee   Blog v2.0   Bluetooth   Bodenwerder   Bouncer (BNC)   Bundestagswahl 09   Bücher   CCC   Chromium   Comics   Computerspiele   Content Managment System   Cybton   DAU Alarm   DLRG   Datenbanken   Datenschutz   Debian   Deutsches Rotes Kreuz   Domains   EZFlash Vi   Eclipse   Eingabegeräte   Email   Essen   Fanartikel   Feiertage   Fernsehn   Firefox   Flash   Flattr   Fotografie   Fun   Fußball   GEZ   Gameboy Advance   Games   Gnome   Grafiken   Grand Theft Auto IV   HTML   Hardware   ICQ   Internet   Internet Explorer   Internet Relay Chat (IRC)   Internetzensur   Java   JavaScript   JeeGeek   Justiz   Kino   Konzert   Kultur   Kumpels   Legend of Zelda   Linux   Marilyn Manson   Mozilla   Musik   MySQL   NPD   Natur   Netzwerk   Nintendo   Nintendo DS   Nintendo DSi   Notebook   OpenOffice   OpenOffice Impress   PC Hardware   PHP   Patentrecht   Pidgin   Piratenpartei   Politik   Privat   Programmieren   Projekte   Rammstein   SSH   SVN   Schlüsselband   Schule   Server   Serversicherheit   Sesamstraße   Shellscripting   Shopping   Shortlinker   Skype   Software   Spam   Spenden   Spongebob   Straßenverkehr   Support   Technik   Textverarbeitung   Thunderbird   USA   Ubuntu   Underground Shopping   Urheberrecht   Urlaub   VMWare   VNC   Vereine   Viren und andere Schädlinge   Virtual Box   Vorratsdatenspeicherung   Wahlen   Webspace   Wehrdienst   Weserbergland   Willkommen   Windows   Windows 7   X11   XML   Zensur   bind9   netcup   openSSL   sim4000.de   vim   Überwachung   Überwachungsstaat   üäx.de   1337