kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: FiFo Datenstrukurt mit MySql

    geschrieben von sektor

    bladehunter schrieb:
    Also im Prinzip ist es sehr einfach. Man braucht nicht einmal irgendwelche ids oder indices.


    Ist das auch garantiert?
    Wenn es nicht vom Standard vorgeschrieben ist, dann würde ich mich auf dieses Verhalten nicht verlassen.
    Natürlich kann es sein, dass es alle Systeme so machen werden, weil es die einfachste Implementation ist aber ohne Garantie ist das ein Spiel mit dem Feuer, wenn updates rauskommen, die dieses Verhalten ändern.
  • in: FiFo Datenstrukurt mit MySql

    geschrieben von sektor

    kill-a-teddy schrieb:
    Wenn du sie löscht dann verschwindet sie ganz


    Das mag nach außen hin so aussehen aber im Sinne der Frage ist es nicht immer richtig.
    Richtig ist, dass dir die Zeile nicht mehr mit ausgegeben wird (da sie ja gelöscht ist).
    Aber da Datenbanksysteme hoch optimiert sind, werden solche Dinge nach Heuristiken entschieden.
    Das heißt es kann durchaus vorkommen, dass das System entscheidet es wäre zu viel aufwand die Zeile zu löschen und alle anderen eins nachrücken zu lassen und stattdessen lieber die Zeile einfach als gelöscht markiert.

    Wenn später eine Zeile eingefügt werden müsste, die gerade an diese Stelle passt, kann sie unter umständen ersetzt werden.
    Eigentlich ist das aber alles halb so wild, weil sich diese Sache meistens nur im kleinen Rahmen abspielt.
    Wenn du allerdings den verdacht hast, dass die Datenbank langsam ist, weil du so viel "Müll" drin hast, dann kannst du sie optimieren lassen (Stichwort Optimize Table). Dies veranlasst das System solche lücken wieder zu schließen und noch an anderen Stellen Aufräumarbeiten vorzunehmen.

    Um mal noch auf die eigentliche Frage zurückzukommen:
    Warum brauchst du die FiFo gerade in der Datenbank?
    Du kannst sie natürlich relativ einfach hinbekommen, indem du eine Tabelle mit fortlaufendem automatisch inkrementiertem Index baust. Dieser bildet dann automatisch eine zeitliche Ordnung (also in der Reihenfolge des Einfügens). Außerdem werden Schlüssel vom Datenbanksystem meist automatisch sortiert, sodass der Zugriff in Reihenfolge wesentlich schneller laufen sollte.
  • in: Anonymus hackt Stratfor

    geschrieben von sektor

    kalinawalsjakoff schrieb:
    @sebulon

    Wenn Großunternehmen mit meinen daten Schindluder betreiben, dann rechtfertigt das noch lange nicht in deren System einzudringen und die Daten der Nutzer die in diesem System gespeichert sind einfach zu veröffentlichen und von den Konten oder was auch immer Geld abzubuchen.

    Dem stimme ich im Allgemeinen zu aber es gibt ausnahmen.

    kalinawalsjakoff schrieb:
    Also kann ich durchaus anstatt mir im Internet das eine oder andere Produkt/Dienstleistung zu bestellen gleich noch mehr Geld für Gemeinnützige Organisationen (wofür ich ohnehin im jahr schon mehrere Hundert euro als Spende ausgebe) spenden.


    Es ging ja nicht darum den Organisationen mehr Geld zuzuführen, sondern ein exempel zu statuieren und das Geld irgendwo anders hin zu schaffen wäre wesentlich schlimmer gewesen und hätte vermutlich auch die "Attentäter" enttarnt.

    kalinawalsjakoff schrieb:
    Was die Anschrift und Kontaktdaten angeht, so ist es direkt Pflicht für die Seitenbetreiber die auch auf ihrer Seite zu veröffentlichen Stichwort Impressum. Und da steht das für jeden öffentlich sichtbar und das ohne irgendwelche Systeme zu hacken. Als Nutzerin vom Internet werde ich doch schon gezwungen meine Daten herauszugeben, wenn ich ein bisschen Content ins Netz stellen möchte.


    Ich denke Sebulon meinte die Leute, die ihre Daten auf Facebook eingeben, obwohl sie es nicht müssten. Wenn man eine Website hostet, dann ist man natürlich gezwungen sich Preis zu geben (oder man gründet eine Firma hinter der man sich versteckt).

    kalinawalsjakoff schrieb:
    Was die Vorgeschichte angeht: Es ist durchaus strafbar, unerlaubt in ein System einzudringen, also brauchen die Leute, die das tun sich nicht wundern, wenn Schadensersatzansprüche geltend gemacht werden. Also muß das auf legalem Weg geschehen, genug Personal die das System ständig auf schwachstellen abklopfen, sonst kann ja jeder kommen und einfach so mal daten klauen.


    Es mag wohl sein, dass es Experten dafür gibt und gerade bei einem solchen Unternehmen sollte man erwarten können, dass alles ordentlich abgesichert ist. Dennoch gab es anscheinend eine Lücke. Es war mal eine gute Tradition die Leute darauf aufmerksam zu machen und sonst nichts weiter daraus zu schlagen aber wie Sebulon schon ausgeführt hat, wurden solche Leute mit Füßen getreten. Um dann noch gehör zu finden muss man schon zu drastischeren Mitteln greifen (siehe zum Beispiel den Haspa-Hack des CCC).

    Davon unabhängig verurteile ich die Veröffentlichung der Daten. Das war ein unnötiger Schritt aber es ist geschehen und ich denke ein Hauptgrund ist auch hier die Kunden mit auf die Seite der Ankläger des kranken Systems zu ziehen.
  • in: Akku beim Notebook im Netzbetrieb rausnehmen o. drin lassen?

    geschrieben von sektor

    Ich kann drafed-map nur bestätigen.
    Bei heutigen Akkus sind automatische Regelmechanismen drin, die ein weiteres laden ab einer bestimmten Spannung (wenn er voll ist) unterbinden. Dennoch sollte man den Akku raus nehmen, da er bei ständigem Netzbetrieb trotzdem immer wieder kurz entlädt und lädt.

    Hierbei auch wieder die Regel von drafed-map: Man sollte ihn bei etwa 2/3 Ladung also knapp 70% lagern, da vollständig leere/volle Akkus bei der Lagerung Schaden nehmen können. Ansonsten gilt fürs Lagern, dass man ihn bei Raumtemperatur lagern sollte und nicht in der Sonne oder im Kühlschrank :)

    Ich bin hier jetzt von Lithium Ionen Akkus ausgegangen, wenn du einen Lithium-Polymer Akku hast, kann das unter Umständen anders aussehen. Allerdings habe ich selbst noch kein Notebook mit LiPo-Akku gesehen.
  • in: Trackmania

    geschrieben von sektor

    Die einzigen Vorteile von United gegenüber Nations ist die größere Vielfalt an Strecken-/Fahrzeugtypen und die Tatsache, dass man in der Freezone nicht warten muss. Was die Fahrzeugtypen angeht, so ist das Stadiumcar natürlich das beliebteste (weil es das einzige freie ist) und den meisten Leuten sagen die anderen nicht zu, das ist aber Geschmackssache.

    Was die Freezone Server angeht: Man kann auch auf nicht Freezoneservern fahren, was ich sehr unterstütze, weil ich selbst betreiber von solchen Servern war und gesehen habe wie die Freezone diese zerstört hat.

    Aus diesem Grund bin ich derzeit sehr gegen TM oder besser gegen Ubisoft eingestellt und würde dir vom Kauf beider Spiele abraten.
    Zu TM² kann ich dir nur sagen, dass es bei weitem nicht die große Community wie die Nations hat und dass man sich erstmal auf das neue Fahrverhalten einstellen muss.

    Falls du dir eins von den Spielen kaufst, dann achte auf den Preis. Nach meinem letzten Erkenntnisstand kann man TMU für 10€ und TM² für 20€ kaufen.

    space-game schrieb:
    Kann mir irgendeiner helfen wie ich ans Daten komme?


    Man kann seinen Account auf eine Mailadresse verlinken und darüber wiederherstellen, wenn ich mich richtig erinnere.
    Alternativ schau mal hier http://www.tm-forum.com/viewtopic.php?f=10&t=21135 (englisch)
  • in: Apple oder Microsoft

    geschrieben von sektor

    flockhaus schrieb:
    Ich wehre mich nach, wie vor dagen, als fast 20jähriger MacUser, nicht als Apple-Missionar. Einen Mac kaufst du, weil du das Betriebssystem haben möchtest - es ist quasi ein Komplettpaket.


    Es mag dir so gehen und vielleicht Millionen anderen Apple Usern auch. Fakt ist aber, dass ein Großteil des Marketings von Apple die Geräte als Lifestyleprodukte (also eigentlich Accessoires) verkauft. Und ich bin mir sicher, dass es genug Hipsters gibt, die das Zeug einfach kaufen, weil es als cool gehypt wird. Das heißt natürlich nicht, dass alle Apfelnutzer dumme Marketingopfer sind. Aber leider sind es meistens genau diese, die einen dann Missionieren wollen und unangenehm auffallen.

    Bezüglich der Gleichwertigkeit magst du, was einfache Anwendungen angeht, recht haben, aber leider ist die Spieleindustrie immer noch sehr fixiert auf DirectX und damit Windows. Was natürlich nicht heißt, dass es keine guten Spiele für Macs gibt, allerdings fehlt mir da die Erfahrung, da ich selbst keinen Mac besitze.
  • in: Datum aus mysql überprüfen und bei 24 Std. alt löschen

    geschrieben von sektor

    Also wenn es nur darum geht sie aus der Datenbank zu löschen, dann mach doch sowas:
    DELETE FROM clicked
    WHERE uid = userid
    AND time_clicked < jetziger_timestamp - 24 * 60 * 60


    Die userid und der timestamp kommen natürlich von php rein.
    Wenn du ein MySQL zeitformat für time_clicked verwendet hast, dann sieht das natürlich etwas anders aus:
    DELETE FROM clicked
    WHERE uid = userid
    AND time_clicked < DATE_SUB(NOW(), INTERVAL 1 DAY)

    Oder willst du da noch mehr machen?
  • in: QListModel mit Items in QComboBox mischen?

    geschrieben von sektor

    Auch wenn es mir nicht gefällt, werde ich wahrscheinlich direkt die Einträge in die einzelnen ComboBoxes einfügen und wieder entfernen, wenn nötig.
    Wenn ich mehr Zeit habe, werde ich mal schauen, ob ich das mit den CustomModels umsetze.

    Noch eine andere Frage:
    Kann man ein QVariant und z.B. eine ComboBox so verbinden, dass die QVariant immer den aktuellen Wert der ComboBox enthält? Ich meine natürlich kann man dafür extra Funktionen schreiben aber es ist so eine allgemeine und häufig benötigte Funktion, dass ich mir vorstellen könnte, dass es direkt vorgesehen wurde. Ich meine auch mich an dieser Feature zu erinnern aber mir fallen nicht die richtigen Suchbegriffe ein, sodass ich meist bei irgendwelchen Seiten über die MVC Struktur raus komme.
  • in: QListModel mit Items in QComboBox mischen?

    geschrieben von sektor

    Ich schreibe derzeit ein Programm, das mit Texturen arbeitet, die für verschiedene Parametrisierungen verwendet werden. Die Nutzeroberfläche ist in Qt geschrieben und deshalb versuch ich so viel wie möglich mit den Qt eigenen Sachen zu machen. Dazu gehört unter anderem die Verwaltung von geladenen Texturen.

    Ich habe mehrere Parameter, die durch eine Textur bestimmt werden können und ich möchte jede beliebige geladene Texture an jeden Parameter anhängen können.

    Deshalb habe ich erst mal eine Liste der geladenen Texturen, die ich über eine QComboBox auswählen kann, um sie anzuschauen.
    Zusätzlich möchte ich für jeden Parameter, der durch eine Textur bestimmt werden kann, eine weiter ComboBox anlegen, in der die Textur ausgewählt werden kann. Das ist an sich ja kein Problem, wenn ich die Texturen in einem QListModel speichere und dieses dann den ComboBoxes zuweise. Allerdings habe ich für jeden einzelnen Parameter noch eine besondere Textur, die nur diesem zugeordnet werden darf und auch in seiner ComboBox zur Auswahl bereit stehen soll.

    Außerdem sollen auch wieder Texturen entfernt und Items umbenannt können (außer natürlich die Standardeinträge).

    Wie kann ich dies erreichen?
    Ist das überhaupt ohne weiteres möglich?
  • in: Tipp: Google Search History deaktivieren

    geschrieben von sektor

    Haben die das denn vorher nicht gemacht?
  • in: c++ oder java was meint ihr? erfahrungen?

    geschrieben von sektor

    Um mal etwas konkreter zu werden (und ohne den Anspruch der Vollständigkeit), solltest du dich vor allem mit Sprachen beschäftigen, die Programmierparadigmen beinhalten, die neu für dich sind.

    Viele kommen über imperative Sprachen zum Programmieren, also empfehle ich denen mal die anderen Paradigmen zu probieren.
    Hier http://de.wikipedia.org/wiki/Programmierparadigma findest du sicher schon einige Anregungen.

    Aus meiner Erfahrung heraus solltest du auf jeden Fall mal in die Funktionale Programmierung schauen. Das war für mich, der ich bis dahin nur C artige Sprachen kannte, eine ganz neue Erfahrung (ich kam mit Haskell in Kontakt).

    Interessant soll auch logische Programmierung (Prolog) sein, die ich mir auch selbst schon lange mal anschauen wollte.

    Das tolle ist, dass es immer neue Sprachen gibt und wenn man dafür kostenlose Tools (also Interpreter/Compiler) findet, ist es allemal den Versuch wert. Etwas dabei lernen wird man immer (und sei es, dass nicht jede Sprache gut ist ^^).
  • in: Potenzen - Hilfe bei Aufgabentyp

    geschrieben von sektor

    psychoboard schrieb:
    Ausklammern ist als erste Schitt eigentlich immer hilfreich.
    Ist hier sinnlos (sowas macht man nur in Summen/Differenzen).

    onondive schrieb:
    Auf die Gefahr hin als Besserwisser dazustehen: Es muss sich keiner sorgen machen, wenn er so etwas nicht lösen kann (im mathematischen Sinne), das geht nur mit Un-/Gleichungen (d.h. Vergleiche zweier Terme per ist = > <). Ein term, also die Ansammlung von Summen, Produkten etc. lässt sich nur zusammenkürzen.

    Auf die Gefahr als noch größerer Besserwisser da zu stehen: Lös doch mal Formel: x = y.

    Ansonsten hat darkpandemic recht und ich vermute mal, dass du mit lösen auch einfach das umschreiben in ein "Produkt von Potenzen" meinst. Wenn du natürlich noch Werte für x,y, a und b gegeben hast, dann kannst du das noch weiter vereinfachen.
  • in: c++ oder java was meint ihr? erfahrungen?

    geschrieben von sektor

    Schwer und leicht ist relativ und auch kein gutes Maß für die Zukunftssicherheit. C++ ist jedenfalls älter und hat sich damit länger gehalten. Abgesehen davon decken die beiden Sprachen unterschiedliche Bereiche ab, da C++ eher für Performance Anwendungen verwendet wird und Java für weniger performancekritische Sachen, die möglichst plattformunabhängig sein sollen (natürlich kann man in C++ auch Plattformunabhängig programmieren).

    Privat kann ich sagen, dass es für mich leichter war einen Einstieg in C++ als in Java zu finden. Rückblickend muss ich allerdings sagen, dass dies komisch ist, da C++ wesentlich komplexer ist. Beruflich wirst du dich, sofern du Angestellter bist, nach den Vorgaben deines Chefs bzw des Kunden richten müssen und die entscheiden sich eh immer für die falsche Sprache ^^

    Je nachdem, in wie weiter ferne du die Zukunft siehst, kann es durchaus sein, dass beide Sprachen nicht mehr existieren (C++ ist zu starr und Java wird vielleicht von Oracle ausgeschlachtet). Aber wer weiß schon, was morgen kommt.

    Deshalb folgender Rat: Fixiere dich nicht auf eine Sprache, sondern lern immer weiter, vor allem Sprachen mit neuen Konzepten. So gehst du immer mit der Zeit und lernst neue Lösungsstrategien, die du auch außerhalb der Sprache anwenden kannst. Wenn du von der Sicherheit einer Sprache abhängst, dann bist du selbst nicht zukunftssicher :)
  • in: Buch um "Spiele programmieren lernen"

    geschrieben von sektor

    Auch wenn ich jetzt leider nichts mehr zum original Thema beitragen kann, weil ich selbst keine Bücher über Browsergameprogrammierung kenne möchte ich nochmal das Wort ergreifen.

    schilcher schrieb:
    So habe ich beispielsweise einen Bekannten, der in den ersten Semestern seines Studiums für Technische Informatik Bücher der Reihe "für Dummies" bzw. "für Kids" zum Themenbereich Informatik gelesen hat. Er persönlich fand so seinen Einstieg in die Materie leichter als über Skripten.


    Natürlich sollte man für den Einstieg ein Anfängerbuch nehmen und nicht gerade die Expertenbibel. Die Kollegen, die über den "Anfänger" gewitzelt haben, sind aber nicht unbedingt im Unrecht. Die Dummies und Kinder Bücher setzen auf einem Anspruchsniveau an, das weit unter dem liegt, was man bei Studierenden erwarten sollte. Es mag sein, dass sie vieles veranschaulicht besser erklären und damit einen einfacheren Zugang darstellen aber dann sollte man das Buch nicht erst zum Beginn des Studiums gelesen haben.
    Ich studiere selbst angewandte Informatik und bin der Meinung, dass besonders im ersten Semester viel zu viele Leute dabei waren, die keine Ahnung von der Materie hatten. Dies drückt in erheblichem Maße die Qualität der Wissensvermittlung, wenn in Übungen und Vorlesungen "auf den letzte gewartet werden muss". Meiner Erfahrung nach waren es auch diese Leute, die sich dann nach dem 3. Semester (erste endgültig nicht bestandene Prüfung) verabschiedet haben. Natürlich gibt es auch Ausnahmen (siehe dein Bekannter).

    Lange Rede, gar kein Sinn:
    Lest Bücher, die nicht zu weit über eurem Niveau sind, sonst verliert ihr schnell die Lust daran und arbeitet länger als nötig für das gleiche Ziel.
  • in: Buch um "Spiele programmieren lernen"

    geschrieben von sektor

    trivix schrieb:
    Java ist seit 2 Jahren ungeschlagen DIE wichtigste Programmiersprache!
    Siehe hier -> http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    Also wenn ich mir das so anschaue, dann ist das aber ein mickriger Vorsprung zu C und wenn du mal die Tendenzen anschaust, dann wird es wohl nicht mehr lange dauern, bis C# an Java vorbei ist.

    Man kann mit Java Server und Browserseitig arbeiten aber es ist nicht immer die beste Wahl. Ich würde auch nicht versuchen bei einem Bezahlhoster einzusteigen, wenn das Projekt auf so wackeligen Beinen steht. Wenn du wirklich Interesse daran hast, dann solltest du mindestens bis zur beta auf deinem eigenen Computer programmieren und testen, um das Risiko zu minimieren. Wenn du natürlich zu viel Geld übrig hast, dann kannst du das auch gleich online stellen.

    kigollogik schrieb:
    Auch die Aussage, trivix, das flash sehr schnell von html5 abgelöst werden wird ist nicht korrekt. Dazu mal bitte die PM von Dezember von Adobe lesen. Adobe selbst steckt einiges in die Entwicklung von HTML5 und sollten daher auch wenig Interesse haben es schlecht zu reden.


    Kannst du das mal bitte verlinken ich finde da nämlich nichts. Ich kann mich nur dran erinnern, dass Adobe ende letzten Jahres angekündigt hatte die Flashentwicklung einzustellen.
  • in: Array mit eigenen Schlüsseln durchlaufen

    geschrieben von sektor

    dexus85 schrieb:
    <?php
    
    $new_array=array();
    foreach($array AS $key => $value) {
    $new_array[]['key'] = $key;
    $new_array[]['value'] = $value;
    }
    
    ?>



    Das legt dann allerdings einen Array an der so aussieht:
    array(0 => array('key' => 'keyblabla'), 1 => array('value' => 'valueblabla'), ...)

    Besser wär da vielleicht:
    <?php
    
    $new_array=array();
    foreach($array AS $key => $value) {
    $new_array[] = array('key' => $key, 'value' => $value);
    }
    
    ?>


    Damit ist das Ergebnis dann:
    array(0 => array('key' => 'keyblabla', 'value' => 'valueblabla'), ...)
  • in: Arbeiten kotzt mich an!

    geschrieben von sektor

    kaetzle7 schrieb:
    Dennoch war ich wieder froh einen Job gefunden zu haben. Der Grund: Ich habe einen geregelten Tagesablauf, kann mit anderen zusammenarbeiten, an etwas mitwirken, ich kann meine Ideen und Talente einbringen und auch in einem größeren Bereich nützlich sein, wie nur bei mir zuhause.


    Dem kann ich nur zustimmen. Für mich war der Übergang von der Schule zur Universität schon viel zu lang obwohl es nur knapp drei Monate waren. Ich habe mich zu tode gelangweilt, weil ich nicht wusste, was ich mit der vielen Zeit anfangen soll. Die ersten paar Wochen waren herrlich aber irgendwann langweilt einen auch das Faulenzen.
    kaetzle7 schrieb:
    Nein, weil der Kommunismus ganz offensichtlich nicht funktioniert hat. Kein Land das den Kommunismus versucht hat zu leben ist jetzt eine wohlhabende Insel der Seligen in der jeder Mensch gleich ist, sondern es sind und waren Diktaturen die das Volk geknechtet und ausgenutzt haben.


    Das ist ja kein Beweis, dass der Kommunismus nicht funktioniert, sondern dass die Leute es nicht hinbekommen haben.

    kaetzle7 schrieb:
    Prinzipiell wären die Ideen von Marx sicher gut und besser als der Kapitalismus, aber sie sind einfach unrealistisch und scheinen nicht in die Wirklichkeit übertragbar zu sein - zumindest hat es bis heute noch niemand geschafft diese Prinzipien langfristig umzusetzen. Die einzige mir bekannte Ausnahme bilden vielleicht die Kibbuzim in Israel, die ihre Entstehung aber sicher der schwierigen Geschichte und dem daraus resultierenden Zusammengehörigkeitsgefühl zu verdanken haben.

    Ich gebe dir Recht, dass der Kommunismus Schwachstellen hat, es gibt genügend Kritiker, die gute Argumente vorgelegt haben, was am Kommunismus nicht funktionieren kann. Allerdings sehe ich das scheitern des Kommunismus auch darin begründet, dass es Widerstand von außen gab. Ich will nicht gutheißen, wie sich die "Kommunisten" im Ostblock verhalten haben aber es war auch der Westen, der immer "den leichten Weg" vor gelebt hat und damit die Gesellschaft moralisch zersetzt. Ich verstehe auch nicht, warum in den USA Kommunist als Schimpfwort benutzt wird. Ich meine die Sowjetunion waren ihre Feinde da stimme ich zu aber sie sind nur eine Teilmenge der Kommunisten (wenn überhaupt). Und die Kommunistische Idee ist ein Ideal, für das man niemanden beschimpfen kann im Gegensatz zu Diktaturen.

    Unabhängig davon ob der Kommunismus die Zukunft ist: Der Kapitalismus sollte es nicht sein, denn dieses System geißelt die Menschheit. Man sieht seine Blüten überall in den armen Ländern, die ausgebeutet werden. Keiner der "Erfinder" der freien Marktwirtschaft hat für eine völlige Freiheit plädiert, da sie alle erkannten, dass dies dazu führt, dass rücksichtslose, Profit orientierte Menschen die armen Ausbluten lassen. Manchmal frage ich mich wie lange es dauert bis wir an der Reihe sind, bis nicht mehr die Deutschen mit einer Tankladung die Nahrungsgrundlage einer ganzen afrikanischen Familie zum Auspuff raus bläst sondern umgekehrt.

    Ich merke gerade wieder, wie mich dieses Thema aufregt, vor allem wenn ich sehe mit welcher Gleichgültigkeit manche dem leidigen Schicksal anderer gegenüber stehen. Tür viele ist dies okay, weil sie sich als etwas besseres sehen. Und gerade dieses Denken ist meiner Meinung nach das gefährlichste überhaupt. Es gibt in der Geschichte so viele Beispiele von Genozid, der sich genau auf dieses Fundament stützt.
  • in: Fälle unterscheiden

    geschrieben von sektor

    Hm nachdem ich nochmal etwas drüber gelesen habe wie wär es damit:
    (x, y) -> z
    x, y liegen in [0, N]

    dann berechne einfach:
    Formel: z = x + (N + 1) * y
    Dazu noch meine vergeschlagene Methode, um das ganze "symmetrisch" zu machen und es sollte deinen anforderungen entsprechen, sofern Formel: N < sqrt(MAX_INT)
  • in: Fälle unterscheiden

    geschrieben von sektor

    Soso du willst also eine perfekte Hashfunktion basteln.
    Gibt es denn eine einschränkung bei den Eingabewerten?

    Ich kann dir erstmal den Tipp geben, dass die die (x; y) (y; x) invarianz hinbekommst, indem du ein solches Tupel immer sortierst (also natürlich nur intern). Damit wird (1; 0) und (0; 1) schonmal immer zu (0; 1). Auf dieser Basis kannst du dann weiterarbeiten.
  • in: Windows oder Linux

    geschrieben von sektor

    Hm tote Threads sollte man nicht wecken und der hier war schon länger tot ^^
    Ach immer diese Guldenjäger.

    flockhaus schrieb:
    Genau so wie: Was für ein Auto sollte ich mir kaufen? Da kommt ähnlich sachliches und dienliches bei rum

    :disapprove:


    Wogegen?

    Ach ja übrigens: Alle Betriebssysteme außer 3.11 sind schleeeccht ^^
  • in: Mega-Upload geschlossen Anonymus startet Rachefeldzug

    geschrieben von sektor

    flockhaus schrieb:
    Aber ich könnte genau so gut sagen, wer weiß, was alles auf den VServern und WebSpaces rum liegt, was illegal ist.


    Hm es ist aber eine Sache der Verhältnismäßigen Öffentlichkeit (also wie viele Leute es dann nutzen). Ein Angriff auf die großen OCH's lohnt sich wesentlich mehr als auf so einen kleinen (so es denn erfolgreich ist). Ich verstehe allerdings eins nicht: Die großen Firmen könnten mit relativ wenig Budget erheblich mehr anrichten, wenn sie einfach mal jemanden hinsetzen, der die aktuelle Top 10 der Linkseiten her nimmt und dort immer die meist genutzten Links nimmt und bei den Hostern meldet. Ich bin der Meinung, wenn man das eine Weile macht, treibt man die Seite damit in den Ruin.

    flockhaus schrieb:
    Eine andere Frage ist aber die, ob man als Unternehmer die Verteilerei von illegalen Inhalten unterstützt, oder sogar fördert.


    Das ist auf jeden Fall nicht mehr zu übersehen. Aber ich meine: Wir wissen alle, dass die großen Hoster auch viel illegales auf ihren Servern haben und es mag sein, dass sie das nicht wollen. Aber im großen und ganzen macht man sich mit schuldig. Man könnte ja genau so gut sagen: Ich unterstütze solche Services nicht, indem ich dort etwas hoch-/herunterlade aber dafür sind die meisten zu bequem ^^

    flockhaus schrieb:
    Und jetzt fragt nicht, was eine Kassette ist :lol:

    Kassetten sind mir zu neumodisch, ich habe zum Musik kopieren früher immer die Noten mit dem Federkiel auf ein anderes Blatt Pergament übertragen :D
  • in: Kostenloser Ts3 Server

    geschrieben von sektor

    Hm also als ich noch in einem Clan war, hatten wir eine nicht kommerzielle Teamspeak Lizenz. Das bedeutet, dass man 512 Slots zur Verfügung hat und die auf beliebig viele virtuelle Server verteilen kann, wenn ich mich richtig erinnere. Wir haben nur etwa 30 slots benötigt und haben den Rest dann anderen Clans kostenlos zur Verfügung gestellt (es ist mit dieser Lizenz soweit ich weiß verboten eine Gegenleistung für die "weitervermieteten" Server zu verlangen).
  • in: Mega-Upload geschlossen Anonymus startet Rachefeldzug

    geschrieben von sektor

    Hm ich werde mal etwas aus dem Nähkästchen plaudern. Die älteren werden sich vielleicht noch erinnern, wie das mit Rapidshare und so los ging. Eine meiner Bekannten, ein begabter PHP-Programmierer, hat für das Projekt 3dl.am (später drei.to) gearbeitet (wohl gemerkt nur am Code). Jedenfalls hat er vom "Geschäftsführer" eben dieser Website erfahren, dass dieser monatlich 4-5 stellige Beträge von RS erhielt, da sich auf Grund dieser Website tausende Nutzer für Premiumaccounts anmeldeten.
    In letzter Zeit habe ich allerdings das Gefühl, dass RS wesentlich seriöser geworden ist, was natürlich nichts daran ändert, dass sie immer noch haufenweise Dateien illegal hosten.

    Ich denke, dass alle Filehoster zu großen Teilen illegale Dateien auf ihren Servern liegen haben. Aber wie viele das sind werden wohl nich mal sie selbst genau wissen. Natürlich muss man auch immer sehen, dass, wie schon gesagt wurde, die meisten Leute die illegal downloaden auch ohne den Download kein Geld dafür ausgegeben hätten. Das "Schadensargument" ist damit wesentlich abgeschwächt.
    Es ist nun mal viel Geld im Spiel und die Lobbyisten üben ordentlich Druck auf die Politik aus (siehe auch den Fall PirateBay oder jetzt ACTA).

  • in: Mein Kampf - kommentiert publiziert - eine gute Idee?

    geschrieben von sektor

    shanon schrieb:
    Denn sind wir doch ehrlich. Wie wird eine kommentierte Version aussehen? Wird diese den historischen Kontext erklären (wenn überhaupt nur ansatzweise) oder wird diese versuchen zu erziehen (oh ja).

    Bei diesem Thema erfordert es sicher Disziplin, wenn man neutral kommentieren will aber ich persönlich finde, dass eine Ausgabe, die mit geschichtlichen Infos kommentiert ist, ihren Wert hätte, so sie denn gut gemacht ist.

    shanon schrieb:
    Selbst werde ich mir eine Ausgabe (ob kommentiert oder nicht) wohl nicht holen. Sozialismus ist nicht meine politische Schiene und damit uninteressant.

    Das ist ganz schön verallgemeinernd schließlich gibt es über 200 Arten von Sozialismus was den Begriff alles andere als eindeutig macht. Sicher gibt es in diesen 200 Arten auch solche, die Punkte enthalten, welche dich ansprechen. Ich persönlich würde den Nationalsozialismus nicht mal als Sozialismus bezeichnen aber das ist nur meine Meinung.
  • in: Mein Kampf - kommentiert publiziert - eine gute Idee?

    geschrieben von sektor

    Dann werf ich auch mal was ein.
    Ich selbst habe das Buch nicht gelesen und kann deshalb nicht aus erster Hand berichten,
    allerdings kam ich mal mit dieser satirisch kommentierten Aufbereitung in Kontakt:
    Den Schilderungen zufolge wären die meisten Leute vom Buch eher abgeneigt.
    Ich attestiere den meisten, die sich von so einem Buch beeindrucken lassen würden, zu wenig Interesse am Lesen, um es überhaupt in die Hand zu nehmen und wenn doch werden sie es wahrscheinlich schnell wieder weglegen, weil es einfach schlecht geschrieben ist.
    Ich kann jedem das Video nur empfehlen es ist unterhaltsam und vielleicht sind ja auch ein paar der darin genannten Fakten wahr.
  • in: Frage zu if ($_SESSION...

    geschrieben von sektor

    kill-a-teddy schrieb:
    Wie jetzt?
    Warum denn:
    !=

    Damit will er die Leute die nicht Admin sind aus dem Adminbereich umleiten. Ist schon im originalpost so enthalten.
  • in: Buch um "Spiele programmieren lernen"

    geschrieben von sektor

    Die Tatsache, dass der OP nach einer Sprache gefragt hat zeigt mir, dass er wohl noch keine beherrscht, sonst hätte er es wohl erstmal damit versucht. Deshalb vermute ich, dass er bisher noch nie programmiert hat.

    Unter diesen Vorraussetzungen wird es ein schwieriger Einstieg. Sicherlich gibt es viele Leute, die quer einsteigen und damit auch Erfolge haben aber es dauert alles seine Zeit. Dabei kann man auch nicht sagen: Es dauert ein halbes Jahr oder zwei Jahre oder zehn, sondern es hängt von der persönlichen Entwicklung ab und davon, ob man sich immer weiterentwickelt.

    Aber um auch mal etwas konstruktives zu sagen:
    PHP ist zwar die Standardsprache aber nicht die einzige und auf lange Sicht vielleicht auch nicht die beständige. Es drängen immer neue Sprachen in den Markt und die meisten entstehen, weil jemand mit den Mängeln der vorhandenen Sprachen unzufrieden war und diese beseitigen will (also kann man darauf hoffen, dass die Sprachen immer besser werden). Allgemein kann man sich merken: Jede Sprache die von der Standardeingabe lesen und auf die Standardausgabe schreiben kann ist mindestens als CGI Script verwendbar (auch wenn das nicht gerade effizient ist).

    Der einfachste weg für den OP wird sein, sich wirklich intensiv in PHP einzuarbeiten und mit schrittweise komplexeren Problemen zu beschäftigen. Dabei sollte er versuchen möglichst alle Dinge, die man in einem Browsergame so benötigt mehrmals zu programmieren und das möglichst für sich alleine. Wenn die dann sitzen kann man versuchen sie zusammen zu basteln. Und wenn das dann passt, kann man nochmal über das Browsergame nachdenken und sich analytisch daran setzen aufzuschreiben, was das Spiel können soll und welche Anforderungen daraus entstehen.

    Wenn man dann seine Anforderungsliste hat, dann kann man aus seinen Erfahrungen die Zeit für die einzelnen Komponenten abschätzen. Die nimmt man anschließend mal 3 um auf einen realistischen Wert zu kommen summiert alles auf und quadriert das ganze dann, um noch die Integrationsprobleme mit einzubeziehen. Und wenn man dann gewillt ist diese Zeit darauf aufzuwenden, dann kann man sich ja daran machen^^
  • in: Homepagecheck - Free Webspace - Anbieter

    geschrieben von sektor

    Hm dann werd ich auch mal mein Feedback dazu abgeben.
    Das Design ist relativ aufgeräumt, erstreckt sich aber für mich zu weit nach unten.
    Es sieht auch etwas merkwürdig aus, wenn bei News nur ein Punkt steht aber das sollte sich ändern.

    Eines Frage ich mich allerdings: Wie willst du 24/7 Support bereitstellen?
    Entweder du hast noch andere Leute mit im Bot oder das ist eine Lüge, weil du irgendwann auch mal schlafen musst.
  • in: Was bedeutet Weihnachten für euch?

    geschrieben von sektor

    Hm also ich bin praktisch der Grinch.

    Wenn ich mir die Leute zu Weihnachten so angucke sind die meisten hier noch gehetzter als so schon.
    Sie fangen das amerikanische Wettschmücken jedes Jahr früher an und müssen sich durch extrem Beweihräucherung in Weihnachtstrance versetzen.
    Die meisten rennen einem von der Werbung bestimmten Ideal hinterher, denn "Weihnachten wird unterm Baum entschieden"!
    Bei alle dem ist den meisten denke ich schon lange die eigentliche Bedeutung verloren gegangen.

    Für mich ist es dann gelungenes Weihnachten, wenn man sich mal wieder mit der ganzen Familie trifft und eine gute Zeit hat aber das brauch ich nicht unbedingt am 24.12, wo meistens das Wetter nicht das schönste ist.
  • in: Sind Animes & Mangas nur etwas für Kinder?

    geschrieben von sektor

    Das ist nunmal klassisches Schubladendenken, damit die Leute mit dem was sie nicht verstehen umgehen können.
    Ich finde auch, dass die Animes in Deutschland unter dem Problem leiden, dass sie eben Trickfilmen ähnlich sehen, die fast ausschließlich für Kinder gemacht werden. Ich bin allerdings der Meinung, dass Animes künstlerisch wesentlich wertvoller sind (zumindest die meisten die ich kenne).

    Ich bin allerdings auch der Meinung, dass teilweise ganzschön heftige Sachen schon im Kinderprogramm laufen aber da scheint man im asiatischen Raum etwas lockerer mit zu sein.
  • in: Interplanetare Kommunikation mittels Laser

    geschrieben von sektor

    sebulon schrieb:
    elektromagnetische wellen werden nciht verwendet, weil die extrem stark in der intensität mit der entfernung abnehmen... weil sich die wellen sphärisch im Raus ausbreiten, wird die energie auf die entstehende kugel verteilt und nimmt somit ab... zumindest sind das meine letzten erkenntnisse vom physikunterricht.


    Naja das setzt aber eine Punktlichtquelle vorraus. Wenn man von einer perfekt parallelen ausbreitung ausgeht, dann nimmt die intensität pro Fläche nicht ab. Allerdings haben höhere Frequenzen die neigung leichter zu streuen (das natürlich auch nur innerhalb von Materie). Interessant wäre mal zu wissen, wie stark die Frequenzen durch Dopplereffekt schwanken und ob die hochfrequenteren Wellen eine andere Interaktion mit Massen haben, da sie selbst ein höheres relativistisches Gewicht haben.

    Interessant bei der ganzen Sache ist übrigens auch die Frage, wieviel Energie denn benötigt wird.
    Je höher die Frequenz, desto mehr Energie wird benötigt da ist es fraglich ob man das von einem Satelliten aus machen kann.
  • in: Interplanetare Kommunikation mittels Laser

    geschrieben von sektor

    Wenn man rein nach der Wellenlänge geht, dann wäre Röntgenstrahlung noch viel effektiver.

    Ich hatte hier einen länglichen Post aber der ist bei weitem nicht so gut wie:
    nomis schrieb
  • in: Interplanetare Kommunikation mittels Laser

    geschrieben von sektor

    Wie ich schon ausgeführt habe, sind die Latenzen erheblich.
    Diese sind aber unabhängig von Licht- oder Funkwellen, da beides elektromagnetische Wellen sind, die sich mit Lichtgeschwindigkeit fortbewegen. Durch Licht würdest du also nicht schneller voran kommen.
  • in: Kennt jemand ein FTP Programm, das das Externe Verzeichnis..

    geschrieben von sektor

    Wenn du ssh Zugriff hast, dann kannst du auch ein Netzlaufwerk über sshfs erstellen und dann direkt an den Dateien arbeiten.
    Unter Linux verwende ich wie gesagt sshfs und unter Windows dokan (allerdings arbeite ich damit nicht direkt an Dateien sondern nutze das nur für einfaches DragNDrop).
  • in: Whois mal umgekehrt

    geschrieben von sektor

    Ich finde die Diskussion manchmal etwas Fragwürdig: Wenn ich mich auf Domainsuche einer Person begebe ist der Name nie ausreichend. Schon gar nicht unter Google wo der Name womöglich erst 1000 Fach auf den großen Websites angezeigt wird. Ein WhoIs Reverse Lookup ist selbst nicht so schwer zu machen. Die WhoIs Records sind relativ leicht auseinander zu nehmen. Man kann also relativ einfach einen WhoIs crawler bauen, der diese Records in eine eigene Datenbank einsortiert, die man dann durchsuchen kann (die wird natürlich entsprechend groß). Das einzige Problem was mir auf die schnelle einfällt, ist die Quelle für die Domainnamen.
  • in: Interplanetare Kommunikation mittels Laser

    geschrieben von sektor

    Die Lasermessung am Mond ist ja nicht zur Kommunikation sondern zur Entfernungsmessung gedacht.
    Sicherlich stimmt es, dass bis zum Mars eine große Streuung vorhanden ist insbesondere, wenn er genau gegenüber der Erde steht, was dann über 400 Mio. km Entfernung bedeutet.
    Allerdings wie teufelswerk richtig angemerkt hat sind Funkwellen besser geeignet und auch schon verwendet worden. Als wesentlich schlimmer sehe ich es an, dass selbst dann, wenn der Mars sich am nächsten zu uns befindet immer noch Signallaufwege von etwa 3 Minuten hin und entsprechend auch 3 Minuten zurück (also Latenz von 6min) zu verzeichnen ist. Im Fall der größten Entfernung schnellt das ganze sogar hoch auch etwa 22 Minuten (für eine Richtung).

    pixilab schrieb:
    Gibt es eigentlich Grenzen, wie weit man den Laser-Punkt von der Erde aus maximal strahlen kann und wie genau wäre diese Bestrahlung dann?


    Theoretisch nicht. Praktisch wird das ganze zum einen durch die dichte der Atmosphäre (so man denn nicht direkt aus dem all schießt), die Stärke des Lasers sowie seine Bündelung begrenzt. Geht man davon aus, dass ein Photon nur durch Kontakt mit Materie "verschluckt" werden kann, so besteht eine gewisse Wahrscheinlichkeit, dass ein Perfekt ausgerichtetes Photon von Anfang bis ende durch fliegt, allerdings sind einzelne Photonen wohl kaum als Signal messbar.
  • in: Gamepad Y-Achse beeinflusst Z-Achse

    geschrieben von sektor

    Ich hatte sowas ähnliches mit meinem alten Logitech Rumblepad. Das hat immer mal wieder einen Hänger gehabt und musste dann kurz mal voll ausgelenkt werden auf der Achse, dann hat es sich wieder gefangen. Meins war allerdings schon älter und ich hab mir dann ein neues geholt (Logitech Cordless Rumblepad 2). Bin sehr zufrieden damit. Es hat schon so einige abstürze erlebt und bisher noch nie seinen Dienst versagt (außer die Batterien waren leer). Allerdings halten die Batterien bei mir ewig, weil ich wenig damit spiele.

    Ich hoffe das hat dir etwas geholfen.

    Grüße,
    Sektor
  • in: MySQL Umlaute werden nicht richtig abgerufen

    geschrieben von sektor

    Von verschlüsselt kann ja wohl nicht die Rede sein.
    Und die Umlaute bekommt er ja so auch nicht mehr aus der Datenbank.
    Im Prinzip gibt es folgende Stellen, die eine Kodierung benötigen:
    Tabelle (z.B. in PHPMyAdmin setzen)
    Datenbank (~)
    Datenbankclient (mysql_set_charset)
    HTML-Seite(z.B. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />)

    Sobald eins von diesen Gliedern die falsche Codierung hat, kommt Müll raus.
    Um die Umlaute richtig anzuzeigen würde ich UTF8 empfehlen.
  • in: Free Anti Virus oder doch Kaspersky Internet Security?

    geschrieben von sektor

    Ich nutze auch immer Avira unter Windows. Hatte es auch mal unter Linux installiert, aber in letzter Zeit nicht mehr. (Eigentlich ist das grob fahrlässig aber naja)

    Mich würde allerdings mal interessieren, wozu man als Privatanwender eine Firewall benötigt. Normalerweise schützen die ja vor Angriffen von außen (aus dem Internet), aber heutzutage hat eigentlich jeder, der über einen Router reingeht, schon eine Firewall über diesen drin oder bin ich da falsch informiert?

    Zum Thema: Wenn man nur auf "offiziellen" Seiten unterwegs ist, passiert schon nichts. Es gab früher in Browsern genügend Sicherheitslücken (und wird es in Zukunft vielleicht auch wieder geben) die es Hackern ermöglichen Browser zu Missbrauchen. Mit der Einführung von HTML5 und OpenGL ES im Browser haben sich wieder ganz neue Möglichkeiten zur ungeprüften Ausführung von Code ergeben. (Ok das ist auch schon wieder etwas her und wurde wahrscheinlich schon gefixt)

    Der Punkt dabei ist: Man kann sich nicht darauf verlassen, dass die Seiten immer gut sind und es war (evt. sogar ist) möglich in "offiziellen" Seiten mit Sicherheitslücken die "bösen" Seiten einzubinden.
  • in: Spalten aus MySQL-Tabelle in PHP-Array einfügen

    geschrieben von sektor

    Eine andere Lösung wäre das MySQL seitige zusammenführen:
    SELECT CONCAT(vorname, ' ', name) as voller_name FROM user;
  • in: Kaufentscheidung Apple Macbook

    geschrieben von sektor

    Dann will ich auch mal meinen Senf dazu geben.
    Zuerst einmal: Ich bin gegen Apple und dafür können die selbst nicht mal was (zumindest nicht direkt) sondern das liegt an der Vielzahl von Apple Nutzern in meinem Umfeld, die meinen mich bekehren zu müssen. Ich mag auch kein Windows aber ich Spiel eben gern mal was aktuelles und die großen Studios haben noch nicht kapiert, dass man mit OpenGL/AL und Co. genau so gut Spiel schreiben kann, wie mit DirectX. Deshalb bin ich ein großer Linux Fan, weil es ein gutes Modulares System ist und man wenn man möchte den Code einsehen kann.

    Jetzt aber mal zum Thema:
    Du solltest wirklich deine Kriterien und dein Benutzungsmuster nennen spezifizieren.

    Wie schon gesagt wurde kann man für die Normalen Anwendungen, wie Office und Internet alle Systeme gleich gut verwenden.
    Unter diesem Punkt wären dann Kriterien wie Kaufpreis und Qualität wichtiger.

    Sollte es dir eher um aktuelle Spieleknaller gehen, dann wirst du wohl um Windows nicht drumherum kommen.

    Fürs Programmieren nutze ich hingegen immer Linux, weil ich unter Windows nur schlechte Erfahrungen gemacht habe.

    Bezüglich der Aussage, dass Profis Mac nehmen: Meine Erfahrung ist, dass Mac insbesondere Leute anspricht, die gern kreativ sind und bei ihrer Arbeit nicht durch das System behindert werden wollen indem sie sich erst einarbeiten müssen. Insofern ist Mac wirklich gut, da ihr Designziel ist, dass jeder (Idiot) es bedienen kann.

    Das war natürlich alles nur meine Meinung und ich möchte betonen, dass ich selbst (außer einem aufgezwungenen iPod) noch nie mit Apple zutun hatte und diese Seite nur schwer beurteilen kann. Aus meiner Sicht als Programmierer scheint OSX jedenfalls eine ziemliche Einengung zu sein, weswegen ich darauf verzichte. (Außerdem hab ich als Student auch nicht all zu viel Geld auf der hohen Kante :)

    So Schluss jetzt,
    Sektor
  • in: c++ einfacher lernen

    geschrieben von sektor

    Dann werf ich auch mal meinem Kommentar ein, auch wenn ich bladehunter nur zustimmen kann,
    dass der OP erstmal seinen Vergleichspunkt nennen soll.

    Erstmal muss ich sagen, dass es keine wahre pauschale Aussage gibt, wie: Video2Brain ist schlecht oder Bücher sind gut.

    Es gibt immer gute und schlechte. Gerade bei Büchern ist es modern geworden einfach Inhalte, wie z.B. Wikipedia abzudrucken.
    Damit nimmt die Qualität in Büchern auch ab.
    Trotzdem ist es im Internet immernoch leichter Schwachsinn zu verbreiten als in Büchern.

    Einem lernenden, der sich mit der Materie nicht auskennt fällt es schwer zu entscheiden, ob eine Quelle gut ist oder nicht.

    Deshalb birgt das Internet als Quelle immernoch ein höheres Risiko falsches zu erlernen als Bücher.

    Wenn ihr hier also nützliche Antworten geben wollt, dann wär das beste eine Quelle zu nennen,
    die gut ist und möglichst zu begründen warum.

    Unabhängig davon bin ich der Meinung, dass die beste Methode paarweises Lernen ist.
    Dabei kann das Paar sowohl aus Anfängern als auch aus einem Anfänger und einem "Meister" bestehen.
    Bei Anfängern besteht allerdings das Risiko, dass beide den gleichen Fehler machen, was aber unwahrscheinlicher ist, als das einer den Fehler macht.

    Das beste ist also von jemandem zu lernen der sich schon damit auskennt, beziehungsweise sich beim lernen von so jemandem unterstützen zu lassen. Davon profitiert auch der "Meister", da man sich bei der Wissensvermittlung automatisch selbst bestimmte Regeln, die man sonst nur unbewusst befolgt, vor Augen führt.

    Jetzt noch ein paar direkte Worte an den OP:

    Lernst du gerade erst Programmieren? Wenn ja, dann fang mit etwas einfacherem an als C++. Scriptsprachen sind meistens die einsteigerfreundlichesten und versprechen schnelle Erfolge. Ich empfehle gern Python, da man dort als Anfänger ordentliche Formatierung durch Einrückung lernt. Aber das ist meine persönliche Meinung, bladehunter würde dir wahrscheinlich LUA empfehlen.

    Hast du hingegen schon Programmieren gelernt und beherrscht eine Sprache, dann kannst du natürlich versuchen dich an C++ anzunähern. Um das zu tun würde ich dir zwei Dinge empfehlen: Ein gutes C++ Nachschlagewerk und viel üben. Eine sehr gute Übung ist das finden von immer komplexeren Aufgaben, die du erst in deiner Grundsprache umsetzt und dann in C++ zu lösen versuchst. In dem Zusammenhang empfehle ich sogenannte Code-Katas. Ansonsten kann ich dir nur raten dich ab und an mal mit erfahrenen C++ Programierern auszutauschen beziehungsweise ihnen deinen Code zu zeigen und dir Verbesserungen erklären zu lassen.

    So das muss erstmal reichen.

    Grüße
    Sektor
  • in: Für Anfänger geeignet

    geschrieben von sektor

    Ich kann bladehunter eigentlich nur in allem zustimmen, was er da gesagt hat.
    Vor allem, dass man nie aufhören sollte neue Sprachen zu lernen(zumindest Ansätze darin) um seinen Horizont um viele interessante Lösungsansätze zu erweitern.

    Was

    Ich code nach dem Prinzip: Was schwer zu entwickeln war soll auch schwer zu lesen sein. Gut, nicht für mich, Ich hab ja die Doku!
    Coder alter Schule :-) Habs bei einem Lehrer gelernt, der aus der Wirtschaft kommt :-)

    angeht:
    Ich habe von meinem Professor(>50 Jahre Berufserfahrung, vor allem in der Wirtschaft!) gelernt, dass man die 67% der Entwicklungszeit durch warten von Altcode noch erheblich durch unlesbaren Code erhöhen kann.
    Wenn du nach einem Jahr Pause an den Code rangehst hast du (auch mit Doku) wahrscheinlich genausoviel (oder vielleich unwesentlich mehr) Durchblick wie jeder andere gute Programmierer auch.
    Außerdem verbietet es sich dir damit gemeinsam mit anderen an einem Projekt zu arbeiten, weil dieses Verhalten absolut nicht Teamfähig ist. Damit ist es dir beschieden keine wirklich großen Projekte zu meistern, weil du entweder allein ein Leben lang dran arbeitest oder ein vollkommen chaotisches Team haben wirst, in dem das nur der Anfang der Probleme sein wird.

    Ich will damit nicht deine Programmierkünste in Fragen stellen und vielleicht kannst du das ja auch alles irgendwie schaffen aber ich persönlich halte diesen Ansatz für falsch. Ich wahr früher auch der meinung aber mein Prof. hat mir dir Augen geöffnet und ich habe durch eigene Zeitmessung beim arbeiten mit meinem altem Code erkannt, dass ich dabei viel zu lange benötige um wieder einzusteigen (ich muss dabei allerdings sagen, dass sich mein Stil auch stark geändert hat).

    Um jetz auch noch was zum eigentlichen Thema des Threads gesagt zu haben:
    Insbesondere sollte man einen Anfänger nicht mit Sorgen um Sachen quälen, die ihn von der allgemeinen Programmlogik ablenken. Ich habe im Rahmen meiner Lehrtätigkeit viele Leute damit kämpfen sehen einen Speicherzugriffs-/Syntaxfehler zu entfernen, wo sie stattdessen hätten lernen sollen, wie ein bestimmtes Problem gelöst wird(und dies infolgedessen nicht konnten). All das hat unnötig Zeit gekostet und ist damit letztlich eine Frage der Effizienz.
  • in: Für Anfänger geeignet

    geschrieben von sektor

    Ich würde auch sagen, dass Python vor allem durch die Einrückung stark guten Formatierungsstil unterstützt.
    Ich habe über Pascal/Delphi zu C/++ gefunden und dann erst Python probiert und ich muss sagen, dass Python mir genau das von Anfang an beigebracht hätte, was ich in den anderen Sprachen erst schmerzlich lernen musste: Einrückung ^^

    Ich habe an meiner Universität einen Einsteiger-Kurs zu C++ geleitet und kann sagen, dass überraschenderweise manche Leute der Meinung sind, dass Einzeiler und "kompakter" Code besser lesbar seien aber das sind sie nicht.

    Ein weiterer Pluspunkt für Python ist meiner Meinung nach, dass fast alle gängigen Programmierparadigmen unterstützt werden, was beim wechsel zu anderen Sprachen die Überraschung minimiert. (Ich hatte z.B. beim Eintstieg in Haskell stark damit zu kämpfen vom C/++'schen Speicherdenken loszukommen)

    Letztlich kann ich nur sagen, dass eine gute Einsteigersprache (wie Python) möglichst so strukturiert sein soll, dass man inkrementell lernt und nicht alles so verschachtelt ist, dass man praktisch alles gleichzeitig lernen muss.

    Zum Thema die Sprache gelernt zu haben. Bladehunter hat natürlich recht, man lernt nie aus. Trotzdem sollte man ein Maß haben, um sagen zu können ob jemand die Sprache beherrscht oder nicht. Man kann darüber Streiten, was dieses Maß ist.

    Ich bin der Meinung man beherrscht eine Sprache, wenn man weniger Syntaktische Fehler als Programmierfehler macht. Soll heißen die Fehler kommen nicht mehr zur Compilezeit sondern zur Laufzeit zum vorschein. Natürlich ist das etwas vaage aber ich halte es zumindest für einen Indikator (von voller Sprachbeherrschung kann deshalb nicht die rede sein).

    Dieses Stadium habe ich bei Python denke ich nach etwa einer Woche erreicht gehabt, allerdings kann ich sagen, dass ein wirklicher Programmieranfänger wesentlich länger benötigen wird, weil er zusätzlich zur Sprache noch das (sprachunabhängige) Programmieren an sich lernen muss.
  • in: DLL mit Abhängigkeiten erstellen

    geschrieben von sektor

    Also für mich klingt das nach klassischem statischen Linken.
    Das geht natürlich nur, wenn es statt der DLL auch noch eine statische Version gibt.
    Was für Bibliotheken willst du denn einbinden?
    Alternativ könnte man versuchen die DLL als Ressource mit in die exe zu packen.
    Das ist allerdings nur eine Vermutung und ich wüsste nicht, wie das geht.
  • in: Nullstellen einer Funktion berechnen

    geschrieben von sektor

    @tornado:
    Wie ich schon sagte, man muss Nullstellen bestimmen und zwar für die Tangenten an der Funktion, was im Prinzip ein Polynom ersten Grades ist. Das bekommt man also recht einfach raus.

    Ansonsten würde ich mich lama-no2 anschließen.
    Wenn du schon im vorraus etwas über die Funktionen weißt, dann kannst du das natürlich nutzen. Wenn es für allgemeine Funktionen anwendbar sein soll, dann bleibt dir eigentlich nur das von tangoal beschriebene zutun bzw eine vorgefertigte Bibliothek zu benutzen.
  • in: PHP Endlosschleifen abfangen

    geschrieben von sektor

    Hm ich war eigentlich der Meinung, dass er das Problem hat zu erkennen,
    wo sich die Schleife einschleicht.
    Aber die Abbruchbedingung habe ich ja meiner Meinung nach auch noch geliefert.

    Natürlich ist es nicht mein Thread und die Frage war nur dazu gedacht, damit sich alle nochmal sammeln und aufs Thema konzentrieren.
    Ich wollte dementsprechend damit auch weder dich noch bladehunter angreifen.

    Mal abgesehen davon wär die Diskussion sicherlich nicht schlecht und ich würde mich auch daran beteiligen, wenn sie in einem eigens dafür eröffneten Thread gehalten würde.

    So von meiner Seite jetzt auch genug, da ich sonst nichts anderes tun würde, als das, was ich "kritisiert" habe. ^^

    Grüße
    Sektor
  • in: Nullstellen einer Funktion berechnen

    geschrieben von sektor

    Also das Newtonverfahren ist eigentlich der Standardweg. Bedenke aber, dass es nur auf stetigen Funktionen anwendbar ist und auch nicht immer alle Nullstellen findet. Du hast recht, dass man beim Newtonverfahren auch wieder Nullstellen bestimmen muss. Allerdings nur für eine lineare Funktion, was relativ trivial ist. Wenn es dir nicht um eine schnelle Lösung geht, würde ich dir empfehlen das Newtonverfahren selbst zu implementieren, um die Vorgehensweise zu verstehen.
  • in: PHP Endlosschleifen abfangen

    geschrieben von sektor

    Also erstmal zum OP:
    Wenn du das ganze debuggen willst, dann nimm doch Debugfunktionen ^^
    Es gibt die tolle funktion debug_backtrace bzw. debug_print_backtrace welche dir den Aufrufstack darstellen.

    Damit kannst du dann direkt sehen, welche Funktionen durch welche aufgerufen wurden.
    Das heißt du könntest beispielsweiße mit
    count(debug_backtrace)
    herausfinden,
    wie tief du dich in einer Rekursion befindest und wenn du feststellst, dass es schon mehr als 20 Aufrufe sind(sollte für gängige Webprogrammierung mehr als ausreichend sein),
    dann brichst du ab und lässt dir den Stacktrace ausgeben.
    Dann siehst du sofort, wo sich der Zyklus befindet.

    Und jetzt zu hemiolos und bladehunter:
    Wollt ihr euch nicht woanders über den sinnvollen Einsatz von PHP und Endlosschleifen/-Rekursionen streiten?
    Ich glaube nicht, dass es den OP bei seinem aktuellen Problemen vorwärts bringen wird.

    Grüße
    Sektor
  • in: Die modernste Sprache?

    geschrieben von sektor

    Wie mein Softwareengineering Professor uns immer wieder sagt:
    über die Hälfte des Umsatzes in der IT Branche wird durch Wartung von altem Code gemacht.
    Und mit alt meine ich Code in Fortran oder Cobol.
    Das waren damals die "angesagten" Sprachen.
    Und wenn sich in 20 Jahren etwas neues durchgesetzt hat, dann sind es die C/++ Programme, die gewartet werden müssen.
  • in: D - SDL Link Error

    geschrieben von sektor

    Ich habe mich mit D noch nicht all zu ausführlich beschäftigt, aber ich will hier mal eine eventuelle analogie zu C++ aufrgreifen.
    Ich gehe davon aus, dass die Lib, die du einbinden willst in C, bestenfalls C++ geschrieben ist.
    Wahrscheinlich werden die Symbolnamen in D aber anders übersetzt.
    Ich hatte mal dieses Problem mit einem C++ Programm, dass eine C Bibliothek verwendete.
    Die Lösung war in meinem Fall beim Includen der Bibliothek hinzuschreiben:
    extern "C" {
    #include <bla.h>
    }


    Vielleicht gibt es ja in D ein ähnliches Konstrukt?
  • in: Eine DLL, Unicode Multibyte

    geschrieben von sektor

    Ich verstehe dein Problem nicht.
    Entweder, die Typen lassen sich gleich behandeln, dann geht das mit einer Funktion für beide Typen
    oder sie lassen sich nicht gleich behandeln, dann musst du wohl oder übel zwei Funktionen schreiben.
    Du kannst natürlich versuchen mit Templates zu arbeiten, wenn es zwei verschiede Typen sind aber
    textuell gesehen das gleiche gemacht wird.
    Damit hast du nur eine Source, später aber trotzdem zwei Funktionen.
    Ich bin mir aber nicht sicher, ob und wenn ja wie das bei einer DLL geht.
  • in: Eigene Programmiersprache ?

    geschrieben von sektor

    Also PHP ist schon ein wenig mehr als nur Funktionen zu C hinzufügen.
    Du musst bedenken, dass PHP zwingendermaßen eine Schnittstelle zum System braucht und
    es, soweit ich weiß, keinen Prozessor gibt, der PHP direkt ausführen kann.
    Das heißt es muss über Maschinencode "emuliert" werden und der ist in C geschrieben.
    Sicherlich hast du viele Funktionen, die direkt von C abgebildet wurden aber schon dabei steckt ein
    gewaltiger Speicherverwaltungsaufwand dahinter, der weit über das "Ein paar Funktionen hinzufügen" hinausgeht.

    Aber genug von PHP und zum eigentlichen Problem.
    Ich sehe es ähnlich, wie die anderen, du gehst etwas zu blauäugig an die Sache heran.
    Ich habe früher ähnlich gedacht, bin aber durch mein Studium mit Compilerbau in Berührung gekommen.
    Das heißt ich habe ein ganzes Semester Vorlesung und Übung zu diesem Thema gehabt und ich bin
    mir sicher noch ganz am Anfang zu stehen.
    Man kann natürlich auf alle möglichen weisen eine Sprache zusammenschustern,
    aber im laufe der Zeit haben sich strukturierte ansätze bewährt, da man damit nicht so schnell die Übersicht verliert.
    Wenn du wirklich ernsthaft mit dem Gedanken spielst eine eigene Sprache zu bauen, dann informiere dich über folgendes:

    Sprachebeschreibungen mit Hilfe von Grammatiken( Stickwort Backus-Naur Form)
    Umsetzung dieser Sprache in einem Scanner/Tokenizer (siehe Flex/Lex)
    Verwendung des Scanners/Tokenizers in einem Parser-Generator (siehe Bison/Yacc)
    (Letzteres nimmt dir die Wahl über den Typ des Parsers ab, da beide genannten LALR(1) Parser erzeugen,
    was so ziemlich das Beste ist, was man noch effizient nutzen kann)

    Damit hast du die reine Erkennung der Sprache ohne eine Umsetzung in ausführbaren Code.

    Jetzt fehlt "nur noch" die Übersetzung in eine niedrigere Sprache/Maschinencode.
    In der Gnu Compiler Collection ist das für viele Sprachen so gelöst, dass man erst in Assembler
    übersetzt und dann in Maschinencode.
    das hat den Vorteil, dass man die Übersetzung in Maschinencode nur einmal für alle Sprachen implementieren muss.
    Das reicht erstmal als Übersicht über die wichtigsten Schritte, die jeder für sich schon eine Herkulesaufgabe darstellen.

    Sollte ich dich jetzt nicht zusehr abgeschreckt haben und du willst mit Bison und Flex mal ein wenig rumprobieren,
    dann würde ich dir empfehlen erstmal so etwas einfaches wie einen infix-Kommandozeilentaschenrechner damit zu bauen.
    Ich hatte das mal als Übung für meine Vorlesung gemacht und was dabei rauskam fand ich schöner als den ollen
    Standardrechner in dem man unintuitiv in prä- oder postfix-Notation arbeiten muss.

    Grüße
    Sektor
  • in: Plane-Sweeping

    geschrieben von sektor

    Die sweep-line oder plane algorithmen werden meistens bei Geometrischen Problemen genutzt.
    Man Sortiert die Elemente und durchläuft dann die sortierte Liste.
    Dabei macht man sich zusätzliche Informationen zunutze, die durch die Sortierung bekannt sind.
    Durch diese Zusatzinformationen ist dann die Laufzeitkomplexität meistens besser.
    Allerdings muss man beachten, dass es durch die Sortierung eine Untergrenze gibt.
    Wenn man also eine vorherige Sortierung benötigt hat das Verfahren im Allgemeinen die Best-Case Laufzeitkomplexität O(n log n),
    da dies die Best-Case Laufzeit von allgemeinen Sortierverfahren ist.
  • in: C++ lernen

    geschrieben von sektor

    Es hängt stark davon ab, ob du schon Erfahrung im Programmieren hast oder nicht.
    Ich habe mit Pascal angefangen und später C++ gelernt und muss sagen, dass es recht schnell ging.
    Dies liegt daran, dass die zugrundeliegenden Prinzipien die gleichen sind und die Befehle meistens
    nur etwas anders heißen. Wenn du allerdings Programmieranfänger bist würde ich dir empfehlen mit
    einer einfacheren Sprache zu beginnen.
    Python ist zum Beispiel eine solche Sprache, da es den Programmierer auch dazu zwingt einigermaßen
    leserlich zu Programmieren, was besonders anfängern zugute kommt.
    Letztlich ist es aber auch immer eine Sache des Geschmacks, welche Sprache einem gefällt, um damit
    anzufangen.

    Grüße,
    Sektor
  • in: zip befehl

    geschrieben von sektor

    Also soweit ich weiß, steht x für eine Liste von Dateien, die explizit nicht mit gezipped werden soll und i für eine Liste von Dateien, die explizit mit gezippt werden sollen.
    Für deine Anwendung sollte es theoretisch reichen zu schreiben:
    zip -r Gepackt.zip Ordner1 Datei1 ...

    Wichtig ist die Option r, damit alle Dateien in den Ordnern mitgezippt werden.
    Ansonsten sollte da kein großes Geheimnis bei sein.
  • in: Internal Server Error ... Mismatch between target UID ?

    geschrieben von sektor

    Also mir sieht das nach einem Rechtefehler aus.
    Die Datei die du ausführen willst muss denselben Besitzer haben, wie der, unter dem der Webserver läuft.
    Die Fehlermeldung kam doch sicherlich von PHP/Apache oder?
  • in: Sauberer PHP/HTML Programmierstil

    geschrieben von sektor

    Du hast natürlich recht hemiolos.
    Ich hatte nicht alle deiner links angeschaut, allerdings wäre es besser gewesen den Code direkt zu posten und zu erklären, statt einen eigenen unkommentierten Quellcode per Link anzugeben ;-)

    [Edit]

    Und zur Aussage "selten benutzt" habe ich mich hinreisen lassen, weil ich in meinem Umfeld niemanden kenne der davon überhaupt gebrauch macht obwohl es mir, wie du ja schon sagtest, sehr nützlich erscheint. ^^

    Grüße,
    Sektor
  • in: Sauberer PHP/HTML Programmierstil

    geschrieben von sektor

    Hm also dem OP gleich zu einem Framework zu raten ist denk ich zu viel des Guten, auch wenn es auf lange Sicht dem Programmierstil nicht schadet.

    Meiner Meinung nach gab es eine Notation um mehrzeilige Strings in PHP zu schreiben, welche selten genutzt wird:
    $string = <<<meinstring
    <html>
      <head>
      </head>
      <body>
        ...
       </body>
    </html>
    meinstring;

    Das ganze heißt glaub ich heredoc-String und ich glaube es wird von den meisten IDEs darin die HTML-Syntax korrekt gehighlighted.

    Grüße,
    Sektor
  • in: Logfile auslesen 403 Fehler

    geschrieben von sektor

    Also ich seh daraus jetzt nicht so ganz, was du im Header stehen hast.
    Für meine Begriffe sollte die ganze Anfrage so aussehen:
    GET /pfad/datei HTTP/1.1
    Host: gw2tools.lima-city.de
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101211 Firefox/3.6.13

    Das dürfte schon reichen.
    Der teil mit GET und Host dürfte schon von URL.openConnection übernommen werden, da ich in deinem Code davon noch nichts gesehen habe und es ohne nicht funktionieren sollte.
    Wichtig ist das User-Agent: ...
    Ich bin mir auch nicht sicher, ob du die header dann einfach noch schicken kannst oder ob die noch direkt mit an conn übergeben werden müssen.

    [edit]
    Tippfehler ^^
  • in: Klasse aus einem void Pointer?

    geschrieben von sektor

    Also wie immer wäre die Fehlermeldung des Compilers und der Code gut um das Problem zu sehen.
    Ansonsten kommt mir deine Beschreibung vor, wie folgender Fehler:
    void *ptr;
    klasse *p;
    p = ptr; //hier kommt der Fehler


    Wenn dein Code so aussieht, dann brauchst du nur einen Cast:
    p = (klasse *) ptr;

    Dabei ist wichtig, dass der Cast auch ein Pointer ist.
    Wenn du den * weglässt kommt eine etwas kryptische Fehlermeldung soweit ich mich erinnere.
  • in: Parser für mathematische Ausdrücke

    geschrieben von sektor

    Du könntest dir ja mit Flex (http://flex.sourceforge.net/) eine eigene "Sprache" schreiben.
    Der sollte dir schon den größten Teil der arbeit abnehmen und mit regulären Ausdrücken solltest du ja arbeiten können.
  • in: Open Office und Co. Code Bearbeiten, Lesen und Ausführen

    geschrieben von sektor

    Also ich kann mich hier nur bladehunter anschließen.
    Ich habe die Erfahrung gemacht, dass es nicht optimal ist verschiedene Sprachen gleichzeitig zu lernen.
    Gerade noch C/++/#, die Syntaktisch sehr ähnlich sind. Das führt nur zu Verwirrung.
    Was deine Frage angeht habe ich immernoch nicht so ganz verstanden, was genau du erreichen willst.
    Da du offenbar unter Windows arbeitest, würde ich dir Eclipse als Editor empfehlen. Es hat weitreichende unterstützung für den Programmierer und mehrere Sprachen.
    Wenn es dir natürlich nur aufs Syntaxhighlighting ankommt reicht Phase 5 vollauf.
    Vim ist für einen Anfänger schwer aber wenn man sich eingewöhnt hat, ist man damit produktiver.
    Es ist eben nur eine starke Lernkurve zu bewältigen.

    Also Zusammenfassung:
    Was willst du machen?
    Der Editor hängt von deinen Präferenzen ab!
    Als Compiler würde ich auch die GNU Compiler Collection empfehlen.
  • in: Probleme beim Senden von mehreren Datenpaketen über Winsocks

    geschrieben von sektor

    Also bei Netzwerkprogrammen wäre vielleicht noch interessant zu wissen, welches Protokoll du verwendest.
    Ansonsten kannst du mal mit einem Programm wie Wireshark schauen, was denn tatsächlich übers Netz geht, um zu sehen ob nicht gesendet oder nicht emfpangen wird.
  • in: multiple definition of operator<<

    geschrieben von sektor

    Ganz einfach, wenn man es einmal erlebt hat.^^
    Dein Problem ist, dass du eine Objectdatei komplex.o kompiliert hast, die dementsprechend die Funktion für den << Operator enthält.
    Dazu bindest du allerdings auch noch die Headerdatei in deine Andere Datei ein, womit die Definition dort auch nochmal steht.
    Letztlich führt das dazu, dass beim Linken sowohl die komplex.o als auch deine andere Datei diese Funktion enthalten.
    Die Lösung sollte sein, dass der Quellcode der operator<< Funktion in die komplex.cpp verschoben wird und in der .h Datei nurnoch der Funktionskopf vordefiniert wird.
    Ich bin mir damit jetzt nicht hundertprozentig sicher aber ich denke, dass dies der Fehler ist.
  • in: Konstruktor in Konstruktor aufrufen

    geschrieben von sektor

    Also soweit mir bekannt geht das in C++ nicht, da der Konstruktor ja sozusagen schon ein fertiges Objekt zurückliefert und du damit schon die Initialisierung fertig hättest.
    Wenn man die gleichen Werte in verschiedenen Konstruktoren merhfach belegt, verwendet man deshalb meistens eine private Hilfsfunktion.
    In deinem Fall könnte das ganze allerdings auch mit optionalen Parametern gehen oder?
  • in: Programmiersprache Vala

    geschrieben von sektor

    Ich habe das Gefühl, dass die Diskussion langsam von der Frage des OPs abweicht.

    Zu deiner Aussage cuweso:

    Mal ehrlich. Es ist doch so wie beim Sport. Man wird nicht Weltmeister im Turnen und im Schwimmen. Das ist meine MEinung gegenüber professioneller Programmierung mit mehreren Sprachen. ...


    Ich gebe dir Recht, dass man die Sprachen dann nicht bis ins letzte Detail kennt,
    aber viele Projekte, die heutzutage geschrieben werden sind nicht mehr nur in einer Sprache verfasst.
    Außerdem erweitert es den Horizont verschiedene Sprachen zu nutzen, da man durch neue Konzepte auch neue Denkweisen erlernt, die einem beim Lösen von Problemen helfen.
    Damit gehört es meiner Meinung nach zu den Qualitäten eines guten Programmierers über den Tellerrand zu schauen und immer neue Sprachen zu lernen.
  • in: Vorzeitiges EOF

    geschrieben von sektor

    Danke das wars schon.
    Ich bin nicht nochmal auf die Idee gekommen dort nachzuschauen^^
    Hatte im Code stehen:
    std::ifstream file(name.c_str(), std::ifstream::in || std::ifstream::binary)

    statt
    std::ifstream file(name.c_str(), std::ifstream::in | std::ifstream::binary)


    Irgendwie ist mir da ein | zuviel reingerutscht und ich habs nicht gemerkt.
    Dadurch waren irgendwelche merkwürdigen Flags gesetzt ^^

    Vielen Dank

    [Edit]
    mal wieder Tippfehler ^^

    PS: Es ist immer wieder interessant die Effekte zu beobachten, die beim wechseln zwischen den Systemen entstehen.
    Ich habe sowohl unter Linux als auch unter Windows mit g++ gearbeitet. Nach jedem Wechsel hatte ich eine Menge Fehler, die auf dem anderen System nicht auftraten.
    Z.B. scheint unter Windows das std:: nicht zwingend zu sein, unter Linux schon.
    Desweiteren hat Linux die Dateien standardmäßig als Binärdateien gelesen während Windows rumgezickt hat.
  • in: Vorzeitiges EOF

    geschrieben von sektor

    Hallo zusammen,
    es ist passiert. Zum ersten mal in meinem Leben komm ich von alleine nicht mehr Vorwärts mit einem Programm.
    Also um was geht es:
    Ich habe bei meinem Studium eine Hausaufgabe bekommen, bei der ich eine Datei in eine andere konvertieren soll.
    Genauer gesagt soll eine Datei, die Bilddaten in gleichgroße Puzzleteile aufgespalten enthält umgewandelt werden in eine normale TGA oder BMP Datei. Das ganze umzusetzen war nicht sonderlich schwer. Binnen 3h hatte ich den Code lauffähig unter Linux.
    Leider ist die Vorgabe aber, dass der Code Plattformunabhängig ist und auf Windows laufen soll.
    Zuerst dachte ich dies sei kein Problem, da ich nicht Plattformspezifisch gearbeitet habe und auch brav die / in \ umgewandelt habe unter Windoof.

    Jetzt das eigentliche Problem:
    Derselbe Code und dieselbe Eingabedatei unter Linux und Windows erzeugen verschiedene Ausgaben.
    Nach längerem Debugging unter Windows habe ich festgestellt, dass schon nach 24k gelesenen Bytes die Fnktionen feof(file) bzw file.eof() true zurückliefern obwohl die Datei 200k Bytes hat.
    Wie schon angedeutet, habe ich sowohl C Style als auch die C++ Filestreams probiert mit demselben Ergebnis.
    Google war leider nicht ergiebig, da alles was ich zu dem Thema gesucht habe immer darauf hinauslief, dass das echte Dateiende früher kam als irgendein Parser erwartet hat.

    Ich hoffe hier kann mir jemand helfen.

    Danke schonmal,
    Sektor

    [Edit]
    Als Compiler benutze ich unter Windows g++ über MinGW
  • in: Netzwerk-Speedtest

    geschrieben von sektor

    Also erstmal muss ich sagen, dass die Dateigrößen viel zu groß sind.
    Wie lange soll der Nutzer daran laden?
    Standardmäßig bewegen sich die Dateien bei Speedtests zwischen 16kb und 2Mb.
    Was das messen angeht, kommt es mehr auf die Idee als auf die Sprache an.
    Im Prinzip musst du dir nur die aktuelle Zeit (möglichst in Millisekunden oder genauer) merken, dann den Download starten und wenn der fertig ist nochmal die Zeit nehmen. Über die Differenz kannst du dann die benötigte Zeit für den Download errechnen.
    Für die aktuelle Zeit gibt es in fast allen Programmiersprachen die Funktion time() bzw. zu ihr verwandte Funktionen.

    [Edit]
    Tippfehler beseitigt
  • in: Netzwerk-Speedtest

    geschrieben von sektor

    Ich glaube es bleibt noch zu unterscheiden, was genau du unter Speedtest verstehst.
    Zum einen kann man den Ping verwenden, der einem ein Maß für die Reaktionszeit liefert.
    Zum anderen kommt es noch auf die Bandbreite an, was von den meisten als Speed angesehen wird.
    Um eine Bandbreitenmessung vorzunehmen wird für gewöhnlich eine Datei fester größe geladen und dabei gemessen, wie lange dies dauert.
  • in: Verbesserungsvorschläge und eure Meinungen zur Sicherheit

    geschrieben von sektor

    Also ich finde die Idee mit den IPs auch besser und sehe da keine Probleme:

    Wer sich mal mit RAW-Sockets beschäftigt hat weiß, dass auch die IP lediglich eine Variable ist, welche man im Grunde beliebig verändern kann.

    Man kann die IP schon fälschen nur ist das Problem, dass HTTP auf TCP basiert und um eine richtige Verbindung aufzubauen, die nötig ist um mit dem Webserver zu kommunizieren, muss die richtige IP angegeben werden oder zumindest eine IP, die die Pakete dann in das Netz des Angreifers zurückleiten lässt.

    Sofern mir bekannt ist die IP bisher das einzige halbwegs sichere Mittel um Bot/Angreifer zumindest zu verlangsamen.
    Redet man hingegen von UDP ist dagegen noch kein Kraut gewachsen.
  • in: Beste Sprache für Website-Entwicklung?

    geschrieben von sektor

    Also ich schließ mich erstmal dem "Die richtige Sprache für das richtige Problem" Reigen an.
    Ich habe auch schon so ein paar Erfahrungen mit verschiedenen Sprachen gesammelt, wenn auch nicht im bereich der Webentwicklung.
    Python ist für mich beispielsweise eine dieser Sprachen mit denen man schnell vorankommt, was ich sehr begrüße.
    Außerdem zwingt es einen zu einigermaßen lesbarem Code, was einem bei der Wartung entgegenkommt.
    Generell habe ich aber (wohl wegen meiner Fachrichtung in der CG) eine Abneigung gegen hardwarefremde Interpretersprachen.
    Deshalb bin ich eigentlich mit allem was auf Webservern so läuft unzufrieden, sogar mit CGI Scripten, weil die erst in einem eignen Prozess starten und damit der Vorteil einer schnellen Sprache verloren geht.

    Was die Paradigmen in Sprachen wie Ruby oder Python angeht, kann ich nur sagen, dass man sich zwar mit mehr Freiheit auch freier fühlt aber gezwungen zu sein gut wartbaren Code zu schreiben macht denke ich einen großen Pluspunkt aus, weshalb ich eher Ruby empfehlen würde, auch wenn ich es selbst nur vom anlesen her kenne.

    Letztlich noch ein paar Worte zu PHP. Es ist DIE Sprache seit es dynamische Seiten gibt und ich habe nach nur 2 jähriger Abstinenz von ihr festgestellt, dass ich keine andere so schnell wachsende Sprache kenne. Sollten sich zusätzlich noch Syntax und Performance bessern, dann denke ich, dass PHP noch über weitere Jahre mindestens konkurrenzfähig mit der Spitze der Websprachen bleibt.
  • in: Enum Erster Eintrag = 1

    geschrieben von sektor

    Du könntest auch einfach die Einträge padden mit Hilfe eines Dummy-Eintrages, der dann die Stelle 0 übernimmt, aber nie gebraucht wird.
  • in: Gute Alternative zu Visual Studio zum C und C++ lernen

    geschrieben von sektor

    Ich bin ja auch eher der Linuxverfechter und daher für die Konsolennvariante.
    Ich finde es macht keinen unterschied, ob ich die Befehle in der Konsole sucht,
    oder aber sich in eine neuartige GUI einarbeitet und dementsprechend auch suchen muss.

    Mit IDEs habe ich meistens eher schlechte Erfahrungen gemacht und ich finde auch, dass diese vor allem den Anfänger von dem eigentlich wichtigen, nämlich dem erlernen einer Sprache, ablenken.
    Insbesondere, wenn man Fehler beheben muss, die auf komplexe Zusammenhänge innerhalb der IDE zurückgehen.
    Für eine Anfänger sollte vor allem die Sprache transparent sein und nicht durch das drumherum verdeckt werden.
  • in: Objekt kann sich selbst erben?

    geschrieben von sektor

    Könnte es nicht einfach sein, dass die lock Variable eine Referenz auf das Object selbst enthält?
    Wenn dem so ist wird man natürlich, wenn man sich das referenzierte Object anschaut wieder auf das Object selbst schauen das natürlich wieder dieselbe lock Variable hat ...
  • in: OpenGl + Qt : Anwendung stürzt ab (2D)

    geschrieben von sektor

    Hm also auf den ersten Blick fällt mir auf, dass du eine QGlWidget Instanz konstruierst, was die allgemeine und nicht deine selbstgebastelte MainWindow Klasse verwendet.
    Demzufolge dürfte dein GL Code garnicht erst ausgeführt werden und der Fehler sollte im Qt Code selbst liegen.
    Eventuell ist das QGlWidget garnicht dazu gedacht direkt verwendet zu werden und dein Programm steigt deshalb aus, aber das ist nur geraten, da ich selbst noch nicht damit gearbeitet habe.
  • in: Lokale Variable in einer anderen Funktion benutzen?

    geschrieben von sektor

    Hm also so wie ich das sehe ist erstmal das Problem,
    dass du in ParseFile offensichtlich die lokale Variable Objects zurückgeben lässt, was zu Fehlern führt.
    Lokale Variablen sind nur innerhalb der Funktionen definiert und werden nach dem Funktionsaufruf wieder gelöscht und für die Variablen anderer Funktionen verwendet (außer du definierst sie als static, was dazu führt, dass ihr Wert erhalten bleibt).
    Generell kann ich dir nur sagen, dass es schlechter Stil ist eine globale Variable zu verwenden, da sowas schnell unübersichtlich wird.
    Besser wäre es die fraglichen Daten immer als Parameter an die Funktion zu übergeben.
    Insofern war dein erster Ansatz nicht unbedingt schlecht.
    Das Problem daran war lediglich, dass du den Parameter per Copy-by-Value übergeben hast, was bedeutet, dass in deiner Funktion
    eine Kopie dessen was du übergeben hast angelegt wurde und du diese Kopie bearbeitet hast. Die Änderungen wirkten sich also nicht auf das Original aus.
    Um das zu erreichen, musst du Copy-by-Reference verwenden, was bedeutet, dass du den Parameter als Referenz übergibst:
    void ParseFile(char * File, Object& object)

    Damit wird jede Änderung, die du an object vornimmst, direkt am Übergebenen Object durchgeführt und nicht an einer Kopie.
  • in: Segmentation fault bei char Aufgabe

    geschrieben von sektor

    Also wie mir scheint hat nikic recht damit,
    da weder Speicher für Name noch für NameRaw reserviert wird.
    Du solltest dich mal nach malloc oder new erkundigen.

    [edit] kleinen Fehler beseitigt ;-)
  • in: Objekt in OpenGL je nach Rotation vorwärts bewegen?

    geschrieben von sektor

    Hm also in opengl selbst gibt es ja die die Modelviewmatrix und die entsprechenden Funktionen, wie
    glTranslate, glRotate und glScale.
    Die ersten beiden geben dir ja schon die Möglichkeiten, die du benötigst.
    Du könntest einfach deine aktuelle Matrix mit glPushMatrix() sichern.
    Dann mit glLoadIdentity die Einheitsmatrix laden und dann mit den oben genannten funktionen alles machen, was du möchtest.
    Anschließend kannst du dir die Matrix hernehmen und jeden beliebigen Vektor damit Multiplizieren, was bewirkt, dass der Punkt auf den
    der Vektor zeigt genau den Transformationen unterworfen wird, die du per glTranslate/Rotate/Scale auf ihn angewendet hast.
    Ich bin mir nicht sicher, ob es direkt eine Funktion gibt, die das für dich übernimmt mit der Multiplikation von Vektor und Matrix,
    im Zweifelsfall müsstest du die selbst schreiben aber mit ein wenig Wikipedia sollte das gehen.
    Zum Schluss solltest du deine alte Matrix mit glPopMatrix() wiederholen und dann ist alles wiederhergestellt und du kannst weiterarbeiten.
  • in: ADT Liste

    geschrieben von sektor

    Also es wäre schön, wenn du erstmal beschreiben könntest,
    was genau nicht funktioniert, d.h.:
    Eingabe, erwartete Reaktion, das was wirklich passiert, eventuelle Fehlermeldungen etc.
  • in: Optik ändern?

    geschrieben von sektor

    Ich bin mir nicht sicher, ob es das auch für Windows gibt aber mit der ncurses Bibliothek hat man wesentlich mehr Möglichkeiten das Fenster zu veschandeln. Farbige Hintergründe und Texte und sogar nerviges blinken sind damit kein Problem.
  • in: MySQL in einer Klasse

    geschrieben von sektor

    Ich weiß nicht genau wodurch sich der Fehler äußert aber auf den ersten Blick fällt mir auf, dass die Variable $row nirgends initialisiert wird, dann aber in der while Schleife immer mit $class->Rows() verglichen wird.
    Ich vermute mal, dass es sich um einen Tippfehler handelt und du eigentlich eine Zuweisung statt eines Vergleiches machen wolltest.
  • in: suche compiler

    geschrieben von sektor

    Also meines Wissens nach ist DevC++ kein Compiler sondern eine IDE, die sich im Hintergrund auf die GNU Compiler Suite stützt.
    Im Endeffekt hast du dann also auch nur gcc oder g++ verwendet.

    Wenn du dir also nicht zu fein bist die Konsole zu benutzen würde ich dir MinGW empfehlen.
    Dann hast du nur die Compiler (auch wieder die GNU Compiler Suite).
    Falls es dir noch auf eine gute IDE ankommt würde ich dir Eclipse ans Herz legen.
    Das hat ein gutes C++ Plugin und viele hilfreiche Funktionen im Umgang mit Quellcode.
  • in: Objekte und Vererbung

    geschrieben von sektor

    Also rein interesse halber:
    Hast du mal versucht vor funktionA() this zu schreiben:
    this.funktionA()
    Eventuell kann er einfach nicht einordnen welche funktionA er aufrufen soll, also die aus Klasse A oder die aus Klasse C.
    Ist nur eine Idee
  • in: [DX11] Multithreaded-Rendering

    geschrieben von sektor

    Mit dem Thread starten bei Bedarf ist das so eine Sache.
    Die Erzeugung eines Threads bringt einen gewissen overhead mit sich.
    Eventuell solltest du dann auf einen Threadpool zurückgreifen, der diesen Overhead minimiert.
    Dazu legt dann dein Programm schon ein paar Threads an, die bei Bedarf ablaufen können und nach
    dem Abschluss wieder zur Verfügung stehen.
  • in: eigenen destructor per funktion

    geschrieben von sektor

    Hm also wenn ich Destruktor höre muss ich eigentlich immer an Klassen denken?
    Um sicher zu gehen:
    Du willst, dass eine Funktion immer am Ende eines Skriptes ausgeführt wird, willst sie da aber nicht jedesmal explizit hinschreiben?
  • in: Autohotkey-send mit variablen

    geschrieben von sektor

    Hm also wenn ich da so kurz drüberschau würde ich sagen versuch es doch mal mit:
    anyvar = {up}
    send, %anyvar%

    Diese Konstellation hast du nicht geschrieben und sie erscheint mir logisch, da du {up} nicht als Ausdruck auswerten willst, sonder direkt zuweisen und da du den Inhalt von anyvar ausgeben willst.
  • in: Python + TK -- Widget Namen in Schleife iterieren

    geschrieben von sektor

    Ich würde einfach eine Liste der schon verwendeten Bezeichnern anlegen und jedes mal überprüfen ob der Bezeichner schon darin ist. Wenn nicht kannst du ihn verwenden, wenn doch, musst du eine Numerierung anfügen oder so.
  • in: Java (applet) programmieren welchen Compiler

    geschrieben von sektor

    Also ich bilde mir ein, dass mit jeder Javainstallation automatisch eine ausführbare Datei mitgeliefert ist, die sich javac oder so nennt und eine Javaquellcode Datei in eine Bytecode Datei umwandelt. Was Netbeans angeht muss ich sagen: Die einen so die anderen anders. Es gibt da zwei große Lager. Die einen schwören auf Netbeans und die anderen auf Eclipse. Ich für meinen Teil habe Eclipse zuerst entdeckt und hatte noch keinen Grund einen anderen Editor zu verwenden. Weiterhin ist auch in Eclipse direktes "Compilieren" und ausführen möglich. Ich kenne mich da mit Netbeans nicht aus um dazu etwas zu sagen aber ich kann sagen, dass ich mit Eclipse bisher an keine Grenzen gestoßen bin.

    Was deine Aussage angeht tezt, kann ich sagen, dass du wenn du nach soetwas wie von Microsoft suchst entweder auf C# umsteigen solltest oder Netbeans nimmst, da dieses meines Wissens nach von einer Firma mit ähnlichen Interessen wie Microsoft gepflegt wird.
  • in: Starcraft2 - Das warten hat ein Ende

    geschrieben von sektor

    Stark die dunkle Seite der Grammatik ist.

    Ich muss sagen, dass man von einem Spiel das eher für den Mutliplayereinsatz gedacht ist nicht erwarten sollte, dass die Einzelspielerkampagne der Überflieger ist.
    Die stehende Internetverbindung wird einem heutzutage immer öfter abgenötigt, da sie die effektivste Möglichkeit beim Schutz vor Raubkopien darstellt und daher wohl auch von immer mehr Herstellern genutzt werden wird.
    Zum Thema Blizzard Qualität bin ich eher negativ eingestellt. Die haben schon genug süchtige Spieler.
  • in: Java (applet) programmieren welchen Compiler

    geschrieben von sektor

    Also ich bilde mir ein, dass es nur einen "Compiler" gibt und der steckt in der JVM mit drin und "compiliert" Javaquellcode zu Bytecode. Ich für meinen Teil wüsste da jetzt keinen anderen. Wenn es dir um einen Editor oder ne IDE geht, dann würde ich Eclipse empfehlen.
  • in: Welche Programmiersprache für Netzwerkprogramm

    geschrieben von sektor

    Also es wäre gut, wenn du mal genauer sagen würdest, was du machen möchtest.
    Von C/++ würde ich abraten, wenns jetzt nicht gerade um High-Performance geht.
    Ich hab öfters gehört, dass Java recht gut in Sachen Netzwerk ist, hab darunter allerdings noch keine Netzwerkkomponenten programmiert. Ansonsten kann ich nur sagen, dass du dir für sowas wie einen kleinen Chat oder so mal Python anschauen solltest. Da sparst du gegenüber den meisten Programmiersprache 9/10 des Codes für Initialisierung und co und wenn es dir nicht so auf Leistung ankommt, dann ist das auf jeden Fall das richtige.
  • in: c Typendef. und verwendung!

    geschrieben von sektor

    Es wäre hilfreich, wenn du den Fehler erstmal beschreiben würdest.
    Ich hab mal deinen Code getestet und was mir auffiel, ist dass jedes mal die Entertaste gedrückt werden muss und diese als Zeichen interpretiert wird. Ich hatte dir ja schon dazu geraten, dass du lieber die Funktion gets verwendest, da diese automatisch den Tastencode der Entertaste entfernt.
  • in: c Typendef. und verwendung!

    geschrieben von sektor

    Meine einzige vermutung ist, dass du irgendwie noch einen anderen Buchstaben eingibst. Am besten wäre, wenn du deine Schleife mal so schreibst, dass er immer aussteigt außer, wenn ein Y eingegeben wird. Und wenn ein falscher Buchstabe eingegeben wird, dann bringst du eine Fehlermeldung wie: "[Buchstabe]" ist keine gültige Antwort. Dann solltest du recht schnell rausbekommen, was falsch läuft.
  • in: c Typendef. und verwendung!

    geschrieben von sektor

    Es ist dein Wunsch, dass er abbricht aber die Schleifenbedingung lautet:
    (Lieder[0].Titel[i]=getchar()) != '\n' || i<=19

    Das ODER ist der falsche Teil. Du willst, dass die Schleife solange läuft, wie ein gültiges Zeichen eingegeben wird UND der String noch nicht voll ist. So wie es jetzt ist, bricht er immer erst ab, wenn der String voll ist.
    Ansonsten würde ich dir empfehlen gleich direkt Strings zu lesen:
    http://www.cplusplus.com/reference/clibrary/cstdio/gets/
  • in: c Typendef. und verwendung!

    geschrieben von sektor

    Erstmal kurz zur Tabellenform.
    Die Funktion printf unterstützt viele Formatierungshilfen: http://www.cplusplus.com/reference/clibrary/cstdio/printf/ (ist in Englisch).
    Unter anderem kann man die Breite einer ausgabe vorschreiben:
    printf("%21c",Lieder[0].Titel[i]);

    Damit werden immer 21 Zeichen belegt. Wenn der String kleiner ist, wird mit Leerzeichen aufgefüllt. Wenn er länger ist, dann wird er nicht gekürzt.

    Was deine Ausgabe angeht, ist das auch ganz logisch. Du überprüfst einfach nur auf das Zeilenumbruch Zeichen, was bedeutet, dass jeder Zeilenumbruch als Eingabe gewertet wird. Du müsstest also prüfen ob vorher schon Buchstaben eingegeben wurden. Wenn du das auffüllen weglässt, dann musst du aufpassen, dass du den Zeilenumbruch aus dem String löscht, sonst wird er mit angezeigt.
  • in: Funktion mit char- Array

    geschrieben von sektor

    Wenn die Variable nicht mehr lokal ist, dann solltest du angeben, wo sie herkommt.
    Da du aber im Kopf der Funktion char[12] stehen hast glaube ich, dass die Variable immernoch lokal ist.
    Eventuell mag dein System es nicht, wenn du auf dem Stack rumschreibst(halte ich für unwahrscheinlich).
    Übergib am besten deine Variable, in die geschrieben werden sollte, per char*

    Es ergibt keinen Sinn, wenn du *dtm zurück gibst. Das sollte garnicht durch die Typprüfung kommen, da der Rückgabetyp char* ist und *dtm vom Typ char.
  • in: c Typendef. und verwendung!

    geschrieben von sektor

    Also ich kenne keine Taste, mit der man ein EOF Zeichen erzeugen kann.
    Da ich davon ausgehe, dass du mit Enter die Eingabe beenden willst, solltest du stattdessen auf den Zeilenumbruch '\n' testen.

    Desweiteren ist mir diese Zeile aufgefallen:
    for (i=i; i==20; i++)

    Ich weiß nicht, was du damit erreichen möchtest aber ich kann dir sagen, dass folgendes die gleiche Wirkung hätte:
    if(i==20)
    {
        Lieder[1].Titel[i]=" ";
        i++;
    }

    Wenn es dir darauf ankommt den Rest des Strings zu "leeren", dann solltest du folgendes machen:
    for (; i<20; i++)
         Lieder[1].Titel[i]="\0";

    Kurze Erklärung:
    - i auf sich selbst zuweisen ist irgendwie unnötig
    - Strings sollte man lieber mit Nullterminierungszeichen auffüllen als mit Leerzeichen
    - Strings oder besser Char-Arrays haben bei N Elementen den höchsten Index N-1 und beginnen mit der Indizierung bei 0
    (Ich sehe das an deinen := die in C++ nur = heißen ;-)
  • in: 2D Menü in 3D OpenGL Anwendung?

    geschrieben von sektor

    Im groben hat benutzernaemelchen recht. Damit die Beleuchtung abgeschaltet ist gibt es ja glDisable(). Für die Shader ist das schon schwieriger. Wenn du eigene einsetzt kannst du nur über glBindProgram(0) verhindern, dass Shader eingesetzt werden. Ansonsten musst du noch den Depth-Test abschalten, damit das Menu gezeichnet wird oder optional den Tiefenbuffer leeren, falls du ihn nicht mehr brauchst. Damit sollte das Menü obenauf und ohne Beleuchtung gezeichnet werden.

Login zum Webhosting ohne Werbung!