Você está na página 1de 34

e dit orial

ndice

8 a program ar 17 t cnol e ogias 21 t orial ut 23 gnu/inux l 27 proj ct e o 30 anle s is 32 int rne t e 33 bl s cre e n ue 34 com unidade

3 not cias 4 t m a de capa e

e q u ipa P O G R A M A R R

adm inis t rao


Rui M aia D avid P as s ilo int g

coorde nador
S rg io S ant os

A pre s e nt ao e divu l ao g
A l a e dio f um m arco m uit im port e para o nos s o t im oi o ant proj ct Nunca a re v t P G RAM AR t a s ido t f ada, e o. is a RO inh o al t div gada e , principal e nt , nunca t a s ido t l F o ul m e inh o ida. oi t bm aps o l am anam e nt da q uart e dio q ue f m os a o a ize nos s a prim e ira apre s e nt ao pbl ica, q ue t v l e e ugar no B arCam pP 2006. Es t e v nt de corre u no P o 2 da T e e o l Univ rs idade de Coim bra e t v com o pbl prof s ionais e e e e ico is am adore s da nos s a re a. Es t s re s ul e t ados e lv e am a f q uia da q ual as idade q ue nos e xigida por part dos nos s os lit s , q ual e e ore idade e s s a q ue q ue re m os cont inuar a garant e s s a, port o, a razo do ir. ant at o de al ras guns dias de s t e dio. P dim os de s cul de s de a e pa j por e s t f o, m as cons ide ram o-l com pre e ns v lv t q ue e act o e , is o ainda s om os um a e q uipa de am adore s , q ue t rabala ne s t h e proj ct por s at f e o is ao pe s s oal . Ne s t e dio pode m e ncont a nov s e co T cnol a rar a e ogias , de dicada a art igos q ue , e m bora no e s t j e am dire ct e nt am e re l acionadas com program ao, s o im port e s para o ant de s e nv v e nt de al as apl olim o gum icae s . Es t com e a com um a art igo s obre RFD , um t m a cada v z m ais dis cut I e e ido act m e nt . I m os t bm apre s e nt e m bre v um nov ual e re am ar e o port para a re v t m ais dinm ico e com m ais inf ae s al is a, orm s obre o proj ct de s e nv v por m e m bros da nos s a e q uipa. e o, olido

coorde nador adj o unt


M ig ue l ais P

re daco

F rnando M art e ins P ric F ue ire do at ig Joo P re ira e F bio Corre ia D anie l Corre ia Tiag o S alado g M arce l M art o ins P dro S ous a e P dro Cal ira e de

col aboradore s
Jos O l ira ive

cont o act w e bs it e

re vis t aprog ram ar @ port al ug -a-prog ram ar.org w w w .re vis t a-prog ram ar.inf o

<2>

Srgio Sant os

not cias

MI f T inancia ins t ut port it os ugue s e s


O acordo do G ov rno port e ugus com o M as s ach us e ts I t ut ofT ch nol (M I t ns it e e ogy T) e nv v um f ole inanciam e nt pbl gl o ico obal 32 m ile s de e uros s ins t uie s de h it nacionais abrangidas pe l P o rogram a M I P ugal O P T ort . rogram a e nv v q uat ole ro re as t m t e icas : Enge nh aria de Conce po e Sis t m as Av e anados , Sis t m as de e Ene rgia, Sis t m as de T e rans port s e Sis t m as de B nge nh aria. e e ioe

O acordo de coope rao com o ins t ut nort - am e ricano M I e nv v a Es col it o e T ole a de Enge nh aria da Univ rs idade do M inh o, a F e acul dade de Cincias da univ rs idade e de L boa, as f is acul dade s de Cincias e T cnol e ogia da Univ rs idade de Coim bra e da e Univ rs idade Nov de L boa e a F e a is acul dade de Enge nh aria da Univ rs idade do P o. e ort Env v ainda o I t ut Supe rior de Econom ia e G e s t da Univ rs idade Tcnica de ole ns it o o e L boa e o I t ut Supe rior Tcnico da Univ rs idade Tcnica de L boa. is ns it o e is Se gundo o t xt do acordo, as ins t uie s nacionais , e m parce ria com o M I , e o it T pode ro nos prxim os cinco anos cont ar prof s s ore s conv rat e idados de m rit o int rnacional e inv s t e e igadore s e m ps -dout oram e nt O program a pre v ainda q ue o. os e s t udant s , inv s t e e igadore s e doce nt s e m ins t uie s port e it ugue s as col abore m com e q uipas de inv s t e igao no M I . T

AM D t ica l ripl ucro


A Adv ance d M icro D e v s (AM D ) s upe rou as ice e xpe ct iv at as dos analt is as f inance iros , l ucrando 134 m ile s de dl s e f urando h are act 1,33 bilo de dl s no t rce iro t e s t de h are e rim re 2006. A e s t at a dos analt im iv is as e ra um a re ce it de 1,31 bil s de dl s . As m arge ns a ie are ope racionais da e m pre s a, cont udo caram , f o q ue a AM D at act ribui a v ndas m e nos e ace lradas de ch ips para de s k t . e ops A q ue da de m arge m re fe t t bm a dis put l e am a com a riv I e l q ue re port q ue da de 35% alnt ou no l ucro ne s t t e s t . P e rim re ara o q uart t e s t , o rim re a AM D pre v um cre s cim e nt apoiado na f o o us com a f abricant canadiano de ch ips grf e icos ATI O obj ct o o de of re ce r produt . e iv e os int grados ao m e rcado de com put e adore s m v is e e lt e e rnicos de cons um o.

F f 2.0 at ire ox inge 2 m ile s de h dow nl oads e m 24 h oras


O F f 2.0 at ire ox ingiu os 2 m ile s de dow nl h oads no prim e iro dia, com picos de 30 dow nl oads por s e gundo. I t s ignif so ica q ue o F f e s t ire ox e m v de s upe rar os 3 m ile s de dow nl ias h oads e m 4 dias do I E7. Es t s s o re s ul e t ados m uit o pos it os para a e q uipa de de s e nv v e nt iv olim o da M ozil l No e nt o, o nm e ro de a. ant ut izadore s do I e rne t Expl r 7 de v r il nt ore e aum e nt com o l ar anam e nt do W indow s V t o is a.

<3>

t m a de capa e
pos s v l apl e a icao dos s cript div gados s ul inde pe nde nt m e nt da bas e de dados e m e e caus a. de re f rir q ue com um cada e s is t m a de bas e de dados pos s uir as s uas e prprias e xt ns e s e m bora, as norm as SQ L e 92 e SQ L 9 -9 s e j , gros s o m odo, am im plm e nt e adas por t odos .

O bj ct o e iv

B e s de D ados as
As B e s de D ados (B ) s o as D im pre s cindv is e a q ualue r q s is t m a e s o por is s o pre s e na e cons t e no dia-a-dia de t ant odos q uant f m de s e nv v e nt os aze olim o.
Es t re al a idade adv m da ne ce s s idade de " e m ria m pe rs is t nt " q ue e e q ualue r q apl icao t m , por m ais s im pls q ue s e j e e a. I t v v l bv num com plxo s is t m a so is e e io e e bancrio, m as t bm v v l por v ze s am is e , e m e nos bv io, num j ogo q ue guarda as pont uae s dos m e lore s j h ogadore s num s im pls f e iro de t xt e ich e o. I nde pe nde nt m e nt do s uport us ado, a e e e ne ce s s idade de guardar e re cupe rar dados e xis t e um a cons t e e m e ant q ualue r apl q icao.

Um a B t m com o obj ct o l o guardar D e e iv t im e re cupe rar dados , e q uant m ais de pre s s a o m e lor Es t a ide ia q ue s e t m e m m e nt h . a e e q uando s e f a e m B . al D t bm com e s t e out obj ct os e m am e ros e iv m e nt , q ue os art e igos s e ro apre s e nt ados . O s t m as f e ocados v o pe rm it a q ualue r ir q um iniciar-s e no m undo das B s e e v uir a D ol pont o de criar conh e cim e nt o e s e ns ibil idade s uf nt s para crit icie e icar e dis cut s e m pre q ue o t m a de conv rs a f ir e e or o univ rs o das B s . e D

B e de D ados as
D e um a f a s im pls , um a B pode s e r orm e D de f inida com o um s im pls banco de dados e organizado s e gundo um a de t rm inada e e s t ura. rut Act m e nt , os Sis t m as de G e s t ual e e o de B e s de D ados (SG B ) m ais com uns e m ais as D us ados s o os re l acionais , q ue as s e nt am s obre um a e s t ura de re l rut ae s e nt re e nt idade s . No e nt o, o m undo das B ant D no s e e s got nos Sis t m as de G e s t de a e o B e de D ados Re l as acionais - Re l ional at D at abas e M anage m e nt Sy s t m e na t rm inol e ogia das B - (RD B S) Exis t m D M . e out ras B com e s t uras h ie rrq uicas ou D rut por obj ct , m as a s ua ut izao no e os il m uit dif o undida e s o norm al e nt us adas m e e m cas os part are s . icul

m bit o
Ne s t m bit e o, ao l ongo das prxim as e die s da Re v t P is a rogram ar v o s e r apre s e nt ados art igos s obre bas e s de dados abrange ndo um conj o de t m as q ue unt e aj udam a com pre e nde r m e lor e s t h e m undo, de s de a ide al izao de um m ode l de dados at t f de t o are a uning de um a bas e de dados . Em parall com os art e o igos h av r um a e s e co prt ica q ue il t us rar e pe rm it ir acom panh ar os conh e cim e nt os aq ui apre s e nt ados . Es t s e co prt a ica s e guir a norm a S Q L 9 para q u e s e j -9 a

Exe m pl o
D e f a a il t e a pe rm it um m e lor orm us rar ir h acom panh am e nt de s t art o e igo, o m e s m o v s e r com plm e nt ai e ado com um e xe m pl o.

<4>

t m a de capa e
D ado q ue ne ce s s rio ide nt icar if univ ocam e nt cada um dos int rv nie nt s e e e e de cada e nt idade , t orna-s e ne ce s s rio dot cada e nt ar idade com um ide nt icador if nico. P ns ando no cas o do ut izador um e il , pos s v l ide nt icador s e r o nm e ro do e if bile t de ide nt h e idade (B) P ns ando no I. e cas o do l ro, um pos s v l nt icador s e r iv e ide if o I N. Ne s t cas o, ide nt icaram -s e as SB e if ch av s candidat e as de cada um a das e nt idade s , q ue s o as proprie dade s q ue pe rm it m e ide nt icar if univ ocam e nt e q ualue r ut izador ou l ro at s de um a q il iv rav proprie dade , ou de um conj o de unt proprie dade s . P e xe m pl um a pos s v l or o, e ch av e candidat a pode ria para um ut izador s e r o nom e e a m orada, q ue il j os t bm ide nt icam univ unt am if ocam e nt e um ut izador il . D o conj o das ch av s candidat unt e as s e lcciona-s e a m e lor q ue t e h orna pos s v l e ide nt icar if univ ocam e nt e q ualue r q ut izador ne s t cas o o ut izador at s do il , e il rav B, e o l ro at s do I N. I iv rav SB T ndo as ch av s prim rias s e lccionadas , e e e as e nt idade s f icam as s im re pre s e nt adas : - l ro: I N, t m pe l m e nos um aut , t m iv SB e o or e um t ul t m um a e dit t o, e ora; - ut izador: B, t m um nom e , um a m orada; il I e - re q uis io: I N, B. SB I Agora a e nt idade re q uis io pos s ui duas proprie dade s , I N e B, q ue s o as ch av s SB I e prim rias das e nt idade s l ro e aut , iv or re s pe ct am e nt . O u s e j iv e a, a e nt idade re q uis io pos s ui duas ch av s e s t e range iras , um a v z q ue e s s as duas proprie dade s s o e ch av s de out e ras e nt idade s . D e para-s e agora um de s af q uala ch av prim ria io: e da re q uis io? M e dit m os um pouco: s e um a re q uis io e no m ais do q ue um a l igao e nt um re ut izador e um l ro, e nt um ut izador e il iv o il um l ro de f m iv ine univ ocam e nt e um a re q uis io. D ado q ue um l ro iv ide nt icado por I N e um ut izador por B, if SB il I e nt o a ch av prim ria de s t e nt e a idade s e r o par I N, B. SB I

O de s af cons t io ruir um a B para um a D pe q ue na bibl e ca pe rm it iot indo re gis t no ar s os l ros , m as t bm os ut izadore s e as iv am il re q uis ie s de l ros . iv

M ode l Re l o acional
O m ode l re l o acionalde f ine a e s t ura da rut B e o prim e iro pas s o no de s e nh o de D um a B . Es t m ode l m ode l a re al D e o a idade de f a l orm gica, ou, por out ras pal ras , av re pre s e nt a s ol a uo l gica para um dado problm a. e As s im , o prim e iro pas s o ide nt icar as if e nt idade s e m caus a. D ado o de s af de io um a pe q ue na bibl e ca, a m e s m a t r: iot e - l ro: q ue re pre s e nt um l ro; iv a iv - ut izador: q ue re pre s e nt os ut izadore s il a il da bibl e ca. iot Um a das principais f une s de um a bibl e ca e m pre s t l ros , e s t re al iot ar iv a idade no e s t ainda re pre s e nt ada no m ode l e o ne ce s s rio cri-l a. As s im , num a s e gunda it rao, al ram os o e t e m ode l para pe rm it q ue os ut izadore s s e o ir il l m aos l ros at s de re q uis ie s . igue iv rav D e s t f a, as e nt a orm idade s ide nt icadas s o: if - l ro: q ue re pre s e nt um l ro; iv a iv - ut izador: q ue re pre s e nt os ut izadore s il a il da bibl e ca; iot - re q uis io: q ue re pre ns e nt a l a igao e nt um l ro e um ut izador da bibl e ca. re iv il iot As s im , um a v z ide nt icadas as e nt e if idade s , ne ce s s rio ide nt icar as caract rs t if e icas e proprie dade s de cada um a de l : as - l ro: t m pe l m e nos um aut , t m um iv e o or e t ul um a e dit t o, ora e o I N; SB - ut izador: t m um nom e , um a m orada il e e o nm e ro do bile t de ide nt h e idade ; - re q uis io: t m o ide nt icador do l ro e if iv re q uis it ado e t m o ide nt icador do e if ut izador q ue e f ct il e uou a re q uis io.

<5>

t m a de capa e
D ado q ue um l ro pode pos s uir m ais de um iv aut e q ue um aut pode t r m ais de um a or, or e obra, ide nt icam -s e duas nov e nt if as idade s : aut e aut or oria; re f ul -s e as e nt e orm am idade s . As s im , num a t rce ira it rao s obre as e e e nt idade s f icam os com : - l ro: q ue re pre s e nt um l ro; iv a iv - ut izador: q ue re pre s e nt os ut izadore s il a il da bibl e ca; iot - re q uis io: q ue re pre s e nt a l a igao e nt um l ro e um ut izador da bibl e ca; re iv il iot - aut q ue re pre s e nt um aut or: a or; - aut oria: q ue re pre s e nt um aut de um a or l ro. iv Num a s e gunda it rao e s obre as caract rs t e icas e proprie dade s de cada e nt idade concl e q ue : ui-s - l ro: I N, t m um t ul t m um a e dit iv SB e t o, e ora, t m um nm e ro de copias dis ponv is ; e e - ut izador: B, t m um nom e , um a m orada; il I e - re q uis io: I N, B; SB I - aut t m um nom e ; or: e - aut oria: I N e o ide nt icador do aut SB if or. Um a ch av candidat para a e nt e a idade aut s e r o nom e , m as dado q ue pode or h av r m ais de um aut com o m e s m o e or nom e , e m part ar porq ue os aut s s o, icul ore m odo ge ral conh e cidos ape nas pe l s e u , o nom e prprio e ape l ido, ne s t cas o no e e xis t e ne nh um a ch av e candidat a s uf nt m e nt boa para s e r e lit razo icie e e e a, pe l q ual e adiciona um cam po e xt para a s ra ide nt icao e s e e f ct a l if e ua igao de s s e cam po e xt de ide nf ra icao com a aut oria. As s im , f icam os com : - l ro: I N, t m um t ul nm e ro de iv SB e t o, cpias dis ponv is , idEdit e ora; - ut izador: B, t m um nom e , um a m orada; il I e - re q uis io: I N, B; SB I - aut idAut t m um nom e ; or: or, e - aut oria: I N, idAut SB or. de not q ue a e nt ar idade aut oria anl oga de aut or, f r a re l aze ao de aut s com ore ch av prim ria com pos t e a ch av s e s t e range iras . de l igao ou s e j por a, l ros , a s ua iv pe l duas as F igura 1 O m ode l pare ce , priori, f izado, m as a o inal v rdade q ue o m e s m o no e s t e norm al izado. O lando at nt e nt para a h e am e e nt idade l ro, not os q ue a e dit iv am ora ir-s e - re pe t v ir ariads s im as v ze s e m t e odas as e nt radas de l ros q ue pe rt nam a um a iv e m e s m a e dit ora. P ara e v ar e s t re pe t it a io do nom e da e dit ora, o m ode l t m de s e r o e norm al izado. A norm al izao um proce s s o de re e s t urao do m ode l l rut o gico de f a a e l inar re dundncia, organizar os orm im dados de f a e f nt orm icie e e re duzir pot nciais anom al . O lando m ais at e ias h rs no e xe m pl t bm j e f ct o, am e uam os um a " e udo-norm al ps izao" ao s ubs t uir no l ro , it iv a re gra "e m de t r pe l m e nos um aut t e o or" pe l e nt as idade s aut e aut or oria. Norm al izando o m ode l t m os q ue a o, e proprie dade e dit ora pas s a a s e r um a e nt idade , e l ro pas s a a f r re f rncia iv aze e e dit ora e m q ue s t o: - e dit ora: idEdit ora, nom e ; - l ro: I N, t m um t ul cpias iv SB e t o, dis ponv is , idEdit e ora; - ut izador: B, t m um nom e , um a m orada; il I e - re q uis io: I N, B; SB I - aut idAut t m um nom e ; or: or, e - aut oria: I N, idAut SB or. D e s t f a, t a orm odos os l ros q ue pe rt nce m a iv e um a m e s m a e dit ora t a m e s m a re f rncia, m e idEdit ora. Not -s e q ue t bm na e nt e am idade e dit ora s e apl icou a criao de um a proprie dade prpria para a ide nt icao unv if oca, e m bora aq ui o nom e pude s s e t r s ido s e lccionado e e com o ch av prim ria, um a v z q ue a e e probabil idade de e xis t m duas e dit ire oras dis t as com o nom e e xact e nt igual int am e inf a. m

<6>

t m a de capa e
As e nt idade s principais de f inidas no e xe m pl pode m s e r v t no diagram a da o is as f igura 1. de re f rir q ue no diagram a no e cons t am as e nt idade s re l acionais , as ch av s e prim rias e s t o re pre s e nt adas a v rm e lo e h (P ) e o s e u nom e e s t norm al K izado para " id<Ent idade > [P roprie dade ] " .

Re l ae s
As re l ae s s im pls m e nt e e l igao, e nt re pode m s e r de para N" . re f ridas at e rs re pre s e nt am a l gica de re l ao, ou as e nt idade s . Es s as re l ae s " para 1" " para N" ou de " 1 , 1 , M

F igura 2 P f , o diagram a da f or im igura 3 (1). apre s e nt a o m ode l com plt com as re l o e o, ae s e as e nt idade s re l acionais com os nom e s norm al izados para " K _<idEnt P idade > " As . ch av s e s t e range ira e s t o re pre s e nt adas a v rde (F ) e as ch av s e s t e K e range iras q ue s o t bm am ch av s e prim rias e st o re pre s e nt adas a azul F ) (P K .

Um a re l ao diz-s e de " para 1"q uando um 1 e lm e nt de um a e nt e o idade s e re l aciona unicam e nt com out e lm e nt de out e ro e o ra e nt idade . Es t a re l a ao m ais s im pls e e m e nos int re s s ant e e q ue e xis t , e no ne ce s s it ando s e q ue r de e nt idade s adicionais para a re pre s e nt No cas o de um e lm e nt ar. e o de um a e nt idade s e re l acionar com m ais de um e lm e nt de out e nt e o ra idade , e s t os na am pre s e na de um a re l ao de " para N" No 1 . e xe m pl apre s e nt o ado e xis t um a re l e ao de s t t e ipo: um l ro pos s ui um ou m ais aut s . iv ore Es t re l a ao re pre s e nt ada pe l e nt a idade aut oria: um I N re l SB aciona-s e com um ou m ais idAut Um a re l or. ao " para N" re pre s e nt M a m l as re l t ipl ae s e nt os e lm e nt de duas re e os e nt idade s . No e xe m pl apre s e nt o ado e xis t e um a re l ao de s t t e ipo: um ut izador pode il re q uis it v ar rios l ros e um l ro pode s e r iv iv re q uis it ado por v rios ut izadore s . il S no pos s v l ue um ut izador re q uis it o e q il e m e s m o l ro v iv rias v ze s de v e ido e s cola do h de s e nh o do m ode l Es t re l o. a ao as s im re pre s e nt ada pe l e nt a idade re q uis io, q ue de v ido ao f o da ch av prim ria s e r act e cons t uda pe l it as ch av s prim rias das e e nt idade s re l acionadas , no pe rm it q ue um e ut izador re q uis it v il e rias v ze s o m e s m o l ro. e iv Es t re s t a rio no um a l it im ao, ne m de v e s e r v t com o t , um a v z q ue f m e nt is a al e acil e ul t rapas s v l de f e inindo um a out ra ch av e prim ria para a e nt idade . O diagram a da f igura 2 apre s e nt o e xe m pl a o com as e nt idade s re l acionais m at rial e izadas .

F igura 3 Cada um a de s t e nt as idade s v re s ul num ai t ar obj ct na bas e de dados , um a t e o abe l e a, cada um a das proprie dade s de cada obj ct v re s ul num a col e o ai t ar una. M as e s t e pas s o acont ce r ape nas num prxim o e art igo, act m e nt im port e re t r os ual e ant e conce it os de M ode l Re l o acional M ode l , o L gico, Ent idade , P roprie dade , Ch av e Candidat a, Ch av e P ria, rim Ch av e Es t range ira e Norm al izao.
1) A not ao us ada no diagram a a not ao O raclTM (O raclTM um a m arca re gis t e e ada)

<7>

F rnando M art e ins

a program ar
<html> <head> <script src="codigoAJAX.js"></script> </head> <body> <form action="" method="post"> Utilizador Pretendido: <input type="text" name="username" id="username" onKeyUp= "verificaUtilizador(this.value)"> </form> <div id="resposta"></div> </body> </html>

P ginas dinm icas com ASPe AJAX


Q ue m nunca pe ns ou e m f r um Ch at ou aze um a Sh out ox? Exact m uit de ns , no B o, os e nt o, ant al go t o f cral com o a ul act izao da conv rs a t ual e ornav e um a-s q ue bra-cabe as df de s ol icil ucionar. O u s e f azia um re f s h pgina (al de s agradv l re go e e a e v ar) ou... Enf , s e ria ape nas m ais um it , im proj ct e o no concre t izado. O ra, f oi pre cis am e nt e para s ol ucionar e sse s problm as q ue nas ce u o AJAX (As y nch ronous e Jav aScriptand XM L. ) Q uando f am os e m AJAX conv al m t r a e noo q ue no s e t a propriam e nt de um a rat e l inguage m de program ao nov e m uit a, o m e nos s e re f re ao h abit de t rge nt . T ae ual e e rat s e s im , de um a t cnica para act izar ual inf ao rapidam e nt . I agine m os , por orm e m e xe m pl um ch at Com o h abit o, . ual H TM L Re f s h o brow s e r iria carre gar a pgina t re oda nov e nt . J com o AJAX ape nas s e r am e act izado aq uil q ue q uis e rm os , ne s t cas o, ual o e o 'corpo' da conv rs a. e AJAX corre prat icam e nt e m t e odos os s e rv idore s m as , para q ue pos s am os us uf ruir de s t , pre cis are m os t bm e am de um a l inguage m Se rv r-Side , ne s t cas o o ASP Al e e . m dis s o o AJAX t m a part aridade de s e r e icul ape nas v v l e m brow s e rs q ue t nh am is e e s uport com plt XM L Act m e nt e xis t m e e o . ual e e ape nas dois brow s e rs a s uport t al e nt ar ot m e e s t t cnol a e ogia: o I e rne t Expl r e o M ozil nt ore l a F f Em brow s e rs com o o Saf ou o O pe ra ire ox. ari com um as apl icae s com AJAX apre s e nt m al are guns e rros , ou de f icincias . M as , de ixe m o-nos de t oria e pas s e m os e prt ica. I m os criar um a pgina de re gis t re o, com a part aridade de garant q ue no icul ir h aj us e rnam e s re pe t . am idos

A part do '<s cript s rc=" e codigoAJAX.j " s > </ cript ', incl o cdigo AJAX para q ue s > ui s e j pos s v la v rif a e e icao. J o pargraf o abaixo, s e r a t re a e m q ue nos dit s e al o o us e rnam e j e xis t ou no. A aco e v rif e icaUt izador(t is .v ue ) il h al , re q ue re o t is .v ue para q ue o brow s e r s aiba q ue h al de v act izar a re s pos t s e m pre q ue o e ual a t xt al rado. A f e o t e uno s e m o t is .v ue h al t ria de s e r inv e ocada por um bot at s o rav do onCl por e xe m pl cas o cont ick o, rrio no iria f uncionar. O cdigo AJAX o s e guint : e codigoAJAX.j (o cdigo t bm pode ria s e r s am ins e rido na pgina do f ul orm rio m as , por m ot os de organizao, s e param o-l . iv o)

function handleHttpResponse() { if (http.readyState == 4) { if (http.status == 200) { if (http.responseText.indexOf( 'invalid') == -1) { results = http.responseText. split(","); document.getElementById( "resposta").innerHTML = results[0]; emProceso = false; } } } }

<8>

a program ar
function verificaUtilizador() { if (!emProceso && http) { var valor = escape(document. etElementById("username").value); var url = "utilizadores.asp? txtUser="+ valor; http.open("GET", url, true); http.onreadystatechange = handleHttpResponse; emProceso = true; http.send(null); } }

Em s e gundo, v rif e icam os s e o ut izador j il e xis t , por um a Q ue ry St e ring com o v or al ins e rido pe l ut izador, v or e s s e q ue s e r o il al re ce bido no f e iro ASP Es t ich . e dir de f av m e nt s e o ut izador e s t ocupado init e e il ou no. P l o, e xe cut or t im ado o obj ct H TTP e o , q ue s e s t dis ponv l m al e e guns brow s e rs . P ara t rm inar s nos f t o cdigo ASP q ue e , al a , no pas s a de m e ia dzia de l as . inh P e iram e nt , o cdigo ir re cole r o v or rim e h al da v ariv l Ut izador e il , at s rav do re q ue s t ue ry St .Q ring. D e s e guida, s e r f it e a a v rif e icao e , f m e nt , s e r-nos - dit inal e o s e o ut izador e s t dis ponv l P il e . ara e v ar it 'bug's " s s e r apre s e nt ado re s ul t ado s e o v or da v al ariv l e no f nul or o. ut izadore s .as p il
<% if request.querystring("Utilizador") <> "" then utilizador = request.querystring( "Utilizador") if utilizador = "p@p" then response.write "Ocupado, escolha outro." else response.write "Est Disponvel!" end if end if %>

