2018 m. balandžio 24 d., antradienis

2018 m. balandžio 19 d., ketvirtadienis

Postfix / sendmail /dovecot paleidimas

Postfix yra naujesnė Sendmail atmaina.
Sendmail konfigūravimas, kad priimtų paštą iš išorės: https://superuser.com/questions/927122/configure-sendmail-server-to-accept-external-incoming-emails   bei https://launchtimevps.com/support/settingupemail.jsp
Dovecot - reikalingas tik tam, jei naudojamas imap.
Be Dovecot laiškus galime skaityti tik iš serveripo vidaus.

Sukonfiginimas:
https://www.rosehosting.com/blog/install-and-configure-a-simple-mail-server-using-sendmail-and-dovecot-on-a-fedora-20-vps/

imapsync: http://nynim.org/blog/2010/08/08/backup-your-google-apps-or-gmail-e-mail-over-imap-using-imapsync/

imapsync sample:
imapsync --host1 108.177.15.108 --ssl1 --port1 993 --user1 ssss@aaaa.eu --password1sdsdsdd --host2 localhost --user2 sadddd --password2 Saffff --useheader "Message-Id" --skipsize --allowsizemismatch --syncinternaldates --split1 100 --split2 100 --include "INBOX"  --maxbytespersecond 10000  --automap

2018 m. balandžio 4 d., trečiadienis

UX įžvalgos


  • Nors organizacijų bendri tikslai yra gauti investicijų grąžą, tačiau antrinis tikslas susiveda į tai, kad organizacija turi teikti vartotojui nepriekaištingą patirtį, pranokti lūkesčius. UX - User Experience - vartotojo patirties gerinimas. Išvada - turime pažinti vartotoją, žiūrėti iš jo pozicijos - ką ir kaip jis pas mus turi rasti/įvykdyti, ar lengvai jis tą padarys.
  • Šiandienos vartotojas yra skubantis. Jei anksčiau pakakdavo tiesiog sklandžiai veikiančio tinklalapio, tai dabar tinklalapis turi palikti vartotojui įspūdį, veikti greitai, būti aiškus (atsisakyti tų funkcijų, kurios vartotojams neduoda naudos, formose mažinti laukelių, kurių realiai nereikia), informacija lengvai pasiekiama. 
  • Net jei vartotojas gali pasakyti, kad liko patenkintas mūsų paslauga, tai nereiškia, kad jis taps lojalus, grįš dar kartą. Privalu jam sudaryti išskirtinę patirtį, pranokti jo lūkesčius, pasiūlyti daugiau, nei tikėjosi (tarkim Google, Apple siūlomi sprendimai pranoksta lūkesčius).
  • UX nėra vien tinklalapio dizainas - tai bendra vartotojo patirtis mūsų produktu. Todėl reikia apjungti ir kitas sritis - kliento aptarnavimas atsiliepus telefonu, atsakymų el. paštu greitis ir kokybe, el parašas, ir t.t.. Vartotojo patirtį reikia gerinti organizacijos lygmeniu.
  • Gerinant varototojo patirtį, galima taikyti kelias praktikas. AGILE metodas - nedarome iškart galutinio produkto, o kuriame protopitus, juos testuojame, patobuliname, vėl testuojame ir t.t.t, kol prieiname galutinį variantą. LEAN metodas - tvarkome tik tas vietas, kurios tuo metu yra stabdis ("butelio kakliukas"), kadangi, ne visi tobulinimai ir "šlifavimai iki tobulybės" gali būti atsiperkantys.
  • Gerinant vartotojo patirtį, negalime remtis prielaidomis, jog "mums taip atrodo reikia daryti". Dizainą reikia testuoti (pigiau testuoti etapais, nei padarius iki galo perdaryti). Reikia duoti konkrečią užduotį bandomiesiems vartotojmas - pvz užsakyti mūsų tokį ir tokį produktą, ir stebėti, kuriose vietose vartotojai stringa, ilgiau ieško, kol randa. (pvz, duoti puslapyje išsirinkti žalią tušinuką, arba pgl kokį kitą segmentą, įtelpant į kažkokį biudžetą. Ar vartotojas ras iškart filtrus, ar eis į kategorijas, po to ieškos kaip atsirinkti spalvas, r supras, kad rūšiuojasi pgl kainą gaminiai jei tai neparašyta?).
