Professional Documents
Culture Documents
Evol
ução
Este proje cto continua e m e vol ução e ne sta e dição isso se rá
m ais visíve lq ue nunca. Um a m udança de visualfoi al go q ue
nos e ra pe dido nos com e ntários sob re as ante riore s e diçõe s.
Para auxil iar e sta m udança, usám os um program a
propriam e nte de stinado a pub l icaçõe s, o Scrib us. Tam b ém é
ope n-source e , e m b ora possua ainda al guns de fe itos, com o na
e dição de te xto, possib il itou-nos a re vol ução gráfica de sta
e dição, para m e lh or ou pior de pois sab e re m os, m as gostám os
dos re sultados.
<2>
notícias
SH IFT
Vai re al izar-se na Unive rsidade Nova de Lisb oa, e ntre os dias 27 e 29 de
Se te m b ro de 2006, o Congre sso "Sh ift – Socialand H um an Ide as for Te ch nol
ogy"
ce ntrado nas te cnol ogias e m e rge nte s e no se u im pacto na vida das pe ssoas e
re spe ctivas com unidade s.
<3>
te m a de capa
M icrocontrol
adore s Program áve is (m e m ória e o m ais variado
tipo de pe riféricos). Por sua ve z os
Microproce ssadore s, são fundam e ntal m e nte
constituídos por um a ALU (arith m e tic and
Este artigo te m com o ob je ctivos a logic unit), re gistos de dados, TCU (tim e and
apre se ntação de M icrocontrol adore s e a controlunit) e ne ce ssitam q ue a m e m ória e
de pe ndência q ue h oje e m dia a e l
e ctrónica os pe riféricos se jam adicionados
no ge ral(R ob ótica, D om ótica, El e ctrónica e xte rnam e nte , com unicando com o CPU à
Industrial /R e side ncial
, custa de três b arram e ntos (data, addre ss e
Te l
e com unicaçõe s…) te m dos m e sm os. control ).
<4>
te m a de capa
Q uando se com pra um PIC, o conte údo da Para um a m e l h or com pre e nsão do código
sua m e m ória EPR O M S ve m vazia. Se rá de se nvol vido é aconse l h áve l consul
tar o
ne ce ssário re corre r a um “Program ador” D atash e e tdo PIC e m causa.
(e x: PicSTAR T da M icroch ip…), afim de
e nviar para a EPR O M o código do b oot- Mais um a ve z para sim pl ificar o raciocínio
loade r. O b oot-l oade r é o program a q ue vam os assum ir q ue se e stão a re al izar
corre im e diatam e nte após o "re se t" do PIC. de vice -drive rs para o control o de um
Q uando corre , vai te star a l inh a série e proce sso térm ico. Assim a te m pe ratura se rá
ve rificar se e stá algum program a "do outro dada por um Te rm opar. O s Te rm opare s
lado da l inh a" a te ntar contactar com e l e. ne ce ssitam de um a com pe nsação da sua
Caso e xista com unicação pe l a l inh a junção fria, aq ui irá-se assum ir q ue e l a é
série /usb com o Program ador e ntão e sse fe ita por h ardw are e q ue à e ntrada do PIC
código se rá e scrito na m e m ória EPR O M . ch e ga um sinalanal ógico com val ore s e ntre
Este tipo de softw are (M PLAB e ntre outros) 0 e 5 V.
é disponib il izado pe los fab ricante s a troco Para control ar a re sistência irá-se re corre r a
de alguns e uros tal com o os um PW M (Pul se w idth m odul ation) com
program adore s, m as e xiste m al te rnativas duty-cycl e variáve l e sincronizado com a
tanto para program adore s com o para o re de .
softw are , nom e adam e nte o PICP. Para sim pl ificar a l e itura, não se irá faze r
re fe rência a todos os b its dos re gistos de
A m e m ória do PIC irá e star dividida. D uas configuração, para talsuge re -se a consul ta
de ssas divisõe s dize m re spe ito à m e m ória do datash e e t afim de ve rificar o significado
onde e stá o b oot-loade r e a outra onde irá dos b its de cada re gisto e m causa.
se r arm aze nada o código re sponsáve lpe l o
funcionam e nto do PIC talcom o dados q ue #DEVICE DRIVERS - PAP
se jam guardados durante o m e sm o.
#include <pic.h>
#include <stdlib.h>
#include "sci.h"
D EVICE-D R IVER S //////////CONSTANTES//////////
#define TermCh 0 //canal termopar
Ne ste artigo se rão ab ordados os principais #define MEDIA 6 //N de leituras da ADC
de vice drive rs para um PIC. Este s de vice - #define T1_10MS 0xC350 //t1 value at
drive rs se rão a b ase para futuros proje ctos, 10ms
de sde os m ais sim pl e s até aos m ais
com pl e xos. Por e xe m pl o, no control o de Todos os re gistos e portos do PIC são
te m pe ratura de um proce sso térm ico, os tratados com o variáve is, funcional idade
de vice -drive s te rão q ue : pe rm itida pe lo fich e iro pic.h , pois e ste indica
- Faze r l e itura da te m pe ratura indicada pe l o ao com pil ador q uais os re gistos do PIC e e m
se nsor (te rm opar) q ue e nde re ço e b ancos de m e m ória e stão.
- Ligar e de sl igar a re sistência de aq ue cim e nto
- Le r e e scre ve r de inte rface s com o util izador O fich e iro sci.h é disponib il izado pe l
a
(e x: te clado do PC, displ ay…) Microch ip e é onde e stão de scritos os
protótipos das funçõe s usadas nas
Assum indo q ue o PIC já te m de vidam e nte com unicaçõe s pe l
a porta série (R S-232).
o b oot-l oade r configurado, passa-se ao
de se nvolvim e nto do Softw are q ue se rá A prim e ira tare fa a re al
izar se rá configurar
de se nvolvido e m C e poste riorm e nte os portos I/O (PO R T_X e TR IS_X),
com pil ado (M PLAB…) no form ato Inte l
-H e x. e spe cificando se são portos de saída de
dados ou de e ntrada. O s portos usados com o
<5>
te m a de capa
<6>
te m a de capa
<7>
te m a de capa
(6) Activa o tim e r1 (início de contage m ). - Nos autom óve is o se gre do da re l ação
pe rform ance /e conom ia, e stá no corre cto
(7)(8) Val or a se r com parado com o tim e r 1 control o do com b ustíve l usado na
ao q ualse rá ge rado um m atch com b ustão. O cál cul o da q uantidade usada,
(9 ) Lim pa o b it q ue indica a orige m do é de pe nde nte de m uitos factore s, com o a
inte rrupt. conce ntração de com b ustíve lde spe rdiçado
durante a com b ustão. Esse de spe rdício
(10)(11)(12) No caso de ausência de um pode rá se r m e nsuráve là saída do m otor.
e ve nto no pino INT, e vita-se q ue o ccp e ste ja Assim , graças a um se nsor q uím ico q ue m e ça
inde finidam e nte activo. a q uantidade de com b ustíve l , pode r-se -á
optim izar a com b ustão. Esta optim ização
Concl
usão se rá fe ita pe l a ce ntralina, q ue e m b ora se ja
um a unidade com pl e xa, visto te r q ue
Tirando os porm e nore s da inte rface com o control ar vários m e canism os (ABS, ESP, …),
utilizador, e ste s de vice -drive rs, pode rão se r pode se r vista com o vários
usados e m m uitas apl icaçõe s: m icroproce ssadore s e m paral el
o…
R icardo R och a
<8>
a program ar
4 function printNome(){
5 print($this->nome);
6 }
7 }
Cl
asse s 8
9
10
$obj = new User();
$obj->printNome();
?>
Ne ste artigo vam os ab ordar as tão Com o pode m os ve r na l inh a 8 vai se r criado
te m idas classe s de ph p, b e m com o através do com ando ne w um ob je cto de
os se us construtore s, de strutore s e nom e “ob j”, e ste nom e pode se r q ual q ue r
h e rança. Vam os te ntar de m onstrar um talcom o se tratasse de um a variáve l
de um a form a sim pl e s e com pl e ta norm al . Na linh a 9 se rá pe dido ao ob je cto
com o criar e util izar as classe s e m “ob j” q ue e xe cute o m étodo printNom e ()
ph p (ve rsão 5). de finido na class “Use r”, e ste pe dido é fe ito
através da se guinte sintaxe O b je cto ->
Com e çam os por criar a nossa cl ass, para Método.
isso vam os e scre ve r o se guinte código.
Agora q ue já sab e m os com o criar um a cl
ass
1 <?php sim ple s vam os agora ve r com o funcionam e
2 class User{ para q ue se rve m os construtore s e
3 public $nome = "guest"; de strutore s de cl
asse s.
4 Para isso vam os usar o se guinte código.
5 function printNome(){
6 print($this->nome); 1 <?php
7 } 2 class User{
8 } 3 public $nome;
9 ?> 4 public $email;
5 public $pass;
Vam os agora anal isar o q ue foi fe ito, na 6
linh a 2 foi de cl arada um a cl ass de nom e 7 function __construct($nome,
“Use r”, e ssa cl ass contém um a variáve l $email, $pass){
“nom e ”, com o val or “gue st” com o se pode 8 $this->nome = $nome;
ve r na l inh a 3, na l inh a 5 é de finida a 9 $this->email = $email;
função printNom e () q ue ao se r ch am ada 10 $this->pass = $pass;
irá im prim ir o val or da variáve l“nom e ”. A 11 }
re fe rência $th is é utilizada para dize r q ue a 12 function getNome(){
variáve la usar se rá a variáve lde finida na 13 return $this->nome;
class, m ais á fre nte vam os ve r m e l h or e sta 14 }
re fe rência. 15 function printNome(){
16 print($this->nome);
Agora ve jam os com o usar a cl ass q ue 17 }
criam os, para isso adicionam os o se guinte 18 function getEmail(){
código fora da cl ass, ate nção q ue o código 19 return $this->email;
adicionado não pre cisa de se r col ocado 20 }
de ntro do fich e iro da cl ass, pode e até 21 function getPass(){
de ve se r col ocado noutro fich e iro e 22 return $this->pass;
im portando a cl ass através do include . 23 }
24 }
1 <?php 25
2 class User{ 26 $obj=new User("guest",
3 public $nome = "guest"; "guest@pap.pt", "123456");
<9 >
a program ar
<10>
a program ar
require 'gtk2'
Gtk.init
window = Gtk::Window.new(
Gtk::Window::TOPLEVEL )
window.show
Gtk.main
<11>
a program ar
<12>
a program ar
<13>
a program ar
button.signal_connect( "clicked" ) do
text.label = "Olá!"
end
Sérgio Santos
<14>
a program ar
<15>
a program ar
<16>
a program ar
<17>
a program ar
<18>
tutorial
Ex:
Dim nomeArray(,) As String
OU
VisualBasic.NET Dim nomeArray(10, 10) As String
'Array com duas dimensões de 10x10'
3ª Parte - Mul
ti-dim e nsional
D im nom e Array(num e ro totalde e l e m e ntos
Arrays – 1, num e ro totalde e l e m e ntos – 1, num e ro
totalde e le m e ntos – 1, e tc) as Tipo de D ados
Um array é conh e cido com o um a l ista, no
caso de se r uni-dim e nsional , ou um a m atriz (num e ro totalde e l e m e ntos – 1) – te rá q ue
no caso de se r b i-dim e nsional , e é um a das se r o val or totalde e l e m e ntos m e nos 1,
m ais im portante s e struturas de dados e razão pe l a q ualé indicada com o prim e ira
tam b ém um a das m ais sim pl e s. Um array é posição, a posição 0. Um array de cl arado
constituído por um nom e e por um com o nom e Array(9 ) irá suportar 10
núm e ro, de nom inado de índice . Em posiçõe s, ou se ja, de 0 a 9 .
VB.NET, a prim e ira posição do array é
se m pre no índice 0, ao contrário do q ue Q uando trab al h am os com arrays, por ve ze s
aconte cia no VB6, podia-se de finir se a ve m o-nos ob rigados a re dim e nsiona-l o, pois
posição 0 ou 1 se ria a inicial. não pode m os de finir um a dim e nsão fixa
para o m e sm o. Para faze rm os e sta
- nom e Array(índice ) ope ração, util izam os o R e D im . O R e D im é
- nom e Array(0) – Prim e ira posição usado para al te rar o tam anh o de cada
- nom e Array(Ub ound(nom e Array)) – dim e nsão do array, m as nunca pode al te rar
Úl tim a posição o núm e ro de dim e nsõe s ou tipo de dados
do m e sm o. O q ue o R e D im faz é apagar o
D e cl
aração de arrays array actuale criar um novo array com as
de finiçõe s indicadas no R e D im .
- Uni-dim e nsional
Dim nomeArray(10, 10) As String
D im nom e Array(num e ro totalde 'Array com duas dimensões de 10x10'
ele m e ntos – 1) as Tipo de D ados
Ex: ReDim nomeArray(10, 15)
'Redimensiona o array para 15
Dim nomeArray(3) As String 'Declara elementos na 2ª dimensão'
o array com 4 elementos'
OU Com o o array actual é apagado, toda a
Dim nomeArray() As String = inform ação contida é igual m e nte e l
im inada.
{"elemento1", "elemento2", Para pode rm os m ante r e ssa inform ação,
"elemento3", "elemento4"} 'Declara o te rm os de usar juntam e nte com o R e D im , o
array e atribui valores' Pre se rve . Um dos inconve nie nte s na
utilização do Pre se rve , é q ue ape nas pode rá
- Bi-dim e nsional se r al te rada a ultim a dim e nsão do array,
te ndo q ue m ante r o núm e ro de e l e m e ntos
D im nom e Array(num e ro totalde das outras.
ele m e ntos – 1, num e ro totalde e l
e m e ntos
– 1) as Tipo de D ados
<19 >
tutorial
Ge tLow e rBound
IsFixe dSize O b tém o m e nor índice infe rior da
Indica se o array te m um tam anh o fixo. dim e nsão e spe cificada e m um array.
IsR e adO nl
y Ge tType (h e rdado de O b je ct)
Indica se o array é som e nte l
e itura (re ad- O b tém o tipo da instância actual
.
only).
Ge tUppe rBound (Eq uival
e ao
IsSynch ronize d UBound do VB6)
Indica se o ace sso ao array é sincronizado O b tém o índice supe rior da dim e nsão
(th re ad-safe ). e spe cificada num array.
Le ngth Ge tVal
ue
O b tém o totalde e le m e ntos e m todas as O b tém o val
or de um e l
e m e nto de finido
dim e nsõe s do array. no array.
R ank Inde xO f
O b tém o núm e ro de dim e nsõe s do array. R e torna o índice da prim e ira ocorrência de
um val or e m um array de um a dim e nsão.
SyncR oot
O b tém um ob je cto q ue pode se r usado Initial
ize
para sincronizar o ace sso ao array. Inicia cada e l
e m e nto de um array
ch am ando o construtor padrão.
Métodos R e ve rse
Inve rte a orde m dos e l
e m e ntos de um
Cl
e ar array de um a dim e nsão.
D e fine o inte rval
o dos e l
e m e ntos de um
array para ze ro, para false ou para nul l. Se tVal
ue
D e fine o e l
e m e nto e spe cificado e m um
Cl
one array para um val or de finido.
Cria um a copia do array.
Sort
Copy O rde na os e l
e m e ntos de um array de um a
Copia a se cção de um array para outro dim e nsão.
array e re al iza o casting e o b oxing
re q ue rido. ToString (inh e rite d from O b je ct)
R e torna um a string q ue re pre se nta o
CopyTo ob je cto actual
.
Copia todos os e l
e m e ntos de array de um a
dim e nsão para outro array. (inform açõe s re tiradas de w w w .m acoratti.ne t)
<20>
tutorial
Para trab al h arm os com fich e iros e m Após faze rm os o im portdo nam e space IO ,
VB.NET re corre m os q uase se m pre às te m os disponive is as cl asse s para a
m anipul ação de fich e iros. Para faze r a l e itura
classe s do Syste m .IO , e para isso, te m os
de um fich e iro ire m os re corre r à cl asse
q ue faze r o im portde ste . Stre am R e ade r. Esta cl asse possui m étodos
com o o R e adLine (pe rm ite -nos l e r o fich e iro
Import System.IO linh a a l inh a), o R e adToEnd (pe rm ite -nos l er
o fich e iro do se u inicio até ao fim e carre gá-
Para m anipul arm os um fich e iro, ante s lo num a variave lou ob je cto), e ntre outros.
ne ce ssitam os de criar um canalpara e sse
m e sm o fich e iro, e para isso usam os o Imports System.IO
File Stre am . O Fil e Stre am pe rm ite -nos e ntão Module Module1
a criação de sse canal , e pode rá se r de finido Sub Main()
o m odo de ab e rtura do fich e iro, ou se ja, se Dim strFicheiro As String =
"C:\ficheiro.txt"
irá se r de l
e itura e /ou e scrita.
'Abre o ficheiro'
'Modo = Abertura | Tipo de Acesso
Dim ficheiro as New FileStream = Leitura | Acesso de outros processos
(Nfich,FileMode,FileAccess,FileShare) = Leitura'
Dim fs As New
Para indicarm os o m odo de ab e rtura do FileStream(strFicheiro, FileMode.Open,
canalutil izam os o e num e rador File Mode . O FileAccess.Read, FileShare.Read)
File Mode é constituido pe l os se guinte s 'Carrega o stream no StreamReader'
m e m b ros: Dim sr As New StreamReader(fs)
'Imprime o conteudo do ficheiro no
Appe nd ecra'
Console.Write(sr.ReadToEnd)
Ab re o fich e iro para e scrita e posiciona-se
'Liberta o ficheiro'
no fim do m e sm o. Caso não e xista o fich e iro sr.Close()
e ntão cria um novo. Console.ReadLine()
End Sub
Cre ate End Module
Ab re o canalpara e scrita ou l
e itura e e scrita
e apaga o conte údo caso o fich e iro e xista,
se não cria um novo. Escre ve r um fich e iro
<21>
tutorial
Private Sub
escrever_ficheiro(ByVal texto As
Imports System.IO String)
Module Module1 Dim strFicheiro As String =
Sub Main() "C:\ficheiro.txt"
Dim texto As String 'Abre o ficheiro indicado na
'chama a funcao para ler o variavel com os atributos'
ficheiro' 'Modo = Adicionar | Tipo de
ler_ficheiro() Acesso = Escrita | Acesso de outros
Console.WriteLine() processos = Leitura'
Console.WriteLine() Dim fs As New
Console.WriteLine("Insira um FileStream(strFicheiro,
texto para adicionar ao ficheiro:") FileMode.Append, FileAccess.Write,
texto = Console.ReadLine FileShare.Read)
Console.Clear() 'Carrega o stream no
'chama a funcao para escrever StreamReader'
no ficheiro o texto inserido' Dim sw As New StreamWriter(fs)
escrever_ficheiro(texto) 'Escreve no ficheiro o texto
'imprime no ecra o ficheiro ja inserido pelo utilizador'
actualizado' sw.WriteLine()
ler_ficheiro() sw.Write(texto)
Console.ReadLine() sw.Close()
End Sub End Sub
End Module
Private Sub ler_ficheiro()
Dim strFicheiro As String =
"C:\ficheiro.txt" Na próxim a e dição ire m os continuar e ste
'Abre o ficheiro indicado na tutorial . O te m a da próxim a e dição
variavel com os atributos' continuará a se r m anipul ação de
'Modo = Abertura | Tipo de fich e iros e m Visual Basic.NET. Irão se r
Acesso = Leitura | Acesso de outros
ab ordadas novas cl asse s com o D ire ctory,
processos = Leitura'
D ire ctoryInfo, Fil e Info, Fil e A ttrib ute s,
Dim fs As New
FileStream(strFicheiro, Path , e tc... q ue vos irão pe rm itir um
FileMode.Open, FileAccess.Read, m aior control o e inte racção sob re os
FileShare.Read) vossos fich e iros. Não pe rcam a próxim a
e dição...
o M artins
'Carrega o stream no
StreamReader'
Dim sr As New StreamReader(fs)
'Imprime o conteudo do
gado & M arce l
ficheiro no ecra'
Console.Write(sr.ReadToEnd)
'Liberta o ficheiro'
sr.Close()
Console.WriteLine()
End Sub
Tiago Sal
<22>
gnu/l
inux
utilizador, o único dire ctório no q ual um
utilizador norm alte m pe rm issõe s totais, visto
q ue lh e pe rte nce , te ndo a m aioria dos outros
dire ctórios pe rm issõe s re stritivas à e scrita, e
de sta form a à al te ração ou re m oção.
<23>
gnu/l
inux
Portanto, de sta form a se q uise sse m os de finir se r pe rm itidos ape nas a m áq uinas de
o talfich e iro com as pe rm issõe s já re fe ridas, confiança, um a ve z q ue são pote ncial m e nte
usaríam os o com ando ch m od, q ue é o q ue inse guros pode ndo se r usados, não só para
de fine as pe rm issõe s, da se guinte m ane ira: atacar a m áq uina, com o tam b ém com o ponte
# chmod 755 ficheiro.txt para atacar outros. O h ack e r pode usar a
m áq uina da vítim a para se prote ge r e l
ançar o
Com o se pode constatar, usou-se o ch m od ataq ue a partir doutra m áq uina.
755, se ndo e ste núm e ro a agl
utinação da
conve rsão para de cim al das pe rm issõe s D icas
de m onstradas acim a.
-Não te r um a conta com um a passw ord q ue
O utra m ane ira, tal ve z m ais sim pl e s de se ja adivinh ada facil
m e nte . Passw ord’s de sse
e xe m plificar o proce sso é dando val ore s aos tipo são por e xe m pl
o a data de nascim e nto, o
tipos de pe rm issão. D e ste m odo, o r val e 4, o nom e , “123456”…
w val e 2 e , por fim , o x vale 1. Se q uise rm os
dar pe rm issõe s totais te re m os r+ w + x = 4 + 2 -Nunca forne ce r passw ord’s a outras pe ssoas.
+ 1 = 7, se ndo e ste o núm e ro q ue
utilizare m os, para o util izador e m q ue stão. -Instal
a, se m pre q ue h ouve r, actual izaçõe s de
se gurança. Por ve ze s h á b ug’s e m distrib uiçõe s
Caso q ue iram os apl icar a pe rm issão a um a q ue pode m se r fatais. Fe l izm e nte a
pasta e a todos os se us sub -fich e iros, com unidade da grande parte das distros é
util
izare m os a e xte nsão -R . Por e xe m pl
o: b astante rápida a e ncontrá-l os e a
# chmod -R 777 ~/ disponib il
izar patch ’s de actual ização.
<24>
gnu/l
inux
/b in
Ab re viatura para “Binarie s” - Binários.
Siste m a de Contém a m aioria dos e xe cutáve is m ais
com uns q ue se rão usados pe los
dire ctórios utilizadore s, adm inistradore s e siste m a
Norm al m e nte contém as sh e l
ls com o b ash ,
csh , assim com o com andos, por e xe m pl o:
su, tar ou unam e .
Introdução /sb in
Ab re viatura para “Syste m Binarie s” -
Um a das prim e iras dife re nças q ue sal ta a
Binários do Siste m a. É se m e l
h ante ao /b in,
vista para q ue m com e ça a usar Linux é a
m as contém ape nas program as e sse nciais
e strutura de dire ctórios do Linux, q ue nada
ao siste m a, com o adm inistração e
te m a ve r com o W indow s. Pode pare ce r
m anute nção e é e sse ncial para o se u
um pouco al e atório, m as na re al idade
arranq ue .
e xiste um a l ógica e função para cada
dire ctório. Assim , o ob je ctivo de ste te xto é
/b oot
apre se ntar e fam il iarizar com o siste m a
Contém os fich e iros de arranq ue e o k e rne l
Linux.
do Linux, q ue são ace didos ante s do re sto
do siste m a e star m ontado, e parte dos
b ootl
oade rs (LILO e GR UB).
O Siste m a
/de v
A prim e ira coisa q ue é pre ciso pe rce b e r é
Contém os fich e iros q ue re pre se ntam o
q ue e m Linux os discos e partiçõe s não
h ardw are pre se nte na m áq uina.
apare ce m ne ce ssariam e nte com o unidade s
Encontram -se fich e iros com o h da1, h da2,
dife re nte s, com o o C:, D :, do W indow s.
cdrom , e tc. q ue re pre se ntam dispositivos
Tudo faz parte de um único dire ctório,
re conh e cidos e instalados no Linux.
ch am ado de “root”, re pre se ntado por “/”,
e m q ue tudo fica ace ssíve l a partir de
/e tc
vários sub -dire ctórios. (Não confundir com
Contém a m aioria de todos os fich e iros de
o util izador 'R oot' q ue é o Adm inistrador)
configuração e m anipul ação do siste m a
Linux. Ne l e pode m e ncontrar por e xe m pl o
Um aspe cto sob re o siste m a Linux q ue é
fich e iros de configuração de program as,
inte re ssante sab e r, é q ue tudo num
do siste m a gráfico X11, scripts de arranq ue .
siste m a Linux é um fich e iro, se não é um
fich e iro, e ntão é um proce sso.
/h om e
Se assim é, e ntão o q ue é um D ire ctório?
Contém as pastas de cada util izador (H om e
São fich e iros com l istas de outros fich e iros.
D ire ctory). O s util izadore s com uns só
Nave gando no siste m a de fich e iros do
conse gue m ace de r à sua própria pasta (a
Linux, no “/” pode m os e ncontrar os
não se r q ue l h e s e spe cifiq ue m outro tipo
se guinte s dire ctórios:
de ace ssos). D e ntro de cada pasta de
utilizador tam b ém se e ncontram os
<25>
gnu/l
inux
/root
Este é o H om e D ire ctory do utilizador root
( Adm inistrador ), onde só e l
e te m ace sso.
<26>
proje cto
Finda a introdução, vão se r ab ordados dois
te m as da arq uite ctura do O rion's Be l
t.
Siste m a de R e cursos
h ttp://orionsb e l
t.zi-yu.com O O B conta com um grande núm e ro de
Introdução re cursos: 43 e difícios, 25 unidade s e 48
pe sq uisas. A fácilm anunte nção/adição de
O O rion's Be l t é um jogo w e b -b ase d re cursos foi um dos prim e iros ob je ctivos
el ab orado por dois portugue se s com o para o m otor de jogo. Para e ste fim foi
trab al h o finalde b ach are l ato. Está e scrito criado um idiom a XMLcapaz de re pre se ntar
e m C# e funciona e m cim a de ASP.NET. e sta inform ação.
Este jogo te m várias caracte rísticas
se m e lh ante s a outros jogos do géne ro Este idiom a XML pe rm ite de scre ve r
m ais conh e cidos: O gam e e D ark gal axy. No facilm e nte todas as capacidade s de um
O B o jogador com e ça com um h om e q ualq ue r re curso, se ja e l
e e difício, pe sq uisa
pl ane t e pode partir à conq uista de outros ou unidade s de com b ate . É possíve l
pl ane tas pe l a galáxia. A ge stão de plane tas de scre ve r o pre ço, as de pe ndências e
é um dos aspe ctos m ais im portante s do caracte rísticas várias.
jogo, se ndo ne ce ssária a construcção de
e difícios, e l ab oração de pe sq uisas, e tc, O uso de XMLfe z com q ue o m otor se ja m ais
para e vol uir tanto te cnologicam e nte com o sim ple s e algo ge nérico. Contudo, h á várias
e cnom icam e nte . outras vantage ns e m se te r usado XMLpara
de scre ve r os re cursos. Através do uso de
O aspe cto q ue dife re ncia o O B dos outros XSLT (idiom a XML q ue transform a XML
jogos do géne ro é o m ode l o de com b ate . noutros form atos) foram criadas te m pl ate s
Todos os com b ate s são re al izados num q ue pe gam no XML dos re cursos e o
tab ule iro com as unidade s produzidas nos transform am em páginas do m anual
plane tas. Este m otor de com b ate e stá (form ato w ik i) e tam b ém e m fich e iros
im ple m e ntado e m JavaScript. JavaScriptpara uso do m otor de com b ate .
<27>
proje cto
<resource type="Unit" value="ColonyShip">
<dependencies>
<resource-ref type="Building" value="StarPort" />
<resource-ref type="Research" value="AdvancedFlightI" />
</dependencies>
<cost>
<resource-needed type="gold" value="5000" />
<resource-needed type="mp" value="8000" />
<resource-needed type="energy" value="1000" />
<resource-ref type="Building" value="StarPort" />
<duration value="15" quantity="1" />
</cost>
<attributes>
<attribute type="TeletransportationCost" value="350"/>
</attributes>
<oncomplete/>
<battle unitType="special">
<attack base="230" range="1" minimumDamage="200" maximumDamage="250"/>
<defense base="8000" hitPoints="9200" canStrikeBack="true" />
<movement cost="6" type="all" level="air" />
</battle>
</resource>
Idiom a do Siste m a de R e cursos
Base s de D ados
D e sta form a é possíve l te r várias
Um a apl icação w e b norm al m e nte e stá im pl e m e ntaçõe s de pe rsistência, q ue são
associada a um SGBD (siste m a de ge stão de e scondidas da re stante lógica de apl icação.
b ase s de dados) com o o MySQ L,
Postgre SQ L, e tc. O O B suporta vários tipos Concl
usão
de SGBD através da de sign patte rn b ridge .
Toda a cam ada de ace sso a dados foi O O B é um proje cto já com al gum a
pe nsada com o um a ab stracção ao SGBD dim e nsão. Contudo, ce rtas e scolh as b e m
usado e m runtim e . Para atingir e ste fim é pe nsadas no início de de se nvol vim e nto
criada um a cl asse b ase ab stracta com as tornaram -se grande s e scol
h as no futuro do
funcional idade s e l e m e ntare s e classe s jogo, pois pe rm ite m um a e xce l e nte
de rivadas q ue contêm e spe cial izaçõe s para facil
idade de m anunte nção.
cada SGBD . Por e xe m pl o, para pe rsistir as
Al ianças, e xiste a cl
asse Al liance Utility: Convidam os todos os inte re ssados a
e xpe rim e ntar o jogo. O jogo é dividido e m
public class AllianceUtility { rondas e , por vol ta de Se te m b ro, irá com e çar
public abstract Alliance Get(int id); um a nova ronda. Para e sta nova ronda
public abstract Alliance[] GetAll(); e stão plane adas algum as novidade s
public abstract void Save(Alliance a);
inte re ssante s: possib ilidade de construção
...
de D e ath Stars, e stas l uas de com b ate são
};
inspiradas pe l a D e ath Star da Gue rra das
Estre las, e com b ate s com q uatro jogadore s
Cada cl asse Util ity usa tam b ém o de sign
ao m e sm o te m po - torne ios com com b ate s
patte rn singl e ton, para provide nciar um
1x1x1x1 ou 2x2.
único ob je cto daq ue l e tipo, se m pre
Pe dro Santos
<28>
anál
ise s
<29 >
anál
ise s
João Pe re ira
Não se rá, no e ntanto, o l ivro m ais indicado É forne cido apoio on-l ine a e ste l
ivro e m
para q ue m já te m al gum a e xpe riência com h ttp://l
inguage ns.m e diate ca.info
JAVA e com PO O e m ge ral , pois aspe ctos
m ais avançados da l inguage m não são
ab ordados.
<30>
inte rne t
h ttp://w w w .ore il
lyne t.com /pub /a/ore il
ly/
tim /ne w s/2005/09 /30/w h at-is-w e b -
20.h tm l
<31>
bl
ue scre e n
e m acs ou vim ?
m ais um cl
ássico...
<32>
com unidade
w w w .portugal
-a-program ar.org
<33>