Parrot ir Python lenktynės
Jau seniai buvo kalbėta, jog vienas pagrindinių Parrot kūrėjų (Parrot yra Perl6 virtualioji platforma) Dan Sugalski susilažino su Python kūrėju Guido van Rossum, kad Parrot baitkodas bus greitesnis už Pitono baitkodą (Į Parrot baitkodą bus galima kompiliuoti ne vien Perl, bet ir Python, Ruby, Smalltalk, Basic, ir ką tik nori). Atrodo, jog Dan nori sukurti tokią platformą, kuri laisvai galėtų konkuruoti tarp jau dabar egzistuojančių. Tiesą sakant jau dabar mano 120MHz Pentiume Parrot sugeba vykdyti apie 1-2 Skaityti toliau…
Įvadas į Perl: baigiamoji dalis: įpraiškos ir kita
Įpraiškos Perlas palaiko sudėtingą ir plačią įpraiškų sintaksę. Pilną jos aprašymą galima rasti perlrequick, perlretut ir kituose dokumentacijos skyriuose. Tačiau trumpai: Paprastas tikrinimas if (/foo/) { ... } # 'true' jei $_ yra simbolių seka 'foo' if($a =~ /foo/) { ... } # 'true' jei $a yra simbolių seka 'foo' Įpraiškų operatorius // aprašytas perlop dokumentacijoje. Jis pagal nutylėjimą įprašką taiko kintamajam $_, tačiau tai galima pakeisti, pasinaudojus operatoriumi =~ (kurio aprašymą irgi galima rasti perlop dokumentacijoje). Skaityti toliau…
HTML::Mason
Šiandien susidėjau į serverį HTML::Mason modulį, kurio pagalba galima rašytis Perlinius skriptus PHP stiliumi – t.y. tiesiai įterpiant juos į HTML kodą. Tiesa, viskas ne taip paprasta, kaip tik HTML::Mason turi daugiau visokių ypatybių ir gali būti naudojamas tiek šablonams (jei norima tik tokio funkcionalumo), tiek PHP stiliaus programavimui. Kiek pamenu Nightblade buvo pareiškęs, kad jis stengiasi nebenaudot šablonų, o tik nuosaikiai naudoja PHP kodą pačiame HTML. Tai atrodo jog HTML::Mason filosofija ir yra būtent tokia. Skaityti toliau…
Super pakaitalas phpDevServeriui
Beklaidžiojant po PerlMonksus užtikau nuorodą į vieną neblogą sprendimą Windows platformai. Tai web serveris su visais programavimui reikalingais dalykais. Nors idėja panaši į phpDevServer, bet filosofija radikaliai skirtinga – kai devserver stengėsi būti kuo mažesnis, šitas daiktas stengiasi būti kuo didesnis ;) Štai kas į jį įeina: Apache 2.0.46, MySQL 4.0.13, PHP 4.3.2 + PEAR, Perl 5.8.0, mod_php 4.3.2, mod_perl 1.99_10, mod_ssl 2.0.46, openssl 0.9.7b, PHPMyAdmin 2.5.1, Webalizer 2.01-10, Mercury Mail Transport System for Win32 and NetWare Systems Skaityti toliau…
Perlo skaitymo iš bylų būdai
Perlas leidžia nuskaityti duomenis iš bylų daugybe būdų, kai kurie ganėtinai bjaurūs ir nenaudotini. Štai kad ir šis, sutinkamas dažniausiai: { local $/ = undef; open FH, "<$byla"; $duomenys = <FH>; close FH; } Teigiamos pusės: visiems įprasta. Iš kart nuskaito duomenis iš bylos nenaudojant tarpinių masyvų. Neigiamos pusės: $duomenys negali būti leksinis kintamasis, aprašytas su my, nes specialiai reikia sukurti bloką tam kam lokalizuotume $/ Kitas dažnas pavyzdys: @ARGV = ($byla); my $duomenys = join '', <>; Teigiama: Trumpa ir aišku. Skaityti toliau…
Išleistas Perl 5.8.1 RC1
Atrodo, kad ką tik išleistas Perl 5.8.1 RC1. perldelta dokumentacijoje matosi keletas pakeitimų. Vienas svarbiausių pakeitimų yra asociatyviųjų masyvų atsitiktinės tvarkos pagerinimo algoritmas (ten BugTraq berods rašė jog galima padaryt DOS ataką prieš programą, nes kol kas dauguma asociatyviųjų masyvų ne visai atsitiktiniu būdu sudaro masyvo raktų eilę – sudėtingas tas bugas, tik žinau kad egzistuoja beveik visose kalbose ir programose ir kad gali dėl to gautis Denial of Service, nors atrodo tik teoriniam lygyje) Skaityti toliau…
Įvadas į Perl: trečioji dalis: operatoriai ir I/O
Operatoriai ir funkcijos Perlas turi daug standartinių funkcijų. kai kurias jau matėme šiame įvade (tokias kaip print, sort arba reverse). Pilnas funkcijų sąrašas yra perlfunc dokumentacijoje ir apie kurią nors funkciją lengva pasiskaityti konsolėje įvedus perldoc -f funkcijospavadinimas. Perlo operatoriai pilnai aprašyti perlop dokumentacijoje. Štai keletas dažniau sutinkamų: Aritmetiniai: + sudėtis - atimtis * daugyba / dalyba Matematinio palyginimo: == lygybės != nelygybės < mažiau negu > daugiau negu <= mažiau arba lygu >= daugiau arba lygu Simbolių eilučių palyginimo: Skaityti toliau…
Darbai, darbai…
Jau galvojau, kad baigsis Dainų šventė tai bus kada atsikvėpt. Pasirodo užgriūva nauji projektai, kurie beje susiję labiau su mano darbu (internetas, programavimas, adminavimas ir pan.) Per pastarąsias dienas baiginėju verst perlintro – nėra ten tiek daug, bet visi laiko neturi, tame tarpe ir aš pats, tad gaunasi viskas lėtai. Na tikiuosi ryt poryt papostint paskutines „įvado į Perl“ dalis.
Kas svarbiausia šablonų varikliams
Nuskaičiau šiandien PHP forume įdomią diskusiją apie tai kas svarbiausia PHP šablonų varikliuose (ačiū scooox už nuorodą). Labiausiai prieštaringų minčių man sukėlė citata O jei template nera svarbiausia greitis… tai kas tada svarbu? Navarotai? Jei taip – tada tu grybas. Tiesą sakant „navarotai“ yra labai svarbu. Ir turbūt svarbiausia (na, jei greitis nėra visiškai šliaužiantis). Gyvename tokiais laikais kai kompiuterio laikas yra pigus, o programuotojų laikas kainuoja brangiai, tad aš geriau rinkčiausi lėtesnę šablonų sistemą (na, ne tris kart lėtesnę, bet tarkim iki 50% lėtesnę) jei su ja man būtų žymiai lengviau programuoti. Skaityti toliau…
PHP šablonai: kodėl ne HTML?
Pasiskaičius apie lietuviškus (ir ne tik) PHP šablonus pasidarė man labai keista ir įdomu kodėl visuose php šablonuose naudojamos kelių stilių žymos (t.y ir <tplbilekas> HTML stiliaus ir {foo.bar} stiliaus) Kažkaip nesugebu šito pateisint niekaip. Juk gi su tais {} tik problemos su JavaScriptais ir panašiai (pamenat, pukomuko ten changeloge vargai aprašyti? :) Be to su HTML stiliaus žymomis tai jei nesuveikia šablonas dėl kažkokių priežasčių, tai nelenda šiūkšlės į ekraną, nes naršyklės ignoruoja nežinomas HTML žymes. Skaityti toliau…