Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 385

Thema: IM IN YR LOOP\n VISIBLE FOO\n IM OUTTA YR LOOP - Der Programmierer-Spamthread #2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich hab mal wieder ein kleines bisschen mit bash rumgespielt. Anlass war, dass ich einen kleinen Portscanner brauchte, der zwischen "Connection refused" und einem Timeout unterscheidet, weil ich ne Firewall, die verbotene Pakete einfach droppt, testen wollte (daher auch die vielen Timeouts im Screenshot). Wer ihn haben will, sei herzlich eingeladen. Für Verbesserungsvorschläge bin ich immer offen. Getestet wurde auf Mac OS X Snow Leopard, aber alle anderen Unixoiden sollten auch gehen.

    Klicke auf die Grafik für eine größere Ansicht 

Name:	portscan-mmx.png 
Hits:	95 
Größe:	46,6 KB 
ID:	12350



    Edit: ich seh grad, dass ich ein paar temporäre Dateien noch nicht automatisch lösch (die, in denen die Ergebnisse stehen), weil ich eigentlich konfigurierbar machen wollte, ob man die behält. Werde ich bei Gelegenheit anpassen.

    Geändert von DFYX (16.02.2012 um 23:10 Uhr)

  2. #2
    Ich sitze grad in der Arbeit und muss warten weil der Android Emulator so UNFASSBAR langsam ist. Selbst C kompiliert da schneller -.-

  3. #3
    Das Kompilieren ist nicht das Problem. Der Emulator ist das Problem. Der ist ein einziger Witz. Selbst für eine "Hallo Welt"-App braucht das Teil 5 Minuten zum Laden.
    Am Besten ist es, du benutzt gleich ein Smartphone. Als Alternative kann man sich auch eine VM mit einem Android-OS installieren und dann mittels des Tools adb, welches beim SDK dabei ist, eine Netzwerkverbindung zur VM aufbauen. Das ist um weiten schneller, als der Emulator.

    Eine x86 Version von Android kann man sich hier runterladen -> http://www.android-x86.org
    Allerdings ist damit nicht alles möglich.

  4. #4
    Wir haben auf Arbeit alles was wir brauchen Aber danke! Ich hab dass dann einfach so gemacht das ich den Emulator hab laufen lassen. Mehr als ein Hello World sollte ich eh nicht machen, ich wollt nur gucken wie das dann so geht. Du hast aber Recht auf einem Gerät geht es schneller und zum Glück bekomme ich morgen eins x_X
    Btw ist das Laden noch lange nicht so schlimm wie die Performance von dem Ding. Ich meinte übrigens nicht das kompilieren, das ist ja in Java immer sehr fix sondern hab nur die Geschwindigkeit vergleicht (Natürlich ist C beim kompilieren schneller als der Emulator).
    So eine VM werd ich mir jetzt aber trotzdem mal laden

  5. #5
    Den Emulator benutzt du eigentlich nur, wenn du die Affenherde auf deine App los lässt. Es gibt zwar einen Paramter die nur auf ein Packet zu beschränken aber bei mir sind die schon ein par mal ausgebrochen. Wenn dein echter Androiden von denen angefallen kannste echt Spaß haben. Zack: Nummer in Pakistan gewählt. o.O

    Es gibt aber die Möglichkeit den Emu mit nem Speicherabbild zu laden. Das soll angeblich schneller gehen - bei mir scheint es nicht zu funzen.

    Fazit: Um gewisse Darstellungsfehler auf anderen Droiden nachvollziehen zu können ist das Ding geeignet. Schön mit ner Tasse Tee lohnt sich das. Aber für komplexe Bugs ist der echt zu lahm.

    (PS: Für ne Minivorschau kannste auch direkt die .xml im Ecipse angucken Da ist wie bei der .manifest ein Reiter. Oben kannst du verschiedenen Auflösungen, Bildschirme und Themes einstellen.
    Für relatives Layout ist das aber eher ein WYSIAWYG-Tool. Der Code ist ... kreativ.)

    Geändert von YoshiGreen (21.02.2012 um 22:51 Uhr)

  6. #6
    Die Gui ist mir relativ egal, das mach ich erst zu schluss, ich weiß aber bereits das ich die über die main.xml konfigurieren kann. Der Code ist echt übel, vor allem wenn du dann noch die Support Jar dazu nimmst, da heißt es dann nicht mehr Activity (lol), sondern Fragment(WTF?). Ist echt nicht witzig und ich bin ganz froh das ich das erst mal nach hinten verschieben kann. Allgemein kann ich das erst mal sein lassen, vorrangig ist jetzt: Userdaten (Name, Password usw) irgendiwe auf dem Android sichern, Stichwort Credentials. Da gibs ja irgendwas mit SharedPreferences, hoffe das klappt direkt

    btw, kennt einer von euch ein gutes Json Framework? Jackson ist zwar gut, aber das zu parsen ist irgendwie merkwürdig... theoretisch müsste ich rekursiv schau ob etwas in meinem Json ist, da das keine simple Struktur ist :/

    Geändert von R.D. (22.02.2012 um 13:59 Uhr)

  7. #7
    Ein Fragment ist ein Teil der GUI, der in Activities verwendet werden kann.

    Falls es eine App werden soll, wo mehrere Nutzer sich anmelden und ihre eigenen Einstellungen vornehmen können, kommst du mit den SharedPreferences nicht weit. Außerdem finde ich diese ein bisschen umständlich. Nach jeder Änderung muss noch zusätzlich das commit() aufgerufen werden, da er die Daten nur erstmal zwischenspeichert. Erst beim commit() schreibt der die Daten persistent.

    Zitat Zitat von YoshiGreen Beitrag anzeigen
    (PS: Für ne Minivorschau kannste auch direkt die .xml im Ecipse angucken Da ist wie bei der .manifest ein Reiter. Oben kannst du verschiedenen Auflösungen, Bildschirme und Themes einstellen.
    Für relatives Layout ist das aber eher ein WYSIAWYG-Tool. Der Code ist ... kreativ.)
    Wer guckt sich auch schon den generierten Code an?
    Die XML Datei reicht völlig aus.

    Geändert von Whiz-zarD (22.02.2012 um 17:20 Uhr)

  8. #8
    Die support lib sind ja für die Abwärtskompatibilität. Kannst du also am Anfang erstmal Beiseite lassen.

    SharedPreferences sind sehr gut für allgemeine Einstellungen in der App geeignet. Das reicht eigentlich auch für "Multianmeldungen" - die es so ja nicht wirklich gibt.

    JSON: http://developer.android.com/referen...SONObject.html hm?

    @Whiz: Es gibt Lebewesen die machen damit ganze Designs. "Und der Code ist ja so sauber formatiert." Nettere Menschen bekommen davon gesteigerten Blutdruck

  9. #9
    Danke YoschiGreen Falls sich Jackson als ungeeignet herausstellen sollte versuch ich mal das. Das Problem ist echt das Format das imho (bin ja Anfänger was das angeht) ziemlich komplex, ich kann das ja mal abgespeckt posten:
    Code:
    {
    riskaProject: [
    	{
    		title: "Ein Titel",
    		items: {
    			riskitems: [
    				{
    					// einige key/value pairs
    				},
    				{
    					// einige key/value pairs
    				}
    			]
    		},
    		description: "",
    	},
    	{
    		title: "Ein Titel 2",
    		items: {
    			riskitems: [
    				{
    					// einige key/value pairs
    				},
    				{
    					// einige key/value pairs
    				}
    			]
    		},
    		description: "Discription",
    	}
    ]
    }
    Was ich tun muss ist alle Objects des ersten arrays auslesen und den "title" dann in eine Liste donnern, wass dann auf Android als List auftauchen soll. Als 2. muss ich die "// einige key/value pairs" auslesen... Das wird sich wohl noch bis morgen hinziehen.

  10. #10
    Also JSON bringe ich nun nicht wirklich mit komplex in Verbindung. o.O Einmal durchatmen und Hand anlegen.

    Code:
    //untested!
    //save objects in ArrayList
    ArrayList<JSONObject> myObjects = new ArrayList<JSONObject>;
    
    //create json from string
    JSONObject myJson = new JSONObject(string);
    
    //access top level array
    JSONArray project = myJson.getJSONArray("riskaProject");
    
    //retrieve objects
    for( int i = 0; i < project.length(); i++ ){
      myObjects.add(project.getJSONObject(i));
    }
    
    //print names
    for( int i = 0; i < myObjects.length(); i++){
      Log.d("jsonTest",myObjects.get(i).getString("title"));
    }
    http://www.json.org/ erklärt auch recht hübsch wie so'n JSON aufgebaut ist. Ich habs selber nie "ordentlich gelernt"

    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Die Leute, die mit selbstgefrickelten Java-Code komplette Designs basteln, haben das Android-System nicht verstanden und gehören geschlagen.
    Ich verstehe deine Aussage nicht.

  11. #11
    Zitat Zitat von YoshiGreen Beitrag anzeigen
    Ich verstehe deine Aussage nicht.
    Anders als bei x-beliebigen Java GUI-Builder setzt Android voll und ganz auf XML-Dateien für die Erstellung einer GUI.
    Es ist zwar möglich, mittels Java-Code eine View zu erstellen, aber dies sollte man, aus Übersichtlichkeit, soweit wie möglich vermeiden und stattdessen die Views mittels XML definieren und sie dann mit Daten füllen. Der generierte Code, der das SDK aus den XML-Dateien bastelt hat keinen zu interessieren und sollte auch nicht verändert werden, da der Code eh beim nächsten Build wieder überschrieben wird.

    Und wer meint, er müsste da irgendwas mit Java-Code zurechtfrickeln und den generierten Code verunstalten, weil der Code für ihm zu unübersichtlich ist, gehört einfach geschlagen.

  12. #12
    Ok, die Idee das jemand sowas macht ist so absurd das ich daran nicht gedacht hab. Tja - viel Spaß beim Aufräumen wünsch ichr dir

  13. #13
    Es ist auf jeden Fall möglich, dass man in Java Funktionen und Variablen mit allen Schriftzeichen ( aus UTF-16 - außer Klammern, spezielle Steuerzeichen, \ und / ) nennen kann. Man muss dann nur drauf achten, dass man als Encoding der Quellcode-Dateien standardmäßig UTF-16 nutzt.
    Ich halte mich aber an die Konvention alle Variablen und Funktionen in englisch zu deklarieren.

    Übrigens muss ich mich in Rahmen eines "Praktikums" gerade mit modellgetriebene (nicht modellbasierte!) Softwareentwicklung mit EMF und Entwicklung von Plugins und Editoren mit GEF auf Basis von Eclipse rum ärgern. Die Modelle selber und den Quellcode automatisch daraus erstellen ist kein großes Ding, aber der Code den man für GEF erstellen muss ist echt schwer und umständlich.

    Habt ihr schon mal modellgetrieben etwas entwickelt?
    PS: Modellgetrieben != Modellbasiert

    Geändert von niR-kun (20.05.2012 um 15:53 Uhr)

  14. #14
    Zitat Zitat von YoshiGreen Beitrag anzeigen
    Das reicht eigentlich auch für "Multianmeldungen" - die es so ja nicht wirklich gibt.
    Ich hab eine gebastelt. ^^
    Ist aber eine Firmeninterne App gewesen, wo mehrere Nutzer das selbe Gerät benutzen.

    Zitat Zitat von YoshiGreen Beitrag anzeigen
    @Whiz: Es gibt Lebewesen die machen damit ganze Designs. "Und der Code ist ja so sauber formatiert." Nettere Menschen bekommen davon gesteigerten Blutdruck
    Die Leute, die mit selbstgefrickelten Java-Code komplette Designs basteln, haben das Android-System nicht verstanden und gehören geschlagen.

  15. #15
    Meine längste Zeit die ein Compile-Vorgang gebraucht hat, war 3 Stunden auf'm Lappi.

    Was ich da am Wickel hatte: Linux 3.4-rc6 (der Kernel selber war in 20min fertig, der Rest war die ganzen Module compilieren, mit Default-Konfiguration).
    Warum ich das compiliert hatte: Bug-Report vervollständigen mit Infos. Ich habe da einen schönen Bug im Kernel auf meinem Lappi, natürlich eine Regression.

    Leider habe ich zu spät gelesen, dass ich make auch noch den Parameter -j[Zahl] geben kann (z.B. -j4 für 4 Aufgaben, die parallel ausgeführt werden sollen).

    Ach ja, um auf PHP zurück zu kommen:
    PHP-Bashing macht immer Spaß, ich kann mich an folgendes erinnern:
    http://blog.fefe.de/?ts=b17a03df

    PHP mag ja einen Sinn haben, aber es ist einfach nur so schlecht geschrieben und völlig verbuggt.

    PS: Ich brauch eine neue Tastatur.
    Wenn man für 5 Wochen Tag für Tag auf einer Laptop-Tastatur tippt (Graka vom Desktop-PC defekt und reklamiert, natürlich hab ich keine Ersatz-Graka da), fühlt sich eine "normale" Tastatur an als ob man auf einer Schreibmaschine rumtippt.

  16. #16
    Das Problem an PHP ist einfach, dass es von einer großen Community entwickelt wird und jeder seine eigenen kleinen Brötchen backt.
    Schaut man sich hingegen andere Sprachen an, so fällt schon auf, dass es dort nur eine kleine Gruppe gibt, die die Design-Entscheidungen treffen.
    Beim gescheiterten PHP6 musste ich mir auch an den Kopf fassen. PHP6 sollte ja mit einer Unicode-Unterstützung ausgestattet werden, aber nicht nur bei der Ausgabe (da wäre es mal bitter nötig), sondern auch im Quellcode. Das heißt im Klartext, dass auch hebräische, chinesische, ... Funktionsnamen zulässig gewesen wären, was auch der primäre Gedanke dahinter war. Ich frage mich, wer dort so viel Rotwein gesoffen hat, um auf diese Idee zu kommen? Zum allen Überfluß hätten wir nicht nur ein Gemische aus strukturierter- und objektorientierter Programmierung, sondern noch ein Gemische aus Sprachen.

    Und was Wordpress angeht:
    Wordpress ist so ein Kandidat, um aufzuzeigen, wie man es an vielen Stellen nicht machen sollte.
    Man siehe sich mal die Translate() Funktion an.
    Der zu übersetzende Satz wird als Index missbraucht. D.h. er sucht diesen Satz in seinen Übersetzungstabellen. Also muss der Satz auch zu 100% stimmen. Ansonsten findet er ihn nicht.
    Ist ja auch sehr sinnvoll ... Die haben wohl den Begriff "assoziatives Array" zu wörtlich genommen.

  17. #17
    Das mit dem translate beruht allerdings auf gettext einem Unix Standard ... ist also keine reine PHP Erfindung.
    (Ändert nichts daran das gettext einfach nur Schwachsinn ist^^)

  18. #18
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    (Ändert nichts daran das gettext einfach nur Schwachsinn ist^^)
    Warum ist gettext Schwachsinn?

    Geändert von Kyuu (19.05.2012 um 14:23 Uhr)

  19. #19
    Angenommen, man verschreibt sich, oder die Texte (die ja gleichzeitig die Indizes sind) ändern sich.
    Dann darfst du alles anpassen, weil er die Übersetzungen nicht findet.

    Angenommen der Default-Text würde "There's an error" heißen. Dann rufst du gettext("There's an error"); auf.
    Nun kommt einer auf die Idee und ändert den Text in "Sorry, but there is an error" und schwupps könnte deine Anwendung den Text nicht mehr übersetzen, da nun nach dem falschen Text gesucht wird.

    Man kann jetzt anfangen, anstatt Texte nun eindeutige und prägnante Indizes (z.B. ERROR) zu nehmen, aber das ist ein Workaround, der dieses bescheuerte Prinzip umgeht. Aber hier hat man das Problem, dass er als Default-Wert nun die Indizes verwendet. Wenn du also nun nicht die entsprechende Sprachdatei hast, würde anstatt "Sorry, but there is an error" nun "ERROR" in deiner Anwendung stehen.

  20. #20
    Und was schlägst du als Alternative vor?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •