hotti: Was ich schon lange mal fragen wollte...

Was haltet Ihr von der Idee, dass ein einziges CGI-Script nur einmal geschrieben wird ('Super-CGI') und dass, wenn neue Anwendungen hinzukommen, kein neues CGI geschrieben, sondern nur noch Funktionen für das Super-CGI geschrieben werden (ausgelagerter Code)?

Hotti

  1. Lieber hotti,

    nur noch Funktionen für das Super-CGI

    ich schreibe keine CGI-Scripte.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hello lieber Felix,

      nur noch Funktionen für das Super-CGI

      ich schreibe keine CGI-Scripte.

      Rolf hat sich außerdem auch noch nicht geäußert, von wo und über welchen Kanal die Script-Extensions dann nachgeladen werden sollen. Vielleicht meint er ja, dass man die dann konzentriert von http://give-me-a-script.super-hotti.de oder von http://get-script.super-hotti.de nachladen sollte.

      Ich fände das gut, weil man dann immer einen Schuldigen hätte, wenn's mal wieder nicht klappt. ;-D

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. hello Tom,

        Rolf hat sich außerdem auch noch nicht geäußert, von wo und über welchen Kanal die Script-Extensions dann nachgeladen werden sollen. Vielleicht meint er ja, dass man die dann konzentriert von http://give-me-a-script.super-hotti.de oder von http://get-script.super-hotti.de nachladen sollte.

        Status: 404 Not Found

        Ich fände das gut, weil man dann immer einen Schuldigen hätte, wenn's mal wieder nicht klappt. ;-D

        Das könnte Dir so passen ;)

        Btw., heut nacht, Stichwort: Hexen

        (die Bibi bitte nicht verbrennen, die wird noch im Kindergarten gebraucht, ansonsten erhöhte Waldbrandwarnstufe beachten)

        Harzliche Grüße,
        H.H.

        @Felix, mein Lieber, Du schreibst dafür schöne JScripts.

        1. Hello,

          ich hatte gedacht, dass Du hier einen Scherz machen wolltest. Das Hotti-Superscript...
          Der ganez Webserver ist doch schon ein einziges Superscript und er ist bereits in der Lage, die Anfragen intelligent zu verteilen. Da baucht man dann immer nur noch eine neue Funktionalität einhängen, und er bedient sie...

          http://give-me-a-script.super-hotti.de
          http://get-script.super-hotti.de

          Status: 404 Not Found

          Das liegt dann an deinem lahmen DNS.

          Btw., heut nacht, Stichwort: Hexen

          Ja, komm doch vorbei. Ich habe bestimmt noch ein Zimmer für Dich im Ferienhaus.
          Wir machen heute Walpurgisparty. Bier steht schon kalt.
          http://www.ferienhaus-andreasberg.de/

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. hi,

            Das liegt dann an deinem lahmen DNS.

            Tee-NS. Der hat mittlerweile ausgeschlafen, geht ;)

            Ja, komm doch vorbei. Ich habe bestimmt noch ein Zimmer für Dich im Ferienhaus.

            Darf ich nächstes Wochenende darauf zurückkommen?

            Wir machen heute Walpurgisparty. Bier steht schon kalt.
            http://www.ferienhaus-andreasberg.de/

            Jow, dann feiert mal schön! Hier gibts noch Einiges zu machen und nächste Woche habe ich wichtige Termins. Ich rufe Dich nächsten Freitag an.

            Btw., Keine Fehlermeldung? wenn Parameter angehängt werden. Das ist dann wohl doch noch nicht ganz so fertisch ;)

            Viele Grüße,
            Hotti

            1. Hello,

              Tee-NS. Der hat mittlerweile ausgeschlafen, geht ;)

              Kannst Du haben. Schenke ich Dir zum Geburtstag, die Domain ;-)

              Ja, komm doch vorbei. Ich habe bestimmt noch ein Zimmer für Dich im Ferienhaus.

              Darf ich nächstes Wochenende darauf zurückkommen?

              Witzbold. Die Walpurgisparty ist dieses Wochenende. Soll ich Dir die Hexen einfrieren, oder was?

              Btw., Keine Fehlermeldung? wenn Parameter angehängt werden. Das ist dann wohl doch noch nicht ganz so fertisch ;)

              Na, Dein Konto ist wahrscheinlich noch leer. Außerdem hast Du doch sicher gelesen, dass REST noch zustandsloser ist als zustandslos. Wie soll mein Webserver da erkennen, dass DU den Request sendest...

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
              1. hi,

                Na, Dein Konto ist wahrscheinlich noch leer. Außerdem hast Du doch sicher gelesen, dass REST noch zustandsloser ist als zustandslos. Wie soll mein Webserver da erkennen, dass DU den Request sendest...

                Na, das sind ja vielleicht Zustände. Gibt mir echt den Rest ;)

                Viele liebe Grüße,
                Hotti

                Ps, die Hexen: Die kaufen wir neu. Am Torfhaus ist da so eine Kinkerlitzchenbude, da gibts welche ;)

                1. Hello,

                  Ps, die Hexen: Die kaufen wir neu. Am Torfhaus ist da so eine Kinkerlitzchenbude, da gibts welche ;)

                  Die Buden am Torfhaus haben sie abgerissen und stellen stattdessen Blockhäuser als Hotelanlage auf. Ich habe bisher aber auch nur den Abriss gesehen; die neuen Häuser kenne ich noch nicht.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Hello,

                    Also ersteinmal was Fachliches: In einem CGI sollte stets ein definierter Zustand sichergestellt sein. Nach dem Transit-State-Model (Achtung: Buzzword!) ergibt sich theoretisch ein neuer Zustand, wenn Parameter anliegen.

                    (ach Mann, das Anliegen an sich ist ja auch ein Zustand, stehend oder liegend...)

                    Die Buden am Torfhaus haben sie abgerissen und stellen stattdessen Blockhäuser als Hotelanlage auf.

                    So! Die Kinkerlitzchenbuden hahm wohl nix abgeworfen. Mich hats schon gewundert, dass der Parkplatz nüschd kostet.

                    Rest per Email ;)

                    Viele Grüße,
                    Hotti

  2. Alles eine Frage der Projektorganisation. Wenn man alles auf ein CGI-Gateway abbildet, hat dieses zusätzliche Arbeit damit, die jeweiligen Unterscheidungen zu treffen. Ein anderer Ansatz wäre, dass man einen Baukasten aus dynamischen Funktionen für jedes angefragte Objekt bereithält und dieses von ansonsten statischen Templates verwendet.

    Gruß, LX

    --
    RFC 5984, Satz 7 (Security Considerations) (...) Terroristische Organisationen könnten die "Schlechte Nachrichten verbreiten sich schneller"-Schwachstelle aus RFC 1216 ausnutzen.
    1. hi danke!

      Alles eine Frage der Projektorganisation.

      Damit beginnt es: Die Projektverwaltung wird importiert. Das mache ich schon seit Jahren so. Neu ist eine verteilte Projektverwaltung, das System wird multi-User-fähig.

      Wenn man alles auf ein CGI-Gateway abbildet, hat dieses zusätzliche Arbeit damit, die jeweiligen Unterscheidungen zu treffen.

      Wenn Du damit die Parameter meinst: Auf den ersten Blick wäre hier im main()-Script mehr zu tun. Dieses Problem löse ich mit URL-selektiven (private) Parametern. Das main()-Script bekommt damit nicht mehr zu tun, sondern nur eine andere Aufgabe.

      Ein anderer Ansatz wäre, dass man einen Baukasten aus dynamischen Funktionen für jedes angefragte Objekt

      Genau. Jeder Request_Uri ist ein Objekt, bei mir auch schon seit Jahren so ;)

      Der 'Baukasten' ist die Projektvervaltung. Da drin ist alle konfigurierbar, ohne den Code ändern zu müssen. Neuer Code ist nur zu schreiben, wenn eine neue Anwendung gebraucht wird.

      Viele Grüße,
      Hotti

  3. Hey,

    das hört sich sehr toll an. Am Besten lagerst du dann die Funktionen in Binärform aus. Toll wäre es natürlich noch, wenn über eine Rest-Schnittstelle die ganze Sache objektorientiert angesprochen werden könnte. Wenn du dann mit mod_rewrite das cgi eingebunden hast, kannst du z.B. auch mit AHAX (ja, kein ajax) das super-cgi entsprechend ansprechen.

    Wenn dann dein Controller auch noch gut strukturiert ist, z.B. der Code in der Datenbank abgelegt (natürlich in binärform), dann steht der Skalierbarkeit nichts mehr im Wege.

    Als kleiner Tipp sei dir noch ans Herz gelegt, dein super-cgi mit Hilfe von SEO und SEM cloudfähig zu machen.

    hth

    1. Hallo,

      Wenn dann dein Controller auch noch gut strukturiert ist, z.B. der Code in der Datenbank abgelegt (natürlich in binärform), dann steht der Skalierbarkeit nichts mehr im Wege.

      Das ist aber alles andere als gut strukturiert. Denn "Eine DB macht nur dann einen Sinn, wenn der DB Server auf derselben Maschine läuft, wie der Webserver". Also sollten die Funktionen vielleicht im REST-RAM hinterlegt werden, dass steigert die Performance ungemein (so lange das RAM auf dem selben Rechner liegt!!).

      Grusz,
      Christopher

      1. Moin!

        Wenn dann dein Controller auch noch gut strukturiert ist, z.B. der Code in der Datenbank abgelegt (natürlich in binärform), dann steht der Skalierbarkeit nichts mehr im Wege.
        Das ist aber alles andere als gut strukturiert. Denn "Eine DB macht nur dann einen Sinn, wenn der DB Server auf derselben Maschine läuft, wie der Webserver". Also sollten die Funktionen vielleicht im REST-RAM hinterlegt werden, dass steigert die Performance ungemein (so lange das RAM auf dem selben Rechner liegt!!).

        MySQL: MEMORY-Storage-Engine.

        - Sven Rautenberg

        1. Moin,

          Also sollten die Funktionen vielleicht im REST-RAM hinterlegt werden, dass steigert die Performance ungemein (so lange das RAM auf dem selben Rechner liegt!!).

          MySQL: MEMORY-Storage-Engine.

          Na also, das waere doch die perfekte Kombination fuer ein binaeres Super-REST-CGI-AHAX-Script.

          Grusz,
          Christopher

          1. moin,

            MySQL: MEMORY-Storage-Engine.
            Na also, das waere doch die perfekte Kombination fuer ein binaeres Super-REST-CGI-AHAX-Script.

            Mit oder ohne Slash am Ende!?

            SCGNR;
            Hotti

            1. Om nah hoo pez nyeetz, hotti!

              ich bedaure, dass du inzwischen offensichtlich noch keinen Job gefunden hast, aber da der 1.1.11 schon 'ne Weile her ist, kann "zur Verfügung stehe ich ab ..." weg.

              Wenn du auf deiner Seite Werbung für dein CMS machst, solltest du auch Werbung für dein CMS machen. Das heißt: kein Blabla, was das CMS alles kann (die Features gehören natürlich stichpunktartig dahin), sondern ein Blick ins Frontend und ins Backend, demo-Zugang ...

              Viel Erfolg.

              Matthias

              --
              1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif
              1. Hi mein Lieber,

                ich bedaure, dass du inzwischen offensichtlich noch keinen Job gefunden hast, aber da der 1.1.11 schon 'ne Weile her ist, kann "zur Verfügung stehe ich ab ..." weg.

                Am Besten, die betreffenden Seiten ganz weg ;)

                Wenn du auf deiner Seite Werbung für dein CMS machst, solltest du auch Werbung für dein CMS machen. Das heißt: kein Blabla, was das CMS alles kann (die Features gehören natürlich _stichpunktartig_ dahin), sondern ein Blick ins Frontend und ins Backend, demo-Zugang ...

                Ja, danke Dir. Das ist alles noch in Vorbereitung und ich habe mir auch schon Gedanken zur Demo-Version gemacht. So sollte ursprünglich mein Modul CMS.pm kompatibel zu CGI.pm sein, d.h., ein einfacher Austausch der Module macht aus der Vollversion eine Demoversion. Der 'Trick' heißt Delegieren der entsprechenden Methoden, alternative zur Vererbung mit Overload. Es funktioniert beides, aber ich habe mich fürs Delegieren entschieden, sonst müsste ich für jede Methode ein Overload schreiben ;)

                Coming soon, men at work,
                Hotti

                PS: In meinem CMS habe ich 10 Jahre SELF-Forum verwurstet. Da steckt so ziemlich alles drin, was hier jemals diskutiert wurde, mod_rewrite, schöne URLs, URLs mit oder ohne Dateierweiterung, Kekse... und Perl. Danke an Alle.

                1. Hallo,

                  Der 'Trick' heißt Delegieren der entsprechenden Methoden, alternative zur Vererbung mit Overload. Es funktioniert beides, aber ich habe mich fürs Delegieren entschieden, sonst müsste ich für jede Methode ein Overload schreiben ;)

                  Oh Herr, lass Hirn vom Himmel regnen! Was gibst Du da blosz schon wieder fuer ein technischen Unsinn von dir ("Vererbung mit Overload")..  Hotti, sorry, aber du hast wirklich keinen blassen Schimmer von der Materie.
                  Du wolltest neulich noch einen "Restaurant-Tisch" vom "Restaurant" erben(!) lassen. Lasst euch das mal auf der Zunge zergehen: ein  T I S C H  erbt von einem  R E S T A U R A N T !

                  Ein Demo-Account wird stink normal ueber Rechte geregelt. Ein Benutzer ist einer Gruppe mit wohl-definierten Rechten zugeordnet, und kann additiv noch individuelle Rechte besitzen. That's it. Da ist nichts Mystisches dran, und vor allem bedarf es dafuer keiner "Tricks" (oder gar """Vererbung mit Overload"""!), sondern ganz stinknormaler etablierter Softwarearchitekturen, die jeder IT-Azubi bereits in seiner ersten Woche zu lernen hat.

                  PS: In meinem CMS habe ich 10 Jahre SELF-Forum verwurstet. Da steckt so ziemlich alles drin, was hier jemals diskutiert wurde, mod_rewrite, schöne URLs, URLs mit oder ohne Dateierweiterung, Kekse... und Perl. Danke an Alle.

                  Oh ja - es handelt sich geradezu um ein Freudenhaus geballten Wissens der Softwareentwicklung der letzten zehn Jahre - darin liegt definitiv kein Zweifel.

                  Lass dir eins gesagt sein: Hochmut kommt vor dem Fall, mein Lieber.

                  Christopher

                  PS: Biete es doch mal zum Download an!

                  1. Hallo,

                    vielen Dank ;)

                    Oh Herr, lass Hirn vom Himmel regnen! Was gibst Du da blosz schon wieder fuer ein technischen Unsinn von dir ("Vererbung mit Overload")..

                    Für Dein Buzzwort-Tagebuch, bitte notieren: Overload (gelegentlich auch Überschreiben genannt), Vererbung (engl.: Inherit).

                    Für mich: Handwerkszeug.

                    Lasst euch das mal auf der Zunge zergehen: ein  T I S C H  erbt von einem  R E S T A U R A N T !

                    Passt einwandfrei. Meine Module erben sogar von IO::File (pardon: wird delegiert, bitte Buzzwort notieren: Delegierung)

                    Ein Demo-Account wird stink normal ueber Rechte geregelt.

                    Soso ;)

                    Ein Benutzer ist einer Gruppe mit wohl-definierten Rechten zugeordnet, und kann additiv noch individuelle Rechte besitzen. That's it. Da ist nichts Mystisches dran,

                    Damit hast Du vollkommen Recht.

                    [Buzzworte gefiltert] sondern ganz stinknormaler etablierter Softwarearchitekturen,

                    that sucks ;)

                    die jeder IT-Azubi bereits in seiner ersten Woche zu lernen hat.

                    Nein. Programmieren ist ein Handwerk, das muss jeder selber lernen (Niclas Wirth).

                    PS: In meinem CMS habe ich 10 Jahre SELF-Forum verwurstet. Da steckt so ziemlich alles drin, was hier jemals diskutiert wurde, mod_rewrite, schöne URLs, URLs mit oder ohne Dateierweiterung, Kekse... und Perl. Danke an Alle.
                    Oh ja - es handelt sich geradezu um ein Freudenhaus geballten Wissens der Softwareentwicklung der letzten zehn Jahre - darin liegt definitiv kein Zweifel.

                    Das Forum? Nein, da ist nichts geballt, sondern ganz schön verteilt. Da muss jeder seine Infos selbst zusammensuchen. Oder zur Abwechslung die richtigen Bücher lesen ;)

                    Lass dir eins gesagt sein: Hochmut kommt vor dem Fall, mein Lieber.

                    In der IT gibt es immer ersteinmal genau zwei Fälle.

                    PS: Biete es doch mal zum Download an!

                    Ja, mache ich. Status: 402

                    Schönes Wochenende,
                    Hotti

                    PS: Fische füttern macht mehr Spaß als Trolle füttern. Fische halten wenigstens ihr Maul.

                    1. Hi,

                      Lasst euch das mal auf der Zunge zergehen: ein  T I S C H  erbt von einem  R E S T A U R A N T !

                      Passt einwandfrei.

                      Nein, ist kompletter Schwachsinn, du vernunftresistenter Dummkopf.

                      PS: Fische füttern macht mehr Spaß als Trolle füttern. Fische halten wenigstens ihr Maul.

                      Dann hilf uns allen - werd' zum Fisch.

                      MfG ChrisB

                      --
                      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
                      1. PS: Fische füttern macht mehr Spaß als Trolle füttern. Fische halten wenigstens ihr Maul.

                        Dann hilf uns allen - werd' zum Fisch.

                        AMEN!

                        --
                        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
                    2. Hallo Hotti,

                      auch wenn meine Antwort jetzt verachtend klingen wird, aber deine Lernresistenz unbeschreiblichen Ausmaszes gepaart mit deiner unvorstellbaren Egomanie lassen mir keine andere Wahl:

                      Ich bin richtig froh, dass solch eine Dumpfbacke deines Charakters immernoch auf der Suche nach einem Job ist (und es vrss. auch noch die naechsten Jahre sein wird). Denn das gibt mir Hoffnung, dass tatsaechlich jene Leute, die bereit sind zu lernen, Fehler einzugestehen und den Ball ganz einfach mal flach halten, Hoffnung haben koennen, bald wieder einen Job zu finden.

                      Christopher

              2. hi,

                [..] demo-Zugang ...

                Das Forum ist vorerst die Demo. Intern: $self->{FORUM} ;)

                Komplett in Perl geschrieben. Wer Lust hat, teste es.

                Hotti

                1. Hi.

                  Das Forum ist vorerst die Demo. Intern: $self->{FORUM} ;)

                  Ein paar kleine Rechtschreib-Tipps für die Seite http://rolfrost.de/praxis:

                  Dokument Management => Dokument-Management oder besser Dokumenten-Management

                  Netzwerk Management => Netzwerk-Management

                  Tranparenz für Kunden => Transparenz für Kunden (hat nichts mit Labourtran zu tun)

                  Schönen Sonntag noch!
                  O'Brien

                  --
                  Frank und Buster: "Heya, wir sind hier um zu helfen!"
                  1. Danke!!!

                    Schönen Sonntag noch!

                    Guten Morgen. Heute ist Montag. Ein wenig Sonne hats jedoch ;)

                    Hotti

                    --
                    Rechtschreibfehler sind systembedingt. use strict; eval{die};
                2. Hi,

                  [..] demo-Zugang ...

                  Das Forum ist vorerst die Demo. Intern: $self->{FORUM} ;)

                  Wer Lust hat, teste es.

                  Und wie?

                  MfG ChrisB

                  --
                  RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
                  1. Om nah hoo pez nyeetz, ChrisB!

                    [..] demo-Zugang ...

                    Das Forum ist vorerst die Demo. Intern: $self->{FORUM} ;)

                    Wer Lust hat, teste es.

                    Und wie?

                    apps/login Benutzer/Kennwort: gast/gast

                    Matthias

                    --
                    1/z ist kein Blatt Papier. http://www.billiger-im-urlaub.de/kreis_sw.gif