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] 2 3 ... 42
1
Olisiko jotain tekstinkäsittelyohjelmaa, joka osaisi tehdä vaikka kaksipalstaista html-koodia. Kokeilujen mukaan palstat eivät onnistu libreofficen tekstinkäsittelyllä, muistaakseni ei kumpaankaan suuntaan.

Ehkä on joku muu tapa kirjoittaa suunnilleen oikein myös selaimessa näkyvä sivu, joku sivusto tms?

2

Tällekin ongelmalle on siis ratkaisu. Toisen indexin paikka on käyttäjän kotihakemistossa, toisen paikka on alihakemistossa, jossa ei ole käyttäjän piilotiedostoja. Tällainen selitys ei tullut heti mieleen, kun piilotiedostot eivät tule usein esille tiedostoselaimella tai perus ls:llä hakemistoja katsellessa.

Kiitos vastauksesta :)

3
Kokeilin php:n scandi-komentoa

Koodia: [Valitse]
$my_files = array_slice(scandir( "./" ), 2);
slice on mkana vain poistamassa ylähakemistomerkintöjä eli ./ ja ../  -sanat tuloksesta, muuten näkyy hakemiston tiedostot. Näin toivoisinkin asian olevan, ja näin php toimii toisella virtuaalidomainilla pilvikoneessa.

Mutta sama komento toisessa domainissa tulostaa lisäksi selaimessa

Koodia: [Valitse]
bash logout
bashrc
cache
cloud-locale-test
gnupg
local
profile

Mielestäni laitoin ihan samanlaisena php-sivun kumpaankin virtuaalidomainin indexinä.

Olisiko virtuaalidomaineilla joitain säätöjä, joita pitäisi muutella, mutta miksi ne olisivat erilaisia, en ainakaan tietääkseni ole ollut asian kanssa missään tekemisissä aikaisemmin enkä ole yrittänyt mitään muutoksia tehdä.




4
php:llä pitäisi korvata pikku pätkä nettisivun tekstiä. Tämä versio ei näytä toimivan

Koodia: [Valitse]

<?php

function replaceVariable($body$s$e$replacement)
{
  while(
strpos($body$s) )
  {
    
$start strpos($body$s);
    
$end strrpos($body$e);
    
$body substr_replace($body,  $replacement $start+4$end-$start+4);
  }
  return 
$body;
}

