Friday, December 31, 2010

UKW-Sender in Hamburg

Hier eine Senderliste der in Hamburg empfangbaren UKW-Radiosender.

Die angegebenen Sendetürme sind die, die mir am wahrscheinlichsten vorkommen. Die Sender, die von Bergedorf aus abgestrahlt werden, kann ich leider selbst nicht empfangen.

No.SenderSendeturmFrequenz
1NDR 2Moorfleet87,6
2DeutschlandfunkMitte88,7
3DeutschlandRadio KulturMitte89,1
4NDR 1 Welle NordMoorfleet89,5
5NDR 90,3Moorfleet90,3
6917 xfmMitte91,7
7NDR InfoMoorfleet92,3
8FSK - Freies SenderkombinatMitte93,0
9Delta RadioMitte93,4
10NJOY RadioMitte94,2
11Oldie 95Mitte95,0
12Offener Kanal HamburgMitte96,0
13Energy 97,1Mitte97,1
14Klassik RadioMitte98,1
15NDR KulturMoorfleet99,2
16R.SHMitte100,0
17Radio ffnRosengarten100,6
18Radio NoraKaltenkirchen101,1
19R.SHKaltenkirchen102,9
20NDR 1 NiedersachsenRosengarten103,2
21Radio HamburgMoorfleet103,6
22Radio HamburgMitte104,0
23Hit-Radio AntenneRosengarten105,1
24NDR 1 Welle NordNeumünster106,4
25106!8 Alster Radio rock'n'popHöltigbaum106,8
26Delta RadioKaltenkirchen107,4




27Oldie 95Bergedorf88,1
28Energy 97,1 Bergedorf100,9
29R.SH Bergedorf102,0
30Delta Radio Bergedorf107,7

Monday, December 13, 2010

Nachteile funktionaler Vererbung in JavaScript

In meinem letzten Blog-Post hatte ich die funktionale Vererbung in JavaScript vorgestellt. Diese funktionale Vererbung hat allerdings einige Nachteile.

Jedes Mal, wenn ein neues Sub-Objekt erzeugt wird, werden zwei neue Funktionen erzeugt: einmal für das Sub-Objekt und einmal für das Super-Objekt. Diese Objekte sind nicht leichtgewichtig, denn das innere Super-Objekt wird als Closure im äußeren Sub-Objekt referenziert. Das Verwenden von vielen Closures kann zu Memory-Leaks führen.

Typen können nicht durch den Instanceof-Operator getestet werden. Sowohl das Super-Objekt "Square" als auch das Sub-Objekt "Box" sind einfache Funktionen. Eine Box-Objekt ist keine Instanz des Square-Objekts. Dies liegt daran, dass keine Konstruktorfunktion verwendet wird.

print(myBox instanceof square); // false


Typen lassen sich zudem nicht erweitern. Das Super-Objekt wird in einer Closure gehalten. Es ist von außen nicht sichtbar.

Der Syntax zum Erzeugen einer neuen Objekt-Instanz entspricht nicht den Konventionen von JavaScript.

var myBox = box(5);


Neue Objekt-Instanzen werden in JavaScript mit dem new-Operator auf einer Konstruktorfunktion erzeugt. Da das Entwurfsmuster der funktionalen Vererbung keine Konstrutkorfunktionen kennt, kann der new-Operator nicht verwendet werden. Dies kann zu Fehlern in der Verwendung des Codes führen.

new Box(5); // ReferenceError: Box is not defined

Funktionale Vererbung sollte also nur in Ausnahmefällen angewendet werden, in denen ein funktionales Paradigma am sinnvollsten erscheint.

Dies ist ein Cross-Post von Ajaxer.de.