Mano papidlomai pasidomėtos įžvalgos UX tema
  • Nors konkrečiu atveju, ne visi sprendimai mums gali veikti taip gerai kaip konkurentams (tarkim skiriasi skirtingu regionu/rinkos zmoniu iprociai), tačiau protinga "kopijavimo" praktika pasiteisina, turint omenyje, kad galioja bendri dėsniai, nes žmonės mėgsta pastovumą, nuspėjamumą. PVZ, jeigu žmonės įprato paieškos lauką matyti viršuje, tai jie ten ir ieškos pirmiausia. Tai galioja ir bendram psl elementu isdestymui.
  • Paskutinės tendencijos UX tema 2017 metu: 
    • "laiką taupantys" dizainai - kuo švariau, aiškiau, greičiau veikiantys. 
    • Didesnė personalizacija (Facebook news feed, rekomeduojami susiję straipsniai pgl to vartotojo pomėgius, susiję produktai ir .tt., pvz, labai gerai veikia "pirkejai, kurie pirko si produkta, taip pat isigijo ir siuos XXX ");  
    • Mini interaktyvumas (pvz, progreso juosta pildant kazkokia ilga forma, rodanti, kiek procentu jau uzpildei; ar judantys, atsivartantys blokeliai). 
    • Mobiliosiose versijose pradedama praktikuoti navugacine juosta deti apacioje, kadangi ji lengviau pasiekiama su nykščiu.
    • Naudojama vektorinė grafika (ikonėlės, piešiniai, ne foto)
    • Dideliems portalams - pagal vartotojo amžių
    • "skeleto" užkrovimo principas. Mobiliam vartotojui jau ir 1 sekundė gali lemti sprendimą, todėl techniškai geriau daryti, kad pirmiausia greitai užsikrauna karkasas, pirmos antraštės, o tik po to žemiau esantys elementai, paveikslėliai. vietoj to, kad naršyklė nerodytų tinklalapio, kol neužsikrauna visi elementai.
    • Animuoti call to action mygtukai, kad geriau juos pastebetu.
    • Miršta "home page - tituliniai psl". Nebereikai jokiu intro - iškart rodome tituliniame tuos produktus, ką geriausio galime pasiulyti tam vartotojui, ar kažkokias tai kategorijas, paieškos formas - kad kuo greičiau vartotojas rastu, ko reikia.
    • Mobiliuose pasiteisina vieno puslapio puslapiai, kai slenkant žemyn, trumpai pristatoma viskas, ką galime pasiūlyti (mobiliu atveju lengviau slinkti žemyn, nei spaudyti meniu punktus "apie", "paslaugos","paslaugu planai","kontaktai")

kurią mysql strategiją pasirinkti?



Komandos bendravimo įrankiai

Darbo principai ir įrankiai komandai, sudarančiai sąlygas dirbti iš namų:

  1. El paštu bendraujama tik su išorę, bet tarp įmonės kolegų bendrauti naudojami specialūs įrankiai.
  2. https://slack.com (video) pasikurtas kanalas komunikacijai tarp darbuotojų. Jo pagalba galima siųsti žinutes komandos nariams. Galima pasikurti "kanalus" pagal temas. Komandos nariai gali stebėti tik jiems aktualius kanalus, kuriuose įrašai rodomi "facebook" sienos principu.
    Šis įrankis integruojasi su kitom tarnybom, kaip Google Drive failų talpykla, Trello sąrašais, su Asana.
  3. Asana - įrankis užduočių delegavimui bei matuoti laikui prie konkrečių darbų. Didelis darbas skirstomas į užduotis, kiekviena jų gali būti priskirta skirtingiems komandos nariams, turėti terminus. Prie užduočių galimi susirašinėjimai. Komandoje yra sutarimas, kad užduotys būtų "updeitinamos" ryte, per pietus ir darbo dienos gale. t.y. darbuotojas turi padaryti įrašą pranešdamas, koks postūmis vyksta su ta užduotimi, kokius kliūtys kyla. Taip visa komanda ir vadovas mato "pulsą" kas vyksta, kur reikia pagalbos. Taip išvengiama vadovo trukdymų.
    Yra GANTT grafikas (laiko skalėje dėliojimas darbų sekos). Sistema turi API, per kurią galima integruoti į įmonės vidines sistemas. Yra integracija ir su Google Drive failų prikabinimui.


2018 m. vasario 27 d., antradienis

mysql backup mysqlduml for large data

mysqldum lėtina tai, kad vienu metu ir skaitoma ir rašoma.
Rašymą kiek sumažina jei naudojam gzip.
Taip pat galima naudoti papildomai pv komandą, kuri taiko didesnį rašymo buferį. Taip pat rodo progressbarą.
Pernešimui į kitą serverį naudoti rsync, kuris nutrūkus ryšiui geba pratęsti siuntimąsi.
mysql dump "-T " - bakupina lenteles į atskirus failus

Taip pat glaima dumpint i kita serva tiesiogiai
To listen for an incoming dump on one host run:
nc -l 7878 > mysql-dump.sql
Then on your DB host, run
mysqldump $OPTS | nc myhost.mydomain.com 7878

memcached stats tool graphic intrerface

https://github.com/elijaa/phpmemcachedadmin/

2018 m. sausio 17 d., trečiadienis

inode detect directories

du --inodes -S | sort -rh | sed -n \
        '1,50{/^.\{71\}/s/^\(.\{30\}\).*\(.\{37\}\)$/\1...\2/;p}'
arba tiesiog suskaiciuoti failus aplankuose:
du -a | cut -d/ -f2 | sort | uniq -c | sort -nr

2018 m. sausio 8 d., pirmadienis

Detecting the HTTP method

$method = $_SERVER['REQUEST_METHOD']
if ($method == 'POST') {
    // Method is POST
} elseif ($method == 'GET') {
    // Method is GET
} elseif ($method == 'PUT') {
    // Method is PUT
} elseif ($method == 'DELETE') {
    // Method is DELETE
} else {
    // Method unknown
}
Way to use PUT data from PHP:
$method = $_SERVER['REQUEST_METHOD'];
if ('PUT' === $method) {
    parse_str(file_get_contents('php://input'), $_PUT);
    var_dump($_PUT); //$_PUT contains put fields 
}