Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - _Pete_

Sivuja: [1] 2 3 ... 85
1
Isoista ei ole kokemusta nyt varsinkin korona aikaan esim. courseralla on ollut paljon ilmaisiakin kursseja.

2
Yksi tapa on asentaa OpenVPN serverin ja kotikoneiden välille. Tämän jälkeen yhteys toimii kumpaankin suuntaan VPN putken kautta.

3
No kokeilitko pääseekö kirjautumaan vaihdetulla salasanalla? Sillähän se selviää vaihtuiko vai ei :)


4
Tässä on jollain ollut vastaavia ongelmia, ehkä joku sen jipoista toimii:

https://askubuntu.com/questions/980314/cannot-install-mysql-server-in-ubuntu16-0-4

Jos oikein käsitin tuon niin ongelma alunperin siitä että on yritetty sekaisin asentaa mariadb ja mysql ? Onko sulla sama tilanne ?

5
Tuossa omituista että on eri versiota paketeista. Lähinnä kiinnostaa miten sellaisen on saanut aikaan?

Ja tuohon liittyen oliko jo tarkistettua että apt source:t on kunnossa ?

6
Tuossa omituista että on eri versiota paketeista. Lähinnä kiinnostaa miten sellaisen on saanut aikaan?

7
Onkoos tuo office jo vakiona mukana?
Takavuosina se piti ostaa erikseen.

Ei kauankaan kun tuli ruokakuntaan uusi kone, siinä oli W10. Mutta en huomannut kokeilla mitä siitä löytyy.
Hmm. Taisin yrittää levystä imagen ennen kuin asensin käyttiksen. Millaisia tiedostonimiä kannattaisi koettaa kaivella? Joku -exe kaiketi, mutta onko tarkempaa vinkkiä?

Asenna yritetystä imagesta virtuaalikoneeseen niin voit kokeilla.

8
Kuitenkin valintataulukkoja on oikeasti vain yksi, johon yksi käyttäjä tekee vain muutamia muutoksia.  Olisi kätevää, jos taulukko voisi olla vaikka koko ajan taustalla toimivassa c++ -ohjelmassa ja sivunkäyttäjän php voisi kysellä tarvitsemiaan tietoja siltä.

Olisiko tämäntapainen järjestely mahdollinen tai miten asiaa voisi ratkoa.

Eikö jokaisella pelaajalla pidä olla oma henkilökohtainen valintataulkko, miten muuten voisi pitää kirjaa eri pelaajien valinnoista.

Tällaisten talletukseen tietokanta on hyvä valinta. C++ ohjelmassa pitäisi kuitenkin jotenkin persistoida tiedot etteivät ne häviä kun ohjelma
lopetetaan.

9
PS. Ennenkuin alat käytellä noita komentoja, perehdy siihen, mitä olet tekemässä!

Ennne "tosi käyttöä" testi hakemistoon kokeilemaan mitä tapahtuu.


10
Tähän asti olen ymmärtänyt

Koodia: [Valitse]
chown Maija *.txt --from=Liisa

Menisikö oikein, jos haluttaisiin muuttaa kaikki Liisan tekstitiedostot Maijan omistukseen.

Kokeilemallahan se selviää äkkiä. Pitää huomioida se että jos komentoa ei aja sudolla pitää sillä tunnuksella jolla chown ajetaan olla oikeudet muuttaa kyseisiä tiedostoja, muuten ei toimi.


11
https://medium.com/@anusha.sharma3010/ci-cd-for-php-using-jenkins-as-ci-server-and-apache2-as-deployment-server-dec954be0271

Tuo on ihan toimiva ohje.

Siinä AWS ympäristöt voi korvata hyvin alussa testaillessa joko VM instansseilla tai sitten niinkin että ajaa kaikkea omassa linuxissa eli AWS linuxien tilalla on localhost.


12
Jos kiinnostusta riittää tuohon "ammattimaiseen" tapaan niin voin opastaa alkuun.

13
Onko tuossa väärää ja oikeaa tapaa tehdä tätä julkaisua ? Toki ammattipiireissä panostetaan ihan eri tavalla mutta jos tekee koodausta ihan harraste pohjalta tai se on pienimuotoista niin  CI-ketjun pystyttäminen on turhaa ja ylimitoitettua.

Kait sinulla on kuitenkin  versionhallinta käytössä ?

Eipä siinä väärää ole jos haluaa tehdä asiat vaikean kautta. Ilmeisestikkin tarkoituksena opiskella ohjelmointia niin samalla
voi aivan hyvin opiskella devops juttuja joihin CI kuuluu. Ei ole ollenkaa turhaa että osaa myös nekin. Perus CI commit -> deploy on melko yksinkertainen virittää toimimaan ja on pidemmän päälle aikaa ja hermoja säästävä ihan koti harraste touhuissakin.

14
Miten "ammattipiireissä" asiat oikeastaan tehdään.

