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 - teele

Sivuja: 1 ... 5 6 [7] 8 9 ... 41
121

byobu näyttää sopivalta ja kokeilukin onnistui hyvin, mutta ennen kuin laitan säikeen ratkaistuksi, yksi tyhmä kysymys: Jos byobulla käynnistetty ohjelma tulostelee vaikka jotain tiedotuksia omasta toiminnastaan ja se jää pitkäksi ajaksi päälle, vievätkö ne tiedotukset jossain aina vain enemmän tilaa vai heittääkö byobu-pääte jossain vaiheessa vanhimmat pois.

122
Jos esimerkiksi pääteikkunassa haluaa käynnistää ohjelman taustalle ja sitten jättää sen sinne, ohjelma pitänee käynnistää & valitsimen kera. Mutta jos ohjelman nimi on vaikka oma_ohjelma1, voiko sen sulkea käskyllä

pkill oma_ohjelma1

Entä jos päätteen sulkee, sammuuko oma_ohjelma1 samalla. Voisiko sen jättää toimintaan ja sitten joskus myöhemmin avata uuden pääteikkunan, jossa sitä voisi hallita eli lopettaa.

Entä jos oma ohjelma on pilvikoneessa, jossa on Ubuntu, ja pitäisi jättää oma_ohjelma1 käyntiin ja katkaista sitten palvelinyhteys. Jäisikö oma_ohjelma1 käyntiin ja voisiko sitä hallita joskus myöhemmin uudella yhteydellä ja ehkä jopa toiselta koneelta.

124


getline näyttäisi kätevältä, mutta jossain netissä on kirjoitettu, että stringstreamin tekeminen merkkijonosta ja sen luku ja käsittely olisivat raskaita työvaiheita. Mutta onko tässä oikeasti perää, onko järkevää yrittää välttää merkkijonon käsittelmistä vuona, jos tarkoituksena on laittaa ne saadut sanat stl-säiliöön.

125
Muotoa

"kirja istuin eläin maantie eilinen syksy"

oleva merkkijono pitäisi saada vector<std::string> muotoon

vec{ "kirja", "eläin", "maantie", "eilinen", "syksy"}

Olen kokeillut
Koodia: [Valitse]
  std::vector<std::string> str_to_vec(char* c)
  {
    std::vector<std::string> vec;
    char *token;
    char *rest = c;
 
    while((token = strtok_r(rest, " ", &rest)))
    {
      vec.push_back(std::string(trim(token)));
    }
    return vec;
  }

