Unixové práva

it, literarna tvorba 2 Comments »

Keď telefón zvoní
kričíš “vždy sa to stáva”
Zase sú to ony,
poražené práva

Práva, práva, unixové práva
Priznaj, aj tebe sa to stáva,
že obcas nejdú
No neboj,
všetky bolesti raz prejdú

Sedem, sedem, sedem,
cez všetky súbory prejdem
Sudom ich nastavím,
všetky problémy opravím

Práva, práva, unixové práva
Priznaj, aj tebe sa to stáva,
že občas nejdú
No neboj,
všetky bolesti raz prejdú

Všetky tučniaky na pól pošlem,
okná dokorán otvorím,
nebudem mať žiaden problém,
proti skaze sveta sa postavím

Práva, práva, unixové práva,
veľká serverová zástava,
keď s nimi robiť nevieš,
tak ich prosto nerieš

Práva, práva, unixové práva
Priznaj, aj tebe sa to stáva
že občas nejdú
No neboj,
všetky bolesti raz prejdú

Svoju konzolu na okienka zmeň,
na diabolský vim navždy zapomeň
Zasadím im poslednú z rán,
za prachy si oknový server obstarám

Tags: , ,

Esej o Lisp-e

it No Comments »

Blúdením Internetom som narazil na zaujímavú esej o Lispe. Hoci som na našej fakulte prešiel základným kurzom Lisp-u, táto esej mi ukázala pohľad, ktorý som doposiaľ nepoznal. Darmo by som sa to znažil sám zhrnúť. Lepšie je prečítať si to.

Tags:

Všobecnosť

it 1 Comment »

V práci momentálne pracujem na prepojení ASP.NET a PHP systémov pomocou web servisov. PHP časť je v roli klienta, ktorý volá ASP.NET servisy. Používame NuSOAP kližnicu. “Zaujímavý”, priam výsostne nevhodný je prístup, ktorý sa rozhodli autori tejto knižnice použiť.

Web metóda zo servisu vracia pole prvkov. NuSOAP vracia toto pole rôzne ‘kódované’ v závislosti od počtu prvkov poľa:

  • v prípade prázdneho poľa dostávame prázdny reťazec (chýba obaľovač pre pole)
  • jednoprvkové pole dostaneme ako prvok samotný (chýba obaľovač pre pole)
  • iba viacprvkové pole dostane tak, ako by sme očakávali – obaľovač a v ňom jednotlivé prvky

Na prvý pohľad si môžeme povedať: “Super! Ušetrili sme zopar bajtov pamäte.” Čo všetko to ale prináša? Takto výhodne ‘zakódované’ pole už nie jednoducho spracovateľné. Napríklad konštrukcia foreach(…) prestáva fungovať. V prvom a druhom prípade skončíme s chybou “argument nie je pole”.

V tom horšom prípade budeme na každom mieste opakovať kontrolu tieto tri špeciálne prípady a kód prestane byť únosný. V tom lepšom prípade skončíme s neustálym používaním podobnej funkcie, ktorá nám zabezpečí, že z “fajnovo” zakódovaného poľa dostaneme štandardné pole.

function ensureArray($arr) {

if($arr == “”) {

return array();

} else if(isset[$arr[0]] == false) { // ak v $arr mame objekt – fieldy, ine kluce mozu existovat

return array(0 => $arr);

} else {

return $arr;

}

}

A práve nedostatok všeobecnosti je vážny neduh softvérových projektov. Je potrebné, v čo najväčšej miere, špecifickosť zaobaliť, aby následne boli jednotlivé údaje spracovateľné všeobecným spôsobom. K tomu nam v objetovo orientovanom prístupe pomáha polymorfizmus.

Tags:
Designed by NattyWP Wordpress Themes.
Images by desEXign.
 
This website uses a Hackadelic PlugIn, Hackadelic Sliding Notes 1.6.4.