Archive for the ‘PHP’ Category

Google Gadgets

Posted on March 13th, 2008 in Internets, PHP, Projekti | 2 Comments »

Kas ir Google Gadget?

Google Gadgets ir miniatūri rīki, kas piedāvā dinamisku saturu, kuru ir iespējams izvietot jebkurā mājas lapā. Šādi rīki var jūtami atvieglot darbu (darāmo darbu saraksti, valūtas pārveidotāji, kalendāri, kalkulatori) vai arī vienkārši ļauj sekot līdzi jaunumiem - ziņām, blogiem, u.c. Ja uz šiem rīkiem paskatās šauri tehniski, tad tās ir minimālas tīmekļa aplikācijas, kas darbojas uz tās izstrādātāja servera, bet citās mājas lapās tiek iekļautas ar iframe palīdzību. Tā kā aplikācija lapā tiek ievietota izmantojot iframe, tad tas uzreiz garantē, ka aplikācijas izstrādātājs nevarēs nekādi kaitēt lapai, kurā šis rīks ir izvietots. To, ka šādi rīki ir populāri var secināt kaut vai apskatoties Google Gadgets lapu, kurā angļu valodā ir pievienotas gandrīz 40 000 šādas miniatūras aplikācijas.

Triviāla Gadget izveide

No kā tad īsti sastāv šāds rīks? Patiesībā viss, kas ir vajadzīgs ir viens XML fails, kurā ir nodefinēts saturs, kas ir jāparāda. Ja ar tīru HTML/CSS/JavaScript saturu kādam ir par maz, tad tā vietā, lai šajā XML failā norādītu parādāmo saturu, ir iespējams arī norādīt izpildāmo tīmekļa aplikācijas adresi. Tā, piemēram, triviālais “Hello world!” piemērs:

<?xml version="1.0" encoding="UTF-8" ?> <Module>
<ModulePrefs title="hello world example" />
<Content type="html">
<![CDATA[ Hello, world! ]]> </Content>
</Module>

Lai būtu nedaudz interesantāk, es izdomāju, ka varētu uztaisīt rīku, kas parādītu nekur.lv jaunākos pievienotos ierakstus. Te nu ar pliku HTML/CSS/JavaScript varētu būt par maz, tāpēc rīka XML failu pārveidoju par šādu:

<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="Nekur.lv news feed" scrolling="true" author_email="hi5@webtech.lv" />
<Content type="url" href="http://www.webtech.lv/projects/gadgets/nekur.lv"></Content>
</Module>

Būtībā ar to arī beidzās specifiskās lietas, kas saistītas ar mana rīka izstrādi - tālāk jau vairs atlika tikai uzrakstīt attiecīgo tīmekļa aplikāciju, kas slēpjas adresē http://www.webtech.lv/projects/gadgets/nekur.lv.

Kur likt gatavo Gadget?

Patiesībā iespējas izvietot savus garadarbus ir pietiekami plašas. Līdz ar Google Gadget API iekļaušanu lielākajos sociālajos tīklos, var droši teikt, ka ir vērts piedomāt par šādu sīku rīku izstrādi. Tā, piemēram, viens no standarta veidiem, kā izmantot izveidoto rīku ir to pievienot savai iGoogle lapai.

igooglepage.gif

Nākamais solis ir skatīties sociālo tīklu virzienā. Tā, piemēram, manis izveidotais rīks izskatās vienā no pasaules lielajiem sociālajiem tīkliem hi5.com:

hi5.gif

Metam pie malas sociālos tīklus, ir kas vēl interesantāks. Patiesībā ar Amnesty™ Generator palīdzību visus šos Google Gadget rīkus var darbināt arī Windows Vista sāna rīku joslā (sidebar). Iespaidīgi, vai ne? Visbeidzot katrs pats var šādus rīkus izvietot arī savās mājas lapās izmantojot Google piedāvāto gmodules.com servisu. Tā, piemēram, lai ievietotu manis izveidoto rīku savā lapā, ejam uz gmodules.com lapu un izvēlamies, kā izskatīsies pats rīks. Pēc tam jau saņemam HTML kodu, kuru vienkārši jāievieto savā mājas lapā. Pēc ievietošanas mājas lapā tas izskatīsies šādi:

Kas tālāk?

