Revista programar 5ª Edição - Novembro 2006

Page 1


e ditorial

índice

3 notícias 4 te m a de capa

8 a program ar 17 te cnol ogias 21 tutorial 23 gnu/l inux 27 proje cto 30 anál is e s 32 inte rne t 33 bl ue s cre e n 34 com unidade

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

adm inis tração

coorde nador S érg io S antos

coorde nador adjunto M ig ue lPais

re dacção

Fe rnando M artins Patric Fig ue ire do João Pe re ira Fábio Corre ia D anie lCorre ia Tiag o S al g ado M arce l o M artins Pe dro S ous a Pe dro Cal de ira

col aboradore s Jos é O l ive ira

contacto

re vis taprog ram ar @ portug al -a-prog ram ar.org

w e bs ite

w w w .re vis ta-prog ram ar.info

A pre s e ntação e divu l g ação A úl tim a e dição foi um m arco m uito im portante para o nos s o proje cto. Nunca a re vis ta PRO G RAM AR tinh a s ido tão fal ada, tão divul gada e , principal m e nte , nunca tinh a s ido tão l ida. Foi tam bém após o l ançam e nto da q uarta e dição q ue fize m os a nos s a prim e ira apre s e ntação públ ica, q ue te ve l ugar no BarCam pPT 2006. Es te e ve nto de corre u no Pól o 2 da Unive rs idade de Coim bra e te ve com o públ ico profis s ionais e am adore s da nos s a áre a. Es te s re s ul tados e l e vam a fas q uia da q ual idade q ue nos é e xigida por parte dos nos s os l e itore s , q ual idade e s s a q ue q ue re m os continuar a garantir. É e s s a, portanto, a razão do atras o de al guns dias de s ta e dição. Pe dim os de s cul pa de s de já por e s te facto, m as cons ide ram o-l o com pre e ns íve l , vis to q ue ainda s om os um a e q uipa de am adore s , q ue trabal h a ne s te proje cto por s atis fação pe s s oal . Ne s ta e dição pode m e ncontrar a nova s e cção Te cnol ogias , de dicada a artigos q ue , e m bora não e s te jam dire ctam e nte re l acionadas com program ação, s ão im portante s para o de s e nvol vim e nto de al gum as apl icaçõe s . Es ta com e ça com um artigo s obre RFID , um te m a cada ve z m ais dis cutido actual m e nte . Ire m os tam bém apre s e ntar e m bre ve um novo portalpara a re vis ta, m ais dinâm ico e com m ais inform açõe s s obre o proje cto, de s e nvol vido por m e m bros da nos s a e q uipa.

<2 >

Sérgio Santos

Rui M aia D avid Pintas s il go


notícias

M IT financia ins titutos portugue s e s O acordo do G ove rno português com o M as s ach us e tts Ins titute ofTe ch nol ogy (M IT) e nvol ve um financiam e nto públ ico gl obalde 32 m il h õe s de e uros às ins tituiçõe s nacionais abrangidas pe l o Program a M IT Portugal . O Program a e nvol ve q uatro áre as te m áticas : Enge nh aria de Conce pção e Sis te m as Avançados , Sis te m as de Ene rgia, Sis te m as de Trans porte s e Sis te m as de Bioe nge nh aria.

O acordo de coope ração com o ins tituto norte - am e ricano M IT e nvol ve a Es col a de Enge nh aria da Unive rs idade do M inh o, a Facul dade de Ciências da unive rs idade de Lis boa, as facul dade s de Ciências e Te cnol ogia da Unive rs idade de Coim bra e da Unive rs idade Nova de Lis boa e a Facul dade de Enge nh aria da Unive rs idade do Porto. Envol ve ainda o Ins tituto Supe rior de Econom ia e G e s tão da Unive rs idade Técnica de Lis boa e o Ins tituto Supe rior Técnico da Unive rs idade Técnica de Lis boa. Se gundo o te xto do acordo, as ins tituiçõe s nacionais , e m parce ria com o M IT, pode rão nos próxim os cinco anos contratar profe s s ore s convidados «de m érito inte rnacional »e inve s tigadore s e m pós -doutoram e nto. O program a pre vê ainda q ue os e s tudante s , inve s tigadore s e doce nte s e m ins tituiçõe s portugue s as col abore m com e q uipas de inve s tigação no M IT.

AM D tripl ica l ucro A Advance d M icro D e vice s (AM D ) s upe rou as e xpe ctativas dos anal is tas finance iros , l ucrando 134 m il h õe s de dól are s e facturando 1,33 bil h ão de dól are s no te rce iro trim e s tre de 2006. A e s tim ativa dos anal is tas e ra um a re ce ita de 1,31 bil iõe s de dól are s . As m arge ns ope racionais da e m pre s a, contudo caíram , facto q ue a AM D atribui a ve ndas m e nos ace l e radas de ch ips para de s k tops . A q ue da de m arge m re fl e te tam bém a dis puta com a rivalInte l–q ue re portou q ue da de 35% no l ucro ne s te trim e s tre . Para o q uarto trim e s tre , a AM D pre vê um cre s cim e nto apoiado na fus ão com a fabricante canadiano de ch ips gráficos ATI. O obje ctivo é o de ofe re ce r produtos inte grados ao m e rcado de com putadore s m óve is e e l e trônicos de cons um o.

<3>

Fire fox 2.0 atinge 2 m il h õe s de dow nl oads e m 24 h oras O Fire fox 2.0 atingiu os 2 m il h õe s de dow nl oads no prim e iro dia, com picos de 30 dow nl oads por s e gundo. Is to s ignifica q ue o Fire fox e s tá e m vias de s upe rar os 3 m il h õe s de dow nl oads e m 4 dias do IE7. Es te s s ão re s ul tados m uito pos itivos para a e q uipa de de s e nvol vim e nto da M ozil l a. No e ntanto, o núm e ro de util izadore s do Inte rne t Expl ore r 7 de ve rá aum e ntar com o l ançam e nto do W indow s Vis ta.


te m a de capa pos s íve la apl icação dos s cripts divul gados inde pe nde nte m e nte da bas e de dados e m caus a. É de re fe rir q ue é com um cada s is te m a de bas e de dados pos s uir as s uas próprias e xte ns õe s e m bora, as norm as SQ L92 e SQ L-9 9 s e jam , gros s o m odo, im pl e m e ntadas por todos .

O bje ctivo

Bas e s de D ados As Bas e s de D ados (BD ) s ão im pre s cindíve is a q ual q ue r s is te m a e s ão por is s o pre s e nça cons tante no dia-a-dia de todos q uantos faze m de s e nvol vim e nto. Es ta re al idade advém da ne ce s s idade de "m e m ória pe rs is te nte " q ue q ual q ue r apl icação te m , por m ais s im pl e s q ue s e ja. Is to é vis íve le óbvio num com pl e xo s is te m a bancário, m as é tam bém vis íve l , por ve ze s m e nos óbvio, num jogo q ue guarda as pontuaçõe s dos m e l h ore s jogadore s num s im pl e s fich e iro de te xto. Inde pe nde nte m e nte do s uporte us ado, a ne ce s s idade de guardar e re cupe rar dados e xis te e é um a cons tante e m q ual q ue r apl icação.

Âm bito Ne s te âm bito, ao l ongo das próxim as e diçõe s da Re vis ta Program ar vão s e r apre s e ntados artigos s obre bas e s de dados abrange ndo um conjunto de te m as q ue ajudam a com pre e nde r m e l h or e s te m undo, de s de a ide al ização de um m ode l o de dados até à tare fa de tuning de um a bas e de dados . Em paral el o com os artigos h ave rá um a s e cção prática q ue il us trará e pe rm itirá acom panh ar os conh e cim e ntos aq ui apre s e ntados . Es ta s e cção prática s e guirá a norm a S Q L-9 9 para q u e s e ja

<4>

Um a BD te m com o obje ctivo úl tim o guardar e re cupe rar dados , e q uanto m ais de pre s s a mel h or. Es ta é a ide ia q ue s e te m e m m e nte q uando s e fal a e m BD . É tam bém com e s te e outros obje ctivos e m m e nte , q ue os artigos s e rão apre s e ntados . O s te m as focados vão pe rm itir a q ual q ue r um iniciar-s e no m undo das BD s e e vol uir a ponto de criar conh e cim e nto e s e ns ibil idade s uficie nte s para criticar e dis cutir s e m pre q ue o te m a de conve rs a for o unive rs o das BD s .

Bas e de D ados D e um a form a s im pl e s , um a BD pode s e r de finida com o um s im pl e s banco de dados organizado s e gundo um a de te rm inada e s trutura. Actual m e nte , os Sis te m as de G e s tão de Bas e s de D ados (SG BD ) m ais com uns e m ais us ados s ão os re l acionais , q ue as s e ntam s obre um a e s trutura de re l açõe s e ntre e ntidade s . No e ntanto, o m undo das BD não s e e s gota nos Sis te m as de G e s tão de Bas e de D ados Re l acionais - Re l ational D atabas e M anage m e nt Sy s te m na te rm inol ogia das BD - (RD BM S). Exis te m outras BD com e s truturas h ie rárq uicas ou por obje ctos , m as a s ua util ização não é m uito difundida e s ão norm al m e nte us adas e m cas os particul are s .

Exe m pl o D e form a a il us trar e a pe rm itir um m e l h or acom panh am e nto de s te artigo, o m e s m o vai s e r com pl e m e ntado com um e xe m pl o.


te m a de capa

O de s afio é cons truir um a BD para um a pe q ue na bibl iote ca pe rm itindo re gis tar não s ó os l ivros , m as tam bém os util izadore s e as re q uis içõe s de l ivros .

M ode l o Re l acional O m ode l o re l acionalde fine a e s trutura da BD e é o prim e iro pas s o no de s e nh o de um a BD . Es te m ode l o m ode l a a re al idade de form a l ógica, ou, por outras pal avras , re pre s e nta a s ol ução l ógica para um dado probl e m a. As s im , o prim e iro pas s o é ide ntificar as e ntidade s e m caus a. D ado o de s afio de um a pe q ue na bibl iote ca, a m e s m a te rá: -l ivro: q ue re pre s e nta um l ivro; - util izador: q ue re pre s e nta os util izadore s da bibl iote ca. Um a das principais funçõe s de um a bibl iote ca é e m pre s tar l ivros , e s ta re al idade não e s tá ainda re pre s e ntada no m ode l o e é ne ce s s ário criá-l a. As s im , num a s e gunda ite ração, al te ram os o m ode l o para pe rm itir q ue os util izadore s s e l igue m aos l ivros através de re q uis içõe s . D e s ta form a, as e ntidade s ide ntificadas s ão: -l ivro: q ue re pre s e nta um l ivro; - util izador: q ue re pre s e nta os util izadore s da bibl iote ca; - re q uis ição: q ue re pre ns e nta a l igação e ntre um l ivro e um util izador da bibl iote ca. As s im , um a ve z ide ntificadas as e ntidade s , é ne ce s s ário ide ntificar as caracte rís ticas e proprie dade s de cada um a de l as : -l ivro: te m pe l o m e nos um autor, te m um títul o, um a e ditora e o ISBN; - util izador: te m um nom e , um a m orada e o núm e ro do bil h e te de ide ntidade ; - re q uis ição: te m o ide ntificador do l ivro re q uis itado e te m o ide ntificador do util izador q ue e fe ctuou a re q uis ição.

<5>

D ado q ue é ne ce s s ário ide ntificar univocam e nte cada um dos inte rve nie nte s de cada e ntidade , torna-s e ne ce s s ário dotar cada e ntidade com um ide ntificador único. Pe ns ando no cas o do util izador, um pos s íve l ide ntificador s e rá o núm e ro do bil h e te de ide ntidade (BI). Pe ns ando no cas o do l ivro, um pos s íve lide ntificador s e rá o ISBN. Ne s te cas o, ide ntificaram -s e as ch ave s candidatas de cada um a das e ntidade s , q ue s ão as proprie dade s q ue pe rm ite m ide ntificar univocam e nte q ual q ue r util izador ou l ivro através de um a proprie dade , ou de um conjunto de proprie dade s . Por e xe m pl o, um a pos s íve l ch ave candidata pode ria para um util izador s e r o nom e e a m orada, q ue juntos tam bém ide ntificam univocam e nte um util izador. D o conjunto das ch ave s candidatas se l e cciona-s e a m e l h or q ue torna pos s íve l ide ntificar univocam e nte q ual q ue r util izador, ne s te cas o o util izador através do BI, e o l ivro através do ISBN. Te ndo as ch ave s prim árias s e l e ccionadas , as e ntidade s ficam as s im re pre s e ntadas : -l ivro: ISBN, te m pe l o m e nos um autor, te m um títul o, te m um a e ditora; - util izador: BI, te m um nom e , um a m orada; - re q uis ição: ISBN, BI. Agora a e ntidade re q uis ição pos s ui duas proprie dade s , ISBN e BI, q ue s ão as ch ave s prim árias das e ntidade s l ivro e autor, re s pe ctivam e nte . O u s e ja, a e ntidade re q uis ição pos s ui duas ch ave s e s trange iras , um a ve z q ue e s s as duas proprie dade s s ão ch ave s de outras e ntidade s . D e para-s e agora um de s afio: q uala ch ave prim ária da re q uis ição? M e dite m os um pouco: s e um a re q uis ição não é m ais do q ue um a l igação e ntre um util izador e um l ivro, e ntão um util izador e um l ivro de fine m univocam e nte um a re q uis ição. D ado q ue um l ivro é ide ntificado por ISBN e um util izador por BI, e ntão a ch ave prim ária de s ta e ntidade s e rá o par ISBN, BI.