$var "333 uusiotsikko 444";
$body file_get_contents(&#39;index2.html&#39;);
$newBody1 replaceVariable($body"333 "" 444" ,$var); 
file_put_contents(&#39;index3.html&#39;, $newBody1 );
?>



Ongelma vaikuttaa olevevan se, että korvattavan alussa on sama tokeni kuin korvaavassa tekstissä vaikka lisäyspaikan alkua on kokeilun takia jopa siirretty 4 merkkiä eteen päin.

Käytännön ongelma voisi olla vaikka tällainen

<h1>  vanha otsikko </h1> 

halautaan korvata nettisivulla tekstillä

<h1> uusi otsikko </h1>

Kokeilujen mukaan ongelma on se, että korvattava pätkä alkaa samalla tokenillä kuin korvaava. Kyse lienee niin yleisestä toimesta, että sen pitänee hoitua helposti eli tässä yrittämässäni versiossa on varmaan jotain periaatteellista häikkää.

Miten oikeassa nettimaailmassa uusittaisiin php:llä joku otsikko nettisivulla.

Muokk.

Kahden tokenin rajoittaman tekstin korvaaminen näyttäisi onnistuvan kikkailun avulla

Koodia: [Valitse]
function replaceVariable($body, $s, $e, $replacement)
{
  while(strpos($body, $s) )
  {
    $start = strpos($body, $s);
    $end = strrpos($body, $e);
    $body = substr_replace($body,  $replacement , $start, $end-$start+4);
  }
  return $body;
}

$var = "555 uusiotsikko 444";
$body = file_get_contents('index2.html');
$newBody1 = replaceVariable($body, "333 ", " 444" ,$var); //////// äääääääääääääääääääääääääääääääääääääää
$var = "333 uusiotsikko 444";
$newBody2 = replaceVariable($newBody1, "555 ", " 444" ,$var);
file_put_contents('index3.html', $newBody2 );


Mutta luulisin, että asia on niin yleinen, että sen hoitamiseen ei tarvita kikkailua. En oikein uskaltaisi tällaisessa tilanteessa laittaa säiettä ratkaistuksi.



5
Tarvitseeko zoom, teams tai jitsi javascriptin päälle tai perustuuko keskusteluvälitys pelkkään html 5:een. Jitsi voi ainakin vaatia javascriptiä, mutta onko kyse teknisestä vaatimuksesta vai sivun pitäjän halusta saada javascript päälle.

Mieluusti pitäisi javascriptin pois päältä, jos sitä ei oikeesti tarviata.



6
valgrind on itselleni uutta ja luultavasti hyödyllistäkin tietoa, pitääpä tutustua aiheeseen.

kiitoksia vihjeestä  :)


Muokk.

pikaisella lukemisella näyttää siltä, että muistintarkistusohjelmat osaavat etsiä vapauttamattomia muistialueita, new  -peräisiä tai mallocoituja tai alueita, joihin on osoite, vaikka osoitetta tai aluetta käytetä enää.

Tällaiset tapaukset ovat vähän kuin ohjelmoijan huolimattomuusvirheitä. Hakemiston tapauksessa std-oliot vapautetaan luultavastikin oman koodin osalta. Mutta jos avaimien hännät ovat eripituisia, vapautettavat muistipätkät ovat erimittaisia ja sijaitsevat siellä täällä koneen muistitilassa.

Pirstaloituva muisti pitäisi kai jotenkin siivota yhtenäiseksi. Toivottavasti kääntäjän tekijät ovat ottaneet asian huomioon?


7

Kysymyksenä oli, vapauttaako c++ oikeasti muistia, kun hakemistoon lisäillään ja sieltä poistellaan avaimia täysin eripituisine häntineen.

Nettiselvittelyn perusteella näyttäisi siltä,

https://lemire.me/blog/2020/03/03/calling-free-or-delete/

https://notes.secretsauce.net/notes/2016/04/08_glibc-malloc-inefficiency.html

https://www.geeksforgeeks.org/delete-and-free-in-cpp/

että vastaus voisi olla muotoa "Saattaapi vapauttaa mutta saattaapi olla vapauttamattakin" eli asia riippuu vapautettavista kooista ja kääntäjän parametreista.

malloc_trim -komennolla voinee vaikuttaa vapauttamistoimintoon, mutta silläkin on omat parametrinsa.

Mielenkiintoinen kokeilu olisi, millaisilla häntäpituuksilla ja malloc_trim -parametrien arvoilla päästäisiin surimpaan tai pieneimpään muistirohmuamiseen.

Mutta ehkä kysymys on ratkennut niin paljon, kuin se harrastelijan kannalta voi ratketa, joten uskaltanen laittaa sen ratkaistuksi?


8
Hakemisto on tosiaan muotoa

std::map<std::string, std::vector<std::string>>

niin kuin vastauksessa.

Kun tästä hakemistosta poistellaan avaimia eripituisine häntineen, niin muistitilaan syntryy erikokoisia koloja, koska poistojärjestys voi olla mikä vain. c++ vapauttaa poistetun tilan, mutta mitä oikeasti tapahtuu muistiavaruuden alueessa, joka sisältää eripituisia vapaita pätkiä siellä täällä. Miten c++ osaa ne hyödyntää tai pirstoukuuko muisti vain ja tarvittava uusi muistitila oteaan uudelta, käyttämättömältä alueelta.



9
On kohtalainen joukko merkkijonoalkioita, joita laitetaan c++ sdt:map:iin niin, että yksi alkio on avain ja sen häntänä on vaihtelevan pituinen vektori muita joukon merkkijonoalkioita.

Mikä tahansa joukon merkkijono voi olla avaimena ja mitkä tahansa muut merkkijonoalkiot voivat kuulua sen häntään.

Kun mikä tahansa avaimena oleva merkkijonoalkio tekee muutoksia häntäänsä, hakemistossa korvataan sille uusi, muutettu häntä eli koko avain-häntä-pari korvataan uudella avain-häntä-parilla hakemistossa.

Vanhasta hännästä taitaa tulla roskaa. Osaako std:map huolehtia roskistaan vai jääkö se ohjelmoijan tehtäväksi. Mitä tapahtuu, jos map-rakenteessa muutetaan ja korvaillaan häntiä pitkä aika, kerääntyvätkö roskat jonnekin?



10

Oma ajatusvirhe selvästi. Kaksi vektori-iteraattoria tuntuivat niin ilmeisiltä vektorin alustusparametreila, että en ymmärtänyt, että melkein minkä tahansa itsekin määritellyn tyypin muodostimessa voisi olla kaksi vektori-iteraattoria. Se, että ne sopivat vektorin alustusparametreiksi, ei tietenkään tarkoita, että ne sopivat vain vektorin alustusparametreiksi.

Kiitoksia :)

