Diegiame PHP 5.2.x – 5.5.x versijas

Taigi, nespėjame apšilti kojų su PHP 5.4 versija, o jau php.net galima pamatyti 5.5.0 alpha versijas. Žinoma visada knieti sužinoti, o kaip gi mūsų rašomos programos veiks su naujausia PHP versija. Tiesiog viską griauti ir keliauti prie naujos versijos gali ne kiekvienas. Turime senų projektų kurie netgi neveikia su PHP 5.3, arba gali veikti, tik jie apleisti ir laiko skirti atnaujinimams nebėra tikslo. Vienintelė išeitis – paleisti kelias versijas viename serveryje. Žinoma visas čia paminėtas versijas diegtis production serveryje – būtų tikrai neprotinga, bet va development serveryje jas turėti tikrai verta. Galų gale sudaromos sąlygos su tuo serveriu dirbantiems programuotojams išsibandyti naujas funkcijas ir patobulinimus. Iš karto perspėsiu, kad mano siūlomas variantas naudoja NGinx web serverį ir PHP-FPM (išskyrus 5.2.x), tad kaip tai padaryti su daugelio naudojamu Apache web serveriu – net neįsivaizduoju, žinantys kaip NGinx šioje situacijoje pakeisti į Apache – laukiami komentaruose. Be jokios abejonės – norint turėti kelias skirtingas PHP versijas viename serveryje – teks kompiliuoti rankomis. Jei to nesate anksčiau darę – bus puiki proga žengti žingsnį pirmyn.

Skaityti visą >>

Aplikacijų monitoringas: Splunk

Svarbiausia monitoringo paskirtis – laiku pastebėti problemas. Jau anksčiau rašiau apie būdą kaip saugoti klaidas. Visgi aptartas būdas turi keletą problemų.
Saugomas klaidas tarkime duomenų bazių lentelėje peržiūrime retai, taigi apie greitą reakciją ir kalbos negali būti. Klaidų pranešimai el. paštu gelbsti laikinai, galop el. paštas gali būti apkrautas daugybe pranešimų į kuriuos natūraliai jau pradedi nebereaguoti, arba gali būti taip, kad klaida kartojasi cikle, tuomet net dešimties minučių laikotarpio pakanka tam, kad paštas bus verčiamas laiškais net kelias dienas. Dar gali atsirasti klaidų senuose projektuose prie kurių jokių FTP prisijungimų jau nebėra ir pan.

Skaityti visą >>

NodeJS

Būtų keista jei nieko nebūtumėte girdėję apie šią naujai kylančią bangą programuotojų tarpe. Tai jau susiklostė, kad nuo šio pavasario teko kiek daugiau padraugauti su šia platforma. Todėl norėčiau pasidalinti įspūdžiais su Jumis. Taigi apie viską nuo pradžių, kodėl nodeJS?

Skaityti visą >>

CodeIgniter + Uploadify + Session

Straipsnis skirtas tiems kas naudoja CodeIgniter karkasą ir Uploadify failų įkėlimo programėlę. Kaip žinia Uploadify naudoja Flash, o Flash neperduoda cookies (sausainių) į serverį, jį naujai sukuria pats Flash. Taigi jūs negalite naudoti duomenų jau su esama sesija failų įkėlimo scripte.

Straipsnis nebus aprašytas kaip viskas veikia, kodėl Flash neperduoda esamos sesijos o susikuria savo sesiją, ar, kodėl naudojamas būtent Flash norint įkelti daug failų vienu metu. Straipsnis skirtas paprastai ir aiškiai paaiškinti su pavyzdžiai kaip įkelti failus ir kaip padaryti kad būtų naudojama ta pati sesija kurią jau sukūrė CodeIgniter.

Skaityti visą >>

Maža dvikova PHP 5.3 vs PHP 5.4