function getHTTPObject() { var xmlhttp; @cc_on @if (@_jscript_version >= 5) try { xmlhttp=new ActiveXObject( "Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp=new ActiveXObject( "Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp=new XMLHttpRequest(); } catch (e) { xmlhttp=false; } } return xmlhttp; }

Agora s t s t e ar! Es t cdigo e s t m uit e o s im pls , m as um a bas e para, por e e xe m pl incl re cordSe t e int ragir com o, uir s e um a bas e de dados .

Es t cdigo, pare ce be m com pl e icado m as no o . T m t e rs e t apas s im pls . P e iro e rim dize m os com o e onde q ue o brow s e r nos v re s ponde r na re a 're s pos t ai , a'.

<9 >

P ric F at igue ire do

var emProceso = false; var http = getHTTPObject();

a program ar
So t bm us ados no incre m e nt e am o de cre m e nt de um a unidade ou e m o ope rae s re l acionais com o a igual dade , dif re na, m aior ou m e nor q ue , e nt out . e re ros

O pe rador Nom e
+ * / %

Jav aScript (part 2) e


Ne s t a l a part t im e do art igo s obre program ao em Jav aScript s e ro abordados t m as um pouco m ais t e cnicos , be m com o m ais av anados e e v udos , do ol q ue na m e t ade ant rior. Abordare m os os e ope radore s , capt o onde s e ro t ados ul rat as s unt re l os accionados com a arit t m ica, as re l ae s , a l gica e nt out , abordare m os re ros as f une s e as ins t rue s q ue e xprim e m condie s e re pe t ie s / os , f are m os cicl al t bm um pouco s obre program ao am orie nt ada a obj ct , o bs ico a de s t nv l e os e e e um a pe q ue na al o aos v ct s . us e ore Es pe re m os q ue gos t da lit e e ura.

Adio Subt raco M ul icao t ipl D iv o is Re s t da div o o is

Exe m pl de ut izao: o il

Som a e m Jav aScript


<html><head> <script language=Javascript> Var x=1000; Var y=18; Soma=x+y; </script> </head><body> <script language=Javascript> document.write(soma); </script> </body></html

O pe radore s
O s ope radore s act uam s obre um a ou m ais v ariv is de f a a produzir os re s ul e orm t ados pre t ndidos . A l e inguage m de program ao Jav aScript pos s ui m uit os ope radore s de div rs os t e ipos . Aq ui ire m os ape nas abordar os as pe ct m ais bs icos dos div rs os t os e ipos de ope radore s dis ponv is . e

Com o pos s v l e rif e v icar no cdigo m uit o s im pls e de s cre v um a pe q ue na s om a. O e e m e sm o se v rif e ica para as out ras ope rae s . O Jav aScript dis ponibil iza t bm am ope radore s de incre m e nt e de cre m e nt o o.

O pe rador Nom e
+ + --

O pe radore s A rit t m icos


O s ope radore s arit t m icos s o ut izados para il re al izar ope rae s m at m t e icas s im pls e com o a adio, a s ubt raco, a m ul icao, a div o e o re s t da div o t ipl is o is int ira. Exis t t bm o da ne gao unria e e am q ue no v s e r abordado. ai

I ncre m e nt o D e cre m e nt o

As ins t rue s de incre m e nt com o a de o a+ + s o de ps incre m e nt e as ins t o rue s de incre m e nt + + a s o ins t o rue s de pr incre m e nt o. Q uando s e t am rat de ins t rue s de de cre m e nt a-- ou --a, a o de nom inao s e r a m e s m a.

<10>

a program ar O pe radore s R e l acionais


O s ope radore s re l acionais com o o prprio nom e indica, e s pe cif icam ope rae s de re l ao e nt v ore s . re al

O pe radore s L icos g
O s ope radore s l gicos l inguage m Jav aScripts o: e xis t nt s e e na

O pe rador
== != > < >= <=

Nom e

igual dif re nt e e m aior m e nor m aior ou igual m e nor ou igual

O pe rador
! & & ||

Nom e

Nav gao e Conj uno D is j uno

Exe m pl de ut izao: o il
<html><head> <script type="text/javascript"> var x = 1; var y = 2; var z = y; function relaccionais(){ document.write("<br/>Varivel x="+x); document.write("<br/>Varivel y="+y); document.write("<br/>Varivel z="+z); document.write("<br/>"); w = x == y; document.write ("<br/>y==z->"+w); w = x != y; document.write ("<br/>y!=z->"+w); w = x >= y; document.write ("<br/>x>=y->"+w); w = x < y; document.write ("<br/>x<y->"+w); } </script> </head><body> <script type="text/javascript"> relaccionais(); </script> </body></html>

Es t s ope radore s s o os ope radore s q ue e m anipul v ore s l am al gicos . A dis j uno incl iv s re s ul num v or us a t a al f s o q uando os dois ope radore s s o f s os al al (m e s m o q ue O U) Cas o cont . rrio de v v ole v rdade iro. e A conj uno s pode re s ul num v or t ar al v rdade iro q uando am bos os v ore s o e al f m (m e s m o q ue E) J a ne gao re s ul ore . t a no v or cont al rrio do ope rador .

O pe radore s bit a bit


O pe radore s Jav aScript . bit a bit dis ponv is e em

O pe rador
x& y x|y x^ y -x x<<y x> > y x> > > y

Conj uno D is j uno incl iv us a D is j uno e xcl iv us a Ne gao l gica D e sl ocam e nt e s q ue rda o D e sl ocam e nt dire it o a D e sl ocam e nt l o gico dire it a

Nom e

O pe radore s de cade ias


Ao cont rrio dos out ope radore s ape nas ros e xis t um ope rador de cade ias q ue s e rv m e e para concat nar cade ias (s t e rings ) .

O pe rador
Com e s t s ope radore s pos s v l f r e e aze ope rae s para de t rm inar s e os v ore s e al s o iguais , dif re nt s , m aiore s ou m e nore s , e e e nt out . re ros + O ope rador + f da out im ra.

Nom e

Concat nao e acre s ce nt um a cade ia no a

<11>

a program ar

F une s
Um a f uno um a s e q uncia de ins t rue s q ue cons t ui um a e nt it idade coe re nt e q ue e pode s e r inv ocada a part de q ualue r ir q pont do program a e s crit e m Jav o o aScript O . program ador pode criar as s uas prprias f une s q ue s o na m aioria das v ze s e e s crit no cabe alo do f e iro e s o as h ich inv ocadas pos t riorm e nt e e q uando ne ce s s rio. P ant pode m os v r um a f ort o, e uno com o um a s rie de ins t rue s q ue e ngl obam os de nt do m e s m o proce s s o. As f ro une s ut izam -s e cons t e m e nt , no s as q ue il ant e e s cre v m com o t bm as q ue j e s t e am o de f inidas no s is t m a, com o as pars e I (q ue e nt um a s t ring) pars e Foat (s t , l ring) ou NaN (q ue um v or) pois t al , odas as l inguage ns de program ao t m f une s para re al izar proce s s os h abit uais . As f une s s e rv m para e s e re m ch am adas , s e m pre q ue e xis t um a ir aco q ue s e j ne ce s s ria e m div rs os a e l ocais da pgina/ it / s e program a, s t ndo e de f inido o s e u cdigo um a nica v z. e P ara de f um a f inir uno obrigat rio ut izar il ce rt padre s : os f unct nom e daf ion uncao () { ins t rue s da f uno ... } D e pois ape nas ne ce s s rio dar as ins t rue s ce rt as f uno de f a a orm act uar da f a pre t ndida e inv orm e oc-l a no e s q ue ce ndo de adicionar () f nt do re e s e u nom e .

Ins t o s w it ru ch
No Jav aScript e xis t um a out ins t e ra ruo de condio a ins t ruo s w it . ch F at s w it : orm o ch s w it (e xpre s s o) ch { cas e v orx: al ins t ruox; ... bre ak ; cas e v ory : al ins t ruoy ; ... bre ak ; ... } P s ando a e xpl as icar o com port e nt do am o cont o s w it : s e o v or da e xpre s s o rol ch al coincidir com o v orx e xe cut e a al a-s ins t ruox, cas o no s e j f e o m e s m o a, az-s m as para o v ory, e as s im s uce s s iv e nt , al am e at s e r e ncont rada um a igual dade .

Ins t e s It rat ru e ivas


Na l inguage m de program ao Jav aScript ape nas e xis t m t e rs ins t rue s it rat as , o e iv cicl w h il, o do-w h il, e o cicl f . o e e o or

O cicl w h il o e
Es t cicl ut iza-s e q uando ne ce s s rio e o il re pe t um nm e ro inde f ir inido de v ze s a e e xe cuo de um as s e nt nas , s e m pre q ue e s e cum pra um a condio. m ais f cilde s e e nt nde r q ue o cicl f porq ue s om e nt e o or e s e indica a condio q ue t m q ue s e e cum prir para q ue s e re al um a re pe t ize io. w h il (condio) e { s e nt nas do cicl e o; ... }

I t ns rue s condicionais
Ins t o ife e le ru s
I com o o prprio t rm o e m I s indica f e ngl s ignif ica "e " as s im s e ndo, e s t ins t s , a ruo s e rv para re al e izar s cript q ue de pe ndam s de um a condio. Um I pre s s upe q ue f ce rt aco s s e r e xe cut a ada, cas o s e v rif e icar um a ce rt condio. a

<12>

a program ar O cicl do-w h il o e


Ut iza-s e ge ral e nt q uando no s abe m os il m e q uant v ze s h av r de s e e xe cut o as e e ar cicl as s im com o acont ce com cicl o, e o w h il, com a dif re na de q ue o cicl e e o, inde pe nde nt m e nt da e xpre s s o t s t , e e e e s e r s e m pre e xe cut ado pe l m e nos um a o v z. e
do { sentenas do ciclo; ... } while (condio) objecto.atributo objecto.metodo()

O bj ct e os
O Jav aScript dis pe de um conj o de unt obj ct e os pre de f inidos . O s obj ct e os t m at ribut (v os ariv is ) e m t e odos (f une s ) A . s int axe para a ut izao de obj ct , il e os m t odos e at ribut e m Jav os aScript m uit o s im pls : e

O cicl f o or
O cicl f ut iza-s e para re pe t m ais o or il ir ins t rue s num de t rm inado nm e ro de e v ze s . Ent t e re odos os cicl o f cos t a os or um s e r ut izado q uando s abe m os ao ce rt o il o nm e ro de v ze s q ue q ue re m os q ue s e j e a e xe cut ada a s e nt na, ou at q uando. e
for (iniciao;condio;actualizao) { sentenas a executar; ... }

Al guns obj ct e os s o criados aut at om icam e nt pe l brow s e r out e o , ros t m de s e r criados obrigat oriam e nt pe l e o program ador .
obj = new Object();

V ct s e ore
Um v ct um a e s t ura de dados com e or rut div rs os e lm e nt e e os do m e s m o t ipo, e m re l ao q ual at s de um ndice , s e , rav pode de s ignar cada um dos s e us e lm e nt . e os O s e lm e nt de um v ct pode m t bm e os e or am s e r v ct s , dando orige m a um a e s t ura e ore rut m uit com plxa. o e

O f uncionam e nt do cicl f o s e guint : o o or e a e xpre s s o de iniciao e xe cut ada um a v z ant s da prim e ira it rao;a condio e e e t st e ada ant s de cada it rao do cicl e e o e s e f v rdade ira e xe cut a prxim a or e a ins t ruo do cicl s e f f s a t rm ina o o, or al e cicl o. A ins t ruo e xe cut ada no cicl f pode s e r o or s ubs t uda por div rs as ins t it e rue s .

Concl o us
Ne s t s e gunda e l a part do art a t im e igo de Jav aScript f oram abordados t m as m ais e av anados , m as igual e nt bs icos , da m e program ao e m Jav aScript Ne s t e dio . a abordm os a program ao com ope radore s , f une s , ins t rue s condicionais (if s w it ) ins t , ch , rue s it rat as (f w h il, doe iv or, e w h il, cont e inue , brak e ) , program ao orie nt ada a obj ct (P O ) e v ct s . No e os O e ore f de s t art im e igo e s pe ram os q ue o lit e or t nh a apre ndido t e udo o q ue ne ce s s it s abe r a para s e iniciar ne s t l a inguage m . Agora a s ua v z. e

Ins t e s bre ak e cont e ru inu


A ins t ruo bre ak int rrom pe um cicl e o. I e rrom pe r um cicl s ignif nt o ica s air de l e e de ix-l t o odo com o e s t de f a a cont orm inuar com o fuxo do program a im e diat e nt . l am e A ins t ruo cont inue int rrom pe o cicl e o pas s ando as s im para a it rao s e guint . e e

<13>

Joo P re ira e

a program ar
24 catch(Exception e){ 25 System.out.println(e.getMessage()); 26 } 27 28 if( file.isDirectory() ){ 29 System.out.println("Directoria"); 30 } 31 32 else if( file.isFile() ){ 33 System.out.println("Ficheiro"); 34 } 35 36 File [] roots = file.listRoots( ); 37 38 for (int i=0; i<roots.length; i++){ 39 System.out.println (roots[i] ); 40 } 41 42 file.delete(); 43 } 44 }

I nputO ut / put e m Jav a


