WinFuture-Forum.de: [gelöst]netbenas + *.jar File Erzeugen Und Icon - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

[gelöst]netbenas + *.jar File Erzeugen Und Icon

#16 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 20. August 2009 - 09:50

Ersteinmal vielen Dank für das ganze Feedback :D !!!!


@funky_monkey:

Zitat

1. Füg die Standard-Files hinzu, die es eigentlich bei jedem OSS-Projekt gibt bzw. geben sollte. Folglich also COPYRIGHT, LICENSE, TODO, AUTHORS, README, INSTALL, CHANGELOG, ...

Ok, das muss ich noch hinzufügen, wusste nicht, was da alles dazugehört. Gibts da vielleicht ne feste Regel was in die ganzen Files reingehört?

Zitat

2. Warum nur 8,12,63 Zeichen und nicht frei wählbar?

Klingt eingentlich logisch! Das werde ich aufjedenfall einbauen.

Zitat

3. Wie wär's mit wählbarem Zeichensatz/-vorrat?

Was meinst du genau damit? ASCII, etc?

Zitat

4. Wie wär's mit wählbarem Pre-/Suffix?

Meinst du damit jetzt für die zu speichernde Datei oder was genau?

Zitat

5. Eine Möglichkeit, um ähnliche Zeichen zu vermeiden, z.B. 0O oder Il|

Wegen der Lesbarkeit oder der Sicherheit des Passwortes?

Zitat

6. Persönlich find ich das ziemlich nervig, dass die Settings nach jedem Klick auf "generieren" zurückgesetzt werden. Ergo, um zwei oder mehr Passwörter mit z.B. 8 Zeichen zu erstellen muss ich 8 Zeichen, generieren, 8 Zeichen, generieren, ... klicken - sehr unkonfortabel.

Klar, das seh ich auch so. Werd ich aufjedenfall ändern!
Würdest du dann alle generierten Passwörter in einer Datei speichern wollen?
Also quasi jedes generierte Passwort in einen Array speichern, der bei einem Klick auf "speichern" geleert wird?


Zitat

7. Falls du das irgendwann mal in z.B. eine Linux-Distri einbringen willst, solltest du auch andere Packformate anbieten, z.B. hab ich kein .zip-kompatibles Programm installiert und abgesehen davon auch ein sinnvolle Namensgebung bzgl. Versionsnummern einsetzen.

Klar, irgendwann, wäre das schonmal schön, wenn sich ein Programm von mir in einer Distri finden würde!
Was für ein Format würdest du denn empfehlen? *.tar?
Namensgebung im Bezug auf die Downloadbaren Pakete?
Das Problem mit der Versionierung beschäftigt mich auch schon eine weile, gibt es da in NetBeans keine Möglichkeit dem Programm einen BuildString oder so etwas anzuhängen?
Hab in der letzten c't Programmierung etwas über Mercurial gelesen, das man zur Versionierung einsetzen kann, da ich ja recht heufig am heimischen Rechner und am Notebook entwickle würde ich gerne eine Datei Verwaltung über einen Webserver machen, hättet ihr da nen Tipp für mich?


@Witi:

Zitat

Vorne weg, Variablen immer klein schreiben und Klassennamen (wie pwdeight) immer groß. Hier findest du sämtliche Java-Code Conventions von Sun: http://java.sun.com/docs/codeconv/

Vielen Dank für den Link, das werde ich mir gleich ansehen und alle Programme und Programmteile dementsprechende überarbeiten.

Zitat

Key.java
QUELLTEXT
private int anzChar = 63;

Konstanten werden in Java als "static final" definiert, also
QUELLTEXT
private static final int ANZ_CHAR = 63;

Wir behandeln zwar an der Hochschule auch Java, aber solche sachen kommen einfach zu kurz. Das enttäuscht mich auch ein wenig, da kaum auf solche sachen wert gelegt wird, da kann jeder was zusammen murksen, hauptsache es funktioniert. werd versuchen mir das selbst beizubringen und mich mit disziplin daran zu halten.

Zitat

Wenn ich mir das char-Array - was du auch als Konstante definieren kannst - anschaue, wo sind die ganzen Sonderzeichen?

wenn du da auf die Klasse Key.java anspielst, dann darf man in einem WPA2 Schlüssel doch garkeine Sonderzeichen verwenden oder doch?


Zitat

Zugriffe steuerst du über Set- und Get-Methoden.

So gelernt und trotzdem ignoriert.... :D !

Zitat

Wofür hast du die Datei main.java?