Tālāk mēs varam atkal atgriezties pie sociālajiem tīkliem un paskatīties Google OpenSocial virzienā, izstrādāt savus rīkus uzreiz vairākiem sociālajiem tīkliem, kuri jau izmantotu ne tikai mūsu servera resursus, bet arī konkrētā sociālā tīkla draugu tīkla un citu specifikācijā definēto funkcionalitāti. Tāpat tālāk var skatīties arī uz iespējām pašiem savā sistēmā ieviest atbalstu šādu rīku izmantošanai (skatamies un sekojam līdzi Apache Shindig projekta attīstībai). Katrā ziņā tiem, kas nodarbojas ar programmēšanu un interesējas par sociālajiem tīkliem, ir vērts ar vienu acs kaktiņu pieskatīt lietas, kas pavirzās uz priekšu šajā jomā.

Nobeigumā vēl interesenti var paspēlēties ar manu sarakstīto izejas tekstu: nekurlv-gadget.zip

Ievads Zend Framework

Posted on December 9th, 2007 in PHP | 1 Comment »

Sen sen atpakaļ pārtulkoju kādu salīdzinoši vienkāršu PHP grāmatu latviešu valodā un cilvēki to vēl līdz šim brīdim izmanto kā savu PHP apguves sākuma literatūru. Tā kā latviešu valodas PHP lietotāju skaits ir pārāk mazs, lai būtu izdevīgi rakstīt biezas grāmatas par sarežģītām ar PHP saistītām tēmām, tad vienīgais uz ko mēs varam cerēt - kāds iztulkos vai uzrakstīs kādu mazāku, taču labu un diezgan specifisku pamācību, kā izdarīt vienu vai otru lietu.

Ir jau pagājuši laiki, kad cilvēki centās katru reizi būvēt sistēmas no pašiem pamatiem. Protams ir gadījumi, kad tā ir vienīgā pareizā izvēle, taču vēl biežāk cilvēki sāk novērtēt citu veidoto darbu augļus. Tā pirms dažiem gadiem secināju, ka WordPress kā platforma ir pietiekami spēcīga, lai vairs nebūtu vērts katram bloga īpašniekam censties un rakstīt savu dzinēju. Šobrīd jau ļoti liela daļa blogu darbojas tieši uz WordPress vai kāda cita gatava produkta.

Līdzīgi ir arī ar programmēšanu. Kādā brīdī tu vienkārši saproti, ka cita darbu izmantot nemaz nav tik slikti. Pie tam ja tas vēl ir veidots izmantojot labo programmēšanas praksi, tad tas drīzāk tavam darbam piedod papildus vērtību, nevis kaunu. Tā nu dažas nedēļas atpakaļ papētīju Zend Framework un secināju, ka tas ir tā vērts, lai par to iztulkotu kādu pamācību no angļu valodas. Lai arī tulkošanai vairs nav tāda nozīme, kāda tā bija PHP programmētāja rokasgrāmatas tulkošanas laikā, manuprāt, reizi pa reizei ir vērts parūpēties, lai kaut ko varētu lasīt arī latviski.

Tiem, kurus tas varētu interesēt:

Oriģinālās pamācības angļu valodā:

Evolūcija

Posted on October 21st, 2007 in PHP | No Comments »

5 gadi

Kā nu gadījās, kā ne, sanāca parakāties pa “nesenā pagātnē” rakstītu PHP kodu. Nesenā pagātnē tiek likts pēdiņās, jo būtībā atradu savu pirmo nopietno PHP garadarbu, par kuru arī saņēmu savu pirmo oficiālo algu kā programmētājs un kuru vēlāk izmantoju, kā savu programmētāja profesionālās izglītības kvalifikācijas darbu. Paskatoties uz failu modifikācijas laiku secināju, ka pa PHP lauciņu dzīvojos nu jau vairāk, kā 5 gadus. Ja sākumā likās, ka labāk nevajadzētu skatīties, ko esmu tur sarakstījis, tad pēc brīža iedomājos, ka jāpapēta, kas tad īsti tur ir sarakstīts, ņemot vērā šībrīža zināšanas.

