Prikaz objav z oznako programiranje. Pokaži vse objave
Prikaz objav z oznako programiranje. Pokaži vse objave

četrtek, 14. junij 2007

Nameščanje: Apache Ant

Po daljšem času, sem si na prenosnik, ponovno namestil Windows XP (TabletPC Edition). Kot z vsako novo inštalacijo sistema, si je potrebo sistem prilagoditi po svojih potrebah in željah. Danes bom predstavil namestitev Indijansko Mravljo : Apache Ant. Odločil sem se, da bom uporabil verzijo 1.7; saj ni več Beta verzija in se zdi, da je že čisto dozorel produkt. Kot skoraj vsako pot po internetu, bom tudi sedaj začel na Googleju. Google je moja prva točka pohoda po internetu. In začnimo. Iskanje hitro vrne rezultate, ki smo si jih želeli. Ciljna stran bi morala biti vidna kot prvi rezultat v seznamu. Na voljo je več hitrih povezav, ki jih ponudi Google. Trenutno me zanima le binarna verzija Mravlje, tako da sem se kar od tukaj napotil na spletno stran, ki je naslovljena: "Binary Distributions". Povezava me je hitro in brez dodatnega klikanja pripeljala do ciljne spletne strani. Prikaže se spletna stran na kateri je mogoče zamenjati tudi ponudnika (strežnik) s katerega si želimo prenesti datoteko. Priporočam, da se uporabi privzeta vrednost, saj je, glede na izkušnje, vedno tista, ki je najbolj optimalna glede na povezavo/ lokacijo računalnika, s katerim smo obiskali spletno stran. Spletna stran nam prav tako ponudi na voljo kateri način stiskanja želimo uporabiti za preneseno datoteko. Če uporabljamo Windows sistem, je priporočljivo .zip pakiranje, na UNIX okoljih pa .tar.gz oz. .tar.bz2. Odločitev je stvar uporabnika in načeloma ni napačne izbire. Sam sem se odločil za apache-ant- 1.7.0-bin.zip. Desno od te povezave so še tri dodate povezave do treh "ključev" različnih varnostnih podpisov. Gre se za PGP, SHA1 in MD5. Če bi delal vse pravilno in tako, kot bi moral ... bi naj, bi po uspešnem prenosu moral preveriti, če je prenesena datoteka dejansko ta, ki sem jo želel in če je bila med potjo mogoče kakorkoli spremenjena... a, na žalost sem preveč len. A delam, da tem, da tudi to spremenim. Takole, sedaj se to lepo prenese na izbrano lokacijo na osebnem računalniku in po uspešnem prenosu, odpremo paket v direktorij, kjer se nahajajo vse Java povezane zadeve. Jaz imam za Javo namenjen direktorij C:\java\ in v ta direktorij kopiram tudi Mravljo. Na sliki je mogoče videti, kako imam nastavljeno na svojem računalniku. Trenutno je ta računalnik začasni razvojni sistem, a ga bom čez čas resneje postavil. A v vsakem primeru, se mi zdi razdelitev, kot je sedaj zalo pregledna in primerna za razvoj Java aplikacij. V direktoriju se zraven Indijanske Mravlje nahajajo tudi Java JDK (Java JRE), Eclipse in Apache Tomcat 5.5. Mogoče bi lahko dodal Mravljo v direktorij više, poimenovan Apache. A to je trenutno le začasna ideja, saj je v njem nahaja le Tomcat. Ko se enkrat odločimo, kje bomo shranili Mravljo, je potrebno sistem (ni nujno, je pa priporočljivo) prilagoditi oz. Mravljo povezati v operacijski sistem; kar v mojem poimenovanju pomeni, da nastavimo sistemsko pot do domače vasi Indijanske Mravlje in njenega poglavarja dodamo na sistemsko pot (senat modrih mož). In se odpravimo (po različnih poteh) do Sistemskih lastnosti
. Navodila so za Slovenske Windows XP SP2. V primeru, da je uporabljen kak drug sistem, se spremeni tudi lokacija menijev, tako da me ne držat za besedo (sliko). V Sistemskih lastnostih se opravimo do "Dodatno" in nato pri dnu še "Spremenljivke okolja". Odpre se okno z enakim naslovom. V tem oknu dodamo med lastne sistemske spremenljivke, spremenljivko "ANT_HOME" (Ime) in pot do direktorija, kamor smo kopirali kot vrednost. Spremenljivke shranimo v "uporabniške spremenljivke", ker ne želimo, da celoten sistem uporablja (nočemo česar povozit) enake nastavitve - naj ima vsak svoje. Zaenkrat. Da pa bomo lahko dostopali do Velikega Mravljaka je potrebno dodati na sistemsko pot, pod do njegove kočice. To naredimo tako, da kreiramo (ali uredimo že obstoječo) spremenljivko "PATH". Ponovno dodamo spremenljivko med "Uporabniške spremenljivke", zato dodamo kot sami sebi vrednost "%PATH%", ki prebere "sistemsko spremenljivko", s tem ne "prepišemo" sistemske spremenljivke, temveč le dodamo vrednosti. Tako, smo pripravljeni na prvi test delovanja. Poženemo "Meni start --- Poženi --- cmd --- OK". Pokaže se ukazna vrstica. Napišemo "ant" in Enter. Hmmm. Kaj pa je sedaj to? Ne najde "tools.jar"? Hmm, zgleda da kaže na napačno Java implementacijo. Pa popravimo. V Uporabnikove sistemske spremenljivke dodamo pot do Java implementacije. Pred tem sem poiskal kje na mojem sistemu se nahaja datoteka "tools.jar" - Iskanje po datoteki, čez celoten sistem. Ko sem dodal še tole pot, pa lahko testiram še enkrat. Pa ponovimo korak "Meni start --- Poženi --- cmd --- OK". In ... jeee, napiše, da ne najde datoteke build.xml, a najdel je ANT in ni se pritoževal nad manjkajočo datoteko tools.jar. Takole, pa smo namestili še en uporaben programček.

