P. 1
Revista Programar 5

Revista Programar 5

|Views: 34|Likes:
Publicado porMarcelo

More info:

Published by: Marcelo on Dec 18, 2008
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/09/2012

pdf

text

original

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 anále 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 ração
Rui M aia D avid P as s ilo int g

coorde nador
S érg io S ant os

A pre s e nt ação e divu l ação g
A úl a e dição 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 bém após o l am ançam e nt da q uart e dição q ue f m os a o a ize nos s a prim e ira apre s e nt ação públ 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 públ 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 razão do ir. ant at o de al ras guns dias de s t e dição. 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 ação pe s s oal . Ne s t e dição pode m e ncont a nov s e cção T cnol a rar a e ogias , de dicada a art igos q ue , e m bora não e s t j e am dire ct e nt am e re l acionadas com program ação, s ão im port e s para o ant de s e nv v e nt de al as apl olim o gum icaçõe 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 bém 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 dinâm ico e com m ais inf açõe 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 dacção

F rnando M art e ins P ric F ue ire do at ig João 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 >

Sérgio 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 uguês 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 públ gl o ico obal 32 m ilõe s de e uros às ins t uiçõe 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 pção e Sis t m as Av e ançados , 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 ração 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 Ciências da univ rs idade e de L boa, as f is acul dade s de Ciências 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 Técnica de ole ns it o ão e L boa e o I t ut Supe rior Técnico da Univ rs idade Técnica de L boa. is ns it o e is Se gundo o t xt do acordo, as ins t uiçõe s nacionais , e m parce ria com o M I , e o it T pode rão nos próxim 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 pós -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 uiçõe s port e it ugue s as col abore m com e q uipas de inv s t e igação 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 ilõe s de dól s e f urando h are act 1,33 bilão de dól 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 dól s . As m arge ns a iõe are ope racionais da e m pre s a, cont udo caíram , 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 bém 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 gráf 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 rônicos de cons um o.

F f 2.0 at ire ox inge 2 m ilõe s de h dow nl oads e m 24 h oras
O F f 2.0 at ire ox ingiu os 2 m ilõe 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 ilõe 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 núm 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 ançam 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 icação 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 próprias 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 cindív is e a q ualue r q s is t m a e s ão por is s o pre s e nça 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 icação 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 bancário, m as é t bém v ív l por v ze s am is e , e m e nos óbv io, num j ogo q ue guarda as pont uaçõe 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 icação.

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 bém 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 rão 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 açõe s e nt re e nt idade s . No e nt o, o m undo das B ant D não 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 rárq uicas ou D rut por obj ct , m as a s ua ut ização não é 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 próxim as e diçõe 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 ização 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 cção prát 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 cção prát 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 núm 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 bém 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 ição: I N, B. SB I Agora a e nt idade re q uis ição 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 ição 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 ição? M e dit m os um pouco: s e um a re q uis ição e não é m ais do q ue um a l igação 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 ição. 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 não ar s ó os l ros , m as t bém os ut izadore s e as iv am il re q uis içõe 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 ução 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 unçõe s de um a bibl e ca é e m pre s t l ros , e s t re al iot ar iv a idade não 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 ração, 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 içõe 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 ição: q ue re pre ns e nt a l a igação 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 rís 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 núm e ro do bile t de ide nt h e idade ; - re q uis ição: 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 ição.