dachte mal ich brauch die für das packen des JAR-Files, und hab die dann vergessen zu löschen!

Zitat

Du arbeitest mit Vererbung (zwei Klassen die von Key erben), nutzt sie aber überhaupt nicht. Die Methode generate ist beinahe immer komplett identisch. Dry!

ja, aber nur beinahe, muss mir aber anschauen was ich da noch machen kann. Es ist ja kein Fehler die Methoden zu überschreiben oder nicht? Oder sollte ich dazu aus Key eine abstrakte Klasse machen und die anderen Klasse,n inklusive einer Klasse "WPA.java", davon erben lassen und dann alles überschreiben?

Zitat

In der Oberfläche sollte jeweils nur ein Radio-Button gleichzeitig aktiviert sein.

Wie kann ich das abfangen?

Zitat

Wenn ich mir die Methode jButton1MouseClicked der Klasse PasswordGeneratorView anschaue, ziehen sich mir die Fußnägel ein. Dieses hässliche kaskadierende if-else Konstrukt kannst du viel einfacher gestalten und gleichzeitig Polymorphismus verwenden. Ungefähr so:

Wenn ich ganz ehrlich bin, dann wusste ich garnicht, dass es unter java if-else gibt ;). Aber vielen dank für den Tipp, dass macht vieles einfacher.

Zitat

Wie wäre es mit einer Fehlermeldung, wenn die Datei nicht erzeugt werden konnte? Stichwort: Schreibrechte.

Klar, daran hatte ichgarnoch nicht gedacht. Da werd ich mich ranmachen!

Vielen dank nochmal für das ganze Feedback. So macht das ganze hier richtig Spaß, und ich wirklich was dabei lernen :D.

lg,
Fabi
0

Anzeige



#17 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 20. August 2009 - 10:46

Zitat

dann darf man in einem WPA2 Schlüssel doch garkeine Sonderzeichen verwenden oder doch?

Gegenfrage...warum sollte man sie nicht verwenden dürfen?

Zitat

Es ist ja kein Fehler die Methoden zu überschreiben oder nicht? Oder sollte ich dazu aus Key eine abstrakte Klasse machen und die anderen Klasse,n inklusive einer Klasse "WPA.java", davon erben lassen und dann alles überschreiben?

Natürlich ist es kein Fehler, dafür ist überschreiben ja da. Aber die überschriebenen Methoden ähneln sich ja beinahe komplett. Ja, du könntest bspw eine abstrakte Klasse Key erstellen und dort eine Methode schaffen, die die Oberklassen aufrufen können. Und die kleinen Änderungen könntest du parametrisierbar machen.

Zitat

Wie kann ich das abfangen?

http://java.sun.com/docs/books/tutorial/ui...tml#radiobutton
0

#18 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 20. August 2009 - 14:38

Zitat

Gibts da vielleicht ne feste Regel was in die ganzen Files reingehört?
Nichts, was die jeweiligen Titel nicht schon aussagen würden. Also in LICENSE den Lizenztext, in INSTALL die nötigen Abhängigkeiten und wie man es von Hand übersetzt, in AUTHORS die Namen der Autoren, zusammen mit deren Funktion/Art von Beitrag und möglichst Kontaktaddresse, etc. pp. Kannst dir ja einfach mal ein Src-Paket von einer beliebten Anwendung ziehen und dir da Inspiration holen.

Zitat

Was meinst du genau damit? ASCII, etc?
Einfach ein Feld, wo der Nutzer auf Wunsch selbst die zu verwendenden Zeichen eintragen kann. Da musst du von Programmseite dann natürlich aufpassen, dass auch (hierzulande) ungewöhnliche Zeichen vorkommen können und entsprechend dafür sorgen, dass dein Programm damit auch umgehen kann. Bei Sonderzeichen natürlich nach Möglichkeit gut escapen.
Zusätzlich wären ein paar Checkboxen gut, mit denen man vordefinierte Sets kombinieren kann, ala "[] Großbuchstaben, [] Kleinbuchstaben, [] Zahlen, [] Sonderzeichen, [] Whitespace, ..."

Zitat

Meinst du damit jetzt für die zu speichernde Datei oder was genau?
Nein, ein Pre-/Suffix für das/die Passwort(e). Z.B. als Prefix "foo", so dass jedes generierte Passwort mit "foo" anfängt - analog für Suffixe.

Zitat

Wegen der Lesbarkeit oder der Sicherheit des Passwortes?
Lesbarkeit, je nach verwendetem Font sind manche Zeichen schwierig/gar nicht zu unterscheiden.