četrtek, 31. maj 2007

Tri ure časa za tri črke

Že pred dvema dnevoma sem se lotil spletne strani (ene datoteke), ki bi naj bila administracija obstoječega XML dokumenta. XML je dokaj preprost ima tri oz. štiri nivoje in nima imenskih prostorov (namespace).

Trenutno imam v "vzgoji" (strogi vojaški režim) novega sodelavca in tako sem tudi kot vzorčni primer naredil celotno stran (prikaz in logiko) v JavaScript. Datoteka zajema okrog 1.500 vrstic, večine zapisane kot JavaScript.

Veliko časa mi je vzelo, da sem si namestil "okolje", saj sem malo kompliciral in si naredil "debug" okolje, ki pa se je izkazalo kot dokaj priročno in uporabno orodje. In kaj je sedaj tukaj tako pomembnega, da sem se odločil, da to zabeležim? Naslednji kos kode:


// predhodna logika - funkcija m_parse_node

if(node.hasChildNodes()) {

result += ">";

alert("Child nods size:" + node.childNodes.length);

var childNodes = node.childNodes;

var childNode;

var childNodesXml = "";

for(i = 0; i <childNodes.length; i++) {

childNode = childNodes[i];

try {

if(childNode.nodeType != 1) {

g_debug_info("Child node ni ELEMENT: Continue");

continue;

}

childNodesXml += m_parse_node(childNode);

alert("childNodesXml["+ i +"]: " + childNodesXml);

} catch(eee) {

g_debug_error(eee);

}

}

result += childNodesXml;

result += "";

} else {

result += "/>";

}

// nadaljevanje logike



Prav nič posebnega. Metoda, katere del, je ta izpis naredi XML kodo iz DOM objekta. Na svojo žalost (ali nesposobnost) nisem najdel metode, ki bi to naredila zame. No, kaj je tako zanimivega: ta kos kode ne dela! Koda, ki je napisana se zacikla - lupira in lupira in lupira ... do neskončnosti. In zanimivost, ki sem jo opazil: dela lepo - do drugega oz. tretjega cikla. Od drugega "child node"-a, se mu zabluzi: ne zna povečevat števca... ostane na 2 (oz. 3 - ker je 2. nek text element). Da sem razvozlal "skrivnost" sem porabil ... lahko rečem, tri ure - če ne več. Nisem več vedel, kaj si naj zmislim: sem kreiral nove spremenljivke, če se bi mogoče spreminjale vrednosti ob ponovnem klicu metod (node.childNodes[i], ...) nič ni pomagalo. Vrednost i-ja se ni premaknila pa da ga Jbš. Nakar ...

Ker sem "občasno" "dosleden" : lastnost oz. nujnost, ki je "zahtevana" pri C/C++ (in manjka pri npr. Javi) sem se potem že z dolgčasa : Ok, če že imam povsod : "var ime_spremenljivke;" pa dajmo še tukaj "var i; i< ...". In for zanka zgleda takole:



for(var i = 0; i <childNodes.length; i++)



Spomnim se, da sem enkrat bral; da se spremenljivka "loči" po načinu kako se shrani glede na to, ali je zapisana z var, ali brez njega. Pa sem si mislil: pa ne mi rečt, da je to to. Shranim in stisnem F5 na brskalniku (osvežim stran).

Dela. Je prišel do zadnjega - brez problemov. V tem trenutku, sem se počutil vesel: da sem rešil to nadlogo; neumno: da je tako neumna stvar porabila toliko mojega časa. Saj to ne mora biti res, a je.

To je to: torej POZOR! JE razlika med "var i = 0;" in "i = 0;"