Ne s t art e igo v os abordar am um a m at ria q ue , a nos s o v r, e bas t e ant int re s s ant e e e im port e ant no m undo da program ao: o I nput / O ut put ne s t cas o apl e icado a Jav a.
I m os com e ar com M anipul re ao de F e iros e D ire ct ich orias . V os v r a s e guint am e e cl s Jav as a onde s o de m os t radas as principais f une s da Cl s F e , q ue a as il ut izada para re al il izar a m anipul ao. Em s e guida v os e xpl o q ue cada l a f am icar inh az.
1 import java.io.*; 2 3 public class JavaFile{ 4 public static void main(String args[]){ 5 6 File file=new File("C:\\file.txt"); 7 8 System.out.println(file.getName()); 9 10 file.setReadOnly(); 11 12 System.out.println(file.isHidden()); 13 System.out.println(file.canRead()); 14 System.out.println(file.canWrite()); 15 16 file.renameTo(new File( "C:\\Ficheiro.txt")); 17 18 try{ 19 if( !file.exists() ){ 20 file.createNewFile(); 21 } 22 }

Com o pode m os v r na l a 6 ins t e inh anciado um obj ct F e q ue re pre s e nt o cam inh o e o il a (pat ) para um pos s v l l h e ocal do s is t m a e ope rat o. bom lm brar q ue e s t ape nas iv e e re pre s e nt um f e iro ou dire ct a ich oria, no pre s s upondo q ue o cam inh o e xis t a re al e nt . Ne s t cas o, o cam inh o o m e e C:\\f e .t , q ue apont para o f e iro f e .t il xt a ich il xt na dire ct oria C:. T bm pode ria apont am ar ape nas para um a dire ct oria e no para um a f e iro, com o o cas o. ich Na l a 8 pode m os v r o m t inh e odo ge t Nom e () q ue pe rm it obt r o nom e do , e e f e iro ou dire ct ich oria re pre s e nt ada pe l F e . o il Es t cl s pe rm it t bm dar at a as e am ribut a os f e iros ou dire ct ich orias , com o o cas o do m t odo s e t adO nl() q ue d ao f e iro ou Re y ich dire ct oria o at ribut de ape nas pode r s e r o l ido e no e s crit o, t al com o e s t re pre s e nt ado na l a 10. inh A cl s F e pe rm it t bm v rif as il e am e icar at ribut os e , para is s o, pode m os us ar os m t odos is H idde n() q ue v rif s e o f e iro e ica ich ou dire ct oria s e e ncont ocul ra t o(a) (l a 12) inh , canRe ad() q ue v rif e ica s e pos s iv llr o e e f e iro ou dire ct ich oria (l a 13) e o m t inh odo canW rit () q ue v rif s e pos s iv l s cre v r e e ica e e e no f e iro ou dire ct ich oria (l a 14) inh .

<14>

a program ar
O m t odo re nam e T na l a 16 pe rm it o() inh e re nom e ar um f e iro ou dire ct ich oria, m as para al m dis s o pe rm it t bm m ov r e am e f e iros e dire ct ich orias bas t ando para is s o dar um cam inh o dif re nt no nov nom e a e e o dar o q ue no o cas o ne s t e xe m pl , e o. O s m t odos e xis t () e cre at Ne w F e () l a 19 s e il inh e l a 20, s o dois m t inh odos m uit o im port e s na m anipul ant ao de f e iros e ich dire ct orias , o m t odo e xis t () pe rm it v rif s e e icar s e o f e iro ou dire ct ich oria re pre s e nt ados no Fe il re al e nt m e e xis t . e O m t odo cre at Ne w F e () cria um nov f e iro com o e il o ich cam inh o re pre s e nt ado, ne s t cas o iria criar e o f e iro f e .t na dire ct ich il xt oria C:. Em bora aq ui no e s t j aq ui pre s e nt , e a e t bm t m os os m t am e odos m k dir() e m k dirs () q ue t m a m e s m a f uncional idade q ue o m t odo cre at Ne w F e () m as ne s t e il , e cas o criada um a dire ct oria. A dif re na e do m k dir() para o m k dirs () bas icam e nt e q ue o m t odo m k dir ape nas cria um dire ct orio num cam inh o j e xis t nt , ou e e s e j por e xe m pl no s e guint cam inh o a, o, e C:\P rogram as \ o m k dir() pode ria criar dire ct orias de nt da dire ct ro oria P rogram as , ape nas e s s e a re f rida dire ct e oria j e xis t s e pre v is iam e nt . J o m k dirs pe rm it e iria criar t oda a arv ore de dire ct orias , m e s m o s e e s t no e xis t s e . a is Nas l as 28 e 32 pode m os v r os m t inh e odos is D ire ct () e ory is F e () q ue il v rif e icam re s pe ct am e nt s e o cam inh o dado um iv e dire ct rio ou um f e iro. ich Na l a 36 t m os o m t inh e odo lt is Root ( ) s . T a-s e de um m t rat odo bas t e t ant il nom e adam e nt e m s is t m as W indow s , v t e e is o q ue re t orna um array com t odas as driv s e ou raze s do s is t m a ope rat o, por e xe m pl e iv o A :, C:, D :, E:, e t c... J e m s is t m as G NU/ inux e L o cont do do array s e r ape nas / v t s e r e , is o a raiz do s is t m a. e P ara t rm inh ar e s t part do art e a e igo, t m os e na l a 42 o m t inh odo de lt () q ue com o o e e prprio nom e indica pe rm it e lm inar o e e f e iro ou dire ct ich oria re pre s e nt ado pe l F e . o il D e pois de t rm inado o e s t e udo s obre a m anipul ao de f e iros v os agora ich am pas s ar e s crit dos m e s m os , obs e rv a ando o s e guint cdigo: e
1 import java.io.*; 2 3 public class FileWrite{ 4 5 public static void main(String args[]){ 6 7 try{ 8 9 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("C:\\file.txt",true))); 10 11 out.println("Java Input/Output"); 12 out.println(System.getProperty( "os.name").toString()); 13 out.println(System.getProperty( "user.name").toString()); 14 out.println("Fim"); 15 out.println(); 16 out.close(); 17 18 } 19 20 catch(IOException e){ 21 System.out.println(e.getMessage()); 22 } 23 } 24 }

Aps e xe cut e s t apl ar a icao s e r criado um f e iro de t xt e m C:\\ (nos s is t m as ich e o e W indow s , para out ros Sis t m as O pe rat os e iv bas t ar m udar o de s t , com cont do ino) e s e m e lant a e s t : h e e Jav I tO u t t a npu / pu W indow s XP M agician F im V os agora analar o cdigo de f a a am is orm com pre e nde r o obj ct o de cada l a. e iv inh Na l a 9 pode m os v r o obj ct " "a s e r inh e e o out ins t anciado. Es t um a ins t a anciao um pouco com plxa m as t m a s ua razo de e e s e r Se gundo al . guns t s t s j f it e s t e e e os a ins t anciao a f a m ais s im pls e com orm e

<15>

a program ar
m e lor re ndim e nt de e s cre v r num f e iro. h o e ich V os agora at nt e m al am e ar guns de t h e s . Na al l a t im part e da ins t ncia " w ne F e W rit r(" il.t " rue ) pode m os v r q ue il e C:\\f e xt,t " e para al de t rm os com o argum e nt o m e o nom e do f e iro, t m os t bm um ich e am argum e nt boolan. Es t s e m dv o e e ida um argum e nt m uit im port e pois q uando o o ant col ocado "rue " diz ao program a q ue de v t e e s cre v r no f e iro, com a part aridade e ich icul de no apagar ne h um do s e u cont do e ant rior, ou s e j o program a no e s cre v r e a, e por cim a do q ue j l s e e ncont No cas o a ra. de s e col ocar com o argum e nt um boolan o e "al " ou ape nas o nom e do f e iro, o f se , ich program a cada v z q ue f e xe cut e or ado v ai re e s cre v r o f e iro a part do incio e ich ir apagando t oda a inf ao j l cont orm ida. Num prim e iro cas o, ir apare ce r duas v ze s o e cont do do f e iro aps e xe cut e ich ar o program a duas v ze s com o argum e nt e o "rue " O cont do do f e iro s apare ce r t . e ich um a v z, aps e xe cut o program a duas e ar v ze s , com o argum e nt "al " ou ape nas e o f se s e m argum e nt o. Na l a 11, be m com o na 12,13,14,15, inh pode m os v r a ut izao do m t e il odo printn() l s obre o obj ct " " q ue v pe rm it e s cre v r e o out, ai ir e um a l a no f e iro. Exis t m out m t inh ich e ros odos com o o print , w rit () com f () e uncional idade idnt icas e m bora m e nos ut izados a nv lda il e e s crit de f e iros de t xt a ich e o. P f , t m os o m t or im e odo cl e q ue ir "e ch ar" os f o f e iro, al ich go q ue de v s e r s e m pre e e xe cut ado as s im q ue s e t rm ina a e s crit num e a f e iro. as s im t rm inada a l ich e igao e nt o re f e iro e o program a. , port o, um pas s o ich ant f cralv t q ue cas o no e xe cut ul , is o ado, pode r de it a pe rde r o cont do do f e iro. ar e ich Agora q ue j s abe m os com o e s cre v r e m e f e iros ape nas f t a lit ich al a e ura dos m e s m os . P ara is s o v os com e ar por obs e rv o am ar cdigo s e guint . e
1 import java.io.*; 2 3 public class FileRead{ 4 5 6 7 8 9 public static void main(String args[]){ try{ BufferedReader leitor = new BufferedReader(new FileReader("C:\\file.txt")); String linha = ""; linha = leitor.readLine(); while(linha != null){ System.out.println(linha); linha = leitor.readLine(); }

10 11 12 13 14 15 16 17 leitor.close(); 18 19 } 20 21 catch(IOException e){ 22 System.out.println(e.getMessage()); 23 } 24 } 25}

