Solution: Reference
How to Fix m/lm/l.facebook.com in Google Analytics
Admin -> Property -> Tracking Info -> Referral Exclusion list
Notes of random things. Mainly coding and life.
Solution: Reference
How to Fix m/lm/l.facebook.com in Google Analytics
Admin -> Property -> Tracking Info -> Referral Exclusion list
Panin lõpuks uue blogi lisamise vormi tööle (lehe allosas). See ei tee muud, kui saadab mulle e-mailile uue blogi lisamise info.
Pisut oodatust kauem kulus aega sellele, et .env
failis e-maili saatmise konfiguratsiooni paika saada. Arenduse ajal kasutasin mailtrap.io teenust aga toodangus tahtsin ikka Zone enda SMTPd kasutada. Siin näidises oleva konfiguratsiooniga tekkis pildil olev viga. Põhjuseks, et mul oli Laravel 8 → Laravel 9 uuendamise käigus puudu jäänud mail.php
failis rida 'verify_peer_name' => false
(StackOverflow, Github).
Lisaks asendasin (peamiselt õppimise eesmärgil) Query Builder andmebaasipäringud Eloquent ORM päringutega, mis eeldatavasti võiksid olla kiiremad (eeldusel, et Eloquent oskab natuke nutikama päringu kokku panna kui ma ehk ise oskaks) ja paremini loetavad (kuigi nad on kohati päris õudsed). Näiteks selline näeb välja rubriigi päring.
Täiendasin mudeleid seostega (et Eloquent neid kasutada oskaks).
Kui .NETis (koolis) arendus käis nii, et teed mudeli+seosed ja mudeli põhjal scaffoldid migrationi (me enamasti isegi ei süvenenud, mida üldse toodeti sinna), siis Laravelis teen mõlemad käsitsi ja nad üksteisest midagi ei tea. Migration on ainult andmebaasi muudatusteks (määrad baasis indeksid ja seosed). Model on Eloquenti päringute jaoks ja ta ei tea midagi sellest, mis baasis toimub.
Lisaks kirjutasin PostsSeeder‘i, mis Fakeri abil teeb kiiresti palju postitusi, et saaksin vaadata, kuidas rakendus 100k või miljoni postitusega töötab. Arenduse andmebaas on Dockeri konteinerina mul pisikeses Hetzneri CPX11 purgis (2 vCPU, 2GB RAM ja 40GB ketast).
Kellaaegadega tegelesin ka. Avastasin, et blogide RSS annab UTC ajad. Sellepärast võis jääda mulje, et Eestis on väga palju varahommikusi blogijaid aga tegelt oli lihtsalt kellaaeg vale. Need on vaja kuidagi Europe/Tallinn aegadeks saada. Lahendasin hetkel nii, et Carbon teeb need mallis korda aga ma sellega lõpuni rahul ei saa olla, sest mul on andmebaasis kuupäev ja kellaaeg eraldi. Natuke pean veel nuputama, kuidas seda veakindlalt lahendada.
I updated from the previous Ubuntu to the latest 22.04.1 LTS (Jammy Jellyfish). Having some issues now.
Chrome browser is crashing very often. Window just becomes non-responsive. I can close the window and open new ones but not use the current one.
Problem with mounting Windows partition and external harddrive.
“Unable to access location. Error mounting [..] wrong fs type, bad option, bad superblock on [..], missing codepage or helper program, or other error.”
“General error: 1005 Can’t create table [..] Foreign key constraint is incorrectly formed”
This happened when the migration of my in-between table ran before the table its FKs were linked to. First I thought I can not use Laravel’s foreign key constraints but at some point I figured it out. Renaming the migration file helped.
Updated Laravel 8 to 9. Had to install php 8.0 with extensions (below) and switch php version.
Installing php. apt installs php to /etc/php
Find ini file – php -i | grep php.ini
or php --ini
sudo apt install php8.0-curl php8.0-xml php8.0-mbstring php8.0-mysql php8.0-intl
– installs two extensions.
Call to undefined function… See if all necessary extensions are installed
(<div class="img">)((.*\n)*?.*?)(<\/div>)
Kirjutasin eestiblogid.eu lehe ümber Laraveli raamistikule. Kasutajaliidese jaoks hetkel kasutusel blade mallid (hea mugav kasutada). Väga suurt äriloogikat ei teinud aga vähemalt viewmodelid püüdsin ikka kasutusele võtta.
Reader (ehk see tükk, mis blogisid loeb) on Laravelist eraldi. Endiselt lihtsakoeline php rakendus (index.php, functions.php ja kaks mudelit) aga püüdsin valmisteeke kasutada seekord. Kasutusele said võetud laminas/laminas-feed, laminas/laminas-http, doctrine/dbal (docs). DI implementeerimisest (php-di abil) kahjuks jõud üle ei käinud. Eesmärk olnuks andmebaasiühenduste kasutust viisakamaks muuta 🙂
Asub Zone serveris, minu muude asjade hulgas. Laraveli deployment sinna on väga mugav. Pmst repo fetch ja pull privaatses kaustas. Rakenduse kiirus on päris normaalne. Andmebaas on hetkel veel arendusserveris (pisike Hetzneri VPS) aga tõstan vasti Zonesse ringi.
Andmebaasi kolimisel tekkis selline viga (mida arenduskeskkonnas ei esinenud). Esialgu oli vaja kohendada Doctrine‘i ja lisada selle konfiguratsiooni charset (mille valik vajas natuke otsimist, kasutusele läks utf8mb4
). Selle tulemusel sai andmebaasi kirjutamise esmapilgul korda. Seejärel läks katki Laravel. Põhjuseks see, et andmebaasitabelite collation ei olnud see, mida Laravel (enda konfuguratsioonis) kasutab. Tabeli collation’i muutmisel läks Laravel ka korda. Arendamise ajal (kuna arenduskeskkonna baasis vigu ei esinenud) ei osanud nendele asjadele tähelepanu pöörata.
composer init
– to create composer.json (not needed if you just run composer require {package}
composer dump-autoload
– to regenerate namespaces in dependencies list (if composer.json is modified)
composer dump-autoload -o
– generates optimised autoloading. Not actually needed in development.
Commit composer.lock but run composer update
locally, composer install
on server (ref).
composer outdated
– checks if all packages are up to date
composer update
– updates (installs) all outdated packages based on packagist.org.
composer install
– installs packages based on composer.lock file
Version notation – Caret, Tilde, or Asterisk?
mkdir -p ~/bin && ln -sf /usr/bin/php74-cli ~/bin/php
mkdir -p ~/bin && ln -sf /usr/bin/php80-cli ~/bin/php
These are the plugins I install with clean install, just one command using wp cli.
Classic editors for widgets and posts (because Guttenberg is awful). One plugin against spam, plugin for opening external links in new window and Yoast SEO (because AIOSEO is garbage). You probably don’t need anything else in the beginning.
In the end I enable auto updates.
wp plugin install classic-widgets classic-editor antispam-bee open-external-links-in-a-new-window wordpress-seo --activate && wp plugin auto-updates enable --all
Kuues ehk viimane semester algas sellega, et oli vaja leida endale praktikakoht. Kuuenda semestri peakski moodustama erialapraktika (24 EAP) ja lõputöö (6 EAP). Kuna ma teadsin, mida ma tahaksin teha – PHP, e-kaubanduse ja e-äri valdkond, mõnes keerukamas raamistikus – siis kandideerisin praktikale Lumavisse. See oli minu esimene valik ja sinna ka sain. Lumavi kõrval oli siiski veel paar ettevõtet varuks.
Praktika algas minu jaoks 31. jaanuaril ja lõppes 27. mail. Praktika oli päris intensiivne õppimine ja tegi kiiresti selgeks, et 2.5 aastat ei anna tegelikult kuigi palju oskuseid ega kuigi palju arusaamist. Seega õppida on veel kõvasti.
Nüüd on teha jäänud veel vaid lõputöö, mille plaanin teha sügissemestril. Ei tahaks, et see kuidagi venima jääks.