Kas pats dīvainākais - tās bailes nebija gluži pamatotas. Ja neskaita dažādus iesācējiem raksturīgus brīnumus un absolūtu nedomāšanu par slodzēm, tad kods priekš iesācēja ir tīri normāls. Tur ir atrodama gan ievaddatu pārbaude, gan arī cīņa pret SQL injekcijām. Tāpat arī koda rakstīšanā ir domāts par koda noformējumu ar atkāpēm (indentation), ir arī atsevišķi komentāri (kas gan šobrīd liekas salīdzinoši bezjēdzīgi). Tas, par ko man ir vislielākais prieks - jau tobrīd biju sapratis, ka kodu ir jāmēģina strukturēt - tā nu bija arī atsevišķi faili funkcijām, failu izmēri pārsvarā nepārsniedza 10KB robežu, tādējādi vienā failā atradās tikai tas, kam tur jāatrodas. Protams, ir interesanti paskatīties kā es programmēju tolaik, taču pats iedvesmojošākais fakts šajā visā ir tas, ka tā sistēma vēl joprojām darbojas nu jau vairāk kā 5 gadus bez manas līdzdalības.

Skatoties uz tik seniem garadarbiem pārņem tādas interesantas izjūtas - no vienas puses vēl šodien atceros, kā es cīnījos caurām dienām rokoties pa php.net dokumentāciju un uzmācoties gudrākiem cilvēkiem ar saviem absolūti jocīgajiem jautājumiem. No otras puses atkal paskatoties uz failu modifikācijas datumiem pārņem sajūtas, ka tas viss ir bijis tik sen, ka pat grūti vairs atcerēties par to, kāda bija PHP programmēšana tolaik.

HTMLPad 2006

Posted on March 5th, 2006 in CSS, PHP, XHTML | 5 Comments »

Nu jau vairs neatceros, cik gadus, bet liekas, ka jau veselu mūžību savā darbā izmantoju HTMLPad, lai rediģētu HTML kodu. Tas, manuprāt, ir viens no veiksmīgākajiem HTML redaktoriem, kas neskatoties uz plašo iespēju klāstu piedāvā arī apbrīnojamu ātrdarbību.

Pēdējā laikā gan manas prasības pret redaktoriem pamanījās augt straujāk, nekā paši redaktori un tāpēc nu jau vairāk kā gadu ikdienas darbā izmantoju Zend Studio. Taču pēc visa spriežot, situācija var mainīties. Pie tam var mainīties par labu mūsu pašu vietējam programmatūras izstrādātājam.

Read the rest of this entry »

Zend piedāvā savu PHP Framework publiskai apskatei

Posted on March 5th, 2006 in PHP | 1 Comment »

Jau labu laiku atpakaļ parādījās informācija, ka viens no galvenajiem PHP izstrādātājiem Zend ir sācis darbu pie PHP ietvara (framework), kas būtu balstīts uz labo programmēšanas praksi, sarežģītu problēmu vienkāršiem risinājumiem, paaugstinātu PHP scenāriju drošību un visādi citādi pretendētu uz vietu korporatīvajā PHP izstrādē. Tie, kas baidās no vārda ietvars var īpaši nesatraukties, jo ietvara izstrādātāji ir pārliecināti, ka tā izmantošana lieki nesarežģīs izstrādi un būtībā tā kļūs vēl vienkāršāka un ērtāka, nekā līdz šim.

3. martā Zend ir laidis klajā pirmo publisko sava ietvara versiju. Tā kā tā ir tikai apskates versija (preview version), tad ne uz ko pārāk daudz laikam iesākumā nevajadzētu cerēt, taču ir vērā ņemamas lietas, kas liecina, ka šis projekts varētu dzīvot gana ilgi un veiksmīgi.

Read the rest of this entry »

WYSIWYG online image crop tool

Posted on March 5th, 2006 in CSS, PHP, XHTML | 3 Comments »

Agrāk es necietu JavaScript. Iespējams, ka necietu tāpēc, ka tā likās kaut kāda mistiska un nevienam nevajadzīga programmēšanas valoda. Laikam ejot, domas mainījās. Mēs jau esam pieraduši pie WYSIWYG tipa redaktoriem interneta pārlūkā, tas vairs neliekas nekas īpašs un katrs daudz maz saprātīgs, JavaScript pārzinošs indivīds ir spējīgs uzrakstīt pats savu WYSIWYG HTML redaktoru. Līdzīgi ir arī ar cita tipa redaktoriem. Izmantojot dažu labu programmētāju veikumu ir iespējams ļoti vienkārši un ļoti īsā laikā panākt objektu pārvietošanu pa lapu ar peles palīdzību. Jā, runa iet par “Drag & Drop” funkcionalitāti mājas lapās. Izmantojot šo funkcionalitāti, kāda projekta vajadzībām izveidoju bildes apgraizīšanas rīku, kas darbojas pārlūkprogrammā.

