Der offizielle Programmier-Thread

Ne, mit CSS geht das nicht. Also unterstützend schon. Aber Javascript muss da schon her.
 
Eindeutige Identifizierung ohne Login?

Ich möchte auf einer PHP-basierten Webseite ein Bewertungssystem einbauen. Wir wollen den Usern kein Login aufzwängen und es deshalb anders lösen. Als Lösung fallen mir nur Cookies, IP-Adresse speichern und MAC-Adresse ein.

Die MAC-Adresse dürfte allerdings nicht im IP-Paket enthalten sein, weshalb der Punkt schon wegfällt.
Die IP-Adresse ist halt leider nur eindeutig, so lange die Lease Zeit nicht abgelaufen ist. Außerdem könnten zwei Rechner aus einem Haushalt nicht den selben Beitrag bewerten.
Cookies werden ja auch sehr gerne gelöscht.

Gibt es noch eine weitere Alternative? Gibt es einen Grund warum man z.B. nicht eine Mischform aus IP-Adresse und Cookie wählt?

Danke.
 
Hab eine RegEx-Frage.
Und zwar bräuchte ich aus diesem String

Code:
String s = "<?xml version="1.0" encoding="ISO-8859-1"?>
";

den Wert des Attributes encoding.

Code:
system.out.println(getTheUltimateAttributMethod(s));

soll also ISO-8859-1 ausgeben.
 
public static final String getEncodingFromFileContent(String content){
String[] a = content.split("\"");​
for(int i = 0; i<a.length; i++){​
if(a.contains("encoding=")){

return a[i+1];​
}​
}​
return null;​
}
 
public static final String getEncodingFromFileContent(String content){
String[] a = content.split("\"");​
for(int i = 0; i<a.length; i++){​
if(a.contains("encoding=")){

return a[i+1];​
}​
}​
return null;​
}


zwei return-statements - nicht gut :thumbsdown::D;)
 
Dann spar ich mir das break; :)

Was ist das Gegenargument? Bei so einer übersichtlichen Funktion verliert man sich ja eigentlich nicht im Code.

sauber programmiert wird das mit ner boolean-variable statt nem break und eben nur einem return ;)

ist ja alles nicht so ernst gemeint. nur so haben wir das damals gelernt. aber so vieles was man beim programmieren lernt, setzt man ja nicht um.
man soll ja auch nie gleich drauf losprogrammieren und trotzdem hab ich es immer gemacht :D auch bei größeren projekten
 
meinst du ein if und dann nen leeren string als rückgabewert, falls das gewünschte nicht existiert oder wie meinst du das, dass ihr das mit boolean umgesetzt hättet?

wenn du nur ne boolean statt nem string zurückgeben würdest, bräuchtest du ja ne globale variable und das ist jetzt auch nicht wirklich der hit, oder?!
 
Zuletzt bearbeitet von einem Moderator:
meinst du ein if und dann nen leeren string als rückgabewert, falls das gewünschte nicht existiert oder wie meinst du das, dass ihr das mit boolean umgesetzt hättet?

wenn du nur ne boolean statt nem string zurückgeben würdest, bräuchtest du ja ne globale variable und das ist jetzt auch nicht wirklich der hit, oder?!

public static final String getEncodingFromFileContent(String content){
String[] a = content.split("\"");​
String ret = null;​
for(int i = 0; i<a.length; i++){​
if(a.contains("encoding=")){

ret = a[i+1];​
break;​
}​
}​
return ret;​
}


So hab ich es jetzt.

Falls chin es mit einer while(booleanIrgendwas)-Schleife machen wollte, fände ich das aber auch eher unpassend.
 
String[] a = content.split("\"");

String ret = null;
boolean fertig = false;


for(int i = 0; i<a.length && !fertig; i++){

if(a.contains("encoding=")){

ret = a[i+1]; fertig = true;

}

}

return ret;

}


so wars gemeint. aber war auch alles nicht so ernst gemeint.
ich meine, so wurde uns das damals als guter programmierstil vermittelt
 
Sowas hab ich ja noch nie gesehen :oops:

Dass es nicht ernst war, war schon klar.
 
Allerdings hat man da genau so das Problem, dass man evtl. an mehreren Stellen den Boolean-Wert setzen muss und den Überbllick verliert.
 
Sowas hab ich ja noch nie gesehen :oops:

Dass es nicht ernst war, war schon klar.

ich bin mir grad allerdings auch nicht mehr so sicher, wie schwerwiegend breaks im code sind.
bei mehreren returns weiß ich, dass die offiziell nicht gern gesehen sind, aber breaks sind ja zum beispiel bei switch-case quasi unabdingbar

ab einer gewissen komplexität verliert man ja sowieso irgendwann den überblick, auch wenn man sich an alles hält und auch die methoden kurz hält.
aber wenn methode a, methode b aufruft, die dann methode c und d aufruft, dann geht eh irgendwann der überblick verloren und die fehlersuche macht dann besonders viel spaß :D
aber ab und zu irgendwas kleines ohne zeitdruck zu programmieren macht ja schon spaß *neeeeeeeeeeeeeeerd* :D
 
Bei uns gibts auch noch die Vorgabe, dass Klassen nicht mehr als 40 Zeilen Code haben dürfen (mit allen Methoden und Attributen).

Yes, unter 300 geht bei mir gar nichts -.-
 
Weiß jemand warum ich solche Sonderzeichen mitgeliefert bekomme, wenn ich eine CSV-Datei einlese?

�N�a�m�e�,�G�i�v�e�n� �N�a�m�e

usw.

Also zwischgen jedem (!) Zeichen ist da irgendein Sonderzeichen. Zumindest interpretiert das Programm da welche rein. Am Anfang und am Ende jeder Zeile könnte ich es ja noch verstehen, aber doch nicht in jeder Zeile. Excel zeigt die Datei auch ganz normal an.

Code:
public static void main(String[] args) {
		Internationalizer c = new Internationalizer();
		c.readData();
		c.printData();
	}

	
	public void readData() {
		try {
				FileReader file = new FileReader("C:\\me\\Temp\\google.csv");
				BufferedReader data = new BufferedReader(file);
				while ((zeile = data.readLine()) != null) {
					split = zeile.split(";");
					for(int i=0; i<split.length; i++) {
						//leere Zeilen ignorieren
						if( !(split[i].equals("")) )
						//eventuelle Leerzeichen zwischen zwei ';' entfernen 
						//und Wert in Liste schreiben
						list.add(split[i].trim());
					}
				}
		} catch (FileNotFoundException e) {
			System.out.println("Datei nicht gefunden");
		} catch (IOException e) {
			System.out.println("E/A-Fehler");
		}
	}
	
	public void printData() {
		int max = list.size();
        for(int i=0; i<max; i++) {
			System.out.println(list.get(i));
        }
	}
 
Zurück
Oben Unten