Mutta se näyttää vaikutavan alkuperäiseen parametrina tulevaan merkkijonoon :(

Netistä ei oikein löydy hyvää eaimerkkiä strtok-funktiosta tai sitten kukaan ei välitä, mitä alkuperäiselle merkkijonolle tapahtuu?

Voisiko tässä kutsussa olevan *c parametrin jotenkin korvata niin, että strtok ei pääsisi käsiksi alkuperäiseen merkkijonoon niin, että merkkijono muuttuu? Tai olisiko joku muu tapa saada välilyönnein erotellut sanat char-merkkijonosta sanavektoriksi.


Muokk.

En millään saanut strtok -funktiota selvitetyksi. Vaihtoehtona yritin seuraavaa, toivottavasti siinä ei ole mitään ikäviä yllätyksiä tai liikaa hitautta verrattuna valmiiseen funktioon.


Koodia: [Valitse]
  std::vector<std::string> str_to_vec(char* cptr)
  {
    std::vector<std::string> vec;
    std::string tok = "";
         
    while( *cptr != '\0')
    {
      if(*cptr == ' ' && tok != "")
      {
        vec.push_back(trim(tok));
        tok = "";
        cptr ++;
        continue;
      }
      else
      {
        tok += *cptr;
        cptr++;
        if( *cptr == '\0')
        {
          vec.push_back(trim(tok));
        }
      }     
    }     
    return vec;
  }

126

Netistä löytyi monia sokettiohjeita ja niillä tehdään ylensä palvelin ja asiakkaita niin, että palvelin avataan omaansa ja asiakkaita omiinsa pääteikkunoihin.

Mutta jos haluaisi oikeasti testailla, miten vähän tiheämmin tulevat asiakaspyynnöt toimivat tällaisen  palvelimen kanssa, pääteikkunat eivät luultavasti oikein riitä.

Vastaisiko millään tavalla todellisuutta, jos tekisi testiohjelmaan  asiakassäikeitä, jotka pyytäisivät palvelimelta jotain viestiä sopivan tiheäasti. Jos tällaista ohjelmaa ajaisi yhdessä pääteikkunassa, kuvaisiko se millään tavalla tilannetta, jossa palvelimelle tulee oikeasti pyyntöjä ulkomaailmasta eri osoitteista, vai pitäisikö olla aliprosesseja säikeiden sijasta tai jotain muuta?


127
Taas on tullut aikaa leikkiä php:n kanssa ja ehkä nyt taas aluksi voisi kokeilla php:tä vain php:nä. Mutta ohjeen

https://linuxconfig.org/how-to-install-php-on-ubuntu-linux

mukaan tässä asennuksessa tulee apache mukana. Voisiko php:n asentaa ainakin aluksi ilman apachea, jotta voisi kokeilla vaikka php:n socketteja tai muuta sellaista. Onko pelkän php:n asentaminen edes hyvä idea, vai kannattaisiko vain tehdä yllä olevan ohjeen mukaan tai pitäisikö jopa suoraan laittaa LAMP.. Käyttis on Ubuntu 20.04 ainakin vielä vähän aikaa.


128

apt install ei pidä ehdotetusta lisukelistatasta tai jostain muusta syystä abortoi

Koodia: [Valitse]
sudo apt install binutils-doc g++-multilib g++-9-multilib gcc-9-doc gcc-multilib make
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  gcc-9-multilib lib32asan5 lib32atomic1 lib32gcc-9-dev lib32gcc-s1 lib32gomp1
  lib32itm1 lib32quadmath0 lib32stdc++-9-dev lib32stdc++6 lib32ubsan1
  libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libx32asan5 libx32atomic1
  libx32gcc-9-dev libx32gcc-s1 libx32gomp1 libx32itm1 libx32quadmath0
  libx32stdc++-9-dev libx32stdc++6 libx32ubsan1
Suggested packages:
  lib32stdc++6-9-dbg libx32stdc++6-9-dbg make-doc
The following NEW packages will be installed:
  binutils-doc g++-9-multilib g++-multilib gcc-9-doc gcc-9-multilib
  gcc-multilib lib32asan5 lib32atomic1 lib32gcc-9-dev lib32gcc-s1 lib32gomp1
  lib32itm1 lib32quadmath0 lib32stdc++-9-dev lib32stdc++6 lib32ubsan1
  libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libx32asan5 libx32atomic1
  libx32gcc-9-dev libx32gcc-s1 libx32gomp1 libx32itm1 libx32quadmath0
  libx32stdc++-9-dev libx32stdc++6 libx32ubsan1 make
0 upgraded, 31 newly installed, 0 to remove and 1 not upgraded.
Need to get 26,9 MB of archives.
After this operation, 138 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Abort.

Muutenhan lista olisi kätevä, että ei tarvitsisi erikseen kopioida ehdotettuja tiedostoja. Vaikuttaisiko se asiaan, että laitoin jo

Koodia: [Valitse]
sudo apt install g++
aikaisemmin.

129

Areena toimii nyt hyvin.

Koodia: [Valitse]
sudo apt install libavcodec-extra[/code

riitti siihen.

 Koska äyttö vaikkuttaa toiivan hyvinmaiakin omassa peruskäytössäni, kokeilen jättää nvdia-ajurit pois vielätoistaiseksi. Vaikannattaisiko ne aina  asentaa, vähentävätkö ne esimerkiksi gpu-kuormaa.

Kiitos ohjeista :)




130

Laitoin sudo apt install g++. Apt ehdott ivielä seuraavia lisukkeita:

Suggested packages:
  binutils-doc g++-multilib g++-9-multilib gcc-9-doc gcc-multilib make
  autoconf automake libtool flex bison gcc-doc gcc-9-multilib gcc-9-locales
  glibc-doc libstdc++-9-doc

Miten ne saisi yhdellä komennolla, että ei tarvitsisi kirjoitella jokaista aptiin erikseen.

131
Komennolla sudo lshw -C display näkyi

description: 3D controller
       product: GK208M [GeForce GT 740M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom

ja

 description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list


Yle areena valitti Firefoxissa, että videoiden näkymiseen tarvitaan luultavasti ajuri.

Miten nvdia-ohjain pitäisi asentaa Ubuntussa ja mistä sen läytää. Ubuntun asennuksessa ei ollut ruksittu käytäsuljettuja ajureita,voisiko sen jotenkin vielä muuttaa, jos se ratkaisisi asian.

Muokk.

Oheita ohjaimen asennukseen löytyi täältä

https://montblanczone.com/fi/ubuntu-linux-asenna-nvidia-ohjain-uusin-oma-ohjain/

mutta jos ohjaimia ei välttämättä tarvita, voisi ne jättää asentamattakin. Ongelmahan voi olla siinä, että kyseessä on ihna uusi asennus ja ehkä firefox ei vain löydä jotain ohjainta. Mutta miten asiaa voisi selvittää?




132
Itse en onnistunut mitään ohjeita tai manuaaleja löytämään.

Väliaikatuloksena voi kertoa, että jonkunlaisiin asetusvalintoihin pääsee Windowsista painamalla vaihto virtakuvake ja sitten vaihto käynnistä uudelleen, jostain näistä voi päästä bios-asetuksiinkin, toivottavasti.

Mutta edellisen viestin linkistä saa varmaan tarkempia ohjeita ......

Muokk.

Onnistuin saamaan puhelimitse neuvoja ja Ubuntu asentui, mutta ei tunnistanut Windowsia, joten se sitten poistui :)

Ainakiin uefi-asetuksia ja käynnistysjärjestysta muutettiin tikulle sopivaksi. Mutta niin kuin usein käy, en saanut kaikkia vaiheita kirjoitetuksi ylös :(

133
Oletuksen mukaan olen hankkinut Thinkpad edge E351 type 6885 model 688526G -läppärin. Mutta Ubuntu 20.04 -asennus ei oikein viedolä ole onnistunut. Kyseessä voi tosiaan olla oletus, koska koneessa ei ole mitään tarraa tai tyyppimerkintää ulkopuolella. Mallinumero on peräisin bios-asetusohjelmasta, ja toivottavasti
kopioin sen oikein.

Ensiksi olisi mukava päästä käsiksi biosiin niin, että koneen voi muuttaa käynnistymään asennusta varten tehdyltä usb-tikulta. Netistä ei kuitenkaan ole löytynyt tätä mallia koskevia ohjeita biosin muuttamiseksi. Koneessa on Windows 10 ja sitä kautta on biossi kerran saatu näkymään hyvin monimutkaisen menettelyn kaukautta, eli sitä reittiä ei ole mukava kokeilla kovin montaa kertaa.

Jos biosiin pääsee, sitten tulee uefi- ja pikakäynnistysvalinnat, joista luulisi, eddä pikakäynnistys pitää olla valittuna pois. Mutta uefi, pitääkö sen olla legacy tai efi tai jotain muuta.

Käynnistyslaitteeksi luultavasti usb hdd drive, vaikka kyseessähän on tavallinen muistitikku?

Näyttää siltä, että käynnistysnapin painamisen jälkeen näytöllä vilahtaa joku teksti, joka entisinä aikoina kertoi, miten pääsee bios-säätöihin, mutta tässä koneessa vilahdus on niin nopea, että mitään ei ehdi lukea.

Kaikki vihjeet ovat tarpeellisia ja tervetulleita :)





134

Näkyy taas täälläkin. Vika ei ollut katsojan puolella, vaan ylellä oli jotain ongelmia.

135

En huomannut sitä uudistamisilmoitusta, toivottavasti alkaa  taas näkymään.

Kiitos vastauksesta :)

