Beiträge von lukasn

    Das Problem der #main, die nicht richtig skaliert, kanst du mit einem overflow: hidden; lösen.

    Was die Paragraphen angeht, verstehe ich nicht, warum du denen überhaupt ein float verpasst hast. Ich hab mal die floats für article p entfernt, das sieht für mich ganz okay aus, ist aber möglich, dass das irgendwo sonst Probleme gibt, von hier aus schwer zu sagen.

    Was dein HTML-Markup angeht denke ich allerdings, dass du da noch etwas daran arbeiten könntest. Auf der letzten Seite die du verlinkt hast sieht es so aus, als sollte jede h3,p,img kombination als eine zusammengehörige Einheit dastehen, da bietet sich eigentlich jeweils ein <section> tag an, um die drei zusammen zu halten.


    Gruss,
    -Lukas

    explanators einstellung zu Javascript kann ich zwar nicht unterschreiben, finde aber auch, dass es sich bei einem privaten Computer nicht lohnt, für den Virenschutz Geld auszugeben. Bester Virenschutz ist eigentlich das intelligente Verhalten beim surfen, dazu noch einen gratis Virenscanner für den Fall der Fälle.

    Für ein paar Beispiele bzgl. Gratis-Antivirus zitiere ich mich einfach mal selbst aus einem älteren Thread:


    Gruss,
    -Lukas

    Ich muss sagen dass ich mit kostenpflichtigem Virenschutz nur ärger hatte. Kapersky, Norton, Symantec, MacAffee sind die, die ich länger getestet habe. Bei allen bin ich von den Auswirkungen auf mein System alles andere als begeistert. Die ganzen Zusatzfunktionen der Bezahlversionen dieser Softwarepakete verbrauchen Leistung für zweifelshaften Nutzen, und das nicht wenig.
    Wenn Kapersky oder MacAffee einen Scan durchführen ist erst mal Zeit für ne Kaffeepause weil der Computer für eine Viertelstunde blockiert ist.

    Was die ganzen anderen Funktionen angeht, also Dinge wie Phishingfilter, Spamschutz und was noch alles dabei sein mag, da kann ich nicht viel zu sagen. Phishingfilter ist reine Geldmacherei, da ist gesunder Menschenverstand immer noch der beste Schutz, Spamfilter kann ich nicht beurteilen da ich, von Geschäfts-E-Mail mal abgesehen, nur Webmail verwende.

    Für den reinen Virenschutz (Scan & Aktivschutz) empfehle ich deshalb Gratissoftware. Die verwendeten Virendatenbanken sind sowieso deckungsgleich, drum sind eigentlich nur die Leistung und Darstellung ein Argument. Die drei Optionen, welche ich empfehlen kann sind


    • Microsoft Security Essentials
    • avast! Free AntiVirus
    • Avira Free WebGuard

    Von den dreien ist MSE der einzige ohne Werbung, weshalb ich mich persönlich meist für diesen entscheide. Die Virenerkennung ist bei allen sehr gut, bei Avira aber am besten. Als Kehrseite hat man bei Avira aber auch die meisten Fehlalarme.

    MSE ist in der Erkennung von Backdoors am schlechtesten, wobei die Erkennungsrate aber immer noch um 95% liegt. Im Schutz gegen Unbekannte Viren (aufgrund des "benehmens" eines Programms) ist Avira am besten, MSE und avast! erkennen je nur ca. 50%, Avira über 60%. Die Scangeschwindigkeit ist bei avast! am besten, Microsoft liegt da auf dem letzten Platz.

    Beim Ressourcenverbrauch ist avast! am genügsamsten, wobei alle drei kaum einen spürbaren Einfluss auf den Computer haben.

    Fazit ist: Geschmacksache, alle drei AVs sind gute Kandidaten, wer einen Werbefreien Computer will, dem Empfehle ich MSE, wenn man sich nicht an einem einzelnen Pop-Up nach dem Einlogen stört und ab und zu eine Fehldiagnose verkraften kann, ist wohl Avira das richtige. Wenn es um das letzte Tröpfchen Performance geht, ist wohl avast! das richtige. Auf jeden Fall halte ich es für unnötig, als Privatanwender für den Virenschutz Geld auszugeben.

    Als erstes wärs sicher mal hilfreich, deine .htacces zu sehen. Ohne die können wir nur raten.

    Noch was anderes bzgl www. : Wenn du Kontrolle über deinen Nameserver hast solltest du unbedingt http://www.domain.tld als CNAME Record auf domain.tld zeigen lassen, dadurch kannst du solche Probleme meistens vermeiden.

    Gruss,
    -Lukas

    Das wär auch mein Ansatz. Als ein Beispiel, so speichere ich in meinen Applikationen Werte, die nicht regelmässig verändert weden, aber von verschiedenen Klassen benötigt werden:

    Das mal beiseite, verwendet ihr wirklich Exceptions für Validierungsfehler? Das gehört für mich zum normalen Programmablauf, Exceptions verwende ich nur für Ereignisse, die eigentlich nicht auftreten sollten, z.B. HTTP-Exceptions (404, 500 etc.), Datenbankfehler und ähnliches.

    Allerdings nehme ich die Validierung mittlerweile sowieso meist auf dem Client vor, Serverseitig löse ich dann auch eine ValidationException aus welche ein Array von Fehlern zurück gibt. Allerdings tritt diese Exception ja dank der Client-seitigen Validierung nur dann auf, wenn die Daten mutwillig verändert wurden, damit handelt es sich eben wieder um eine Ausnahme ausserhalb des normalen Programmablaufs und verdient damit eine Exception.

    Ich bin nicht sicher, ob du das Konzept des Views wirklich verstanden hast. Das erste Statement (CREATE VIEW [...]) muss nur ein mal ausgeführt werden, wie z.B. CREATE TABLE. Danach ist das View wie eine normale Tabelle verfügbar.

    Ein View ist eigentlich eine art "Virtuelle Tabelle", welche es dir ermöglicht, ein komplexes SELECT-Statement abzuspeichern und bei späteren Ausführungen wieder zu verwenden, ohne komplexe Subselects o.ä. zu schreiben.

    Nachdem du einmal das View erstellt hast, reicht das folgende Statement, um die Anzahl würfe pro Jahr zu erhalten. Die Where-Angaben hab ich von dir übernommen und sind optional. Relevant ist eigentlich nur das SELECT COUNT(*) und das GROUP BY `year`.

    SQL
    SELECT year, COUNT(*) FROM litter
        WHERE country_short='de' 
        AND year>1996
        AND kennel_note =''
    GROUP BY year;

    Jop, diese Abfrage macht eigentlich das selbe wie meine, einfach mit einem Subselect anstatt einem View. Ich denke du hast versucht, mein Codebeispiel oben direkt zu verwenden? Ich hatte es nicht klar gekennzeichnet, aber das waren eigentlich zwei separate statements, das erste wird nur einmal verwendet um das View zu erstellen. Dieses View kann dann verwendet werden wie eine normale Tabelle.

    Ohne Kenntnis der Datenbankstruktur ist es etwas schwierig, eine gute Antwort zu liefern.

    Wie genau identifizierst du einen einzelnen Wurf? Verstehe ich richtig, dass dir das oben genannte Statement ein Resultat für jeden Wurf liefert?

    Wenn ja, wäre es wohl am einfachsten, ein VIEW aus diesem SELECT-Statement zu erstellen und dann ein einfaches COUNT auf dieses View anzuwenden, um die anzahl Würfe zu erhalten. Die erstellung des VIEWS empfiehlt sich vor allem, wenn du auch sonst noch mit Würfen arbeiten willst.

    Folgender Code könnte in etwa dem entsprechen was du willst (In der Annahme, dass dein erstes Statement sauber nach Würfen trennt):

    Code ist logischerweise ungetestet ;)

    Kurze Antwort: Nein, das ist so nicht möglich.

    Etwas längere Antwort:
    Du wirst es zwar nicht hinkriegen, die Exceldaten direkt in ein HTML Form zu kopieren, aber je nach dem was deine Situation ist, brauchst du das auch gar nicht. Handelt es sich bei dem Formular um eine eigene Page? Dann könntest du es dir überlegen, mit CSVs anstelle von deinem Formular zu arbeiten.
    Du bräuchtest also ein Script, dass ein CSV parsen und weiter verarbeiten kann. Damit wäre es möglich, die Tabelle in Excel als CSV zu exportieren, mit einem HTML-Formular hoch zu laden und dann im CSV-Parser weiter zu verarbeiten. Die verarbeiteten Daten könntest du dann weiter verwenden wie zuvor deine Formulareingaben.

    Das ganze setzt aber ein gewisses Verständnis einer Programmiersprache wie PHP oder Ruby voraus.

    Gruss,
    -Lukas

    ORM und Performant geht nie auf, wenn du optimale Performance für deine Datenbankoperationen willst bist du mit guten selbst geschriebenen Queries immer am schnellsten, da jedes ORM, egal wie gut es programmiert ist, einen gewissen Overhead erzeugt, das liegt einfach in der Natur der Sache.

    Für ORMs in PHP wäre meine Standardempfehlung Doctrine2. Alternativ gefällt mir das Axon ORM, ein Bestandteil des Fat-Free Frameworks, sehr gut. Der Overhead ist aber wahrscheinlich mit Doctrine vergleichbar oder grösser, da Axon komplett ohne Konfiguration arbeiten kann und sämtliche Informationen direkt aus der DB ausliest, das braucht natürlich auch seine Zeit.

    Jetzt mal ganz von Anfang an. Disclaimer: Ich hab deinen Code nicht angeschaut und bediene mich nur aus deinen Beispielen hier im Thread. Aber das problem muss anscheinend ganz unten angegangen werden, da dir wichtige Grundlagen fehlen und du seit Wochen ohne Fortschritt rumwerkelst.

    Erst ein mal das Spielfeld. Deine Idee mit der Matrix war gut, genau das ist ja ein Spielfeld, ein zweidimensionales Feld mit Punkten, welche durch 2 Koordinaten angegeben werden können. Deine Idee, den HTML-Code direkt in dem Spielfeld zu speichern hingegen war weniger sinnvoll, speichern müssen wir nur die Daten, das Markup sieht immer gleich aus.

    Ich arbeite hier mit funktionen, deshalb muss ich immer das Spielfeld als Parameter übergeben, das wird schnell umständlich, erspart dir aber das hantieren mit Klassen, was wohl noch nicht behandelt habt.

    Wir müssen also erkennen, ob ein Feld bereits besetzt wurde und wenn ja, welcher Spieler dort gesetzt hat. Dafür bestimmen wir 2 Konstanten, welche die Spieler darstellen. Noch nicht belegte Felder können mit false, 0, NULL oder sonst einem Wert der dir gefällt befüllt werden. Ich verwende in diesem Beispiel false.

    Unser Spielfeld sieht am Anfang eines Spiels also so aus:

    In PHP wird das Spielfeld, wie du schon selber herausgefunden hast, mittels zweier verschachtelten for-Schleifen aufgebaut.

    Um einen Stein zu setzen, müssen wir überprüfen, ob in der Spalte noch platz ist. Dazu schreiben wir 2 neue Funktionen. Eine, um zu überprüfen, ob auf einer Position schon ein Stein liegt, eine zweite, um den Stein auf die unterste freie Reihe zu setzen. Die checkPos-Funktion erhält ausserdem noch die Fähigkeit, auf einen bestimmten Spieler zu prüfen, das wird uns später bei der Auswertung eines Zuges nützlich sein.

    Das mal als kleiner Ansporn, wie dieses Problem angegangen werden kann. Es fehlt natürlich noch viel, um diesen Code zu einem funktionierenden Spiel zu machen, z.B. habe ich noch keine Funktion, die überprüft, ob ein Zug gewinnt. Die Darstellung und Speicherung der Daten sind getrennte Probleme, welche Separat behandelt werden sollten. Schau mal selbst, wie du damit klar kommst, sollte noch ein Problem auftauchen findet sich sicher Hilfe, versuch aber erst mal, selber dahinter zu kommen.

    Für die Darstellung habe ich dir noch eine kleine Funktion, welche eine Mögliche variante Zeigt, grundsätzlich solltest du aber HTML und PHP möglichst getrennt halten.

    Was die eigentliche Anwendung der Funktionen angeht, hier ein kleines Beispiel von 3 statisch programmierten Zügen, welche anschliessend angezeigt werden.

    Weniger wichtig als das aussehen des Buttons ist ein Icon, in der Regel ein Pfeil oder Chevron. Zeigt er nach unten, rechnet man mit einem Dropdown. Zeigt er nach Rechts, mit einem Navigationsbutton oder eben "Read more...", um welches der beiden es sich handelt, sollte aus der Positionierung und dem Buttontext klar sein.

    Schau dir als Inspiration z.B. mal das html5-Element <details> an, das bietet genau die Funktionalität an, welche du benötigst und wird meines Wissens nach in allen unterstützen Browsern mit einem dreieckigen Pfeil nach Rechts dargestellt. Eine andere Quelle für "erwartungskonforme" Bedienelemente sind moderne CSS-Frameworks wie z.B. Twitter Boilerplate.

    Gruss,
    -Lukas

    Meine eigenen Erfahrungen zum Thema halten sich relativ in Grenzen, das komplexeste was ich bisher gemacht habe war ein Monitoringtool für Sensorwerte in einem Rechenzentrum, also Temperatur, Luft, Poweruse etc. Das habe ich auch in PHP verwirklicht, mit Hilfe der PHPGraphLib, eine Library für Balken- Linien und einfache Kuchendiagramme basierend auf GD2.
    Eine andere Library die ich mir damals angeschaut habe war die googlechartphplib, ein PHP-Wrapper für die Google Chart API, lohnt sich sicher auch anzuschauen. Würd ich allerdings nur verwenden, wenn es sich nicht um betriebskritische oder anderswertig schützenswerte Daten handelt, da die Graphen bei Google erstellt werden.

    Wenn du keine Library verwenden möchtest wird es natürlich komplizierter, da Bilder mit PHP nie besonders spassig sind, wobei man mit SVG sicher auch schöne Graphen zeichnen kann, das wär also auch eine Lösung.

    Da ich nicht weiss, um was für Daten es geht, kann ich dir nicht sagen, ob eine PHP-Applikation sinnvoller als eine Desktopapplikation ist, der grosse Vorteil von PHP, oder genauer gesagt einer Web-Applikation, ist natürlich die Portabilität, wenn du die nicht brauchst, wäre es wahrscheinlich in VB.net einfacher, wobei ich die Verwendung von VB nie explizit empfehlen würde... Mein persönlicher Favorit wäre auf jeden Fall PHP.

    Gruss,
    -Lukas

    Wie du selber erwähnt hast, suchst du jemanden der das Script für dich schreibt. Der richtige Ort für diesen thread wäre also das Jobforum, mit einer angemessenen Entschädigung. Was du dir wünschst kann nicht mal eben so hingeklatscht werden.