Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
638
On Slideshare
638
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
28
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. e dit orial índice 3 notícias 4 t m a de capa e 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 sis 32 int rne t e 33 bl s cre e n ue 34 com unidade e q u ipa P O G R A M A R R adm inis tração Rui M aia D avid P as s ilo int g coorde nador A pre s e ntação e divu l ação g S érg io S antos A úl a e dição f um m arco m uit im port e para o nos s o tim oi o ant coorde nador adj o unt 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 M ig ue l ais P 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 re dacção nos s a prim e ira apre s e nt ação pública, q ue t v l e e ugar no F rnando M art e ins BarCam pP 2006. Es t e v nt de corre u no P o 2 da T e e o ól P ric F ue ire do at ig Univ rs idade de Coim bra e t v com o públ prof s ionais e e e e ico is João P re ira e Fábio Corre ia am adore s da nos s a áre a. D anie l Corre ia Tiag o S alado g Es t s re s ul e t ados e lve am a f q uia da q ual as idade q ue nos é M arce l M art o ins e xigida por part dos nos s os lit s , q ual e e ore idade e s s a q ue P dro S ous a e q ue re m os cont inuar a garant É e s s a, port o, a razão do ir. ant P dro Cal ira e de 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 col aboradore s 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 Jos é O l ira ive 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. cont o act re vis taprog ram ar Ne s t e dição pode m e ncont a nov s e cção T cnol a rar a e ogias , @ port alug -a-prog ram ar.org 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 os w e bs ite Sérgio Sant w w w .re vis ta-prog ram ar.inf o 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 artigo 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 <2 >
  • 2. 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 aculdade de Ciências da univ rs idade e de L boa, as f is aculdade 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 colabore m com e q uipas de inv s t e igação no M I . T AM D t ica l ripl ucro F f 2.0 at ire ox inge 2 m ilõe s de h A Adv ance d M icro D e v s (AM D ) s upe rou as ice dow nl oads e m 24 h oras e xpe ct iv at as dos analt is as f inance iros , O F f 2.0 at ire ox ingiu os 2 m ilõe s de dow nl h oads lucrando 134 m ilõe s de dól s e f urando h are act no prim e iro dia, com picos de 30 dow nl oads 1,33 bilão de dól s no t rce iro t e s t de h are e rim re por s e gundo. I t s ignif so ica q ue o F f e s t ire ox á 2006. A e s t at a dos analt im iv is as e ra um a e m v de s upe rar os 3 m ilõe s de dow nl ias h oads re ce it de 1,31 bil s de dól s . As m arge ns a iõe are e m 4 dias do I E7. Es t s s ão re s ul e tados m uit o ope racionais da e m pre s a, cont udo caíram , pos it os para a e q uipa de de s e nv v e nt iv olim o f o q ue a AM D at act ribui a v ndas m e nos e da M ozil l No e nt o, o núm e ro de a. ant ace lradas de ch ips para de s k t . e ops 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. 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. <3>
  • 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 Um a B t m com o obj ct o úl o guardar D e e iv tim e re cupe rar dados , e q uant m ais de pre s s a o B e s de D ados as m e lor Es t é a ide ia q ue s e t m e m m e nt h . a q uando s e f a e m B . al D e e É t bém com e s t e out obj ct os e m am e ros e iv As B e s de D ados (B ) s ão as D m e nt , q ue os art e igos s e rão apre s e ntados . im pre s cindív is e a q ualue r q O s t m as f e ocados v ão pe rm it a q ualue r ir q s is t m a e s ão por is s o pre s e nça e um iniciar-s e no m undo das B s e e v uir a D ol cons t e no dia-a-dia de t ant odos pont o de criar conh e cim e nt o e q uant f m de s e nv v e nt os aze olim o. 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 Es t re al a idade adv ém da ne ce s s idade de o univ rs o das B s . e D " 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 B e de D ados as 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 D e um a f a s im pls , um a B pode s e r orm e D pont uaçõe s dos m e lore s j h ogadore s num de f inida com o um s im pls banco de dados e s im pls f e iro de t xt e ich e o. organizado s e gundo um a de t rm inada e e s t ura. rut Inde 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 Act m e nt , os Sis t m as de G e s t ual e e ão de dados e xis t e é um a cons t e e m e ant B e s de D ados (SG B ) m ais com uns e m ais as D q ualue r apl q icação. us ados s ão os re l acionais , q ue as s e ntam 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 Âm bit o 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 Ne s t âm bit e o, ao l ongo das próxim as D at abas e M anage m e nt Sy s t m e na e diçõe s da Re v t P is a rogram ar v ão s e r t rm inol e ogia das B - (RD B S) Exis t m D M . e apre s e nt ados art igos s obre bas e s de dados out ras B com e s t uras h ie rárq uicas ou D rut abrange ndo um conj o de t m as q ue unt e por obj ct , m as a s ua ut ização não é e os il aj udam a com pre e nde r m e lor e s t h e m uit dif o undida e s ão norm al e nt us adas m e m undo, de s de a ide al ização de um e m cas os part are s . icul 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 Exe m pl o 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 D e f a a il t e a pe rm it um m e lor orm us rar ir h apre s e nt ados . Es t s e cção prát a ica s e guirá acom panh am e nt de s t art o e igo, o m e s m o a norm a S Q L 9 para q u e s e j -9 a v s e r com plm e nt ai e ado com um e xe m pl o. <4>
  • 4. t m a de capa e D ado q ue é ne ce s s ário ide nt icar if O de s af é cons t io ruir um a B para um a D univ ocam e nt cada um dos int rv nie nt s e e e e pe q ue na bibl e ca pe rm it iot indo re gis t não ar de cada e nt idade , t orna-s e ne ce s s ário s ó os l ros , m as t bém os ut izadore s e as iv am il dot cada e nt ar idade com um ide nt icador if re q uis içõe s de l ros . iv ú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 M ode l Re l o acional 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 O m ode l re l o acionalde fine a e s t ura da rut ch av s candidat e as de cada um a das B e é o prim e iro pas s o no de s e nh o de D e ntidade s , q ue s ão as proprie dade s q ue um a B . Es t m ode l m ode l a re al D e o a idade pe rm it me ide nt icar if univocam e nt e de f a l orm ógica, ou, por out ras pal ras , av q ualue r ut izador ou l ro at és de um a q il iv rav re pre s e nt a s ol a ução lógica para um dado proprie dade , ou de um conj o de unt problm a. e 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 As s im , o prim e iro pas s o é ide nt icar as if ut izador s e r o nom e e a m orada, q ue il e nt idade s e m caus a. D ado o de s af de io j os t bém ide nt icam univ unt am if ocam e nt e um a pe q ue na bibl e ca, a m e s m a t rá: iot e um ut izador il . - 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 D o conj o das ch av s candidat unt e as da bibl e ca. iot s e lcciona-s e a m e lor q ue t e h orna pos s ív l e ide nt icar if univocam e nt e q ualue r q Um a das principais f unçõe s de um a ut izador ne s t cas o o ut izador at és do il , e il rav bibl e ca é e m pre s t l ros , e s t re al iot ar iv a idade B, e o l ro at és do I N. I iv rav SB não e s t ainda re pre s e nt á ada no m ode l e o T ndo as ch av s prim árias s e lccionadas , e e e é ne ce s s ário criá-l a. 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 As s im , num a s e gunda it ração, al ram os o e te um t ul t m um a e dit ít o, e ora; m ode l para pe rm it q ue os ut izadore s s e o ir il - ut izador: B, t m um nom e , um a m orada; il I e l m aos l ros at és de re q uis içõe s . igue iv rav - re q uis ição: I N, B. SB I 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 Agora a e nt idade re q uis ição pos s ui duas - ut izador: q ue re pre s e nt os ut izadore s il a il proprie dade s , I N e B, q ue s ão as ch av s SB I e da bibl e ca; iot prim árias das e nt idade s l ro e aut , iv or - re q uis ição: q ue re pre ns e nt a l a igação re s pe ct am e nt . O u s e j iv e a, a e nt idade e nt um l ro e um ut izador da bibl e ca. re iv il iot 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 As s im , um a v z ide nt icadas as e nt e if idade s , ch av s de out e ras e nt idade s . D e para-s e é ne ce s s ário ide nt icar as caract rís t if e icas e agora um de s af q uala ch av prim ária io: e proprie dade s de cada um a de l : as da re q uis ição? - 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 M e dit m os um pouco: s e um a re q uis ição e - ut izador: t m um nom e , um a m orada il e não é m ais do q ue um a l igação e nt um re e o núm e ro do bile t de ide nt h e idade ; ut izador e um l ro, e nt um ut izador e il iv ão il - re q uis ição: t m o ide nt icador do l ro e if iv um l ro de f m iv ine univocam e nte um a re q uis it ado e t m o ide nt icador do e if re q uis ição. D ado q ue um l ro é iv ut izador q ue e f ct il e uou a re q uis ição. 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 <5>
  • 5. t m a de capa e D ado q ue um l ro pode pos s uir m ais de um iv O m ode l pare ce , à priori, f izado, m as a o inal aut e q ue um aut pode t r m ais de um a or, or e v rdade é q ue o m e s m o não e s t e á obra, ide nt icam -s e duas nov e nt if as idade s : norm al izado. O lando at nt e nt para a h e am e aut e aut or oria; re f ul -s e as e nt e orm am idade s . e ntidade 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 As s im , num a t rce ira it ração s obre as e e e ntradas de l ros q ue pe rt nçam a um a iv e e nt idade s f icam os com : m e s m a e dit ora. P ara e v ar e s t re pe t it a ição - l ro: q ue re pre s e nt um l ro; iv a iv do nom e da e dit ora, o m ode l t m de s e r o e - ut izador: q ue re pre s e nt os ut izadore s il a il norm al izado. A norm al ização é um proce s s o da bibl e ca; iot de re e s t uração do m ode l l rut o ógico de - re q uis ição: q ue re pre s e nt a l a igação f a a e l inar re dundância, organizar os orm im e nt um l ro e um ut izador da bibl e ca; re iv il iot dados de f a e f nt orm icie e e re duzir - aut q ue re pre s e nt um aut or: a or; pot nciais anom al . O lando m ais at e ias h rás - aut oria: q ue re pre s e nt um aut de um a or no e xe m pl t bém j e f ct o, am á e uam os um a l ro. iv " 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" Num a s e gunda it ração e s obre as pe l e nt as idade s aut e aut or oria. caract rís t e icas e proprie dade s de cada e ntidade concl e q ue : ui-s Norm al izando o m ode l t m os q ue a o, e - l ro: I N, t m um t ul t m um a e dit iv SB e ít o, e ora, proprie dade e dit ora pas s a a s e r um a t m um núm e ro de copias dis ponív is ; e e e ntidade , e l ro pas s a a f r re f rência à iv aze e - ut izador: B, t m um nom e , um a m orada; il I e e ditora e m q ue s tão: - re q uis ição: I N, B; SB I - e ditora: idEdit ora, nom e ; - aut t m um nom e ; or: e - l ro: I N, t m um t ul cópias iv SB e ít o, - aut oria: I N e o ide nt icador do aut SB if or. dis ponív is , idEdit e ora; - ut izador: B, t m um nom e , um a m orada; il I e Um a ch av candidat para a e nt e a idade - re q uis ição: I N, B; SB I aut s e rá o nom e , m as dado q ue pode or - aut idAut t m um nom e ; or: or, e h av r m ais de um aut com o m e s m o e or - aut oria: I N, idAut SB 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 D e s t f a, t a orm odos os l ros q ue pe rt nce m a iv e nom e próprio e ape l ido, ne s t cas o não e um a m e s m a e ditora t a m e s m a re f rência, êm e e xis te ne nh um a ch ave candidat a idEdit ora. s uf nt m e nt boa para s e r e lit razão icie e e e a, Not -s e q ue t bém na e nt e am idade e dit ora s e pe l q ual e adiciona um cam po e xt para a s ra apl icou a criação de um a proprie dade ide nt icação e s e e f ct a l if e ua igação de s s e própria para a ide nt icação unív if oca, e m bora cam po e xt de ide nf ra icação com a aut oria. 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 As s im , f icam os com : probabil idade de e xis t m duas e dit ire oras - l ro: I N, t m um t ul núm e ro de iv SB e ít o, dis t as com o nom e e xact e nt igualé int am e cópias dis ponív is , idEdit e ora; inf a. ím - 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 de l igação aut oria é anál oga à de aut or, ou s e j por a, f r a re l aze ação de aut s com ore l ros , a s ua iv ch av prim ária é com pos t e a pe l duas as ch av s e s t e range iras . Figura 1 <6>
  • 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 figura 1. É de re f rir q ue no diagram a não e cons t am as e nt idade s re lacionais , 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 Figura 2 As re l açõe s re f ridas at e rás re pre s e ntam s im pls m e nt e e a l ógica de re l ação, ou P f , o diagram a da f or im igura 3 (1). apre s e nt a ligação, e nt re as e nt idade s . Es s as re l açõe s o m ode l com plt com as re l o e o, açõe s e as pode m s e r de " para 1" " para N" ou de " 1 , 1 , M e ntidade s re l acionais com os nom e s para N" . 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 ntadas a Um a re l ação diz-s e de " para 1"q uando um 1 v rde (F ) e as ch av s e s t e K e range iras q ue s ão e lm e nt de um a e nt e o idade s e re l aciona t bém am ch av s e prim árias e stão unicam e nt com out e lm e nt de out e ro e o ra re pre s e ntadas a azul F ) (P K . 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 itando 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 tipl 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 itado 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 Figura 3 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 Cada um a de s t e nt as idade s v re s ul num ai t ar e nt idade s re lacionadas , não pe rm it q ue um e obj ct na bas e de dados , um a t e o abe l e a, ut izador re q uis it v il e árias v ze s o m e s m o l ro. e iv cada um a das proprie dade s de cada ins F rnando M art Es t re s t a rição não é um a l itim ação, ne m de v e obj ct v re s ul num a col e o ai tar una. M as e s te s e r v t com o t , um a v z q ue é f m e nt is a al e acil e pas s o acont ce rá ape nas num próxim o e ul t rapas s áv l de f e inindo um a out ra ch av e art igo, act m e nt é im port e re t r os ual e ant e prim ária para a e nt idade . conce it os de M ode l Re lo acional M ode l , o Lógico, Ent idade , P roprie dade , Ch av e O diagram a da figura 2 apre s e nt o e xe m pl a o Candidat a, Ch av e P ária, rim Ch ave Es t range ira e Norm al ização. e com as e nt idade s re l acionais m at rial e izadas . 1) A notação us ada no diagram a é a notação <7> O raclTM (O raclTM é um a m arca re gis t e e ada)
  • 7. a program ar <html> <head> <script src="codigoAJAX.js"></script> </head> <body> <form action="" method="post"> Páginas dinâm icas Utilizador Pretendido: <input type="text" name="username" com ASPe AJAX id="username" onKeyUp= "verificaUtilizador(this.value)"> </form> Q ue m nunca pe ns ou e m f r um Ch at ou aze <div id="resposta"></div> 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 </body> act ização da conv rs a t ual e ornav e um a-s </html> q ue bra-cabe ças díf de s ol icil ucionar. O u s e fazia 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 A part do '<s cript s rc=" e codigoAJAX.j " s > proj ct e o não concre t izado. O ra, foi </ cript ', incl o código AJAX para q ue s > ui pre cis am e nte para s ol ucionar e sse s s e j pos s ív la v rif a e e icação. Já o parágraf o problm as q ue nas ce u o AJAX (As y nch ronous e abaixo, s e rá a t áre a e m q ue nos é dit s e al o Jav aScriptand XM L. ) 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 Q uando f am os e m AJAX conv al ém t r ae t is .v ue para q ue o brow s e r s aiba q ue h al noção q ue não s e t a propriam e nt de um a rat e de v act izar a re s pos t s e m pre q ue o e ual a linguage m de program ação nov e m uit a, o t xt é al rado. A f e o t e unção s e m o t is .v ue h al m e nos s e re f re ao h abit de t rge nt . T a- e ual e e rat t ria de s e r inv e ocada por um bot at és ão rav s e s im , de um a t écnica para act izar ual do onCl por e xe m pl cas o cont ick o, rário não inf ação rapidam e nt . I agine m os , por orm e m iria f uncionar. e xe m pl um ch at Com o h abit o, . ual H TM L O código AJAX é o s e guint : e 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 codigoAJAX.j (o código t bém pode ria s e r s am act izado aq uil q ue q uis e rm os , ne s t cas o, ual o e ins e rido na página do f ul orm ário m as , por o 'corpo' da conv rs a. e m ot os de organização, s e param o-l . iv o) AJAX corre prat icam e nt e m t e odos os s e rvidore 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 function handleHttpResponse() { linguage m Se rv r-Side , ne s t cas o o ASP Al e e . ém if (http.readyState == 4) { dis s o o AJAX t m a part aridade de s e r e icul if (http.status == 200) { ape nas v ív l e m brow s e rs q ue t nh am is e e if (http.responseText.indexOf( s uport com plt XM L Act m e nt e xis t m e e o . ual e e 'invalid') == -1) { ape nas dois brow s e rs a s uport t al e nt ar ot m e results = http.responseText. e s t t cnol a e ogia: o I e rne t Expl r e o M ozil nt ore l a split(","); document.getElementById( F f Em brow s e rs com o o Saf ou o O pe ra ire ox. ari "resposta").innerHTML é com um as apl icaçõe s com AJAX = results[0]; apre s e nt m al are guns e rros , ou de f iciências . emProceso = false; } 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 <8>
  • 8. a program ar Em s e gundo, v rif e icam os s e o ut izador j il á function verificaUtilizador() { e xis t , por um a Q ue ry St e ring com o v or al if (!emProceso && http) { ins e rido pe l ut izador, v or e s s e q ue s e rá o il al var valor = escape(document. etElementById("username").value); re ce bido no f e iro ASP Es t ich . e dirá var url = "utilizadores.asp? de f av m e nt s e o ut izador e s t ocupado init e e il á txtUser="+ valor; ou não. P úl o, é e xe cut or t im ado o obj ct H TTP e o , http.open("GET", url, true); q ue s ó e s t dis ponív l m al á e e guns brow s e rs . http.onreadystatechange = handleHttpResponse; P ara t rm inar s ó nos f t o código ASP q ue e , al a , emProceso = true; não pas s a de m e ia dúzia de l as . inh http.send(null); P e iram e nt , o código irá re cole r o v or rim e h al } da variá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 function getHTTPObject() { s e o ut izador e s t dis ponív l P il á e . ara e v ar it var xmlhttp; 'bug's " s ó s e rá apre s e nt ado re s ul tado s e o v or da v al ariáv l e não f nul or o. @cc_on @if (@_jscript_version >= 5) ut izadore s .as p il try { xmlhttp=new ActiveXObject( <% "Msxml2.XMLHTTP"); } catch (e) { if request.querystring("Utilizador") try { <> "" then xmlhttp=new ActiveXObject( utilizador = request.querystring( "Microsoft.XMLHTTP"); "Utilizador") } catch (E) { xmlhttp = false; if utilizador = "p@p" then } response.write "Ocupado, } escolha outro." @else else xmlhttp = false; response.write "Está @end @ Disponível!" end if if (!xmlhttp && end if typeof XMLHttpRequest != 'undefined') { %> try { xmlhttp=new XMLHttpRequest(); Agora é s ó t s t e ar! Es t código e s t m uit e á o } catch (e) { xmlhttp=false; } 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 return xmlhttp; um a bas e de dados . } var emProceso = false; igue ire do var http = getHTTPObject(); 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 P ric F 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'. at <9 >
  • 9. 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 lacionais 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 + Adição - Subt racção * M ul icação t ipl / D iv ão is % Re s t da div ão o is JavaScript Exe m pl de ut ização: o il (part 2) e Som a e m JavaScript Ne s ta úl a part tim e do art igo s obre <html><head> program ação em JavaScript s e rão abordados t m as um pouco m ais t e écnicos , <script language=”Javascript”> be m com o m ais av ançados e e v uídos , do ol var x=1000; var y=18; q ue na m e t ade ant rior. Abordare m os os e soma=x+y; ope radore s , capít o onde s e rão t ados ul rat </script> 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 </head><body> 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 <script language=”Javascript”> t bém um pouco s obre program ação am document.write(soma); orie ntada a obj ct , o bás ico a de s t nív l e os e e </script> 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. </body></html O pe radore s 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 O s ope radore s act uam s obre um a ou m ais m e sm o se v rif e ica para as out ras variáv is de f a a produzir os re s ul e orm t ados ope raçõe s . pre t ndidos . A l e inguage m de program ação Jav aScript pos s ui m uit os ope radore s de O JavaScript dis ponibil iza t bém am div rs os t e ipos . Aq ui ire m os ape nas abordar os ope radore s de incre m e nt e de cre m e nt o o. 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 O pe rador Nom e + + Incre m e nt o O pe radore s A rit ét m icos -- D e cre m e nto O s ope radore s arit ét m icos s ão ut izados para il As ins truçõe s de incre m e nt com o a de o re alizar ope raçõe s m at m át e icas s im plse a+ + s ão de pós incre m e nt e as ins t o ruçõe s com o a adição, a s ubt racção, a de incre m e nt + + a s ão ins t o ruçõe s de pré m ul icação, a div ão e o re s t da div ão tipl is o is incre m e nt o. Q uando s e t am rat de int ira. Exis t t bém o da ne gação unária e e am ins t ruçõe s de de cre m e nt a-- ou --a, a o q ue não v s e r abordado. ai de nom inação s e rá a m e s m a. <10>
  • 10. a program ar O pe radore s R e l acionais O pe radore s L icos óg O s ope radore s re l acionais com o o próprio nom e indica, e s pe cificam ope raçõe s de O s ope radore s lógicos e xis t nt s e e na re l ação e nt v ore s . re al l inguage m JavaScripts ão: O pe rador Nom e O pe rador Nom e == igual ! Nav gação e != dif re nt e e & & Conj unção > m aior || D is j unção < m e nor >= m aior ou igual Es t s ope radore s s ão os ope radore s q ue e <= m e nor ou igual 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 ta al f s o q uando os dois ope radore s s ão f s os al al Exe m pl de ut ização: o il (m e s m o q ue O U) Cas o cont . rário de v v ole v rdade iro. e <html><head> 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 <script type="text/javascript"> f m (m e s m o q ue E) Já a ne gação re s ul ore . t a var x = 1; no v or cont al rário do ope rador. var y = 2; var z = y; function relaccionais(){ document.write("<br/>Variável x="+x); O pe radore s bit a bit document.write("<br/>Variável y="+y); document.write("<br/>Variável z="+z); O pe radore s bit a bit dis ponív is e em document.write("<br/>"); Jav aScript. w = x == y; document.write ("<br/>y==z->"+w); O pe rador Nom e w = x != y; x& y Conj unção document.write ("<br/>y!=z->"+w); x|y D is junção incl iv us a w = x >= y; x^ y D is j unção e xcl iv us a document.write ("<br/>x>=y->"+w); -x Ne gação l ógica w = x < y; x<<y D e sl ocam e nt à e s q ue rda o document.write ("<br/>x<y->"+w); } x> > y D e sl ocam e nt à dire it o a </script> x> > > y D e sl ocam e nt l o ógico à dire ita </head><body> O pe radore s de cade ias <script type="text/javascript"> relaccionais(); Ao cont rário dos out ope radore s ape nas ros </script> 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 ). </body></html> O pe rador Nom e + Concat nação e 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 O ope rador + acre s ce nt um a cade ia no a s ão iguais , dif re nt s , m aiore s ou m e nore s , e e f da out im ra. e nt out . re ros <11>
  • 11. a program ar Funçõe s Ins t ção s w it ru ch 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 No JavaScript e xis t um a out ins t e ra rução de pode s e r inv ocada a part de q ualue r ir q condição a ins t rução s w it . ch pont do program a e s crit e m Jav o o aScript O . F at s w it : orm o ch program ador pode criar as s uas próprias funçõe s q ue s ão na m aioria das v ze s e s w it (e xpre s s ão) ch { e s crit no cabe çalo do f e iro e s ão as h ich cas e v orx: al inv ocadas pos t riorm e nt e e q uando ins truçãox; ne ce s s ário. ... bre ak ; P ant pode m os v r um a f ort o, e unção com o cas e v ory : al um a s érie de ins t ruçõe s q ue e ngl obam os ins truçãoy ; 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 bre ak ; 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 P s ando a e xpl as icar o com port e nt do am o program ação t êm f unçõe s para re al izar cont o s w it : s e o v or da e xpre s s ão rol ch al proce s s os h abit uais . As funçõe s s e rv m para e coincidir com o v orx e xe cut e a al a-s s e re m ch am adas , s e m pre q ue e xis t um air ins t ruçãox, cas o não s e j f e o m e s m o a, az-s acção q ue s e j ne ce s s ária e m div rs os a e m as para o v ory, e as s im s uce s s iv e nt , al am e locais da página/ it / s e program a, s ó t ndo e at s e r e ncont é rada um a igual dade . de f inido o s e u código um a única v z. e Para de f um a f inir unção é obrigat ório ut izar il ce rt padrõe s : os Ins t çõe s It rat ru e ivas f unct nom e daf ion uncao (){ Na linguage m de program ação Jav aScript ins t ruçõe s da f unção ape nas e xis t m t e rês ins truçõ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 } D e pois é ape nas ne ce s s ário dar as O cicl w h il o e ins truçõe s ce rtas à função de f a a orm act uar da f a pre t ndida e inv orm e ocá-l a Es t cicl ut iza-s e q uando é ne ce s s ário e o il não e s q ue ce ndo de adicionar () à f nt do re e re pe t um núm e ro inde f ir inido de v ze s a e s e u nom 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 I t ns ruçõe s condicionais 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 Ins t ção ife e le ru s cum prir para q ue s e re al um a re pe t ize ição. I com o o próprio t rm o e m I ês indica f e ngl w h il (condição) e { s ignif ica "e " as s im s e ndo, e s t ins t s , a rução s e nt nças do cicl e 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>
  • 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 O bj ct e os 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 O Jav aScript dis põe de um conj o deunt w h il, com a dif re nça de q ue o cicl e e o, obj cte os pre de f inidos . O s obj ct e os t êm inde pe nde nt m e nt da e xpre s s ão t s t , e e e e at ribut (v os ariáv is ) e m ét e odos (funçõe s ) A . s e rá s e m pre e xe cut ado pe l m e nos um a o s int axe para a ut ização de obj ct , il e os v z. e m ét odos e at ribut e m Jav os aScript é m uit o s im pls : e do { sentenças do ciclo; objecto.atributo ... objecto.metodo() } while (condição) Alguns 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 O cicl f o or de s e r criados obrigatoriam e nt pe l e o program ador. O cicl f ut iza-s e para re pe t m ais o or il ir ins truçõe s num de t rm inado núm e ro de e obj = new Object(); 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 é V ct s e ore for Um v ct é um a e s t ura de dados com e or rut (iniciação;condição;actualização) { div rs os e lm e nt e e os do m e s m o t ipo, e m sentenças a executar; re laçã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 O f uncionam e nt do cicl f é o s e guint : o o or e m uit com plxa. o 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 trução do cicl s e f f s a t rm ina o o, or al e Concl ão us cicl o. Ne s t s e gunda e úl a part do art a tim e igo de Jav aScript foram abordados t m as m ais e A ins trução e xe cut ada no cicl f pode s e r o or av ançados , m as igual e nt bás icos , da m e s ubs t uída por div rs as ins t it e ruçõe s . 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 truçõe s condicionais Ins t çõe s bre ak e cont e ru inu (if s w it ) ins t , ch , ruçõe s it rat as (f w h il, do- e iv or, e w h il, cont e inue , brak e ) , program ação A ins t rução bre ak int rrom pe um cicl e o. João P re ira orie nt ada a obj ct (P O ) e v ct s . No e os O e ore I e rrom pe r um cicl s ignif nt o ica s air de l e e f de s t art im e igo e s pe ram os q ue o lit e or de ixá-l t o odo com o e s t de f a a cont á orm inuar t nh a apre ndido t e udo o q ue ne ce s s it s abe r a e com o fuxo do program a im e diat e nt . l am e para s e iniciar ne s t l a inguage m . Agora é a A ins t rução cont inue int rrom pe o cicl e o s ua v z. e pas s ando as s im para a it ração s e guint . e e <13>
  • 13. 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 } InputO ut / put 35 36 File [] roots = file.listRoots( ); 37 e m Java 38 for (int i=0; i<roots.length; i++){ 39 System.out.println (roots[i] ); Ne s t art e igo v os abordar am 40 } um a m at éria q ue , a nos s o v r, e 41 42 file.delete(); é bas t e ant int re s s ant e e e 43 } im port e ant no m undo da 44 } program ação: o I nput / O ut put ne s t cas o apl e icado a Jav a. 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 I m os com e çar com M anipul re ação de (pat ) para um pos s ív l l h e ocal do s is t m a e F e iros e D ire ct ich orias . V os v r a s e guint am e e ope rat o. É bom lm brar q ue e s t ape nas iv e e cl s Jav as a onde s ão de m os t radas as re pre s e nt um f e iro ou dire ct a ich oria, não principais f unçõe s da Cl s F e , q ue é a as il pre s s upondo q ue o cam inh o e xis t a ut izada para re al il izar a m anipul ação. Em re al e nt . Ne s t cas o, o cam inh o é o m e e s e guida v os e xpl o q ue cada l a f am icar inh az. 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 1 import java.io.*; ape nas para um a dire ct oria e não para 2 um a f e iro, com o é o cas o. ich 3 public class JavaFile{ 4 public static void main(String Na l a 8 pode m os v r o m ét inh e odo args[]){ ge tNom e () q ue pe rm it obt r o nom e do , e e 5 6 File file=new File("C:file.txt"); f e iro ou dire ct ich oria re pre s e nt ada pe l F e . o il 7 8 System.out.println(file.getName()); Es t cl s pe rm it t bém dar at a as e am ribut a os 9 f e iros ou dire ct ich orias , com o é o cas o do 10 file.setReadOnly(); m ét odo s e t adO nl() q ue dá ao f e iro ou Re y ich 11 dire ct oria o at ribut de ape nas pode r s e r o 12 System.out.println(file.isHidden()); lido e não e s crit o, t al com o e s t á 13 System.out.println(file.canRead()); re pre s e nt ado na l a 10. inh 14 System.out.println(file.canWrite()); 15 A cl s F e pe rm it t bém v rif as il e am e icar 16 file.renameTo(new File( at ribut os e , para is s o, pode m os us ar os "C:Ficheiro.txt")); 17 m ét odos is H idde n() q ue v rif s e o f e iro e ica ich 18 try{ ou dire ct oria s e e ncont ocul ra t o(a) (l a 12) inh , 19 if( !file.exists() ){ canRe ad() q ue v rif e ica s e é pos s iv llr o e e 20 file.createNewFile(); f e iro ou dire ct ich oria (l a 13) e o m ét inh odo 21 } canW rit () q ue v rif s e é pos s iv l s cre v r e e ica e e e 22 } no f e iro ou dire ct ich oria (l a 14) inh . <14>
  • 14. a program ar D e pois de t rm inado o e s t e udo s obre a O m ét odo re nam e T na l a 16 pe rm it o() inh e m anipul ação de f e iros v os agora ich am re nom e ar um f e iro ou dire ct ich oria, m as pas s ar à e s crit dos m e s m os , obs e rv a ando o para al ém dis s o pe rm it t bém m ov r e am e s e guint código: 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 1 import java.io.*; dar o q ue não é o cas o ne s t e xe m pl , e o. 2 3 public class FileWrite{ O s m ét odos e xis t () e cre at Ne w F e () l a 19 s e il inh 4 e l a 20, s ão dois m ét inh odos m uit o 5 public static void main(String im port e s na m anipul ant ação de f e iros e ich args[]){ dire ct orias , o m ét odo e xis t () pe rm it v rif s e e icar 6 s e o f e iro ou dire ct ich oria re pre s e nt ados no 7 try{ Feil re al e nt m e e xis t . e O m ét odo 8 cre at Ne w F e () cria um nov f e iro com o e il o ich 9 PrintWriter out = new PrintWriter(new BufferedWriter(new cam inh o re pre s e nt ado, ne s t cas o iria criar e FileWriter("C:file.txt",true))); o f e iro f e .t na dire ct ich il xt oria C:. 10 11 out.println("Java Input/Output"); Em bora aq ui não e s t j aq ui pre s e nt , e a e 12 out.println(System.getProperty( t bém t m os os m ét am e odos m k dir() e "os.name").toString()); m k dirs () q ue t êm a m e s m a f uncional idade 13 out.println(System.getProperty( q ue o m ét odo cre at Ne w F e () m as ne s t e il , e "user.name").toString()); cas o é criada um a dire ct oria. A dif re nça e 14 out.println("Fim"); do m k dir() para o m k dirs () é bas icam e nt e 15 out.println(); q ue o m ét odo m k dir ape nas cria um 16 out.close(); dire ct orio num cam inh o j e xis t nt , ou á e e 17 18 } s e j por e xe m pl no s e guint cam inh o a, o, e 19 C:P rogram as o m k dir() pode ria criar 20 catch(IOException e){ dire ct orias de nt da dire ct ro oria P rogram as , 21 System.out.println(e.getMessage()); ape nas e s ó s e a re f rida dire ct e oria j á 22 } e xis t s e pre v is iam e nt . Já o m k dirs pe rm it e iria 23 } criar t oda a arv ore de dire ctorias , m e s m o 24 } s e e s t não e xis t s e . a is Após e xe cut e s t apl ar a icação s e rá criado um Nas l as 28 e 32 pode m os v r os m ét inh e odos f e iro de t xt e m C: (nos s is t m as ich e o e is D ire ct () e ory is F e () q ue il v rif e icam W indow s , para out ros Sis t m as O pe rat os e iv re s pe ct am e nt s e o cam inh o dado é um iv e bas t ará m udar o de s t , com cont údo ino) e dire ct ório ou um f e iro. ich s e m e lant a e s t : h e e Na l a 36 t m os o m ét inh e odo ltis Root ( ) s . Jav I tO u t t a npu / pu T a-s e de um m ét rat odo bas t e út ant il W indow s XP nom e adam e nt e m s is t m as W indow s , v t e e is o M agician q ue re t orna um array com t odas as driv s e Fim 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 V os agora analar o código de f a a am is orm o cont údo do array s e rá ape nas / v t s e r e , is o com pre e nde r o obj ct o de cada l a. e iv inh a raiz do s is t m a. e Na l a 9 pode m os v r o obj ct " "a s e r inh e e o out Para t rm inh ar e s t part do art e a e igo, t m os e ins tanciado. Es t é um a ins t a anciação um na l a 42 o m ét inh odo de lt () q ue com o o e e pouco com plxa m as t m a s ua razão de e e próprio nom e indica pe rm it e lm inar o e e s e r Se gundo al . guns t s t s j f it e s t e e á e os a f e iro ou dire ct ich oria re pre s e nt ado pe l F e . o il ins tanciação é a f a m ais s im pls e com orm e <15>
  • 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 5 public static void main(String V os agora at nt e m al am e ar guns de t h e s . Na al args[]){ úl a tim parte da ins tância " w ne 6 7 try{ F e W rit r(" il.t " rue ) pode m os v r q ue il e C:f e xt,t " e 8 para al de t rm os com o argum e nt o ém e o 9 BufferedReader leitor = new nom e do f e iro, t m os t bém um ich e am BufferedReader(new argum e nt boolan. Es t é s e m dúv o e e ida um FileReader("C:file.txt")); argum e nt m uit im port e pois q uando o o ant 10 String linha = ""; col ocado "rue " diz ao program a q ue de v t e 11 linha = leitor.readLine(); e s cre v r no f e iro, com a part aridade e ich icul 12 while(linha != null){ de não apagar ne h um do s e u cont údo e 13 System.out.println(linha); ant rior, ou s e j o program a não e s cre v rá e a, e 14 linha = leitor.readLine(); por cim a do q ue j l s e e ncont No cas o á a ra. 15 } de s e col ocar com o argum e nt um boolan o e 16 17 leitor.close(); "al " ou ape nas o nom e do f e iro, o f se , ich 18 program a cada v z q ue f e xe cut e or ado v ai 19 } re e s cre v r o f e iro a part do início e ich ir 20 apagando t oda a inf ação j l cont orm á á ida. 21 catch(IOException e){ 22 System.out.println(e.getMessage()); Num prim e iro cas o, irá apare ce r duas v ze s o e 23 } cont údo do f e iro após e xe cut e ich ar o 24 } program a duas v ze s com o argum e nt e o 25} "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 D e um a f a re s um ida, o q ue e s t código orm e v ze s , com o argum e nt "al " ou ape nas e o f se irá f r é s im pls m e nt ir ao f e iro f e .t , aze e e ich il xt s e m argum e nt o. 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 Na l a 11, be m com o na 12,13,14,15, inh B f re dRe ade r q ue , at és de um obj ct ufe rav e o pode m os v r a ut ização do m ét e il odo printn() l F e Re ade r, irá ace de r ao f e iro f e .t . Na il ich il xt s obre o obj ct " " q ue v pe rm it e s cre v r e o out, ai ir e l a 10 ire m os criar a v inh ariáv l inh a', do t e 'l ipo um a l a no f e iro. Exis t m out m ét inh ich e ros odos St ring, inicial izando-a com o St ring v azia (") ". com o o print , w rit () com f () e uncional idade Em s e guida, na l a 11, v os lr a prim e ira inh am e idênt icas e m bora m e nos ut izados a nív lda il e l a do f e iro e v os col inh ich am ocar o cont údoe e s crit de f e iros de t xt a ich e o. de s s a l a na v inh ariáv l l a, s ob f a de e inh orm St ring. 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 Nas l as 12,13,14 e 15, é f it um cicl para inh e o o e xe cut ado as s im q ue s e t rm ina a e s crit num e a lr t e odas as l as do f e iro, cada v z q ue o inh ich e f e iro. É as s im t rm inada a l ich e igação e nt o re cicl dá um a v t é im pre s s o o v or da o ol a, al f e iro e o program a. É, port o, um pas s o ich ant l a ant rior e l a l a s e guint , at não inh e ido inh e é f cralv t q ue cas o não e xe cut ul , is o ado, pode rá e xis t m m ais l as no f e iro. F ire inh ich inda a de it a pe rde r o cont údo do f e iro. ar e ich 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 Agora q ue j s abe m os com o e s cre v r e m á e final v s e r e xact e nt o cont údo do ai am e e f e iros ape nas f t a lit ich ala e ura dos m e s m os . f e iro. ich Para is s o v os com e çar por obs e rv o am ar ábio Corre ia código s e guint . e 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 1 import java.io.*; I e m Jav Exis t m um s e m núm e ro de out O a. e ras 2 f as de f r o q ue f aq ui de m ons t orm aze oi rado, 3 public class FileRead{ be m com o um out s e m núm e ro de out ro ras F 4 cois as de s e pode f r com Jav I . aze a O <16>
  • 16. t cnol e ogias “D e s e nh ado para au t atom 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 itos 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.” Q uat ro razõe s para a ut ização de s t il e RFD Appl ions I icat s ofw are : s im ul e nt t s ação e m t m po re al de e rada/ aída de dis pos it os RFD num a iv I re de t al e nt pe rs onal e l opçõe s de ot m e izav , D e s e nv v e nt de apl olim o icaçõe s 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 para dis pos it os RFD iv I 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 , A t cnol e ogia RF j e xis t h á ID á e todas as com unicaçõe s e f ct e uadas s ão al guns anos , m as ape nas agora pas s adas por H TTP e o s uport a v S e ários com e ça a e m e rgir. O s dis pos itivos H ardw are V ndors . e ide nt icadore s (ch ips ) baixaram if s ignif ivam e nt o pre ço/ icat e unidade , Ne s t art e igo ire i apre s e nt ao lit um ar e or f ndo e s t aze a t cnol e ogia m ais t orial s t p-by-s t p ut e e para e xe cut ar propícia a inve s t e nt . im os 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 RFD I s ignif ica Radio F q ue ncy re das div rs as t e ags (ch ips ) no s is t m a. e 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 atorm os e t anh os , com um de t rm inado código, am e P s os : as cons e guim os ide nt icar if de t rm inado e (no f de cada pas s o grav cl im ar icando na produt P e xe m pl q uando e s t pas s a o. or o, e dis q ue t v rde à dire it e e a) 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 1º Conf iguração dos Sim ul adore s : pode ndo s e r e s t m éte odo f it de duas e o m ane iras : por re f racção s im pls , onde o e Criar dois “RFD M ul I t iprot ocol Sim ul or at ch ip re ce be o s inal rádio e com a f de orça conne ct or” a part da dropdow n m e nu ir de s s e s inal cons e guida um a re f ação, é ract s upe rior Conf . igurar os cone ct s com os ore ou e nt ão, por t rans m is s ão inde pe nde nt , e s e guint s dados : 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 tim 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 ta 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 <17>
  • 17. t cnol e ogias 2º Conf igurar o P ocol AL rot o E: Nam e : I T nv racSource 1ALE Se nd Re port as O bj ct T s e : rue Se lccionar AL rv M odul, e xpandir o e ESe ice e grupo Source s e adicionar as s e guint s e - Subs cribe rs f e s (ins e rir f e e carre gar no s inal+ ont ont Es cre v r “I T e nv racAlT ” e carre gar no [+ ] e CP para cada um dos cas os ) : Criar um s e gundo obj ct “AL Ev nt Cy cl”, e o E e e Source 1:I T nv racSim 1 re pe tindo os pas s os ant riore s com as e Source 2: I T nv racSim 2 s e guint s proprie dade s : e D urat (m s ) 5000 ion : Logical ade rs : Source 2 Re Re portD e f ions : 2 init 1º Re port : Re portNam e : Source 2Additions 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 3º Conf igurar o T m e s s aging: CP Nam e : I T nv racSource 2AL E Se nd Re port as O bj ct T s e : rue Criar um nov obj ct “T M e s s aging” a o e o CP Subs cribe rs : I T nv racAlT e 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 Tnv racAlT e CP P : 10002 ort Crie um úl o obj ct “AL Ev nt Cy cl”, tim e o E e e re pe t indo os pas s os ant riorm e nt dados e e 4º Configurar os AL Ev nt Cy cl E e e com as s e guint s proprie dade s : e conne ct : ors D urat (m s ) 5000 ion : Criar um nov obj ct “AL Ev nt Cy cl” a o e o E e e Logical ade rs : Re part do dropdow n m e nu s upe rior e ir Source 1 conf igurar com os s e guint s dados : e Source 2 - Ev ntCy cl e e Re portD e f ions : 1 init - - St -St Condit art op ions G rouping P t rns : urn:e pc:pat gt 6:X.X.X.* ate :s in-9 - - - D urat (m s ) 5000 ion : I ude Count T ncl : rue -L ogical ade rs Re I ude T Uri: F s e ncl ag al Es cre v r “Source 1” e carre gar no [+ ] e Re portI Em pt : T f y rue Re portNam e : Count port Re Re port ) de f ion: 2 (s init EP t B Re port d: CURRENT C o e e G rav para um nov grupo de ar o Re port s Nam e : I T nv racCount E AL apare ce r: Se nd Re port as O bj ct T s e : rue - re port cs 1 Spe Subs cribe rs : I T nv racAlTe CP - Nam e : Source 1Addit ions - EP t B Re port d: AD D I O NS C o e e TI Not : Es t de m ons t a a ração us a m ais AL E - re port cs 2 Spe re port e s cone ct s ore do q ue s e ria - Nam e : Source 1D e lt e ions norm al e nt re q ue rido. I t é f it para m e so e o - EP t B Re port d: D EL O NS C o e e ETI m os t um a m aior v dade de opçõe s AL rar arie E. <18>
  • 18. t cnol e ogias Para v r o re s ul e tado: 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 tipos de -I niciar/ iniciar t Re odos os com pone nt s e t , com put ags adore s , dis pos it os m óv is , iv e al rados / te criados ; re ade rs , e t ne ce s s ários para de s e nv v r c.) ole - Corre r a s e guint apl e icação: e t st e ar s ol uçõe s RFD de I q ual idade “… Sy bas e RFD I e m pre s arial. Any w h e re BiniAny w h e re .Rf idNe t e .Re port i .Al V e w e r xe ”; .e Se gundo a Sy bas e , os obj ct os principais e iv Cl no s e parador T /P icar CPI s ão o de s e nv v e nt da t cnol olim o e ogia, a M odif icar a s e rv r portpara 10002 e dis ponibilização de F e w ork s ope ns ource ram Cl e m “St ” icar art 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 , Acabou de conf igurar a s ua prim e ira I s , I e gradore s , As s ociaçõe s e I t ut de SV nt ns it os s im ul ação no RFD -Any w h e re ! I I e st nv igação. A Sy bas e , um dos l re s de m e rcado na íde CR IA D O CENTR O D E INV TIG A Ç ÃO R F ES ID áre a e m plno de s e nv v e nt q ue é o e olim o EM P R TUG A L 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 S YB S E R F S O L A ID UTIO NS CENTER 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 “O Ce nt ir-s e -á f ro ocar e s s e ncial e nt no m e s ignif iv aum e nt de produt idade com icat o o iv de s e nv v e nt olim o de F e w ork s ram a apos t ne s t t cnol a a e ogia e m e rge nt . e ope ns ource de s tinadas ao m e rcado e m pre s arial português . Já no 2º t e s t de rim re Cas os de Suce s s o 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 EM P RTUG AL O cont m pl e ar s ol uçõe s de track ing de S ATU O e iras 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 “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 D ia 19 de Se t m bro de 2006 a Sy bas e e e v ando as s im a acu m u l it ação de pe s s oas P ugal anunciou e m com unicado a ort nas e nt radas das e s taçõe s do SATU.” 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 O m ais re ce nt t e rans port criado pe l e a prim e iro da Sy bas e a nív l undial e m . 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 O Ce nt ro de I e st nv igação RFD I é de pas s age iros e carre gam e nt dos bile t s . o h e 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 Um norm al pas s age iro de s t te rans port e prim e iro ce nt ro de com pe t ências da ape nas t m de adq uirir um cart (com o e ão Sy bas e e xcl iv e nt de dicado a RFD . As us am e I cus t de 0.50€ e carre gar o m e s m o com as o ) s oluçõe s s e rão de s e nv volidas com bas e e m v iage ns q ue pre t nde r e f ct e e uar, para produt os m iddlw are e Sy bas e e de q ualue r das e s t q açõe s da l a do SATU inh parce iros , nom e adam e nt e a Sy m bol , (Sis t m a Aut át de T e om ico rans port Urbano) e . 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 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 O Ce nt e s t a f ro á uncionar nas ins t açõe s al dos ut izadore s , q ue nat m e nt e s t il ural e ará da Sy bas e P ugal m Carnaxide e cont ort e a l igada a um re ade r. <19 >
  • 19. t cnol e ogias EM ESPANH 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 forne 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 trans port e arm aze nam e nt dis t e o ribuídos por Em baixo pode m os v ual is izar duas toda a Es panh a t v um cus t de m ais de e e o m áq uinas de carre gam e nt de cart s , o õe um m ilão de e uros , para aq uis ição da h onde ao ce nt s e col ro oca o cart ão, s e m t cnol e ogia ne ce s s ária. Es t q uant incl a ia ui e s t e m cont o dire ct com a própria ar act o s ofw are e s pe cíf t ico e a s ua int gração nos e m áq uina, pe rm itindo as s im aos ut izadore s il s is t m as inf át e orm icos dos Corre os , a um carre gam e nt m ais rápido, e v ando os o it aq uis ição de 5.000 t ags pas s iv , aas norm ais at os de im pre s s ão de bile t s . ras h e 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 Ne s t m om e nt o pe rcurs o de s t t e o e rans port e ce nt , ros forne cidos pe l a Sy m bol ainda é al re duzido, m as s e m dúv go ida út il T ch nol s . e ogie para a popul ação da zona. 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 stabe 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 Corre ia à e standardizaçã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 tags act as " e um a m aior f iv , uncional idade , D anie l " 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.) <20>
  • 20. 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 V ual as ic.NET is B Return False End Try 4ª part e End Function F nção M ain u 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 Sub Main() cl s e s do nam e s pace Sy s t m .I para a as e O Dim strCaminho As String = "" m anipul ação de f e iros . ich While Trim(strCaminho) = String.Empty Com o s abe m os , q ualue r f e iro pos s ui um q ich Console.Write("Caminho do ficheiro: ") conj o de proprie dade s , proprie dade s unt strCaminho = Console.ReadLine() e s t q ue e s t ace s s ív is us ando a cl s e as ão e as Console.Clear() End While F e I o. il nf If Not getProperties(strCaminho) Then Console.WriteLine("Erro") Dim ficheiro As New System.Threading.Thread.Sleep(2000) FileInfo("ficheiro.txt") Else Console.ReadLine() P roprie dade s do t ipo, nom e do f e iro, ich End If l ização, e xt ns ão, at ocal e ribut , t anh o, os am End Sub 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 O ut t pu F e I o. Exe m pl il nf o: Cam inh o do f e iro: c:f e iro.t ich ich xt Função para obt r as proprie dade s e de um f e iro ich Prop. do f e iro ich ====== Private Function getProperties(ByVal Nom e : f e iro.t ich xt caminho As String) As Boolean Cam inh o: c:f e iro.t ich xt Try Ext ns ão: .t e xt Dim ficheiro As New FileInfo(caminho) Dim propriedades As String = "" T anh o 37 am With ficheiro Atribut : Arch iv os e propriedades &= "Prop. do ficheiro" & Criação: 11-10-2006 16:27:14 ficheiro.Name.ToString & vbCrLf Ul o Ace s s o: 11-10-2006 16:28:14 tim propriedades &= "======" & vbCrLf M odificação: 11-10-2006 16:28:14 propriedades &= "Nome: " & ficheiro.Name.ToString & vbCrLf Com o v os , um a das v age ns e m us ar a im ant propriedades &= "Caminho: " & cl s e F e I o, é a pos s ibil as il nf idade de obt r e ficheiro.FullName.ToString & vbCrLf proprie dade s de um f e iro de um a f a ich orm propriedades &= "Extensão: " & rápida, m as não s ó. Es t cl s e incorpora a as ficheiro.Extension.ToString & vbCrLf t bém f am unçõe s para criar f e iros , m ov r ich e propriedades &= "Tamanho:" & ficheiro.Length.ToString & vbCrLf 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. <21>
  • 21. t orial ut Não s ão ape nas os f e iros q ue pos s ue m ich D im s t As St r ring = " is ual as ic .NET" V B proprie dade s , pois os dire ct órios t bém as am Cons ol.W rit (s t nde xO f B ) e e r.I (" ") 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 A f unção I e rt pe rm it -nos ins e rir e m ns () e m e s m as proprie dade s da F e I o, nãoil nf q ualue r pos ição de um a s t q ring, out s t ra ring. dif re nciando m uit a s ua ut ização da dos e o il No e xe m pl s e guint , irá s e r adicionada a o e f e iros . Q ue m t m v ich e indo a acom panh ar o string “é f ” no f da s t ixe im ring s t re t r, ornando s e guim e nt o dos artigos s obre e st a um a s tring “V ual as ic .NET é f ”. is B ixe linguage 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 D im s t As St r ring = " is ual as ic .NET" V B pre t nde iniciar-s e e m V .NET l e B , ogo, t odos as s t = s t ns e rt r r.I (17, "é f " ixe ) m at érias não s ão e xt ns iv e nt e am e Cons ol.W rit (s t e e r) 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 A f unção L tnde xO f de v v -nos a úl a as I () ole t im f e iros . ich 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 O ut das grande s im plm e nt ra e açõe s na .NET s e rá re tornada a pos ição 8, pois é onde s e F e w ork , f o nam e s pace Sy s t m .St ram oi e ring. e ncont a ul a lt “a” na s t ra tim e ra 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 D im s t As St r ring = " is ual as ic .NET" V B t am e nt rat o de um a string, daí a Cons ol.W rit (s t as tnde xO f a") e e r.L I (" ) 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 A f unção L ngt () indica-nos o t anh o q ue e h , am Ne s t art e igo abordare m os as f unçõe s m ais um a s t ring t m . No e xe m pl s e guint , irá s e r e o e im port e s para o t am e nt de s t ant rat o rings , e re t ornado o v or 17, pois a s t al ring ut izada il para e xe m plicar ire m os ut izar um a s t if il ring cont 17 caract re s . ém e fixa, q ue s e rá “V ual as ic .NET”. is B D im s t As St r ring = " is ual as ic .NET" V B As f unçõe s q ue ire m os e xe m plicar s ão as if Cons ol.W rit (s t e ngt ) e e r.L h 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 , A função SubSt ring() pe rm it -nos e “cort ar” L tnde xO f , SubSt as I () ring() e T () rim . part s de um a s t e ring. A f unção Cont () pe rm it -nos s abe r s e ains e D im s t As St r ring = " is ual as ic .NET" V B um a de t rm inada s t e ring e xis t na s t e ring e m Cons ol.W rit (s t e e r.Subs tring(7, 3) 'O UTP : " as " ) UT B 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 A f unção T () t v z s e j a m ais us ada de rim ale a pode m os v rife icar, a s tring “B e s t cont a” á ida todas . Es t f a unção pe rm it -nos re m ov r os e e ins gado & M arce l M art na s t ring e xe m pl o. 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 Dim str As String = "Visual Basic o .NET" D im s t As St r ring = " V ual as ic .NET " is B If str.Contains("Ba") Then Cons ol.W rit (s t rim ) 'O UTP : " is ual as ic .NET" e e r.T UT V B Console.Write("Existe") Else Com o pode rão v r, e xis t m out e e ras funçõe s Console.Write("Não Existe") para t am e nt de s t rat o rings , q ue pode m s e r End If 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 Tiago Sal 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 próxim a e dição ire m os dar inicio à nos a pos ição inicialde l cas o e xis t No a a. abordage m s obre bas e de dados , por is s o e xe m pl s e guint , irá s e r re t o e ornada a pos ição e st j e am at nt ao l e os ançam e nt da e dição o 7, pois é onde s e e ncont a lt “B ra e ra ”. s e guint . e <22>
  • 22. 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 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 tir) M ount ing / ntpe ndriv , t ndo com o opção -t v at o m / e e q ue inf a o m ount de q ue s e e s t a orm f , á F e Sy s t m s il e t P rabalar com um s is t m a de f e iro e m F . h e ich ara s abe r m ais f m e nt a q ue / v xxx acil e de / AT A m ont age m de s is t m as de f e iros e ich corre s ponde a driv q ue de s e j os m ont e am ar nos s is t m as G NU/ inux é al q ue e L go de v rá corre r o com ando: # f k -l ou e dis , ge ra s e m pre e m q ualue r nov o na q at q ualue r corre s ponde nt gráf q e ico. m at éria dúv idas e inde cis õe s . Es t e art igo pre t nde e e xplicar com No e nt o, e com o o lit prov e l e nt ant e or av m e s im plicidade e de s de o início, t odos e st ará a pe ns ar, s e ria bas t e cans at o ant iv os pas s os re q ue ridos para q ue t udo s e m pre q ue s e inicias s e o s is t m a t r de e e f ue a f iq uncionar corre ct e nt . am 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 É s e m dúv ida um e nt re m uit os out ros t , ire m os t bém apre nde r a t al am ornar t udo “ch oq ue s ” o q ue s e t m ao e xpe rim e nt um e ar is t aut át o om ico. 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 D e q ualue r m odo, e ant s de t q e udo is s o, h á a nos s a v ida e não cons e guir ne m s abe r al a im port e a v r. T go ant e odo e s t proce s s o e com o o f r. É ce rt q ue os D e s k t aze o op de m ont age m re q ue r q ue o k e rne l nos s a da Env ironm e nt m ais re ce nt s t s e êm f it acilado dis t ribuição j cont nh a carre gados m ódul á e os m uit o proce s s o, cont o udo, ne m s e m pre nos q ue le pe rm it h irão, de s de m ont os s is t m as ar e of re ce m com o opção gráf e ica aq uil q ue o de f e iros h abit ich uais e m G NU/ inux (com o o L q ue re m os e xact e nt f r. Com o t , am e aze al e xt 3, o Re is e rF o JF ...) be m com os de 2/ S, S, , conv ém conh e ce r e dom inar os principais W indow s (F , NTF AT S,...) as s im com o al as , gum m e canis m os do s is t m a de m ont e age m de proprie dade s de s t s (s is t m a de codif e e icação f e iros e us á-l com o be m e nt nde rm os , ich os e de caract re s ) e . s e m l itim açõe s . V os a is s o... am De um m odo ge ral q uas e todas as P e iro, h á q ue re t r a ide ia q ue e m rim e dis tribuiçõe s j t á êm act os e s t s m ódul de iv e os G NU/ inux q ualue r driv , para pode r s e r L q e raiz e , port o, s ó t rá de s e procupar m e s m o ant e ace dida, t m de s e e ncont m ont e rar ada, ou com o proce s s o de m ont age m de s is t m as s e 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 de f e iros , s e j e l m anualou aut át ich a e om ico. ide nt icada pe l s is t m a, à driv t r s ido if o e e e Ut izadore s de Ubunt SuSE, M e pis , F dora il u, e as s ociado um dire ct ório de m ont age m e , Core , e nt re m uit as out ras pode m pas s ar por f , t r-s e proce dido à as s ociação do im e dire ct e nt ao pont s e guint . D e q ualue r am e o e q cont údo da driv ou s is t m a de f e iros , e e e ich m odo, s e al gum com ando le de r um e rro, h ao dire ct ório de m ont age m de f inido. Para pode rá s e r de riv ado da ine xis t ência de t , us a-s e o com ando m ount q ue f al , unciona s uport no k e rne l ao s is t m a de f e iros e e ich da s e guint m ane ira: e 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>
  • 23. gnu/inux l D e s e guida e nt e m : re Re com pilando o Ke rne l para garant ir s uport aos s is t m as de f e iros e e ich Device Drivers pre t ndidos e ->DOS/FAT/NT Filesystems Pode r-s e -á pe ns ar q ue e s t é um pas s o e E s e lccione o s uport para os s is t m as de e e e com pl icado ou m e s m o arris cado, no e nt o ant f e iros W indow s q ue de s e j ich ar. Em D e f t aul ape nas re q ue r um pouco de at nção e t e udo Ch ars e t f F de v rá s e lcionar Ent r e ins e rir or AT e e e corre rá be m . is o8859 -15, cas o o s e u s is t m a de f e iros s e j e ich a A s ua dis t ribuição de v rá t r um m ét e e odo ace dido t bém num s is t m a W indow s , de am e part ar para proce de r a e s t act idade e , icul a iv m odo a não t r problm as ne m na v ual e e is ização, com o ne m s e m pre o m ét odo t radicionalé ne m na e s crit do t xt pre s e nt ne s s e t a, e o e ipo de univ rs al e para todas as dis t ribuiçõe s , de ixo a part ição. Acim a de s s e v or e ncont e o de al ra-s cargo do lit procurar nos f e or óruns da s ua D e f t Code page f F q ue de v rá s e r o 860 aul or AT e dis t ribuição um t orial ue le indiq ue com o ut q h para a l íngua port ugue s a. D e s e guida, s e proce de r para a re com pil ação do k e rne l . acabou de s e lccionar o s uport para os e e Subl o q ue para a grande m aioria das inh s is t m as de f e iros W indow s , de v rá t bém e ich e am dis t ribuiçõe s nada dis t s e rá ne ce s s ário. o 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 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 Device Drivers ne s t m om e nt num a int rf e o e ace s e m e lant h e ->Native Language Support à 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 E de v rá act ar: e iv xconf .ig) <*> 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 : Device Drivers -> CDROM/DVD Filesystems 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 contém s uporte para e sse s t ipos de de s e j (e s t ar ará corre ct e nt s e lccionado am e e arm aze nam e nt o. q uando apare ce r <* no princípio da l a) > inh e Es c para s air. Cas o pre t nda m ont f e iros de im age m de e ar ich Ent e m : F e Sy s t m s re il e cd/ d .is o, s e lcione t bém ne s s a pas t dv e am a: <*> Microsoft Joliet CDROM extensions 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 M ais : Device Drivers Um e xe m pl o: -> 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>
  • 24. gnu/inux l Us e o T AB para s e lccionar Exit e re pit e , a O f o de um a driv s e e ncont no ft act e rar s ab, várias v ze s at s air do conf e é igurador e le s e r h não q ue r dize r e xact e nt q ue no am e pe rguntado s e de s e j grav as al raçõe s a ar t e m om e nt do boot t nh a de l e s t al o e á ar gum f it , onde de v rá re s ponde r Ye s . e as e tipo 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 P s iga o t orialda s ua dis t ros ut ribuição de cdrom 's ao fts ab s e m l s e e ncont á rar m ane ira a apl o nov k e rne l act á-l icar o e iv o. ne nh um cd, q uando f para a ace de r or bas tará f r: aze M ont ando... # mount /dev/cdrom0 ou 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 # mount /mnt/cdrom 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 q ue o com ando aut at om icam e nt lrá o e e um f e iro de t xt q ue de f , aq uando do ich e o ine ft e e xe cut s ab ará o proce s s o com t odas as carre gam e nt do s is t m a, as driv s a s e re m o e e opçõe s l de f á inidas . Se ndo por s ua v z a e m ont adas aut at om icam e nt . T f e iro é o e al ich de finição na driv no ft e s ab: / 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 /dev/cdrom0 /mnt/cdrom iso9660 com ando m ount pode s e r de f inido no ft e s ab noauto,ro 0 0 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 O f o de ape nas o ut izador root pode r act il cons is t e em 5 col unas q ue de f m ine m ont de s m ont ar/ ar a part ição/ e pode driv e xact e nt o m e s m o q ue é de f am e inido no s e r al rado pe l adição da opção 'us e r' t e a com ando m ount s e ndo e s t : , as 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 <fs> <mountpoint> <type> <opts> onl ou s e j ape nas s e rá pos s ív l lit y, a, e a e ura <dump/pass> ne s s a driv cd. e Corre s ponde ndo o <f> à im age m do s P ara m ont um a part ar ição F f AT aríam os por h ardw are no dire ct ório / v , o m ount de / point e xe m pl nov e nt t o, am e udo na m e s m a l a: inh 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 /dev/hda4 /mnt/particaofat vfat re f re -s e aos s is t m a de f e iros (f , e xt e e ich at 3, user,rw 0 0 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>
  • 25. gnu/inux l Q ue nos m ont ará a driv com 'rw ', ou s e j e a, Agora, o uid e gid, é um a m ane ira com a part aridade de s e e ncont icul rar dif re nt de de f pe rm is s õe s , e nq uant o e e inir o com ace s s o re ad and w rit (e s crit e e a um as k f az o e q uiv e nt a um ch m od al e lit . Se porv nt e s s e ace s s o f e ura) e ura or (de f inir pe rm is s õe s ) o uid e gid f m o , aze ape nas v ido para o ut izador root e ál il , e q uiv e nt a um ch ow n (de f a q ue m s e al e inir de s e jarm os de f as pe rm is s õe s da driv inir e apl icam as pe rm is s õe s de f inidas ) P . ara e m q ue s tão, bas t nas opçõe s adicionar o a s abe r os v ore s a pôr a s e guir ao = de al com ando um as k =0xxx, e m q ue o xxx é um cada opção f aça: 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 $ id <nome do user que quer que seja pre f q ue indica q ue o núm e ro ixo dono (owner) da drive> 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 E obt rá a re s pos t e a. 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 O ut part aridade da m ont ra icul age m de pre t nde m os . P e ara s abe r de f pe rm is s õe s inir s is t m as de f e iros é q ue pode rá us ar o e ich v j a e dição pas s ada da Re v t e a is a com ando m ount para m ont im age ns de ar P G RAM AR. RO f e iros e m .is o, para is s o: ich Pode m os t bém de f um a pe n us b no am inir # mount -t iso9660 -o loop,user ft s ab, f ndo para is s o: aze <imagem>.iso /<directório de montagem> /dev/sda /mnt/pendrive vfat user,rw 0 0 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 Não nos e s q ue çam os q ue na com pil ação s is t m as de f e iros , com o o f r e ce rt e ich aze , os do k e rne lf de f oi inido, para os s is t m as de e re q ue rim e ntos ne ce s s ários ao nív l do e f e iros F , o s is t m a de codif ich AT e icação de k e rne l Exis t m m uit m ais opçõe s , t v z . e as ale caract re s de f t Se rá com e s s e q ue a e aul . t as q ue dariam cont údo para um a ant e driv s e rá m ont e ada. Se não o de s e j us e a ar re v t P G RAM AR int ira, m as is s o f is a RO e ica a opção nl por e xe m pl nl o8859 -15, s =, o s =is cargo do ut izador q ue acabou de lr e s t il e e ou nl f s =ut8. 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 Para nts f f aríam os por e xe m pl o: pos s ív is e s uas f e unçõe s . /dev/hdb1 /mnt/windows ntfs Boas m ont age ns ... nls=utf8,user,ro,uid=1000,gid=1000 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 M igue l ais 15, m as é irre lv e v t q ue por de f it e ant is o e o P 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>
  • 26. proj ct e o 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 A ne ce s s idade é a m ãe de todas bás ico e o proj ct f apre s e nt e o oi ado na as inv nçõe s e 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 w e Spe ndM one y é um a apl icação w e b nov t cnol as e ogias , program ação, w e b 2.0 e de s t inada a pe s s oas q ue q ue re m cont ar rol out ros as s unt . A apre s e nt os ação f um oi as s uas de s pe s as de f a f , rápida e orm ácil s uce s s o, v árias pe s s oas de m ons t raram s e gura. Não é pre cis o ins t ar e m ne nh um al int re s s e no proj ct e m ais t e e o arde f f it oi e a com put ador ape nas é ne ce s s ário re gis t , ar out apre s e nt ra ação públ ica na Sh if 06, t no s it e t r um a l e e igação à I e rne t para nt onde cons e gui e f ct e uar m uit cont os e os act com e çar a us ar . 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 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 trabalo, 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 osizam 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. Lanç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 W e Spe ndM one y f oi de s e nh ado de raiz e s e gura (pois o dinh e iro é s e m pre um pe ns ando no ut izador. Não s e pre t nde il e as s unt s e ns ív l int rne t e f o e na e ) ácil us ar. de 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 D e pois de m uit s uge s t s de cidi iniciar e s t as õe a ut izadore s , m as procurar s e r t il ão s im pls e av nt de f r um a apl e ura aze icação q ue não s ó com o um w e bl e f og orne ce r aos ut izadore s il m e re s ole s s e a f t de cont o s obre os v ala rol as f rram e nt q ue pre cis am para guardar e e as gas t , m as q ue t bém s e rv s e de t ino os am is re cat ogar as al s uas de s pe s as , de f inir para os m e us s k il com um a ce rt f e w ork l s a ram orçam e nt m e ns ais e age ndar t os rans acçõe s . q ue j andav h á e s t á a udar a al gum t m po... e <27>
  • 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 Rail é um a l s inguage m m uit dinâm ica, o de s e pode r e xport a q ualue r m om e nt ar q o al e nt produt a, orie nt tam e iv ada a obj ct e os todos os nos s os dados para um f e iro " v ich .cs " com um a s int axe coe re nt , f il e m uit e am iar o q ue pode s e r abe rt pe l M icros of Exce l os o t . s im pls q ue ut iza o padrão M V (M ode l ie w e il C V I s o q ue r dize r q ue os nos s os dados não s Cont e r) rol . ficam " s os "pe l apl pre a icação. 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 iguration. 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 nte 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 P ara com e çar o de s e nv v e nt olim o do arm aze nados na t abe l Carros , m as s e a w e Spe ndM one y não f oram ne ce s s ários de s e j os pode m os at arm ribuir out nom e à ro m uit re curs os , al , e s s a com e ça a s e r a os iás tabe l Com e s t s dois conce it e m uit a. e os os norm a com a m aioria dos proj ct e os out porm e nore s int e cos da f e w ork , ros ríns ram re l acionados com a w e b 2.0. F ut izada a oi il o t m po de de s e nv v e nt é m ais curt e o e olim o o f e w ork ope ns ource Ruby O n Rail com o ram s trabalo do program ador é f it h acilado. 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>
  • 28. proj ct e o 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 P ria f ar m ais de t h adam e nt de Rail ode al al e s w e Spe ndm one y com o t lm óv l (por e e e m as é m e lor de ixarm os is s o para um f uro h ut e xe m pl para cons ul o s al , t o tar do) raduzir art igo, de q ualue r f a q ualue r pe s s oa q orm q para v árias línguas , criação de w idge t para s pode f r dow nl aze oad e com e çar a o Ne t ibe s e o Yah oo!W idge t (de f a a v s orm program ar e m Ruby ou Ruby O nRail bas t s, a int ragir com o s it a part do de s k t e e ir op) e a para is s o ir ao e nde re ço oficial pos s ibil idade de im port ar t rans acçõe s (h tp:/w w w .ruby onrail t / s .com ) ou s e de s e j m , are dire ct e nt dos bancos . No f am e undo t ornar a m ais inf açõe s orm em port uguês no v ida dos ut izadore s cada v z m ais il e Ruby <<port ugue s e (h tp:/w w w .ruby-pt t / .org). f it acilada. Es t al produt idade f a ta iv orne cida pe l a No início de Nov m bro de v rá e s t e e ar f e w ork (e a f os of q ue a acom panh a) ram il ia dis ponív la v rs ão al a para t e e ph odas as f a principalrazão pe l s ua e s cola na oi a h pe s s oas q ue pe dire m no s it of e icial produção do w e Spe ndM one y (adm it q ue o (h tp:/w w w .w e s pe ndm one y.com ) é um a t / , a int gração com as bibl e cas prot y pe e iot ot m ane ira de pode r part icipar na cons t rução e s cript .aculo.us para ge rar e f it Aj e os ax da apl icação t s te ando e cont ribuindo com t bém pe s ou na e s cola) am h . 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 outros a participar 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 P dro Sous a "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 . e <29 >
  • 29. 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 ora: Ce nt Edit 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 à m anipul ação de im port e s e s t uras ant rut de s t inado a t odos os int re s s ados nas e dis cre tas com o pilas , h f as , il lt is as ciências da com put ação. Es t l ro f e iv oca-s e e ncade adas s im pls e circul s , árv s e e are ore e s s e ncial e nt na al m ia, com o f a m e gorit orm graf . T os odas e s t e s t uras de dados s ão as rut de re s ol ução de problm as e com o auxil e iar be m e xplicadas , com o auxíl de io à criação de program as de com put ador e s q ue m as s im pls e de s criçõe s de t h adas . e al 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 F m e nt , inal e s ão int roduzidas duas re corre nt s act m e nt . P f , é f it e ual e or im e a linguage ns de program ação m uit o um a bre v int e rodução a duas popul s are ut izadas act m e nt . É dada m ais ênf e il ual e as linguage ns de program ação, C e Jav a. à 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 O l ro com e ça com um a de t h ada iv al s e ndo e nt ão t rans crit alos guns al m os gorit int rodução ao m undo da al m ia e à gorit ant riorm e nt e e re f re nciados , e ne s t a m ode l ação de problm as . É re l e acionada a linguage m . São de pois apre s e nt adas as al m ia com a e nge nh aria de s ofw are , gorit t caract rís t e icas únicas de Jav s e guidas de a, s ão apre s e nt adas as s uas com pone nt s , e e xe m pl de ut ização de cl s e s e da os il as al as l gum inguage ns q ue pe rm it m a s ua e de f inição de t ipos de dados abs t ract . os 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 ia e Es t uras de D ados é um l ro gorit rut iv al m ica, os conh e cidos it ração e gorit e be m cons e guido, e s crit o por dois re curs ão. A s e guir s ão apre s e nt , ados os prof s s ore s e xpe rie nt s e m div rs as áre as e e e tipos de e s t uras de dados ut izados e m rut il das ciência da com put ação. Es t l roe iv com put ação e t odas as caract rís t e icas da pode rá s e rv t o para e nt no m undo ir ant rar linguage m (ps e udocódigo) q ue s e rá da al m ia, com o de re f rência para gorit e ut izada para a re pre s e nt il ação dos trabalos f uros . P ca ape nas por al a h ut e gum al m os propos t ao l gorit os ongo do l ro. iv 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 os Sérgio Sant G rande part do l ro é de dicada à e iv "back ground" e m program ação de apre s e nt ação e cons e q ue nt propos t de e a com put adore s . M as não de ixa de s e r um al m os re f re nt s a v gorit e e ariados problm as e ópt o l ro para e s t im iv udant s da áre a de e re corre nt s e em com put ação, com o inf át orm ica, m at m át e ica apl icada e / ou orde nação e pe s q uis a e m lt , e re f re nt s is as e e curs os de e nge nh aria. <30>
  • 30. anále s is L arning C# 2005 e Je s s e L rt ibe y Brian M acD onald ora: O 'Re il M e dia Edit l y inguage m : I e s a L 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 O ut dos pont a f or é o s e u de t h e , ro os av al ade re m ao m undo da program ação, q ue r pe rm it indo q ue m e s m o os iniciant s q uee para f prof s ionais , q ue r para div rs ão ins is e program am h á pouco t m po pos s am , e ou com o h obby. M uit de s t s int re s s ados os e e de pois da lit e ura, cons t program as m uit ruir o de param -s e , de início, com a dis cut e le ív com plt , ut izando o pode r de t e os il odas as ine v áv lpe rgunt “Q ue l it e a: inguage m de v o f rram e nt e f e as uncional idade s q ue le s s ão h apre nde r prim e iro? H á div rs as opiniõe s ” e of re cidas de f a prát e orm ica e e f nt . O icie e s obre o t m a, m as um a grande part dos e e l ro cobre q uas e t iv udo s obre a s int axe e program adore s diria q ue C# .NET é um a e s t ura da l rut inguage m , be m com o as boas linguage m pode ros a e , s im ul am e nt , tane e prát icas no de s e nv v e nt olim o de ide al para a iniciação. apl icaçõe s . H á um grande e nf ue nos oq conce it e apl os icação do paradigm a O O , É aq ui q ue e nt o l ro L arning C# 2005. ra iv e um a das grande s v age ns do C# e m ant D e stinado principal e nt a ut izadore s s e m m e il re lação a out l ras inguage ns . 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 O de s v da at nção do lit para t m as io e e or e s ól , t o nos conce it t óricos do .NET idas ant os e com o o as pe ct v uale a apre s e nt o is ação F e w ork ram ou de O bj ct O rie nt d e e dos cont os nas j rol ane l não é problm a, as e P rogram m ing com o nas apl icaçõe s de s s e s um a v z q ue e todos os t m as s ão e conce it para a cons t os rução de apl icação abordados at és da ut ização de um a rav il m ais e s t e is e f áv uncionais . At és de rav cons ol O ut dos pont a e nal ce r é a a. ro os te e xe m pl de código, dicas e cons e los , a os h apre s e ntação de s um ários , q ue s t ionários e linguage m é apre s e nt ada ao iniciant de e e xe rcícios no f de cada capít o, q ue o im ul f a s uav , pe rm it orm e indo a as s im ilação das lit de v t nt re s ole r para ce rt icar-s e e or e e ar v if ide ias e a s ua apl icação e m cont xt e o de q ue pe rce be u t oda a inf ação. orm prát ico. O código dos proj ct apre s e nt e os ados no O t xt é e s crit num v e o o ocabul ário m uit o 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 P dro Cal ira 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 L arningCS2e Source .zip. F e ica e nt a ide ia ão de s ão e xpl icados e m de t h e . E é f ndo al aze de q ue o l ro é um a boa e s cola para a iv h us o de s t m e s m a ace s s ibil a idade q ue o l ro iv iniciação e m C# , m as para os q ue j t á êm cons e gue orie nt ar e t ornar pe rce pt e is ív e xpe riência ne s t l a inguage m out ros l ros , iv m e s m o os conce it m ais com plxos . os e 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 e <31>
  • 31. int rne t e apatana é u m ID E dire ccionado 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 D is t at é u m conh e cido roW ch 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 tim 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 ope ns ou rce C M S pos s ibila u m a it 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 / M at s Ch al nge é a cas a do P cto h l e roje 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 le <32>
  • 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>
  • 33. com unidade 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 Q ue re s participar 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 A re v t bat u t is a e odos os re corde s de at ornar e s t re v t num m arco a is a e s t ís t at icas com a e dição ant rior e v os e am da program ação nacional ? 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 V a ai 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 w w w .re v t is a-program ar o .inf da nos s a com unidade . para m ais inf ação com o orm part icipar ou e nt cont a-nos por ão act 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 , re v t is aprogram ar de s de j adiant m ais al á e ar at orm guns porm e nore s : v os t r um a pl af a de e -larning a am e @ port ugal -a-program ar .org funcionar 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 P cis am os do apoio de t re odos part icipar ne s t s proj ct , de v m dirigir-s e e e os e para t ornar e s t proj ct ainda e e o ao f órum do P P e ir acom panh ando as @ m aior... nov idade s q ue t odos os dias v s urgindo. ão cont os com a t aj am ua uda 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 @ ... w w w .port ugal -a-program ar .org Rui M aia <34>