136
Yleistä keskustelua / EU-rajoitukset nettiselailuun
« : 05.04.22 - klo:20.54 »

Luin uutisia Helsingin sanomien sivuilta venäläisestä uutistoimistosta

https://www.hs.fi/ulkomaat/art-2000008730387.html

Jutun lopussa on maininta, että EU on estänyt yhteyden uutistoimiston sivuille.

Onko tämä oikeasti mahdollista, voidaanko EU:ssa noin vain estää sivujen näkymistä. Sivusto olisi artikkelin mukaan ollut nähtävillä EU:n ulkopuolisen vpn:n kautta.

Voisiko EU siis estää muidenkin sivujen näkymistä, jos sivustot eivät sitä miellytä.


137
Olen silloin tällöin katsellut uutisia ylen areenasta, mutta tänään kuvatilassa näkyi vain mustaa, painikkeet näyttivät toimvan. Onko lähetystapaa jotenkin muutettu. Käytössä on Ubuntu 20.04 perusversiona. Miten uutisten katselu onnistuisi taas.


138

Tämän säikeen ansiosta kokeilin ensimmäisen kerran

Koodia: [Valitse]
echo $PATH

ja, tosiaan, vaikuttaa siltä, että sillä saa polun näkyviin :)

139
Ubuntu tietokoneissa / [ ratkaistu } php 7.2 -päivitys
« : 04.03.22 - klo:20.00 »
Laitoin tarjotut päivitykset ja huomasin, että php:n kanssa kehotetaan ajamaan vielä muutamia ohjelmia. Mutta tämä ilmoitus on keskellä päivityksen tekstiselvitystä ja sen  jälkeen tulee vielä ilmoitusta up php.

