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.

17

800

    Vastaukset 17

    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

        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

      • Anonyymi00018

        Esitetty toteutuskin on amatöörimäinen. Karkausvuoden tunnistaa helposti (ohjelmointikielestä riippuen) yhden rivin yhtälöllä, jossa on modulo 4 ja modulo 100.


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

    Luetuimmat keskustelut

    1. Riikka Purra on mukana Suomen huutokauppakeisari -sarjassa

      Suomen huutokauppakeisari on tavallisten suomalaisten ohjelma. Sarjan suosiosta kertoo se, että nyt alkaa jo 19. kausi t
      Maailman menoa
      158
      1466
    2. Kuuleppas

      ensimmäiset naissuhteet toimii miehelle eräänlaisena oppikouluna, mutta hän ei välttämättä itse ymmärrä oppineensa mitää
      Ikävä
      255
      1053
    3. Mulla ei ole Suomessa enää mitään

      4 vuotta joutuu asumaan henkisessä vankilassa. Sitten voi muuttaa takaisin ulkomaille.
      Turku
      181
      693
    4. Kuinka nainen jaksat ja voit

      Toivottavasti hyvin.
      Ikävä
      43
      681
    5. Provider miehistä..

      Tietyt miehet puhuvat ilkeästi naisista, jotka haluavat elää miehen tuloilla. Eikö? Mutta miksi tietyt miehet siitä pah
      Ikävä
      199
      638
    6. Sinulle nainen

      En ehkä koskaan osannut sanoa tätä oikein. Minun vaikeuteni luottaa liittyi ennen kaikkea menettämisen pelkoon. Siihen
      Ikävä
      63
      585
    7. Tiedätkö sitä

      Että sinun äänesi on ihanan pehmeä
      Ikävä
      40
      516
    8. Ethän mies vielä

      luovu meistä? Haluaisin jo sun syliin.
      Ikävä
      30
      464
    9. Ethän voinut nainen tietää, että rikot rikotun

      Omaa elämää taas mietin aamuyön tunteina. En vieläkään löytänyt muistin sokkeloista ainuttakaan onnen hetkeä. Kaipuu on
      Ikävä
      53
      460
    10. Tulisitpa käymään joskus vielä

      Olisi niin kiva nähdä pitkästä aikaa. Oletko vielä joskus tulossa?... Niin monet muutoksen tuulet puhaltavat, olisi lohd
      Ikävä
      23
      449
    11. Haaveilen edelleen

      Sinusta aika ajoin
      Ikävä
      31
      431
    12. Lämpimiä katseita aikoinaan vaihdettiin, siihen se sitten jäi

      Sinulla uudet tuulet ja välttelet kohtaamistamme.
      Ikävä
      26
      430
    13. Yt:t kunnassa päättyi

      Oliko nämä tarpeelliset ja ratkeaako taloushuolet näiden avulla? Lehdessä ilmoitettujen lukujen perusteella lisää on tul
      Lappajärvi
      53
      427
    14. Hei rakkaani.

      Kohtaaminen lähestyy. Miten teemme sen? Kumpi ottaa yhteyttä vai törmäämmekö jossain sattumalta? Tuleva vaimosi
      Ikävä
      25
      415
    15. Sut.

      Tuhotaan. :)
      Tunteet
      37
      412
    16. Martsusta tuli leuhka

      Ja ylimielinen. Hän ei nosta persettäkään ilmaseksi . Luulempa et nämä ei tee hyvää hyvinvointivalmennuksille.... Nannal
      Kotimaiset julkkisjuorut
      159
      409
    17. Valtiomies puhuu?

      "Trump väitti jo aiemmin maanantaina Truth Socialissa, että hän itse riittää suojaamaan maailmaa tekoälyn vaaroilta. – 
      Maailman menoa
      77
      384
    18. 19
      384
    19. Poromiehentien remontti ...

      Mikä tilanne? mistä mennään
      Hyrynsalmi
      6
      383
    20. Onko meillä mies

      Kakki hyvin?🤨
      Ikävä
      27
      380
    Aihe