Ankündigung

Einklappen
Keine Ankündigung bisher.

Gibt es eine Möglichkeit zu lernen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gibt es eine Möglichkeit zu lernen?

    Hallo an alle!

    Habe mich vor etwa 3 Jahren schon einmal mit dem Zend Framework beschäftigt, bin damit aber nie wirklich glücklich geworden. Seitdem habe ich auch nie mehr etwas größeres programmiert.

    Früher (vor etwa 6 Jahren) hatte ich einmal ein Browsergame am laufen, die Programmierung war aber grottenschlecht - das Spiel selbst eigentlich super. Irgendwann hat es mir deshalb auch die Datenbank zerschossen (Stichwort Transaktionen). Waren eben 10.000e Zeilen Code ohne OOP, einfach drauflosprogrammiert ohne es je richtig "gelernt" zu haben.

    Nun habe ich wieder ein großes Projekt im Kopf und hätte einige Fragen an die Profis:
    - Ich möchte gerne sauber programmieren. Ohne AJAX geht heutzutage ja nichts mehr, ich hab dafür früher xajax verwendet, und nie verstanden wie die "Großen" das eigentlich machen? Damit meine ich wie man jQuery in ein großes Projekt einfügt. Ist das komplett trennbar vom backend?

    - Macht es Sinn gleich mit etwas Größerem zu starten?

    - Beim Zend Framework fühlte ich mich irgendwie stark eingeengt. Jede Kleinigkeit die ich versucht habe wurde sofort zu einem großen Projekt, da ich meist nicht wusste wie es funktioniert. Kennt das Gefühl jemand? Legt sich das wenn man länger damit arbeitet?

    Hat jemand Tipps (z.B: Bücher) wie ich am besten anfange? Ich möchte nicht wieder etwas machen, was nach relativ kurzer Zeit über mir einstürzt . Bin wirklich für jeden Tipp dankbar.

  • #2
    Zitat von Leichti Beitrag anzeigen
    - Ich möchte gerne sauber programmieren. Ohne AJAX geht heutzutage ja nichts mehr, ich hab dafür früher xajax verwendet, und nie verstanden wie die "Großen" das eigentlich machen? Damit meine ich wie man jQuery in ein großes Projekt einfügt. Ist das komplett trennbar vom backend?
    Inwiefern trennbar? JavaScript/PHP ist auf jeden Fall trennbar und die AJAX-Actions kannst du auch von "normalen" trennen. Es gibt unterschiedliche Ansätze wie damit umgegangen werden kann, das kann man schlecht pauschal beurteilen.

    Zitat von Leichti Beitrag anzeigen
    - Macht es Sinn gleich mit etwas Größerem zu starten?
    Das ist von dir und deiner Motivation abhängig. Wenn du glaubst, motiviert zu bleiben, dann ja. Dein alter Code kann ein guter Lehrer sein um neue Ansätze besser zu verstehen.


    Zitat von Leichti Beitrag anzeigen
    - Beim Zend Framework fühlte ich mich irgendwie stark eingeengt. Jede Kleinigkeit die ich versucht habe wurde sofort zu einem großen Projekt, da ich meist nicht wusste wie es funktioniert. Kennt das Gefühl jemand? Legt sich das wenn man länger damit arbeitet?
    Warum dann unbedingt Zend?

    Kommentar


    • #3
      1. http://www.peterkropff.de/site/php/php.htm
      2. AJAX ist nett, aber nicht zwingend nötig. Man kann wahnsinnig geniale Seiten komplett ohne JS und sonstigen Firlefanz machen.
      3. Frameworks sind nur am Anfang schwer, wenn man mal drin ist erleichtern sie dir die Arbeit ungemein
      [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

      Kommentar


      • #4
        Zitat von Leichti Beitrag anzeigen

        - Macht es Sinn gleich mit etwas Größerem zu starten?
        Hallo zusammen,
        meine Meinung: Nein, könnte nicht klapen. Besser mit Projekten, die kann immer erwetern.

        Kommentar


        • #5
          Alles ist trennbar in javascript, php, html usw. und hier auch noch zick unterteilungen, jedem wie es am besten gefällt. Hier gibt es keine Richtlinie,

          sauber programmieren fängt ganz klar bei den Einrückungen etc. an und endet bei sinnvollen variablennamen oder im Code etwas was zusammengehört in einem Block schreiben, also keine Zwischenzeile etc.

          Wie schon gesagt es gibt viele Alternativen zu AJAX vor allem mit Transaktionen würde ich synchrone Technologien benutzen und keine asynchronen --> Datenverlust/verfälschung.

          Bei mir war es bei Projekten immer so ich hab mich einfach hingesetzt und ein bisschen was programmiert und gewann so durch den Erfolg der kleineren Dinge immer mehr Motivation für neuere und kompliziertere Dinge und genau das spornt mich an, denn dieses Gefühl ein Problem gelöst zu haben, an diesem man so lange gesessen ist, ist das beste gefühl als Programmierer

          Kommentar


          • #6
            Vielen Dank für die Antworten! Es muss natürlich nicht Zend sein
            Natürlich ist mir bewusst dass es auch ohne Ajax und ohne JS geht. Trotzdem bieten sich dadurch Möglichkeiten die Useability deutlich zu steigern! Das der übermäßige Einsatz problematisch sein kann ist mir bewusst.

            Inwiefern trennbar? JavaScript/PHP ist auf jeden Fall trennbar und die AJAX-Actions kannst du auch von "normalen" trennen. Es gibt unterschiedliche Ansätze wie damit umgegangen werden kann, das kann man schlecht pauschal beurteilen.
            Ich meine damit eigentlich, dass ich wenn ich eine Aktion ausführe (z.B: das laden eines Beitrages) es sinnvoll ist nur Model dafür zu haben der die Daten aus der Datenbank holt. Allerdings soll nun wenns über AJAX läuft nicht der komplette Inhalt einer Seite, sondern nur eine Tabelle ausgegeben werden. Wie wird das realisiert?

            Wie schon gesagt es gibt viele Alternativen zu AJAX vor allem mit Transaktionen würde ich synchrone Technologien benutzen und keine asynchronen --> Datenverlust/verfälschung.
            Welche Alternativen gibt es? Bin nicht mehr auf dem laufenden Warum nicht Transaktionen + AJAX? Ich habe auf die schnelle bei google nichts gefunden.

            Kommentar


            • #7
              Zitat von Leichti Beitrag anzeigen
              Welche Alternativen gibt es? Bin nicht mehr auf dem laufenden Warum nicht Transaktionen + AJAX? Ich habe auf die schnelle bei google nichts gefunden.
              Naja da ich bei Transaktionen ja synchronität benötige, sprich wenn eine Methode darauf zugreift, die z.B. gerade etwas abbucht vom Konto dass eine andere Methode während diesem Vorgang nicht auch noch Zugriff hat sprich, die 2. Methode ändert den Kontostand von 0 € auf 1000€ und die Änderung der 1. Methode geht verloren.
              AJAX = Asynchronous JavaScript and XML

              ich hoffe ich erzähle da keinen unsinn, aber mir wurde es immer so beigebracht :P

              EDIT: vergiss das wieder habe mich da vollkommen geirrt
              natürlich kannst du hier AJAX verwenden.

              Kommentar


              • #8
                In der Client-Server-Kommunikation hast Du doch eh keine Garantie, weil Du die Laufzeiten nicht beeinflussen kannst. Ob das nun asynchron oder direkt ist,
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  ja ich hab mich total geirrt wie im EDIT im vorigen Post angegeben haha
                  dumm von mir

                  Kommentar


                  • #10
                    Das ist aber genau ein Problem welches mit Transaktionen verhindert werden kann, oder? Dies war früher mein großes Problem

                    Kommentar


                    • #11
                      Transaktionen garantieren dir nur, dass entweder ALLE, oder, falls eine Fehlschlägt, GARKEINE Query ausgeführt wird, nicht mehr und nicht weniger.
                      [QUOTE=nikosch]Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.[/QUOTE]

                      Kommentar


                      • #12
                        Wie stellt man dann sicher dass sich zwei Änderungen nicht überschneiden?

                        Kommentar


                        • #13
                          Das macht dein DBS. Je nach System und je nach Einstellung wird das anders sichergestellt. Das geht schon ziemlich tief in die DB-Theorie rein, das lässt sich nicht so einfach erklären ^^
                          [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                          Kommentar


                          • #14
                            Stichwort "Isolation". Generell sollte man sich informieren, wie sein eingesetztes DBMS "ACID" implementiert.

                            Zum Topic
                            Es gibt nicht "diesen einen, richtigen Weg". Es kommt immer drauf an.

                            Wenn man in die Softwareentwicklung einsteigt, gibt es viele mehr oder weniger hilfreiche Bücher, die einem meistens anhand von weltfremden Beispielen grundsätzliche Konzepte der Softwareentwicklung aufzeigen. Trotzdem keine schlechte Idee, das mal gemacht zu haben.

                            Ein guter Entwickler hat im allgemeinen drei essentielle Kompetenzen:
                            Er versteht, wie Programme ausgeführt werden und wie die verschiedenen Sprachen und Interpreter/Compiler ausführbare Programme erzeugen. Hat hat dabei so viel Verständnis von Sprachen, dass es für ihn nicht die eine, beste Sprache, sondern einen mehr oder weniger idealen Einsatzzweck für die verschiedenen Sprachen gibt. Natürlich besitzt ein Softwareentwickler auch Kenntnis darüber, wie ein Computer (=PC/Tablet/Smartphone/Whatever) funktioniert.
                            Er hat ein gutes Verständnis von Softwarearchitektur und ist in der Lage zu Kommunizieren. Es reicht nicht (s)eine Sprache(n) auswendig zu können und sich die Parameter von Methoden und Funktionen zu merken. Denn insbesondere durch die reiche OpenSource-Sammlung, aber auch durch kommerzielle Komponenten, gilt der mitgelieferte Sprachumfang (Sprache + Standardbibliothek) nicht als Sprachabgrenzung. Architektur ist dabei so viel mehr als in seinem Code sauber zu halten. Wir Entwickler sind Menschen. Und wir haben verglichen mit Maschinen ein schlechtes Gedächtnis. Daher gewöhnen wir uns an in wiederkehrenden und wiederverwendbaren Mustern zu denken und zu handeln. OOP/OOD hilft dabei, denn es wurde von Menschen für Menschen gemacht um das maschinennähere prozedurale Entwicklungparadigma zu ersetzen. Wir versuchen unsere Handlungsmuster und Akteure aus der Echtwelt in die Softwarewelt zu übertragen.
                            Und zuletzt ist er natürlich in der Lage, die ihm gestellte Aufgabe zu lösen, weil er durch seinen bisherigen Bildungsweg dafür befähigt wurde. Einem Softwareentwickler unterstellt man ein gewisses Niveau im Bezug auf Sprache, logischem Denken und Allgemeinwissen.

                            Das ist aber nicht alles. Ein Entwickler muss möglicherweise viele weitere Softskills beherrschen. Beispielsweise ist die englische Sprache immer eine wichtige Voraussetzung.

                            Gerade PHP ist sehr zugänglich und zieht schnell Personenkreise an, die ihre eigenen Fähigkeiten nicht genau einschätzen können. Durch in der Vergangenheit (positiv) realisierte, meist kleinere Projekte fühlen sie sich berufen ihr Wissen in Form von Tutorials und Beiträgen weiterzugeben. Das ist nicht unbedingt schlecht, führt aber zu einer inkonsistenten Lernerfahrung.

                            Ich würde empfehlen, dass du dir die Arbeit von größeren Teams/Projekten anschaust und vielleicht auch an ein paar Projekten mitwirkst. Ich selbst habe viel von meinen Mitmenschen gelernt. Für mich war auch wichtig, dass ich immer viel Interesse an neuen Technologien hatte und damit rumspiel(t)e, obwohl ich dafür eigentlich keinen direkten Verwendungszweck habe.

                            Kommentar


                            • #15
                              Vielen Dank nochmal für die Antworten.

                              Verwendet ihr für die Kommunikation mit der Datenbank etwas wie propel oder doctrine? Früher habe ich das noch alles prozedural gemacht .

                              Kommentar

                              Lädt...
                              X