Read the rest of this entry »

Pie horizonta parādās PHP 6 plāni

Posted on December 1st, 2005 in PHP | 5 Comments »

Neskatoties uz to, ka liela daļa izstrādātāju vēl tā īsti nav ieskrējušies un sākuši izmantot PHP5 un tā jaunās iespējas, PHP izstrādātāji nesnauž un ir jau ķērušies klāt PHP 6. versijas plāniem.

Novembra sākumā Parīzē kopā sanāca bariņš ar PHP izstrādātājiem un visādi citādi PHP attīstībā ieinteresētiem cilvēkiem un apspriedās par nākotnes plāniem. Ar viņu pilno darba rezultātu var iepazīties šeit: http://www.php.net/~derick/meeting-notes.html. Ja nu negribas lasīt visu sarakstu un meklēt, kas tad īsti ir jauns, piedāvāju nelielu ieskatu, manuprāt, interesantākajos un būtiskākajos momentos.

Read the rest of this entry »

Running PHP 5.1 beta 3

Posted on July 27th, 2005 in PHP | 9 Comments »

Neskatoties uz to, ka PHP 5.1 vēl ir beta stadijā, saņēmos un uzinstalēju, lai pārliecinātos praksē par to, cik liels ir ieguvums ātrdarbībā.

Tā kā serveris, uz kura tas viss tiek darbināts ir diezgan pavecs, tad no vienas puses ātrdarbība ir ļoti aktuāla, no otras puses - jārēķinās ar to, ka uz jaunāka servera ātrdarbības ieguvums varētu būt izjūtams daudz labāk. Lai nu kā, intereses pēc veicu pavisam triviālus testus. Pirms PHP atjaunināšanas vairākas reizes pēc kārtas pārlādēju 3a3-interactive.net pirmo lapu. Laiki, kuri uzrādījās Wordpress iebūvētajā hronometrā bija robežās no 1.45 sekundēm līdz 1.80 sekundēm. Veicot tādas pašas darbības pēc PHP atjaunināšanas, attiecīgais laiks samazinājās robežās no 1 līdz 1.2 sekundēm. Sīkums, bet patīkami.

Attiecībā uz problēmām, kādas radās migrēšanas rezultātā:

  • daži kļūdu paziņojumi par to, ka kaut kas nav kārtībā ar date funkciju, kas tika veiksmīgi novērsts vienkārši atslēdzot kļūdu paziņojumu rādīšanu;
  • nelielas problēmas ar SquirrelMail, kurš ir rakstīts izmantojot PHP4 objektorientēto pieeju, taču veicot dažas modifikācijas izejas tekstā tagad funkcionē tīri labi arī uz PHP 5.1.

To, vai tas nebija skrējiens ar galvu sienā, uzzināsim jau tuvākajās dienās…

Upgrade your WordPress!

Posted on July 5th, 2005 in Internets, PHP | 5 Comments »

Beidzot ir pienācis laiks atjaunināt savu WordPress versiju. Iemesls pavisam vienkāršs - diezgan nopietna kļūda XML-RPC kodā. Ja līdz šim dzīvojos uz WordPress 1.5 kaut kādas senas alpha versijas ar dažiem saviem kļūdu labojumiem, tad tagad esmu pārvācies uz WordPress 1.5.1.3.

Many popular PHP-based blogging, wiki and content management programs can be exploited through a security hole in the way PHP programs handle XML commands. The flaw allows an attacker to compromise a web server, and is found in programs including PostNuke, WordPress, Drupal, Serendipity, phpAdsNew, phpWiki and phpMyFAQ, among others.

Vairāk informācijas par kļūdu un iespējamām sekām.

Ja vēl atceraties nesenos notikumus ar phpBB forumu masveida nonešanu, tad laikam šoreiz ir vērts ņemt vērā citu (un varbūt arī savu) neveiksmīgo pieredzi un laikus atjaunināt programmatūru.

PHP 5.1.0 Beta 1 Released!

Posted on June 13th, 2005 in PHP | 3 Comments »

Tagad jāsagaida stabila versija un jāsāk spēlēties ar PDO un citām jaunajām iespējām. Būtībā izskatās, ka liela daļa PHP programmētāju varētu tā īsti nemaz neiemēģināt PHP 5.0.x iespējas, bet uzreiz mesties iekšā PHP 5.1.x.
Papildus informācija par PHP 5.1.0 Beta 1 versiju