Meine Kristallkugel meint, PHP 8.3 komme erst im Februar 2048 raus *gg*
Beiträge von Früchtemüsli
-
-
Zitat
Bücher? Was ist das?
Ich glaube, das sind diese Dinger, die sie auch immer mit den Kinofilmen rausbringen :dance: -
Zitat
Ich bin der Meinung, dass jedes Kind, das auf österreichischem Boden geboren wird, automatisch auch die österreichische Staatsbürgerschaft erhalten sollte. Ich bin für "ius soli" statt "ius sanguinis".
Auch Kinder von Touristen?Zitat
Sollen in Österreich lebenslange Haftstrafen abgeschafft werden?
JA, ich bin überhaupt für die Abschaffung von Haftstrafen.
Doppelautsch.Aber du stehst zu deiner Meinung. Das find ich gut
-
Zitat
Wenn du nicht wählen gehst, sagst du damit eigentlich nur aus das dir egal ist wer regiert. Nach dem Motto: Qui tācet, conséntit-Wer schweigt stimmt zu. Du kannst dir gern in deinem Kopf einreden das die Wahl nicht legitimiert ist wenn du nicht hingehst, stimmt nur nicht. Zumindest die Funktionäre der Parteien gehen auf jeden Fall hin und damit gibt es es schon genügend Legitimation zum regieren. Wenn es dich nicht interessiert von wem du beherrscht wirst, dann geh halt nicht wählen, aber rege dich nachher bloss nicht über irgendetwas auf was die Regierung beschloßen wird. DU HAST ENTSCHIEDEN. Zumindest, dass du dich von anderen bevormunden lässt. Unsere Demokratie heißt nun mal das Repräsentanten aus dem Volk regieren, die vom Volk in Form von Parteien gewählt werden.
Da steht ein Haufen Quark :shinner:1) mir ist nicht egal, wer regiert
2) durch schweigen stimmt man nicht automatisch zu
3) legitimität - nicht wählen gehen: das Eine hat mit dem Anderen überhaupt nichts zu tun
4) ich reg mich nicht auf
5) wenn ich nicht wählen gehe, habe ich die Wahl nicht entschieden - leider - aber so ist unser WahlsystemIch gehe erst wählen, wenn ich eine Partei finde, die mir zusagt. "ich wähle das kleinste Übel" mach ich nicht
Ach übrigens. Die Priaten haben gestern in Deutschland etwas recht interessantes offiziell präsentiert. Und zwar http://www.openantrag.de/. Gilt zwar nur für Deutschland, aber die Piraten sind ja international Also falls wer eine Pirat ist (oder einfach nur irgendetwas bei einem Politiker loswerden will), kann dort seine Ideen posten. Wer weiß, vielleicht kommt dann irgendwas davon auch in Österreich an.
-
Manche Leute glauben, dass man an einer Demokratie nicht teilnimmt, wenn man nicht wählen geht. Das ist leider so, weil man bei Umfragen oder Wahlen den Nichtwähltern und den Falschwählern keine Stimme gibt.
Ich seh das aber anders. Ich denke mir, dass man auch eine Stimme abgegeben hat, wenn man nicht oder bewusst falsch gewählt hat
-
Zitat
Meine Wahlempfehlung: Piratenpartei.
Aber die haben keinen Plan, was Wirtschaft und Staatsverschuldung, sowie Arm-Reich-Schere, steigende Miet- und Lebensmittelkosten, usw. usw. betrifft. Genau so wenig wie die anderen Parteien. Alle wurschteln nur herum.Darum geh ich nicht wählen.
-
Hallo
Nachdem jetzt das Wörtchen PRISM in aller Munde ist, interessiert euch vielleicht dieses Thema. Hier gibts nun eine detaillierte Anleitung, wie man E-Mails verschlüsseln kann.
http://s14.directupload.net/file/d/3321/d87nbqhz_pdf.htm
Viel Spaß damit
-
Tjo, anscheinend greift da die Nervösität etwas um sich. Aber das bringt jetzt nichts mehr, wenn ich frage, ob ich vielleicht bei irgendwas weiterhelfen kann. Jetzt ist es schon zu spät dafür.
Aber wie komme ich auch diese Frage.
Natürlich mal wegen dem Fernsehen. Ich frage mich, ob das nicht nur ein Marketinggag ist. Und ich frage mich auch, ob das fürs Auge überhaupt gut ist. Wenn man Sachen sieht, die ungewöhnlich sind, die man nicht gewohnt ist, könnte ich mir vorstellen, dass extrem sensible Menschen vielleicht sogar ein Unwohlsein verspüren. Bei einem 3D-Film in einem Kino ist mir das mal so ergangen. Und zwar am Anfang von Avatar, als man in dieses Raumschiff hineinblickte, wo die Leute aus ihren Schlafkammern rauskamen. Da wollte ich in die Tiefe des Raums schauen, aber hatte dabei ein mulmiges Gefühl. Vielleicht bekommen mache Leute auch bei gewissen Filmszenen ein mulmiges Gefühl, wenn das mit diesen Ebenen nicht mehr so genau stimmt. Wenn also auf flache Ebene aufgenommen, jedoch auf einer gewöbten Oberfläche wiedergegeben wird.
Und was das mit EVC zu tun hat? Beim Rendern projiziert man auf eine ebene view-plane. Ich glaube, man müsste die view-plane wölben, wenn man eine Szene korrekt auf einem gewölbten Bildschirm wiedergeben möchte. Ist meine Vermutung korrekt?
-
http://www.oe24.at/digital/multim…Preis/108602682
Sind solche gebogene Bildschirme eigentlich gut?
Wenn man mit einer normalen Videokamera filmt, projiziert man auf eine ebene Fläche. Den Film sieht man auf so einem Bildschirm jedoch auf einer gekrümmten Fläche. Wirkt denn dann der komplette Film nicht irgendwie leicht verzerrt?
-
Die UEFA will sicher kein rein deutsches oder spanisches Finale, darum:
Barca - Real
Bayern - Borussia -
Ab HTML5 gibt es das <audio>-Element.
Das kann auch Radio-Streams empfangen.Dabe ich mit Firefox getestet:
PHP
Alles anzeigen<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Radio Player</title> </head> <body> <audio controls autoplay> <source src="http://stream-tx4.radioparadise.com:9000/rp_32.ogg" type="audio/ogg" /> Browser unterstützt kein HTML5 audio-Element. </audio> </body> </html>
Ob es der IE auch schon unterstützt, weiß ich nicht. Aber soviel ich weiß, kann man im Windows den IE nicht deinstallieren. Ob man das <audio>-Tag im IE deaktivieren kann, weiß ich nicht.
Sofern man das Tag im IE nicht deaktivieren kann, bedeutet das, dass man dann grundsätzlich für JEDEN Windows-Rechner eine Gebühr bezahlen müsste. Und falls man es doch deaktivieren kann, könnte die GIS das nur als Ein-/Ausschalter ansehen und man muss womöglich trotzdem zahlen. Aber vielleicht muss man nichts zahlen, wenn man beim PC/Monitor keinen Lautsprecher hat???
Würd mich ja echt interessieren, was die GIS meldet, wenn man einen Windows-PC mit Internetanschluss hat, an dem ein Kopfhörer angeschlossen ist.
-
Wär nicht schlecht, wenn man dazuschreibt, welche Versionen man können soll. Speziell bei PHP und JavaScript. Ganz besonders bei JavaScript. Denn da hat sich erst vor kurzem mit ES5 eine wahre Revolution bzgl. objektorientierter Programmierung ergeben.
-
Praktisch habe ich mit OData noch nichts gemacht. Aber ich würd folgendes machen:
Im google "OData" eingeben, den ersten Treffer anklicken und dort dann auf "libraries" klicken
-
Auf MySQL direkt von außen zugreifen? Das ist pfui
Dafür gibts den OData-Standard. Hört sich hochtrabend an, ist aber nur ein REST-Webservice. Zusätzlich wird noch spezifiziert, wie die URL bei Requests auszusehen hat.
-
Das muss ich erst noch lernen, welche vordefinierte Exceptions es in Java schon gibt
-
Zitat
Damit ist gemeint, dass man keine rohen Exceptions werfen (und auch nicht fangen) sollte, sondern immer abgeleitete Klassen davon.
Also einen Default-Errorhandler braucht man auf jeden Fall an der obersten Ebene. Für den Fall, dass man vergessen haben sollte, irgendwo eine Exception abzufangen. Und dort muss man dann natürlich auch ganz normale Exceptions abfangen.
ZitatWenn du irgendwo eine "Exception" wirfst, dann zwingst du den aufrufer der methdoe dazu, alle Exceptions abzufangen oder weiter zu werfen, auch solche die man vielleicht überhaupt nicht behandeln möchte/kann. Exceptions müssen deklariert werden, damit man beim aufrufen einer methode schon weiß was möglicherweise schiefgehen könnte. Wenn da jetzt nur "throws Exception" steht, dann weiß man im prinzip gar nichts, außer über die efahrung des programmierers.
Hm, ich glaube ich verstehe, was du meinst. Die Differenzierbarkeit leidet darunter. Wenn ich diverse Pakete habe, kann ich deren Exceptions nicht mehr voneinander unterscheiden, richtig? Zumindest nicht anhand der Klasse, höchstens nur noch aufgrund der message.
ZitatDas ist mehr als nur optisch unschön, das kann schon probleme machen. Wenn eine Exception im constructor wieder eine Exception werfen kann, dann muss ich überall wo ich sie instanziere auch die neue Exception behandeln oder werfen.
Ich habe mich bei unserem Professor erkundigt. Er meinte, man müsse grundsätzlich immer damit rechnen, dass irgendwo eine Exception geworfen werden könnte. Also auch in einer Exception-Klasse.
ZitatAnstatt eine Exception zu behandeln hab ich also plötzlich zwei, von der eine nicht wirklich was mit dem ursprünglichen fehler zu tun hat.
Sofern ich im Konstruktor einer Exception-Klasse eine Exception werfe, habe ich dann nicht 2, sondern nur 1 Exception geworfen.Also ich glaube, man kann sehr wohl in einer Exception-Klasse eine Exception werfen. Nur wie du schon erwähnt hast, sollte man die wieder irgendwie speziell kennzeichnen. D. h. das sollte wieder eine spezielle Exception-Klasse sein, z. B. DefaultException. Wenn so eine geworfen wird, weiß man dann, dass beim Errorhandling irgendwas schiefgelaufen ist.
ZitatWenn jetzt beim erstellen einer Exception eine andere geworfen würde, dann sieht der aufrufer nur diese und die eigentliche Exception geht verloren.
Man könnte versuchen, irgendwelche Daten zu retten, und die der DefaultException übergeben. Diese Klasse hätte dann ein String-Property. Vielleicht JSON-kodiert. Sodass sie generell alle Arten von Infos aufnehmen kann.Normalerweise sollte diese DefaultException sowieso nie geworfen werden. Das sollte sowieso nur eintreten, wenn man einen Programmierfehler gemacht hat.
-
Zitat
deine Exceptions können selber Exceptions werfen
Schaut das nur irgendwie nicht schön aus, oder kann das echte handfeste Probleme verursachen?
Wie könnte man Kontrollen übergebener Parameter denn anders in Exception-Klassen machen in Java?ZitatDeine Methoden können Exception oder SqlStringException werfen.
Ist Java nicht dazu ausgelegt, unterschiedlichste Arten von Exceptions zu werfen?Zitat"throw new Exception("text")" ist ziemlich uncool
Was meinst denn damit? Wie wärs denn cooler? -
OK.
Also jetzt nicht schrecken. Das sind jetzt ein paar Klassen. Aber es geht hier wirklich nur um den Programmierstil. Z. B. ob man Exceptions anders handelt. Oder man man die Kommentare anders macht ... Solche Sachen.
Java
Alles anzeigenimport java.util.ArrayList; public class SqlParser { // Der zu parsende SQL-String: private String sql; // Aktuell zu parsende Position im SQL-String: private int pos; // Länge des SQL-Strings: private int length; // Sammlung aller erlaubten Zeichen in Operatoren: private static String operatorChars; // Hier werden die Token gesammelt: private ArrayList <IToken> tokens; public SqlParser () { // Alle erlaubten Operator-Zeichen sammeln: for (int i = SqlOperatorToken.operators.length - 1; i >= 0; --i) { operatorChars += SqlOperatorToken.operators [i]; } } /** * Prüft auf einen SQL-String. * @throws Exception * @throws SqlOperatorException */ private void tokenizeString () throws Exception, SqlStringException { String str = ""; // Sollte ein Syntaxfehler existieren, wird der Fehlerbehandlung // die Position des ersten Zeichens übergeben: int startPos = pos; // \" gilt als escaptes Zeichen und somit als Zeichen innerhalb des Strings. boolean escape = false; // folgenden Zeichen untersuchen: while (++this.pos < this.length) { char c = this.sql.charAt (pos); if (c == '"' && !escape) { tokens.add (new SqlStringToken (str)); return; } if (c == '\\') { // Das \ wird nicht übernommen, sofern danach ein " folgt. escape = true; } else { if (escape) { if (c != '"') { // Das vorhergehende \ hier nachträglich einfügen: str += '\\'; } str += c; } else { str += c; } escape = false; } } // Kein schließendes Anführungszeichen gefunden: throw new SqlStringException (startPos); } /** * Prüft auf einen SQL-Operator. * @param firstChar Erstes Zeichen des SQL-Operators. * @throws Exception * @throws SqlOperatorException */ private void tokenizeOperator (char firstChar) throws Exception, SqlOperatorException { // Erstes Zeichen des Operators: String str = "" + firstChar; // Sollte ein Syntaxfehler existieren, wird der Fehlerbehandlung // die Position des ersten Zeichens übergeben: int startPos = pos; // folgenden Zeichen untersuchen: while (++this.pos < this.length) { char c = this.sql.charAt (pos); if (!operatorChars.contains ("" + c)) { // Zeichen kommt in keinem der Operatoren vor. break; } str += c; } // Neuer Token: tokens.add (new SqlOperatorToken (str)); // Exception, falls str nicht erlaubt. } /** * Startet den Tokenizer. * @throws Exception */ private void tokenize () throws Exception { // Der Reihe nach alle Zeichen holen: while (++this.pos < this.length) { char c = this.sql.charAt (this.pos); if (operatorChars.contains ("" + c)) { // Operator tokenizeOperator (c); } else if (c == '"') { // String tokenizeString (); } } } /** * SQL-String setzen. * @param sql SQL-String * @throws Exception */ private void setSql (String sql) throws Exception { if (sql.length() > 1000) { throw new Exception ("SQL LENGTH"); } this.sql = sql; } /** * Parser starten. * @param sql SQL-String * @throws Exception */ public void parse (String sql) throws Exception { // initialisieren: this.setSql (sql); // Tokenizer initialisieren: this.pos = -1; this.length = sql.length(); this.tokens = new ArrayList <IToken> (); tokenize (); // TODO: Muss dann letztendlich gelöscht werden (nur für Test): Object[] tokens = this.tokens.toArray(); for (int i = 0; i < tokens.length; ++i) { System.out.println (tokens[i].getClass().getName()); System.out.println (this.tokens.get(i).getValue()); } } // TODO: Muss dann letztendlich gelöscht werden (nur für Test): public static void main (String[] args) { try { SqlParser p = new SqlParser (); String sql = "a>=b\"c\\\"d\"e\"f\tg\""; p.parse (sql); } catch (Exception ex) { System.out.println (ex.getMessage()); } } }
Code
Alles anzeigenpublic class SqlPosException extends Exception { private int pos; /** * @param message Fehlernachricht * @param pos Position, wo der Fehler im SQL-String auftrat. * @throws Exception */ public SqlPosException (String message, int pos) throws Exception { super (message); this.setPos (pos); } /** * @param pos Position, wo der Fehler im SQL-String auftrat. * @throws Exception */ private void setPos (int pos) throws Exception { if (pos < 0) { throw new Exception ("POS"); } this.pos = pos; } /** * @return Position, wo der Fehler im SQL-String auftrat. */ public int getPos () { return this.pos; } }
Codepublic class SqlOperatorException extends SqlPosException { /** * @param pos Position des ersten Operator-Zeichens im SQL-String. * @throws Exception */ public SqlOperatorException (int pos) throws Exception { super ("SQL OPERATOR", pos); } }
Codepublic class SqlStringException extends SqlPosException { /** * @param pos Position vom öffnenden Anführungs-Zeichen im SQL-String. * @throws Exception */ public SqlStringException (int pos) throws Exception { super ("SQL STRING", pos); } }
Code
Alles anzeigenpublic class SqlStringToken implements IToken { private String value; /** * @param value SQL-String. Max. 256 Zeichen erlaubt. * @throws Exception */ public SqlStringToken (String value) throws Exception { this.setValue (value); } /** * Setzt den SQL-String. * @param value SQL-String. Max. 256 Zeichen erlaubt. * @throws Exception */ private void setValue (String value) throws Exception { if (value.length () > 256) { throw new Exception ("SQL STRING VALUE"); } this.value = value; } /** * @return SQL-String */ public String getValue () { return this.value; } }
Code
Alles anzeigenpublic class SqlOperatorToken implements IToken { // Alle erlaubten Operatoren: public static final String[] operators = {"=", "<>", "!=", "<", ">", "<=", ">="}; private String value; public SqlOperatorToken (String value) throws Exception { this.setValue (value); } /** * Setzt den SQL-Operator. * @param value * @throws Exception */ private void setValue (String value) throws Exception { if (!inArray (value)) { throw new Exception ("SQL OPERATOR VALUE"); } this.value = value; } /** * Kontrolliert, ob es sich beim übergebenen String tatsächlich um einen SQL-Operator handelt. * @param value * @return boolean */ private boolean inArray (String value) { for (int i = operators.length - 1; i >= 0; --i) { if (value.equals (operators [i])) { return true; } } return false; } /** * @return SQL-Operator */ public String getValue () { return this.value; } }
Schaut hoffentlich nicht zu schlimm aus :confused: -
Hm, wenn es hier schon die Java-Profis gibt ... mich würde interessieren, ob ich richtig in Java programmiere.
Könntet ihr mal einen Code überfliegen? Gibts vielleicht irgendwas, was ich total falsch mache? D. h. dass ich hier in einem Stil programmiere, wie man das in Java überhaupt nicht macht???? Bin wirklich für jeden Hinweis dankbar!
Hm ... falls man hier überhaupt einen Code reinposten kann ....
Geht das hier in diesem Forum? Gibts dafür irgendwie ein eigenes Tag? -
Ahh, so geht das. OK.
Thanks!ZitatFalls du mit "Tokenizer" die Klasse StringTokenizer meinst.. die sollte so nicht mehr verwendet werden.
Ich programmier mir im Parser einen eigenen Tokenizier. Dieses StringTokenizer kenn ich überhaupt nicht.