En oikein osaa teksteistä päätellä, tekikö päivitys jo tarvittavat muutokset itse, vai pitäisikö ne käsketyt ohjelmat vielä ajaa. Niiden nimet ovat ainakin itselleni ihan outoja.

Päivityksen palautetekstiä on tässä alla ja siitä näkyy viitatut kehotukset ohjelmien ajamiseen ja se, että päivitys eteni vielä kehotusten jälkeen. En muistaakseni ole itse koskaan koskenut mihinkään säätöön apachessa, missä olisi ollut jotain proxy-mainintaa.



Koodia: [Valitse]
NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Setting up php7.2 (7.2.24-0ubuntu0.18.04.11) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
Processing triggers for systemd (237-3ubuntu10.53) ...

Muokk.

Näyttää toimivan ilman ohjelmien ajoakin ja versiokikin näyttää oikealta

Koodia: [Valitse]
$ php -v
PHP 7.2.24-0ubuntu0.18.04.11 (cli)

Koska proxy-asioista ei ole mitään käsitystä eikä niihin ole aikasemminkaan koskettu, arvaus on, että tämä säie voidaan laittaa ratkaistuksi :)


140

Post-parametrin välitys aiheuttaa ongelmia libhttpseverissä. Eroaako post-parametrin rekisteröinti get-parametrin rekisteröinnistä libhttpserverissä niin, että httpserver::http_request& hyväksyy vain get_arg -menetelmän get-parametreiile.

Kokeilin tällaista luokkaa

Koodia: [Valitse]
class file_response_resource3 : public httpserver::http_resource
{
 public:
 const std::shared_ptr<httpserver::http_response> render_POST(const httpserver::http_request& req)
{
  std::string datapar06 = req.get_arg("data06");  // ??????
  std::cout << "!!!!!!!data06 on nyt:" << datapar06 << std::endl; // ??????
  return std::shared_ptr<httpserver::file_response>(new httpserver::file_response("textareafile.html", 200, "text/html"));
     }
}; // luokka file_response_resource3 loppuu


tällaisen javascript-funktion kautta

Koodia: [Valitse]
async function fetch_textareafile02() // postina, libhttpserverissä
{                                     // laitettava postiksi
 let response = await fetch('textareafile.html',
     {
      method: 'POST',
      headers: {
                 "Content-Type": "text/plain;charset=UTF-8"
               },
      body: { 'data06': 'ÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅÖÅ ' }
       }
     );
  let text = await response.text();
  form_var = document.getElementById("form01");
  textarea_var = form_var.tekstialue_id;
  textarea_var.value += text + '\t'; 
}

Html sivulla tekstialue päivittyy, mutta libhttpserver-puolella parametrin arvo ei tulostu. Kokeilin myös    post_arg("data06"); , mutta arvaus meni vähän pieleen, koska vain get_arg menetelmä on olemassa. Eroavatko get- ja post-käsittelyt libhttpserverissä jotenkin html-parametrien suhteen, vai teenkö taas jonkun mielikuvituksekkaan virheen tässäkin asiassa.



Sivuja: 1 ... 5 6 [7] 8 9 ... 41