Escolar Documentos
Profissional Documentos
Cultura Documentos
RevistaPROGRAMAR03 PDF
RevistaPROGRAMAR03 PDF
<ndice>
<03> Notcias
<04> Tema de capa
<10> A programar
<15> Tutorial
<18> GNU/Linux
<20> Projecto
<22> Internet
<24> Em anlise
<25> Blue screen
<26> Comunidade P@P
<Equipa PROGRAMAR>
<Administrao> poca de mudana
deathseeker25 (Rui Maia)
d_pintassilgo (David Pintassilgo) Esta terceira edio da revista apresenta-se como uma transio entre todo o
melSpeedl.ine (Mrcio Lima) trabalho que tem sido continuado at agora e as alteraes que vo sendo
satanuke (Hugo Violante) introduzidas na revista. Nesta edio j se podem notar algumas das
alteraes, principalmente a nvel de contedo. Procurmos equilibrar mais
<Coordenador>
esta edio em termos de pblico alvo dos artigos, tentando abranger mais
neon_prannock (Srgio Santos)
grupos, para alm dos iniciantes em programao. O tema de capa demonstra
<Redaco> isso mesmo, embora seja desconhecido para alguns, insere-se numa rea cada
teckV (Jos Domingos) vez mais importante actualmente e que muitos gostariam de aprofundar.
Ped@ntilva (Pedro Silva)
AriOps (Daniel Correia) Para alm de seces novas, algumas j presentes nesta edio, esperem mais
HecKel (Gil Sousa) novidades para a prxima edio. Iremos continuar a receber e a analisar todo
_nEvermind (Tiago Salgado) o feedback que nos enviarem, de modo a que a evoluo da revista seja o
marceluh (Marcelo Martins) mais positiva possvel.
xplod_me (Joel Calado)
Evil Knievel (Luis Madureira)
A nvel interno, podemos contar com um maior nmero de colaboradores
<Colaboradores> activos, que muito influenciaram os temas que so apresentados nesta edio.
vbmaster (Miguel Pais) Foram tambm levantadas questes importantes sobre o futuro da revista,
palobo (Pedro Lobo) assim como alternativas ao actual sistema de distribuio. Ainda no houveram
decises a longo prazo e esperamos que as reaces, por parte dos leitores, s
<Contacto> futuras edies, venham influenciar essas decises.
revistaprogramar@portugal-a-programar.org
</neon_prannock>
<2>
<Notcias>
Primavera gratuito
A nova aplicao, denominada Primavera Express, poder ser utilizada
gratuitamente por empresas com apenas um posto de trabalho que procurem uma
soluo muito simples para gesto de vendas, de stocks, de contas correntes e de
clientes. Segundo Jos Dionsio, o presidente da Primavera BSS, esta oferta uma
consequncia da evoluo da software house nacional, cujo negcio assenta
actualmente sobretudo nas solues para PME e empresas de grande dimenso.
Apesar de termos evoludo para solues mais complexas, achamos que devemos
continuar a apresentar solues para as micro-empresas, referiu o responsvel.
Segundo Carlos Morais, responsvel pela rea de investigao e desenvolvimento da Primavera BSS, a
verso 7 constitui o maior investimento de sempre da empresa no lanamento de um novo produto. Um
investimento de cerca de 1,5 milhes de euros, que envolveu 50 mil horas de desenvolvimento por parte
de uma equipa de 40 engenheiros.
<3>
<Tema de capa> Segurana e hacking: Scripts NASL
<4>
Segurana e hacking: Scripts NASL <Tema de capa>
Deteco de Vulnerabilidades
<5>
<Tema de capa> Segurana e hacking: Scripts NASL
O que no o NASL?
atravs do interpretador que o programador pode depurar /
testar o seu script. Ateno que o contexto diferente do NASL no uma linguagem de scripting muito poderosa. Tem
criado pelo scan normal do nessus, estando nomeadamente como finalidade o desenvolvimento de plugins que so testes
certas funcionalidades indisponveis se o script for executado da segurana. Assim, no espere escrever um web server da
directamente no interpretador NASL. terceira gerao nesta lngua, nem uma utilidade da converso
de ficheiros. Use Perl, python ou outra linguagem de
programao para fazer isto - NASL 100 vezes mais rpido
nas suas funes especificas.
Comentrios
O Caracter de comentrio o ' # '. Ele comenta apenas para
fora da linha actual.
Exemplos de comentrios vlidos:
a = 1; # let a = 1
# Set b to 2 :
b = 2;
Fig: Cliente do Nessus e a seleco de plugins/testes de
segurana.
<6>
Segurana e hacking: Scripts NASL <Tema de capa>
Ciclos
Funes No Annimas Os ciclos For e While funcionam como no C:
Uma coisa que diferente do C a maneira como o NASL
passa os argumentos de uma funo. Em C, necessrio
For:
saber exactamente a posio dos argumentos. Em NASL isso
no interessa, usando-se nomes para os argumentos e for(instruction_start;condition;end_loop_
quando no se passa um argumento necessrio este pedido instruction)
{
em run time. Tipo, uma funo que usa um argumento que # Alguns comandos aqui.
o IP e outro que o SERVICO ser chamada assim. }
funo(IP:10,SERVICO:http). A ordem em que so
apresentados no interessa e podem ser anulados argumentos
opcionais. ou
<7>
<Tema de capa> Segurana e hacking: Scripts NASL
Operadores
While:
Os operadores normais do C funcionam em NASL. So, +,-, *,
while(condition) / e %. Como complemento os operadores binrios | e & so
{ suportados. Existem ainda dois operadores que no existem
# Alguns comandos aqui. no C, que sero abordados a seguir.
}
O operador X
ou
Os ciclos for e while so uma grande ajuda mas consomem
while(condition)function(); tempo e recursos. Imagine que quer enviar uma tempestade
de pacotes SYN. O operador x ir repetir a mesma funo N
vezes num processo extremamente rpido (a mesma
velocidade que o C nativo).
Exemplos: Exemplo:
a = "Nessus";
b = "I use Nessus";
Funes definidas pelo utilizador if(a >< b){
# ser executado desde que a esteja em b
display(a, " existe em ",
NASL suporta funes definidas pelo utilizador: b, "\n");
}
function my_function(argument1,
argument2, ....)
<8>
Segurana e hacking: Scripts NASL <Tema de capa>
Como abrir um socket socket. Se no for definido sero enviados at que um
caracter NULL for encontrado.
As funes open_sock_tcp() e open_sock_udp() abrem um
socket TCP ou UDP. Estas duas funes usam argumentos Funes de Alto Nvel encapsulam funes de baixo
annimos. Exemplo:
nvel
# Abrir um socket TCP no porto 80 : NASL disponibiliza vrias funes de alto nivel para protocolos
soc1 = open_sock_tcp(80); como o FTP e WWW.
# Abrir um socket UDP no porto 123 :
soc2 = open_sock_udp(123);
ftp_log_in(socket:<soc>, user:<login>,
pass:<pass>) - tenta logar-se no sistema remoto
As funes retornam 0 caso no seja possvel a ligao.
ftp_get_pasv_port(socket:<soc>) - envia um
Um simples Port Scanner ser assim:
comando <pasv>
is_cgi_installed(<name>) - procura por ficheiros no
start = prompt("First port to scan ? ");
end = prompt("Last port to scan ? "); sistema alvo
for(i=start;i<end;i=i+1)
{ Exemplo www:
soc = open_sock_tcp(i);
if(is_cgi_installed("/robots.txt")){
if(soc) {
display("The file /robots.txt is
display("Port ", i, " is open\n");
present\n");
close(soc);
}
}
if(is_cgi_installed("php.cgi")){
}
display("The CGI php.cgi is
installed in /cgi-bin\n");
}
Fechar um socket if(!is_cgi_installed("/php.cgi")){
display("There is no 'php.cgi' in
A funo close() usada para fechar um socket. Executar the remote web root\n");
internamente um shutdown() antes de realmente fechar o }
socket.
Escrever e ler para um socket. Enviar e receber dados por Exemplo ftp:
comunicao TCP ou UDP soc = open_sock_tcp(21);
if(ftp_log_in(socket:soc, user:"ftp",
A leitura e a escrita atravs de um socket so feitas usando pass:"joe@")) # Log como user anonimo
uma destas funes: {
port = ftp_get_pasv_port(socket:soc);
recv(socket:<socketname>, length:<length> if(port) {
[,timeout : <timeout>) soc2 = open_sock_tcp(port);
data = string("RETR /etc/passwd\r\n");
L <length> bytes do socket <socketname>. Esta funo
send(socket:soc, data:data);
pode ser usada para TCP ou UDP. A opo timeout password_file = recv(socket:soc2,
expressa em segundos. length:10000);
display(password_file);
recv_line(socket:<socketname>,length:<length> [, close(soc2); }
timeout: <timeout>]) close(soc);
}
Esta funo funciona da mesma maneira que o recv(), a no
ser que esta para de ler dados assim que o carcter \n for
lido. Esta funo trabalha somente com socket do TCP. Como poderem ver o NASL permite a criao de testes de
segurana de uma forma simples e eficaz. Com este artigo
send(socket:<socket>, data:<data> [, impossvel ficar a saber desenvolver em NASL mas o meu
length:<length>]) objectivo introduzir-vos no tema para que procurem estudar
em pormenor de modo a dominarem com sucesso o que est
Envia os dados <data> no socket <socket>. O argumento envolvido.
opcional diz funo para enviar apenas [length] bytes no
</teckV>
<9>
<A programar> PHP Uma linguagem dinmica server-side 2
N este artigo vamos abordar o PHP um pouco mais Agora que j temos uma pequena noo de ficheiros vou
colocar um pequeno script de um contador muito simples:
fundo. A vantagem das linguagens dinmicas
poder ser usado em qualquer parte de um documento <html
HTML. Ou seja, tm uma pgina HTML com vrios xmlns="http://www.w3.org/1999/xhtml">
<head>
contedos e numa parte do documento querem uma <meta http-equiv="Content-Type"
informao dinmica. content="text/html; charset=iso-8859-1"
/>
Vamos imaginar por exemplo um contador que informa <title>Contador</title>
quantas vezes j visitaram a pgina. Vocs s querem que </head>
uma pequena parte seja dinmica (o contador). Para tal <body>
<p>Número de visitas:
acontecer basta mudar a extenso de uma pgina HTML para
<?php
PHP (exemplo: pagina.html para pagina.php) e onde //nome do ficheiro com o nmero de
queremos colocar cdigo PHP devemos colocar as respectivas visitas
tags <?php cdigo ?>. Exemplo: $nomeFicheiro = 'contador.txt';
//abertura do ficheiro para
<html> leitura'r'
<head> $ler = fopen ($nomeFicheiro, 'r') or
<title>PHP Teste</title> die("No abriu o ficheiro");;
</head> //leitura da primeira linha do
<body> ficheiro
<?php echo "<p>Ol Mundo</p>"; ?> $linha = fgets ($ler);
</body> fclose($ler);
</html> //incremento de visita
$linha++;
//abrir ficheiro para escrita
Para colocarmos um simples contador devemos ter alguns
$escrever = fopen ($nomeFicheiro,
conhecimentos sobre bases de dados ou ento sobre ficheiros. 'w') or die("No abriu o ficheiro");;
Vamos agora abordar a parte dos ficheiros. //escrever no ficheiro
Para abrirmos um ficheiro devemos fazer do seguinte modo: fwrite ($escrever, $linha);
$nomeFicheiro = "teste.txt"; //imprimir o nmero da visita
$ficheiro = fopen($nomeFicheiro, 'X') or print $linha;
die("No abriu o ficheiro"); ?></p>
fclose($ficheiro); </body>
</html>
O fopen() a funo que nos permite abrir um ficheiro. Devem ter em ateno que para que este script funcione
Quando j no vamos precisar mais do ficheiro devemos fazer devidamente na mesma pasta em que colocam este ficheiro
um fclose() para fechar o ficheiro. PHP devem colocar um ficheiro chamado contador.txt e que
Em X devemos definir o que queremos do ficheiro: deve conter apenas um nmero, que inicialmente deve ser o
0, mas que pode ser outra que vocs queiram. Este um
r S para leitura
contador muito simples, a partir deste podem comear a fazer
Para escrever no ficheiro (todo o contedo do ficheiro os vossos scripts com imagens a informar o nmero de visitas.
w ser apagado e escrito o que for mandado nas Boa sorte e bom trabalho, qualquer dvida visitem o frum.
instrues).
</Ped@ntilva>
<10>
Mobilizing Web Applications <A programar>
local (num servidor e com a aplicao a correr, do formato
http://...), indicar a profundidade dos links (quantos links quer
Mobilizao de Aplicaes Web com o M- que sejam seguidos e descarregados para o dispositivo cliente)
Business Anywhere e outras opes para melhor visualizao como, por exemplo,
a apresentao de imagens.
<11>
<A programar> LaTeX
<12>
LaTeX <A programar>
As frmulas matemticas no so tudo em LaTeX, mas sem A partir do LaTeX, muitas outras ferramentas foram criadas
qualquer sombra de dvida que so um dos seus maiores para uma maior amplitude de funcionalidades, sendo uma
trunfos. delas o latex2html que tal como o nome indica, cria
documentos HTML a partir de um ficheiro .tex estruturando os
Falando agora em documentos mais tradicionais, quanto mesmos de uma forma muito similar dos documentos gerados
tempo se perde a ir a menus para criar um titulo de forma a partir do LaTeX sendo as prprias frmulas transformadas
que o Word consiga identificar o mesmo para o catalogar no em imagens de forma a no corromper o produto final.
ndice desse documento? Em documentos pequenos isto mal Felizmente existe muita informao sobre LaTeX na World
se nota, agora em documentos com 30 captulos, cada um Wide Web, so inmeras as comunidades que prestam
com 20 seces, j imaginaram o tempo que se perde? Em assistncia vasta quantidade de curiosos e autores
LaTeX para criar um capitulo, seco e outros cabealhos transformando esta ferramenta numa das mais bem
to simples quanto isto: documentadas dentro da rea, quem sabe se no ser mais
um curioso?
</HecKel>
<13>
<Tutorial> Visual Basic .NET 2 parte
Operadores Lgicos
Aqui tm a continuao do tutorial de Visual
Basic, iniciado na edio anterior. Os operadores lgicos podem ser considerados, muito
resumidamente, como classes de operaes sobre variveis e
elementos. AND, OR e NOT so os exemplos mais
Operadores conhecidos dos operadores lgicos. Ao utilizar o operador
Operadores Aritmticos (+, -, *, /, \, %, ^) AND, a expresso ir ser verdadeira se ambas as condies
Operadores Lgicos (e, ou, no) se verificarem, caso contrrio ser retornado Falso o valor
Operadores Relacionais (=, <, >, <=, >=, <>) booleano da expresso. No caso do OR, ser retornado o
Estruturas de Controlo valor booleano Verdadeiro se uma ou ambas as condies
Estruturas Condicionais (ifthen / if ... then else / retornarem verdadeiro, caso contrrio ser falsa a expresso.
select case) Por fim, numa expresso que contenha o operador NOT,
Estruturas Cclicas (while / do while / for next) ser retornado o inverso do valor booleano devolvido pela
condio, Verdadeiro se for Falso e Falso se for Verdadeiro.
Operadores Aritmticos
AND OR NOT
Os operadores aritmticos so usados para desenvolver X1 X2 X1 and X2 X1 X2 X1 or X2 X1 Not X
operaes matemticas. As operaes aritmticas mais usadas 0 0 0 0 0 0
0 1
em qualquer linguagem so a soma (+), a subtraco (-), a 0 1 0 0 1 1
1 0 0 1 0 1
multiplicao (*) e a diviso (/), a diviso inteira (\) e a 1 0
1 1 1 1 1 1
potncia (^).
Outros operadores aritmticos so os operadores de Exemplo:
incremento e decremento, representados em VB.NET
respectivamente por ++ e --. Exemplo:
(AND)
Sub Main()
Dim a, b As Integer Sub Main()
Console.Write("Insira o valor de 'a': ") Dim a, b As Integer
a = CInt(Console.ReadLine()) Console.WriteLine("Insira o valor de
Console.Write("Insira o valor de 'b': ") 'a': ")
b = CInt(Console.ReadLine()) a = CInt(Console.ReadLine())
Console.WriteLine("Insira o valor de
Console.WriteLine("Multiplicao: a * b 'b': ")
= {0}", a * b) b = CInt(Console.ReadLine())
Console.WriteLine("Diviso: a / b =
{0}", a / b) If a > 10 And b < 10 Then
Console.WriteLine("Soma: a + b = {0}", a Console.WriteLine("Verdadeiro - ambas
+ b) as condies so verdadeiras")
Console.WriteLine("Subtrao: a - b = Else
{0}", a - b) Console.WriteLine("Falso - pelo menos
Console.WriteLine("Diviso Inteira: a \ uma das condio falsa")
b = {0}", a \ b) End If
Console.WriteLine("Potncia: a ^ b = End Sub
{0}", a ^ b)
Console.ReadLine()
End Sub
<14>
Visual Basic .NET 2 parte <Tutorial>
Operadores Relacionais
(OR)
As estruturas condicionais podem ser tambm designadas por
Sub Main() estruturas de Seleco. Este tipo de estruturas esto divididas
Dim a, b As Integer em seleco de 1 via, de 2 vias e de N vias. Uma estrutura de
Console.WriteLine("Insira o valor de seleco de 1 via definida pelo conhecido if onde ser
'a': ") executado um bloco de cdigo quando a expresso
a = CInt(Console.ReadLine()) verdadeira. Exemplo:
Console.WriteLine("Insira o valor de
'b': ") Sub Main()
b = CInt(Console.ReadLine()) Dim idade As Integer
Console.WriteLine("Insira a sua idade:
If a > 10 Or b < 10 Then ")
Console.WriteLine("Verdadeiro - pelo idade = CInt(Console.ReadLine())
menos uma das condies verdadeira") If idade >= 18 Then
Else Console.WriteLine("Voce ja e maior de
Console.WriteLine("Falso - ambas as idade")
condies so falsas") End If
End If Console.ReadLine()
End Sub End Sub
Os operadores relacionais surgem normalmente Por fim, a estrutura de seleco com N vias definida pelo
acompanhados de uma estrutura condicional ou de uma Select Case. Aqui no feita a seleco da via a seguir
estrutura cclica por exemplo. So usados para verificar a consoante uma expresso lgica mas sim do estado de algo
veracidade ou no, de uma expresso. Os operadores (varivel, objecto, etc). Exemplo:
relacionais mais usados so:
Sub Main()
Smbolo Designao Dim mes As Integer
Console.Write("Insira o numero do mes
= Igual a em que nasceu: ")
< Menor que mes = CInt(Console.ReadLine)
> Maior que 'Seleco com N vias
<= Menor ou igual que Select Case mes
>= Maior ou igual que Case Is = 1, 3, 5, 7, 8, 10, 12
<> Diferente de Console.WriteLine("Nasceu num ms
com 31 dias.")
Case Is = 4, 6, 9, 11
Exemplos: Ver estruturas condicionais ou estruturas cclicas Console.WriteLine("Nasceu num ms
com 30 dias.")
<15>
<Tutorial> Visual Basic .NET 2 parte
Exemplo:
Case Is = 2
Console.WriteLine("Nasceu num ms Sub Main()
com 28/29 dias") Dim input As Integer
End Select Do
Console.ReadLine() Console.Clear() 'Apaga o ecr
End Sub Console.Write("Insira um valor maior
que 10: ")
input = CDec(Console.ReadLine()) 'Le
um valor inserido pelo utilizador e
converte-o para decimal
Operadores Cclicas Loop Until input > 10
Console.WriteLine("O numero que inseriu
As estruturas cclicas so aquelas que permitem a execuo foi {0}", input)
repetida de uma determinada instruo controlada por uma Console.ReadLine() 'Esta linha apenas
expresso lgica. Em VB.NET, estas estruturas so usadas faz com o programa s encerre depois do
recorrendo ao while, dowhile e fornext. utilizador carregar numa tecla qualquer
End Sub
<16>
XGL e Compiz no Ubuntu Dapper Drake <GNU/Linux>
Section "Device"
Identifier # no alterar
Driver "nvidia"
BusID "PCI:1:0:0"
Eyecandy para todos Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
EndSection
Na ltima edio apresentmos o XGL, a nova
arquitectura. Nesta edio vamos aplic-la ltima
verso da distribuio Ubuntu.
Se mais tarde o Compiz no funcionar (e se queixar da
composite extension), adicione isto ao fundo:
Algumas notas:
Section "Extensions"
Option "Composite" "Enable"
preciso a verso CVS mais recente do glitz para que o Xgl EndSection
funcione com placas Nvidia que no tm Pixel Shaders (ou
seja, tudo abaixo da 5200FX).
No adicione em caso contrrio.
ESTE PROCESSO INUTILIZA O XINERAMA E TWINVIEW,
portanto Dual Head est fora de questo. Muito importante: Certifique-se que a profundidade de cores
Tambm se assume que est a utilizar os ltimos drivers dos 24!
repositrios. Para os obter digite o seguinte comando: Agora salve o ficheiro e feche-o.
<17>
<GNU/Linux> XGL e Compiz no Ubuntu Dapper Drake
[gui]
[servers]# Override display 1 to use Xgl CTRL + ALT + SHIFT + Esquerda/Direita A aplicao
(DISPLAY 1 IMPORTANT FOR ATI FGLRX). seleccionada movida para uma nova face do cubo.
0=Xgl
[server-Xgl]
CTRL + ALT + Esquerda + Click no desktop Permite usar o
name=Xgl server rato para fazer girar o Cubo.
command=/usr/bin/Xgl :0 -fullscreen -ac -accel
glx:pbuffer -accel xv:fbo
F12 - Expos2
flexible=true
</xplod_me>
Agora salve o ficheiro. Defina as permisses para executvel:
2 No Mac OS X, Expos uma ferramenta para manejar janelas
sudo chmod 755 /usr/bin/thefuture abertas (especialmente quando so em nmero elevado),
permitindo ao utilizador ver rapidamente todas as janelas
abertas num formato miniatura. Bastante til.
<18>
Adio de classificaes por PDA <Projecto>
Introduo
Base de Dados
No passado ano lectivo de 2005/2006, foi desenvolvido pelos
alunos Lus Madureira e Pedro Ramos, um projecto para Para a organizao dos dados referentes ao nosso trabalho prtico,
possibilitar ao pessoal docente do Instituto Superior segundo um esquema relacional, foram utilizadas catorze tabelas,
Politcnico Gaya, carregar as classificaes dos alunos por com todos campos necessrios, armazenadas numa base de dados
intermdio de um PDA (Personal Digital Assistants). SQL Server.
Este projecto foi desenvolvido para a cadeira de Seminrio do A aplicao para dispositivos mveis
5 Ano do curso de Engenharia Informtica.
Ilustrao 2 1 Formulrio
<19>
<Projecto> Adio de classificaes por PDA
Ilustrao 4 3 Formulrio
</Evil Knievel>
<20>
Documentao profissional em GNU/Linux <Anlises>
<21>
<Anlises> Documentao profissional em GNU/Linux
Ajuda online Apesar de fazerem uma parte da tarefa, estas ferramentas
no fazem todo o trabalho. Os programadores tm de
Nem toda a gente gosta de estar a fazer download de
comentar o cdigo que escrevem e precisam de adicionar
manuais para solucionar uma dvida que tem em relao a
exemplos e informao extra para que estas ferramentas
um certo programa: muitos dos utilizadores preferem carregar
organizem essa informao sob a forma de documentao de
F1 e obter logo ajuda. Embora as ferramentas em GNU/Linux
ajuda. Assim sendo, estas ferramentas facilitam o trabalho do
no se possam ainda comparar s mesmas em Windows, j
programador, mas sempre necessrio dar informao
existem algumas que fazem sucesso dentro e fora da
suficiente s mesmas para que elas faam aquilo para que
comunidade e ajudam o utilizador a escrever ajuda online.
esto programadas.
O QuickHelp, uma das mais populares em criao de ajuda
online, uma aplicao com vertente grfica que ajuda os
escritores de material tcnico a escreverem tpicos de ajuda
de forma simples. Esta aplicao permite-nos ainda juntar os
tpicos a um sistema de ajuda profissional, que inclui
navegao, index e at um pequeno motor de busca. O maior
problema desta aplicao que paga para ser utilizada, ou
seja, no uma software livre.
JavaHelp uma aplicao desenhada para fornecer ajuda
online para software escrito em Java. um sistema poderoso
e flexvel, e em GNU/Linux podemos encontrar montanhas de
ferramentas de criao de sistemas JavaHelp. Como exemplos
temos o JHelpDev e o JHelp Builder, que fornecem um
ambiente grfico no qual podemos criar tpicos de ajuda e Outras ferramentas
todos os ficheiros de suporte necessrios a um sistema Criar documentao no s e apenas escrever. Criar
JavaHelp. De salientar que o DocBook XML pode tambem documentao tambem envolve trabalho grfico e com
produzir JavaHelp. ilustraes, assim como capturar screenshots. Portanto, para
O HelpSetMaker uma ferramenta grfica de ajuda que conciliar todas estes factores paralelos com a criao de
produz ficheiros em HTML, em sistema JavaHelp, ou em documentao vamos precisar de mais aplicaes, entre elas
LaTeX. O utilizador simplesmente escreve tpicos de ajuda na algumas bem conhecidas.
interface e pode adicionar imagens assim como hiperligaes. Se precisarmos de editar imagens, o GIMP a melhor
O maior problema do HelpSetMaker que a interface no ferramenta do ramo em GNU/Linux. Para alm de ter o poder
intuitiva o suficiente, em comparao com o resto das de editar imagens, este programa permite ainda tirar
funcionalidades da ferramenta. screenshots para dar exemplos na documentao. Outra
Se o utilizador precisar de criar ajuda para multiplos sistemas aplicao a considerar o Krita, o editor de imagem que faz
operativos, deve considerar a aplicao WebHelp. WebHelp parte da suite de aplicaes KOffice.
um bom mtodo para criar ajuda online ou documentao no Para ilustraes e flowcharts, algumas das melhores
browser. O formato WebHelp foi popularizado com o aplicaes de GNU/Linux so o Sodipodi, Dia e Kivio. Todos
programa Macromedia RoboHelp e est em alta no mundo de eles contm ferramentas poderosas que podem ser usadas
GNU/Linux. para criar todo o tipo de diagramas. E cada uma delas pode
Documentao do programador exportar os diagramas criados para formatos mais conhecidos,
como .jpeg,.gif,entre outros.
Para programadores, criar documentao para cdigo um
trabalho duro. Na verdade, a mais difcil de todas as tarefas O software referido neste artigo s foca algumas das
de documentao. possibilidades inseridas no processo de criao de
documentao em GNU/Linux. Existem centenas de aplicaes
Mas para facilitar a tarefa do programador, existem
criadas para este ramo que no foram aqui referidas, pelo que
ferramentas que fazem esse trabalho, e, portanto, geram
continuam a no ser to utilizadas como estas. Talvez at
documentao de cdigo-fonte. Programas como o Doxygen,
existam aplicaes bem melhores, quem sabe. tudo uma
DOC++, ROBODoc e o NaturalDocs so ideiais para realizar
questo de continuar a experimentar e a explorar
esta rdua tarefa. Cada uma destas ferramentas cria
documentao em diferentes formatos para diferentes </deathseeker25>
linguagens, inclundo C/C++, Perl, Java e IDL.
<22>
Nano Site-Contest <Internet>
Foi realizado um concurso no frum Portugal-a-Programar, com o intuito de avaliar os sites criados pelos nossos
membros. Para alm do aspecto, tambm foram avaliadas as tecnologias usadas e o nvel de programao efectuado.
Os resultados foram os seguintes:
1 Lugar
http://www.quickfire.info
QuickFire
Web Design: 9
Programao: 10
Total: 19
Notas: Pela excelente programao, utilizao de tecnologias que mais nenhum utilizador usou e pela qualidade do design e
construo inerente.
2 Lugar
http://favoritos.sergiomatias.net
perdido_e_sozinho
Web Design: 9
Programao: 9
Total: 18
Notas: Por um design muito bom, web application style, e uma programao muito boa. Muitas funcionalidades e uma grande
interaco com os utilizadores.
3 Lugar
http://sergiomatias.net
perdido_e_sozinho
Web Design: 9
Programao: 8
Total: 17
Notas: Um excelente design, simplista mas ao mesmo tempo rico em pormenores. Programao bem elaborada, site tableless,
envio de e-mail online, listagem do portflio...
<23>
<Blue screen>
Extreme cooling
<24>
<\Revista>
A Comunidade P@P
ParceriasactuaisdoP@P
Dois meses passaram desde o lanamento da ltima
edio e muitas coisas tm sido aperfeioadas na
comunidade: o staff chegou a um consenso sobre a
nova organizao das seces, o que far com que o
frum ganhe um aspecto muito mais profissional. A
informao estar melhor agrupada nas devidas
seces, haver maior rigidez na forma como se posta, TechzonePTwww.techzonept.com
na forma como se pergunta e na forma como se
responde. Vamos tentar fazer com que todos os
utilizadores respeitem as regras e consigam saber onde
colocar os tpicos que querem criar.
RedCodeStudiohttp://forum.redcodestudio.com
PCTugawww.pctuga.net
<25>