<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 ração 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 ição: q ue re pre s e nt a l a igação 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 ração e s obre as caract rís 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 núm e ro de copias dis ponív is ; e e - ut izador: B, t m um nom e , um a m orada; il I e - re q uis ição: 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 próprio e ape l ido, ne s t cas o não 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 razão icie e e e a, pe l q ual e adiciona um cam po e xt para a s ra ide nt icação e s e e f ct a l if e ua igação de s s e cam po e xt de ide nf ra icação com a aut oria. As s im , f icam os com : - l ro: I N, t m um t ul núm e ro de iv SB e ít o, cópias dis ponív is , idEdit e ora; - ut izador: B, t m um nom e , um a m orada; il I e - re q uis ição: 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 é anál oga à de aut or, f r a re l aze ação 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 igação 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 não 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 ariadís s im as v ze s e m t e odas as e nt radas de l ros q ue pe rt nçam 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 ição 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 ização é um proce s s o de re e s t uração do m ode l l rut o ógico de f a a e l inar re dundância, 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 rás no e xe m pl t bém j e f ct o, am á e uam os um a " e udo-norm al ps ização" 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 rência à 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 cópias iv SB e ít o, dis ponív is , idEdit e ora; - ut izador: B, t m um nom e , um a m orada; il I e - re q uis ição: 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 rência, êm e idEdit ora. Not -s e q ue t bém na e nt e am idade e dit ora s e apl icou a criação de um a proprie dade própria para a ide nt icação unív 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 não 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 açõe s
As re l açõe s s im pls m e nt e e l igação, e nt re pode m s e r de para N" . re f ridas at e rás re pre s e nt am a l ógica de re l ação, ou as e nt idade s . Es s as re l açõe 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, açõe 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 bém 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 ação 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 ação m ais s im pls e e m e nos int re s s ant e e q ue e xis t , e não 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 nça de um a re l ação de " para N" No 1 . e xe m pl apre s e nt o ado e xis t um a re l e ação 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 ação é 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. ação " para N" re pre s e nt M a m úl as re l t ipl açõe 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 ação 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ó não é 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 ação é as s im re pre s e nt ada pe l e nt a idade re q uis ição, q ue de v ido ao f o da ch av prim ária s e r act e cons t uída pe l it as ch av s prim árias das e e nt idade s re l acionadas , não 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 rição não é um a l it im ação, 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 próxim 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 ização.
1) A not ação us ada no diagram a é a not ação 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 dinâm 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 nós , no B o, os e nt o, ant al go t ão f cral com o a ul act ização da conv rs a t ual e ornav e um a-s q ue bra-cabe ças díf de s ol icil ucionar. O u s e f azia um re f s h à página (al de s agradáv 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 não 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 noção q ue não s e t a propriam e nt de um a rat e l inguage m de program ação 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 ação 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 página 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 bém 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 icaçõe s com AJAX apre s e nt m al are guns e rros , ou de f iciências . M as , de ixe m o-nos de t oria e pas s e m os à e prát ica. I m os criar um a página de re gis t re o, com a part aridade de garant q ue não 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 código AJAX para q ue s > ui s e j pos s ív la v rif a e e icação. Já o parágraf 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 não. A acção á 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 unção 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, rário não iria f uncionar. O código AJAX é o s e guint : e codigoAJAX.j (o código t bém pode ria s e r s am ins e rido na página do f ul orm ário m as , por m ot os de organização, 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 não. P úl o, é e xe cut or t im ado o obj ct H TTP e o , q ue s ó e s t dis ponív l m al á e e guns brow s e rs . P ara t rm inar s ó nos f t o código ASP q ue e , al a , não pas s a de m e ia dúzia de l as . inh P e iram e nt , o código irá re cole r o v or rim e h al da v ariáv 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 icação e , f m e nt , s e r-nos -á dit inal e o s e o ut izador e s t dis ponív 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 ariáv l e não 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á Disponível!" 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 código 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 código, pare ce be m com pl e icado m as não o é. T m t e rês 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
São t bém us ados no incre m e nt e am o de cre m e nt de um a unidade ou e m o ope raçõe s re l acionais com o a igual dade , dif re nça, 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 ação em Jav aScript s e rão abordados t m as um pouco m ais t e écnicos , be m com o m ais av ançados e e v uídos , do ol q ue na m e t ade ant rior. Abordare m os os e ope radore s , capít o onde s e rão t ados ul rat as s unt re l os accionados com a arit ét m ica, as re l açõe s , a l ógica e nt out , abordare m os re ros as f unçõe s e as ins t ruçõe s q ue e xprim e m condiçõe s e re pe t içõe s / os , f are m os cicl al t bém um pouco s obre program ação am orie nt ada a obj ct , o bás ico a de s t nív 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.

Adição Subt racção M ul icação t ipl D iv ão is Re s t da div ão o is

Exe m pl de ut ização: 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 ariáv is de f a a produzir os re s ul e orm t ados pre t ndidos . A l e inguage m de program ação 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 bás icos dos div rs os t os e ipos de ope radore s dis ponív is . e

Com o é pos s ív l e rif e v icar no código é 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 raçõe s . O Jav aScript dis ponibil iza t bém 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 raçõe s m at m át e icas s im pls e com o a adição, a s ubt racção, a m ul icação, a div ão e o re s t da div ão t ipl is o is int ira. Exis t t bém o da ne gação unária e e am q ue não v s e r abordado. ai

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

As ins t ruçõe s de incre m e nt com o a de o a+ + s ão de pós incre m e nt e as ins t o ruçõe s de incre m e nt + + a s ão ins t o ruçõe s de pré incre m e nt o. Q uando s e t am rat de ins t ruçõe s de de cre m e nt a-- ou --a, a o de nom inação 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 próprio nom e indica, e s pe cif icam ope raçõe s de re l ação 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 gação e Conj unção D is j unção

Exe m pl de ut ização: o il
<html><head> <script type="text/javascript"> var x = 1; var y = 2; var z = y; function relaccionais(){ document.write("<br/>Variável x="+x); document.write("<br/>Variável y="+y); document.write("<br/>Variável 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 unção 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 . rário de v v ole v rdade iro. e A conj unção 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 gação re s ul ore . t a no v or cont al rário do ope rador .

O pe radore s bit a bit
O pe radore s Jav aScript . bit a bit dis ponív is e em

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

Conj unção D is j unção incl iv us a D is j unção e xcl iv us a Ne gação 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 rário 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 raçõe 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 nação e acre s ce nt um a cade ia no a

<11>

a program ar

F unçõe s
Um a f unção é um a s e q uência de ins t ruçõe 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 próprias f unçõe 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 unção com o um a s érie de ins t ruçõe s q ue e ngl obam os de nt do m e s m o proce s s o. As f ro unçõe s ut izam -s e cons t e m e nt , não s ó as q ue il ant e e s cre v m com o t bém 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 ação t êm f unçõe s para re al izar proce s s os h abit uais . As f unçõe 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 acção q ue s e j ne ce s s ária e m div rs os a e l ocais da página/ it / s e program a, s ó t ndo e de f inido o s e u código um a única v z. e P ara de f um a f inir unção é obrigat ório ut izar il ce rt padrõe s : os f unct nom e daf ion uncao () { ins t ruçõe s da f unção ... } D e pois é ape nas ne ce s s ário dar as ins t ruçõe s ce rt as à f unção de f a a orm act uar da f a pre t ndida e inv orm e ocá-l a não 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 rução de condição a ins t rução 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 ruçãox; ... bre ak ; cas e v ory : al ins t ruçãoy ; ... 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 ruçãox, cas o não 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 ação Jav aScript ape nas e xis t m t e rês ins t ruçõe 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 núm e ro inde f ir inido de v ze s a e e xe cução de um as s e nt nças , s e m pre q ue e s e cum pra um a condição. É 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 condição q ue t m q ue s e e cum prir para q ue s e re al um a re pe t ize ição. w h il (condição) e { s e nt nças do cicl e o; ... }

I t ns ruçõe s condicionais
Ins t ção ife e le ru s
I com o o próprio 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 rução s e rv para re al e izar s cript q ue de pe ndam s de um a condição. Um I pre s s upõe q ue f ce rt acção s ó s e rá e xe cut a ada, cas o s e v rif e icar um a ce rt condição. a

<12>

a program ar O cicl do-w h il o e
Ut iza-s e ge ral e nt q uando não 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 nça 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 { sentenças do ciclo; ... } while (condição) objecto.atributo objecto.metodo()

O bj ct e os
O Jav aScript dis põe 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 ariáv is ) e m ét e odos (f unçõe s ) A . s int axe para a ut ização 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 ruçõe s num de t rm inado núm 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 núm 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 nça, ou at q uando. e é
for (iniciação;condição;actualização) { sentenças 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 ação à 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 bém 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 iniciação é e xe cut ada um a v z ant s da prim e ira it ração;a condição e e e é t st e ada ant s de cada it ração do cicl e e o e s e f v rdade ira e xe cut a próxim a or e a ins t rução do cicl s e f f s a t rm ina o o, or al e cicl o. A ins t rução e xe cut ada no cicl f pode s e r o or s ubs t uída por div rs as ins t it e ruçõe 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 ançados , m as igual e nt bás icos , da m e program ação e m Jav aScript Ne s t e dição . a abordám os a program ação com ope radore s , f unçõe s , ins t ruçõe s condicionais (if s w it ) ins t , ch , ruçõe s it rat as (f w h il, doe iv or, e w h il, cont e inue , brak e ) , program ação 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 rução 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 rução cont inue int rrom pe o cicl e o pas s ando as s im para a it ração s e guint . e e

<13>

João 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 ação: 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 ação 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 unçõe s da Cl s F e , q ue é a as il ut izada para re al il izar a m anipul ação. 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, não 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 bém pode ria apont am ar ape nas para um a dire ct oria e não 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 bém 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 não 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 bém 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 bém 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 não é 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 ação 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 não e s t j aq ui pre s e nt , e a e t bém 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 nça 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 não 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 raíze 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 próprio 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 ação 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 código: 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 }

Após e xe cut e s t apl ar a icação 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 código 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 anciação um pouco com plxa m as t m a s ua razão 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 anciação é 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 bém um ich e am argum e nt boolan. Es t é s e m dúv 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 não apagar ne h um do s e u cont údo e ant rior, ou s e j o program a não 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 início e ich ir apagando t oda a inf ação 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 após 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, após 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 ização 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 idênt icas e m bora m e nos ut izados a nív 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 igação 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 não 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 código 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 código 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 ariáv 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 ariáv 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 não 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 igação 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 Após e s t t as rês part s do art e igo o lit j e or á cons e guirá re al as principais f izar unçõe s de I e m Jav Exis t m um s e m núm 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 núm 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 icaçõe 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 bém am a capacidade de s im u l ação 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 icaçõe 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 propícia 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 código, 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 rádio, 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 racção s im pls , onde o e ch ip re ce be o s inal rádio e com a f de orça de s s e s inal cons e guida um a re f ação, é 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 próprio 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 icaçõe s para e s t a t cnol e ogia e xis t um produt com grande e o e xpe riência 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 razõe s para a ut ização de s t il e s ofw are : s im ul t ação e m t m po re al de e e nt rada/ aída de dis pos it os RFD num a s iv I re de t al e nt pe rs onal e l opçõe s de ot m e izav , de s e nv v e nt fe xív 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 gurança de nív l e m pre s arial onde e , t odas as com unicaçõe 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 açõe 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 aída 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 iguração 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 ração 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 opçõe 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 icação: “… \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 ação 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 uçõe 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 ização 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 ociaçõe s e I t ut de SV nt ns it os I e st nv igação. 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 igação 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 ribuição e da com e rcial ização: 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 uguês . 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 uçõe 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 azéns , 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 criação de um ce nt de inv s t ro e igação e de s e nv v e nt olim o de s ol uçõe s RFD , o I prim e iro da Sy bas e a nív l undial e m . O Ce nt ro de I e st nv igação 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 uçõe s s e rão 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 açõe 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 idação de bile t s , al h e e v ando as s im a acu m u l it ação de pe s s oas nas e nt radas das e s t açõe s do SATU.”
O m ais re ce nt t e rans port criado pe l e a Câm ara M unicipal de O e iras t bém 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 açõe s da l a do SATU inh (Sis t m a Aut át de T e om ico rans port Urbano) e . Na próxim 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 paña

O v ícul da próxim 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 aço 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 ação do pe rcurs o.

“Es t os act m e nt a f izar a am ual e inal ins t ação do h ardw are e a com e çar al a ins t ação do m iddlw are q ue f al e oi f orne cido pe l Sy bas e ”, e m de cl a araçõe s
dos Corre os A im plm e nt e ação de s t s is t m a de cont o e e rol por radiof q uência nos s e us 15 ce nt de re ros t rans port e arm aze nam e nt dis t e o ribuídos por t oda a Es panh a t v um cus t de m ais de e e o um m ilão de e uros , para aq uis ição 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 cíf t ico e a s ua int gração nos e s is t m as inf át e orm icos dos Corre os , a aq uis ição de 5.000 t ags pas s iv , a as ins t ação 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 iço, 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 ação à concorrência. A e m pre s a t bém am adm it q ue obt e ém um m e nor cus t " v o de ido à e st andardização da t cnol e ogia e ao cus t o unit ário das t ags pas s iv e m re l as ação à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 ogís icos (carros , cam iõe 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 própria 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 rápido, 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 dúv go ida út il para a popul ação da zona.

<20>

D anie l Corre ia

t orial ut
propriedades &= "Atributos:" & ficheiro.Attributes.ToString & vbCrLf propriedades &= "Criação:" & ficheiro.CreationTime.ToString & vbCrLf propriedades &= "Ultimo Acesso:" & ficheiro.LastAccessTime.ToString & vbCrLf propriedades &= "Modificação:" & 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 dição ant rior f m os um a abordage m e ize s obre a ut ização 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 ação 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 nção 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 ização, 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 Criação: 11-10-2006 16:27:14 Ul o Ace s s o: 11-10-2006 16:28:14 t im M odif icação: 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 rápida, m as não s ó. Es t cl s e incorpora a as t bém f am unçõe s para criar f e iros , m ov r ich e ou copiar da s ua l ização act ocal ualpara out apagar e ncript , e s cre v r lr e t ra, , ar e , e , c.

F unção 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 &= "Extensão: " & ficheiro.Extension.ToString & vbCrLf propriedades &= "Tamanho:" & ficheiro.Length.ToString & vbCrLf

<21>

t orial ut
Não s ão ape nas os f e iros q ue pos s ue m ich proprie dade s , pois os dire ct órios t bém as am pos s ue m e , por is s o, t m os dis ponív 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, não il nf dif re nciando m uit a s ua ut ização 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 não 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 açõe 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 uação 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 ação 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 unçõe 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 unçõe 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 unção 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("Não 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 unção I e rt pe rm it -nos ins e rir e m ns () e q ualue r pos ição 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 unção L tnde xO f de v v -nos a úl a as I () ole t im pos ição 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 ição 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 unção 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 unção 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 unção T () t v z s e j a m ais us ada de rim ale a t odas . Es t f a unção pe rm it -nos re m ov r os e e e s paços q ue e s t a m ais num a s t ão ring. Um e xe m po da s ua ut ização: 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 rão v r, e xis t m out e e ras f unçõe 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 ação. Q uant ao t am e nt de s t o rat o rings é t udo. Na próxim a e dição 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 ançam e nt da e dição o s e guint . e

A f unção 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 ição 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 ição 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 <directório representativo do hardware ou ficheiro> <directório de montagem> <opções>

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 dúv 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 início, 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 dúv 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 não 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 opção gráf 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 açõe 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 nça 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 ociação 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 opção -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 gráf 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 cução 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 bém 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 ribuição j cont nh a carre gados m ódul á e os q ue le pe rm it h irão, 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 icação de caract re s ) e . De um m odo ge ral q uas e t odas as dis t ribuiçõe 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 nção e t e udo corre rá be m . A s ua dis t ribuição 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 ribuiçõe s , de ixo a cargo do lit procurar nos f e or óruns da s ua dis t ribuição um t orial ue le indiq ue com o ut q h proce de r para a re com pil ação do k e rne l . Subl o q ue para a grande m aioria das inh dis t ribuiçõe 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 bém num s is t m a W indow s , de am e m odo a não t r problm as ne m na v ual e e is ização, 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 ição. 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 bém 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 bém : m e e o am
<*> NLS UTF-8

D e v rá t bém v rif e am e icar s e e m : M ov e nt -s e com as t cl de dire cção, im e e as Ent r para e nt e rar nas pas t , a barra de as e s paços 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 princípio 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 bém 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 raçõe 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 ribuição 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, não 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 acção 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 início s e m int rv nção 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 opçõe s l de f á inidas . Se ndo por s ua v z a e de f inição 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 ição/ e pode driv s e r al rado pe l adição da opção '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 ição F f AT aríam 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 opçõe s . Já o dum p re f re c) s e s e à ne ce s s idade ou não 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 não 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 não é ne ce s s ário nunca f r t v rif aze al e icação, e a part ição rootde v rá t r o v or 1) e e al . Um e xe m pl para a part o ição 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 opçõe s adicionar o a com ando um as k =0xxx, e m q ue o xxx é um núm e ro q ue de f as pe rm is s õe s da ine part ição m as inv rt e idas , e o 0 inicial o pre f q ue indica q ue o núm 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 núm 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 dição pas s ada da Re v t e a is a P G RAM AR. RO P ode m os t bém 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 pôr a s e guir ao = de al cada opção f aça:
$ 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 /<directório de montagem>

Não nos e s q ue çam os q ue na com pil ação 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 icação 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 não o de s e j us e a ar opção nl por e xe m pl nl o8859 -15, s =, o s =is ou nl f s =ut8. P ara nts f f aríam 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 opçõe s bás 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 nív l do e k e rne l Exis t m m uit m ais opçõe 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 opçõe s pos s ív is e s uas f e unçõe 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 icação 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 nçõe s e
w e Spe ndM one y
é um a apl icação 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 , rápida e orm ácil s e gura. Não é 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 igação à 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 nós re al os izam com al a pe riodicidade a act ização gum ual das cade rne t e ch e gam os à concl ão as us q ue os e xt ract bancários pas s ado al os gum t m po s ão ilgív is , pois a f e e e raca de s crição " um ana" das de s pe s as , por e xe m pl h o " M P 9 8, 5 e uros " não 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 icaçõe 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 ninguém us av e dif f ure a ícil de apre nde r. L ançado o problm a na m e s a pe rce be m os e q ue a m e lor s ol h ução não 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 icação 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 icação q ue não 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 bém 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 ipót s e de t e ornar o proj ct dis ponív 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 gócio bás ico e o proj ct f apre s e nt e o oi ado na Conf rência B e arcam p P, (h tp:/barcam p.org t t / / arCam pP ugal conf rência e s t s obre B ort ) , e a nov t cnol as e ogias , program ação, w e b 2.0 e out ros as s unt . A apre s e nt os ação 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 ação públ 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. Não s e pre t nde il e cons t ruir um a apl icação com ce nt nas de e "e at s " q ue não 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 orçam e nt m e ns ais e age ndar t os rans acçõe s .

<27>

proj ct e o
T bém é 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 não s f icam " s os "pe l apl pre a icação.

Rail é um a l s inguage m m uit dinâm 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 padrão 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 , Não s e re pit é o conce it por t a) o rás da t écnica de e s cre v r nom e s , proprie dade s e e código e m s om e nt um l e ugar e re aprov it e ar e s s as inf açõe s e m out s ít da nos s a orm ros ios apl icação, é e s s e ncialpara m ant r código e l po e a apl im icação f m e nt act izáv is acil e ual e no f uro. ut Conv nt e ion O v r Conf e igurat ion (Conv nção e ao inv de Conf és iguração) é um conce it o onde s e pre t nde o us o de conv nçõe s ou e e padrõe 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 nção 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 ríns 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 não 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 iás 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 ação 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 rís 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 bém 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 icaçõe 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 açõe s orm em port uguês 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 principalrazão pe l s ua e s cola na oi a h produção do w e Spe ndM one y (adm it q ue o a int gração 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 bém pe s ou na e s cola) am h .

A apl icação 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 , criação 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 acçõe 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 início de Nov m bro de v rá e s t e e ar dis ponív 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 rução da apl icação 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 riências 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 riência e m apl icaçoe 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

anále 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 João V idal Carvalo de h
Edit ora: Ce nt roAtant l ico.pt
Colcção: T cnol e e ogias

P áginas : 328 1ª e dição: 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 ciências da com put ação. 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 ução de problm as e com o auxil e iar à criação de program as de com put ador para apl icar e s s as s ol uçõe s . São t bém 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 rodução a duas popul s are l inguage ns de program ação, C e Jav a. O l ro com e ça com um a de t h ada iv al int rodução ao m undo da al m ia e à gorit m ode l ação 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 ação. T bém s ão m e ncionados am dois dif re nt s m ét e e odos de conce pção al m ica, os conh e cidos it ração 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 ação e t odas as caract rís t e icas da l inguage m (ps e udocódigo) q ue s e rá ut izada para a re pre s e nt il ação 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 ação 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 ação, com o orde nação e pe s q uis a e m lt , e re f re nt s is as e e

à m anipul ação 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 auxíl de io e s q ue m as s im pls e de s criçõe s de t h adas . e al F m e nt , inal e s ão int roduzidas duas l inguage ns de program ação 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 rís t e icas para a re pre s e nt ação 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 . São de pois apre s e nt adas as caract rís t e icas únicas de Jav s e guidas de a, e xe m pl de ut ização de cl s e s e da os il as de f inição 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 ciência da com put ação. 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 rência 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 ação de com put adore s . M as não 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>

Sérgio Sant os

anále 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 dição: 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 ação, 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 início, 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 opiniõe 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 iniciação. É 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 riência ne s t áre a, a re f rida q a e publ icação 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 icaçõe s de s s e s conce it para a cons t os rução de apl icação m ais e s t e is e f áv uncionais . At és de rav e xe m pl de código, 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 ação das ide ias e a s ua apl icação e m cont xt e o prát 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 não 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 prát 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 prát icas no de s e nv v e nt olim o de apl icaçõe s . H á um grande e nf ue nos oq conce it e apl os icação do paradigm a O O , um a das grande s v age ns do C# e m ant re l ação a out l ras inguage ns . O de s v da at nção 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 ação dos cont os nas j rol ane l não é 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 ização 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 ação de s um ários , q ue s t ionários e e xe rcícios no f de cada capít 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 ação. orm O código dos proj ct apre s e nt e os ados no l ro e s t iv á dis ponív 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 iniciação e m C# , m as para os q ue j t á êm e xpe riência 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 láv 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 rís t e icas m u it út is para os o e prog ram adore s . Es t dis poníve l á t bém 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 içõe 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 várias inf açõe s e s s e nciais orm s obre as dis t içõe 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 ração 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 rát 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 olção de de ze nas de dif re nt s u e e probl m as m at m át e e icos , re corre ndo à prog ram ação. P s u i t bém e s t ís t os am at icas s obre as l u ag e ns e os país 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 ação 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 dição 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 dição. Q ue re m os f r com q ue e s t aze a e dição ch e gue a ainda m ais int re s s ados e e m program ação, 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 ação 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 ação 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 izarão 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

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->