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 4 ... 85
21
PS. Ennenkuin alat käytellä noita komentoja, perehdy siihen, mitä olet tekemässä!

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


22
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.


23
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.


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

25
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.

26
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. :)

27

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.


28
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.


29

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

30
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.

31
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.


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

33
Ubuntu tietokoneissa / Vs: Samba, Focal Fossa, Windows 10
« : 27.05.20 - klo:12.50 »
Oletko jollain muulla kun win10 todennut että jako ylipäätään on olemassa ja toimii ?

34
Eli ISP eli internet yhteyden tarjoaja pystyy tarkkailemaan niitä dns hakuja mitä käyttäjät tekevät.

Niin mitä siitä? Se taho joka omistaa ja hallinnoi fyysistä rautaa jonka kautta nettisi kulkee varmasti
voi tarkkailla halutessaan joka bitin jonka lähetät.


35
Ubuntu tietokoneissa / Vs: Samba, Focal Fossa, Windows 10
« : 27.05.20 - klo:08.51 »
itsellä on /etc/smb.conf

Koodia: [Valitse]

[root]
    comment = hpelite root
    path = /
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755


Toiminut jo ties kuinka monta ubuntu versio päivitystä kun se vessa.




36
RAID1 tarkoittaa että on levyt peilattuna 1:1 eli siinä kuuluu oikeasti olla kaksi levyä. Jos nyt vaan on yksi niin
ehkäpä tuo yrittää nyt käyttää uutta leyvyä puuttuvana 1:1 pakan levynä ?


37
Yleistä keskustelua / Vs: Btfrs vs Zfs
« : 18.05.20 - klo:08.18 »
Ainakin se että ZFS on paljon vanhempi ja käytössä enterprais tason järjestelmissä ja voinee siis sanoa luotettavakis.
Btrfs sen sijaan suht uusi ja vielä jokunen aika sitten kun sitä viimeksi kokeili (muutama vuosi) ei suositeltu epästabiilisuuden
vuoksi vakavaan käyttöön.

Käsittääkseni ZFS vaati tosi paljon muistia jotta toimii tehokkaasti.


38
apt-file auttaa löytämään mihin pakettiin mikäkin kuuluu. ei ole vakiona asennettu...
Koodia: [Valitse]
$ apt-file search update-initramfs
backport-iwlwifi-dkms: /usr/src/backport-iwlwifi-8324/scripts/update-initramfs.sh
casper: /usr/share/casper/casper-update-initramfs
initramfs-tools: /etc/initramfs-tools/update-initramfs.conf
initramfs-tools: /usr/sbin/update-initramfs
initramfs-tools: /usr/share/bash-completion/completions/update-initramfs
initramfs-tools: /usr/share/man/man5/update-initramfs.conf.5.gz
initramfs-tools: /usr/share/man/man8/update-initramfs.8.gz
live-tools: /bin/live-update-initramfs
live-tools: /bin/live-update-initramfs-uuid
live-tools: /usr/sbin/update-initramfs
live-tools: /usr/share/man/ca/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/de/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/es/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/fr/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/ja/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/man8/live-update-initramfs.8.gz
live-tools: /usr/share/man/man8/update-initramfs.8.gz

39
Kubuntu on Ubuntu, jossa käytetään KDE - työpöytää. Pellin alta sama järjestelmä.

Juu, näin on. Mutta on se siinä mielessä eri käyttis kun jos ensin asentaisi Ubuntun ja sitten sen päälle KDE:n niin se ei olisi samanlainen kuin Kubuntu. Kubuntussa KDE on integroitu Ubuntuun. Kaikki sellainen ei toimisi Ubuntu + KDE asennuksissa kuin Kubuntussa.

Ei ole mitään erikoisia integrointeja vaan pelkästään työpöytä ympäristöjä, jotka voivat olla asennettu tai ei.

Voi tehdä niin että ensin asentaa ubuntu-server jolloin ei ole mitään työpöytää. Sen jälkeen asentaa minkä tahanasa
työpöydän niin päästään samaan tulokseen kuin kubuntu/xubuntu/XXXXbuntu mitä niitä nyt onkaan.

Vastaavasti voi vaihtaa työpöydän toiseen totaalisesti poistamalla jo asennetun työpöytäympäristön ja sen jälkeen toisen.

Tähän vaihtoon oli ainakin jossain vaiheessa valmiit "scriptit" joka poisti tietyn ympäristön kaikki paketit jolloin päästiin enemmän tai vähemmän samaan tilanteeseen joka on ubuntu-server asennuksen jälkeen.


40
Mikäs tässä härdellissä on niikuin pointti? Mitä tällä kaikella (turhalla) säädöllä saavutetaan? :)


Sivuja: 1 [2] 3 4 ... 85