Pieniä kysymyksiä ohjelmoinnista

Viestiketju alueella 'Ohjelmointi, pelikehitys ja muu sovelluskehitys' , aloittaja Kautium, 17.10.2016.

  1. J45U

    J45U

    Viestejä:
    336
    Rekisteröitynyt:
    20.04.2017
    Windowsin palveluiden hallinnasta. Kopioin nyt tuon my.ini tiedoston sinne mistä se yrittää sitä hakea ja homma toimii.
    En tiedä - varmaan kyse siitä mun tuurista, kun mikään ei ikinä ota onnistuakseen.

    Seuraava ohjelmointiin liittyvä kysymys. Miksi ao. koodin määrittämä getApp metodia ei muka "löydy", kun sitä kutsutaan?
    Ja sama ongelma, kun kutsun get_class_methods($obj), niin se tulostaa kiltisti kaikki muut metodit paitsi tuota yhtä eli getApp.

    PHP:
    public function getApp(){
            return 
    $this->app;
        }
      
        public function 
    routes$path )
        {
            
    $app $this->app;
            
    $settings $this->settings;

            
    $config = function( $key$default ) use ( $settings )
            {
                foreach( 
    explode'/'trim$key'/' ) ) as $part )
                {
                    if( isset( 
    $settings[$part] ) ) {
                        
    $settings $settings[$part];
                    } else {
                        return 
    $default;
                    }
                }

                return 
    $settings;
            };

            require 
    $path;

            return 
    $this;
        }
    get_class_methods tulostaa:
    Array ( [0] => __construct [1] => routes [2] => setup [3] => getVersion )
     
  2. K4R1

    K4R1

    Viestejä:
    310
    Rekisteröitynyt:
    25.04.2018
    Ohessa C#-ohjelma jolla luodaan tiedosto ja asetetaan ominaisuudet.

    Jos tiedostolle asettaa Hidden, ReadOnly niin tiedosto on piilotettu ja vain-luku.
    Mutta jos siihen lisätään tuo System, niin silloin tiedosto menee kokonaan piiloon eli edes Resurssienhallinan "näytä piilotetut kohteet" ei näytä sitä.

    Mistä tuo voisi johtua? Tiedosto ei tuhoudu sillä .Exists -metodi antaa "true" eli se on olemassa jossain mutta Windowsin haku ei löydä sitä silloin.

    Ainut keino jolla tuon sai takaisin näkyviin oli määritellä attribuutit uudelleen ilman System -ominaisuutta.

    <code>
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace Esimerkki10_2
    {
    class Program
    {
    static void Main(string[] args)
    {
    string tiedosto = "C:\\Temp\\loki.txt";

    // Luodaan FileInfo-olio.
    FileInfo fileInfo = new FileInfo(tiedosto);

    if (!fileInfo.Exists) // Luo tiedoston jos sitä ei ole.
    fileInfo.Create();

    Console.WriteLine(fileInfo.FullName + " olemassa? " + fileInfo.Exists); // Tarkistaa onko tiedosto olemassa.

    Console.WriteLine(fileInfo.Name + " luotiin " + fileInfo.CreationTime); // Tulostaa tiedoston luontiajan.

    Console.WriteLine(fileInfo.Name + " -tiedoston koko on: " + fileInfo.Length); // Tulostaa tiedoston koon.

    // Asetetaan attribuutit.
    fileInfo.Attributes = FileAttributes.Hidden | FileAttributes.ReadOnly | FileAttributes.System;

    // Tulostetaan tiedoston pääte.
    Console.WriteLine(fileInfo.Name + "-tiedoston pääte on: " + fileInfo.Extension);

    }
    }
    }
    </code>
     
  3. Villae

    Villae

    Viestejä:
    41
    Rekisteröitynyt:
    18.10.2016

    Piilotetuille järjestelmätiedostoille on oma asetus: "Piilota suojatut järjestelmätiedostot" / "Hide protected operating system files (Recommended)"
     
  4. FinlandApollo

    FinlandApollo

    Viestejä:
    97
    Rekisteröitynyt:
    07.03.2017
    Ei ehkä suora ohjelmointikysymys, mutta sattuisiko kukaan tietämään onko ohjelmoinnista olemassa minkäänlaisia ryhmiä tai seuroja, joissa voisi oppia koodaamaan? Itseä sekä yksi ystäväni (totaali noviisi, osaa aivan perus-perusasiat pythonista) Turun seudulla haluaisi oppia paremmin koodaamaan sellasessa mukavassa porukassa, jossa pääsisi myös tekemään yhteisiä projekteja.
     
  5. K4R1

    K4R1

    Viestejä:
    310
    Rekisteröitynyt:
    25.04.2018
    En tiedä onko olemassa suoraan "koodaus-ryhmiä", mutta yleensähän tuollaista ryhmä-koodausta saa kun hakee alalle töihin ja työkavereiden kanssa voi työstää, jos yhteinen kiinnostus löytyy.

    Itse suosittelen tekemään GitHubiin ja StackOverflowiin käyttikset. (sekä lukea Code of Conduct -säännöt)

    GitHubissa voi ladata vapaasti toisten tekeleitä ja leikkiä niillä. StackOverflowssa saa apua erilaisiin koodi-ongelmiin.

    Varsinkin GitHubissa jos löytää mielenkiintoisen projektin ja ottaa yhteyttä projektin luojaan, voi päästä mukaan projektin kehitykseen. (projektin omistaja voi vaatia jonkinlaista osaamisen näytettä).
     
  6. Macu

    Macu

    Viestejä:
    28
    Rekisteröitynyt:
    25.10.2016
    Käykää avoimen kautta yo/amk kursseja sen mukaan mitä lompakko kestää?
     
  7. nnaku

    nnaku I'm object-oriented! Tukijäsen

    Viestejä:
    700
    Rekisteröitynyt:
    28.11.2016
    En kyllä ole kuullut mistään tälläsistä yhteisöistä. Mutta nyt hän te perustatte kahdestaan ryhmän, otatte tästä materialit alkuun. :happy:
    MOOC.fi

    Ei ole väliä mitä tekee, kunhan vaan tekee! Ja netti on täynnä esimerkkeki koodia.
     
  8. oselotti

    oselotti

    Viestejä:
    331
    Rekisteröitynyt:
    02.11.2016
    Ei, kun idea on tehdä sulkeuma ja sitten päästä sen sisälle käsiksi ulkopuolelta.

    En tiedä kyllä vieläkään riittääkö Javan ominaisuudet tuohon, mutta viisaampien avustuksella löytyi esimerkki, joka toimii toisella kielellä. Eli Erlangissa on funktiot fun_info/1 ja fun_info/2 joilla tuo onnistuu niinkuin alun pitäen ajattelin.

    Eli esimerkkinä Erlang/OTP 21 REPL:
    Koodi:
    $ erl
    Erlang/OTP 21 [erts-10.3.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace]
    
    Eshell V10.3.1  (abort with ^G)
    1> Sulkeuma = (fun(X) -> fun(Y) -> X + Y end end)(16).
    #Fun<erl_eval.6.128620087>
    2> Sulkeuma(8).
    24
    3> erlang:fun_info(Sulkeuma).
    [{pid,<0.78.0>},
     {module,erl_eval},
     {new_index,6},
     {new_uniq,<<245,82,198,227,120,209,152,67,80,234,138,144,
                 123,165,151,196>>},
     {index,6},
     {uniq,128620087},
     {name,'-expr/5-fun-4-'},
     {arity,1},
     {env,[{[{'X',16}],
            {eval,#Fun<shell.21.103068397>},
            {value,#Fun<shell.5.103068397>},
            [{clause,1,
                     [{var,1,'Y'}],
                     [],
                     [{op,1,'+',{var,1,...},{var,...}}]}]}]},
     {type,local}]
    4> {env, [{[{_, X}], _, _, _}]} = erlang:fun_info(Sulkeuma, env).
    {env,[{[{'X',16}],
           {eval,#Fun<shell.21.103068397>},
           {value,#Fun<shell.5.103068397>},
           [{clause,1,
                    [{var,1,'Y'}],
                    [],
                    [{op,1,'+',{var,1,'X'},{var,1,'Y'}}]}]}]}
    5> X.
    16
    6>
    Näin sen X:n arvon sai selvitettyä REPL:issä. Erittäin kiehtovaa. Onnistuisikohan sama myös Clojurella?
     
  9. J45U

    J45U

    Viestejä:
    336
    Rekisteröitynyt:
    20.04.2017
    Joltakulta löytyy varmaankin kokemusta lomakkeista ja olioiden instansseihin liittyvän komposition tai aggregation hanskaamisesta?

    Tuntuu olevan kehittäjien varassa vai löytyykö joku oikeasti älykäs kehys tai muu, joka pystyy luomaan ja käsittelemään lomakkeen, jolla luodaan instanssi tai useampi useammasta eri luokasta, jotka liittyvät toisiinsa?

    Näin yhtäkkiä vaikuttaa hyvin yleiseltä käyttötapaukselta, mutta jota ei ole jostain syystä ratkaistu suoraan kehyksissä?
     
  10. Lare

    Lare Error 404 Tukijäsen

    Viestejä:
    1 109
    Rekisteröitynyt:
    13.11.2016
    Nyt olen jumissa.

    Eli on lista, joka sisältää esimerkiksi merkkijonot TUV, WXYZ, TUV tuossa järjestyksessä. Lisäksi on tiedosto, josta pitäisi etsiä kaikki sanat, joiden eka kirjain alkaa kirjaimilla t, u tai v ja toinen kirjain on w, x, y tai z ja kolmas kirjain pitää olla taas t, u tai v. Tuon pitää myös toimia minkä tahansa kokoisella listalla, eli merkkijonoja listassa voi olla yhdestä äärettömään.

    Scanneria käytän tiedoston lukemiseen ja se toimii, mutta en vain keksi algoritmia, joka osaa verrata listan ekan merkkijonon merkkejä tiedoston rivien ekaan kirjaimeen ja niin edelleen.

    Apuja? Kielenä java. Toivottavasti osasin selittää tarpeeksi hyvin.
     
  11. Stephen Elop

    Stephen Elop

    Viestejä:
    639
    Rekisteröitynyt:
    07.03.2017
    Koodi:
    (tiedosto[i+0]== t | u |v) && (tiedosto[i+1]== w | z | y |z) && (tiedosto[i+2]== t | u |v)
    
    Tossa vähän apua.

    Edit: Korjailua.
    Edit: Viel pienet korjailut.
     
    Viimeksi muokattu: 11.05.2019
    Lare ja Hessu tykkäävät tästä.
  12. yksvaan

    yksvaan

    Viestejä:
    47
    Rekisteröitynyt:
    26.11.2018
    Pseudokoodina sinne päin koska en muista varmasti syntaksia:
    String re;
    for (String str : lista) {
    re= re+ '[' + str + ']';
    }

    Matcher m=Pattern.compile('\b' + re).matcher(input)

    // tai streamina jos iso tiedosto

    List<String> matches = new ArrayList<>();
    while (m.find()) {
    matches.add(m.group(0));
    }
     
    Lare tykkää tästä.
  13. Lare

    Lare Error 404 Tukijäsen

    Viestejä:
    1 109
    Rekisteröitynyt:
    13.11.2016
    Ei vain suju. Selitän koko jutun nyt tarkemmin :D

    Eli ideana on perinteinen kännykän näppäimistö ja yhtä näppäintä painamalla hakee kaikilla kirjaimilla, mitä sen numeronäppäimen takana on. Esimerkiksi painamalla 258 hakee listasta merkkijonoja, joiden eka kirjain on A, B tai C, toinen kirjain J, K tai L ja kolmas T, U, V.

    Jos listassa olisi vaikka merkkijono AKU ANKKA tai ALUSTA, ohjelma osaa hakea ne noilla tiedoilla. Numeroita pitää pystyä myös syöttämään yhdestä rajattomaan.

    Kunnon silmukoilla ja ehtolauseilla koko illan pähkäillyt, mutta en saanut mitään kunnolla toimivaa aikaan. Nuo kirjaimet laitoin taulukkoon ja taulukon indeksi vastaa näppäimen numeroa.
     
  14. kaakau<"'\\/>

    kaakau<"'\\/>

    Viestejä:
    403
    Rekisteröitynyt:
    02.11.2016
    Toimisiko tämä, en testannut. Tämän lisäksi sitten funktio, joka etsii seuraavan sanan tiedostosta ja syöttää sen tälle funktiolle.

    Koodi:
    public bool stringStartsWith(String s, List<String> charList) {
      if (s.length() > charList.length())
        return false;
    
      int i = 0;
      for (String chars : charList) {
        bool found = false;
        char stringChar = s.charAt(i++));
        for (char c : chars.toCharArray()) {
          if (c == stringChar) {
            found = true;
            break;
          }
        }
        if (!found)
         return false;
      }
      return true;
    }
    
    String line = ...
    List<> charList = new ArrayList<>({"TUV",  "WXY", "TUV"});
    if (stringStartsWith(line, charList)) {
      ...
    
     
  15. JaniKari

    JaniKari

    Viestejä:
    355
    Rekisteröitynyt:
    28.12.2016
    Muuttaisin haku sanat numeroiksi sekä indeksiksi alkuperäiseen sanaan ja sorttaisin numerot järjestykseen. Aina kun numero painetaan päivittäisin missä kohdassa ollaan sortatussa listassa. Listasta löytää helposti ja nopeasti näppäimiin sopivat sanat.
     
  16. Lare

    Lare Error 404 Tukijäsen

    Viestejä:
    1 109
    Rekisteröitynyt:
    13.11.2016
    Suuret kiitokset! Pienillä muokkauksilla tuntuisi toimivan ja vihdoin pääsen tehtävässä eteenpäin :)
     
  17. XBTC

    XBTC

    Viestejä:
    82
    Rekisteröitynyt:
    03.06.2017
    Ehkä tyhmä kysymys, mut kysytään kuitenki.. mikä ero datanomil ja viestintä- ja tietotekniikalla?
     
  18. nnaku

    nnaku I'm object-oriented! Tukijäsen

    Viestejä:
    700
    Rekisteröitynyt:
    28.11.2016
    Kysymyksen muotoilusta 5/5, mutta koitetaannyt arvata mitä tässä haetaan.

    Datanomi - Tieto- ja viestintätekniikan perustutkinto - Ammattikoulu 3v
    Tradenomi - Tietojenkäsittely - AMK 3,5v
    Insinööri - Tieto- ja viestintätekniikka - AMK 4v
    Kandi ja Maisteri - Tietojenkäsittelytiede - YO 3+2v

    Jos koulunpenkintä aikoo alalle, niin lukiosta on enemmän iloa, kun datanomin papruista.
     
    hsalonen, hmb, Xiyng ja 2 muuta tykkäävät tästä.
  19. Barbarossa

    Barbarossa

    Viestejä:
    347
    Rekisteröitynyt:
    17.10.2016
    Melkein topicin valinnasta vielä bonuspiste.

    Mutta lisäisin ehkäpä ylläolevaan tieto(liikenne)tekniikan TkK/DI:n.
     
  20. XBTC

    XBTC

    Viestejä:
    82
    Rekisteröitynyt:
    03.06.2017
    kiitos kaikista pisteistä :)
     
  21. vrds

    vrds

    Viestejä:
    325
    Rekisteröitynyt:
    14.12.2016
    Tuo tradenomi pitäisi heivata kokoaan pois, ellei jo ole tehty niin. Typerää pitää 2:ta eri AMK-tutkintoa, joilla ei ole käytännössä mitään tekemistä keskenään (sori vaan tradenomit mutta täysin turha taso, kun on liian monta tutkintotasoa). Amis-tutkinto (It-alalla tosin nykyään ei pitkälle pötkitä sillä enää), Insinöörin Amk-tutkinto ja lisäksi DI/maisterin pahvit, nuo koulutustasot tekisivät paremmin järkeä.

    AMK:n voisi ponnistaa amiksesta, kuten tehtiin aikoinaan ennen helvetin tyhmää AMK-uudistusta, jossa piti saada lisää "korkeakoulututkinnon" omaavia. Tuntuu että jokainen ammatillinen tutkinto pitää olla nykyään AMK, vaikka ei tarvitsisi. Vanha teknillinen oppilaitos rivi-insinööreille oli järkevä koulutustaso ja harmi että se romutettiin AMK:n takia. Ennen teknikkokin oli ihan arvostettu koulutustaso, jonka olemassaolosta nykyään enää harva edes tietää.
     
  22. null

    null

    Viestejä:
    534
    Rekisteröitynyt:
    06.11.2016
    Nyt meni sormi suuhun. Tarkoituksena on suodattaa OpenWeather Mapin Api datasta kolmen seuraavan päivän korkeimmat lämpötilat javascriptillä. Korkeimmat lämpötilat (sekä mahdollisestin muutakin dataa siihen liittyen) näyttävät asettuvan kello 15:00 ja tuosta datasta löytyy aikaleimat kohdasta dt_txt. Tuo data päivittyy 3 tunnin välein.

    Indeksistä 0 löytyy tämän hetken sää. Seuraavassa indeksissä on aina sää kolmen tunnin kuluttua edellisestä.

    Ei tässä mitään valmista koodia haeta, mutta hieman osviittaa miten tuo olisi järkevä ratkoa ja miten tuota dataa suodatetaan.

    Annotation 2019-05-16 223524.png
     
  23. kaakau<"'\\/>

    kaakau<"'\\/>

    Viestejä:
    403
    Rekisteröitynyt:
    02.11.2016
    Käy listaa läpi ja laske indeksi nykyisen päivän ja ennustepäivän välisestä erosta. Lopeta jos se on suurempi kuin kaksi, tai kolme jos haluat kuluvan päivän ja seuraavat kolme päivää. Lisää seuraava ennustelämpötila taulukkoon indeksin kohtaan, jos siinä indeksissä ei ole lämpötilaa tai nykyinen ennuste on suurempi kuin taulukossa oleva.

    Edit. Indeksin voi laskea vaikka niin, että ensin tallettaa nykyisen päivän muuttujaan. Ennusteita läpi käydessä tarkistetaan onko ennusteen päivä sama kuin ennen ja jos ei ole, niin indeksiä kasvatetaan yhdellä ja päivämuuttujaan vaihdetaan uusi päivä. Päivänä siis päivä kuukaudesta, eli 1-31, ei muuta.
     
    Viimeksi muokattu: 16.05.2019 klo 23:28
    null tykkää tästä.
  24. null

    null

    Viestejä:
    534
    Rekisteröitynyt:
    06.11.2016
    Kiitoksia. Lähden siis ratkomaan tätä jotakuinkin noin.
     
  25. wex

    wex

    Viestejä:
    22
    Rekisteröitynyt:
    18.11.2016
    Toinen vaihtoehto on ruma tekstifiltteröinti, tyyliä data.list.filter((v) => (v.dt_txt.indexOf('15:00:00') !== -1));
     
    null tykkää tästä.
  26. null

    null

    Viestejä:
    534
    Rekisteröitynyt:
    06.11.2016
    Ehkä ruma, mutta näyttäisi toimivan hienosti.
    Tack.
     
  27. Nigel

    Nigel

    Viestejä:
    268
    Rekisteröitynyt:
    23.10.2016
    Tein pienen Javascript-sovelluksen, joka lukee csv-tiedoston tekee siitä html-taulukon. Html-taulukon päällä on dynaaminen hakukenttä, jolla pystyy filtteröimään taulukkoa.

    Ratkaisu toimii nätisti VS Coden Live Serverillä, mutta tuo tarvisi saada toimimaan jotenkin myös standalone-tilassa ilman servua ja VS Codea. Tarkoitus on, että tuotannon pojat saa offline-tilassa sen omalta koneeltaan auki.

    Miten tätä kannattaa lähestyä?
     
  28. Zigh

    Zigh

    Viestejä:
    967
    Rekisteröitynyt:
    17.10.2016
    Pistät filtteröintiin tarvittavan JS-koodin samaan HTML-tiedostoon niin olisi ainakin aika yksinkertainen ja pommin varma ratkaisu. Onko nyt joku erityinen ongelma miksi se ei toimi offline?
     
  29. Nigel

    Nigel

    Viestejä:
    268
    Rekisteröitynyt:
    23.10.2016
    Javascriptin pitää ladata samassa kansiossa oleva csv-tiedosto.
     
  30. Zigh

    Zigh

    Viestejä:
    967
    Rekisteröitynyt:
    17.10.2016
    How to open a local disk file with JavaScript?

    Mutta tuokin vaatii, että käyttäjä valitsee tiedoston. Mitää keinoa lukea JS:llä käyttäjän koneen tiedostojärjestelmää ei tietoturvasyistä ole.
     
  31. hsalonen

    hsalonen

    Viestejä:
    7 207
    Rekisteröitynyt:
    17.10.2016
    Miksei laita server side includella sitä dataa suoraan js/html-tiedostoon?
     
  32. Nigel

    Nigel

    Viestejä:
    268
    Rekisteröitynyt:
    23.10.2016
    Thanks. Tein nyt File API:lla tämän. Ihan riittävän hyvä.

    CSV:n pitää olla helposti päivitettävissä. Nyt riittää, että exporttaa kerran viikossa tiedoston ERP:stä.