11
Netin ohjesivulla

https://www.tutorialspoint.com/cpp_standard_library/cpp_vector_range_constructor.htm

on hyvä esimerkkiohjelma, jonka voi kääntää suoraan sivulla. Tässä ohjelmassa vektorin v2 esittely ei toimi autona, vaikka näyttäisi, että kääntäjällä on tarpeeksi tietoa vektorin tyypin määrittelmiseksi. Yritin saada siistimmän näköistä ohjelmakoodia auton kanssa, mutta ei siis onnistu.

Mikä auton rajoite tässä kohtaa voisi olla kyseessä, miksi auto ei toimi. Kääntäjä antaa kyllä pitkät selitykset, mutta en oikein osaa niitä liiemmälti tulkita.

Tässä on alkuperäinen ohjelma, joka toimii

Koodia: [Valitse]
#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v1(5);

   /* assigned value to vector v1 */
   for (int i = 0; i < v1.size(); ++i)
      v1[i] = i + 1;

   /* create a range constructor v2 from v1 */
   vector<int> v2(v1.begin(), v1.end());

   for (int i = 0; i < v2.size(); ++i)
      cout << v2[i] << endl;

   return 0;
}

ja tässä autoversio, joka ei toimi


Koodia: [Valitse]
#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v1(5);

   /* assigned value to vector v1 */
   for (int i = 0; i < v1.size(); ++i)
      v1[i] = i + 1;

   /* create a range constructor v2 from v1 */
   auto v2(v1.begin(), v1.end());

   for (int i = 0; i < v2.size(); ++i)
      cout << v2[i] << endl;

   return 0;
}



12

Niinhän se pitää tehdä,  pelkkä piste,  kiitos neuvoista  :)

13
Pilvikoneelle pääsee kirjautumaan ilman salasanaa, koska joskun olen tehnyt avaimen

Koodia: [Valitse]
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

ja lähettänyt sen pilvikoneelle tiedoksi

Koodia: [Valitse]
ssh-copy-id remote_username@server_ip_address
Mutta kun yritin kopioida pilvikoneelta tiedostoa kotikoneelle, tuli

Koodia: [Valitse]
/./tiedosto.odt: Permission denied
Yritetty komento kotikoneelta oli

Koodia: [Valitse]
scp -r pilvikäyttäjä@xx.xx.xx.xx:/home/pilvikäyttäjä/hakem1/hakem2/teksti1.odt /.
Muistelisin, että jos en olisi koskaan lähettänyt avainta pilvikäyttäjelle, scp kysyisi vain pilvikäyttäjän salasanaa ja kopiointi onnistuisi.

Kopiointi onnistuisi varmaankin kikkailemalla vaikka tekemällä jonkun toisen käyttäjän pilvikoneelle ja jättämällä sen ilman shs-avainta, mutta olis helpompaa, jos asiat sujuisivat muutenkin.

Ehkä scp-komennossani on joku (kirjoitus)virhe, jota en huomaa?








14

Taloyhtiöön on tullut elisan kaapeli, ja yhteys toimii ilman modeemia, kun laittaa piuhan seinään.

