Recent posts

#1
Sori, että spämmään... sitä vain, että osoitetiedoista löytyy sittenkin oma osoite. Eli lienee ihan kattava. Voinee myös veikata että Googlen Suomen osoitetiedot voivat olla peräisin kyseisestä tiedostosta.
#2
Jos jotakuta  kiinnostaaa niin kellotin huvikseni tuon skriptin...


KELLOTUS

tehty komennolla:
time python3 main.py init1
time python3 main.py init2


kone cpu: i5-8250U CPU @ 1.60GHz muisti: 8064MiB

init1
real    14m29.425s
user    3m40.542s
sys    7m14.921s

init2:

real    39m4.497s
user    5m41.111s
sys    20m15.272s
#3
MLInvoiceen liittyvä keskustelu / Osoitteet automaattisesti?
Last post by ioxo - 21.11.24 - klo:17:00
Hei,

Aikoinaan oli hyvin integroitu Googlen osoitehaku, joka oli enemmän kuin kätevä.

Posti jakaa avoimena datana osoitetietoja. En tiedä miten kattava tieto on kun omaa osoitetta ei sieltä löytynyt ja olen kumminkin asunut  ~8 vuotta samassa osoitteessa, mutta muuttaessa oli uusi (katu).

Tein pythonilla skriptin, joka hakee uusimman datan ja parsii sen sqlite3 tietokantaan. Tietokantaa voi käyttää pienimuotoiseen hakuun. Tuon ei ole tarkoitus olla kokonainen versio vaan pieni demo. Se että kehitänkö sitä edelleen niin saa nähdä :). PHP lienee nopeampi kieli (ajettavana) kuin python. Skriptillä voi myös pyörittää pienimuotoista api serveriä, jolla saa etsittyä dataa ja katsottua miten nopea datan haku on. Aluksi olin tekemässä Go:lla tuota, mutta se ei oikein tykännyt isosta tekstitiedostosta (kursori ei pysynyt rivin alkupisteessä).

Pieni huomio semmoisesta, että postin data on pakattuna noin ~5megaa, purettuna noin 100megaa, sqlite tietokannassa ~16megaa. Tietokantaan ajo kannattaa tehdä tehokkaalla koneella (normi pöytäkone lienee tarpeeksi tehokas).

Tuon osoitejutun pystyy myös pitämään erillisenä palveluna ja vaikka sqlite:llä (esim jos käyttää dockeria), koska tietoja pelkästään luetaan. Myös aika löyhällä tietoturvalla, ainoa haitta on että tuolla voi kuormittaa palvelinta, mutta jollain X-API headerillä tuon saisi rajattua...


Semmoinen vinkki kun tekee osoitehaun. Haun pystyy tekemään esim. "Manner" tai sitten "20 Manner", jälkimmäinen tekee nopeamman täsmäiskun postinumerolle. Tämä vinkki vitosena että jälkimmäinen toimii myös navigaattorissa (ainakin waze) :).

'Check it out' osoitteesta:

https://gist.github.com/ioxo/ad3a0252f705498bb8fe79c03ad7b3ed

-Juho

 
#4
toimii hyvin!

ehkä ensi kerralla saadaan mukaan toistuvien laskujen automaattiluonti laskutuksen yhteydessä :)
nyt kyllä muistuttaa kopioida uudeksi laskuksi, mutta toistuvat kun aina pitää kopioida uudeksi niin turha steppi

kiitos todella hyvästä ohjelmasta & työstä!
t/Kimi
#5
Hei, laitoin uuden pull requestin githubiin kun innostuin leikkimään docker-composella...

Laitoin myös asiasta githubiin, mutta se mikä tuossa docker jutussa on se ongelma on se, että ohjelmalle pitää syöttää alku vaiheessa config.php.sample Kun dockerilla tehdään tämä ensimmäisen kerran niin asia ok, mutta kun docker ajetaan alas ja käynnistetään uudelleen niin ongelma on siinä että setup alkaa alusta.

Ratkaisuna olisi se, että config.php tiedosto pysyisi ilman muutoksia ja setupin tarve tarkistettaisiin esim. löytyykö admin-tunnukselle salasanaa ja jos löytyy niin hypätään ja jatketaan ohjelman käyttöä, jos ei niin laitetaan setup ruutu.
#6
Ymmärrän tuon .envin piiloutumisen, mutta onko siinä muitakin huonoja juttuja? en ole tullut ajatelleeksi.

