Category Archives: Naudinga

PHPfog – debesis PHP aplikacijoms

Šiandien gavau pakvietimą išbandyti PHPfog. PHPfog yra ne kas kitas, o kaip tinklapių talpinimo paslauga debesyje. Tikriausiai žinote kas yra debesis ir aiškinti ir nereikia, o nežinantiems trumpai tariant tai tinklapių ar kitų duomenų talpinimo paslauga su dinaminiais resursais, t.y. galite bent kada padidinti turimų resursų kiekį, po to jį vėl sumažinti, o už tai atitinkamai ir mokėsite.

Grįžtant prie PHPfog, pasitinka graži ir patogi vartotojo aplinka (1 pav.) kurioje matote savo jau įdiegtas programas, mokėjimo duomenis, SSH raktus ir galimybę pasikeisti vartotojo prisijungimo duomenis. Kadangi aš vis dar neturiu jokios aplikacijos tad pabanysiu vieną sukurti ir aprašyti visą procesą pateikdamas ekrano nuotraukas.
Read more »

Du trumpi PHP patarimai

Nors su PHP dirbu jau kelis metus, bet vis atsiranda, kažkokių stebūklingų būdų kaip atlikti vieną ar kitą veiksmą. Pradėsiu vienu, neseniai atrastu patarimu, kaip skaičių paversti neigiamu, paprastai darydavau taip:

//..
$negative_var = $var * -1;
//..

Pasirodo, taip darydavau ne vien aš, bet ir visi mano kolegos, o vieną kartą atvertęs PHP dokumentaciją atradau trumpesnį būdą šitam veiksmui atlikti:

//..
$negative_var = -$var;
//..

Kitas patarimas susijęs su trumpaisiais sąlygos sakiniais, tarkim priklausomai nuo kintamojojo reikšmės norime išvesti eilutę arba nieko nedaryti, tai darydavom taip:

//..
echo $var ? '$var is true' : '';
//..

Pasirodo yra kitas būdas tai atlikti:

//..
$var and print('$var is true');
//..

Noriu pastebėti, kad ‘echo’ po ‘and’ nebeveiks, be to jeigu naudojate > PHP 5.3.x versiją galite naudoti dar patogesnį sutrumpinimą:

//..
echo !$var ?: '$var is true';
//..

Tiek šiam kartui patarimų, jei turit kokių nors pastabų, ar dar kažkokių įdomesnių metodų PHP kalboje, pasidalinkite komentaruose :)

Gnome 3 (shell) – priežastis mylėti Linux

Tikrai nenoriu, kad šis įrašas taptų dar vienu Windows vs Linux įrašu, todėl iškarto noriu pasakyti, kad viskas, kas šiame įraše paminėta yra iš asmeninės patirties, ar iš asmeninių poreikių.

Kodėl verta mylėti Linux dėl Gnome 3, ogi dėl sąsajos draugiškumo ir patogumo kasdieniniame naudojime. Tiesa šio įrašo būtų nebuvę dar kuris laikas, nes vos prieš 2 dienas nebuvau toks tikras dėl šios minties. Priežastis labai paprasta, išgirdęs, kad išleista nauja Gnome versija Linux OS, nusprendžiau ją išbandyti su savo Ubuntu 10.10. Susiradau internete, kaip įdiegti naują sąsają, bet po kelių dienų naudojimo supratau, kad tai ką aš naudoju nebuvo išbaigta, truko kažkokių smulkmenų ir erzino kai kurie niuansai. Pasirodo visa to priežastis ta, jog aš įsidiegiau, kažkokią dev versiją kuri atrodo taip:

Pasidomėjus daugiau, radau kaip įsidiegti galutinę Gnome 3 versiją (vadovavausi šiuo gidu). Pasinaudojęs vos parą galiu teigti, jog Gnome 3 UI yra daug draugiškesnis ir patogesnis nei Windows ar OS X. Paminėsiu keletą dalykų, kurie man patinka naujoje Gnome versijoje:

greitas programų pasiekiamumas – vos kelių klavišų paspaudimu galiu paleisti pageidaujamą programą

languose panaikinti nereikalingi mygtukai – “minimize” mygtukas man visada atrodė visiškai nereikalingas, maximize naudodavau (nors OS X sistemoje jis bevertis :D ), bet vienoi 1 pelės paspaudimo man tikrai nesunku paspausti 2 kartus ant lango antraštės

padeda atprasti nuo darbalaukio priklausomybės – darbalaukis, tai dar viena mano nuomone nereikalinga funkcija, dažniausiai jį išvystu tik įjungęs kompiuterį ir jį išjungdamas, todėl jis man visiškai nereikalingas, o Gnome 3 aplinkoje, padėtas nuorodas į programas ar katalogus, bus ne taip lengva pasiekti.

Nepaisant, viso šito gėrio yra keletas niuansų kurie ir man nepatinka, vienas iš jų, tai, kad sunku pasiekti sisteminius įrankius, bet tai gali būti kokios nors diegimo klaidos, ar tiesiog nežinojimas kokių nors įrankių. O man šią bėdą padeda lengvai išspręsti Gnome Do įrankis.

Tikiu, kad Gnome 3 (shell) su kiekvienu atnaujinimu bus vis geresnis ir tai bus priežastis, kodėl verta mylėti Linux vis labiau.

Zend Framework klasių įkrovimo optimizavimas

