Thursday, January 21. 2010Javascript prototype inheritance
Gestern bin ich hier auf Arbeit auf ein ganz interessantes Problem gestoßen.
Wenn man in Javasacript an OOP angelehnte Vererbung machen möchte und dafür die prototype Eigenschaft eines jeden Objects nutzt, führt das dazu dass die Eigenschaften der Mutterklasse mit allen Kinderklassen geteilt werden. Wenn man mithilfe des Prototype JS Framework z.B. folgendes schreibt: var Mother = Class.create ( { attributeWhichShallbeUniqueForEachChildClass: Array(), } ); var Son = Class.create ( Mother, { } ); var Daughter = Class.create ( Mother, function(self) { } ); daughter = new Daughter(); daughter.attributeWhichShallbeUniqueForEachChildClass[0] = 'daughter'; son = new Son(); console.log(son.attributeWhichShallbeUniqueForEachChildClass); gibt der letzte log das Attribut aus welches von daughter gesetzt wurde es sollte aber null sein. Hier wird das ganze besser erklärt: http://www.zipcon.net/~swhite/docs/computers/languages/object_oriented_JS/inheritance.html. Hab dann stundenlang versucht dieses closure inheritance hinzubekommen wie in dem Link erklärt, aber das Problem war dass hier mit Prototype Js Framework gearbeitet wird und ich die Vererbung nicht einfach so ändern konnte. Bis ich dann durch google Suche wieder auf die Original Prototype Doku(Abschnitt: Types of inheritance in programming languages) gestoßen bin (auf die einfachste Idee kommt man manchmal einfach nicht var Mother = Class.create ( { initialize: function() { this attributeWhichShallbeUniqueForEachChildClass: Array(); } } ); var Son = Class.create ( Mother, { } ); var Daughter = Class.create ( Mother, function(self) { } ); daughter = new Daughter(); daughter.attributeWhichShallbeUniqueForEachChildClass[0] = 'daughter'; son = new Son(); console.log(son.attributeWhichShallbeUniqueForEachChildClass); Nun hat jede Kindklasse sein eigenes array. Ich war glücklich und um eine Erfahrung reicher Tuesday, December 22. 2009Cooles Regexp Tool
der Pablo (mein Betreuer hier) hat mir heute ein cooles Plugin für Eclipse gezeigt:
Regex Util http://myregexp.com/eclipsePlugin.html update site: http://regex-util.sourceforge.net/update/ damit kann man in Eclipse mal eben schnell unabhängig von anderem Code regexps ausprobieren, er zeigt dir sehr schön an was er matched und auch die teilausdrücke, in meinen augen für Eclipse entwickler ein must have Saturday, December 19. 2009Sphinx
Heute mal wieder etwas technischer. Letzten Donnerstag hab ich mich mit Sphinx beschäftigt, das ist eine SQL Volltext search engine. Also wenn man mal in die Verlegenheit kommt einen Suche für SQL Tabellen mit sagen wir mehr als 500 Tausend Einträgen zu implementieren, dann wird man feststellen dass z.B. MySQL da ziemlich lange braucht, weil der LIKE Operator einfach keine schnellen Suchen ermöglicht.
Um die Performance zu steigern kann man z.B. Sphinx benutzen. Mit Sphinx indiziert man im ersten Schritt alle Tabelleneinträge. Sphinx holt sich also alle Einträge vom MySQL server und speichert diese dann in einer binären Datei. Wenn dann der Sphinx server läuft kann man dann mit PHP oder welcher Sprache auch immer, den server mittels einer API ansprechen. Mithilfe eines SQL Queries sucht man dann z.B. alle Personen die mit A anfangen. Sphinx liefert die primary keys zurück (oder was immer man haben will, kann man alles konfigurieren) und mit diesen primary keys kann man dann wiederum eine SQL Query an den MySQL server schicken die dann viel performanter abläuft, denn anhand der primary keys kann MySQL die Datensätze viel schneller finden. War ziemlich erstaunt dass man diese doch nicht ganz einfache Materie recht schnell und relativ einfach implementieren kann. Hab für mich mal ne kurze Doku Skizze geschrieben um das ganze auf nem Ubuntu server laufen zu lassen, wems interesiert: #Sphinx install (mysql server already installed) sudo apt-get install libmysqlclient15-dev #download sphinx from www.sphinxsearch.com tar xvzf sphinx-0.9.8.1.tar.gz cd sphinx-0.9.8.1/ ./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql make sudo make install # Config #example sphinx.conf (only changed values) source persons : basic { sql_query = \ SELECT \ p.id, \ p..name, \ FROM person p \ } index basic { # minimum word infix length to index # optional, default is 0 (do not index infixes) # # in other words - if this is 0 you can only search for entire words # the given number though cuts words down to chunks with min length of n chars min_infix_len = 3 } index persons : basic { source = persons path = [PROJECT_PATH]/var/sphinx/data_persons } #Create index #(for me it was the best practice to execute this command in the folder where the sphinx.conf lies): indexer --all #Start search daemon #(for me it was the best practice to execute this command in the folder where the sphinx.conf lies): searchd & #Use Sphinx in PHP: #integrate php api SphinxClient from Andrew Aksyonoff or the pecl SphinxClient into your project $sphinxRequest = new SphinxClient; $sphinxRequest->SetLimits(0, 2000000); $sphinxPersons = $sphinxRequest->simpleQuery( $sphinxRequest->EscapeString($this->where), 'persons' ); if (count($sphinxPersons) > 0) { $personsImplodedArray = implode(',', $sphinxPersons); } else { $personsImplodedArray = '0'; } $addWhere .= sprintf ( "AND p.id IN (%s) ", $this->db->escape($personsImplodedArray) ); // now this query rocks: $sql = "SELECT * FROM person WHERE 1 ".$addWhere; have fun #Links: http://www.ibm.com/developerworks/library/os-php-sphinxsearch/ http://www.sphinxsearch.com/ Thursday, December 10. 2009el piso
hier ein kleines video, von der Wohnung die ich hier in Barcelona mit meinem Mitbewohner teile:
Friday, December 4. 2009Arte De Calle En Barcelona
letzte woche wollte ich nach einem anstrengenden Arbeitstag einfach nur nach hause, aber da sah ich plätzlich auf der straße viele Menschen und ein großes Holz-Uboot, da führte eine Künstlertruppe ein kleines Stück auf der Straße auf, fand ich ganz witzig so unverhofft mitten in der Woche:
Thursday, December 3. 2009Fuentes Montjuic
Am letzten Sonnabend hab ichs endlich mal geschafft zur Springbrunnen Show am Berg Montjuic zu gehen. Die läuft hier am Wochenende jeden Abend. Ein Muss wenn man Barcelona besucht, einfach unheimlich schön und imposant, leider war meine Kamera nicht startklar als sie Barcelona von Fredy und Montsi gespielt haben, hatte eine Gänsehautschauer nach dem anderen :-), aber mit Klassik machts auch was her:
Sunday, November 29. 2009Mi habitacion nueva
Vor ein paar Tagen sind mein Mitbewohner und ich in eine neue Wohnung gezogen. Nun wohnen wird fast direkt am Strand im Stadtteil Barceloneta. Hier ist es total super. Ich kann jeden Morgen mein Bici am Strand abholen, ein paar Minuten die Sonne, den Wind und das Meer geniessen und dann zur Arbeit. So fängt ein guter Tag an
Sunday, November 22. 2009PHP Conference Barcelona 2009
Hatte leider die letzten Wochen keine Zeit mich um mein Blog zu kümmern, bin mit Manu meinem WG-Partner, innerhalb Barcelonas umgezogen und habe ihm kräftig unter die Arme gegriffen, die Spanier sind dann wohl tatsächlich nicht ganz so organisiert wie die Deutschen
Vor ein paar Wochen war ich bei der PHP Conference hier in Barcelona. Habe einige sehr interessant Vorträge gehört. Unter anderem hat Rasmus Lerdorf (Erfinder von PHP) aus den Anfangszeiten des Internets und von den ersten Gehversuchen von PHP erzählt. War ganz lustig, ich hatte vorher noch nie PHP 1 Code gesehen, der war nicht innerhalb des <?php echo"Hello World"; ?> tags sonder innerhalb eines HTML Kommentar Tags <!-- echo"Hello World"; -->, ziemlich strange aus heutiger Sicht Hier ein Beweisfoto, was ich bei Flickr danach gefunden habe, leider nur von hinten aber immerhin, man sieht ich war da :-): ![]() Bei den anderen Talks gings dann mehr um Performance, Sicherheit und Agile Development. Wems interessiert hier der Link zu den Slides: Slides PHP Conference Barcelona 2009 Sunday, October 18. 2009Cantar en la playa de Barcelona
Am heutigen Sonntag schien die Sonne und ich wollte die letzten wärmenden Strahlen am Strand geniessen. Es war total genial, die Wellen waren diesmal ewas größer, es waren viele Surfer am Strand. Habe dann auch beim Baden gespürt dass die Wellen hier doch ein wenig mehr Kraft entwickeln als an meinem Heimatstrand
![]() Es war total genial, hab mir einen Sessel aus Sand gebaut aufs Meer geschaut, gespielt und den Surfern zugeschaut. Wer's mag hier ein paar Eindrücke: ¡hasta luego! René Sunday, October 18. 2009Palau de la Musica Catalana y la música callejera
Heute abend war ich im Palau de la Musica Catalana, laut meinem Reiseführer eines der letzten und großen Schlußpunkte des Modernista in Barcelona. Irgendwie war ich dann doch etwas zu früh und schlenderte noch ein wenig in der Gegend rum, per Zufall kamm ich dann am Arc de Triomf vorbei. Ich hörte laute Musik und ging der Musik entgegen, da war ein afrikanischen Straßenfest, wie ich später herausfand wohl eine Veranstalung der semana africana de Barcelona. War schon klasse diese erdige Musik an einem so europäischen großen Bauwerk zu hören:
Dann war ich aber auch im eigentlichen Konzert, Manuel Gonzales spielte im Palau de la Musica, er spielte viel mir bekanntes Gitarrenzeugs, aber auf eine Weise die ich noch nicht gehört habe, die meißten Stücke spielte er eher langsam, verträumt, war schön :-), der Palast ist schon sehr beeindruckend, es ist wirklich in jeder Ecke eine Statue oder Ornamente zu sehen, keine Ecke wurde von den Architekten freigelassen. Vor dem Konzert wurde ständig über Lautsprecher angesagt es ist nicht gestattet Fotos zu machen, aber es hielt sich keiner dran ¡hasta luego! René Saturday, October 17. 2009Bicing / N.I.E. Numero de identidad de extranjero
Am letzten Donnerstag habe ich nun auch endlich meine N.I.E. bekommen. Also eigentlich braucht man die als EU Bürger garnicht, aber ich will mich hier für dieses Bicing anmelden, ein System womit man sich Fahrräder ausleihen kann, für die ersten 30 min kostenlos, wenns länger dauert muss man einen sehr geringen Betrag zahlen. Also eigentlich eine sehr kluge Geschichte um den verstopften Straßen in Großstädten entgegenzuwirken.
Nunja aber um sich hierfür anmelden zu können brauche ich als Deutscher eine N.I.E., hab mir gedacht da ich als Deutscher Anträge gewohnt bin, keine große Sache, aber wie sich herausstellte war es doch ne ziemlich aufwendige Geschichte. Ich habe mich im vornherein im Internet erkundigt, das Formular ausgedruckt und dann zum Amt in Barceloneta. Eine freundliche Dame erklärte mir dass das Amt grade renoviert wird und dass ich doch bitte zum Passeig de Sant Juan fahren möchte. Dort angekommen erklärte mir dann eine Frau, dass ich hier falsch sei und doch wieder nach Barceloneta fahre möchte, zur dortigen Polizeistation. Ok, ich fuhr zurück, dort angekommen, wartete schon eine riesen Schlange auf mich. Ich wartete vielleicht so ne halbe Stunde, bis dann ein wichtig aussehender Mann (er hatte eine Pistole an der Taille) die Leute fragte was sie überhaupt hier wollen. Er erklärte mir dass ich morgen wieder kommen soll. Am nächsten Tag erfuhr ich dann dass das Computersystem ausgefallen war und man nicht sagen konnte wann es wieder laufen wird. Ich ließ mir eine Telefonnummer geben um anzurufen wann das System wieder läuft. Am letzten Donnerstag stellte ich mich in die Schlange an, als ich dann nach 2h Wartezeit dran kam, wurde mir ein Zettel in die Hand gedrückt womit ich zur Bank gehen sollte und 10€ einweisen soll. Ich klapperte die nächsten Banken ab, die ersten wollten mich nicht bedienen, denn die meißten Banken hier scheinen wohl nur externe Kunden zwischen 8-10 Uhr zu bedienen !?! Schlussendlich fand ich doch noch eine Bank, zahlte die 10 Euro ein, reihte mich das 2. mal in eine Schlange ein und bekam dann doch noch meine N.I.E., puh, hatte dann doch ne ganze Woche gedauert um eine 10stellige Nummer zu bekommen, da sag einer noch was gegen deutsche Ämter, da läuft wenigsten alles koordiniert ab (ooh, sehne ich mich jetzt gerade nach der deutschen Gründlichkeit ? ¡hasta luego! René Tuesday, October 13. 2009Jose Gonzalez live in Barcelona
Was für ein Tag, der Park Güell war ja schon sehr anregend, aber danach war ich auf einem Tipp eines Heinheimischen hin auch noch ins Konzert von Jose Gonzalez im Luz de Gas. Der ein oder andere kennt den Song Heartbeats von der Sony Bravia Werbung wo so viele bunte Bälle die Straße runterfallen:
Tja also der Anfang des Konzerts war nich so nett, erst einmal ne halbe Stunde in 'ner Schlange anstehen obwohl ih schon ein Karte hatte. Dann wollte ich ein Glässchen Rotwein trinken, der Kellner tat auf sehr vornehm und goß mir nur einen Schluck ein damit ich kosten kann, woraufhin ich vale sagte (ok kann man trinken), dann wollte er ansetzen das Glas voll zu füllen aber es kam nur noch ein weiterer Schluck raus, dann war auf einmal kein Korkenzieher zum Öffnen der nächsten Flasche da und so verpasste ich einen guten Platz. Naja halb so schlimm, ich bekam mein Glässchen Wein und ging brav runter zu den Fans. Dann kam ein hektisch auf die Gitarre eindreschender Typ auf die Bühne, ich war schon drauf und drann zu gehen, wollte mir ein neues Glas Rotwein holen, aber siehe da es war kein Wein mehr da, weder weiß noch rot ¡hasta luego! René Monday, October 12. 2009Park Güell
Heute war der National Feiertag in Spanien und ich brauchte an diesem Montag nicht zur Arbeit :-), statt dessen bin ich mit meinem Mitbewohner zum Park Güell. Der Park wurde letztes Jahrhundert von Antoni Gaudí angelegt; ist wirklich ein Besuch wert. Klar die Kunst von Gaudí im Park und in seinem Haus ist sehr schön, aber die ganze Atmosphäre im Park ist sehr angenehm und inspirierend. Sehr viele Straßenkünstler, der eine hat uns wirklich sehr beeindruckt, er spielt eine Hang:
Ein wirklich sehr interessantes Instrument. Es hat einen sehr meditativen Klang und es scheint mir garnicht so schwer zu sein es zu spielen, es soll sehr intuitiv sein, nur leider wird es in der Schweiz in Handarbeit gefertigt ¡hasta luego! René Monday, October 12. 2009La Playa en Castelldefels
Heute war ich am Strand von Castelldefels. Ist ca. ne Stunde von Barcelona entfernt, aber sehr gut mit der Renfe zu erreichen. Ein weitläufiger und breiter Strand wo man mehr Ruhe findet als in Barceloneta, dem Hauptstrand von Barcelona. War zwar alleine da, war aber trotzdem ne sehr schöne Erfahrung. War zwei mal im Wasser, selbst jetzt Mitte Oktober sind es noch so gefühlte 17,18 °C Wassertemperatur. Die Wellen sind viel lauter als daheim an der Ostsee, musste richtig laut singen damit ich mich selbst beim Gitarre spielen hören konnte.
¡hasta luego! René Thursday, October 8. 2009La Trabaja
Heute schreib ich mal ein bisschen was technischeres als sonst. Meine Arbeit hier konzentriert sich darauf die Community Seite www.sanego.de weiter zu entwickeln. Das Projekt ist in PHP geschrieben. Ich war in den ersten Tagen im Wesentlichen damit beschäftigt im Zuge von neuen Feature-Requests, das vorhandene Datenbankmodel auf ein ORM umzustellen. Da die Seite schon ziemlich viele PageImpressions hat muss man dabei schon auf die Performance des Codes achten. Wir benutzen PDT, Subversion und das Bugtrackersystem Mantis. Bis jetzt besteht meine Arbeit also im wesentlichen aus PHP Programmierung, ich hoffe ich kann mich auch bald mal auf den AJAX Code stürzen.
¡hasta luego! René |
Calendar
QuicksearchArchivesKategorienBlog abonnierenBlog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