te m a de capa D ado q ue um l ivro pode pos s uir m ais de um autor, e q ue um autor pode te r m ais de um a obra, ide ntificam -s e duas novas e ntidade s : autor e autoria;e re form ul am -s e as e ntidade s . As s im , num a te rce ira ite ração s obre as e ntidade s ficam os com : -l ivro: q ue re pre s e nta um l ivro; - util izador: q ue re pre s e nta os util izadore s da bibl iote ca; - re q uis ição: q ue re pre s e nta a l igação e ntre um l ivro e um util izador da bibl iote ca; - autor: q ue re pre s e nta um autor; - autoria: q ue re pre s e nta um autor de um l ivro. Num a s e gunda ite ração s obre as caracte rís ticas e proprie dade s de cada e ntidade concl ui-s e q ue : -l ivro: ISBN, te m um títul o, te m um a e ditora, te m um núm e ro de copias dis poníve is ; - util izador: BI, te m um nom e , um a m orada; - re q uis ição: ISBN, BI; - autor: te m um nom e ; - autoria: ISBN e o ide ntificador do autor. Um a ch ave candidata para a e ntidade autor s e rá o nom e , m as dado q ue pode h ave r m ais de um autor com o m e s m o nom e , e m particul ar porq ue os autore s s ão, m odo ge ral , conh e cidos ape nas pe l o se u nom e próprio e ape l ido, ne s te cas o não e xis te ne nh um a ch ave candidata s uficie nte m e nte boa para s e r e l e ita, razão pe l a q uals e adiciona um cam po e xtra para ide ntificação e s e e fe ctua a l igação de s s e cam po e xtra de ide nficação com a autoria. As s im , ficam os com : -l ivro: ISBN, te m um títul o, núm e ro de cópias dis poníve is , idEditora; - util izador: BI, te m um nom e , um a m orada; - re q uis ição: ISBN, BI; - autor: idAutor, te m um nom e ; - autoria: ISBN, idAutor. É de notar q ue a e ntidade autoria é anál oga à de autor, faze r a re l ação de autore s com ch ave prim ária é com pos ta ch ave s e s trange iras .

O m ode l o pare ce , à priori, final izado, m as a ve rdade é q ue o m e s m o não e s tá norm al izado. O l h ando ate ntam e nte para a e ntidade l ivro, notam os q ue a e ditora ir-s e -á re pe tir variadís s im as ve ze s e m todas as e ntradas de l ivros q ue pe rte nçam a um a m e s m a e ditora. Para e vitar e s ta re pe tição do nom e da e ditora, o m ode l o te m de s e r norm al izado. A norm al ização é um proce s s o de re e s truturação do m ode l o l ógico de form a a e l im inar re dundância, organizar os dados de form a e ficie nte e re duzir pote nciais anom al ias . O l h ando m ais atrás no e xe m pl o, tam bém já e fe ctuam os um a "ps e udo-norm al ização", ao s ubs tituir no l ivro a re gra "te m de te r pe l o m e nos um autor" pe l as e ntidade s autor e autoria. Norm al izando o m ode l o, te m os q ue a proprie dade e ditora pas s a a s e r um a e ntidade , e l ivro pas s a a faze r re fe rência à e ditora e m q ue s tão: - e ditora: idEditora, nom e ; -l ivro: ISBN, te m um títul o, cópias dis poníve is , idEditora; - util izador: BI, te m um nom e , um a m orada; - re q uis ição: ISBN, BI; - autor: idAutor, te m um nom e ; - autoria: ISBN, idAutor. D e s ta form a, todos os l ivros q ue pe rte nce m a um a m e s m a e ditora têm a m e s m a re fe rência, idEditora. Note -s e q ue tam bém na e ntidade e ditora s e apl icou a criação de um a proprie dade própria para a ide ntificação unívoca, e m bora aq ui o nom e pude s s e te r s ido s e l e ccionado com o ch ave prim ária, um a ve z q ue a probabil idade de e xis tire m duas e ditoras dis tintas com o nom e e xactam e nte igualé infím a.

de l igação ou s e ja, por l ivros , a s ua pe l as duas Figura 1

<6>


te m a de capa As e ntidade s principais de finidas no e xe m pl o pode m s e r vis tas no diagram a da figura 1. É de re fe rir q ue no diagram a não cons tam as e ntidade s re l acionais , as ch ave s prim árias e s tão re pre s e ntadas a ve rm e l ho (PK ) e o s e u nom e e s tá norm al izado para "id<Entidade > [Proprie dade ] ".

Re l açõe s

Figura 2 re fe ridas atrás re pre s e ntam a l ógica de re l ação, ou as e ntidade s . Es s as re l açõe s "1 para 1", "1 para N", ou de "M

Um a re l ação diz-s e de "1 para 1"q uando um el e m e nto de um a e ntidade s e re l aciona unicam e nte com outro e l e m e nto de outra e ntidade . Es ta é a re l ação m ais s im pl es e m e nos inte re s s ante q ue e xis te , não ne ce s s itando s e q ue r de e ntidade s adicionais para a re pre s e ntar. No cas o de um e l e m e nto de um a e ntidade s e re l acionar com m ais de um e l e m e nto de outra e ntidade , e s tam os na pre s e nça de um a re l ação de "1 para N". No e xe m pl o apre s e ntado e xis te um a re l ação de s te tipo: um l ivro pos s ui um ou m ais autore s . Es ta re l ação é re pre s e ntada pe l a e ntidade autoria: um ISBN re l aciona-s e com um ou m ais idAutor. Um a re l ação "M para N" re pre s e nta m úl tipl as re l açõe s e ntre os e l e m e ntos de duas e ntidade s . No e xe m pl o apre s e ntado e xis te um a re l ação de s te tipo: um util izador pode re q uis itar vários l ivros e um l ivro pode s e r re q uis itado por vários util izadore s . Só não é pos s íve lq ue um util izador re q uis ite o m e sm o l ivro várias ve ze s de vido à e s col h a do de s e nh o do m ode l o. Es ta re l ação é as s im re pre s e ntada pe l a e ntidade re q uis ição, q ue de vido ao facto da ch ave prim ária s e r cons tituída pe l as ch ave s prim árias das e ntidade s re l acionadas , não pe rm ite q ue um util izador re q uis ite várias ve ze s o m e s m o l ivro. Es ta re s trição não é um a l im itação, ne m de ve s e r vis ta com o tal , um a ve z q ue é facil m e nte ul trapas s áve l de finindo um a outra ch ave prim ária para a e ntidade . O diagram a da figura 2 apre s e nta o e xe m pl o com as e ntidade s re l acionais m ate rial izadas .

<7>

Por fim , o diagram a da figura 3 (1). apre s e nta o m ode l o com pl e to, com as re l açõe s e as e ntidade s re l acionais com os nom e s norm al izados para "PK _<idEntidade > ". As ch ave s e s trange ira e s tão re pre s e ntadas a ve rde (FK ) e as ch ave s e s trange iras q ue s ão tam bém ch ave s prim árias e s tão re pre s e ntadas a azul(PFK ).

Figura 3 Cada um a de s tas e ntidade s vai re s ul tar num obje cto na bas e de dados , um a tabe l a, e cada um a das proprie dade s de cada obje cto vai re s ul tar num a col una. M as e s te pas s o aconte ce rá ape nas num próxim o artigo, actual m e nte é im portante re te r os conce itos de M ode l o Re l acional , M ode l o Lógico, Entidade , Proprie dade , Ch ave Candidata, Ch ave Prim ária, Ch ave Es trange ira e Norm al ização. 1) A notação us ada no diagram a é a notação O racl e TM (O racl e TM é um a m arca re gis tada)

Fe rnando M artins

As re l açõe s s im pl e s m e nte l igação, e ntre pode m s e r de para N".


a program ar <html> <head> <script src="codigoAJAX.js"></script> </head>

Páginas dinâm icas com ASPe AJAX Q ue m nunca pe ns ou e m faze r um Ch at ou um a Sh outBox? Exacto, m uitos de nós , no e ntanto, al go tão ful cral com o a actual ização da conve rs a tornava-s e um q ue bra-cabe ças díficilde s ol ucionar. O u s e fazia um re fre s h à página (al go de s agradáve l e a e vitar), ou... Enfim , s e ria ape nas m ais um proje cto não concre tizado. O ra, foi pre cis am e nte para s ol ucionar e sse s probl e m as q ue nas ce u o AJAX (As y nch ronous JavaScriptand XM L). Q uando fal am os e m AJAX convém te r a noção q ue não s e trata propriam e nte de um a l inguage m de program ação nova, e m uito m e nos s e re fe re ao h abitualde te rge nte . Tratas e s im , de um a técnica para actual izar inform ação rapidam e nte . Im agine m os , por e xe m pl o, um ch at. Com o h abitual H TM L Re fre s h o brow s e r iria carre gar a página toda novam e nte . Já com o AJAX ape nas s e rá actual izado aq uil o q ue q uis e rm os , ne s te cas o, o 'corpo' da conve rs a. AJAX corre praticam e nte e m todos os s e rvidore s m as , para q ue pos s am os us ufruir de s te , pre cis are m os tam bém de um a l inguage m Se rve r-Side , ne s te cas o o ASP. Al ém dis s o o AJAX te m a particul aridade de s e r ape nas vis íve l e m brow s e rs q ue te nh am s uporte com pl e to XM L. Actual m e nte e xis te m ape nas dois brow s e rs a s uportar total m e nte e s ta te cnol ogia: o Inte rne t Expl ore r e o M ozil l a Fire fox. Em brow s e rs com o o Safari ou o O pe ra é com um as apl icaçõe s com AJAX apre s e ntare m al guns e rros , ou de ficiências . M as , de ixe m o-nos de te oria e pas s e m os à prática. Ire m os criar um a página de re gis to, com a particul aridade de garantir q ue não h ajam us e rnam e s re pe tidos .

<8>

<body> <form action="" method="post"> Utilizador Pretendido: <input type="text" name="username" id="username" onKeyUp= "verificaUtilizador(this.value)"> </form> <div id="resposta"></div> </body> </html>

A parte do '<s cript s rc="codigoAJAX.js "> </s cript> ', incl ui o código AJAX para q ue s e ja pos s íve la ve rificação. Já o parágrafo abaixo, s e rá a taláre a e m q ue nos é dito s e o us e rnam e já e xis te ou não. A acção ve rificaUtil izador(th is .val ue ), re q ue re o th is .val ue para q ue o brow s e r s aiba q ue de ve actual izar a re s pos ta s e m pre q ue o te xto é al te rado. A função s e m o th is .val ue te ria de s e r invocada por um botão através do onCl ick por e xe m pl o, cas o contrário não iria funcionar. O código AJAX é o s e guinte : codigoAJAX.js (o código tam bém pode ria s e r ins e rido na página do form ul ário m as , por m otivos de organização, s e param o-l o).

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


a program ar

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

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

Es te código, pare ce be m com pl icado m as não o é. Te m três e tapas s im pl e s . Prim e iro dize m os com o e onde é q ue o brow s e r nos vai re s ponde r, na áre a 're s pos ta'.

<9 >

Em s e gundo, ve rificam os s e o util izador já e xis te , por um a Q ue ry String com o val or ins e rido pe l o util izador, val or e s s e q ue s e rá re ce bido no fich e iro ASP. Es te dirá de finitave m e nte s e o util izador e s tá ocupado ou não. Por úl tim o, é e xe cutado o obje cto H TTP, q ue s ó e s tá dis poníve le m al guns brow s e rs . Para te rm inar, s ó nos fal ta o código ASP , q ue não pas s a de m e ia dúzia de l inh as . Prim e iram e nte , o código irá re col h e r o val or da variáve l Util izador, através do re q ue s t.Q ue ry String. D e s e guida, s e rá fe ita a ve rificação e , final m e nte , s e r-nos -á dito s e o util izador e s tá dis poníve l . Para e vitar 'bug's " s ó s e rá apre s e ntado re s ul tado s e o val or da variáve lnão for nul o. util izadore s .as p <% if request.querystring("Utilizador") <> "" then utilizador = request.querystring( "Utilizador") if utilizador = "p@p" then response.write "Ocupado, escolha outro." else response.write "Está Disponível!" end if end if %>

