Zum Inhalt springen

kingofbrain

Mitglieder
  • Gesamte Inhalte

    2.093
  • Benutzer seit

  • Letzter Besuch

Beiträge von kingofbrain

  1. Du hast echt ein seltenes Talent, unverständliche Fragen zu stellen.

    Ich versuche mal eine Interpretation: Du willst eine Methode, die einen Parameter übernimmt. Dieser Parameter soll von jedem möglichen Typ sein (java.util.ArrayList, java.awt.Panel, java.lang.String, my.personal.package.Class, ...).

    Wenn ja, dann: public void foo(Object bar)

    Dann kannst Du alles reinstecken, was Object ist (und dank autoboxing seit Java 1.5 sogar geboxte Primitives).

    Versuch doch bitte unabhängig davon, ob ich richtig geraten habe oder nicht, Deine Fragen noch mal zu lesen, bevor Du sie abschickst. Und dann tust Du mal so, als würdest Du Dein Problem nicht kennen. Und dann versuchst Du, zu begreifen, was Du willst. Und dann formulierst Du die Frage nochmal und startest am Beginn des Absatzes.

    Peter

  2. Hast Du Dir die von mir genannte Methode mal angesehen? Dort lädst Du eine Ressource innerhalb des Classpaths.

    Was erwartest Du von der von Dir verwendeten Klasse File? Dass sie in einem JAR nach einer Datei sucht? Abhängig von was? Vom Package der aufrufenden Klasse? Vom Package der Main-Class? Vom Package der im Stack zuoberst / zuunterst liegenden Klasse? Von der Wurzel des JAR-Files aus? Von der Wurzel irgendeines JAR-Files aus?

    Was passiert, ist folgendes: Wenn Du mit der Klasse File arbeitest, dann wird der Pfad abhängig vom Startpunkt der Anwendung (Working Dir) aufgelöst. Das ist bei einem Start aus Eclipse raus in der Regel das Projektverzeichnis. Wenn Du Deine Anwendung dann über "java -jar ..." oder ähnlich ausführst, dann bist du evtl. in einem ganz anderen Verzeichnis.

    Deshalb mein obiger Tipp: leg die Bilder in den Classpath und greif mittels Class#getResourceAsStream(...) darauf zu.

    Peter

  3. Interessant ist z.B. der Blogeintrag von Ken Saks: Portable Global JNDI Names - Ken Saks's Blog

    Weitere Informationen findest Du bei der Suche nach "java:global" bzw. den anderen durch die Spezifikation vorgegebenen Namen.

    Und die Spezifikation: The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 318 -> speziell Kapitel 4.4

    Die sollte sowieso die erste Anlaufstelle sein, weil alles andere immer schon interpretiert, verkürzt und anderweitig verfälscht ist.

    Peter

  4. Also, ich probiers mal:

    1. Das Softwarepaket muss so installierbar sein, dass auf der Festplatte möglichst wenig Speicherplatz benötigt wird.

    Das hat nichts mit Softwareergonomie zu tun, bei der es sich ja um das ergonomische Arbeiten mit einer Software handelt. Das wäre eine Forderung an das Thema Speicherplatzeffizienz.

    2. Software muss auf allen verfügbaren Betriebssystemen lauffähig sein, damit stets die Portierbarkeit (Übertragbarkeit) von Dateien von einem System auf das andere möglich ist.

    Auch das hat nichts mit Ergonomie zu tun. Ergonomie bezieht sich auf das konkrete System des Benutzers. Das ist ein Beispiel für die Forderung nach Plattformunabhängigkeit. Aber auch plattformabhängige Software kann / muss ergonomisch sein.

    3. Software muss fehlertolerant sein. Fehlerhafte Eingaben dürfen nicht zu Systemabbrüchen führen und sollten mit minimalem Korrekturaufwand rückgängig gemacht werden können.

    Hier haben wir wirklich eine Forderung der Ergonomie, weil ein minimaler Aufwand bei der Bearbeitung einer Aufgabe ergonomisch ist. Wenn ich viele Klicks oder andere Bearbeitungsschritte benötige, um Fehler zu korrigieren, ist das unergonomisch.

    4. Software sollte durch möglichst viele Piktogramme (Icons) leicht bedienbar sein.

    Im Gegenteil. Das menschliche Gehirn kann nur eine begrenzte Anzahl an Icons einem Sachverhalt zuordnen (im Studium haben wir zwar die Anzahl gelernt, aber ich habs erfolgreich vergessen).

    5. Software sollte möglichst effizient arbeiten, d.h. geringen Speicherplatzbedarf und möglichst hohe Verarbeitungsgeschwindigkeit (Performance) gewährleisten.

    Ebenso wie 1. ist das keine Forderung der Ergonomie, sondern der Effizienz (diesmal Speichereffizienz). Ob eine Anwendung schnell oder langsam arbeitet ist zwar eine Frage des Komforts, aber nur bei extrem langen Wartezeiten eine Frage der Ergonomie.

    6. Die Arbeit mit der Benutzeroberfläche der Software sollte intuitiv möglich sein. Bei Bedarf sollte kontextsensitive Hilfe zur Verfügung stehen.

    Eine kontextabhängige Hilfe unterstützt den Benutzer bei seiner Arbeit mit dem System und bringt ihm die Informationen dort, wo er sich benötigt. Hier ist also eine Forderung der Softwareergonomie erfüllt.

    Allgemein kannst Dich ja zum Einstieg z.B. bei Wikipedia mit der Softwareergonomie und deren Forderungen vertraut machen. Software-Ergonomie ? Wikipedia

    Von da aus gibt es natürlich eine unüberschaubare Masse an Dokumenten zu Thema (Forschung, Wirtschaft, Politik, ...).

    Schöne Grüße,

    Peter

  5. EJB 3.0 oder EJB 3.1?

    EJB 3.1 ist der erste Standard, bei dem klar geregelt ist, welche JNDI-Namen vergeben werden müssen, wenn keine herstellerabhängigen Regeln greifen. Näheres hierzu weiß die Spezifikation (oder auch die Glassfish-Dokumentation, dort gibt es recht gute Artikel zum Thema JNDI).

    Wenn es EJB 3.0 ist oder Du Deine Namen selbst vergeben willst, musst Du noch entsprechende Angaben machen. Bei EJB 3.0 gibt es meines Wissens nach herstellerabhängige Annotationen (ich habe hier immer mit dem herstellerabhängigen Deployment Descriptor gearbeitet), bei EJB 3.1 kann man (glaube ich, musst Du in der Spezifikation noch mal nachlesen) in der Annotation @EJB angeben, wie der JNDI-Name sein soll. Letzteres kann aber auch eine Besonderheit des Glassfish sein.

    Schöne Grüße,

    Peter

  6. Servus,

    zeig mal bitte den Aufbau der Dateien innerhalb des JAR-Files. Und mit welchem Befehl rufst Du die Java Runtime genau auf? Denn mit java -jar <NAME>.jar sollte er nichts mit "PictureQuest" erzählen, sondern von "Gui" sprechen, denn das steht ja in der MANIFEST.MF.

    Schöne Grüße,

    Peter

  7. Ob das Referat für den Kenntnisstand und das Zielpublikum des OP sinnvoll ist, habe ich hier nicht hinterfragt, da ein Referatsthema ja in der Regel gestellt wird (vom Lehrer, Professor, Chef).

    Klar kann man noch diskutieren und schauen, ob man über das Thema nachverhandeln kann. Meiner Erfahrung nach sind aber auch oberflächliche "Teaser" in ein Thema interessant, aber nur dann, wenn sie wirklich spannend angeteasert werden und ich Lust bekomme, mehr zu erfahren.

    Ich habe letzte Woche z.B. im Rahmen einer Schulung an zwei Tagen 15-Minuten-Vorträge zu den folgenden Themen bekommen:

    - Rubiks Cube

    - Tango Argentino

    - Fahrradfahren im Winter

    - Einen Sicherungsknoten beim Klettern

    - Gedankenlesen

    - Die Oper "Così fan tutte" von Mozart

    - Jonglieren

    Mein Thema war der Diskordianische Kalender.

    Keines dieser Themen konnte man in der Kürze der Zeit erschöpfend behandeln, aber alle haben einen schönen Einblick in die Thematik gegeben.

    Dabei kommt es aber auch den Vortragenden an.

    Schöne Grüße,

    Peter

  8. Servus,

    bei Deinem zweiten Post kann man jetzt verstehen, was Du willst. Lies bitte Deinen ersten Beitrag noch mal, dann wirst Du meine Antwort verstehen.

    Starten kannst Du mal mit dem Wikipedia-Artikel: Google Translate - Wikipedia, the free encyclopedia

    Von dort folgst Du den Querverweisen und hangelst Dich durch.

    Allerdings vermute ich auch, dass Dein Thema den 15-Minuten-Rahmen sprengen wird. Und es wird nicht so einfach sein, Fragen wie "wer hats erfunden?" zu beantworten, weil in der Regel Teams für eine solche Software verantwortlich sind. Deshalb lautet die beste Antwort, die Du finden kannst, vermutlich "Google".

    Mein Tipp: erklär kurz in 1-2 Minuten, was Google Translate macht, und gehe danach ausschnittsweise auf einen Aspekt der maschinellen Übersetzung ein. Mehr wirst Du nicht schaffen.

    Peter

  9. Guten Morgen!

    Jetzt stellt sich für mich die Frage, ob ich in den Zeiträumen 07/2005-12/2005 und 07/2006-08/2007 einfach nur Ausbildungsuchend reinschreiben soll.

    Ich finde, dass das ein ziemlich großer Zeitraum ist, zumal ich in der Zeit auch keine Nebenjobs oder sowat gemacht habe...

    Ja das stimmt. Es ist ein langer Zeitraum und Du kannst leider nichts "interessantes" reinschreiben. Aber das ist einfach so. Im Nachhinein kannst Du nichts anderes machen, als Dich möglichst gut auf Fragen zu diesem Zeitraum einzustellen und gute Begründungen zu liefern. Den Lebenslauf "aufzupolieren" in Form von Freelancertätigkeiten oder ähnlichem Humbug, halte ich für sehr gefährlich. Ein guter Personaler wird es herausfinden. Bei einem schlechten Personaler wird es mit hoher Wahrhscheinlichkeit im Job irgendwann aufkommen und richtig Ärger bedeuten.

    Bei einer internen Bewerbung ist der Lebenslauf eh nicht so ausschlaggebend. Die Leute kennen Dich und Deine Vita schließlich und haben Dich schon mal eingestellt. Hier zählt wirklich mehr, was Du kannst und warum Du der richtige für eine Position bist.

    Peter

  10. Am sinnvollsten ist es wirklich, Du setzt Dich mit Deiner IHK in Verbindung. Die kann Dir über das Prozedere besser Bescheid geben. Kündigen oder einen Aufhebungsvertrag würde ich zunächst nicht machen, da Du bei einer Kündigung in der Regel den Beruf nicht weiter erlernen / ausüben darfst. Auch hier kann Dir Deine IHK die genauen Abläufe erläutern.

    Es sollte relativ einfach sein, wenn Du bereits eine Firma hast, die Dich weiter ausbilden möchte und kann.

    Viel Erfolg!

    Peter

  11. Dann hast du falsch gegoogelt. Wenn ich bei google folgendes eingebe:

    "google übersetzer" (ohne die Anführungszeichen)

    Dann erhalte ich eine ganze Menge an Treffern (nämlich rund 2.350.000, sagt Google). Der erste ist Google Translate Das wäre auch das gewesen, was ich anhand des Referatsthemas "Google Übersetzer" erwartet hätte. Ich gehe deshalb davon aus, das hier etwas nicht stimmt: entweder, Deine Erwartung bezüglich des Suchergebnisses (diese Erwartung solltest Du uns mitteilen), oder Deine Fähigkeiten, Google zu bedienen (in diesem Fall solltest Du um ein neues Referatthema bitten).

    Peter

  12. Was heißt "macht einfach nothing"? Die Methode wird nicht aufgerufen? Ein Methodenaufruf innerhalb der Methode tut etwas, das Du nicht erwartest / anders erwartest?

    Während Du weitere Informationen gibst, solltest Du vielleicht die Formatierung Deiner Quellcodes kritisch betrachten.

    Peter

  13. Mir ist nicht ganz klar, wo folgende Zeile herkommt:

    String serverName = (String) themeDisplay.getServerName();

    Aus einem Controller-Servlet vor der JSP oder aus einem Scriptlet innerhalb der JSP? Wenn zweiteres, dann klinke ich mich hier eh aus, weil ich mit Scriptlets nichts mache und sie auch nicht unterstütze.

    Wenn ersteres, dann hast Du nur innerhalb des Controllers eine lokale Variable mit dem Namen.

    Mit EL kannst Du auf Objekte und deren Eigenschaften zugreifen, die sich in einem der Scopes (Application, Session, Request, Page) befinden, und auf Request-Parameter (und noch ein paar andere Sachen (Stichwort für die Suche im Java EE Tutorial "implicit objects jsp")).

    Wenn also z.B. die Variable "themeDisplay" in einem der Scopes läge, dann könntest Du innerhalb der JSP mit ${themeDisplay.serverName} darauf zugreifen.

    Schöne Grüße,

    Peter

  14. Naja, Du wirst nicht viele Möglichkeiten haben. Blatt auf den Tisch, Ar... zusammenkneifen und mit dem Vorgesetzten reden.

    Warum fällt Dir das denn erst jetzt ein? Die Tendenz wird doch schon vor einer Weile sichtbar gewesen sein? Wenn Du das bis jetzt erfolgreich verdrängt hast, dann musst Du jetzt da durch. Und überleg Dir, was Du Deinem Vorgesetzten bieten kannst. Überleg Dir Maßnahmen, wie Du das oder die Probleme in den Griff bekommst. Dann sieht das nicht so nach "mir doch egal" aus.

    Peter

  15. Naja, Du könntest auch ein wenig konkretere Fragen stellen. Aber hier mal ein Beispiel (mich würde trotzdem interessieren, was Du an der Erklärung der Parameter im Formelassistenten nicht verstanden hast):

    
    A        | 1
    
    B        | 2
    
    C        | 3
    
    A        | 4
    
    B        | 5
    
    C        | 6
    
    SUMME A  | =SUMMEWENN(A1:A6; "A";B1:B6)
    
    SUMME B  | =SUMMEWENN(A1:A6; "B";B1:B6)
    
    SUMME C  | =SUMMEWENN(A1:A6; "C";B1:B6)
    
    

    Schöne Grüße,

    Peter

  16. Also wenn ich Dich richtig verstehe, hast Du so etwas:

    
    Projekt A   |  1 |
    
    Projekt A   |  4 |
    
    Projekt B   |  5 |
    
    Projekt A   | 10 |
    
    Projekt B   |  8 |
    
    Projekt C   | 15 |
    
    

    Und Du willst die Summen der Projekte, gruppiert nach dem Projekt?

    Dann dürfte die SUMMEWENN (oder ähnlich benannt mit Underscore) Funktion die richtige für Dich sein. Dabei gibst Du an, welche Bedingung herrschen muss, damit Du einen bestimmten Feldwert in die Summenbildung einbeziehst.

    Peter

  17. Servus Mat1010,

    nein, Du hast ein schönes Beispiel geliefert, warum der komplette Quelltext falsch war. Du hast uns durch den kompletten Quelltext auf eine falsche Fährte geführt. Hättest Du den Code auf das Wesentliche begrenzt (Fenster mit Close-Button und WindowListener), dann hättest Du gesehen, dass dort der Fehler schon mal nicht liegt. Ich habe mich nur auf diesen für mich relevanten Ausschnitt beschränkt und dort keinen Fehler gefunden.

    So lösen sich Sachen manchmal von alleine, wenn man versucht, das Kleinstmögliche Beispiel zu posten.

    Und das mit dem sleep muss so funktionieren, weil beim sleep der aktuelle Thread zum Schlafen gelegt wird. Dieser soll aber auch auf das Schließen lauschen. Weil er schläft, kriegt er nichts mit und tut auch nichts.

    Du müsstest also die Anwendung in einem Thread laufen lassen (inkl. Zeitmessung und sleep), und die Grafikanzeige in einem anderen Thread machen.

    Schöne Grüße,

    Peter

  18. Dein Quellcode ist wirklich nicht aussagekräftig. Achtung Pseudocode:

    
    öffne CSV-Datei
    
    lege Liste "l" an
    
    
    für jede Zeile "z" tue
    
      lege neues Objekt "o" zum Hinzufügen "l" an
    
      zerlege "z"
    
        für jeden Wert "w" aus "z" tue
    
          besetze den korrekten Wert in "o" mit "w"
    
      füge "o" zu "l" hinzu
    
    

    Gieß das mal in Java-Code und zeig uns das Ergebnis.

    Peter

  19. Kürz Deinen Code doch mal bitte auf den relevanten Teil zusammen und erzähl uns, was nicht geht. Es ist zu mühsam, Deinen Quelltext zu kopieren, in einer Datei zu speichern, zu kompilieren, auszuführen und zu schauen, wo es hakt.

    Hilf uns, dann helfen wir Dir.

    Peter

  20. Dann hast Du vermutlich zu spät angefangen zu lernen. Es bringt Dir doch nichts, wenn hier einer die Lösung zu Deiner Übungsaufgabe formuliert. Die kommt morgen (heute) mit hoher Wahrscheinlichkeit nicht dran. Und wenn Du nicht weißt, warum etwas so ist, wie es ist, dann kannst Du den Transfer auf die Prüfungsaufgabe nicht bringen.

    Peter

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...