P.S.: Stran mi je čisto razmetalo ... :( - to pa mi ni všeč!

nedelja, 29. april 2007

Namestitev Eclipse okolja

Uvod
Tokrat sem si vzel čas, da skupaj namestiva in pogledava nekaj osnov programa Eclipse. Eclipse je razvojno okolje: orodje za razvoj programske opreme in veliko več. Preko namenskih vtičnikov je omogočeno urejanje oz. reševanje velike palete problemov. Najpogosteje se Eclipse uporablja za razvoj programske opreme napisane v programskem jeziku Java; a to ni niti edini programski jezik, ki ga podpira, ni niti edino okolje, ki ga podpira. Eclipse se prav tako počuti domače pri urejanju C/C++, PHP, XML/HTML, UML, TeX in še številnih ostalih projektov. Obstajajo tudi različne namenske distribucije, med njimi so JBoss, IBM, BEA, EasyEclipse, nexB, … Načeloma so takšne distribucije zelo namenski produkti za reševanje problemov. V splošnem ni razlike izbrati osnovo in jo nadgrajevati ali pa izbrati že namensko distribucijo: odvisno od zahtev. Jaz bom začel z osnovo in jo nadgrajeval z različnimi dodatki.

Slika 1: Urejanje Java projekta z uporabo SVN

Namestitev

Začnimo z namestitvijo. Eclipse si je priporočljivo prenesti iz uradne domače spletne strani. Domača spletna stran Eclipse projekta je:

http://www.eclipse.org/

Prikazala se bo naslednja spletna stran:

Slika 2: Domača stran Eclipse

Sama spletna stran je pred časom začela s spreminjanjem izgleda in obsega vsebine. Preobrazba še ni končana, a je na dobri poti. Stran ponuja obilo koristnih informacij; za vsakogar, ki želi izvedeti kaj več o produktu in tehnologiji, ki ga poganja je to eden prvih primernih naslovov. Nadaljeval bom na strani za prenos, s klikom na gumb “Download Eclipse”.

Slika 3: Stran za prenos Eclipse

Eclipse je poimenoval verzijo 3.2 kot “Callisto”, torej to dvoje je popolnoma enako. Callisto označuje nov način posodabljanja, bolj centraliziran način. To je ena takšna večja "razlika". Na spletni strani se prikažeta dve povezavi. Prva je za prenos različnih distribucij, kar sem govoril prejle. Povezava se imenuje “Eclipse Distros”. Ta seznam ni celovit, so še številne druge distribucije. Za podroben seznam poišči po Google. Druga povezava je za prenos “osnove”, povezava se imenuje “Eclipse SDK 3.2.2”, trenutno sem na MacOS X operacijskem sistemu, kar prepozna tudi spletna stran in mi ponudi najprimernejšo verzijo. Eclipse, čeprav je napisan v Javi in je izredno prenosljivo okolje ima nekaj dobrot/optimizacij za vsako okolje; tako je bolje prenesti verzijo za pravilen operacijski sistem. Eclipse je optimiziran za različne sisteme, med najbolj razširjenimi so Windows, Linux, MacOS X; celotna paleta zavzema tudi npr. HP-UX. Nadaljujem z kikom na “Eclipse SDK 3.2.2”. Eclipse je mogoče prenesti tudi preko Torrent omrežja, podrobnosti prepuščam bralcu. Prikaže se seznam spletnih strežnikov, preko katerih si lahko prenesem Eclipse. Spletna stran že samodejno izbere najprimernejši strežnik in lahko nadaljujem na povezavi desno od “Download from:”. Po kliku na povezavo se bo začel prenos. Pri tem bi opozoril, da bodi pozorna pri IE7 (na Windows-ih), saj nov način zaščite onemogoča prenos datotek (odvisno od nastavitev); tako da je potrebno še dodatno dovoliti prenos datoteke. Ponavadi se pojavi dodatna vrstica pod naslovom (potjo). Meni se to pri prenosu ni zgodilo, tako da nimam slike; je pa možno. In začne se prenos.
Slika 4: Prenos Eclipse 3.2.2
Slika 5: Spletna stran za prenos na Windows-ih


Slika 6: Izbira strežnika za prenos na Windows-ih

Prenos lahko traja nekaj časa, odvisno od hitrosti internetne povezave. Po končanem prenosu kopiram vsebino v direktorij:

MacOS X: /Applications/java/eclipse
Windows: C:/java/eclipse
Linux: /usr/local/java/eclipse

Izbran direktorij je popolnoma poljuben in je stvar osebne ureditve, napisal sem poti, kjer imam sam nameščen Eclipse.

Slika 7: Vsebina ciljnega direktorija

Ponavadi si še naredim bližnjico do programa Eclipse, odvisno od operacijskega sistem je to eclipse.exe, eclipse.app (to je ena od razlik, ki so "opazne" na različnih operacijskih sistemih - prepusti izbor verzije spletni strani).

Slika 8: Bližnjica do Eclipse na MacOS X

Tako, Eclipse je nameščen in pripravljen na uporabo. Poženi ga.



Slika 9: Zagonsko okno
Tako, to bi bilo za enkrat vse. Naslednjič si bomo pogledali, kako narediti Java projekt: "Zdravo iz Jave s pomočjo Eclipse!". Nekako tako.
Prijetno uporabo Eclipse, do naslednjič.