-
Gesamte Inhalte
2093 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von kingofbrain
-
Das einzige, was in Quellcode oft nicht so plausibel ist, wie bei einer natürlichsprachlichen Erläuterung, ist die Frage, was "kennen" heißt. In der Objektorientierung kann eine "kennt"-Beziehung dadurch ausgedrückt werden, dass eine Klasse eine andere als Attribut hat. So hat in Deinem Beispiel die Klasse Aktie eine Liste an Observables als Eigenschaften. Nur dann kann sie bei der Änderung des Aktienkurses durch diese Liste durchlaufen und jeden einzelnen Observer benachrichtigen. Ich habe allerdings mit den meisten Design Pattern am Anfang Probleme gehabt, bis ich sie mir "übersetzt" habe. Peter
-
Servus, also Dein Observable ruft bei sich selbst die Methode notifyObservers auf und benachrichtigt alle registrierten Observer über die update Methode. Stell es Dir ohne Programmierung vor: Es gibt eine Gruppe von Leuten, die wollen gerne wissen, wie sich Aktienkurse verändern. Die Aktie selbst weiß, wann sich ihr Kurs verändert. Jeder, der jetzt an der Kursänderung interessiert ist, sagt der Aktie, dass er benachrichtigt werden will, wenn sich der Kurs ändert. Ändert sich der Kurs dann wirklich, gibt die Aktie diese Informationen weiter (Methode update an allen registrierten Observern aufrufen). Die Aktie ist das Observable, die Leute sind Observer. Peter
-
Nö, weil ich so was noch nicht gemacht hab. Ich habe mir die Java API Documentation angeschaut. Es gibt für jede JTable ein TableModel. Diesem TableModel kannst Du einen TableModelListener hinzufügen, der mitkriegt, ob im TableModel Änderungen vorgekommen sind. Auf diese Änderung hin merkst Du Dir das geänderte Objekt und speicherst es am Schluss weg. Peter
-
Java aus ner batch datei starten mit Parameter
kingofbrain antwortete auf Darkmoon221's Thema in Windows
Also Du musst Deinen Java Quellcode nicht jedesmal kompilieren. Du musst die Parameter, die Du per Kommandozeile übergeben willst, über den Parameter String[] args in der main-Methode auswerten. Dann musst Du dafür sorgen, dass diese Parameter auch von Deiner Webseite an das Batchskript übergeben werden. Und dann musst Du dafür sorgen, dass im Batchfile die übergebenen Parameter transportiert werden. Dein Aufruf geht davon aus, dass es System Properties mit den entsprechenden Namen gibt. Ich habe die Syntax jetzt nicht im Kopf, aber die Übergabeparameter an ein Batchskript erhältst Du anders (evtl. $1, ein Tutorial über Windows Batchprogrammierung hilft weiter). Soll das eine private Spielerei sein? Alles andere wäre nämlich absoluter Unfug. So ein Setup darf im geschäftlichen Umfeld nicht auftauchen, weil Du zu viele Vorannahmen treffen musst (Verfügbarkeit des korrekten OS, Verfügbarkeit der Batchdatei, entsprechende Rechte des Users, ...) Peter -
2 Bewerbungsgespräche am gleichen Tag :(
kingofbrain antwortete auf Crushr's Thema in Jobsuche, Bewerbung und Zeugnisse
Es wäre erstens ziemlich weltfremd, wenn eine Firma der Meinung wäre, dass ein vorgeschlagener Termin um jeden Preis wahrzunehmen ist, und zweitens wäre es fahrlässig, sich nur auf einen Ausbildungsplatz zu bewerben. Es ist ganz normal, dass man das tut und das sich dann auch mal Termine überschneiden. Ich halte es wie victorinox. Wenn ich gefragt werde, antworte ich ehrlich, wenn nicht, dann gehe ich nicht ins Detail. Peter -
Das ging aus Deiner ersten Beschreibung nicht hervor. Ich halte es erstens für sinnvoll, trotzdem in der Geschäftslogik Deiner Anwendung nur dann Daten zu ändern, wenn sich auch inhaltlich etwas geändert hat. Das sollte also im Service oder im DAO geprüft werden, um unnötige schreibende Zugriffe zur Datenbank zu vermeiden. Dabei sollte jedes Datenobjekt wissen, welche Eigenschaften hier für einen Vergleich herangezogen werden sollen. Zu Deiner Frage: Du kannst einen TableModelListener an Dein TableModel hängen und den bei einer Änderung des Models benachrichtigen. Der kann sich dann die geänderten Daten merken, bis sie gespeichert werden sollen. Du musst allerdings noch nachschauen, wie Du aus dem Editor, der die Änderung durchführt, die Änderung der Daten an das Model kommunizierst, bzw. ob das automatisch passiert. Denn die Methode setValueAt wird meines Wissens auch bei der Initialbefüllung des Models aufgerufen und nicht nur bei Änderungen im Model. Peter
-
2 Bewerbungsgespräche am gleichen Tag :(
kingofbrain antwortete auf Crushr's Thema in Jobsuche, Bewerbung und Zeugnisse
Bei einer der beiden Firmen den Termin verschieben. Weil aufteilen und zu beiden gehen geht ja nicht. Du musst ja nicht dazusagen, dass Du in der selben Zeit ein anderes Vorstellungsgespräch hast. Sag einfach, Du hättest zu dem vorgeschlagenen Termin keine Zeit und möchtest gerne einen Ersatztermin. Peter -
Servus, ok, dann habe ich es verstanden, glaub ich. Dann musst Du wirklich auf dem Webserver eine Möglichkeit schaffen, die Daten, z.B. über POST oder PUT auf den Server zu transportieren. Dort könnten sie optimalerweise gecached werden, weil bei einer Live-Abfrage vom Server zum Client dieses Clientgerät seinerseits wieder einen Serverprozess zur Verfügung stellen muss, damit die aktuellen Daten vom Server aus gepolled werden können. Da würde ich lieber Push vom Client zum Server verwenden und dieser merkt sich den Zustand seiner angeschlossenen Geräte. Wenn sich dann ein Gerät für einen bestimmten Zeitraum nicht meldet, wrid davon ausgegangen, dass es nicht mehr online ist. Peter
-
Du solltest den Wert einfach über JTable#getTableModel().getValueAt(int, int) erhalten. Die API Dokumentation ist für solche Informationen die erste Anlaufstelle. Peter
-
Wie sieht denn der Stacktrace für diese Exception aus? Dort solltest Du eigentlich rauslesen können, wer diese Klasse verwenden will. Und dann sollte der Hersteller dieser Bibliothek auch wissen, wo die benötigte Library herkommt. Ich habe von dem von Dir genannten Package noch nichts gehört. Schöne Grüße, Peter
-
Servus, ich habe Dich so verstanden, dass das Gerät Daten über sich selbst per HTTP abholen soll. Ist das richtig? Wenn ja, warum? Oder soll das Endgerät Daten über den Server per HTTP abholen? Wie Du auf dem Server die Anbindung an die C-Geschichte machst, ist wohl von der Umgebung abhängig, das sollte mit so ziemlich jeder Sprache gehen (notfalls über einen Aufruf des C-Programms über die Kommandozeile und Interpretation des Ergebnisses. Du kannst das In PHP, Java, ASP, ... machen. Und rausrendern kannst Du es dann als einfache Textliste, CSV, XML, HTML, JSON, ... Peter
-
Ich meine, Du solltest erst mal die binären Daten aus dem Request lesen (s.o.). Danach musst Du keine Query erstellen (ich gehe jetzt einfach mal von JPA aus, nachdem Du nichts dazu sagst), sondern Du musst Deinem JPA POJO (oder der EJB3 Persistence Bean) eine Eigenschaft data vom Typ byte[] verpassen und aus dem Service, der die Bean persistiert (evtl. eine EJB3 Session Bean) ein entsprechend befülltes POJO übergeben. Aber wichtiger: setz Dich mit den Grundlagen von EJB3 und JPA auseinander, das hört sich sehr nach rumgewurschtel und ausprobieren an. Und dafür sind Enterprise Technologien in der Regel zu komplex. Peter
-
Es gibt eine ganze Menge an Möglichkeiten, diese Abhängigkeiten aufzulösen. Eine wäre Maven, das Dir die Abhängigkeiten der Abhängigkeiten automatisch ermittelt und auflöst (wenn die POMs entsprechend gepflegt sind). Aber prinzipiell kommst Du nicht drum rum, die Abhängigkeiten und deren Abhängigkeiten aufzulösen. Natürlich ist das mühsam, aber Du musst ja wissen, was Dein Projekt alles benötigt, um betrieben werden zu können. Peter
-
Servus, weder noch. Du brauchst auf der Serverseite jemanden (ein Servlet), der den Request vom Client entgegen nimmt und aus dem Request die hochgeladene Datei herausliest. Hier gibt es von Apache entsprechende Klassen ("Apache Fileupload" bei Google). Dann hast Du eine Menge an Bytes, die der Inhalt der Datei sind. Die musst Du jetzt in Deine Datenbank schieben. Hier kommt es darauf an, mit welcher Technologie Du arbeitest (EJB3 und JPA, JDO, Hibernate, JDBC, ...). Dort ist es einfach ein ablegen der Daten in einem BLOB Feld. Mein Tipp: schau mal, wie Du den Datenstrom aus dem Request extrahierst und kümmer Dich erst dann um die Speicherung desselben. Peter
-
Servus, Welcher Button, welches System (EJB3 reicht als Aussage nicht, weil es dort keine Buttons gibt), was gibt es schon und was genau geht nicht wie erwartet? Bei Deiner Frage kann alles oder nichts gemeint sein. Peter
-
Also mir ist in Java keine Bibliothek bekannt, mit der man geräteunabhängig CDs brennen könnte. Wenn es mit Batchskripten funktioniert, warum willst Du es ändern? Peter
-
Servus, wenn es Dir nur um die Darstellung von einem solchen Baum geht, dann finde ich yed (yEd - Graph Editor) ganz gut gelungen. Allerdings ist das ein reines Malprogramm für Graphen mit schönen Layoutfunktionen. Peter
-
Allerdings ist die o.g. toString() Methode nicht die Object#toString, sondern eine statische Methode mit Parameter. Grund ist, dass hier genau keine Objekte verarbeitet werden, sondern primitive Zahltypen. Seit Java 5 gibt es zwar Autoboxing und -unboxing, aber hier ist evtl. noch ein Cast möglich. Peter
-
Mir ist nichts bekannt. Wie lange dauert denn der Aufruf? In meinen Augen sollte man erst versuchen, zu optimieren, wenn man weiß, dass es sich um einen Flaschenhals handelt. Wenn dich nur das höchste oder niedrigste Bit interessiert, kannst u natürlich auch über die entsprechenden Methoden in Integer gehen. Peter
-
Integer#toBinaryString(int) und dann den String zerlegen.
-
Die Diskussion ist zwar schon weiter und mein Lösungsvorschlag in einem anderen mit dem Rechteck mit den Halbkreisen an den Streckenenden), aber hier trotzdem noch die Antwort auf flashpixx' Fragen: Ich bin mir sicher, dass ich von einem gegebenen Punkt X und einer Strecke s berechnen kann, ob X erstens so über oder unter s liegt, dass ich ein Lot bilden kann, und dass ich zusätzlich auch errechnen kann, wie lang dieses Lot ist. Die Aussage über die Länge ist ja genau die Lage von X. Genau, und mit diesen Daten kannst Du ermitteln, ob der Punkt innerhalb oder außerhalb eines bestimmten Abstansds um die Strecke herum liegt. Und so hatte ich den OP verstanden. Peter
-
Wenn Du die Ports sauber konfigurierst, oder jeden auf eine andere Adresse lauschen lässt, geht das mit zwei Instanzen ohne Probleme. die Umgebungsvariablen sind ja getrennt voneinander, weil sie erst im Batchfile gesetzt werden. Peter
-
Servus, mein Ansatz wäre folgender: die kürzeste Verbindung eines Punkte zu einer Strecke ist das Lot auf die Strecke durch den Punkt, wenn der Punkt ein Lot auf die Strecke bilden kann. In allen anderen Fällen ist es die kürzere Entfernung zu den beiden Endpunkten der Strecke. Diese zwei Längen sollten mathematisch zu ermitteln sein (meine Geometriekenntnisse sind ein wenig eingerostet) und gegen den maximal zulässigen Wert verglichen werden können. Peter
-
Naja, die Konkatenation der double mit dem Leerstring halte ich nicht für besonders elegant. Die statische Methode toString(double) der Klasse Double sollte hier das Mittel der Wahl sein. Das wird vermutlich auch Dragon8 gemeint haben. Peter
-
Guten Morgen! Ich muss hellslawyer widersprechen. In meinen Augen ist das ein Beispiel für gelungenes Design. Schließlich bedeutet Design nichts anderes als Entwurf oder Gestaltung. Und juklei hat eine einfache Seite gestaltet. Und er hat sie in meinen Augen auch recht schön gestaltet. Ich habe jetzt nur auf die optische Wirkung geachtet und nicht auf das Markup oder Validierung, aber der dunkle Hintergrun lässt den hellen Content gut zur Geltung kommen. Das Bild oben ist schön gewählt und ausgeschnitten, und die verwendete Schriftart gefällt mir sehr gut (auch von der Schriftgröße ). Ob es jetzt ein extrem kompliziertes oder schwer zu erstellendes Layout ist oder nicht, sei dahingestellt. Aber in Bezug auf Farbgebung, grafische Grundlagen und Gestaltungstechniken gefällt mir die Seite. Und für einen 16-jährigen ist das sehr gelungen. Peter