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

801

    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. Älä unohda minua

      Nainen ethän unohda minua. Asiat olisivat voineet mennä toisin, olisi vain pitänyt uskaltaa lähestyä sinua kun annoit si
      Ikävä
      84
      822
    2. On väärin

      Tykätä ja haluta sua kun tilanne täysin mahdoton mutta minkäs teet. Mun sisällä roihuaa 🔥 kunpa tietäisit mitä sä minus
      Ikävä
      43
      682
    3. Jorma Uotinen läväytti härskin heiton - Paljastus uudesta TTK-romanssista?

      Tuomari Jorma Uotisen linja on välillä hyvinkin rohkea TTK:ssa. Hän näpäytti Jaakko Parkkalille ja Kastanja Rauhalalle v
      Tanssii tähtien kanssa
      12
      658
    4. Valtuuston kokous

      Kyl tuo Anita Ruokani on ihan pihalla,käy aika hitaalla.
      Kemijärvi
      50
      609
    5. Tosi kiva on

      Joo. Mitä olisit menettänyt jos olisit paljastanut itsesi?
      Ikävä
      65
      581
    6. Mitä tunteita

      Sulla vielä on?
      Ikävä
      77
      524
    7. Nyt on nyt

      Turha miettiä menneitä tapahtumia. Niitä ei saa tekemättömäksi. Tärkeintä on mitä tekee nyt ja tulevaisuudessa. Korjausl
      Ikävä
      49
      451
    8. Miehelle

      ❤️
      Ikävä
      33
      444
    9. Näin on!

      Päästy taas iltaan! Jee, päiviä taas yksi vähemmän meidän kohtaamiseen! ❤️
      Ikävä
      42
      404
    10. Saat mut hymyileen suuresti, ja odotan koska saan antaa sulle haleja ja pusuja ihan oikeasti

      En tiedä mikä sussa on, mut sun koko olemus ja ilmeet, ja persoona ja ulkonäkö saa mut vaan hyvälle tuulelle. Oot vaan s
      Ikävä
      14
      389
    11. Martina avautuu

      Martina on päässyt kertomaan Feminassa konkurssistaan. On viettänyt monia unettomia öitä. On elänyt ikäänkuin painekatti
      Kotimaiset julkkisjuorut
      120
      388
    12. Kadutko mies?

      Silloin kuin vielä yritin lähestyä, etkä tarttunut siihen. Asioista pitäisi voida aina keskustella.
      Ikävä
      29
      369
    13. Hyvästi Iisalmen Citymarket.

      Nyt riitti huolimaton kassatoiminta!Nyt sattuu joka toisella käynnillä samaa,joko laskutettu samasta tuotteesta liian mo
      Iisalmi
      18
      362
    14. Hyvää huomenta

      Eräälle Naiselle ❤️‍🩹
      Ikävä
      52
      358
    15. Eläkeikä nousee 70 vuoteen. Joudunko palaamaan työelämään?

      Nyt se on sitten päätetty, että eläkeikä Suomessa nostetaan 70 vuoteen. https://www.is.fi/politiikka/art-2000012324133.h
      Maailman menoa
      119
      353
    16. Se oikea.....

      Hän ei ole sinulle se oikea, jos hän pitää sinua vain yhtenä vaihtoehtona.
      Ikävä
      56
      347
    17. Kyllä ymmärrän sinua

      Mutta silti se sattuu….
      Ikävä
      26
      346
    18. Mikä fiilis

      Onko asiat niin kuin hyvin?
      Ikävä
      59
      343
    19. Mitä järkeä kiusata ihmisiä palstalla

      Luuleeko ne kiusaajat oikeasti, että joku tosissaan ajattelisi niiden haukkujen olevan itselle? Hukkaan menee kiusaajill
      Ikävä
      89
      338
    20. Kaivatun haluaminen

      seksuaalisesti herättää syvältä selkärangasta esiin villieläimellisiä vaistoja sekä haluja peittäen sivistyneen ihmisenä
      Ikävä
      27
      334
    Aihe