Monthly Archives: November 2008

Optimizmas ir pesimizmas programavime

Optimistas rašo:

raise ArgumentError

Pesimistas rašo:

fail ArgumentError

:-)Juokas juokais, bet taip jau yra, kad programuotojai turi būti tikri pesimistai aplinkos atžvilgiu – geros aplikacijos turi būti paruoštos “nenumirti” gavusios pačius netikėčiausius parametrus. Bet, pasirodo, Ruby kodas gali būti vykdymo atžvilgiu analogiškas (raise ir fail yra to paties metodo kvietiniai), tačiau išraiškos atžvilgiu – su atitinkama emocine žinute ;-)

Svečio rubrika: Trys nuodai

Media_httpemptydotcom_qwaoj

nesąmoningai, iš įpročio, kaip išmokytas:– išankstinis nusistatymasišankstinė nuomonė, per greita išvada, “šventas” įsitikinimas kad yra būtent taip ir ne kitaip.– pastovus nepasitenkinimas :-)stiklinė pustuštė, nuotaika bloga, tas padarė tą, tas padarė aną, diena apsiniaukusi, diena per karšta, visi kalti, aš blogai jaučiuosi, pusryčiai nepadaryti, namuose bardakas, pinigų nėra, mokytis reikia, dėstytojai “lievi”, ką jis čia nusišneka… tt.– susireikšminimas“man privalo padėkoti” aš čia padariau taip ir taip, “mane turi pastebėti” aš čia kaip gerai atlikau, kaip aš čia gerai sugalvojau, “kalbėkite su manimi”, “klausykitės manęs” bus taip ir ne kitaip, nes aš taip pasakiau, “aš teisus” , kodėl jis man nepaskambino, kodėl negrįžo kada žadėjo .. ir tt. ir  panašiai.iššūkis – o jeigu atvirkščiai pabandyti?jokios išankstinės nuomonės – atvirom akim, širdimi ir atidžiu protu. iš kur man žinoti ar ši situacija, kokia s……. ji bebūtų – gera ar bloga?  atvirkščiai – yra žinoma, kad viskas tik į gera. netikit? pabandykim. ar tas žmogus kažkuo tikrai nusikalto? ar žinau tai tiksliai, ar man tik taip atrodo? (jei jau ima atrodyti -žegnokis. senolių išmintis)- pasitenkinimas viskuo ką jau turi. nuo pirmo įkvėpimo ryte – nuo pirmo mirksnio iki užmigimo. oho, gal diena pasidarys šviesesnė? jei nėra kuo būti patenkintu – kam gyventi? gal visgi yra? gerai kad kvėpuoju :-) jau vien dėl to šiandien nuostabi diena. galiu atsimerkti, girdėti, jausti maisto skonį. koks jis? gali vaikščioti, kalbėti, skaityti ir suprasti ką skaitau. galiu rašyti. nuostabu. o, radau: pasaulis ne toks koks yra, jis toks, kokie esame mes (R.Sharma)- paprastumas – o kodėl jis man turi dėkoti – padariau savo darbą ir tiek. malonu jį daryti. jaučiu dėkingumą tam žmogui, kuris suteikė man galimybę jam padėti. o jei pabandyti vietoj reikalavimo sau dėmesio – išklausyti kitus? oho – kokie dėkingi. ir apskritai – pripažinimas ateina ne per kalbas ir pasipūtimą – o per nuveiktus darbus.  žiū – ir nereikia kažko tikėtis, kažko laukti – tiesiog galiu dirbti savo darbą, tiesiog gyventi, tiesiog linksmintis.kas priims iššūkį?Parašė: Egidijus

before_save neturi grąžinti false

Gerai, jau gal antrą ar trečią kartą taip išsidūriau, tai dabar užsirašysiu :-)Rails modelyje before_* callback’ai neturi grąžinti false arba nil, nes įrašas nebus išsaugojamas.Pvz.:

before_save :set_gmap_available# ...# šis pavyzdys blogas: tais atvejais, kai latitude# arba longitude atributai nenurodyti, modelis neišsaugojamas.def set_gmap_available  self.gmap_available = !(self.latitude.blank? || self.longitude.blank?)end

O turėtų būti:

def set_gmap_available  self.gmap_available = !(self.latitude.blank? || self.longitude.blank?)  trueend

O jau buvau besiraunąs plaukus nuo galvos kodėl neišsaugo formos, kurių modeliai 100% validūs… :-)

Ekonomikos krizė IT sektoriuje

Prieš kelias savaites Oracle PL/SQL dėstytoja paklausė, ar dar nejaučiame ekonomikos krizės padarinių ir pasiguodė, kad dėl sumažėjusių darbų apimčių iš jų įmonės teko atleisti dalį darbuotojų. Tokiu laikotarpiu kiekvienas pramonės sektorius analizuoja situaciją kaip persiskirstę ar sumažėję užsakymų/pinigų srautai paveiks jų verslą. Norėčiau pamąstyti, kas bus su informacinių technologijų vystymųsi krizės laikotarpiu ir galbūt po jos.Tokioje situacijoje itin aktualus verslo optimizavimas – čia į areną iššoka įmonės, siūlančios tokius produktus. Visgi lėšų stygius stygius užsakovus verčia persvarstyti pasirinkimo kriterijus – nuolatinio kilimo metu neinvestuoti į optimizaciją arba investuoti į pernelyg brangius sprendimus negrasė dideliu finansiniu sukrėtimu. Tad tokiom aplinkybėm akivaizdžiai “ūgtelėja” IT aptarnaujančios įmonės pasirinkimo formulėje kintamasis produktyvumas.Apskritai, galima sakyti, kad agility + productivity-oriented technologies + open source trijulės taikymas duotų geriausių rezultatų tokiam laikotarpyje. Kol didelėms įmonėms sudėtinga persiorientuoti vien dėl jos dydžio, tai mažosios gali puikiai išnaudoti susidariusią situaciją.

Taigi akivaizdu, kad labiausiai dėl krizės nukraujuos labiausiai “popieriniu” procesu, brangiais įrankiais ir neproduktyviomis technologijomis besiremiančios įmonės. Pavyzdžiui, Oracle licenzija vienai darbo vietai – $350, visoms – $17 500; Microsoft SQL Server 2005 – $3,700; Microsoft Windows Server 2003 – $1,199 (max. 10 darbo vietų) ir panašiai. (Su šia kaina gaunate pliką produktą, su kuriuo dar nieko negalite atlikti – reikia dar ir… programuoti)

Tie, kurie gąsdina, kad dabartiniai IT studentai pabaigę studijas neturės darbo, nes rinka užplūs atleisti darbuotojai su didele patirtimi yra iš dalies teisūs, iš dalies klysta. Teisūs, nes taip gali nutikti, kad dalis senbuvių nebeturės darbo vietos. Iš kitos pusės pats laikas teisingai pasirinkti naudojamas technologijas, o ne rašyti reprezentacinius puslapiukus “pliku” PHP. Jau seniai programuotojų darbo laikas brangesnis už geležį, o pasikeitus dar ir ekonominei situacijai pats laikas peržiūrėti technologijų pasirinkimą – mums, studentams, ir įmonėms.

Laimės tie, kurie sėkmingai pakinkys tokius įrankius, kurie orientuoti į produktyvumą ir su savimi nešasi agile metodiką. Galiu kalbėti tik iš web development pusės, tad sąžinė neleidžia nepaminėti Ruby on Rails, Django, Symfony. Rails bendruomenė apskritai krizę vadina “Opportunity” [2] [3], siūlyčiau paskaityti.

Pasaulio pabaigos nėra – krizė negailestinga vieniems, tačiau taip rinka greičiau atsiveria kitiems, pasiruošusiems. Į kurį traukinį papuoli tu?