D e um a f a re s um ida, o q ue e s t cdigo orm e ir f r s im pls m e nt ir ao f e iro f e .t , aze e e ich il xt lr l a-a-l a e im prim ir na cons ol Com o e inh inh a. pode m os v r na l a 9 criado um obj ct e inh e o B f re dRe ade r q ue , at s de um obj ct ufe rav e o F e Re ade r, ir ace de r ao f e iro f e .t . Na il ich il xt l a 10 ire m os criar a v inh ariv l inh a', do t e 'l ipo St ring, inicial izando-a com o St ring v azia (") ". Em s e guida, na l a 11, v os lr a prim e ira inh am e l a do f e iro e v os col inh ich am ocar o cont do e de s s a l a na v inh ariv l l a, s ob f a de e inh orm St ring. Nas l as 12,13,14 e 15, f it um cicl para inh e o o lr t e odas as l as do f e iro, cada v z q ue o inh ich e cicl d um a v t im pre s s o o v or da o ol a, al l a ant rior e l a l a s e guint , at no inh e ido inh e e xis t m m ais l as no f e iro. F ire inh ich inda a lit e ura, a l igao ao f e iro t rm inada, ich e com o pode m os v r na l a 17. O re s ul e inh t ado f inal v s e r e xact e nt o cont do do ai am e e f e iro. ich Aps e s t t as rs part s do art e igo o lit j e or cons e guir re al as principais f izar une s de I e m Jav Exis t m um s e m nm e ro de out O a. e ras f as de f r o q ue f aq ui de m ons t orm aze oi rado, be m com o um out s e m nm e ro de out ro ras cois as de s e pode f r com Jav I . aze a O

<16>

F bio Corre ia

t cnol e ogias
D e s e nh ado para au t at om izar o proce s s o de de s e nv v e nt e olim o de pl oying de apl icae s R FD , o I R FD Anyw h e re u m a pl af a I at orm de m iddlw are q u e re s ponde aos e re q u is it os f icos da t cnol s e ogia, proporcionando t bm am a capacidade de s im u l ao e de re s pos t e m am bie nt s R FD de a e I produ o.

RFD Appl ions I icat


D e s e nv v e nt de apl olim o icae s para dis pos it os RFD iv I
A t cnol e ogia RF j e xis t h ID e al guns anos , m as ape nas agora com e a a e m e rgir. O s dis pos it ivos ide nt icadore s (ch ips ) baixaram if s ignif ivam e nt o pre o/ icat e unidade , f ndo e s t aze a t cnol e ogia m ais propcia a inve s t e nt . im os
RFD I s ignif ica Radio F q ue ncy re I nt icat de if ion, ou s e j com pe q ue nos ch ips a, q ue pode m s e r de v rios f at orm os e t anh os , com um de t rm inado cdigo, am e cons e guim os ide nt icar if de t rm inado e produt P e xe m pl q uando e s t pas s a o. or o, e por um a ant na RFD , q ue e nv um s inal e I ia de rdio, e s t e re f ado pe l ch ip, ract o pode ndo s e r e s t m t e odo f it de duas e o m ane iras : por re f raco s im pls , onde o e ch ip re ce be o s inal rdio e com a f de ora de s s e s inal cons e guida um a re f ao, ract ou e nt o, por t rans m is s o inde pe nde nt , e q ue q uando o s inal re ce bido o ch ip re s ponde com o s e u prprio s inal Es t . e l o m t t im odo pe rm it um a m aior dis t e ncia e nt o ch ip e a ant na. re e P ara de s e nv v r apl ole icae s para e s t a t cnol e ogia e xis t um produt com grande e o e xpe rincia de m e rcado ch am ado RFD I Any w h e re , um s ofw are Sy bas e . t

Q uat ro raze s para a ut izao de s t il e s ofw are : s im ul t ao e m t m po re al de e e nt rada/ ada de dis pos it os RFD num a s iv I re de t al e nt pe rs onal e l ope s de ot m e izav , de s e nv v e nt fe xv is , q ue pe rm it m ao olim o l e e program ador o t al cont o s obre a ot rol pl af a q ue at orm e st a de s e nv v r ole , s e gurana de nv l e m pre s arial onde e , t odas as com unicae s e f ct e uadas s o pas s adas por H TTP e o s uport a v S e rios H ardw are V ndors . e Ne s t art e igo ire i apre s e nt ao lit um ar e or t orial s t p-by-s t p ut e e para e xe cut ar s im ul ae s no RFD Any w h e re , com o I obj ct o de obs e rv a e nt e iv ar rada e a s ada das div rs as t e ags (ch ips ) no s is t m a. e

P s os : as

(no f de cada pas s o grav cl im ar icando na dis q ue t v rde dire it e e a)

1 Conf igurao dos Sim ul adore s :


Criar dois RFD M ul I t iprot ocol Sim ul or at conne ct or a part da dropdow n m e nu ir s upe rior Conf . igurar os cone ct s com os ore s e guint s dados : e

<17>

t cnol e ogias
2 Conf igurar o P ocol AL rot o E:
Se lccionar AL rv M odul, e xpandir o e ESe ice e grupo Source s e adicionar as s e guint s e f e s (ins e rir f e e carre gar no s inal+ ont ont para cada um dos cas os ) : Source 1:I T nv racSim 1 Source 2: I T nv racSim 2 Nam e : I T nv racSource 1AL E Se nd Re port as O bj ct T s e : rue - Subs cribe rs Es cre v r I T e nv racAlT e carre gar no [+ ] e CP Criar um s e gundo obj ct AL Ev nt Cy cl, e o E e e re pe t indo os pas s os ant riore s com as e s e guint s proprie dade s : e D urat (m s ) 5000 ion : L ogical ade rs : Source 2 Re Re portD e f ions : 2 init 1 Re port : Re portNam e : Source 2Addit ions EP t B Re port d: AD D I O NS C o e e TI 2 Re port : Re portNam e : Source 2D e lt e ions EP t B Re port d: D EL O NS C o e e ETI Nam e : I T nv racSource 2AL E Se nd Re port as O bj ct T s e : rue Subs cribe rs : I T nv racAlT e CP

3 Conf igurar o T m e s s aging: CP


Criar um nov obj ct T M e s s aging a o e o CP part do dropdow n m e nu s upe rior e ir conf igurar com os s e guint s dados : e I Adre s s : l h os t P ocal Nam e : I T nv racAlT e CP P : 10002 ort

4 Conf igurar os AL Ev nt Cy cl E e e conne ct : ors


Criar um nov obj ct AL Ev nt Cy cl a o e o E e e part do dropdow n m e nu s upe rior e ir conf igurar com os s e guint s dados : e - Ev ntCy cl e e - - St -St Condit art op ions - - - D urat (m s ) 5000 ion : -L ogical ade rs Re Es cre v r Source 1 e carre gar no [+ ] e Re port ) de f ion: 2 (s init G rav para um nov grupo de ar o apare ce r: - re port cs 1 Spe - Nam e : Source 1Addit ions - EP t B Re port d: AD D I O NS C o e e TI - re port cs 2 Spe - Nam e : Source 1D e lt e ions - EP t B Re port d: D EL O NS C o e e ETI Re port s

Crie um l o obj ct AL Ev nt Cy cl, t im e o E e e re pe t indo os pas s os ant riorm e nt dados e e com as s e guint s proprie dade s : e D urat (m s ) 5000 ion : L ogical ade rs : Re Source 1 Source 2 Re portD e f ions : 1 init G rouping P t rns : urn:e pc:pat gt 6:X.X.X.* ate :s in-9 I ude Count T ncl : rue I ude T Uri: F s e ncl ag al Re portI Em pt : T f y rue Re portNam e : Count port Re EP t B Re port d: CURRENT C o e e Nam e : I T nv racCount E AL Se nd Re port as O bj ct T s e : rue Subs cribe rs : I T nv racAlT e CP

Not : Es t de m ons t a a rao us a m ais AL E

re port e s cone ct s ore do q ue s e ria norm al e nt re q ue rido. I t f it para m e so e o m os t um a m aior v dade de ope s AL rar arie E.

<18>

t cnol e ogias
P ara v r o re s ul e t ado:
-I niciar/ iniciar t Re odos os com pone nt s e al rados / t e criados ; - Corre r a s e guint apl e icao: \Sy bas e \RFD I Any w h e re \B in\iAny w h e re .Rf idNe t e .Re port i .Al V e w e r xe ; .e Cl no s e parador T /P icar CPI M odif icar a s e rv r portpara 10002 e Cl e m St icar art Acabou de conf igurar a s ua s im ul ao no RFD -Any w h e re ! I prim e ira com t odo o s ofw are (e s s e ncial e nt RFD t m e I Any w h e re e .NET) e h ardw are (v rios t ipos de t , com put ags adore s , dis pos it os m v is , iv e re ade rs , e t ne ce s s rios para de s e nv v r c.) ole e t st e ar s ol ue s RFD de I q ual idade e m pre s arial . Se gundo a Sy bas e , os obj ct os principais e iv s o o de s e nv v e nt da t cnol olim o e ogia, a dis ponibil izao de F e w ork s ope ns ource ram para o m e rcado e o e s t abe lcim e nt de e o parce rias com f orne ce dore s de h ardw are , I s , I e gradore s , As s ociae s e I t ut de SV nt ns it os I e st nv igao. A Sy bas e , um dos l re s de m e rcado na de re a e m plno de s e nv v e nt q ue o e olim o RFD , apos t na inv s t I a e igao no cam po e de ixa as s im um de s af s e m pre s as m ais io v iradas para a re a da dis t ribuio e da com e rcial izao: o de pode re m t r um e s ignif iv aum e nt de produt idade com icat o o iv a apos t ne s t t cnol a a e ogia e m e rge nt . e

CR IA D O CENTR O D E INV TIG A O R F ES ID EM P R TUG A L O

S YB S E R F S O L A ID UTIO NS CENTER
O Ce nt ir-s e - f ro ocar e s s e ncial e nt no m e de s e nv v e nt olim o de F e w ork s ram ope ns ource de s t inadas ao m e rcado e m pre s arial port ugus . J no 2 t e s t de rim re 2007 pre t nde -s e e dis ponibil izar um a prim e ira v rs o de s t f e w ork q ue ir e e ram cont m pl e ar s ol ue s de t rack ing de pe s s oas , inv nt e rio de produt , s is t m a de os e ge s t de arm azns , e nt out o re ros D ia 19 de Se t m bro de 2006 a Sy bas e e P ugal anunciou e m com unicado a ort criao de um ce nt de inv s t ro e igao e de s e nv v e nt olim o de s ol ue s RFD , o I prim e iro da Sy bas e a nv l undial e m . O Ce nt ro de I e st nv igao RFD I coorde nado por P o L s , B ine s s aul ope us D e v l e nt M anage r da Sy bas e , e o e opm prim e iro ce nt ro de com pe t ncias da Sy bas e e xcl iv e nt de dicado a RFD . As us am e I s ol ue s s e ro de s e nv v olidas com bas e e m produt os m iddlw are e Sy bas e e de parce iros , nom e adam e nt e a Sy m bol , I e rm e c/ nt Cagicom p e Al n/ at e ie Cre iv Sy s t m s , e nt out . e re ros O Ce nt e s t a f ro uncionar nas ins t ae s al da Sy bas e P ugal m Carnaxide e cont ort e a

Cas os de Suce s s o
EM P RTUG AL O

S ATU O e iras

Com a t cnol e ogia RFD ace lrado o I e proce s s o de v idao de bile t s , al h e e v ando as s im a acu m u l it ao de pe s s oas nas e nt radas das e s t ae s do SATU.
O m ais re ce nt t e rans port criado pe l e a Cm ara M unicipal de O e iras t bm am apos t na t cnol a e ogia RFD para a e nt I rada de pas s age iros e carre gam e nt dos bile t s . o h e Um norm al pas s age iro de s t t e rans port e ape nas t m de adq uirir um cart (com o e o cus t de 0.50 e carre gar o m e s m o com as o ) v iage ns q ue pre t nde r e f ct e e uar, para q ualue r das e s t q ae s da l a do SATU inh (Sis t m a Aut t de T e om ico rans port Urbano) e . Na prxim a im age m pode m os v r a Ant na e e de lit e ura das t ags e m but idas nos cart s e dos ut izadore s , q ue nat m e nt e s t il ural e ar l igada a um re ade r.

<19 >

t cnol e ogias

EM ESP ANH A

Corre os de Es paa

O v cul da prxim a im age m ut iza para e o il s e m ov r um s is t m a de carris e puxado e e por cabos de ao na part inf rior do e e m e s m o, q ue por s ua v z s o m ov e idos por m ot s pre s e nt s na prim e ira e s t ore e ao do pe rcurs o.

Es t os act m e nt a f izar a am ual e inal ins t ao do h ardw are e a com e ar al a ins t ao do m iddlw are q ue f al e oi f orne cido pe l Sy bas e , e m de cl a arae s
dos Corre os A im plm e nt e ao de s t s is t m a de cont o e e rol por radiof q uncia nos s e us 15 ce nt de re ros t rans port e arm aze nam e nt dis t e o ribudos por t oda a Es panh a t v um cus t de m ais de e e o um m ilo de e uros , para aq uis io da h t cnol e ogia ne ce s s ria. Es t q uant incl a ia ui s ofw are e s pe cf t ico e a s ua int grao nos e s is t m as inf t e orm icos dos Corre os , a aq uis io de 5.000 t ags pas s iv , a as ins t ao de m ais de 1.9 00 ant nas f al e ixas e m ais de 330 re ade rs m v is para e s s e s e ce nt , ros f orne cidos pe l a Sy m bol T ch nol s . e ogie Com o principais be ne f cios , os Corre os re conh e ce m q ue com um s is t m a RFD s e e I cons e guiu m e lorar a q ual h idade do s e rv io, dar um m aior v or aos s e us cl nt s e al ie e e st abe lce r um a v age m com pe t iv e m e ant it a re l ao concorrncia. A e m pre s a t bm am adm it q ue obt e m um m e nor cus t " v o de ido e st andardizao da t cnol e ogia e ao cus t o unit rio das t ags pas s iv e m re l as ao s t ags act as " e um a m aior f iv , uncional idade , " q ue al j m do cont o de q ual rol idade pode m os apl icar a out ras f uncional idade s com o o cont o de e lm e nt l t rol e os ogs icos (carros , cam ie s , e t . c.)

Em baixo pode m os v ual is izar duas m q uinas de carre gam e nt de cart s , o e onde ao ce nt s e col ro oca o cart o, s e m e s t e m cont o dire ct com a prpria ar act o m q uina, pe rm it indo as s im aos ut izadore s il um carre gam e nt m ais rpido, e v ando os o it norm ais at os de im pre s s o de bile t s . ras h e Ne s t m om e nt o pe rcurs o de s t t e o e rans port e ainda al re duzido, m as s e m dv go ida t il para a popul ao da zona.

<20>

D anie l Corre ia

t orial ut
propriedades &= "Atributos:" & ficheiro.Attributes.ToString & vbCrLf propriedades &= "Criao:" & ficheiro.CreationTime.ToString & vbCrLf propriedades &= "Ultimo Acesso:" & ficheiro.LastAccessTime.ToString & vbCrLf propriedades &= "Modificao:" & ficheiro.LastWriteTime.ToString & vbCrLf End With Console.WriteLine(propriedades) Return True Catch ex As Exception Return False End Try End Function

V ual as ic.NET is B 4 part e


Na e dio ant rior f m os um a abordage m e ize s obre a ut izao de array s e com o us ar as il cl s e s do nam e s pace Sy s t m .I para a as e O m anipul ao de f e iros . ich Com o s abe m os , q ualue r f e iro pos s ui um q ich conj o de proprie dade s , proprie dade s unt e s t q ue e s t ace s s v is us ando a cl s e as o e as F e I o. il nf
Dim ficheiro As New FileInfo("ficheiro.txt")

F no M ain u
Sub Main() Dim strCaminho As String = "" While Trim(strCaminho) = String.Empty Console.Write("Caminho do ficheiro: ") strCaminho = Console.ReadLine() Console.Clear() End While If Not getProperties(strCaminho) Then Console.WriteLine("Erro") System.Threading.Thread.Sleep(2000) Else Console.ReadLine() End If End Sub

P roprie dade s do t ipo, nom e do f e iro, ich l izao, e xt ns o, at ocal e ribut , t anh o, os am e t e s t f m e nt ace s s v is re corre ndo c, o acil e e as proprie dade s incorporadas na cl s e as F e I o. Exe m pl il nf o:

O ut t pu
Cam inh o do f e iro: c:\f e iro.t ich ich xt P rop. do f e iro ich ====== Nom e : f e iro.t ich xt Cam inh o: c:\f e iro.t ich xt Ext ns o: .t e xt T anh o 37 am At ribut : Arch iv os e Criao: 11-10-2006 16:27:14 Ul o Ace s s o: 11-10-2006 16:28:14 t im M odif icao: 11-10-2006 16:28:14 Com o v os , um a das v age ns e m us ar a im ant cl s e F e I o, a pos s ibil as il nf idade de obt r e proprie dade s de um f e iro de um a f a ich orm rpida, m as no s . Es t cl s e incorpora a as t bm f am une s para criar f e iros , m ov r ich e ou copiar da s ua l izao act ocal ualpara out apagar e ncript , e s cre v r lr e t ra, , ar e , e , c.

F uno para obt r as proprie dade s e de um f e iro ich


Private Function getProperties(ByVal caminho As String) As Boolean Try Dim ficheiro As New FileInfo(caminho) Dim propriedades As String = "" With ficheiro propriedades &= "Prop. do ficheiro" & ficheiro.Name.ToString & vbCrLf propriedades &= "======" & vbCrLf propriedades &= "Nome: " & ficheiro.Name.ToString & vbCrLf propriedades &= "Caminho: " & ficheiro.FullName.ToString & vbCrLf propriedades &= "Extenso: " & ficheiro.Extension.ToString & vbCrLf propriedades &= "Tamanho:" & ficheiro.Length.ToString & vbCrLf

<21>

t orial ut
No s o ape nas os f e iros q ue pos s ue m ich proprie dade s , pois os dire ct rios t bm as am pos s ue m e , por is s o, t m os dis ponv l a e e cl s e D ire ct I o, cont ndo q uas e as as ory nf e m e s m as proprie dade s da F e I o, no il nf dif re nciando m uit a s ua ut izao da dos e o il f e iros . Q ue m t m v ich e indo a acom panh ar o s e guim e nt o dos art igos s obre e st a l inguage m , ce rt e nt q ue s e ape rce be u am e q ue o obj ct o dar um a aj e iv uda a q ue m pre t nde iniciar-s e e m V .NET l e B , ogo, t odos as m at rias no s o e xt ns iv e nt e am e abordadas , f icando is s o ao cargo de cada um , por is s o, t rm ina aq ui a abordage m a e f e iros . ich O ut das grande s im plm e nt ra e ae s na .NET F e w ork , f o nam e s pace Sy s t m .St ram oi e ring. Na m aioria dos proj ct , e xis t um a e os e s it uao e m q ue pre cis am os de f r o aze t am e nt rat o de um a st ring, da a im plm e nt e ao de cl s e s para cada v z as e m ais f it acilar a t f do program ador. are a Ne s t art e igo abordare m os as f une s m ais im port e s para o t am e nt de s t ant rat o rings , e para e xe m plicar ire m os ut izar um a s t if il ring f ixa, q ue s e r V ual as ic .NET. is B As f une s q ue ire m os e xe m plicar s o as if q ue , por norm a, s o m ais ut izadas , s e ndo il e l , Cont as ains () I , nde xO f , I e rt , L ngt () () ns () e h , L tnde xO f , SubSt as I () ring() e T () rim . A f uno Cont () pe rm it -nos s abe r s e ains e um a de t rm inada s t e ring e xis t na s t e ring e m q ue s t o. No e xe m pl s e guint , ir s e r o e re t ornado o t xt Exis t , pois com o e o e pode m os v rif e icar, a s t ring B e s t cont a ida na s t ring e xe m pl o.
Dim str As String = "Visual Basic .NET" If str.Contains("Ba") Then Console.Write("Existe") Else Console.Write("No Existe") End If

D im s t As St r ring = " is ual as ic .NET" V B Cons ol.W rit (s t nde xO f B ) e e r.I (" ") A f uno I e rt pe rm it -nos ins e rir e m ns () e q ualue r pos io de um a s t q ring, out s t ra ring. No e xe m pl s e guint , ir s e r adicionada a o e st ring f no f da s t ixe im ring s t re t r, ornando um a s t ring V ual as ic .NET f . is B ixe D im s t As St r ring = " is ual as ic .NET" V B s t = s t ns e rt r r.I (17, " f " ixe ) Cons ol.W rit (s t e e r) A f uno L tnde xO f de v v -nos a l a as I () ole t im pos io de um a s t ring q ue s e e ncont num ra de t rm inado t xt No e xe m pl s e guint , e e o. o e s e r re t ornada a pos io 8, pois onde s e e ncont a ul a lt a na s t ra t im e ra ring. D im s t As St r ring = " is ual as ic .NET" V B Cons ol.W rit (s t as tnde xO f a") e e r.L I (" ) A f uno L ngt () indica-nos o t anh o q ue e h , am um a s t ring t m . No e xe m pl s e guint , ir s e r e o e re t ornado o v or 17, pois a s t al ring ut izada il cont 17 caract re s . m e D im s t As St r ring = " is ual as ic .NET" V B Cons ol.W rit (s t e ngt ) e e r.L h A f uno SubSt ring() pe rm it -nos e part s de um a s t e ring. cort ar

D im s t As St r ring = " is ual as ic .NET" V B Cons ol.W rit (s t e e r.Subs t ring(7, 3) 'O UTP : " as " ) UT B A f uno T () t v z s e j a m ais us ada de rim ale a t odas . Es t f a uno pe rm it -nos re m ov r os e e e s paos q ue e s t a m ais num a s t o ring. Um e xe m po da s ua ut izao: il D im s t As St r ring = " V ual as ic .NET " is B Cons ol.W rit (s t rim ) 'O UTP : " is ual as ic .NET" e e r.T UT V B Com o pode ro v r, e xis t m out e e ras f une s para t am e nt de s t rat o rings , q ue pode m s e r rapidam e nt de s cobe rt na docum e nt e as ao. Q uant ao t am e nt de s t o rat o rings t udo. Na prxim a e dio ire m os dar inicio abordage m s obre bas e de dados , por is s o e st j e am at nt ao l e os anam e nt da e dio o s e guint . e

A f uno I nde xO f pe rm it -nos s abe r s e um a () e de t rm inada s t e ring e xis t no t xt e de v v e e o ole nos a pos io inicialde l cas o e xis t No a a. e xe m pl s e guint , ir s e r re t o e ornada a pos io 7, pois onde s e e ncont a lt B ra e ra .

<22>

Tiago Sal gado & M arce l M art o ins

gnu/inux l
# mount <directrio representativo do hardware ou ficheiro> <directrio de montagem> <opes>

P e xe m pl or o,
# mount /dev/sda /mnt/pendrive -t vfat

M ount ing F e Sy s t m s il e
A m ont age m de s is t m as de f e iros e ich nos s is t m as G NU/ inux al q ue e L go ge ra s e m pre e m q ualue r nov o na q at m at ria dv idas e inde cis e s . Es t e art igo pre t nde e e xpl icar com s im pl icidade e de s de o incio, t odos os pas s os re q ue ridos para q ue t udo f ue a f iq uncionar corre ct e nt . am e
s e m dv ida um e nt re m uit os out ros ch oq ue s o q ue s e t m ao e xpe rim e nt um e ar s is t m a G NU/ inux pe l prim e ira v z, q ue re r e L a e ace de r q ue l driv onde guardam os t a e oda a nos s a v ida e no cons e guir ne m s abe r com o o f r. ce rt q ue os D e s k t aze o op Env ironm e nt m ais re ce nt s t s e m f it acilado m uit o proce s s o, cont o udo, ne m s e m pre nos of re ce m com o opo grf e ica aq uil q ue o q ue re m os e xact e nt f r. Com o t , am e aze al conv m conh e ce r e dom inar os principais m e canis m os do s is t m a de m ont e age m de f e iros e us -l com o be m e nt nde rm os , ich os e s e m l it im ae s . V os a is s o... am P e iro, h q ue re t r a ide ia q ue e m rim e G NU/ inux q ualue r driv , para pode r s e r L q e ace dida, t m de s e e ncont m ont e rar ada, ou s e j a s ua pre s e na f ica t v de t r s ido a, s e e e ide nt icada pe l s is t m a, driv t r s ido if o e e e as s ociado um dire ct rio de m ont age m e , por f , t r-s e proce dido as s ociao do im e cont do da driv ou s is t m a de f e iros , e e e ich ao dire ct rio de m ont age m de f inido. P ara t , us a-s e o com ando m ount q ue f al , unciona da s e guint m ane ira: e

Es pe cif q ue a pe n driv (q ue , ne s t cas o, ica e e re pre s e nt ada por / v s da no dire ct de / rio q ue cont m os f e iros q ue re pre s e nt ich am o h ardw are / v s e r m ont de ) ada no dire ct rio (q ue de v r e j pre v e nt iam e e xis t ir) / ntpe ndriv , t ndo com o opo -t v at o m / e e f , q ue inf a o m ount de q ue s e e s t a orm t rabalar com um s is t m a de f e iro e m F . h e ich AT P ara s abe r m ais f m e nt a q ue / v xxx acil e de / corre s ponde a driv q ue de s e j os m ont e am ar de v r corre r o com ando: # f k -l ou e dis , q ualue r corre s ponde nt grf q e ico. No e nt o, e com o o lit prov e l e nt ant e or av m e e st ar a pe ns ar, s e ria bas t e cans at o ant iv s e m pre q ue s e inicias s e o s is t m a t r de e e proce de r e xe cuo de s t s com andos para e cada driv a q ue q uis e s s e m os ace de r, com o e t , ire m os t bm apre nde r a t al am ornar t udo is t aut t o om ico. D e q ualue r m odo, e ant s de t q e udo is s o, h al a im port e a v r. T go ant e odo e s t proce s s o e de m ont age m re q ue r q ue o k e rne l nos s a da dis t ribuio j cont nh a carre gados m dul e os q ue le pe rm it h iro, de s de m ont os s is t m as ar e de f e iros h abit ich uais e m G NU/ inux (com o o L e xt 3, o Re is e rF o JF ...) be m com os de 2/ S, S, , W indow s (F , NTF AT S,...) as s im com o al as , gum proprie dade s de s t s (s is t m a de codif e e icao de caract re s ) e . De um m odo ge ral q uas e t odas as dis t ribuie s j t m act os e s t s m dul de iv e os raiz e , port o, s t r de s e procupar m e s m o ant e com o proce s s o de m ont age m de s is t m as s e de f e iros , s e j e l m anualou aut t ich a e om ico. Ut izadore s de Ubunt SuSE, M e pis , F dora il u, e Core , e nt re m uit as out ras pode m pas s ar dire ct e nt ao pont s e guint . D e q ualue r am e o e q m odo, s e al gum com ando le de r um e rro, h pode r s e r de riv ado da ine xis t ncia de s uport no k e rne l ao s is t m a de f e iros e e ich pre t ndido e , com o t , de v r s e guir o e al e e xpos t a s e guir. o

<23>

gnu/inux l
Re com pil ando o Ke rne l para garant ir s uport aos s is t m as de f e iros e e ich pre t ndidos e
P ode r-s e - pe ns ar q ue e s t um pas s o e com pl icado ou m e s m o arris cado, no e nt o ant ape nas re q ue r um pouco de at no e t e udo corre r be m . A s ua dis t ribuio de v r t r um m t e e odo part ar para proce de r a e s t act idade e , icul a iv com o ne m s e m pre o m t odo t radicional univ rs al e para t odas as dis t ribuie s , de ixo a cargo do lit procurar nos f e or runs da s ua dis t ribuio um t orial ue le indiq ue com o ut q h proce de r para a re com pil ao do k e rne l . Subl o q ue para a grande m aioria das inh dis t ribuie s nada dis t s e r ne ce s s rio. o D e v r, s e s e guiu um q ualue r t orial obre e q ut s com o re com pil o k e rne l e ncont ar , rar-s e ne s t m om e nt num a int rf e o e ace s e m e lant h e da im age m (ge ral e nt ace s s v l pe l m e e o com ando m ak e m e nuconf ig ou m ak e xconf . ig) D e s e guida e nt e m : re
Device Drivers ->DOS/FAT/NT Filesystems

E s e lccione o s uport para os s is t m as de e e e f e iros W indow s q ue de s e j ich ar. Em D e f t aul Ch ars e t f F de v r s e lcionar Ent r e ins e rir or AT e e e is o8859 -15, cas o o s e u s is t m a de f e iros s e j e ich a ace dido t bm num s is t m a W indow s , de am e m odo a no t r problm as ne m na v ual e e is izao, ne m na e s crit do t xt pre s e nt ne s s e t a, e o e ipo de part io. Acim a de s s e v or e ncont e o de al ra-s D e f t Code page f F q ue de v r s e r o 860 aul or AT e para a l ngua port ugue s a. D e s e guida, s e acabou de s e lccionar o s uport para os e e s is t m as de f e iros W indow s , de v r t bm e ich e am act ar o s uport aos s is t m as de caract re s iv e e e de f inidos ant riorm e nt , e m : e e
Device Drivers ->Native Language Support

E de v r act ar: e iv
<*> Codepage 860 (Portuguese) <*> NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)

O pcional e nt pode dar j it adicionar t bm : m e e o am


<*> NLS UTF-8

D e v r t bm v rif e am e icar s e e m : M ov e nt -s e com as t cl de dire co, im e e as Ent r para e nt e rar nas pas t , a barra de as e s paos para s e lccionar cada m dul q ue e o de s e j (e s t ar ar corre ct e nt s e lccionado am e e q uando apare ce r <* no princpio da l a) > inh e Es c para s air. Ent e m : F e Sy s t m s re il e Aq ui t r de s e lccionar cada s is t m a de e e e f e iros para o q ual uis e r t r s uport . ich q e e Um e xe m pl o:
Device Drivers -> CDROM/DVD Filesystems

cont m s uport e arm aze nam e nt o.

para

e sse s

t ipos

de

Cas o pre t nda m ont f e iros de im age m de e ar ich cd/ d .is o, s e lcione t bm ne s s a pas t dv e am a:
<*> Microsoft Joliet CDROM extensions

M ais :
Device Drivers -> Block devices <*> loop-back filesystem support

Cas o pre t nda s uport USB t r de s e dirigir a: e e e


Device Drivers -> USB Support <*> USB Mass Storage Support

e t udo o m ais s e ade q uar ao h ardw are pre s e nt na s ua m q uina. e

<24>

gnu/inux l
Us e o T AB para s e lccionar Exit e re pit e , a v rias v ze s at s air do conf e igurador e le s e r h pe rgunt ado s e de s e j grav as al rae s a ar t e f it , onde de v r re s ponde r Ye s . e as e P s iga o t orialda s ua dis t ros ut ribuio de m ane ira a apl o nov k e rne l act -l icar o e iv o. O f o de um a driv s e e ncont no ft act e rar s ab, no q ue r dize r e xact e nt q ue no am e m om e nt do boot t nh a de l e s t al o e ar gum t ipo de dados a s e re m m ont ados . P or e xe m pl pode adicionar-s e um a driv de o, e cdrom 's ao ft s ab s e m l s e e ncont rar ne nh um cd, q uando f para a ace de r or bas t ar f r: aze
# mount /dev/cdrom0

M ont ando...
P t t os o udo is t v os f m e nt pas s ar o, am inal e aco e a apre nde r a m ont os s is t m as de ar e f e iros q ue ne ce s s it os s e m q ualue r ich am q problm a. P e iro, e com o j f re f rido, h e rim oi e um f e iro de t xt q ue de f , aq uando do ich e o ine carre gam e nt do s is t m a, as driv s a s e re m o e e m ont adas aut at om icam e nt . T f e iro o e al ich / t ft e c/s ab e e dit e l ape nas pe l s upe r v o ut izador root T il . udo aq uil q ue s e f pe l o az o com ando m ount pode s e r de f inido no ft e s ab de s t m odo m ont e ado de s de o incio s e m int rv no dire ct do ut izador. O f e iro e e a il ich cons is t e em 5 col unas q ue de f m ine e xact e nt o m e s m o q ue de f am e inido no com ando m ount s e ndo e s t : , as
<fs> <mountpoint> <type> <opts> <dump/pass>

ou
# mount /mnt/cdrom

q ue o com ando aut at om icam e nt lr o e e ft e e xe cut s ab ar o proce s s o com t odas as ope s l de f inidas . Se ndo por s ua v z a e de f inio na driv no ft e s ab:
/dev/cdrom0 /mnt/cdrom noauto,ro 0 0 iso9660

O f o de ape nas o ut izador root pode r act il m ont de s m ont ar/ ar a part io/ e pode driv s e r al rado pe l adio da opo 'us e r' t e a na col una <opt > do ft s s ab, na l a da inh driv pre t ndida. J o 'ro', re pre s e nt re ad e e a onl ou s e j ape nas s e r pos s v l lit y, a, e a e ura ne s s a driv cd. e P ara m ont um a part ar io F f AT aram os por e xe m pl nov e nt t o, am e udo na m e s m a l a: inh
/dev/hda4 /mnt/particaofat user,rw 0 0 vfat

Corre s ponde ndo o <f> im age m do s h ardw are no dire ct rio / v , o m ount de / point ao dire ct rio onde t al driv de v s e r e e m ont ada para q ue s e j ace dida, o t pe a y re f re -s e aos s is t m a de f e iros (f , e xt e e ich at 3, e t , o <opt > a ope s . J o dum p re f re c) s e s e ne ce s s idade ou no de s e r f it um e o dum p ao dis co aq uando do s e u carre gam e nt e o pas s re f re -s e orde m o, e pe l q ual v s e r f it um ch e ck s driv s a de e e o e cas o o s is t m a no t nh a s it t rm inado e e o e corre ct e nt am e (0 re f re e q ue no ne ce s s rio nunca f r t v rif aze al e icao, e a part io rootde v r t r o v or 1) e e al . Um e xe m pl para a part o io root :
# <fs> <mountpoint> <type> <opts> <d/p> /dev/hda1 / reiserfs noatime 0 1

<25>

gnu/inux l
Q ue nos m ont ar a driv com 'rw ', ou s e j e a, com a part aridade de s e e ncont icul rar com ace s s o re ad and w rit (e s crit e e a lit . Se porv nt e s s e ace s s o f e ura) e ura or ape nas v ido para o ut izador root e l il , de s e j arm os de f as pe rm is s e s da driv inir e e m q ue s t o, bas t nas ope s adicionar o a com ando um as k =0xxx, e m q ue o xxx um nm e ro q ue de f as pe rm is s e s da ine part io m as inv rt e idas , e o 0 inicial o pre f q ue indica q ue o nm e ro ixo cons e q ue nt e s t e ar e m oct . O u s e j s e al a, q uis e rm os de f um a pe rm is s o 777 inir f m os um as k =0000, s e q ue re m os 644 are f m os um as k =0133. Se m pre 7 m e nos o are nm e ro q ue de f a pe rm is s o q ue ine pre t nde m os . P e ara s abe r de f pe rm is s e s inir v j a e dio pas s ada da Re v t e a is a P G RAM AR. RO P ode m os t bm de f um a pe n us b no am inir ft s ab, f ndo para is s o: aze
/dev/sda user,rw /mnt/pendrive 0 0 vfat

Agora, o uid e gid, um a m ane ira dif re nt de de f pe rm is s e s , e nq uant o e e inir o um as k f az o e q uiv e nt a um ch m od al e (de f inir pe rm is s e s ) o uid e gid f m o , aze e q uiv e nt a um ch ow n (de f a q ue m s e al e inir apl icam as pe rm is s e s de f inidas ) P . ara s abe r os v ore s a pr a s e guir ao = de al cada opo f aa:
$ id <nome do user que quer que seja dono (owner) da drive>

E obt r a re s pos t e a. O ut part aridade da m ont ra icul age m de s is t m as de f e iros q ue pode r us ar o e ich com ando m ount para m ont im age ns de ar f e iros e m .is o, para is s o: ich
# mount -t iso9660 -o loop,user <imagem>.iso /<directrio de montagem>

No nos e s q ue am os q ue na com pil ao do k e rne lf de f oi inido, para os s is t m as de e f e iros F , o s is t m a de codif ich AT e icao de caract re s de f t Se r com e s s e q ue a e aul . driv s e r m ont e ada. Se no o de s e j us e a ar opo nl por e xe m pl nl o8859 -15, s =, o s =is ou nl f s =ut8. P ara nts f f aram os por e xe m pl o:
/dev/hdb1 /mnt/windows ntfs nls=utf8,user,ro,uid=1000,gid=1000

P ns o q ue e s t de s t m ane ira e xpl e o a icadas as ope s bs icas para a m ont age m de s is t m as de f e iros , com o o f r e ce rt e ich aze , os re q ue rim e nt os ne ce s s rios ao nv l do e k e rne l Exis t m m uit m ais ope s , t v z . e as ale t as q ue dariam cont do para um a ant e re v t P G RAM AR int ira, m as is s o f is a RO e ica a cargo do ut izador q ue acabou de lr e s t il e e art igo e de s e j s abe r m ais . O com ando a m an m ount de v r re s ponde r m ais , e de t h adam e nt al e a t odas as ope s pos s v is e s uas f e une s . B oas m ont age ns ...

0 0

Q ue de f ine q ue a driv a s e r m ont e ada pos s ui s is t m a de f e iros e m NTF com o e ich S, s is t m a de codif e icao de caract re s e de f inido para ut8 (pode s e r us ada is o8859 f 15, m as irre lv e v t q ue por de f it e ant is o e o nos s is t m as G NU/ inux nada pode s e r e L e s crit e m nts ) o ut izador norm alpode r o f, il m ont a e -l de s m ont a ('us e r') m as -l , ape nas pode r l a (ro) -l .

<26>

M igue l ais P

proj ct e o

A ne ce s s idade a m e de t odas as inv ne s e


w e Spe ndM one y
um a apl icao w e b de s t inada a pe s s oas q ue q ue re m cont ar rol as s uas de s pe s as de f a f , rpida e orm cil s e gura. No pre cis o ins t ar e m ne nh um al com put ador ape nas ne ce s s rio re gis t , ar no s it e t r um a l e e igao I e rne t para nt com e ar a us ar . A ide ia para o proj ct com e ou num a e o conv rs a de caf e , e nt re colgas de e t rabalo, onde dis cut os a q ue s t h am o do cont o das de s pe s as f it ao l rol e as ongo dos dias e s e m anas . P oucos de ns re al os izam com al a pe riodicidade a act izao gum ual das cade rne t e ch e gam os concl o as us q ue os e xt ract bancrios pas s ado al os gum t m po s o ilgv is , pois a f e e e raca de s crio " um ana" das de s pe s as , por e xe m pl h o " M P 9 8, 5 e uros " no pe rm it re cordar CO , e e xact e nt q uala de s pe s a e m s i. O ut am e ro problm a cons is t no us o de apl e e icae s act m e nt e xis t nt s para o W indow s , ual e e e norm al e nt com um int rf m e e ace conf o, us com "e at s "q ue ningum us av e dif f ure a cil de apre nde r. L anado o problm a na m e s a pe rce be m os e q ue a m e lor s ol h uo no e ra grav cada ar de s pe s a q ue f m os e m f e iros de t xt aze ich e o arm aze nados num pc, m as num a apl icao w e b q ue pe rm it s e ace s s o e m q ualue r is q al t ura e l ugar, s e ndo ne ce s s rio s e r int iv uit a e s e gura (pois o dinh e iro s e m pre um as s unt s e ns v l int rne t e f o e na e ) cil us ar. de D e pois de m uit s uge s t s de cidi iniciar e s t as e a av nt de f r um a apl e ura aze icao q ue no s m e re s ole s s e a f t de cont o s obre os v al a rol gas t , m as q ue t bm s e rv s e de t ino os am is re para os m e us s k il com um a ce rt f e w ork l s a ram q ue j andav h e s t a udar a al gum t m po... e

D uas s e m anas de pois e com um a prim e ira v rs o f e uncional com e e i a ponde rar a h ipt s e de t e ornar o proj ct dis ponv lna e o e I e rne t ou m e s m o criar um a v rs o nt , e com e rcial P . ara conf ar t irm odas e s t as q ue s t s , f f it um pl e oi e o ano de ne gcio bs ico e o proj ct f apre s e nt e o oi ado na Conf rncia B e arcam p P, (h tp:/barcam p.org t t / / arCam pP ugal conf rncia e s t s obre B ort ) , e a nov t cnol as e ogias , program ao, w e b 2.0 e out ros as s unt . A apre s e nt os ao f um oi s uce s s o, v rias pe s s oas de m ons t raram int re s s e no proj ct e m ais t e e o arde f f it oi e a out apre s e nt ra ao pbl ica na Sh if 06, t onde cons e gui e f ct e uar m uit cont os e os act pe rce be r o pot ncial ue t m os e m P ugal e q e ort para de s e nv v r para a w e b. ole

W e Spe ndM one y f oi de s e nh ado de raiz pe ns ando no ut izador. No s e pre t nde il e cons t ruir um a apl icao com ce nt nas de e "e at s " q ue no s e j f ure am us adas pe l os ut izadore s , m as procurar s e r t il o s im pls e com o um w e bl e f og orne ce r aos ut izadore s il as f rram e nt q ue pre cis am para guardar e e as cat ogar as al s uas de s pe s as , de f inir oram e nt m e ns ais e age ndar t os rans ace s .

<27>

proj ct e o
T bm pos s v lcons ul re l rios s obre am e t ar at o q ue s e gas t q uando e onde , para al ou, m de s e pode r e xport a q ualue r m om e nt ar q o t odos os nos s os dados para um f e iro " v ich .cs " q ue pode s e r abe rt pe l M icros of Exce l os o t . I s o q ue r dize r q ue os nos s os dados no s f icam " s os "pe l apl pre a icao.

Rail um a l s inguage m m uit dinm ica, o al e nt produt a, orie nt t am e iv ada a obj ct e os com um a s int axe coe re nt , f il e m uit e am iar o s im pls q ue ut iza o padro M V (M ode l ie w e il C V Cont e r) rol . Rail s e gue dois conce it s os q ue v am is aum e nt ar a produt idade iv de q ue m program a: D RY e Conv nt e ion ov r e Conf igurat ion. D RY (D on't Re pe at Yours e l f , No s e re pit o conce it por t a) o rs da t cnica de e s cre v r nom e s , proprie dade s e e cdigo e m s om e nt um l e ugar e re aprov it e ar e s s as inf ae s e m out s t da nos s a orm ros ios apl icao, e s s e ncialpara m ant r cdigo e l po e a apl im icao f m e nt act izv is acil e ual e no f uro. ut Conv nt e ion O v r Conf e igurat ion (Conv no e ao inv de Conf s igurao) um conce it o onde s e pre t nde o us o de conv ne s ou e e padre s e cas o o program ador de s e j , pode e s e s obre s cre v r e s s a conv no com o v or e e al q ue de s e j (ou f a oge norm a) P e xe m pl . or o, a cl s e Carro pode t r os s e us dados as e arm aze nados na t abe l Carros , m as s e a de s e j os pode m os at arm ribuir out nom e ro t abe l Com e s t s dois conce it e m uit a. e os os out porm e nore s int e cos da f e w ork , ros rns ram o t m po de de s e nv v e nt m ais curt e o e olim o o t rabalo do program ador f it h acilado.

P ara com e ar o de s e nv v e nt olim o do w e Spe ndM one y no f oram ne ce s s rios m uit re curs os , al , e s s a com e a a s e r a os is norm a com a m aioria dos proj ct e os re l acionados com a w e b 2.0. F ut izada a oi il f e w ork ope ns ource Ruby O n Rail com o ram s bas e da program ao e o s is t m a de e ge s t o de bas e de dados e s colido f o h oi M y SQ L q ue igual e nt grat o. O s is t m a , m e uit e de cont o de v rs e s e s colido f o SV rol e h oi N (m ais conh e cido por Subv rs ion) pe l s uas e as caract rs t e icas s upe riore s ao CV e a ge s t S o do proj ct f e o icou f it acilada pe l us o do o B e cam p as (h tp:/w w w .bas e cam ph q .com ) t / , um ge s t de proj ct onl t bm e l or e os ine am e f it e m Ruby O n Rail e o s.

M as af inal q ue Ruby O n Rail e q ual o s a s ua im port ncia para o proj ct e o?


Ruby O n Rail um a f e w ork com plt s ram e a para o de s e nv v e nt de apl olim o icae s w e b, a s ua f os of as s e nt na f l il ia a e icidade do program ador e e m produt idade s us t nt e l iv e v .

<28>

proj ct e o

P ria f ar m ais de t h adam e nt de Rail ode al al e s m as m e lor de ixarm os is s o para um f uro h ut art igo, de q ualue r f a q ualue r pe s s oa q orm q pode f r dow nl aze oad e com e ar a program ar e m Ruby ou Ruby O nRail bas t s, a para is s o ir ao e nde re o of icial (h tp:/w w w .ruby onrail t / s .com ) ou s e de s e j m , are m ais inf ae s orm em port ugus no Ruby <<port ugue s e (h tp:/w w w .ruby-pt t / .org) . Es t al produt idade f a t a iv orne cida pe l a f e w ork (e a f os of q ue a acom panh a) ram il ia f a principalrazo pe l s ua e s cola na oi a h produo do w e Spe ndM one y (adm it q ue o a int grao com as bibl e cas prot y pe e iot ot e s cript .acul o.us para ge rar e f it Aj e os ax t bm pe s ou na e s cola) am h .

A apl icao ainda e s t e m de s e nv v e nt olim o cons t e , e xis t m pl ant e anos para incorporar w e Spe ndm one y com o t lm v l (por e e e e xe m pl para cons ul o s al , t o t ar do) raduzir para v rias l nguas , criao de w idge t para s o Ne t ibe s e o Yah oo!W idge t (de f a a v s orm int ragir com o s it a part do de s k t e e ir op) e a pos s ibil idade de im port ar t rans ace s dire ct e nt dos bancos . No f am e undo t ornar a v ida dos ut izadore s cada v z m ais il e f it acilada. No incio de Nov m bro de v r e s t e e ar dis ponv la v rs o al a para t e e ph odas as pe s s oas q ue pe dire m no s it of e icial (h tp:/w w w .w e s pe ndm one y.com ) um a t / , m ane ira de pode r part icipar na cons t ruo da apl icao t s t e ando e cont ribuindo com s uge s t s ou crit e icas f a com o e s t orm de s e nv v olida. As s im concl q ue e s t proj ct t m s ido uo, e e o e um de s af m uit e nriq ue ce dor e e s pe ro io o q ue ins pire out ros a part icipar e m e xpe rincias s e m e lant s . h e

Q ue m P dro S ous a? e
P dro Sous a P e rogram ador Se nior na Acce nt ure com v rios anos de e xpe rincia e m apl icaoe s w e b e f undador do grupo " ruby <<port ugue s e " (ruby-pt .org) e nos t m pos l re s e s cre v para no s e u bl e iv e og (re inv nt .com ) e ar .

<29 >

P dro Sous a e

anle s is

Al m ia e Es t uras de D ados gorit rut


Jos B a de V cons e l rag as os Joo V idal Carvalo de h
Edit ora: Ce nt roAtant l ico.pt
Colco: T cnol e e ogias

P ginas : 328 1 e dio: Se t m bro de 2005 e I N: 9 89 -615-012-5 SB

Al m ia e Es t uras de D ados um l ro gorit rut iv de s t inado a t odos os int re s s ados nas e cincias da com put ao. Es t l ro f e iv oca-s e e s s e ncial e nt na al m ia, com o f a m e gorit orm de re s ol uo de problm as e com o auxil e iar criao de program as de com put ador para apl icar e s s as s ol ue s . So t bm am m uit f o ocadas div rs as e s t uras de dados e rut re corre nt s act m e nt . P f , f it e ual e or im e a um a bre v int e roduo a duas popul s are l inguage ns de program ao, C e Jav a. O l ro com e a com um a de t h ada iv al int roduo ao m undo da al m ia e gorit m ode l ao de problm as . re l e acionada a al m ia com a e nge nh aria de s ofw are , gorit t s o apre s e nt adas as s uas com pone nt s , e al as l gum inguage ns q ue pe rm it m a s ua e re pre s e nt ao. T bm s o m e ncionados am dois dif re nt s m t e e odos de conce po al m ica, os conh e cidos it rao e gorit e re curs o. A s e guir s o apre s e nt , ados os t ipos de e s t uras de dados ut izados e m rut il com put ao e t odas as caract rs t e icas da l inguage m (ps e udocdigo) q ue s e r ut izada para a re pre s e nt il ao dos al m os propos t ao l gorit os ongo do l ro. iv G rande part do l ro de dicada e iv apre s e nt ao e cons e q ue nt propos t de e a al m os re f re nt s a v gorit e e ariados problm as e re corre nt s e em com put ao, com o orde nao e pe s q uis a e m lt , e re f re nt s is as e e

m anipul ao de im port e s e s t uras ant rut dis cre t as com o pilas , h f as , il lt is as e ncade adas s im pls e circul s , rv s e e are ore graf . T os odas e s t e s t uras de dados s o as rut be m e xpl icadas , com o auxl de io e s q ue m as s im pls e de s crie s de t h adas . e al F m e nt , inal e s o int roduzidas duas l inguage ns de program ao m uit o ut izadas act m e nt . dada m ais nf e il ual e as l inguage m C e s s uas caract rs t e icas para a re pre s e nt ao e cont o de dados , rol s e ndo e nt o t rans crit al os guns al m os gorit ant riorm e nt e e re f re nciados , e ne s t a l inguage m . So de pois apre s e nt adas as caract rs t e icas nicas de Jav s e guidas de a, e xe m pl de ut izao de cl s e s e da os il as de f inio de t ipos de dados abs t ract . os Al m ia e Es t uras de D ados um l ro gorit rut iv be m cons e guido, e s crit o por dois prof s s ore s e xpe rie nt s e m div rs as re as e e e das cincia da com put ao. Es t l ro e iv pode r s e rv t o para e nt no m undo ir ant rar da al m ia, com o de re f rncia para gorit e t rabalos f uros . P ca ape nas por al a h ut e gum com plxidade , t e ornando-s e as s im ape nas re com e ndado a q ue m j pos s uir al gum " back ground" e m program ao de com put adore s . M as no de ixa de s e r um pt o l ro para e s t im iv udant s da re a de e inf t orm ica, m at m t e ica apl icada e / ou curs os de e nge nh aria.

<30>

Srgio Sant os

anle s is

L arning C# 2005 e
Je s s e L rt ibe y B rian M acD onal d
Edit ora: O 'Re il M e dia l y
L inguage m : I e s a ngl

P ginas : 552 2 e dio: F v re iro de 2006 e e I N: 0-59 6-10209 -7 SB

Act m e nt , s o m uit os ut izadore s q ue ual e os il ade re m ao m undo da program ao, q ue r para f prof s ionais , q ue r para div rs o ins is e ou com o h obby. M uit de s t s int re s s ados os e e de param -s e , de incio, com a dis cut e le v ine v v lpe rgunt Q ue l it e a: inguage m de v o apre nde r prim e iro? H div rs as opinie s e s obre o t m a, m as um a grande part dos e e program adore s diria q ue C# .NET um a l inguage m pode ros a e , s im ul am e nt , t ane e ide al para a iniciao. aq ui q ue e nt o l ro L arning C# 2005. ra iv e D e st inado principal e nt a ut izadore s s e m m e il q ualue r e xpe rincia ne s t re a, a re f rida q a e publ icao pe rm it ao lit cons t bas e s e e or ruir s l , t o nos conce it t ricos do .NET idas ant os e F e w ork ram ou de O bj ct O rie nt d e e P rogram m ing com o nas apl icae s de s s e s conce it para a cons t os ruo de apl icao m ais e s t e is e f v uncionais . At s de rav e xe m pl de cdigo, dicas e cons e los , a os h l inguage m apre s e nt ada ao iniciant de e f a s uav , pe rm it orm e indo a as s im il ao das ide ias e a s ua apl icao e m cont xt e o prt ico. O t xt e s crit num v e o o ocabul rio m uit o ace s s v l s e ndo q ue t e , odos os t rm os e t cnicos q ue o lit pos s a no conh e ce r e or s o e xpl icados e m de t h e . E f ndo al aze us o de s t m e s m a ace s s ibil a idade q ue o l ro iv cons e gue orie nt ar e t ornar pe rce pt e is v m e s m o os conce it m ais com plxos . os e

O ut dos pont a f or o s e u de t h e , ro os av al pe rm it indo q ue m e s m o os iniciant s q ue e program am h pouco t m po pos s am , e de pois da lit e ura, cons t program as m uit ruir o com plt , ut izando o pode r de t e os il odas as f rram e nt e f e as uncional idade s q ue le s s o h of re cidas de f a prt e orm ica e e f nt . O icie e l ro cobre q uas e t iv udo s obre a s int axe e e s t ura da l rut inguage m , be m com o as boas prt icas no de s e nv v e nt olim o de apl icae s . H um grande e nf ue nos oq conce it e apl os icao do paradigm a O O , um a das grande s v age ns do C# e m ant re l ao a out l ras inguage ns . O de s v da at no do lit para t m as io e e or e com o o as pe ct v uale a apre s e nt o is ao dos cont os nas j rol ane l no problm a, as e um a v z q ue e t odos os t m as s o e abordados at s da ut izao de um a rav il cons ol O ut dos pont a e nal ce r a a. ro os t e apre s e nt ao de s um rios , q ue s t ionrios e e xe rccios no f de cada capt o, q ue o im ul lit de v t nt re s ole r para ce rt icar-s e e or e e ar v if de q ue pe rce be u t oda a inf ao. orm O cdigo dos proj ct apre s e nt e os ados no l ro e s t iv dis ponv l na I e rne t e m e nt , h tp:/w w w .l rt as s ociat s .com / t / ibe y e page s /ils / fe L arningCS2e Source .zip. F e ica e nt a ide ia o de q ue o l ro um a boa e s cola para a iv h iniciao e m C# , m as para os q ue j t m e xpe rincia ne s t l a inguage m out ros l ros , iv com o P rogram m ing C# , dos m e s m os aut s , s o m ais acons e lv is . ore h e

<31>

P dro Cal ira e de

int rne t e

para as l u ag e ns w e b: ing JavaS cript H TM L C S S ;com , , caract rs t e icas m u it t is para os o e prog ram adore s . Es t dis ponve l t bm com o plg in para o am u conh e cido Ecl e . ips h t p:/ w w w .apt t / ana.com

apat ana u m ID E dire ccionado

port s obre dis t ie s de al ribu s is t m as ope rat e ivos L x e BS D . inu C ont m as l as novidade s e t im vrias inf ae s e s s e nciais orm s obre as dis t ie s , as s im ribu com o TO P de popu l s aridade . h t p:/ dis t at .com t / row ch

D is t at u m conh e cido roW ch

de m ons t rao de de ze nas de C M S s (C ont nt M anag m e nt e S y s t m s ) g rt e l s , de s t e is ivre inados para port , bl s , f ns , w ik is , ais og ru e nt m u it m ais . re os h t p:/ w w w .ope ns ou rce cm s .com t /

ope ns ou rce C M S pos s ibila u m a it

Eu l r, u m proje ct q u e cons is t na e o e re s olo de de xe nas de dif re nt s u e e probl m as m at m t e e icos , re corre ndo prog ram ao. P s u i t bm e s t s t os am at icas s obre as l u ag e ns e os pas e s dos ing part icipant s , s e ndo pos s ve l e rvar q u e e obs ainda t m pou co pe s o e m P u g al e ort . h t p:/ m at s ch al ng e .ne t t / h l e

M at s Ch al nge a cas a do P cto h l e roje

<32>

bl s cre e n ue

M ais um dos f os os e rros am

F e ncont oi rada a t cl m ais e a procurada de t odas

Um a de s cobe rt inovadora a

O novo m odding port il t

<33>

com unidade

Q ue re s part icipar na re v t is a P G RAM AR? ue re s int grar e s t RO Q e e proj ct e s cre v r art e o, e igos e aj udar at ornar e s t re v t num m arco a is a da program ao nacional ? V a ai

Es t os s e ns iv l e nt a dois m e s e s do f am e m e im do ano e o P ugal rogram ar cont ort -a-P inua a t nt inov e m v e ar ar rias re as ao m e s m o t m po: nas q ue j e s t os ins e ridos e am t e m os s uce s s o, nas q ue e s t iv o a s e r pl adas e s pe ram os t r ainda m ais . ane e Cont os com um f am rum m ov e nt im ado, com aproxim adam e nt 2200 ut izadore s , o e il q ue f com q ue e s t j os v ade para az e am ont nos conce nt rarm os nout v . ros oos A re v t bat u t is a e odos os re corde s de e s t s t at icas com a e dio ant rior e v os e am ce rt e nt bat r m uit m ais com e s t am e e os a e dio. Q ue re m os f r com q ue e s t aze a e dio ch e gue a ainda m ais int re s s ados e e m program ao, de m odo a q ue pos s am conh e ce r o nos s o f rum e o bom am bie nt e da nos s a com unidade .

w w w .re v t is a-program ar o .inf


para m ais inf ao com o orm part icipar ou e nt cont a-nos por o act

@ port ugal -a-program ar .org


P cis am os do apoio de t re odos para t ornar e s t proj ct ainda e e o m aior ... cont os com a t aj am ua uda

re v t is aprogram ar

Em re l ao aos v oos do f uro de q ue h ut t o t m po t nh o v ant e e indo a f ar pode m os al , de s de j adiant m ais al ar guns porm e nore s : v os t r um a pl af a de e -larning a am e at orm e f uncionar at ao f de 2006 e e s pe ram os im arrancar rapidam e nt com um a t lv o e e e is onl ine t cnica. P ara q ue t odos pos s am part icipar ne s t s proj ct , de v m dirigir-s e e e os e ao f rum do P P e ir acom panh ando as @ nov idade s q ue t odos os dias v s urgindo. o Es t s proj ct s s e re al e e os izaro com a boa v ade e e nt ga de cada ut izador ont re il . P cis am os de ge nt capaz de criar bons re e cont dos , de m odo a q ue e s t s nov e e os proj ct t nh am s uce s s o. Cont os com e os e am o v s o cont os ribut V m o-nos pe l P P o. e o @ ...

<34>

Rui M aia

w w w .port ugal -a-program ar .org

Você também pode gostar