Onko tällainen osoite vakio niin, että jos laitan koneelle vaikka apache2:n, niin näkyy tiedostoja netissä. Voisiko selvitä ilman varmenteita (sertifikaatteja), jos selaimeen kirjoittaisi verkko-osoitteen, vai valittaisiko selain tässäkin tapauksessa epäluotettavasta sivusta.

15

Kiitos linkeistä, niitten kautta voi tutustua asiaan, ehkä kaikki on jo valmiina, kun löytää sopivan :)

16

Olisiko kellään Portaudio-kehityspaketista kokemuksia, voisi ehkä joskus kokeilla saada ääntä mikrofonista tiedostoon vaikka taajuuksien tutkimiseksi.

Kehityspaketit taitaa saadaa suoraan

sudo apt install portaudio19-dev


Octave on toinen vaihtoehto, mutta siihenkin pitää sitten löytää sopivia scriptejä taajuuskuvien piirtämiseen.  Onko hyviä vihjeitä octave-scripteistä, jotka näyttävät äänen voimakkuuden ja sen taajuuskomponentit kuvaajina.

Tai joku muu keino vaikka 16-bittisen äänen saamiseksi tiedostoon riittävällä taajuudella.






17

Näytttää formatointi onnistuneen, kiitos neuvoista  :)

18
Haluaisin formatoida vanhan asennustikun, jossa on Ubuntu 20.04, tavalliseksi tiedostotikuksi, mutta formatointi ei onnistu tiedostonhallinnassa, koska tikulla on ositustaulukko (partition table).

Miten saan tikun formatoitua ja mikä tiedostotyyppi kannattaa valita, jos tikkua haluaa käyttää Ubuntussa ja joskus kirjaston Windows-koneella. Onko pakko olla fat, käykö ntfs tai joku muu.


19

Asetuksista on valittu verkko. Kiinteä verkko näyttää ip-osoitteen ja laiteosoiteen. Valinnoista Yhdistä automaattisesti ja Aseta kaikkien käytettäväksi on valittu.

Yhteysyrityksen kuvake ilmaantuu ajoittain Ubuntun yläpalkkiin, mutta katoaa sitten eikä yhteyttä synny. usb-ethernet yrittää yhdistää.

Pingeistä localhost toimii, eivät muut.

Identiteetti näyttää nimeksi Kiinteä yhteys2, mac-osoitetta ei ole, mtu on automaattinen.

Tietoturvasta 802.1x on harmaana, mutta sen voi napsata valituksi. Mitä salasanoja sitten kysytään, ovatko ne koneen käyttäjän tietoja vai voiko salaukselle valita mitkä tahansa salasanat ja käyttäjätunnukset.

Nämä tiedot olivat näkymissä Bandluxe C502-tikun ollessa kiinni.


E3372-325-tikku yrittää myös yhteyttä.
   
Moodeemin tiedoissa näkyy verkko-operaatoori, verkkotyyppinä lte, signaalin vahvuutena 100%, verkontilana roaming, tikun valmistaja ja tyyppi, mallina E3372-325, laiteohjelmiston versio ja imeikoodi.

Käyttäjätunnus ja salasana ovat tyhjiä. Pitäisikö niihin täyttää jotain, koneen käyttäjän tiedot, uudet nettisalasana ja käyttäjänimi vai ehkä operaattorilta saatavia tietoja (niistä ei ole muistikuvaa, onko jotain saatu joskus)

20

.... huawei e3372 näyttää siis tunnistuvan ja näyttää myös siltä, että yhteyttä yritetään ottaa. Ubuntun ylärivin kuvakekin muuttuu yrityksen ajaksi yrityskuvakkeeksi, mutta lopputulos on aina toimimaton yhteys ja silloin yhteyskuvakekin häviää Ubuntun yläpalkista.

Kysymys lienee siis käyttäjän (asetus)virheestä, mutta miten sen jäljille voisi päästä. Onko päätteessä joitain komentoja, joilla asiaa voisi selvittää?

Sivuja: [1] 2 3 ... 42