5 PHP patarimai kaip geriau rašyti kodą

phpVisi kurie bando išmokti ar tie kurie jau programuoja su PHP ne pirmą dieną manau kartas nuo karto padaro klaidingų ar tiesiog kvailų klaidų rašydami kodą.

Šiame straipsnyje aptarsime 5 mano manymų labiausiai daromas klaidas, o kai kuriems gal tiesiog bus papildomos žinios kaip geriau parašyti kodą ir kodėl rašoma taip, o ne kitaip.

Taigi netemdami į naktį pradėkime.

Skaityti visą >>

Keičiam DropBox direktoriją į savo norimą

DropBox

DropBox

Turbūt dauguma žinot kas yra DropBox, o kas nežino galit susipažinti iš arčiau paspaudę ant nuorodos.

Trumpai: DropBox skirtas failų sinchronizavimui tarp kelių kompiuterių, su draugais, pažystamais, bendradarbiais.

Didžiausia problema tai, kad DropBox kūrėjai nusprendė jog mūsų katalogas būtinai turi būti Dropbox, nors tai tikrai kartais erzina jei mes norime nurodyti savo katalogą kurį sinchronizuosim.

Skaityti visą >>

Aplikacijų monitoringas: xhprof


Taigi, tęsiame mūsų paieškas aplikacijų monitoringe. Facebook vyrai sugalvojo analogą XDEBUG skirtą būtent production sistemoms – xhprof. Pačio PHP išplėtimo (extension) diegimas nėra sudėtingas, nes galime naudoti pecl repositoriją, kompiliuosite rankomis ar ne – Jūsų pasirinkimas. Nurodžius išplėtimą php.ini faile ir perkrovę PHP procesus iš karto pradedame rinkti informaciją. Yra keletas programėlių kuriomis galime peržiūrėti surinktus duomenis, visai kaip su XDEBUG. Žinoma mūsų tai netenkina, todėl ieškome kaip viską atvaizduoti online. Čia ir prasideda sunkioji dalis.

Skaityti visą >>

Aplikacijų monitoringas: newrelic

Visi kas turi/prižiūri savo production serverius aišku stebi serverio apkrovimus, laisvos atminties kiekius, SQL užklausų kiekį ir panašius parametrus. Tačiau pridėkite ranką prie širdies ir pasakykite: ar žinote ką daro jūsų aplikacija tame production serveryje? Ar neįvyksta kokios problemos esant tam tikroms sąlygoms? Manau teigiamai atsakytų nedaugelis. Nesenai išbandžiau Zend Server sistemą ir man patiko, kad galiu sužinoti apie kilusias problemas vienoje ar kitoje vietoje, bet ši sistema turi minusų: nemaža kaina, naudojamas Apache web serveris (mat dabar naudoju Nginx + PHP-FPM). Tie minusai privertė paieškoti alternatyvų. Taigi ir pradedu straipsnių ciklą apie aplikacijų monitoringą. Ciklas bus baigtas kai rasime tai ko ieškome arba kai užges viltis :)

Skaityti visą >>

Arduino Ethernet

Arduino Ethernet

Arduino Ethernet

Ar kada pagalvojote kaip būtų galima valdyti vieną ar kitą įrenginį per internetą? Šiame straipsnyje pateiksiu paprastą pavyzdį kaip su Arduino Ethernet prisijungti prie Telnet ir valdyti (grubiu būdu) vieną ar kitą įrenginį.

Pirmiausia kas tai Arduino galite paskaityti jų oficialiame puslapyje kur rasite daug informacijos nuo ko pradėti, daug bibliotekų padėsiančių pagreitinti programavimą ir nesigilinti į specifinius signalo perdavimus.

Skaityti visą >>

MySQL indeksai

Straipsnis skirtas žmonėm, kurie nenaudoja MySQL indeksų, nežino kas tai yra arba dar tik planuoja juos naudoti arba jais domėtis. Naiviai tikiuosi, kad didžioji dauguma „php programuotojų“ išnaudoja indeksų teikiamus privalumus, bet taip pat žinau, kad yra nemažai tų, kuries juos dar reikia atrasti.

Programos, kurios neišnaudoja MySQL indeksų galimybių švaisto sistemų resursus (CPU, RAM, IO) todėl yra privaloma suprasti kaip veikia MySQL indeksai ir kaip juos optimaliai išnaudoti.

Skaityti visą >>

Ajax aplikacijos su Zend_Json_Server

Kas yra AJAX ir kam jis naudojamas – šiame straipsnyje plačiau neaptarinėsime. Verta tik paminėti, kad norėdami savo programas optimizuoti – turite turinį krauti asinchroniškai ir vengti pilno puslapio perkrovimo (aišku jei tai įmanoma). Nesenai aptikau vieną įdomų sprendimą Zend Framework naudojančioms sistemoms.

Skaityti visą >>

Kasam saugų tunelį iki proxy serverio


Turiu tokią situaciją: interneto tiekėjas duoda mažą greitį Lietuvoje ir dvigubai mažesnį greitį užsienyje. Tačiau turiu serverį kuris turi 100mbps į visur. Taigi serveryje įdiegiame squid

sudo apt-get install squid

SSH konfiguracijoje (debian 5.0: /etc/ssh/sshd_config) nurodome tokius parametrus:

PermitTunnel yes
AllowTcpForwarding yes
GatewayPorts yes

Skaityti visą >>

Wave in a box

Kai kompanija Google paskelbė, kad uždaro „google wave“ projektą, buvo pasklidusios kalbos, kad „Apache Software Foundation“ perims tolimesnį sistemos vystymą. Neilgai trukus atsidarė puslapis http://www.waveprotocol.org/. Tad nutariau pabandyti ir pasidalinti su jumis įspūdžiais

Skaityti visą >>

Naudingos nuorodos #7

Skaitiniai

1. Bash scriptinimo knyga
2. Naudinga informacija apie C++
3. CSS pradžiamokslis

Įrankiai

1. Siųskite laiškus su prikabintais failais iki 2 GB dydžio.
2. Susikurkite savo balsavimą Internete

Humoras

1. 19 amžiaus Google
2. Juokingos nuotraukos vienoje vietoje

Skaityti visą >>