Schlagwort-Archiv: code

Oracle’s Java 7 auf Mac OS X

Seit Oktober 2010, mit der Übernahme Sun’s von Oracle, hat Apple beschlossen ihre eigene Java-Implementierung nicht mehr weiter entwickeln zu wollen. Vor ein paar Stunden hat Oracle nun das erste Java Release (7u4) für Mac OS veröffentlicht. Ich bin jetzt guter Hoffnung, dass für alle Systeme (Windows, Linux und Mac) von Oracle zeitgleich neue Versionen und damit auch fixes herauskommen.

Java 7 installieren

  1. Java 1.7 downloaden
  2. Heruntergeladene dmg Datei öffnen und den Installer durchklicken
  3. Das JDK sollte nun erfolgreich installiert sein
  4. Nun öffnet man die Java-Einstellungen, welche unter /Programme/Diesntprogramme liegen
  5. Den Eintrag Java 7 SE nach oben ziehen
  6. Jetzt kann man über das Terminal kontrollieren, ob alles funktioniert

Eclipse einrichten

  1. Eclipse öffnen
  2. Preferences (cmd + ,) öffnen
  3. Java -> Installed JREs wählen
  4. Add… Button drücken und MacOS X VM auswählen
  5. Im JRE Home Feld “/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home” eintragen
  6. Jetzt sollten die JRE system libraries gefühlt sein
  7. Dem JRE name noch beispielsweise “JDK 1.7″ eintragen und Finish drücken
  8. Jetzt kann man das JDK 1.7 wählen

Happy Coding.

Git & Dropbox

Neulich suchte ich ein kostenlosen/freien git repository hoster, welcher für kleine Gruppen eignet ist. Fündig bin ich auch geworden bei z.B. BitBucket, unfuddle, Assembla, ProjectLocker, codebase, Springloops oder einen eigenen Git-Server aufzusetzen (mit DynDNS/NO-IP und gitosis).
Jedoch bin ich auch auf eine andere Lösung getroffen. Die gute alte Dropbox. Sie lässt sich auch für solche Zwecke malträtieren. Dropbox spielt hier das zentrale repository.

Hier ein Beispiel-Setup via Terminal:

# create your local git project
~/yourLocalProjectDir $ git init
~/yourLocalProjectDir $ git add .
~/yourLocalProjectDir $ git commit -m "initial commit"
~/yourLocalProjectDir $ cd ~/Dropbox/git

# create a new git project on your local-Dropbox folder
~/Dropbox/git $ git init --bare projectOnDropbox.git
~/Dropbox/git $ cd ~/projectOnDropbox

# link your local project with the local-Dropbox repository
~/yourLocalProjectDir $ git remote add origin ~/Dropbox/git/projectOnDropbox.git
~/yourLocalProjectDir $ git push -u origin master

Source

Update 2012-10-15
Kleiner aber feiner online Kurs: http://try.github.com/.

Proxy-Auto-Configuration (TH-Wildau)

Mit Hilfe der Proxy-Auto-Configuration (pac) findet der Webbrowser bzw. das System automatisch die passenden Proxy. Die pac ist eine einfache Text-/JavaScrip-Datei. Sie hat üblicherweise den Namen proxy.pac oder wpac.dat. Der Name ist jedoch Betriebssystem abhängig. Unter Mac OS X und den MS IE muss die Datei wpac.dat heißen.
Solch eine Proxy Konfiguration kann auch automatisch im Netzwerk verteilt werden. Dies passiert, aufgrund der Gerätevielfalt in der TH-Wildau, jedoch nicht.

In dieser wird eine JavaScript-Funktion FindProxyForURL(url, host) definiert.
Ein einfaches Beispiel für die TH-Wildau ist folgende Zeile.

function FindProxyForURL(url, host) { return "PROXY proxy.th-wildau.de:8080; DIRECT"; }

Die ganze PAC-Geschichte kann man natürlich auch noch weiter treiben…

function FindProxyForURL(url, host) {
	// function's
		// isPlainHostName(host)
		// dnsDomainIs(host, "localhost") || dnsDomainIs(host, ".beispiel.net")
		// shExpMatch(host, "192.168.178.*") || shExpMatch(host, "10.0.*") || shExpMatch(url, "https://*")
		// isInNet(host, "127.0.0.1", "255.255.255.0") || isInNet(myIpAddress(), "192.168.178.0", "255.255.255.0")
		// localHostOrDomainIs(host, "127.0.0.1") || localHostOrDomainIs(host, "beispiel.net")
	// return's
		// direkt - return "DIRECT";
		// proxy - return "PROXY your.proxy.net:port";
		// with fallback / multi proxy spec (proxy > direct) - return "PROXY proxy.th-wildau.de:8080; DIRECT";
 
	/*if (X() || Y()) {
		return "DIRECT";
	} else if (Y() && Z()) {
		return "PROXY proxy.th-wildau.de:8080";
	} else {
		return "PROXY proxy.th-wildau.de:8080; DIRECT";
	}*/
}

Diese Datei kann beispielsweise in das Benutzerverzeichnis gelegt werden.
Unter Mac OS X wird die pac unter Systemeinstellungen / Netzwerk / WiFi bzw. Ethernet / Button: Weitere Optionen / Tab: Proxies / Checkbox: Autom. Proxy Konfiguration eingetragen.

Hier gibt es noch weitere Informationen zum Thema Link.

NetBeans keyboard shortcuts

Bis dato hatte ich ausschließlich mit der Eclipse IDE programmiert. In der Hochschule wird jedoch NetBeans 7 eingesetzt.

NetBeans 7 ist gar nicht mal so übel. Jedoch sind die Tastaturkürzel (shortcuts) anders. Das macht das Leben nicht gerade einfacher. Darum habe ich mich mal auf die Suche nach einer Keyboard-Shortcut-Übersicht gemacht.

  • Using NetBeans IDE on Mac OS X
  • Wenn du wissen möchtest welche keyboard shortcuts es alles in denier NetBeans Version gibt, dann schau unter Tools -> Options -> Keymap nach.
  • Meine Favoriten:

    Shift + Esc Toggle Work-space Maximize/Minimize
    Ctrl+E Delete current line

    Quelle: Top 10 NetBeans IDE Keyboard Shortcuts I use the most

    Happy coding.

    Unix Shell Scripting an der HTW Dresden

    Heute zu Besuch an der HTW Dresden. Es sei folgende Aufgabe gegeben:

    Stellen Sie eine Shell-Prozedur auf, die ein ausführbares Programm beliebigen Namens zur Abarbeitung bringt! Programmname und die von dem Programm zu verarbeitenden Parameter sind der Prozedur in der Kommandozeile zu übergeben. Die auf stdout erzeugten Ausgaben des Programms sollen wahlweise auf dem Bildschirm oder auf dem Drucker oder in eine Datei beliebigen Namens ausgegeben werden. Das Ausgabemedium und ggf. der Dateiname sind in einem Dialog über die Konsole vom Benutzer zu erfragen.

    Lösung:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    if test $# -ge 1  #wenn mehr als ein parameter übergeben wird
    then
    echo "Möchten Sie das Programm auf dem [B]ildschirm, auf dem [D]rucker oder
    in einem [F]ile ausgeben?"
    read des  #auswahl einlesen
    case $des in
    b|B) $*;; #großes oder kleines b gedrückt, ausgabe mit allen parametern
    d|D) echo "Wird gedruckt...";;
    f|F)
     echo "Bitte geben Sie einen Dateinamen an!"
     read filename
     $* > $filename;; #schreiben in einer datei
    esac
    fi

    Und schon ist es gelöst :D