Negalėjau neišbandyti. Taigi serveris: Amazon small instance 1.7 GB memory, 1 EC2 Compute Unit. OS ubuntu 11.10 64bit. Į vieną serverį instaliavau Zend Server Comunity Edition PHP 5.3, į kitą Zend Server Comunity Edition PHP 5.4 (technology preview). Instaliavau magento parduotuvę ver 1.6.2.0 ir sample data ver 1.6.1.0 jokių optimizacijų nedariau, tiesiog švari instaliacija pagal numatytuosius nustatymus. Ant abiejų serverių paleidau anksčiau aprašytą įrankį LoadImpact.com testų konfigūracija: 80 SBU vartotojų per 5 min, scenarijus automatiškai sugeneruotas.

Skaityti visą >>

Stress testas – loadimpact.com

Ar bandėte sau ar užsakovams atsakyti į klausimą „Kiek vartotojų atlaikys svetainė?“ arba „Kokio serverio reikia norint, kad atlaikytų X vartotojų?„. Jei taip – tikriausia žinote, kad vienareikšmiškai atsakyti pakankamai sunku, tam reikia realios aplinkos ir didelio vartotojų kiekio. Nusiperkame kažkokį serverį ir imamės srauto generatoriaus. Dažna klaida yra naudoti kažką panašaus į „ab -kc 10 -t 30 http://blog.mysql.lt/„, nes tai kraus vieną ir tą patį url adresą, taigi niekaip nesukurs realios situacijos (tai skaudžiai patyriau savo kailiu). Į pagalbą gali ateiti vienas iš mano senai rastų servisų https://loadimpact.com

Skaityti visą >>

NXclient – alternatyva VNC

Jau kuris laikas savo darbo kompiuterį esu paaukojęs virtualizacijai, sukasi VMware esxi serveris. Tačiau yra problema – man reikia ir toliau dirbti. Kadangi linux OS man yra mielesnė – vis ieškojau būdų, kaip su savo vos gyvu nešiojamu kompiuteriu galėčiau jungtis prie virtualios mašinos ir be didesnių problemų ja naudotis. Sutikite su manimi – VNC turi problemų. Tad teko taikytis su windows OS ir naudotis RDP. Kad ir kiek blogo galima pasakyti apie microsoft, tačiau tikrai yra dalykų kuriuos kompanija padarė gerai…

Skaityti visą >>

jQuery, tai ką turi žinoti visi

Dauguma dirba su jQuery ir be jo neįsivaizduoja Back-End dalies, tiesa? Kitiems jQuery gali skambėti kaip mistika. Šiame straipsnyje bus aptariami pagrindiniai jQuery metodai, karkaso panaudojimas ir optimizacija kurie padės naujokams perprasti šiek tiek jQuery karkasą.

Nors dauguma naudoja jQuery kiekvieną, bet tikriausiai atrasite atrasite šiame straipsnyje išvardintų patarimų kurių tikrai nežinojote.

Skaityti visą >>

WebSocket ir PHP

Šis straipsnis bus apie WebSocket panaudojimą kartu su PHP. Pirmiausia reikėtų pradėti nuo to kas yra WebSocket. WebSocket – Tai yra naujas HTML 5 Interneto socketų API kurio pagalba galima sukurti ryšį su kitais naudotojais. WebSocket sukuria atskirą tunelį tarp jūsų naršyklės ir serverio pagal nurodytą adresą ir portą. Visas bendravimas vyksta TCP protokolu.

Skaityti visą >>

Nuo PHP prie C++, pirmoji programa

Šiame straipsnyje apžvelgsiu C++ bei PHP panašumus, „keistenybes“ su kuriomis galima susidurti pereinant nuo vienos programavimo kalbos prie kitos, šiuo atveju konkrečiai, – nuo PHP prie C++. Taip pat pasistengsiu įtikinti tuos(-as) kuriems(-ioms) dar ne vėlu pradėti dėti pirmuosius programuotojo(s) žingsnelius tai jog juos reikėtų žengti ne su lengviausia programavimo kalba, o su rimčiausia.

Skaityti visą >>