Karkausvuodet backendistä

Anonyymi

Tuossa toisessa ketjussa onkin jo käsitelty karkausvuosien päättelyä Pythonilla. Nykyaikaisempi tapa on kuitenkin käyttää kyselyihin weppipalvelua.

Siksi voimmekin tehdä backend-palvelun, joka palauttaa kysyttäessä karkausvuodet. Esimerkiksi GET-pyyntö

[palvelin]/karkausvuodet/1901/2000

Palauttaisi JSON-muodossa:

{"vuodesta":"1901","vuoteen":"2000","karkausvuodet":[1904,1908,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000]}

Kunhan tuo saadaan ensin toteutettua, niin voidaan tehdä sille vielä simppeli frontend käyttöliittymäksi.

16

794

    Vastaukset 16

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Jotkut haluaa aina vaan takaapäin...

    • Anonyymi

      Noin upeita ideoita ei kannata kertoa julkisesti. Nyt joku toinen voi ehtiä toteuttaa tuon idean ennen sinua ja tulee rikkaaksi kun laittaa kyselyn hinnaksi vaikka 1 € per karkausvuosi.

      • Anonyymi

        Tai laittaa sille sivulle 100 mainosta niin saa rahaa mainostuloilla...


      • Anonyymi00017
        UUSI

        Miksi kukaan maksaisi 1 € per karkausvuosi?

        Delphillä voisi helposti kirjoittaa DLL:n

        function IsLeapYear(const Year:Longword):Boolean; stdcall;

        Jos joku tykkää Pythonilla koodata, niin kai Pythonista pystyy kutsumaan DLL:ssä olevaa funktiota?

        Windowsissa on valtava määrä usein käytettyjä funktioita esim. näissä:

        kernel32.dll, user32.dll, gdi32.dll advapi.dll

        Ja käsittääkseni jos ajat Python -ohjelmaa Windowsissa, niin ohjelmasti taatusti kutsuu useitakin funktioita noista.

        Ainoa ero on se, että nuo DLL:t on Microsoftin tekemiä, mutta jos teen Delphillä DLL:n niin se on minun tekemä dll.

        Kutsutapa on molemmissa sama - stdcall.

        Huom: jos joku käyttää GNU -systeemistä peräisin olevia DLL:iä windowsissa niin ne on hyvin usein cdecl eikä stdcall.

        Tästä seuraa mm. se, että jos kirjoitat C -koodiin funktion abc, niin DLL:ssä se funktio on oikeasti nimeltään _abc.

        Ja JOS koodaat C++:lla: muista exportoida DLL:ään julkiseksi tarkoitetut funktiot näin:

        extern "C" {

        // Laita funktiomäärittelysi tähän

        }

        jos ET tee noin - funktioidesi oikeista nimistä ei kukaan ota selvää - ja ne vieläpä vaihtelevat sen mukaan mitä C++ -kääntäjää käytät!


    • Anonyymi
      • Anonyymi

        Frontin html/js. Minulla on backend virtuaalikoneessa olevalla palvelimella ja siksi host on ip-osoitteella.

        https://pastebin.com/2RLF8LnK

        Kokeilin ekaa kertaa myös Bootstrappia, jotta sai nappulasta vähän siistimmän. Olen melkoisen aloittelija tuossa html-hommassakin.


    • Anonyymi

      Pitää yrittää Flaskilla tuota.

      • Anonyymi

        Olipa helppo, muutaman minuutin homma, vaikka en ole koskaan ennen Flaskia käyttänytkään.

        https://pastebin.com/Kv37Cey0

        $ curl http://localhost:3334/karkausvuodet/1901/2000
        {"vuodesta":"1901","vuoteen":"2000","karkausvuodet":[1904,1908,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000]}


      • Anonyymi
        Anonyymi kirjoitti:

        Olipa helppo, muutaman minuutin homma, vaikka en ole koskaan ennen Flaskia käyttänytkään.

        https://pastebin.com/Kv37Cey0

        $ curl http://localhost:3334/karkausvuodet/1901/2000
        {"vuodesta":"1901","vuoteen":"2000","karkausvuodet":[1904,1908,1912,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000]}

        CORS on hyvä lisätä myös, niin toimii paremmin frontin kanssa.

        https://flask-cors.readthedocs.io/en/latest/

        Eli importilla flask_cors ja sitten appin jälkeen

        cors = CORS(app, resources={r"/*": {"origins": "*"}})


      • Anonyymi
        Anonyymi kirjoitti:

        CORS on hyvä lisätä myös, niin toimii paremmin frontin kanssa.

        https://flask-cors.readthedocs.io/en/latest/

        Eli importilla flask_cors ja sitten appin jälkeen

        cors = CORS(app, resources={r"/*": {"origins": "*"}})

        Frontti Windowsissa Microsoft Edgellä. Backend on virtuaalikoneessa Ubuntu serverillä pyörivällä Python Flaskilla.

        https://ibb.co/Q7WsMQg


    • Anonyymi

      "Ketjusta on poistettu 1 sääntöjenvastaista viestiä."

      Mitähän tästä ketjusta on poistettu ja miksi?

      • Anonyymi

        Se kontitussäie. Sain sen kyllä pelaamaan kolmella kontilla. Eli nginx portinvartijana reverseproxynä jakaa liikennettä frontille ja backille, jotka pyörivät omissa konteissaan.

        Docker-composen ymliä en viitsi tähän laittaa, mutta nginx:n conffi on seuraavanlainen:

        upstream backend {
        server backend:3334;
        }

        upstream frontend {
        server frontend:8081;
        }

        server {
        listen 80;
        server_name localhost karkausvuodet.test www.karkausvuodet.test;

        location / {
        proxy_pass http://frontend;
        }

        location /karkausvuodet {
        proxy_pass http://backend;
        }

        location ~ /\.ht {
        deny all;
        }
        }


    • Anonyymi

      Hyvä näin.

    • Anonyymi

      MISTÄ kumpuaa tämä käsittämätön vimma tehdä kaikesta web -palvelua ????

      Jos itse tarvitsen tiedon siitä, mikä on karkausvuosi ja mikä ei, niin palanen paikallista ohjelmakoodia hoitaa tuon tarpeen parhaiten.
      Itse en näe mitään järkeä kaiken työntämisessä web -aplvelurajapinnan taakse.

      Noh toisaalta, City tekee rahaa (vai tekeekö ENÄÄ - on ainakin tehnyt aiemmin) ihmisten matemaattisella osaamattomuudella ja/tai laiskuudella, ks:

      https://www.city.fi/mobiili/painoindeksi/

      noh, nyt toisaalta saman cityn toisella sivulla, kerrotaan ihan ilmaiseksi, miten voit itse laskea painoindeksin:

      https://www.city.fi/ilmiot/ela ja anna toisten kuolla/1027

    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Oot upea nainen, älä vähättele ittees

      Ja tietojeni mukaan 2 muuta on susta kiinnostuneit mun lisäks. 👀
      Ikävä
      67
      1182
    2. Mikä kaivatussasi ärsyttää

      Juuri nyt, tällä hetkellä?
      Ikävä
      86
      1046
    3. KP-Sesongilla ongelmia?

      Tarvitsen luotettavaa katonpuhdistajaa ja kuulin, että KP-Sesonki Oy tekee hommat edullisesti ja asiakkaan tarpeet huomi
      Ylöjärvi
      20
      1028
    4. Jämsän Paras Ravintola

      Särkijärven kioskiin on avattu uusi upea Maucas ravintola joka on jämsän paras. Loistava palvelu ja herkullinen ruoka. R
      Jämsä
      64
      964
    5. Huh huh...

      Törmäsin toisaalla tekstiin, mitä ajattelet masturboidessasi? Yksi kommentti, avaruusolioita! Täh?! Helvettiläinen oik
      Sinkut
      209
      751
    6. vapaa

      sana :) 🚮
      Ikävä
      63
      616
    7. Ihmettelet nainen, miten vielä sinua rakastan

      No jos en enää sinua ajattelisi, niin ei se mitään rakkautta olisi alunperinkään. En tarvi sinusta nähdä merkkiäkään, ni
      Ikävä
      42
      591
    8. Onko ihan pakko

      olla niin hiton pitkävihainen? Sinulle nainen...
      Ikävä
      38
      589
    9. Mitä ajattelet

      Kaivattusi elämästä
      Ikävä
      43
      556
    10. Kiellettyjä ajatuksia

      Istutaan sylikkäin, katson sun silmiin, vastaat kstseeseen ja kiedon kädet sun ympärille. Huulet koskettaa sun huulia,
      Ikävä
      42
      554
    Aihe