Zitat

Würdest du dann alle generierten Passwörter in einer Datei speichern wollen?
Nö, einfach nur solange klicken, bis mir eines gefällt/ich mir eines merken kann. Zugegeben, ausgenommen zum kurzen Anschauen würd ich dein App sowieso nicht nutzen, auf meinen Privatrechnern ist kein Java vorhanden und für einen so simplen Task ist das imho auch Overkill, aber das muss ja jeder selbst entscheiden.

Zitat

Was für ein Format würdest du denn empfehlen? *.tar?
Tarballs für's archivieren, als Kompression idealerweise jeweils gzip/bzip2/lzma/xz

Zitat

Namensgebung im Bezug auf die Downloadbaren Pakete?
Kommt drauf an, wie du die Releases bezeichnen willst, also aufsteigend von 0->X oder nur mit Datum. Gut wären z.B. die folgenden Schemata, je nach Version:

name-1.tar.gz ... name-2.tar.gz ...
name-0.3.7.tar.gz - name-0.4.1.tar.gz ...
name-1.2_alpha.tar.gz - name-2.1_beta.tar.gz

Wichtig ist, dass der Typus gleichbleibt, d.h. nicht von der einen Version von x.x.x zu y.y übergehen, das macht den Maintainern eine Mehrarbeit, d.h. nach 0.9.9 sollte nicht 1, nicht 1.0 sonder 1.0.0 kommen. Die _alpha-Sache ist dabei in der Regel egal und es macht nichts, wenn das wegfällt.
Wichtig ist auch darauf zu achten, dass beim entpacken des Pakets der passende Ordner entsteht, d.h. `tar -xjpf name-2.3.4.tar.bz2` sollte einen Ordner namens "name-2.3.4" bringen und nicht nur "name" oder gänzlich was anderes.

Zitat

hättet ihr da nen Tipp für mich?
Ausser die Doku zu lesen? Nein :D

Allgemein, es wäre schön, wenn die ganze Funktionalität des Programmes auch via Shell nutzbar wäre, nicht jeder, der ein Passwort braucht hat auch X (laufen), ausserdem ermöglicht es Automatisierung via Skript.
0

#19 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 20. August 2009 - 15:11

@funkey_monkey:

Zitat

Nichts, was die jeweiligen Titel nicht schon aussagen würden. Also in LICENSE den Lizenztext, in INSTALL die nötigen Abhängigkeiten und wie man es von Hand übersetzt, in AUTHORS die Namen der Autoren, zusammen mit deren Funktion/Art von Beitrag und möglichst Kontaktaddresse, etc. pp. Kannst dir ja einfach mal ein Src-Paket von einer beliebten Anwendung ziehen und dir da Inspiration holen.

Dann werd ich mir das mal anschauen.

Zitat

Einfach ein Feld, wo der Nutzer auf Wunsch selbst die zu verwendenden Zeichen eintragen kann. Da musst du von Programmseite dann natürlich aufpassen, dass auch (hierzulande) ungewöhnliche Zeichen vorkommen können und entsprechend dafür sorgen, dass dein Programm damit auch umgehen kann. Bei Sonderzeichen natürlich nach Möglichkeit gut escapen.
Zusätzlich wären ein paar Checkboxen gut, mit denen man vordefinierte Sets kombinieren kann, ala "[] Großbuchstaben, [] Kleinbuchstaben, [] Zahlen, [] Sonderzeichen, [] Whitespace, ..."

Mal sehn was ich davon übernehme, aber bestimmt einiges :D.

Zitat

Nein, ein Pre-/Suffix für das/die Passwort(e). Z.B. als Prefix "foo", so dass jedes generierte Passwort mit "foo" anfängt - analog für Suffixe.

Achso, klar. Aber mal ne Frage, was bringt das? Einfach nur die Passwörter leserlicher machen und einfacher zu merken, oder ?!

Zitat

Lesbarkeit, je nach verwendetem Font sind manche Zeichen schwierig/gar nicht zu unterscheiden.

mal schaun ob ich da noch was mache....

Zitat

Nö, einfach nur solange klicken, bis mir eines gefällt/ich mir eines merken kann.

Ok, das leuchtet ein, dass werd ich gleich mal einbauen.

Zitat

auf meinen Privatrechnern ist kein Java vorhanden

Wieso dass? ich mein geht mich ja nix an, aber WIESO?

Zitat

Zugegeben, ausgenommen zum kurzen Anschauen würd ich dein App sowieso nicht nutzen, und für einen so simplen Task ist das imho auch Overkill, aber das muss ja jeder selbst entscheiden.