Dotenv pystytään yleensä lukemaan eri tiedostoista kuten production.env jne...

Sinäänsä konfig tiedosto nyt ei varmaan tarvisi kuin pari kohtaa:
debug=true / false
tai production = true
tai running_mode = production / beta / bleeding-edge
db_dsn =
tai
db_host =
db_port =
db_user =
db_password =

Eka kertalaiselta näytetään ruutu, jossa on "paina nappia asentaaksesi" ja sen jälkeen default asetukset laitetaan tietokantaan (tai kysytään käyttäjältä haluaako hän "demodatan" tietokantaa vai tyhjät kentät). (Hillittömän [ ] I Agree laki dokumenttien jälkeen sitte saadaan tehdä mitä tahansa kun käyttäjä on hyväksynyt kaiken annettavaksi pois yms :).) Tämä mahdollistaa tietokannassa monikategorioisen systeemin rakentamisen kun taas tiedostossa se menee tuohon muuttuja=arvo.

Tämä myös mahdollistaa tietokannan config tauluihin piilottamaan tietoja joita käyttäjän ei tarvitse päästä muuttamaan - esim järjestelmän nimi / versio / tekijä.

Tuo myös mahdollistaa sen että systeemiä voisi ajaa hyvinkin minimaalisella asetuksella jos sql palvelin on vaikka pilvessä. Järjestelmä olisi myös helppo siirtää paikasta toiseen, jos tarve. Meinaan, nykyään dockeria pystyy pyörittämään monessa eri paikassa esim. macos, windows, linux, jotkut nas purkit. Myös sql:t on helpompi varmistaa ja tarvittaessa samaiseen sql kantaan pääsee jos haluaa siirtää dockerin muualle / käynnistää uuden dockerin jossain toisaalla. Docker palveluja voi myös muistaakseni ostaa pilvipalveluina, jos haluaa vain ajaa sitä moottoria (mlinvoicea).
#7
Dotenvissä on muutamia ongelmia, joiden ansiosta en hirveästi tykkää siitä. Toinen johtuu siitä, että MUUTTUJA=arvo ei ole kovin ilmaisuvoimainen, mutta se ei toki tässä tarkoituksessa hirveästi haittaa. Toinen ongelma on, että pistetiedostot katoavat helposti näkyvistä, jos ei muista tai tiedä mitä etsiä. Toki configin käsittely voisi silti ymmärtää ympäristömuuttujia, vaikkei dotenviä käytettäisikään.

Osa noista asetuksista kuuluisi jonnekin muualle, jolloin config.php:n sisältämiä voisi vähän vähentää.

sql-tiedostoista ei tarvitse välittää create_database.sql:ää lukuunottamatta. update*.sql ovat muinaisjäännöksiä, ja päivitykset hoidetaan koodissa. Ehkä ne voisikin siirtää tuolta johonkin legacy-kansioon...

--Ere
#8
MLInvoice Discussion / MLInvoice 2.3.0 released
Last post by Ere Maijala - 03.11.24 - klo:23:12
Hi,

MLInvoice 2.3.0 has been released. This version contains mostly bug fixes but also an option to skip backup of files during version update to speed it up and avoid a potential timeout.

The new version can be downloaded from https://labs.fi/files/mlinvoice-2.3.0.zip. See the change log at https://labs.fi/mlinvoice_features.eng.php#changelog for more information on the changes.

BR,
Ere
#9
Hei!

MLInvoice 2.3.0 on nyt julkaistu. Pääasiassa tässä versiossa on virheenkorjauksia. Lisäksi automaattipäivityksessä on nyt mahdollista jättää tiedostojen varmuuskopiointi tekemättä, mikä voi ehkäistä aikakatkaisuja ja nopeuttaa prosessia. Tarkemmat tiedot ja linkit lyhyisiin ohjeisiin löytyvät muutoslokista sivulta https://labs.fi/mlinvoice_features.php#changelog.

Uusi versio on ladattavissa osoitteesta https://labs.fi/files/mlinvoice-2.3.0.zip.

t. Ere
#10
Jyrin raportoima ongelma johtui siitä, että MLInvoice vaati virheellisesti myös MySQL:n PDO-ajurin olemassaoloa. Virhe on korjattu julkaistussa versiossa 2.3.0.

--Ere