Šiuo įrašu, noriu tik pranešti, kad mano angliškame tinklaraštyje, atsirado naujas įrašas apie klasių įkrovimą Zend Framework aplikacijoje. Jei programuojate būtent su Zend Framework, manau tai jusm turėtų būti įdomu. Taigi įrašas Faster class loading in Zend Framework application.

Ir dar kartelį pasikartosiu, jog anglų gramatika (na gerai, ne vien anglų :) ) man sekas nekaip, todėl jei pastebėsit klaidelių praneškit.

Kaip pridėti papildomus tarpus kuriant Option elements su JavaScript

Šiandien susidūriau su tokia problemėle, kad kuriant naujus Option elementus su JavaScript niekaip nepavyko pridėti papildomų tarpų prie pavadinimo. Tiek paprasti tarpai, tiek   specialūs HTML simboliai nepadėjo, teko prašyti seno gero draugo Google pagalbos. Po keletos, intensyvaus ieškojimo, minučių suradau sprendimą, simbilius keisti į specialius Unicode simboliukus. pateikiu trumpą pavyzdį:

$.each(vals, function(i, val){
catSelector.append(new Option(val.title.replace(/ /g,"\u00A0"), val.id));
});

Taigi tikiuos, jei kam nors kils panaši situacija, šis mini įrašas jums pagelbės.

PHP skripto vykdymo laikas ir dar viena gudrybė

Kartais tikrai naudinga matyti per kiek laiko PHP sugeneruoja puslapį ar tam tikras jo dalis. Internete rasite tikrai nemažai pavyzdžių kaip tai atlikti, kad ir šiandieninis SkaitykIT.lt įrašas “Kaip su PHP greitai pamatuoti skripto vykdymo laiką“, išties detalus straipsniukas, dėja pasigedau komentavimo tame straipsnyje, nes norėjau pasidalinti dar viena gudrybe, kurią atradau visai neseniai ir manau pravers daugeliui.
Read more »

Saugesnis būdas pridėti naują lauką MySQL lentelėje

Šiandien savo Google Reader RSS sraute atradau įdomų straipsniuką, kaip saugiau pridėti naują lauką MySQL duomenų bazės lentelėje. Pačiam praktikoje, dar jo neteko pritaikyti, bet manau šis būdas, būtinai bus išbandytas, nes standartinis ALTER TABLE gali pridaryti ir problemų.

Dar kartą straipsnio nuoroda: http://www.rndblog.com/don’t-alter-table-do-copy-and-rename/

Įdomi Firefox klaida vykdant regex.test()

Nepersianiausiai teko susidurti su gan įdomia klaida Firefox naršyklėje vykdant JavaScript’e reguliarų išsireiškimą (vertimą pasiskolinau iš UAB Fromris) su modifikatorium g.

Tarkim jei jūs turit kokią nors išraišką kuriai reikalingas modifikatorius g, jums ši išraiška suveiks tik kas antrą kartą, tad jei susidursite su tokia, gan keista problema, turėkite tai omenyje. Ši klaida pasitaikė tik Firefox naršyklėje, nors internete toko rasti, kad tas pats buvo ir Chrome naršyklėje, bet dėl greito tobulinimo, greičiausiai ji seniausiai ištaisyta.

Kaip pakeisti formos atributą action?…

Šis įrašas tikriausiai bus paskutinis šiais metais, ir džiaugiuos, kad jis galbūt bus naudingas ir kitiems, o gal kas nors parodys paprastesnį sprendimą man iškilusiai problemai.
Taigi taip susiklostė, kad prisireikė dinamiškai keisti formos atributą “action”, viskas atrodytų labai paprasta, vos pora JavaScript eilučių…
$("#my-form").attr('action', 'http://www.my-super-duper.com/post-url');
… ir problemos nebėra, tačiau mano atvėju tai negelbėjo, nes mano formoje buvo paslėptas input elementas, kurio pavadinimas buvo “action”, o mielas programuotojų draugas Internet Explorer 7 jį pamatęs tokioje situacijoje ima ir pasimeta, ir nebežino ką daryti. Paprasčiausias būdas tikriausiai atsisakyti paslėpto elemento vardu “action”, tiesiog kartais tai padaryti neleidžia aplinkybės (trečios šalies kodas ir pan.), tad tenka sugudrauti…

//...
var form = $('#my-form');
form.children('input[name=action]').remove();
form.attr('action', 'http://www.my-super-duper.com/post-url');
from.append($('<input type="hidden" name="action" value="1" />'));
//...

Gudrybė paprasta, iš formos pašalinam elementą vardu “action”, pakeičiam formos atributo “action” reikšmę ir formoje sukuriame naują elementą vardu “action” ir taip paprastai apgauname IE7. Dar šiokia tokia pastabėlė, bent jau man, prieš darant pakeitimus atribute, jis turėjo būti užpildytas, t.y. negali būti tuščias.

Tikiuos bent jau ateityje padėsiu kam nors sutaupyti bent keleta minučių :)

Su praėjusiom šventėm ir laimingų Naujųjų metų :)

PHPUnit paruoštukas

Jei programuojate PHP didelias sistemas, tikriausiai neapseinate be automatinių testų, kurie taupo laiką ir sumažina klaidų galimybę. Populiariausias įrankis šiuo metu yra PHPUnit. Dzone portalas išleido šiam įrankiui paruoštuką, siekiant programuotojams padėti greičiau rašyti testus.

Read more »