Siten että koodit kommitoidaan versionhallintaan ja sieltä CI kautta tehdään deploy serverille ajoon.

Eikä siis missään nimessä tuolla tapaa väärin päin kuten sinä teet. :)

15

Suora linkki Dropbox-jakooni on
https://www.dropbox.com/sh/njgchl6ym67sqwc/AAAygWRXRcHw-1d8VJ9xASmQa?dl=0

Olet tässäkin keksinyt pistää pariin kohtaan turhaan threadin joka käynnistyessään ei tee mitään ja siis on tämän ohjelman toiminnan kannalta ihan turha. Transaktiot eivät ole sama asia kun Thread. Niiden tarkoitus on suojata käytettyjä resursseja niin että yhtä resurssia ei voi muuttaa transaktion aikana muualta ja tarvittaessa kaikki transaktion sisällä tehdyt resurssien muutokset ja voidaan palauttaa tilaan joka oli ennen transaktion alkua.


16
Joo, Sama Testi - luokkahan siinä leikepöydältä pohjaksi tuli copy-pastella. Muutin ainoastaan tuon isActive()-poiston ja lasken vielä hengissä olevat prosessit suoraan tuon Thread-tyyppisen ilmentymän isAlive()-metodia käyttämällä, kuten tässä oli kommentteissa koodistani.

Sitä juuri tarkoitin että on sellainen copy/paste tyylinen ratkaisu joka sattuu toimimaan vahingossa. TestiB luokan main() luodaan instanssi vanhasta Testi luokasta ja sen koodi suoritetaan eikä ollenkaan TestiB luokan koodia.


17

Taas avoin kritiikille tässä perus-säie-casessa. Nyt Java- semantiikka on kohdallaan ilman mitään epäselvyyksiä?

Nythän ilman mitään ylimääräisiä sekoiluja kaikki säikeet ovat käynnissä, kuten konsolitulostekin ilmoittaa:

Koodia: [Valitse]
Säie nimeltä Jere (ID - 10) on hengissä!
Säie nimeltä Ilkka (ID - 11) on hengissä!
Säie nimeltä Tino (ID - 12) on hengissä!
Säikeitä kaiken kaikkiaan olemassa: 3, joista elossa: 3 ja kuolleita: 0


Uudessa TestiB:ssä edelleen käytetään vanhaa Testi luokkaa.

Ja Threadit eivät vieläkään oikeasti tee mitään. Se että ne näkyy olevan hengissä johtuu siitä että eivät ole ehtineet luonnin - tyhjän run()  kutsumisen jälkeen vielä kuolemaan ja tulleet siivotuksi pois

18
Joo, no toi static -avainsana rikkoo tiedon kapselointi-periaatetta tietotyyppiä määrittäessä. Lisäksi turvallisuusriski, kun staattisiin attribuutteihin pääsee käsiksi suoraan ulkopuoliset ja arvot voi sitten olla mitä on.

static ei liity kapselointiin mitenkään vaan siitä vastaa public/protected määritykset.

Pitää siis selvittää mikä ero on luokka muuttujalla (=static) vs luokan INSTANSSI muuttujalla.

19
Tämä perusteet tästä säie-ohjelmoinnista pitäisi mennä jakeluuni ennen, kuin alkaa jotain järkevää ohjelmointia suunnittelemaan näiden säikeiden käsittelyn ympärille. Vieläkin tässä jokin mättää.

Sen lisäksi että perusteet säie-ohjelmoinnista on hyvä kerrata ensin myös java/oo-ohjelmoinnin perusteet mitä tarkoittaa perintä ja sen suhteen mikä ero on luokka- ja instanssi muuttujalla, nyt tuossa FooThread luokassa niitä on oudolla tapaa käytetty:

    private static Thread saie;


Lisäksi koska FooThread itse jo toteuttaa Runnablen (= säie) ei sen sisällä tarvitse luoda turhaa Threadia ja käynnistää sitä tekemään saman ei mitään kuin alkuperäisessa versiossa.

Sitten on harhaanjohtavaa "yli kirjoittaa" metodeita eri nimellä niin että niiden käytöstä saa väärän kuvan. Voi ihan suoraan kutsua FooThread instanssin isAlive() metodia sen sijaan että kutsuisi isActive(). active/alive ovat eri asioita eikä niitä kuulu tuolla tapaa nimetä väärin ja sotkea.

Nyt tuo toteutus ei aja omana säikeenä ollenkaan FooThread luokan instansseja vaan:

1) Luodaan FooThread instanssi

2) Tämän constructorissa luodaan turha säie joka käynnistetään ja ei tee mitään

3) Kutsutaan constructorissa luodun instanssin run() metodia.

Tämä kaikki tapahtuu ohjelman main-thread toimesta.


20
Vaikka Thread:t on luotu ja käynnistetty ne eivät ikinä tee mitään koska niiden run() metodia ei ole määritelty/ylikirjoitettu.

Sivuja: [1] 2 3 ... 85