Das versteh ich, ist ja auch mehr oder weniger zum üben, und mit jedem Programm, dass ich schreibe lern ich mehr dazu, und darum gehts mir eigentlich. Ich möchte sehen was ich schaffe, bzw. was ich jetzt schon umsetzen kann, und stecke mir dann neue Zeile.
Also 'leraning by doing' :D.

Zitat

Kommt drauf an, wie du die Releases bezeichnen willst, also aufsteigend von 0->X oder nur mit Datum. Gut wären z.B. die folgenden Schemata, je nach Version:

name-1.tar.gz ... name-2.tar.gz ...
name-0.3.7.tar.gz - name-0.4.1.tar.gz ...
name-1.2_alpha.tar.gz - name-2.1_beta.tar.gz

Wichtig ist, dass der Typus gleichbleibt, d.h. nicht von der einen Version von x.x.x zu y.y übergehen, das macht den Maintainern eine Mehrarbeit, d.h. nach 0.9.9 sollte nicht 1, nicht 1.0 sonder 1.0.0 kommen. Die _alpha-Sache ist dabei in der Regel egal und es macht nichts, wenn das wegfällt.
Wichtig ist auch darauf zu achten, dass beim entpacken des Pakets der passende Ordner entsteht, d.h. `tar -xjpf name-2.3.4.tar.bz2` sollte einen Ordner namens "name-2.3.4" bringen und nicht nur "name" oder gänzlich was anderes.

Machst du die Namensgebung händisch bzw. die Nummerierung oder kann NetBeans das?
Ansonsten werd ich mich an das vorgschlagene Schema halten und die Pakete in Zukunft anders packen.

Zitat

Ausser die Doku zu lesen? Nein tongue.gif

mhhhh...das war klar. ich meinte nur ob ihr noch ne alternative wisst oder eher GIT oder sowas bevorzugt.

Zitat

Allgemein, es wäre schön, wenn die ganze Funktionalität des Programmes auch via Shell nutzbar wäre, nicht jeder, der ein Passwort braucht hat auch X (laufen), ausserdem ermöglicht es Automatisierung via Skript.


mal schaun, vielleicht wenn ich alles realisiert habe, was ich mir vorgenommen habe. Hab das ganze eigentlich angestoßen um etwas SWING zu lernen. Mit NetBeans klick ich mir die Oberfläche zusammen und kann sie dann später anschauen und versuchen das ganze zu verstehen.


@Witi:

Zitat

Gegenfrage...warum sollte man sie nicht verwenden dürfen?

Dachte ich hätte das mal wo gelesen, dann kann ich das jetzt auch abändern.

Zitat

Natürlich ist es kein Fehler, dafür ist überschreiben ja da. Aber die überschriebenen Methoden ähneln sich ja beinahe komplett. Ja, du könntest bspw eine abstrakte Klasse Key erstellen und dort eine Methode schaffen, die die Oberklassen aufrufen können. Und die kleinen Änderungen könntest du parametrisierbar machen.

Wie schon gesagt, dass schau ich mir jetzt mal noch an, mal sehn, was ich heute noch schaffe, ansonsten kommt sicherlich nächste Woche was neues.

Zitat


Danke :D.


lg,
Fabi
0

#20 _lustiger_affe_

  • Gruppe: Gäste

geschrieben 20. August 2009 - 16:11

Zitat

Aber mal ne Frage, was bringt das? Einfach nur die Passwörter leserlicher machen und einfacher zu merken, oder ?!
Nun, wenn man immer einen gewissen Satz eines Passwords gleich hat und der auch nicht zu erraten ist, macht es das leichter, sich auch kompliziertere Dinger zu merken. Also z.B. "D0()f€$" + ... + "P@ss\/\/0rŦ".

Zitat

Wieso dass? ich mein geht mich ja nix an, aber WIESO?
Gut, dass ich nicht ph und du nicht Witi bist, das würde wieder in einem Flamewar enden :D
Ich seh das aber ähnlich wie ph, Java ist imho für diejenigen, die zu faul sind, die Arbeit mehrmals, dann aber ordentlich zu machen. Java ist selbst für Kleinigkeiten verdammt viel Code, braucht immer ne VM und bringt damit Overhead und Ressourcenverschwendung mit sich und ist dabei natürlich auch lahmer als eine ordentliche und native Implementierung. Es gibt Apps da draussen, die sind rein OS oder gar Distributionsspezifisch und werden trotzdem in Java gemacht, total sinnlos.
Mit ein bisschen Weitsicht kann man auch in C(++) weitgehend plattformunabhängigen Code schreiben, da brauchst's dann maximal ein paar kleine Patches. Auch Perl oder Python kann das, die werden zwar interpretiert, dennoch sind die nicht so anspruchsvoll wie die JVW. Darüberhinaus gibt's natürlich noch Unterschiede bzgl. der verwendeten JVM an sich, die von Sun kann eigentlich alles, andere aber nicht, ergo zwingt man dem User ev. wieder etwas auf, was nicht sein müßte, wenn man mal eine Klasse selbst geschrieben hätte, als was fertiges zu nehmen.