Agora é s ó te s tar! Es te código e s tá m uito s im pl e s , m as é um a bas e para, por e xe m pl o, incl uir re cordSe ts e inte ragir com um a bas e de dados .

Patric Figue ire do

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


a program ar São tam bém us ados no incre m e nto e de cre m e nto de um a unidade ou e m ope raçõe s re l acionais com o a igual dade , dife re nça, m aior ou m e nor q ue , e ntre outros .

O pe rador Nom e + * / %

JavaScript (parte 2)

Adição Subtracção M ul tipl icação D ivis ão Re s to da divis ão

Exe m pl o de util ização:

Som a e m JavaScript

Ne s ta úl tim a parte do artigo s obre program ação em JavaScript s e rão abordados te m as um pouco m ais técnicos , be m com o m ais avançados e e vol uídos , do q ue na m e tade ante rior. Abordare m os os ope radore s , capítul o onde s e rão tratados as s untos re l accionados com a aritm ética, as re l açõe s , a l ógica e ntre outros , abordare m os as funçõe s e as ins truçõe s q ue e xprim e m condiçõe s e re pe tiçõe s /cicl os , fal are m os tam bém um pouco s obre program ação orie ntada a obje ctos , o bás ico a de s te níve l e um a pe q ue na al us ão aos ve ctore s . Es pe re m os q ue gos te da l e itura.

<html><head>

O pe radore s

Com o é pos s íve lve rificar no código é m uito s im pl e s e de s cre ve um a pe q ue na s om a. O m e sm o se ve rifica para as outras ope raçõe s .

O s ope radore s actuam s obre um a ou m ais variáve is de form a a produzir os re s ul tados pre te ndidos . A l inguage m de program ação JavaScript pos s ui m uitos ope radore s de dive rs os tipos . Aq ui ire m os ape nas abordar os as pe ctos m ais bás icos dos dive rs os tipos de ope radore s dis poníve is .

O pe radore s A ritm éticos O s ope radore s aritm éticos s ão util izados para re al izar ope raçõe s m ate m áticas s im pl es com o a adição, a s ubtracção, a m ul tipl icação, a divis ão e o re s to da divis ão inte ira. Exis te tam bém o da ne gação unária q ue não vai s e r abordado.

<10>

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

O JavaScript dis ponibil iza tam bém ope radore s de incre m e nto e de cre m e nto.

O pe rador Nom e + + --

Incre m e nto D e cre m e nto

As ins truçõe s de incre m e nto com o a de a+ + s ão de pós incre m e nto e as ins truçõe s de incre m e nto + + a s ão ins truçõe s de pré incre m e nto. Q uando s e tratam de ins truçõe s de de cre m e nto a-- ou --a, a de nom inação s e rá a m e s m a.


a program ar O pe radore s R e l acionais O s ope radore s re l acionais com o o próprio nom e indica, e s pe cificam ope raçõe s de re l ação e ntre val ore s .

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

O pe radore s Lóg icos O s ope radore s l ógicos l inguage m JavaScripts ão:

O pe rador

Nom e

! & & ||

igual dife re nte m aior m e nor m aior ou igual m e nor ou igual

Exe m pl o de util ização: <html><head> <script type="text/javascript"> var x = 1; var y = 2; var z = y; function relaccionais(){ document.write("<br/>Variável x="+x); document.write("<br/>Variável y="+y); document.write("<br/>Variável z="+z); document.write("<br/>"); w = x == y; document.write ("<br/>y==z->"+w); w = x != y; document.write ("<br/>y!=z->"+w); w = x >= y; document.write ("<br/>x>=y->"+w); w = x < y; document.write ("<br/>x<y->"+w); } </script> </head><body>

e xis te nte s

na

Nom e

Nave gação Conjunção D is junção

Es te s ope radore s s ão os ope radore s q ue m anipul am val ore s l ógicos . A dis junção incl us iva s ó re s ul ta num val or fal s o q uando os dois ope radore s s ão fal s os (m e s m o q ue O U). Cas o contrário de vol ve ve rdade iro. A conjunção s ó pode re s ul tar num val or ve rdade iro q uando am bos os val ore s o fore m (m e s m o q ue E). Já a ne gação re s ul ta no val or contrário do ope rador.

O pe radore s bit a bit O pe radore s JavaScript.

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

bit a

bit dis poníve is

em

Nom e

Conjunção D is junção incl us iva D is junção e xcl us iva Ne gação l ógica D e sl ocam e nto à e s q ue rda D e sl ocam e nto à dire ita D e sl ocam e nto l ógico à dire ita

O pe radore s de cade ias

<script type="text/javascript"> relaccionais(); </script>

Ao contrário dos outros ope radore s ape nas e xis te um ope rador de cade ias q ue s e rve m para concate nar cade ias (s trings ).

</body></html>

O pe rador Com e s te s ope radore s é pos s íve l faze r ope raçõe s para de te rm inar s e os val ore s s ão iguais , dife re nte s , m aiore s ou m e nore s , e ntre outros .

<11>

+

O ope rador + fim da outra.

Nom e

Concate nação acre s ce nta um a cade ia no


a program ar

Funçõe s Um a função é um a s e q uência de ins truçõe s q ue cons titui um a e ntidade coe re nte e q ue pode s e r invocada a partir de q ual q ue r ponto do program a e s crito e m JavaScript. O program ador pode criar as s uas próprias funçõe s q ue s ão na m aioria das ve ze s e s critas no cabe çal h o do fich e iro e s ão invocadas pos te riorm e nte q uando ne ce s s ário. Portanto, pode m os ve r um a função com o um a s érie de ins truçõe s q ue e ngl obam os de ntro do m e s m o proce s s o. As funçõe s util izam -s e cons tante m e nte , não s ó as q ue e s cre ve m com o tam bém as q ue já e s tão de finidas no s is te m a, com o as pars e Int (q ue é um a s tring), pars e Fl oat (s tring) ou NaN (q ue é um val or), pois todas as l inguage ns de program ação têm funçõe s para re al izar proce s s os h abituais . As funçõe s s e rve m para s e re m ch am adas , s e m pre q ue e xis tir um a acção q ue s e ja ne ce s s ária e m dive rs os l ocais da página/s ite /program a, s ó te ndo de finido o s e u código um a única ve z. Para de finir um a função é obrigatório util izar ce rtos padrõe s :

Ins tru ção s w itch No JavaScript e xis te um a outra ins trução de condição a ins trução s w itch . Form ato s w itch : s w itch (e xpre s s ão){ cas e val orx: ins truçãox; ... bre ak ; cas e val ory : ins truçãoy ; ... bre ak ; ... } Pas s ando a e xpl icar o com portam e nto do control o s w itch : s e o val or da e xpre s s ão coincidir com o val orx e xe cuta-s e a ins truçãox, cas o não s e ja, faz-s e o m e s m o m as para o val ory, e as s im s uce s s ivam e nte , até s e r e ncontrada um a igual dade .

Ins tru çõe s Ite rativas

function nom e dafuncao (){ ins truçõe s da função ... }

Na l inguage m de program ação JavaScript ape nas e xis te m três ins truçõe s ite rativas , o cicl o w h il e , o do-w h il e , e o cicl o for.

D e pois é ape nas ne ce s s ário dar as ins truçõe s ce rtas à função de form a a actuar da form a pre te ndida e invocá-l a não e s q ue ce ndo de adicionar () à fre nte do s e u nom e .

O cicl o w h il e

Ins truçõe s condicionais Ins tru ção ife e l se If com o o próprio te rm o e m Ingl ês indica s ignifica "se ", as s im s e ndo, e s ta ins trução s e rve para re al izar s cripts q ue de pe ndam de um a condição. Um If pre s s upõe q ue ce rta acção s ó s e rá e xe cutada, cas o s e ve rificar um a ce rta condição.

<12>

Es te cicl o util iza-s e q uando é ne ce s s ário re pe tir um núm e ro inde finido de ve ze s a e xe cução de um as s e nte nças , s e m pre q ue s e cum pra um a condição. É m ais fácilde s e e nte nde r q ue o cicl o for porq ue s om e nte s e indica a condição q ue te m q ue s e cum prir para q ue s e re al ize um a re pe tição. w h il e (condição){ s e nte nças do cicl o; ... }


a program ar O cicl o do-w h il e Util iza-s e ge ral m e nte q uando não s abe m os q uantas ve ze s h ave rá de s e e xe cutar o cicl o, as s im com o aconte ce com cicl o w h il e , com a dife re nça de q ue o cicl o, inde pe nde nte m e nte da e xpre s s ão te s te , s e rá s e m pre e xe cutado pe l o m e nos um a ve z.

O bje ctos O JavaScript dis põe de um conjunto de obje ctos pre de finidos . O s obje ctos têm atributos (variáve is ) e m étodos (funçõe s ). A s intaxe para a util ização de obje ctos , m étodos e atributos e m JavaScript é m uito s im pl e s:

do { objecto.atributo objecto.metodo()

sentenças do ciclo; ... } while (condição)

Al guns obje ctos s ão criados autom aticam e nte pe l o brow s e r, outros têm de s e r criados obrigatoriam e nte pe l o program ador.

O cicl o for util iza-s e para re pe tir m ais ins truçõe s num de te rm inado núm e ro de ve ze s . Entre todos os cicl os o for cos tum a s e r util izado q uando s abe m os ao ce rto o núm e ro de ve ze s q ue q ue re m os q ue s e ja e xe cutada a s e nte nça, ou até q uando. for (iniciação;condição;actualização) { sentenças a executar; ... }

O funcionam e nto do cicl o for é o s e guinte : a e xpre s s ão de iniciação é e xe cutada um a ve z ante s da prim e ira ite ração;a condição é te s tada ante s de cada ite ração do cicl o e s e for ve rdade ira e xe cuta a próxim a ins trução do cicl o, s e for fal s a te rm ina o cicl o. A ins trução e xe cutada no cicl o for pode s e r s ubs tituída por dive rs as ins truçõe s .

Ins tru çõe s bre ak e continu e A ins trução bre ak inte rrom pe um cicl o. Inte rrom pe r um cicl o s ignifica s air de l e e de ixá-l o todo com o e s tá de form a a continuar com o fl uxo do program a im e diatam e nte . A ins trução continue inte rrom pe o cicl o pas s ando as s im para a ite ração s e guinte .

<13>

obj = new Object();

Ve ctore s Um ve ctor é um a e s trutura de dados com dive rs os e l e m e ntos do m e s m o tipo, e m re l ação à q ual , através de um índice , s e pode de s ignar cada um dos s e us e l e m e ntos . Os el e m e ntos de um ve ctor pode m tam bém s e r ve ctore s , dando orige m a um a e s trutura m uito com pl e xa.

Concl us ão Ne s ta s e gunda e úl tim a parte do artigo de JavaScript foram abordados te m as m ais avançados , m as igual m e nte bás icos , da program ação e m JavaScript. Ne s ta e dição abordám os a program ação com ope radore s , funçõe s , ins truçõe s condicionais (if, s w itch ), ins truçõe s ite rativas (for, w h il e , dow h il e , continue , brak e ), program ação orie ntada a obje ctos (PO O ) e ve ctore s . No fim de s te artigo e s pe ram os q ue o l e itor te nh a apre ndido tudo o q ue ne ce s s ita s abe r para s e iniciar ne s ta l inguage m . Agora é a s ua ve z.

João Pe re ira

O cicl o for


a program ar

