‘Ruby’ sildiga artiklid

Tarkvara arendamine on pidev tegevus; pidevalt ilmuvad uuendused ja vigade parandused. Kõik see on meeldiv, kuid uuendamine alati pole, eriti kui peab vana maha võtma ja uue paigaldama. Kerkivad mõned küsimused: kas seadistused jäävad alles? kas kõik seaded on varundatud? Palju meeldivam on see, kui rakendus imeväel ennast uuendab ja ise midagi tegema ei pea. Nii toimivad paljud töölaua rakendused praegu, kuid samalaadselt võiksid ka meie klient-server rakendused uueneda.

Peamiselt on meil vaja uus kood kokku kompileerida, lisada talle uus versiooni number, andmebaasi skeem uuendada ja andmete kohandada. Väga palju polegi. Automatiseerimiseks sobivad lihtsad skriptid: kõige algupärasem variant oleks teha konsooli skript, kuid selleks peame väga hästi tundma iga kasutatava rakenduse parameetrite süntaksit.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » .NET,Arendus

SILDID » , , , , ,

LOE EDASI »

Pea iga rakendus vajab andmete salvestamist, eriti nö andmepõhised rakendused. Seetõttu tuleb meil siduda rakendused andmebaasiga ning võimalusi selleks on mitmeid.

Küllaltki tüüpiline on alguses kasutada andmebaasi lähedast mudelit. Ehitada ise andmete vahetuskiht ja teha DataAccess objekte. Sellise lähenemisega kaasneb hulgaliselt andmekihi kirjutamist, tihti on see lausa 80% projekti mahust ning pärast kolmandat korda tundub, et pidevalt on loodud sama koodi. Oren Eini (Ayende Rahien) ühes ettekandeski ütles, et see on lahendatud probleem ning sellele vastu vaielda väga mõistlik pole.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » .NET,Analüüs/Arhitektuur

SILDID » , , , , ,

LOE EDASI »

Koodi versioonime on küllaltki elementaarne nähtus (jah, mõned tõesti ei tee seda, kuid selles situatsioonis ei taha väga ükski meeskond olla), kuid andmebaas on jäänud tihti tahaplaanile. Esimesi praktikaid on hoida meeskonnas ühte jagatud andmebaasi. See võib alguses hea mõttena tunduda, kuid kahjuks pole versioonimisest haisugi ja meeskond näeb erinevaid jõukatsumusi selle haldamisel.

Selleks, et versioonida andmebaasi peame selle mingil moel koodihoidlasse saama. Teame, et SQL skripte annab küllaltki lihtsalt teha ning võiksime teha kolm faili: Create, Data ja Destroy. Nüüd tuleb need lihtsalt käivitada enda lokaalses masinas ja ongi andmebaas arendamiseks olemas ja versioonihalduses. Lahendus töötab küllaltki hästi, kui meil on paar tabelit ainult.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID » , , ,

LOE EDASI »

Enne jooksmist tasub paelad kinni siduda, siiani on see hea praktika olnud. Samalaadselt peame rakenduse loomisel objektid omavahel siduma. Nagu saapapaelu saab mitut erinevat moodi siduda, saab ka objekte.

Kõige lihtsam viis on see, et üks objekt loob teise ja kutsub välja meetodi, kuid seal tekkivad tihtipeale hunnik probleeme. Meil pole võimalik testides seotud objekti võimalik välja vahetada ning see viib tavaliselt välja olukorrani, kus ühe testi käivitamiseks peame hulgaliselt seadistama.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Analüüs/Arhitektuur,Arendus

SILDID » , , , , ,

LOE EDASI »

Esmane kokkupuude Rakega oli mul ühest avatud lähtekoodiga .NET-i projektist. Kuna NAnt ja MSBuild on küllaltki mürarikkad, siis ei mõistnud hästi, et miks selle projektiga tegelejad ei investeerinud piisavalt aega, et see veel loetavamaks teha. Siiski hea, et edasiminek oli.

Praegu käsil olevas projektis viin vaikselt NAnt skriptid üle Rake ja nagu eelnevalt ka lubasin näidet selle kohta, siis siin see ka on.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID » , ,

LOE EDASI »
27

Aprill

Ruby väärtuslikkus

Marek Tihkan 4 kommentaari

Ruby on küllaltki populaarne keel, kuid Eestis seda väga palju ei kasutata. Siiski selle keele õppimine on väärtuslik tegevus, sest see mõjutab mõttemaailma küllaltki palju.

Rubyt peetakse vägagi loetavaks keeleks ja tõesti ilma süntaksit tundmata võib sellest kenasti aru saada. Üks tore õpetus on Why’s (Poignant) Guide to Ruby, mida lugesin Best Software Writings I raamatust.

products.sort do |a, b|
  a.price <=> b.price
end

Enamik koodi näeb kena ja loetav välja kuigi seal on ka nö säästu funktsioone: to_s.

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID » , ,

LOE EDASI »

Dünaamiliste keelte maailmas tuntud termin monkeypatching tähendab meetodite lisamist/muutmist rakenduse töötamise ajal. See on küllaltki võimas vahend koodi kirjutamisel, kuid seal on ka suured ohud kui vääralt seda kasutada.

Näiteks muutes raamistiku poolt väljapakutud käitumist lihtsameelselt võib külvata kõvasti segadust. Samas raamistiku klasse funktsionaalsuse osas laiendada pole halb mõte. Seda on on võimalik ka teha C# 3.0 laiendusmeetoditega. Kuigi dünaamilistes keeltes ei ole lahendatud see illusoorselt. Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID » , , ,

LOE EDASI »

Hiljuti ehk mõned kuud tagasi sai loetud Joel Spolsky poolt koostatud raamatut “The Best Software Writing I: Selected and Introduced by Joel Spolsky”. Seal oli päris huvitav kirjatükk Ruby õppimisest. Pärast paari lehekülge nõutsid koomiksikangelased, et Ruby koodi peab lugema kõva häälega:

5.times { print "Odelay!" }

exit unless "restaurant".include? "aura"

['toast', 'cheese', 'wine'].each { |food| print food.capitalize }

Loe edasi »

  • Share/Bookmark

KATEGOORIAD » Arendus

SILDID » , , ,

LOE EDASI »