Und, natürlich ganz (un-)wichtig, die JavaUIs sehen immer scheisse aus :D

Zitat

Machst du die Namensgebung händisch bzw. die Nummerierung oder kann NetBeans das?
Netbeans, ka, verwend ich nicht - wie auch ohne Java. Ansonsten, kommt auf die Größe an, kleine Sachen mach ich von Hand, größere mit git und da gibt's genügend Möglichkeiten, Verionierungsschemata einzusetzen.

Zitat

ich meinte nur ob ihr noch ne alternative wisst oder eher GIT oder sowas bevorzugt.
IMHO sind hg und git derzeit die besten Alternativen. Git ist auf Grund der Implementierung wesentlich fixer und hat auch mehr Features, aber nicht ganz so leicht zu lernen/verstehen, obwohls dafür viel gute Doku gibt. hg ist für den Einsteiger ziemlich fix zu kapieren und erlaubt natürlich auch das DistDevelopment, insofern keine schlechte Wahl.
0

#21 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 24. August 2009 - 16:52

Zitat

Gut, dass ich nicht ph und du nicht Witi bist, das würde wieder in einem Flamewar enden

scheinst ph ja ziemlich gut zu kennen ;)! was der wohl so treibt? langweilt sich bestimmt seit er nimmer hier ist ... ;) !

Zitat

Ich seh das aber ähnlich wie ph, Java ist imho für diejenigen, die zu faul sind, die Arbeit mehrmals, dann aber ordentlich zu machen. Java ist selbst für Kleinigkeiten verdammt viel Code, braucht immer ne VM und bringt damit Overhead und Ressourcenverschwendung mit sich und ist dabei natürlich auch lahmer als eine ordentliche und native Implementierung. Es gibt Apps da draussen, die sind rein OS oder gar Distributionsspezifisch und werden trotzdem in Java gemacht, total sinnlos.
Mit ein bisschen Weitsicht kann man auch in C(++) weitgehend plattformunabhängigen Code schreiben, da brauchst's dann maximal ein paar kleine Patches. Auch Perl oder Python kann das, die werden zwar interpretiert, dennoch sind die nicht so anspruchsvoll wie die JVW. Darüberhinaus gibt's natürlich noch Unterschiede bzgl. der verwendeten JVM an sich, die von Sun kann eigentlich alles, andere aber nicht, ergo zwingt man dem User ev. wieder etwas auf, was nicht sein müßte, wenn man mal eine Klasse selbst geschrieben hätte, als was fertiges zu nehmen.

Naja, ich sehe die meisten DInge die du hier aufzählst eher als Vorteile. Aber das muss jeder selbst wissen. ich persöhnlich fühle mich java echt wohl, und falls es je denn wirklich mal abap ablösen sollte, dann bin ich bereit ;), aber das ist ein anderes Thema.

Zitat

Und, natürlich ganz (un-)wichtig, die JavaUIs sehen immer scheisse aus

Find ich jetzt überhapt nicht, zumal es ja auch einige Gestaltungsmöglichkeiten gibt, und sich die GUI's immer schön ans Systen Theme integrieren, zumindest hier (OS X) und in meiner OpenSolaris VM. Unter Windows, naja, aber das ist ansich nicht so wirklich schön ;).

Zitat

IMHO sind hg und git derzeit die besten Alternativen. Git ist auf Grund der Implementierung wesentlich fixer und hat auch mehr Features, aber nicht ganz so leicht zu lernen/verstehen, obwohls dafür viel gute Doku gibt. hg ist für den Einsteiger ziemlich fix zu kapieren und erlaubt natürlich auch das DistDevelopment, insofern keine schlechte Wahl.

Dann werd ich mich mal hg (Mercurial) auseinander setzen. Mal sehn was das taugt.

Und wenn die Zeit heute noch reicht, werd ich mal noch am eigentlichen Programm weitermachen.

lg,
Fabi
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0