Input/O utput e m Java Ne s te artigo vam os abordar um a m atéria q ue , a nos s o ve r, é bas tante inte re s s ante e im portante no m undo da program ação: o Input / O utput ne s te cas o apl icado a Java. Ire m os com e çar com M anipul ação de Fich e iros e D ire ctorias . Vam os ve r a s e guinte cl as s Java onde s ão de m os tradas as principais funçõe s da Cl as s Fil e , q ue é a util izada para re al izar a m anipul ação. Em s e guida vam os e xpl icar o q ue cada l inh a faz. 1 import java.io.*; 2 3 public class JavaFile{ 4 public static void main(String args[]){ 5 6 File file=new File("C:\\file.txt"); 7 8 System.out.println(file.getName()); 9 10 file.setReadOnly(); 11 12 System.out.println(file.isHidden()); 13 System.out.println(file.canRead()); 14 System.out.println(file.canWrite()); 15 16 file.renameTo(new File( "C:\\Ficheiro.txt")); 17 18 try{ 19 if( !file.exists() ){ 20 file.createNewFile(); 21 } 22 }

<14>

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

Com o pode m os ve r na l inh a 6 é ins tanciado um obje cto Fil e q ue re pre s e nta o cam inh o (path ) para um pos s íve l l ocal do s is te m a ope rativo. É bom l e m brar q ue e s te ape nas re pre s e nta um fich e iro ou dire ctoria, não pre s s upondo q ue o cam inh o e xis ta re al m e nte . Ne s te cas o, o cam inh o é o C:\\fil e .txt, q ue aponta para o fich e iro fil e .txt na dire ctoria C:. Tam bém pode ria apontar ape nas para um a dire ctoria e não para um a fich e iro, com o é o cas o. Na l inh a 8 pode m os ve r o m étodo ge tNom e (), q ue pe rm ite obte r o nom e do fich e iro ou dire ctoria re pre s e ntada pe l o Fil e. Es ta cl as s pe rm ite tam bém dar atributos a fich e iros ou dire ctorias , com o é o cas o do m étodo s e tRe adO nl y () q ue dá ao fich e iro ou dire ctoria o atributo de ape nas pode r s e r l ido e não e s crito, tal com o e s tá re pre s e ntado na l inh a 10. A cl as s Fil e pe rm ite tam bém ve rificar atributos e , para is s o, pode m os us ar os m étodos is H idde n() q ue ve rifica s e o fich e iro ou dire ctoria s e e ncontra ocul to(a) (l inh a 12), canRe ad() q ue ve rifica s e é pos s ive ll er o fich e iro ou dire ctoria (l inh a 13) e o m étodo canW rite () q ue ve rifica s e é pos s ive le s cre ve r no fich e iro ou dire ctoria (l inh a 14).


a program ar O m étodo re nam e To() na l inh a 16 pe rm ite re nom e ar um fich e iro ou dire ctoria, m as para al ém dis s o pe rm ite tam bém m ove r fich e iros e dire ctorias bas tando para is s o dar um cam inh o dife re nte no novo nom e a dar, o q ue não é o cas o ne s te e xe m pl o. O s m étodos e xis ts () e cre ate Ne w Fil e () l inh a 19 e l inh a 20, s ão dois m étodos m uito im portante s na m anipul ação de fich e iros e dire ctorias , o m étodo e xis ts () pe rm ite ve rificar s e o fich e iro ou dire ctoria re pre s e ntados no Fil e re al m e nte e xis te . O m étodo cre ate Ne w Fil e () cria um novo fich e iro com o cam inh o re pre s e ntado, ne s te cas o iria criar o fich e iro fil e .txtna dire ctoria C:. Em bora aq ui não e s te ja aq ui pre s e nte , tam bém te m os os m étodos m k dir() e m k dirs () q ue têm a m e s m a funcional idade q ue o m étodo cre ate Ne w Fil e (), m as ne s te cas o é criada um a dire ctoria. A dife re nça do m k dir() para o m k dirs () é bas icam e nte q ue o m étodo m k dir ape nas cria um dire ctorio num cam inh o já e xis te nte , ou s e ja, por e xe m pl o, no s e guinte cam inh o C:\Program as \ o m k dir() pode ria criar dire ctorias de ntro da dire ctoria Program as , ape nas e s ó s e a re fe rida dire ctoria já e xis tis s e pre viam e nte . Já o m k dirs pe rm itiria criar toda a arvore de dire ctorias , m e s m o s e e s ta não e xis tis s e . Nas l inh as 28 e 32 pode m os ve r os m étodos is D ire ctory () e is Fil e () q ue ve rificam re s pe ctivam e nte s e o cam inh o dado é um dire ctório ou um fich e iro. Na l inh a 36 te m os o m étodo l is tRoots ( ). Trata-s e de um m étodo bas tante útil nom e adam e nte e m s is te m as W indow s , vis to q ue re torna um array com todas as drive s ou raíze s do s is te m a ope rativo, por e xe m pl o A :, C:, D :, E:, e tc... Já e m s is te m as G NU/Linux o conte údo do array s e rá ape nas /, vis to s e r a raiz do s is te m a. Para te rm inh ar e s ta parte do artigo, te m os na l inh a 42 o m étodo de l e te () q ue com o o próprio nom e indica pe rm ite e l e m inar o fich e iro ou dire ctoria re pre s e ntado pe l o Fil e.

<15>

D e pois de te rm inado o e s tudo s obre a m anipul ação de fich e iros vam os agora pas s ar à e s crita dos m e s m os , obs e rvando o s e guinte código: 1 import java.io.*; 2 3 public class FileWrite{ 4 5 public static void main(String args[]){ 6 7 try{ 8 9 PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("C:\\file.txt",true))); 10 11 out.println("Java Input/Output"); 12 out.println(System.getProperty( "os.name").toString()); 13 out.println(System.getProperty( "user.name").toString()); 14 out.println("Fim"); 15 out.println(); 16 out.close(); 17 18 } 19 20 catch(IOException e){ 21 System.out.println(e.getMessage()); 22 } 23 } 24 }

Após e xe cutar e s ta apl icação s e rá criado um fich e iro de te xto e m C:\\ (nos s is te m as W indow s , para outros Sis te m as O pe rativos bas tará m udar o de s tino), com conte údo se m e l h ante a e s te : Java Inpu t/O u tpu t W indow s XP M agician Fim Vam os agora anal is ar o código de form a a com pre e nde r o obje ctivo de cada l inh a. Na l inh a 9 pode m os ve r o obje cto "out"a s e r ins tanciado. Es ta é um a ins tanciação um pouco com pl e xa m as te m a s ua razão de s e r. Se gundo al guns te s te s já fe itos e s ta ins tanciação é a form a m ais s im pl e s e com


a program ar

