Eimantas


El. paštas: enc.conf (at) gmail.com
Svetainė: http://eimantas.wordpress.com/
Jabber / Google Talk: enc.conf
Aprašymas: Extremaliai Naglas Cinikas

Seniai čia berašiau straipsnį, tai net nežinau kaip jis turėtų prasidėti. Prieš kelis mėnesius pasirodžiusios Yahoo! pypkės Lietuvoje nesusilaukė didelio populiarumo (na bent jau man neteko skaityti apie šį stebuklą).
Skaityti toliau »

Eimantas
Lapkritis 18, 2006

RoR MVC ypatumai

Jau rašiau apie architektūrą bei užklausos apdorojimą. Dabar norėčiau paminėti kelis RoR karkaso architektūros ypatumus.

Objektiškai RoR karkasas yra suskirstytas į du didelius paketus:

  • ActionPack;
  • ActiveRecord;

Skaityti toliau »

Intro
Kartu su web2 banga atėjo SE[O|F] (Search Engine Optimization/Friendly) ir kalba pakrypo apie gražius URL, kuriuos lengviau įsiminti tiek žmogui, tiek paieškos varikliui. Apie tokius gražius URL aš pirmą kartą sužinojau iš straipsnio php.lt svetainėje. Tiesa, tada aš dar nelabai supratau, kam tokie dalykai reikalingi, kaip veikia paieškos varikliai ir pan. Kelių dalykų aš dar dabar net nežinau, tačiau senstant blogėja atmintis, tad aš tikrai negaliu pasakyti kuriuo id ir sub_id yra pasiekiami tam tikri puslapiai kokiame nors domene. Štai čia ir atėjo į pagalbą SEF URL’ai.
Skaityti toliau »

Eimantas
Spalis 24, 2006

MVC [II] - Procesas

Ankstesnio straipsnio (MVC [I] - Architektūra) tęsinys.
paprastai turi daug atmainų tačiau esminis procesas vyksta sekančiai:

  1. Vartotojas atlieka kažkokį veiksmą susijusį su GUI (pvz paspaudžia mygtuką);
  2. Kontroleris apdoroja šį veiksmą pagal nurodytą įvykių apdorojimo elementą (mol event handler);
  3. Kontroleris iškviečia modelį, kuris, turbūt, atlieka įvairius veiksmus su duomenimis (atnaujina registracijos informaciją, įdeda prekę į krepšelį ir pan.)
  4. Atitinkamas “vaizdas” naudojasi modeliu, kad sugeneruotu atitinkamai naują vartotojo sąsają (atvaizduoja naują registracijos informaciją, išmeta pranešimą apie į krepšelį įdėtą prekę).
  5. Vartotojo sąsaja laukia tolimesnių veiksmų iš vartotojo.

Skaityti toliau »

Pirmuose RoR dokumentacijos sakiniuose teigiama, kad šis karkasas yra sukurtas pagal architektūros modelį. Iš tiesų tai yra struktūrinis šablonas (mol. design pattern) pagal kurio architektūrą yra kuriamos paprastos programos, o ne web aplikacijos.
Skaityti toliau »

Viena iš 600 PHP branduolio funkcijų yra get_browser(), kuri naudoja browscap.ini failą, kaip pseudo duomenų bazę. Apie f-ją daug sakyti nieko nereikia. Ji yra ganėtinai “self-explainatory” - ji padeda išsiaiškinti naršyklės galimybes iš pateiktos “User-agent” antraštės.

Norint naudotis šia f-ja reikia atkomentuoti browscap direktyvą php.ini faile. Čia ir prasidėjo mano visos savaitės galvos skausmas: nors ir nustačiau šią direktyvą php.ini faile, tačiau bandant ją panaudoti iš CLI (Command Line Interpreter) aplinkos visada gaudavau klaidą, kad browscap.ini direktyva nėra nustatyta. Phpinfo() rodė, kad tiek Local value, tiek Global value yra nustatytos į būtent tą failą, kurį nurodžiau php.ini faile.

Žiūrėjau ilgai aš į tą phpinfo() outputą. Naršiau po /etc/php pakatalogius ir tada netyčia problema išsisprendė. Pasirodo, kad mano naudojama OS (gentoo) naudoja du skirtingus php.ini failus: vieną web_sapi, kitą - cli_sapi. Paredagavus cli-php5/php.ini bylą viskas susitvarkė.

Suprantama - niekas nuo žioplumo nėra apdraustas, tad jeigu kada nors naudositės šia f-ja iš cli - prisiminkite, kad gali būti kitas php.ini failiukas būtent konsolinei aplinkai.