Den hack, dass jedes L automatisch gross ist, haett ich gern *lol*....
Beiträge von a9bejo
-
-
Na da hab ich noch extra geschrieben:
Zitat von a9bejo
Suns JavaFX bitte nicht verwechseln mit Applets, Webstart oder serverseitigem Java!)Aber so wie es aussieht ist JavaFX tatsaechlich nicht viel mehr
als Swing, das ueber Java Webstart oder in Applets gestartet
wird. Es gibt halt eine neue Sprache (eben JavaFX Script), mit
der man die GUIs deklarativ basteln kann. Aber so viel neues
habe ich bis jetzt nicht gesehen.Wen es interressiert, und wer sich gewappnet fuehlt, dass
ganze Marketinggebrabbel ueber sich ergehen zu lassen: Die
Keynotes zur Java One, wo auch JavaFX vorgestellt wurde, finden
sich hier.
Bruce Eckel haelt dort morgen auch einen Vortrag. Ueber Flex :).Zitat von phudyaber mal abgesehen von solchen (politischen) eigenschaften, wie
siehts mit den produkten/technologien an sich aus? was gibts
neues? wo gibts erhebliche einschraenkungen?Bei JavaFX hast du hast du halt das gesamte JDK mit seinen X tausend
Klassen und Komponenten zur Verfuegung. Adobes Framework kann da
nicht mithalten. Aber das muss ja nicht unbedingt was schlechtes
sein. Wenn ich ueber Webservices mit einem Backend Daten
austausche, dann muss mein GUI Framework eigentlich nur eines
richtig gut koennen: Naemlich GUIs bauen.Zitat von phudyApollo ist dann quasi die weiterentwicklung von
flex?Ich glaube Apollo ist in etwa das was Du ueber screenwaver
schreibst. Also eine Moeglichkeit, Flash Applikationen
am Desktop laufen zu lassen.Ich hab jetzt mal ein wenig in OpenLaszlo reingeschaut und
die sind eigentlich schon laengst da angekommen, wo Adobe jetzt mit
Flex hinmarschiert ist: Die GUI Entwicklung schaut sehr aehnlich wie
Flex aus (siehe hier die demos), und ein OpenLaszlo Projekt laesst sich
wahlweise als Flash oder als DHTML/AJAX deployen. -
Danke, genau auf solche Erfahrungsberichte hatte ich gehofft. Ich
habe bis jetzt nur Spezifikation gelesen und ein paar kurze Beispiele
geschrieben (einfache GUI kommuniziert ueber SOAP mit einem Ruby on
Rails Backend u.a.). Da ist eine real world Erfahrung mit einer
grossen codebasis schon sehr wertvoll.Hier ein paar Fragen:
Konntest Du die GUI groesstenteils mit mxml machen oder musstest Du
oefters direkt auf ActionScript zurueckgreifen. Was ich bis jetzt gesehen
habe, ist ActionScript in Flash eigentlich nur notwendig, wenn man
eigene GUI Komponenten erstellen moechte. Ist das korrekt?
Beschraenkt sich der FlexAnteil deiner Software wirklich nur auf das
darstellen der GUI und die Datenanbindung, oder ist dann am Ende doch
noch irgendwo "richtige" Programmlogik eingeflossen? Hast Du am Backend
umdenken muessen, als Du das Frontend gewechselt hast?Wie laeuft die Kommunikation zum Backend bei dir ueberhaupt ab? Ich
rede immer von SOAP, aber da gibt es ja noch andere Moeglichkeiten.ZitatAnforderungen an das Frontend sehr "desktopig".
Was war denn da zum Beispiel?ZitatDie Flex-IDE von Adobe ist zwar recht teuer, 500$, aber imho
sehr gut, jeden Cent wert.Den Preis fuer die IDE finde ich sogar fast beruhigend. Wenn Adobe
versucht mit den Lizenen fuer die Tools Geld zu verdienen, stehen die
Chancen ja ganz gut das sie die Plattform selber (also vor allem
Flash) standardisieren. Mit PDF hat das ja so auch schon gut
funktioniert.Ausserdem hab ich den Eindruck man kommt auch ohne den Flex Builder
sehr gut zurecht. Ich hab fuer meine Beispiele Emacs verwendet und
den mxml source gegen ein Schema validiert. Da hat man dann code
completion und syntax validation. Und das was Adobe gemacht hat, also
eine IDE auf basis von Eclipse schreiben, dass kann man ihnen ja auch
nachmachen. -
Der Entwickler von JavaFX Script (frueher 'F3') fuert ein Weblog mit Beispielen.
Nichts grossartig beeindruckendes dabei, aber erwaehnenswert.
Ausserdem gibt es eine Developer Site fuer das Projekt auf https://openjfx.dev.java.net/.die Demos scheinen alle ueber Java Webstart zu laufen und JavaFX
ist eigentlich nur eine deklarative Sprache um GUIs zu bauen, die
von der Syntax an ECMA script erinnert. Die Demos wirken alle
etwas holprig. Von dem bischen, das ich bis jetzt gesehen habe,
finde ich mxml und Flash die elegantere Loesung gegenueber JavaFX
und Webstart. Naja, ich denke ich spiel erstmal ein wenig mit dem
Zeug bevor ich es verurteile.Flash verfügt halt nicht über grosse Komponentenbibliotheken. Es
gibt ein Projekt zum Einbinden von Java in Flash, aber
ich weiss nicht, wie weit bzw. wie aktiv die sind.Was ich fast eleganter fände als eine Anbindung an eine
bestehdene Plattform: Das man Desktop Applikationen genauso wie jetzt
Webapplikationen ausliefert, also mit einer Backendkomponente
und dann einem .swf das nur GUI macht und über SOAP/REST oder
sogar einfache command line Befehle mit dem Background Process
kommuniziert:Dann kann man nicht nur jede beliebige Plattform im Backend
verwenden. Man kann auch bei Bedarf das Backend wieder auf einen
anderen Rechner auslagern, die GUI ist immer hübsch von der Logik
getrennt, und das beste: Jede so erstellte Desktop Applikation
verfügt dann über eine maschinenlesbare Schnittstelle, die von
anderen Applikationen im System verwendet werden kann.Also im Prinzip einfach SOA, aber auch für rein lokale
Anwndungen auf dem Desktop. -
Wird für alle (gängigen) Browser auf
allen (gängigen) Betriebssystemen zur Verfügung stehenDas ist nicht korrekt. Silverlight ist z.B. nicht unter Linux
verfuegbar.Das Microsoft teile von Silverlight unter eine open source lizenz
stellt wuste ich. Es ist meiner Meinung nach aber nur ein Versuch
die Software besser zu vermarkten und hat kaum positive
Auswirkungen fuer uns. Also in etwa so wie ".NET ist genauso
platformunabhaengig wie Java" (das haben sie 2000 behauptet).Der Grund warum die Lizenz so wichtig ist ja das wir unsere
Software nicht auf die Interessen von jemand anderen
einschraenken lassen wollen.Microsoft kann uns Silverlight gar nicht ueberlassen, denn
die Kontrolle ueber die Applikationsplatform ist wesentlicher
Bestandteil ihres Businessmodells. Bei Adobe bin ich mir nicht
so sicher, die koennten sich unter Umstaenden gezwungen sehen
auch Flash frei zu geben. Und JavaFX ist halt von vornherein
Open Source.Ich schaetze das Silverlight seine Verwendung findet, aber halt
vor allem in den klassischen MS-Shops, nicht als allgemein
akzeptierter Softwarestandard.nachdem Silverlight ja aufm .NET
Framework aufbaut wird es sicher ziemlich komfortabel zu
programmieren sein (hab da jedoch noch keine erfahrung damit, mit
.NET allerdings schon).Ja, Du kannst z.B. mit jeder Programmiersprache arbeiten, die es
fuer das .NET Framework gibt. Also z.B. kannst du deine Webguis
mit IronPython oder Ruby basteln. Das sollte mit JavaFX aber auch
ohne weiteres gehen. Zumindest wueste ich jetzt nicht was dagegen
spricht. Das ist natürlich schon cool. Andererseits: Wenn ich
damit vor allem GUIs baue, ist das dann noch wirklich wichtig? -
Ich wuerde sagen das der Quicksort M3 vermutlich da verwendet wird, wo Daten sortiert werden, die nicht voellig willkuerlich geordnet vorliegen, sondern groesstenteils bereits sortiert sind. Also z.b. 1 2 3 4 5 6 8 7 9 . Da ein Quicksort nicht stabil ist, darf auch die Reihenfolge gleicher Elemente kein Kriterium sein.
Ich habe mal nach bei google codesearch gesucht, und der median of three wird z.b. bei gnusmalltalk oder in der c bibliothek glibc verwendet:
-
Nachdem Sun gestern auf der Java One JavaFX
vorgestellt hat, gibt es nunmehr drei grosse Anbieter von Rich
Internet Application (RIA) Plattformen:- Adobes Apollo/Flex/Flash Platform (Diskussion)
- Microsoft Silverlight (Diskussion)
- Suns JavaFX (Diskussion, auf reddit)
Bitte nicht verwechseln mit Applets, Webstart oder serverseitigem Java!)
Ich selbst bin der Meinung, dass RIAs mit Javascript und
AJAX zu basteln ganz furchtbar ist. Selbst mit Frameworks wie
prototype.js bleibt das immer noch ein haesslicher Hack, der ja
auch niemals fuer richtige GUI Programmierung gedacht war.Zumindest die Idee hinter einer richtigen GUI Platform finde ich
deshalb sehr interressant. Alle 3 Loesungen definieren GUIs
deklarativ und koennen sowohl innerhalb eines Browsers als auch
direkt auf dem Desktop laufen.Silverlight ist fuer mich eigentlich schon raus, weil properitaer
und auf Grund der Firmenpoliktik stark eingeschraenkt (z.B. auf das
Betriebsystem). Silverlight hat aber auch interressante Ansaetze.In Flex habe ich mich etwas reingelesen. Flex ist mittlerweile
Open Source, Flash selbst aber nicht :(. Ein anderes Problem ist,
das es natuerlich nicht die Fuelle an Bibliotheken gibt wie bei
.NET oder vor allem bei Java. Solange die Applikationen nur thin
clients sind ist das wurscht, aber wenn man dann auch am Desktop
damit arbeitet und lokal Funkionalitaet implementieren will, ist
es ein Problem.Ich habe Flex jetzt mal als reine GUI software betrachtet, die
immer, auch wenn sie lokal laeuft (z.B. als Apollo Applikation),
ueber Webservices mit einem Backend kommuniziert. Ich glaube das
kann gut funktionieren (Ein netter Nebeneffekt ist, das man
so dem Programmierer zwingt GUI und Logik zu trennen ).JavaFX ist als einziges Framework vollstaendig UNSER Eigentum,
was ja gerade bei dieser Art von Software Plattform fast schon
Pflicht sein sollte (Wer will schon o ein Debakel wie mit
Microsoft in den 80/90ern). JavaFX verfuegt auch ueber die
groesste bestehende Softwarebasis, darum momentan fuer mich
vorne.Update: OpenLaszlo sollte man noch dazu nennen: http://www.openlaszlo.org/ .
Mich interressiert eure Meinung dazu. Hat jemand schon eines von
den Frameworks genauer unter die Lupe genommen? Oder seid ihr mit
dem Status Quo zufrieden?Weitere Artikel zu dem Thema:
http://diveintomark.org/archives/2007/05/02/silly-season
http://jeremy.zawodny.com/blog/archives/009000.html
http://www.paulgraham.com/microsoft.html
- Adobes Apollo/Flex/Flash Platform (Diskussion)
-
Eine Suche brachte diese 3 Documente zu Tage:
http://www.stefan-baur.de/cs.algo.quicks…ml?glstyle=2006
http://en.wikipedia.org/wiki/Quicksort
http://en.wikipedia.org/wiki/Selection…ns_algorithm.22
reicht doch allemal fuer einen Kurzvortrag?
-
Da gibt es mehrere moeglichkeiten. Hier eine Auswahl:
Ueber CGI. Hier hast du einfach ein java programm das ueber HTTP kommuniziert. Sehr low level.
Ueber einen Servlet Container: der uebliche weg. Ein Serlvet, das in einem eigenen webserver lauft, der dann ueber apache weitergeroutet wird. Das ist der meistverwendete weg, aber ohne Ausgiebige Recherche lauft da gar nichts. "Tomcat" ist hier ein einfacher servlet container.
Helma ist ebenfalls ein Webserver fuer Java Applikationen, der mit Apache kombiniert laufen kann. Bei Helma wird die gui mit javascript gebastelt, die pltform ist aber java und du kannst ganz einfach deine Javabibliotheken verwenden und einbinden. Helma ist vermutlich die einfachste Loesung fuer schnelle Java aplicationen, allerdings ist die Software ausserhalb von Oesterreich kaum in Gebrauch.
-
Verstehe ich dich richtig, das so in etwa dein momentaner
Algorithmus aussieht:Coderesults = Liste for each hash in file: for each email in database: if sha1(email) == hash: results.add(email)
Folgende Ansaetze:
1. Mach die innere Schleife direkt auf datenbankebene:
"SELECT email FROM tablename WHERE sha1(email) = hash"
=> nur noch 19000 abfragen.2. Mach auch die aussere Schleife auf Datenbankebene:
"SELECT email FROM tablename WHERE SHA1(email) in (hash1,hash2,hash3,...)
=> nur mehr 1 (etwas laengere) Abfrage.3. berechne die hashes von allen emails in einem preprocessing schritt und speichere diese hashes
in einer Hilfstabelle oder einem Hilfsfeld in der Datenbank. Dann ist die Abfrage nurmehr:"SELECT email FROM tablename WHERE stored_hash in (hash1,hash2,hash3,...)"
Ich vermute, dass dann die ganze Berechnung keine 5 sekunden dauert.
-
Zitat von Paulchen
Was hat das mit der ursprünglichen Problemstellung zu tun?Wie machst Du aus einem Basisstring "objs" und einem Index "1" einen Referenznamen objs1 ? Dass kommt doch genau auf das von mir beschriebene Problem hinaus oder nicht?
-
Ich verstehe zwar deinen Ruby-Code nicht, aber noch weniger versteh ich, wie du jetzt draufkommst, dass man hier Reflection verwenden sollte.
Von 'sollte' kann gar nicht die Rede sein, schiesslich habe ich diese Loesung als "praktisch unbrauchbar" bezeichnet.
Also das Problem:
Ich bekomme zur Laufzeit einen String, und moechte daraus einen Referenznamen machen.
In einer interpretierten Sprache kann man das Problem mit eval loesen.
Die Ruby Loesung geht im Prinzip so vor. Aber in Java ist der Code zur
Laufzeit ja nicht mehr vorhanden: Die VM kennt nur noch noch Bytecode.Was man also machen muesste ist:
- Zur Laufzeit ein .class file erstellen, das z.b. eine Klasse
enthaelt, welche 'foo' als eine oeffentliche, statische variable
besitzt.- Diese Klasse mittels Reflection zur Laufzeit laden und dann die
Referenz foo mittels 'MyClass.foo' ansprechen.Oder gibt es vielleicht einen einfacheren Weg?
-
Die Bemerkung verstehe ich nicht. Diese Zeile ist ja nicht die Loesung des Problems (diese steht eine Zeile drueber im Aufruf der Methode 'instance_variable_set'). Der print befehl ist nur ein Beispiel fuer die Verwendung des Ergebnisses.
Vielleicht ist ja die Notation unklahr: Alles nach dem '#' ist in Ruby ein Kommentar, und in diesem Fall soll der Kommentar die Ausgabe beschreiben, naemlich den der Variablen zugewiesenen Wert. und print variable ist ja wohl nicht komplizierter als System.out.print(variable);
Wenn man die Syntax einer Sprache nicht kennt, ist natuerlich alles kompliziert.
In Java laesst sich das Problem meiner Meinung nach nur loesen, indem man zur Laufzeit Bytecode generiert und diesen dann mittels Reflection laed. Und das ist fuer mich kompliziert genug um es als praktisch unbrauchbar zu bezeichnen.
-
-
Eine Frage aus Neugier: Wozu braucht man als TU Student eigentlich noch eine Lizenz fuer die Vollversion? Microsoft bietet doch mittlerweile die Visual Studio Express Versionen gratis zum download an, da ist doch alles dabei was man als Privatentwickler fuer die Windows Plattform gebrauchen kann?
-
Fuer die die sich fragen was da fuer eine technologie verwendet wird: Das script ist in PHP.
-
Zitat von Nicholas1991
Ich meine generell wie man solch einen Thread erzeugt und wie er aufgebaut sein muss?
Meiner Erfahrung nach lernt man solche Grundlagen besser aus Buechern, und benutzt Foren wie dieses zur weiteren Recherche.
Natuerlich kann ich dir jetzt einen Essay ueber Java Threading schreiben, aber ich wuerde ja nur wiederholen was schon zig andere vor mir geschrieben haben.
-
ja kampi, hast recht -danke danke danke.
dh ich muss immer wenn ich dia starten will, händisch x11 starten, warten bis xterm da is, und dann von dort dia starten?!
umständlich......... aber es funktionert.
danke nochmal -war doch einfacher als ich gedacht habe
ich machs im macos eigentlich immer so, was nicht heiszt, dass es nicht anders geht. irgendwie schafft es schlieszlich auch openoffice das X11 gleich mitzustarten.
der befehl "open-x11" startet eine applikation in x11:
und wer sich das nicht merken will, der kann folgendes in seine ~/.profile schreiben:
-
-
Hallo bpu!
Bitte benutze fuer Jobangebote das dafuer vorgesehene Forum. Siehe hierzu auch unser FAQ.
Danke und viel Erfolg bei der Suche!
-- Ben