Num prim e iro cas o, irá apare ce r duas ve ze s o conte údo do fich e iro após e xe cutar o program a duas ve ze s com o argum e nto "true ". O conte údo do fich e iro s ó apare ce rá um a ve z, após e xe cutar o program a duas ve ze s , com o argum e nto "fal s e " ou ape nas s e m argum e nto. Na l inh a 11, be m com o na 12,13,14,15, pode m os ve r a util ização do m étodo printl n() s obre o obje cto "out", q ue vai pe rm itir e s cre ve r um a l inh a no fich e iro. Exis te m outros m étodos com o o print(), w rite () com funcional idade idênticas e m bora m e nos util izados a níve lda e s crita de fich e iros de te xto. Por fim , te m os o m étodo cl os e q ue irá "fe ch ar" o fich e iro, al go q ue de ve s e r s e m pre e xe cutado as s im q ue s e te rm ina a e s crita num fich e iro. É as s im te rm inada a l igação e ntre o fich e iro e o program a. É, portanto, um pas s o ful cral , vis to q ue cas o não e xe cutado, pode rá de itar a pe rde r o conte údo do fich e iro. Agora q ue já s abe m os com o e s cre ve r e m fich e iros ape nas fal ta a l e itura dos m e s m os . Para is s o vam os com e çar por obs e rvar o código s e guinte . 1 import java.io.*; 2 3 public class FileRead{ 4

<16>

5 6 7 8 9

public static void main(String args[]){ try{ BufferedReader leitor = new BufferedReader(new FileReader("C:\\file.txt")); String linha = ""; linha = leitor.readLine(); while(linha != null){ System.out.println(linha); linha = leitor.readLine(); }

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

D e um a form a re s um ida, o q ue e s te código irá faze r é s im pl e s m e nte ir ao fich e iro fil e .txt, l erl inh a-a-l inh a e im prim ir na cons ol a. Com o pode m os ve r na l inh a 9 é criado um obje cto Buffe re dRe ade r q ue , através de um obje cto Fil e Re ade r, irá ace de r ao fich e iro fil e .txt. Na l inh a 10 ire m os criar a variáve l'l inh a', do tipo String, inicial izando-a com o String vazia (""). Em s e guida, na l inh a 11, vam os l e r a prim e ira l inh a do fich e iro e vam os col ocar o conte údo de s s a l inh a na variáve l l inh a, s ob form a de String. Nas l inh as 12,13,14 e 15, é fe ito um cicl o para l e r todas as l inh as do fich e iro, cada ve z q ue o cicl o dá um a vol ta, é im pre s s o o val or da l inh a ante rior e l ido a l inh a s e guinte , até não e xis tire m m ais l inh as no fich e iro. Finda a l e itura, a l igação ao fich e iro é te rm inada, com o pode m os ve r na l inh a 17. O re s ul tado final vai s e r e xactam e nte o conte údo do fich e iro. Após e s tas três parte s do artigo o l e itor já cons e guirá re al izar as principais funçõe s de IO e m Java. Exis te m um s e m núm e ro de outras form as de faze r o q ue foi aq ui de m ons trado, be m com o um outro s e m núm e ro de outras cois as de s e pode faze r com Java IO .

Fábio Corre ia

mel h or re ndim e nto de e s cre ve r num fich e iro. Vam os agora ate ntar e m al guns de tal h e s . Na úl tim a parte da ins tância "ne w Fil e W rite r("C:\\fil e .txt",true )" pode m os ve r q ue para al ém de te rm os com o argum e nto o nom e do fich e iro, te m os tam bém um argum e nto bool e an. Es te é s e m dúvida um argum e nto m uito im portante pois q uando col ocado "true " diz ao program a q ue de ve e s cre ve r no fich e iro, com a particul aridade de não apagar ne h um do s e u conte údo ante rior, ou s e ja, o program a não e s cre ve rá por cim a do q ue já l a s e e ncontra. No cas o de s e col ocar com o argum e nto um bool e an "fal s e ", ou ape nas o nom e do fich e iro, o program a cada ve z q ue for e xe cutado vai re e s cre ve r o fich e iro a partir do início apagando toda a inform ação já l á contida.


te cnol ogias “D e s e nh ado para au tom atizar o proce s s o de de s e nvol vim e nto e de pl oying de apl icaçõe s R FID , o R FID Anyw h e re é u m a pl ataform a de m iddl e w are q u e re s ponde aos re q u is itos fís icos da te cnol ogia, proporcionando tam bém a capacidade de s im u l ação e de re s pos ta e m am bie nte s R FID de produ ção.”

RFID Appl ications D e s e nvol vim e nto de apl icaçõe s para dis pos itivos RFID A te cnol ogia RFID já e xis te h á al guns anos , m as ape nas agora com e ça a e m e rgir. O s dis pos itivos ide ntificadore s (ch ips ) baixaram s ignificativam e nte o pre ço/unidade , faze ndo e s ta te cnol ogia m ais propícia a inve s tim e ntos . RFID s ignifica Radio Fre q ue ncy Ide ntification, ou s e ja, com pe q ue nos ch ips q ue pode m s e r de vários form atos e tam anh os , com um de te rm inado código, cons e guim os ide ntificar de te rm inado produto. Por e xe m pl o, q uando e s te pas s a por um a ante na RFID , q ue e nvia um s inal de rádio, e s te é re fractado pe l o ch ip, pode ndo s e r e s te m étodo fe ito de duas m ane iras : por re fracção s im pl e s , onde o ch ip re ce be o s inalde rádio e com a força de s s e s inalé cons e guida um a re fractação, ou e ntão, por trans m is s ão inde pe nde nte , 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 te úl tim o m étodo pe rm ite um a m aior dis tância e ntre o ch ip e a ante na. Para de s e nvol ve r apl icaçõe s para e s ta te cnol ogia e xis te um produto com grande e xpe riência de m e rcado ch am ado RFID Any w h e re , um s oftw are Sy bas e .

<17>

Q uatro razõe s para a util ização de s te s oftw are : s im ul ação e m te m po re al de e ntrada/s aída de dis pos itivos RFID num a re de total m e nte pe rs onal izave l , opçõe s de de s e nvol vim e nto fl e xíve is , q ue pe rm ite m ao program ador o total control o s obre a pl ataform a q ue e s tá a de s e nvol ve r, s e gurança de níve l e m pre s arial , onde todas as com unicaçõe s e fe ctuadas s ão pas s adas por H TTPS e o s uporte a vários H ardw are Ve ndors . Ne s te artigo ire i apre s e ntar ao l e itor um tutorial s te p-by-s te p para e xe cutar s im ul açõe s no RFID Any w h e re , com o obje ctivo de obs e rvar a e ntrada e a s aída das dive rs as tags (ch ips ) no s is te m a.

Pas s os :

(no fim de cada pas s o gravar cl icando na dis q ue te ve rde à dire ita)

1º Configuração dos Sim ul adore s : Criar dois “RFID M ul tiprotocol Sim ul ator conne ctor” a partir da dropdow n m e nu s upe rior. Configurar os cone ctore s com os s e guinte s dados :


te cnol ogias 2º Configurar o Protocol o ALE: Se l e ccionar ALESe rvice M odul e , e xpandir o grupo Source s e adicionar as s e guinte s fonte s (ins e rir fonte e carre gar no s inal+ para cada um dos cas os ):

Nam e : InvTracSource 1ALE Se nd Re ports as O bje ct: True - Subs cribe rs Es cre ve r “InvTracAl e TCP” e carre gar no [+ ] Criar um s e gundo obje cto “ALE Eve nt Cy cl e ”, re pe tindo os pas s os ante riore s com as s e guinte s proprie dade s :

Source 1:InvTracSim 1 Source 2: InvTracSim 2

D uration (m s ): 5000 LogicalRe ade rs : Source 2 Re portD e finitions : 2 1º Re port: Re portNam e : Source 2Additions EPC to Be Re porte d: AD D ITIO NS

3º Configurar o TCPm e s s aging: Criar um novo obje cto “TCPM e s s aging” a partir do dropdow n m e nu s upe rior e configurar com os s e guinte s dados : IPAdre s s : l ocal h os t Nam e : InvTracAl e TCP Port: 10002

4º Configurar os ALE Eve nt Cy cl e conne ctors : Criar um novo obje cto “ALE Eve nt Cy cl e” a partir do dropdow n m e nu s upe rior e configurar com os s e guinte s dados : - Eve ntCy cl e - - Start-Stop Conditions - - - D uration (m s ): 5000 - LogicalRe ade rs Es cre ve r “Source 1” e carre gar no [+ ] Re port(s ) de finition: 2 G ravar para um novo grupo de apare ce r: - re portSpe cs 1 - Nam e : Source 1Additions - EPC to Be Re porte d: AD D ITIO NS - re portSpe cs 2 - Nam e : Source 1D e l e tions - EPC to Be Re porte d: D ELETIO NS

Re ports

2º Re port: Re portNam e : Source 2D e l e tions EPC to Be Re porte d: D ELETIO NS Nam e : InvTracSource 2ALE Se nd Re ports as O bje ct: True Subs cribe rs : InvTracAl e TCP

Crie um úl tim o obje cto “ALE Eve nt Cy cl e ”, re pe tindo os pas s os ante riorm e nte dados com as s e guinte s proprie dade s : D uration (m s ): 5000 LogicalRe ade rs : Source 1 Source 2 Re portD e finitions : 1 G rouping Patte rns : urn:e pc:pat:s gtin-9 6:X.X.X.* Incl ude Count: True Incl ude Tag Uri: Fal se Re portIfEm pty : True Re portNam e : CountRe port EPC to Be Re porte d: CURRENT Nam e : InvTracCountALE Se nd Re ports as O bje ct: True Subs cribe rs : InvTracAl e TCP

Nota: Es ta de m ons tração us a m ais ALE

re ports e cone ctore s do q ue s e ria norm al m e nte re q ue rido. Is to é fe ito para m os trar um a m aior varie dade de opçõe s ALE.

<18>


te cnol ogias Para ve r o re s ul tado: - Iniciar/Re iniciar todos os com pone nte s al te rados /criados ; - Corre r a s e guinte apl icação: “… \Sy bas e \RFID Any w h e re \Bin\iAny w h e re .RfidNe t.Al e .Re portVi e w e r.e xe ”; Cl icar no s e parador TCP/IP M odificar a s e rve r portpara 10002 Cl icar e m “Start” Acabou de configurar a s ua s im ul ação no RFID -Any w h e re !

prim e ira

CR IA D O CENTR O D E INVES TIG A Ç ÃO R FID EM PO R TUG A L

S YBA S E R FID S O LUTIO NS CENTER “O Ce ntro ir-s e -á focar e s s e ncial m e nte no de s e nvol vim e nto de Fram e w ork s ope ns ource de s tinadas ao m e rcado e m pre s arialportuguês . Já no 2º trim e s tre de 2007 pre te nde -s e dis ponibil izar um a prim e ira ve rs ão de s te fram e w ork q ue irá conte m pl ar s ol uçõe s de track ing de pe s s oas , inve ntário de produtos , s is te m a de ge s tão de arm azéns , e ntre outros ” D ia 19 de Se te m bro de 2006 a Sy bas e Portugal anunciou e m com unicado a criação de um ce ntro de inve s tigação e de s e nvol vim e nto de s ol uçõe s RFID , o prim e iro da Sy bas e a níve lm undial . O Ce ntro de Inve s tigação RFID é coorde nado por Paul o Lope s , Bus ine s s D e ve l opm e nt M anage r da Sy bas e , e é o prim e iro ce ntro de com pe tências da Sy bas e e xcl us ivam e nte de dicado a RFID . As s ol uçõe s s e rão de s e nvol vidas com bas e e m produtos m iddl e w are Sy bas e e de parce iros , nom e adam e nte a Sy m bol , Inte rm e c/Cagicom p e Al ie n/Cre ative Sy s te m s , e ntre outros . O Ce ntro e s tá a funcionar nas ins tal açõe s da Sy bas e Portugale m Carnaxide e conta

<19 >

com todo o s oftw are (e s s e ncial m e nte RFID Any w h e re e .NET) e h ardw are (vários tipos de tags , com putadore s , dis pos itivos m óve is , re ade rs , e tc.) ne ce s s ários para de s e nvol ve r e te s tar s ol uçõe s RFID de q ual idade e m pre s arial . Se gundo a Sy bas e , os obje ctivos principais s ão o de s e nvol vim e nto da te cnol ogia, a dis ponibil ização de Fram e w ork s ope ns ource para o m e rcado e o e s tabe l e cim e nto de parce rias com forne ce dore s de h ardw are , ISVs , Inte gradore s , As s ociaçõe s e Ins titutos de Inve s tigação. A Sy bas e , um dos l íde re s de m e rcado na áre a e m pl e no de s e nvol vim e nto q ue é o RFID , apos ta na inve s tigação no cam po e de ixa as s im um de s afio às e m pre s as m ais viradas para a áre a da dis tribuição e da com e rcial ização: o de pode re m te r um s ignificativo aum e nto de produtividade com a apos ta ne s ta te cnol ogia e m e rge nte .

Cas os de Suce s s o EM PO RTUG AL

S ATU O e iras

“Com a te cnol ogia RFID é ace l e rado o proce s s o de val idação de bil h e te s , e vitando as s im a acu m u l ação de pe s s oas nas e ntradas das e s taçõe s do SATU.” O m ais re ce nte trans porte criado pe l a Câm ara M unicipal de O e iras tam bém apos ta na te cnol ogia RFID para a e ntrada de pas s age iros e carre gam e nto dos bil h e te s . Um norm al pas s age iro de s te trans porte ape nas te m de adq uirir um cartão (com o cus to de 0.50€ ) e carre gar o m e s m o com as viage ns q ue pre te nde r e fe ctuar, para q ual q ue r das e s taçõe s da l inh a do SATU (Sis te m a Autom ático de Trans porte Urbano). Na próxim a im age m pode m os ve r a Ante na de l e itura das tags e m butidas nos cartõe s dos util izadore s , q ue natural m e nte e s tará l igada a um re ade r.


te cnol ogias

EM ESPANH A

Corre os de Es paña

O ve ícul o da próxim a im age m util iza para s e m ove r um s is te m a de carris e é “puxado” por cabos de aço na parte infe rior do m e s m o, q ue por s ua ve z s ão m ovidos por m otore s pre s e nte s na prim e ira e s tação do pe rcurs o.

“Es tam os actual m e nte a final izar a ins tal ação do h ardw are e a com e çar a ins tal ação do m iddl e w are q ue foi forne cido pe l a Sy bas e ”, e m de cl araçõe s dos Corre os

Ne s te m om e nto o pe rcurs o de s te trans porte ainda é al go re duzido, m as s e m dúvida útil para a popul ação da zona.

<20>

Com o principais be ne fícios , os Corre os re conh e ce m q ue com um s is te m a RFID s e cons e guiu m e l h orar a q ual idade do s e rviço, dar um m aior val or aos s e us cl ie nte s e e s tabe l e ce r um a vantage m com pe titiva e m re l ação à concorrência. A e m pre s a tam bém adm ite q ue obtém um m e nor cus to "de vido à e s tandardização da te cnol ogia e ao cus to unitário das tags pas s ivas e m re l ação às tags activas ", e um a m aior funcional idade , "já q ue al ém do control o de q ual idade pode m os apl icar a outras funcional idade s com o o control o de e l e m e ntos l ogís ticos (carros , cam iõe s , e tc.)”.

D anie lCorre ia

Em baixo pode m os vis ual izar duas m áq uinas de carre gam e nto de cartõe s , onde ao ce ntro s e col oca o cartão, s e m e s tar e m contacto dire cto com a própria m áq uina, pe rm itindo as s im aos util izadore s um carre gam e nto m ais rápido, e vitando os norm ais atras os de im pre s s ão de bil h e te s .

A im pl e m e ntação de s te s is te m a de control o por radiofre q uência nos s e us 15 ce ntros de trans porte e arm aze nam e nto dis tribuídos por toda a Es panh a te ve um cus to de m ais de um m il h ão de e uros , para aq uis ição da te cnol ogia ne ce s s ária. Es ta q uantia incl ui s oftw are e s pe cífico e a s ua inte gração nos s is te m as inform áticos dos Corre os , a aq uis ição de 5.000 tags pas s ivas , a ins tal ação de m ais de 1.9 00 ante nas fixas e m ais de 330 re ade rs m óve is para e s s e s ce ntros , forne cidos pe l a Sy m bol Te ch nol ogie s .


tutorial propriedades &= "Atributos:" & ficheiro.Attributes.ToString & vbCrLf propriedades &= "Criação:" & ficheiro.CreationTime.ToString & vbCrLf propriedades &= "Ultimo Acesso:" & ficheiro.LastAccessTime.ToString & vbCrLf propriedades &= "Modificação:" & ficheiro.LastWriteTime.ToString & vbCrLf End With Console.WriteLine(propriedades) Return True Catch ex As Exception Return False End Try End Function

Vis ualBas ic.NET 4ª parte Na e dição ante rior fize m os um a abordage m s obre a util ização de array s e com o us ar as cl as s e s do nam e s pace Sy s te m .IO para a m anipul ação de fich e iros . Com o s abe m os , q ual q ue r fich e iro pos s ui um conjunto de proprie dade s , proprie dade s e s tas q ue e s tão ace s s íve is us ando a cl as s e Fil e Info. Dim ficheiro As New FileInfo("ficheiro.txt")

Proprie dade s do tipo, nom e do fich e iro, l ocal ização, e xte ns ão, atributos , tam anh o, e tc, e s tão facil m e nte ace s s íve is re corre ndo as proprie dade s incorporadas na cl as s e Fil e Info. Exe m pl o:

Função para obte r as proprie dade s de um fich e iro Private Function getProperties(ByVal caminho As String) As Boolean Try Dim ficheiro As New FileInfo(caminho) Dim propriedades As String = "" With ficheiro propriedades &= "Prop. do ficheiro" & ficheiro.Name.ToString & vbCrLf propriedades &= "======" & vbCrLf propriedades &= "Nome: " & ficheiro.Name.ToString & vbCrLf propriedades &= "Caminho: " & ficheiro.FullName.ToString & vbCrLf propriedades &= "Extensão: " & ficheiro.Extension.ToString & vbCrLf propriedades &= "Tamanho:" & ficheiro.Length.ToString & vbCrLf

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

O u tpu t Cam inh o do fich e iro: c:\fich e iro.txt Prop. do fich e iro ====== Nom e : fich e iro.txt Cam inh o: c:\fich e iro.txt Exte ns ão: .txt Tam anh o 37 Atributos : Arch ive Criação: 11-10-2006 16:27:14 Ul tim o Ace s s o: 11-10-2006 16:28:14 M odificação: 11-10-2006 16:28:14 Com o vim os , um a das vantage ns e m us ar a cl as s e Fil e Info, é a pos s ibil idade de obte r proprie dade s de um fich e iro de um a form a rápida, m as não s ó. Es ta cl as s e incorpora tam bém funçõe s para criar fich e iros , m ove r ou copiar da s ua l ocal ização actualpara outra, apagar, e ncriptar, e s cre ve r, l e r, e tc.

<21>


tutorial

O utra das grande s im pl e m e ntaçõe s na .NET Fram e w ork , foi o nam e s pace Sy s te m .String. Na m aioria dos proje ctos , e xis te um a s ituação e m q ue pre cis am os de faze r o tratam e nto de um a s tring, daí a im pl e m e ntação de cl as s e s para cada ve z m ais facil itar a tare fa do program ador. Ne s te artigo abordare m os as funçõe s m ais im portante s para o tratam e nto de s trings , e para e xe m pl ificar ire m os util izar um a s tring fixa, q ue s e rá “Vis ualBas ic .NET”. As funçõe s q ue ire m os e xe m pl ificar s ão as q ue , por norm a, s ão m ais util izadas , s e ndo el as , Contains (), Inde xO f(), Ins e rt(), Le ngth (), Las tInde xO f(), SubString() e Trim (). A função Contains () pe rm ite -nos s abe r s e um a de te rm inada s tring e xis te na s tring e m q ue s tão. No e xe m pl o s e guinte , irá s e r re tornado o te xto “Exis te ”, pois com o pode m os ve rificar, a s tring “Ba” e s tá contida na s tring e xe m pl o. Dim str As String = "Visual Basic .NET" If str.Contains("Ba") Then Console.Write("Existe") Else Console.Write("Não Existe") End If

D im s tr As String = "Vis ualBas ic .NET" Cons ol e .W rite (s tr.Inde xO f("B")) A função Ins e rt() pe rm ite -nos ins e rir e m q ual q ue r pos ição de um a s tring, outra s tring. No e xe m pl o s e guinte , irá s e r adicionada a s tring “é fixe ” no fim da s tring s tr, re tornando um a s tring “Vis ualBas ic .NET é fixe ”. D im s tr As String = "Vis ualBas ic .NET" s tr = s tr.Ins e rt(17, "é fixe ") Cons ol e .W rite (s tr) A função Las tInde xO f() de vol ve -nos a úl tim a pos ição de um a s tring q ue s e e ncontra num de te rm inado te xto. No e xe m pl o s e guinte , s e rá re tornada a pos ição 8, pois é onde s e e ncontra a ul tim a l e tra “a” na s tring. D im s tr As String = "Vis ualBas ic .NET" Cons ol e .W rite (s tr.Las tInde xO f("a")) A função Le ngth (), indica-nos o tam anh o q ue um a s tring te m . No e xe m pl o s e guinte , irá s e r re tornado o val or 17, pois a s tring util izada contém 17 caracte re s . D im s tr As String = "Vis ualBas ic .NET" Cons ol e .W rite (s tr.Le ngth ) A função SubString() pe rm ite -nos parte s de um a s tring.

“cortar”

D im s tr As String = "Vis ualBas ic .NET" Cons ol e .W rite (s tr.Subs tring(7, 3)) 'O UTPUT: "Bas " A função Trim () tal ve z s e ja a m ais us ada de todas . Es ta função pe rm ite -nos re m ove r os e s paços q ue e s tão a m ais num a s tring. Um e xe m po da s ua util ização: D im s tr As String = " Vis ualBas ic .NET " Cons ol e .W rite (s tr.Trim ) 'O UTPUT: "Vis ualBas ic .NET"

A função Inde xO f() pe rm ite -nos s abe r s e um a de te rm inada s tring e xis te no te xto e de vol ve nos a pos ição inicialde l a cas o e xis ta. No e xe m pl o s e guinte , irá s e r re tornada a pos ição 7, pois é onde s e e ncontra a l e tra “B”.

<22>

Com o pode rão ve r, e xis te m outras funçõe s para tratam e nto de s trings , q ue pode m s e r rapidam e nte de s cobe rtas na docum e ntação. Q uanto ao tratam e nto de s trings é tudo. Na próxim a e dição ire m os dar inicio à abordage m s obre bas e de dados , por is s o e s te jam ate ntos ao l ançam e nto da e dição s e guinte .

Tiago Sal gado & M arce l o M artins

Não s ão ape nas os fich e iros q ue pos s ue m proprie dade s , pois os dire ctórios tam bém as pos s ue m e , por is s o, te m os dis poníve l a cl as s e D ire ctory Info, conte ndo q uas e as m e s m as proprie dade s da Fil e Info, não dife re nciando m uito a s ua util ização da dos fich e iros . Q ue m te m vindo a acom panh ar o s e guim e nto dos artigos s obre e s ta l inguage m , ce rtam e nte q ue s e ape rce be u q ue o obje ctivo é dar um a ajuda a q ue m pre te nde iniciar-s e e m VB.NET, l ogo, todos as m atérias não s ão e xte ns ivam e nte abordadas , ficando is s o ao cargo de cada um , por is s o, te rm ina aq ui a abordage m a fich e iros .


gnu/l inux # mount <directório representativo do hardware ou ficheiro> <directório de montagem> <opções>

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

M ounting Fil e Sy s te m s A m ontage m de s is te m as de fich e iros nos s is te m as G NU/Linux é al go q ue ge ra s e m pre e m q ual q ue r novato na m atéria dúvidas e inde cis õe s . Es te artigo pre te nde e xpl icar com s im pl icidade e de s de o início, todos os pas s os re q ue ridos para q ue tudo fiq ue a funcionar corre ctam e nte . É s e m dúvida um e ntre m uitos outros “ch oq ue s ” o q ue s e te m ao e xpe rim e ntar um s is te m a G NU/Linux pe l a prim e ira ve z, q ue re r ace de r àq ue l a drive onde guardam os toda a nos s a vida e não cons e guir ne m s abe r com o o faze r. É ce rto q ue os D e s k top Environm e nts m ais re ce nte s têm facil itado m uito o proce s s o, contudo, ne m s e m pre nos ofe re ce m com o opção gráfica aq uil o q ue q ue re m os e xactam e nte faze r. Com o tal , convém conh e ce r e dom inar os principais m e canis m os do s is te m a de m ontage m de fich e iros e us á-l os com o be m e nte nde rm os , se m l im itaçõe s . Vam os a is s o... Prim e iro, h á q ue re te r a ide ia q ue e m G NU/Linux q ual q ue r drive , para pode r s e r ace dida, te m de s e e ncontrar m ontada, ou s e ja, a s ua pre s e nça fís ica te ve de te r s ido ide ntificada pe l o s is te m a, à drive te r s ido as s ociado um dire ctório de m ontage m e , por fim , te r-s e proce dido à as s ociação do conte údo da drive ou s is te m a de fich e iros , ao dire ctório de m ontage m de finido. Para tal , us a-s e o com ando m ount, q ue funciona da s e guinte m ane ira:

<23>

Es pe cifica q ue a pe n drive (q ue , ne s te cas o, é re pre s e ntada por /de v/s da no dire ctório q ue contém os fich e iros q ue re pre s e ntam o h ardw are /de v) s e rá m ontada no dire ctório (q ue de ve rá já pre viam e nte e xis tir) /m nt/pe ndrive , te ndo com o opção -t vfat, o q ue inform a o m ount de q ue s e e s tá a trabal h ar com um s is te m a de fich e iro e m FAT. Para s abe r m ais facil m e nte a q ue /de v/xxx corre s ponde a drive q ue de s e jam os m ontar de ve rá corre r o com ando: # fdis k -l , ou q ual q ue r corre s ponde nte gráfico. No e ntanto, e com o o l e itor provave l m e nte e s tará a pe ns ar, s e ria bas tante cans ativo s e m pre q ue s e inicias s e o s is te m a te r de proce de r à e xe cução de s te s com andos para cada drive a q ue q uis e s s e m os ace de r, com o tal , ire m os tam bém apre nde r a tornar tudo is to autom ático. D e q ual q ue r m odo, e ante s de tudo is s o, h á al go a im portante a ve r. Todo e s te proce s s o de m ontage m re q ue r q ue o k e rne lda nos s a dis tribuição já conte nh a carre gados m ódul os q ue l h e pe rm itirão, de s de m ontar os s is te m as de fich e iros h abituais e m G NU/Linux (com o o e xt2/3, o Re is e rFS, o JFS, ...), be m com os de W indow s (FAT, NTFS,...), as s im com o al gum as proprie dade s de s te s (s is te m a de codificação de caracte re s ). De um m odo ge ral q uas e todas as dis tribuiçõe s já têm activos e s te s m ódul os de raiz e , portanto, s ó te rá de s e procupar m e s m o com o proce s s o de m ontage m de s is te m as s de fich e iros , s e ja e l e m anualou autom ático. Util izadore s de Ubuntu, SuSE, M e pis , Fe dora Core , e ntre m uitas outras pode m pas s ar dire ctam e nte ao ponto s e guinte . D e q ual q ue r m odo, s e al gum com ando l h e de r um e rro, pode rá s e r de rivado da ine xis tência de s uporte no k e rne l ao s is te m a de fich e iros pre te ndido e , com o tal , de ve rá s e guir o e xpos to a s e guir.


gnu/l inux Re com pil ando o Ke rne lpara garantir s uporte aos s is te m as de fich e iros pre te ndidos Pode r-s e -á pe ns ar q ue e s te é um pas s o com pl icado ou m e s m o arris cado, no e ntanto ape nas re q ue r um pouco de ate nção e tudo corre rá be m . A s ua dis tribuição de ve rá te r um m étodo particul ar para proce de r a e s ta actividade e , com o ne m s e m pre o m étodo tradicionalé unive rs alpara todas as dis tribuiçõe s , de ixo a cargo do l e itor procurar nos fóruns da s ua dis tribuição um tutorialq ue l h e indiq ue com o proce de r para a re com pil ação do k e rne l . Subl inh o q ue para a grande m aioria das dis tribuiçõe s nada dis to s e rá ne ce s s ário. D e ve rá, s e s e guiu um q ual q ue r tutorials obre com o re com pil ar o k e rne l , e ncontrar-s e ne s te m om e nto num a inte rface s e m e l h ante à da im age m (ge ral m e nte ace s s íve l pe l o com ando m ak e m e nuconfig ou m ak e xconfig).

D e s e guida e ntre e m : Device Drivers ->DOS/FAT/NT Filesystems

E se l e ccione o s uporte para os s is te m as de fich e iros W indow s q ue de s e jar. Em D e faul t Ch ars e t for FAT de ve rá s e l e cionar Ente r e ins e rir is o8859 -15, cas o o s e u s is te m a de fich e iros s e ja ace dido tam bém num s is te m a W indow s , de m odo a não te r probl e m as ne m na vis ual ização, ne m na e s crita, do te xto pre s e nte ne s s e tipo de partição. Acim a de s s e val or e ncontra-s e o de D e faul t Code page for FAT q ue de ve rá s e r o 860 para a l íngua portugue s a. D e s e guida, s e acabou de s e l e ccionar o s uporte para os s is te m as de fich e iros W indow s , de ve rá tam bém activar o s uporte aos s is te m as de caracte re s de finidos ante riorm e nte , e m : Device Drivers ->Native Language Support

E de ve rá activar: <*> Codepage 860 (Portuguese) <*> NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)

O pcional m e nte pode dar je ito adicionar tam bém : <*> NLS UTF-8

D e ve rá tam bém ve rificar s e e m : M ovim e nte -s e com as te cl as de dire cção, Ente r para e ntrar nas pas tas , a barra de e s paços para s e l e ccionar cada m ódul o q ue de s e jar (e s tará corre ctam e nte s e l e ccionado q uando apare ce r <*> no princípio da l inh a) e Es c para s air. Entre e m : Fil e Sy s te m s Aq ui te rá de s e l e ccionar cada s is te m a de fich e iros para o q ualq uis e r te r s uporte . Um e xe m pl o:

Device Drivers -> CDROM/DVD Filesystems

contém s uporte arm aze nam e nto.

para

e sse s

tipos

de

Cas o pre te nda m ontar fich e iros de im age m de cd/dvd .is o, s e l e cione tam bém ne s s a pas ta: <*> Microsoft Joliet CDROM extensions

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

Cas o pre te nda s uporte USB te rá de s e dirigir a: Device Drivers -> USB Support <*> USB Mass Storage Support

e tudo o m ais s e ade q uar ao h ardw are pre s e nte na s ua m áq uina.

<24>


gnu/l inux Us e o TAB para s e l e ccionar Exit, e re pita várias ve ze s até s air do configurador e l h e se r pe rguntado s e de s e ja gravar as al te raçõe s fe itas , onde de ve rá re s ponde r Ye s . Pros s iga o tutorialda s ua dis tribuição de m ane ira a apl icar o novo k e rne le activá-l o.

M ontando...

O facto de um a drive s e e ncontrar no fstab, não q ue r dize r e xactam e nte q ue no m om e nto do boot te nh a de l á e s tar al gum tipo de dados a s e re m m ontados . Por e xe m pl o, pode adicionar-s e um a drive de cdrom 's ao fstab s e m l á s e e ncontrar ne nh um cd, q uando for para a ace de r bas tará faze r: # mount /dev/cdrom0

Pos to tudo is to, vam os final m e nte pas s ar à acção e a apre nde r a m ontar os s is te m as de fich e iros q ue ne ce s s itam os s e m q ual q ue r probl e m a. Prim e iro, e com o já foi re fe rido, h á um fich e iro de te xto q ue de fine , aq uando do carre gam e nto do s is te m a, as drive s a s e re m m ontadas autom aticam e nte . Talfich e iro é o /e tc/fstab e é e ditáve l ape nas pe l o s upe r util izador root. Tudo aq uil o q ue s e faz pe l o com ando m ount pode s e r de finido no fstab e de s te m odo m ontado de s de o início s e m inte rve nção dire cta do util izador. O fich e iro cons is te em 5 col unas q ue de fine m e xactam e nte o m e s m o q ue é de finido no com ando m ount, s e ndo e s tas : <fs> <mountpoint> <type> <opts> <dump/pass>

Corre s ponde ndo o <fs> à im age m do h ardw are no dire ctório /de v/, o m ountpoint ao dire ctório onde tal drive de ve s e r m ontada para q ue s e ja ace dida, o ty pe re fe re -s e aos s is te m a de fich e iros (fat, e xt3, e tc), o <opts > a opçõe s . Já o dum p re fe re s e à ne ce s s idade ou não de s e r fe ito um dum p ao dis co aq uando do s e u carre gam e nto, e o pas s re fe re -s e à orde m pe l a q ualde ve s e r fe ito um ch e ck às drive s cas o o s is te m a não te nh a s ito te rm inado corre ctam e nte (0 re fe re q ue não é ne ce s s ário nunca faze r talve rificação, e a partição rootde ve rá te r o val or 1). Um e xe m pl o para a partição root: # <fs> <mountpoint> <type> <opts> <d/p> /dev/hda1 / reiserfs noatime 0 1

<25>

ou # mount /mnt/cdrom

q ue o com ando autom aticam e nte l e rá o fstab e e xe cutará o proce s s o com todas as opçõe s l á de finidas . Se ndo por s ua ve z a de finição na drive no fstab: /dev/cdrom0 /mnt/cdrom noauto,ro 0 0

iso9660

O facto de ape nas o util izador root pode r m ontar/de s m ontar a partição/drive pode s e r al te rado pe l a adição da opção 'us e r' na col una <opts > do fstab, na l inh a da drive pre te ndida. Já o 'ro', re pre s e nta re ad onl y, ou s e ja, ape nas s e rá pos s íve la l e itura ne s s a drive cd. Para m ontar um a partição FAT faríam os por e xe m pl o, novam e nte tudo na m e s m a l inh a: /dev/hda4 /mnt/particaofat user,rw 0 0

vfat


gnu/l inux Q ue nos m ontará a drive com 'rw ', ou s e ja, com a particul aridade de s e e ncontrar com ace s s o re ad and w rite (e s crita e l e itura). Se porve ntura e s s e ace s s o for ape nas vál ido para o util izador root, e de s e jarm os de finir as pe rm is s õe s da drive e m q ue s tão, bas ta nas opçõe s adicionar o com ando um as k =0xxx, e m q ue o xxx é um núm e ro q ue de fine as pe rm is s õe s da partição m as inve rtidas , e o 0 inicialo pre fixo q ue indica q ue o núm e ro cons e q ue nte e s tará e m octal . O u s e ja, s e q uis e rm os de finir um a pe rm is s ão 777 fare m os um as k =0000, s e q ue re m os 644 fare m os um as k =0133. Se m pre 7 m e nos o núm e ro q ue de fine a pe rm is s ão q ue pre te nde m os . Para s abe r de finir pe rm is s õe s ve ja a e dição pas s ada da Re vis ta PRO G RAM AR.

Agora, o uid e gid, é um a m ane ira dife re nte de de finir pe rm is s õe s , e nq uanto o um as k faz o e q uival e nte a um ch m od (de finir pe rm is s õe s ), o uid e gid faze m o e q uival e nte a um ch ow n (de finir a q ue m s e apl icam as pe rm is s õe s de finidas ). Para s abe r os val ore s a pôr a s e guir ao = de cada opção faça:

Pode m os tam bém de finir um a pe n us b no fstab, faze ndo para is s o:

# mount -t iso9660 -o loop,user <imagem>.iso /<directório de montagem>

/mnt/pendrive 0 0

E obte rá a re s pos ta. O utra particul aridade da m ontage m de s is te m as de fich e iros é q ue pode rá us ar o com ando m ount para m ontar im age ns de fich e iros e m .is o, para is s o:

vfat

Não nos e s q ue çam os q ue na com pil ação do k e rne lfoi de finido, para os s is te m as de fich e iros FAT, o s is te m a de codificação de caracte re s de faul t. Se rá com e s s e q ue a drive s e rá m ontada. Se não o de s e jar us e a opção nl s =, por e xe m pl o nl s =is o8859 -15, ou nl s =utf8. Para ntfs faríam os por e xe m pl o: /dev/hdb1 /mnt/windows ntfs nls=utf8,user,ro,uid=1000,gid=1000

Pe ns o q ue e s tão de s ta m ane ira e xpl icadas as opçõe s bás icas para a m ontage m de s is te m as de fich e iros , com o o faze r, e ce rtos re q ue rim e ntos ne ce s s ários ao níve l do k e rne l . Exis te m m uitas m ais opçõe s , tal ve z tantas q ue dariam conte údo para um a re vis ta PRO G RAM AR inte ira, m as is s o fica a cargo do util izador q ue acabou de l e r e s te artigo e de s e ja s abe r m ais . O com ando m an m ount, de ve rá re s ponde r m ais de tal h adam e nte a todas as opçõe s pos s íve is e s uas funçõe s . Boas m ontage ns ...

0 0

Q ue de fine q ue a drive a s e r m ontada pos s ui s is te m a de fich e iros e m NTFS, com o s is te m a de codificação de caracte re s de finido para utf8 (pode s e r us ada is o8859 15, m as é irre l e vante vis to q ue por de fe ito nos s is te m as G NU/Linux nada pode s e r e s crito e m ntfs), o util izador norm alpode rá m ontá-l a e de s m ontá-l a ('us e r'), m as ape nas pode rá l ê-l a (ro).

<26>

M igue lPais

/dev/sda user,rw

$ id <nome do user que quer que seja dono (owner) da drive>


proje cto

A ne ce s s idade é a m ãe de todas as inve nçõe s w e Spe ndM one y

é um a apl icação w e b de s tinada a pe s s oas q ue q ue re m control ar as s uas de s pe s as de form a fácil , rápida e s e gura. Não é pre cis o ins tal ar e m ne nh um com putador, ape nas é ne ce s s ário re gis tar no s ite e te r um a l igação à Inte rne t para com e çar a us ar.

D uas s e m anas de pois e com um a prim e ira ve rs ão funcional com e çe i a ponde rar a h ipóte s e de tornar o proje cto dis poníve lna Inte rne t, ou m e s m o criar um a ve rs ão com e rcial . Para confirm ar todas e s tas q ue s tõe s , foi fe ito um pl ano de ne gócio bás ico e o proje cto foi apre s e ntado na Confe rência Barcam p Pt, (h ttp://barcam p.org /BarCam pPortugal ), confe rência e s ta s obre novas te cnol ogias , program ação, w e b 2.0 e outros as s untos . A apre s e ntação foi um s uce s s o, várias pe s s oas de m ons traram inte re s s e no proje cto e m ais tarde foi fe ita outra apre s e ntação públ ica na Sh ift 06, onde cons e gui e fe ctuar m uitos contactos e pe rce be r o pote ncialq ue te m os e m Portugal para de s e nvol ve r para a w e b.

A ide ia para o proje cto com e çou num a conve rs a de café, e ntre col e gas de trabal h o, onde dis cutíam os a q ue s tão do control o das de s pe s as fe itas ao l ongo dos dias e s e m anas . Poucos de nós re al izam os com al gum a pe riodicidade a actual ização das cade rne tas e ch e gam os à concl us ão q ue os e xtractos bancários pas s ado al gum te m po s ão il e gíve is , pois a fraca de s crição "h um ana" das de s pe s as , por e xe m pl o "CO M P 9 8, 5 e uros ", não pe rm ite re cordar e xactam e nte q uala de s pe s a e m s i. O utro probl e m a cons is te no us o de apl icaçõe s actual m e nte e xis te nte s para o W indow s , norm al m e nte com um inte rface confus o, com "fe ature s "q ue ninguém us ava e difícil de apre nde r. Lançado o probl e m a na m e s a pe rce be m os q ue a m e l h or s ol ução não e ra gravar cada de s pe s a q ue faze m os e m fich e iros de te xto arm aze nados num pc, m as num a apl icação w e b q ue pe rm itis s e ace s s o e m q ual q ue r al tura e l ugar, s e ndo ne ce s s ário s e r intuitiva e s e gura (pois o dinh e iro é s e m pre um as s unto s e ns íve lna inte rne t) e fácilde us ar. D e pois de m uitas s uge s tõe s de cidi iniciar e s ta ave ntura de faze r um a apl icação q ue não s ó m e re s ol ve s s e a fal ta de control o s obre os gas tos , m as q ue tam bém s e rvis s e de tre ino para os m e us s k il l s com um a ce rta fram e w ork q ue já andava h á e s tudar a al gum te m po...

<27>

W e Spe ndM one y foi de s e nh ado de raiz pe ns ando no util izador. Não s e pre te nde cons truir um a apl icação com ce nte nas de "fe ature s " q ue não s e jam us adas pe l os util izadore s , m as procurar s e r tão s im pl es com o um w e bl og e forne ce r aos util izadore s as fe rram e ntas q ue pre cis am para guardar e catal ogar as s uas de s pe s as , de finir orçam e ntos m e ns ais e age ndar trans acçõe s .


proje cto Tam bém é pos s íve lcons ul tar re l atórios s obre o q ue s e gas tou, q uando e onde , para al ém de s e pode r e xportar a q ual q ue r m om e nto todos os nos s os dados para um fich e iro ".cs v" q ue pode s e r abe rtos pe l o M icros oft Exce l . Is s o q ue r dize r q ue os nos s os dados não ficam "pre s os "pe l a apl icação.

Para com e çar o de s e nvol vim e nto do w e Spe ndM one y não foram ne ce s s ários m uitos re curs os , al iás , e s s a com e ça a s e r a norm a com a m aioria dos proje ctos re l acionados com a w e b 2.0. Foi util izada a fram e w ork ope ns ource Ruby O n Rail s com o bas e da program ação e o s is te m a de ge s tão de bas e de dados e s col h ido foi o M y SQ L, q ue é igual m e nte gratuito. O s is te m a de control o de ve rs õe s e s col h ido foi o SVN (m ais conh e cido por Subve rs ion) pe l as s uas caracte rís ticas s upe riore s ao CVS e a ge s tão do proje cto ficou facil itada pe l o us o do Bas e cam p (h ttp://w w w .bas e cam ph q .com ), um ge s tor de proje ctos onl ine tam bém e l e fe ito e m Ruby O n Rail s.

M as afinalo q ue é Ruby O n Rail s e q ual a s ua im portância para o proje cto? Ruby O n Rail s é um a fram e w ork com pl e ta para o de s e nvol vim e nto de apl icaçõe s w e b, a s ua fil os ofia as s e nta na fe l icidade do program ador e e m produtividade s us te ntáve l .

<28>

Rail s é um a l inguage m m uito dinâm ica, al tam e nte produtiva, orie ntada a obje ctos com um a s intaxe coe re nte , fam il iar e m uito s im pl e s q ue util iza o padrão M VC (M ode lVie w Control e r). Rail s s e gue dois conce itos q ue vis am aum e ntar a produtividade de q ue m program a: D RY e Conve ntion ove r Configuration. D RY (D on't Re pe at Yours e l f, Não s e re pita) é o conce ito por trás da técnica de e s cre ve r nom e s , proprie dade s e código e m s om e nte um l ugar e re aprove itar e s s as inform açõe s e m outros s ítios da nos s a apl icação, é e s s e ncialpara m ante r código l im po e a apl icação facil m e nte actual izáve is no futuro. Conve ntion O ve r Configuration (Conve nção ao invés de Configuração) é um conce ito onde s e pre te nde o us o de conve nçõe s ou padrõe s e cas o o program ador de s e je , pode s e s obre s cre ve r e s s a conve nção com o val or q ue de s e ja (ou foge á norm a). Por e xe m pl o, a cl as s e Carro pode te r os s e us dados arm aze nados na tabe l a Carros , m as s e de s e jarm os pode m os atribuir outro nom e à tabe l a. Com e s te s dois conce itos e m uitos outros porm e nore s intríns e cos da fram e w ork , o te m po de de s e nvol vim e nto é m ais curto e o trabal h o do program ador é facil itado.


proje cto

Pode ria fal ar m ais de tal h adam e nte de Rail s m as é m e l h or de ixarm os is s o para um futuro artigo, de q ual q ue r form a q ual q ue r pe s s oa pode faze r dow nl oad e com e çar a program ar e m Ruby ou Ruby O nRail s , bas ta para is s o ir ao e nde re ço oficial (h ttp://w w w .ruby onrail s .com ), ou s e de s e jare m m ais inform açõe s em português no Ruby <<portugue s e (h ttp://w w w .ruby-pt.org). Es ta al ta produtividade forne cida pe l a fram e w ork (e a fil os ofia q ue a acom panh a) foi a principalrazão pe l a s ua e s col h a na produção do w e Spe ndM one y (adm ito q ue a inte gração com as bibl iote cas prototy pe e s cript.acul o.us para ge rar e fe itos Ajax tam bém pe s ou na e s col h a).

A apl icação ainda e s tá e m de s e nvol vim e nto cons tante , e xis te m pl anos para incorporar w e Spe ndm one y com o te l e m óve l (por e xe m pl o para cons ul tar o s al do), traduzir para várias l ínguas , criação de w idge ts para o Ne tvibe s e o Yah oo!W idge ts (de form a a inte ragir com o s ite a partir do de s k top) e a pos s ibil idade de im portar trans acçõe s dire ctam e nte dos bancos . No fundo tornar a vida dos util izadore s cada ve z m ais facil itada. No início de Nove m bro de ve rá e s tar dis poníve la ve rs ão al ph a para todas as pe s s oas q ue pe dire m no s ite oficial (h ttp://w w w .w e s pe ndm one y.com ), é um a m ane ira de pode r participar na cons trução da apl icação te s tando e contribuindo com s uge s tõe s ou criticas à form a com o e s tá de s e nvol vida. As s im concl uo, q ue e s te proje cto te m s ido um de s afio m uito e nriq ue ce dor e e s pe ro q ue ins pire outros a participar e m e xpe riências s e m e l h ante s .

Pe dro Sous a é Program ador Se nior na Acce nture com vários anos de e xpe riência e m apl icaçoe s w e b e fundador do grupo "ruby <<portugue s e " (ruby-pt.org) e nos te m pos l ivre s e s cre ve para no s e u bl og (re inve ntar.com ).

<29 >

Pe dro Sous a

Q ue m é Pe dro S ous a?


anál is e s

Al goritm ia e Es truturas de D ados Jos é Brag a de Vas cons e l os João Vidalde Carval ho Editora: Ce ntroAtl antico.pt Col e cção: Te cnol ogias

Páginas : 328 1ª e dição: Se te m bro de 2005 ISBN: 9 89 -615-012-5

O l ivro com e ça com um a de tal h ada introdução ao m undo da al goritm ia e à m ode l ação de probl e m as . É re l acionada a al goritm ia com a e nge nh aria de s oftw are , s ão apre s e ntadas as s uas com pone nte s , al gum as l inguage ns q ue pe rm ite m a s ua re pre s e ntação. Tam bém s ão m e ncionados dois dife re nte s m étodos de conce pção al goritm ica, os conh e cidos ite ração e re curs ão. A s e guir, s ão apre s e ntados os tipos de e s truturas de dados util izados e m com putação e todas as caracte rís ticas da l inguage m (ps e udocódigo) q ue s e rá util izada para a re pre s e ntação dos al goritm os propos tos ao l ongo do l ivro. G rande parte do l ivro é de dicada à apre s e ntação e cons e q ue nte propos ta de al goritm os re fe re nte s a variados probl e m as re corre nte s em com putação, com o orde nação e pe s q uis a e m l is tas , e re fe re nte s

<30>

à m anipul ação de im portante s e s truturas dis cre tas com o pil h as , fil as , l is tas e ncade adas s im pl e s e circul are s , árvore s e grafos . Todas e s tas e s truturas de dados s ão be m e xpl icadas , com o auxíl io de e s q ue m as s im pl e s e de s criçõe s de tal h adas . Final m e nte , s ão introduzidas duas l inguage ns de program ação m uito util izadas actual m e nte . É dada m ais ênfas e à l inguage m C e às s uas caracte rís ticas para a re pre s e ntação e control o de dados , s e ndo e ntão trans critos al guns al goritm os ante riorm e nte re fe re nciados , ne s ta l inguage m . São de pois apre s e ntadas as caracte rís ticas únicas de Java, s e guidas de e xe m pl os de util ização de cl as s e s e da de finição de tipos de dados abs tractos . Al goritm ia e Es truturas de D ados é um l ivro be m cons e guido, e s crito por dois profe s s ore s e xpe rie nte s e m dive rs as áre as das ciência da com putação. Es te l ivro pode rá s e rvir tanto para e ntrar no m undo da al goritm ia, com o de re fe rência para trabal h os futuros . Pe ca ape nas por al gum a com pl e xidade , tornando-s e as s im ape nas re com e ndado a q ue m já pos s uir al gum "back ground" e m program ação de com putadore s . M as não de ixa de s e r um óptim o l ivro para e s tudante s da áre a de inform ática, m ate m ática apl icada e /ou curs os de e nge nh aria.

Sérgio Santos

Al goritm ia e Es truturas de D ados é um l ivro de s tinado a todos os inte re s s ados nas ciências da com putação. Es te l ivro foca-s e e s s e ncial m e nte na al goritm ia, com o form a de re s ol ução de probl e m as e com o auxil iar à criação de program as de com putador para apl icar e s s as s ol uçõe s . São tam bém m uito focadas dive rs as e s truturas de dados re corre nte s actual m e nte . Por fim , é fe ita um a bre ve introdução a duas popul are s l inguage ns de program ação, C e Java.


anál is e s

Le arning C# 2005 Je s s e Libe rty Brian M acD onal d Editora: O 'Re il l y M e dia Linguage m : Ingl e sa

Páginas : 552 2ª e dição: Fe ve re iro de 2006 ISBN: 0-59 6-10209 -7

É aq ui q ue e ntra o l ivro Le arning C# 2005. D e s tinado principal m e nte a util izadore s s e m q ual q ue r e xpe riência ne s ta áre a, a re fe rida publ icação pe rm ite ao l e itor cons truir bas e s s ól idas , tanto nos conce itos te óricos do .NET Fram e w ork ou de O bje ct O rie nte d Program m ing com o nas apl icaçõe s de s s e s conce itos para a cons trução de apl icação m ais e s táve is e funcionais . Através de e xe m pl os de código, dicas e cons e l h os , a l inguage m é apre s e ntada ao iniciante de form a s uave , pe rm itindo a as s im il ação das ide ias e a s ua apl icação e m conte xto prático. O te xto é e s crito num vocabul ário m uito ace s s íve l , s e ndo q ue todos os te rm os técnicos q ue o l e itor pos s a não conh e ce r s ão e xpl icados e m de tal h e . E é faze ndo us o de s ta m e s m a ace s s ibil idade q ue o l ivro cons e gue orie ntar e tornar pe rce ptíve is m e s m o os conce itos m ais com pl e xos .

<31>

O utro dos pontos a favor é o s e u de tal he, pe rm itindo q ue m e s m o os iniciante s q ue program am h á pouco te m po pos s am , de pois da l e itura, cons truir program as m uito com pl e tos , util izando o pode r de todas as fe rram e ntas e funcional idade s q ue l h e s s ão ofe re cidas de form a prática e e ficie nte . O l ivro cobre q uas e tudo s obre a s intaxe e e s trutura da l inguage m , be m com o as boas práticas no de s e nvol vim e nto de apl icaçõe s . H á um grande e nfoq ue nos conce itos e apl icação do paradigm a O O , um a das grande s vantage ns do C# e m re l ação a outras l inguage ns . O de s vio da ate nção do l e itor para te m as com o o as pe cto vis uale a apre s e ntação dos control os nas jane l as não é probl e m a, um a ve z q ue todos os te m as s ão abordados através da util ização de um a cons ol a. O utro dos pontos a e nal te ce r é a apre s e ntação de s um ários , q ue s tionários e e xe rcícios no fim de cada capítul o, q ue o l e itor de ve te ntar re s ol ve r para ce rtificar-s e de q ue pe rce be u toda a inform ação. O código dos proje ctos apre s e ntados no l ivro e s tá dis poníve l na Inte rne t, e m h ttp://w w w .l ibe rty as s ociate s .com /page s /fil e s/ Le arningCS2e Source .zip. Fica e ntão a ide ia de q ue o l ivro é um a boa e s col h a para a iniciação e m C# , m as para os q ue já têm e xpe riência ne s ta l inguage m outros l ivros , com o Program m ing C# , dos m e s m os autore s , s ão m ais acons e l h áve is .

Pe dro Cal de ira

Actual m e nte , s ão m uitos os util izadore s q ue ade re m ao m undo da program ação, q ue r para fins profis s ionais , q ue r para dive rs ão ou com o h obby. M uitos de s te s inte re s s ados de param -s e , de início, com a dis cutíve le ine vitáve lpe rgunta: “Q ue l inguage m de vo apre nde r prim e iro? ” H á dive rs as opiniõe s s obre o te m a, m as um a grande parte dos program adore s diria q ue C# .NET é um a l inguage m pode ros a e , s im ul tane am e nte , ide alpara a iniciação.


inte rne t

apatana é u m ID E dire ccionado

para as l ing u ag e ns w e b: JavaS cript, H TM L, C S S ;com caracte rís ticas m u ito úte is para os prog ram adore s . Es tá dis poníve l tam bém com o pl u g in para o conh e cido Ecl ips e . h ttp://w w w .aptana.com

D is troW atch é u m conh e cido

portals obre dis tribu içõe s de s is te m as ope rativos Linu x e BS D . C ontém as úl tim as novidade s e várias inform açõe s e s s e nciais s obre as dis tribu içõe s , as s im com o TO Ps de popu l aridade . h ttp://dis trow atch .com

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

de m ons tração de de ze nas de C M S s (C onte nt M anag m e nt S y s te m s ) g rátis e l ivre s , de s tinados para portais , bl og s , fóru ns , w ik is , e ntre m u itos m ais . h ttp://w w w .ope ns ou rce cm s .com

M ath s Ch al l e nge é a cas a do Proje cto

Eu l e r, u m proje cto q u e cons is te na re s ol u ção de de ze nas de dife re nte s probl e m as m ate m áticos , re corre ndo à prog ram ação. Pos s u i tam bém e s tatís ticas s obre as l ing u ag e ns e os país e s dos participante s , s e ndo pos s íve lobs e rvar q u e ainda te m pou co pe s o e m Portu g al . h ttp://m ath s ch al l e ng e .ne t

<32>


bl ue s cre e n

M ais um dos fam os os e rros

Foi e ncontrada a te cl a m ais procurada de todas

Um a de s cobe rta inovadora

O novo m odding portรกtil

<33>


com unidade

Q ue re s participar na re vis ta PRO G RAM AR?Q ue re s inte grar e s te proje cto, e s cre ve r artigos e ajudar a tornar e s ta re vis ta num m arco da program ação nacional ? Vai a

w w w .re vis ta-program ar.info para m ais inform ação com o participar ou e ntão contacta-nos por

re vis taprogram ar

@ portugal -a-program ar.org Pre cis am os do apoio de todos para tornar e s te proje cto ainda m aior...

Es tam os s e ns ive l m e nte a dois m e s e s do fim do ano e o Portugal -a-Program ar continua a te ntar inovar e m várias áre as ao m e s m o te m po: nas q ue já e s tam os ins e ridos tive m os s uce s s o, nas q ue e s tão a s e r pl ane adas e s pe ram os te r ainda m ais . Contam os com um fórum m ovim e ntado, com aproxim adam e nte 2200 util izadore s , o q ue faz com q ue e s te jam os à vontade para nos conce ntrarm os noutros voos . A re vis ta bate u todos os re corde s de e s tatís ticas com a e dição ante rior e vam os ce rtam e nte bate r m uitos m ais com e s ta e dição. Q ue re m os faze r com q ue e s ta e dição ch e gue a ainda m ais inte re s s ados 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 nte da nos s a com unidade .

Em re l ação aos voos do futuro de q ue h á tanto te m po te nh o vindo a fal ar, pode m os de s de já adiantar m ais al guns porm e nore s : vam os te r um a pl ataform a de e -l e arning a funcionar até ao fim de 2006 e e s pe ram os arrancar rapidam e nte com um a te l e vis ão onl ine técnica. Para q ue todos pos s am participar ne s te s proje ctos , de ve m dirigir-s e ao fórum do P@ P e ir acom panh ando as novidade s q ue todos os dias vão s urgindo.

contam os com a tua ajuda

w w w .portugal -a-program ar.org

<34>

Rui M aia

Es te s proje ctos s ó s e re al izarão com a boa vontade e e ntre ga de cada util izador. Pre cis am os de ge nte capaz de criar bons conte údos , de m odo a q ue e s te s novos proje ctos te nh am s uce s s o. Contam os com o vos s o contributo. Ve m o-nos pe l o P@ P ...


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.