Revista PROGRAMAR - Ed 30 - 2011-08.pdf

(10107 KB) Pobierz
1057826996.043.png
EDITORIAL
EQUIPA PROGRAMAR Erro: Título não definido
Coordenadores
António Silva
Fernando Martins
Cada vez mais exigido rigor em todos os aspectos nas mais variadas reas. A pro-
gramaão não excepão, tanto mais se pensarmos que cada vez mais a tecnologia
faz parte da vida das pessoas. Nos dias que correm natural exigir que qualquer
aplicaão não possua erros de compilaão nem os famosos warnings . Todavia estes
são sem dvida os mais fceis de corrigir. O problema quando aparecem os deno-
minados erros de runtime . Algo que o programador não previu no seu algoritmo e
que se pode tornar numa autêntica bomba, capaz de detonar o programa todo. E se
pensarmos que numa aplicaão de contabilidade, o que poder acontecer ser ne-
cessrio repetir a operaão, no caso de uma aplicaão de uma nave espacial, por
exemplo, o caso de uma divisão por zero que não seja protegida, quando a nave
est a calcular o ngulo de entrada na atmosfera, pode determinar a diferena entre
o prejuízo de milhes e o lucro, talvez at entre a vida e a morte.
Editor
Fbio Domingos
Jorge Paulino
Design
Srgio Alves
Twitter: @scorpion_blood
Redacão
Andr Lage, Augusto Manzano,
Bruno Lopes, Bruno Pires,
Carlos Rodrigues, Fbio Domingos,
Flvio Geraldes, João Tito Lívio,
Niko Neugebauer, Nuno Godinho
Ao contrrio de muitas outras reas, a programaão não ainda alvo da chamada
prova científica, apesar de Informtica ser considerada uma ciência. Se perguntar-
mos a um Engenheiro Civil a razão porque determinada ponte não caí, ele explicar-
nos- com clculos matemticos que garantem a estabilidade da ponte. Se pergun-
tarmos grande maioria dos Programadores ou at Engenheiros Informticos o por-
quê do programa funcionar correctamente, muito dificilmente obteremos uma respos-
ta com prova científica.
Staff
António Santos, Fbio Canada
Pedro Martins, Sara Santos
Para percebermos o parte do drama basta ver problemas de segurana bsicos que
existem em muitas aplicaes na Web e fora dela. Muitas vezes a criaão de um
programa deixa de ser uma sequência de passos j definidos, para ser inspiraão da
musa da programaão, e onde se escrevem linhas e linhas de código, simples frutos
de sbita (des)inspiraão. Em vez de programadores passam a poetas, que se inspi-
ram na sua musa, e que em vez de Redondilhas criam “Centilhas”. Muitas vezes
sem perceberem que estão a fazer algo e a desfazer nas linhas seguintes, e onde só
est a ser gasto processamento.
A verdade que os erros não vão desaparecer completamente, porque continumos
a ver erros na nossa civilizaão que custam dinheiro e at vidas. Todavia, e feliz-
mente o nmero de pontes, avies e outras invenes não “caem” com tanta fre-
quência como “caem” as aplicaes. Porque aí o problema est muitas vezes no ser
humano que verificou, e que fez um erro na verificaão. Por isso era provvel que
conseguíssemos melhores resultados se fosse feita uma aposta forte no clculo e
correcão de algoritmos.
ISSN
1 647-071 0
António Silva <antonio.silva@revista-programar.info>
A revista PROGRAMAR um projecto voluntrio sem fins lucrativos. Todos os artigos são da responsabilidade dos autores, não
podendo a revista ou a comunidade ser responsvel por alguma imprecisão ou erro. Para qualquer dvida ou esclarecimento
poder sempre contactar-nos.
2
1057826996.044.png 1057826996.045.png 1057826996.046.png 1057826996.001.png 1057826996.002.png 1057826996.003.png
ÍNDICE
TEMA DE CAPA
Conhea as bases da tecnologia “Ruby on Rails” para desenvolvimento de pginas web. Carlos Rodrigues .
7
A PROGRAMAR
30
A continuaão de um excelente artigo sobre LUA, uma linguagem de programaão pouco conhecida. Nesta dcima
parte, saiba como embeber a linguagem LUA em programas escritos em C e C++, bem como pode utilizar co-rotinas.
Augusto Manzano .
36
Conhea uma forma simples e eficaz de atravs de RSS 2.0 fazer um “response” directamente numa pgina ASPX
com um controlo de utilizador. João Tito Lívio .
Um artigo de introduão linguagem da Apple Objective-C e plataforma iOS utilizada nos dispositivos iPod Touch,
iPhone e iPad. Bruno Pires.
41
45
Saiba como colocar metadados em aplicaes C# atravs de atributos. Flvio Geraldes
COLUNAS
51
Conhea estas estruturas que possuem bastantes vantagens sobre os Arrays. Fbio Domingos .
COMUNIDADES
Conhea esta funcionalidade que possibilita a resoluão de vrios problemas relacionados com Cloud Computing.
Nuno Godinho.
59
67
Conhea algumas ferramentas gratuitas que podem facilitar e acelerar o trabalho com o SQL Server.
Niko Neugebauer.
Como configurar e utilizar o NHibernate com FluentNHibernate para fazer a ponte entre as nossas classes em .NET e
as nossas tabelas de bases de dados. Bruno Lopes.
74
Veja como criar Sandbox Solution utilizando os diversos Templates disponibilizados para o Visual Studio 2010. Andr
Lage
84
EVENTOS
08 Ago - Damian Conway em Lisboa - Fun with Dead Languages
10 Ago - Summer Tech Refresh - Lisboa
16 Ago - XIV encontro da Comunidade SQLPort
27 Ago - Reunião presencial Comunidade NetPonto - Lisboa
24 Set - WordCamp Lisboa 2011 (Comunidade Portuguesa de WordPress)
24 Set - 2º Aniversário da Comunidade NetPonto
Para mais informaes/eventos: http://bit.ly/PAP_Eventos
3
1057826996.004.png 1057826996.005.png 1057826996.006.png 1057826996.007.png 1057826996.008.png 1057826996.009.png 1057826996.010.png 1057826996.011.png 1057826996.012.png 1057826996.013.png 1057826996.014.png 1057826996.015.png 1057826996.016.png 1057826996.017.png 1057826996.018.png 1057826996.019.png 1057826996.020.png 1057826996.021.png 1057826996.022.png 1057826996.023.png 1057826996.024.png 1057826996.025.png 1057826996.026.png 1057826996.027.png
NOTICIAS
Investigadores do ISEP desenvolvem
software para tornar os motores de
busca mais eficientes
Mozilla prepara sistema operativo móvel
baseado na Web
“A Mozilla est a trabalhar no desenvolvimento de um sistema
operativo aberto e baseado na Web, revelou ontem fonte da
fundaão, num grupo de discussão para programadores que
colaboram com a criadora do Browser Firefox.
O projecto a que a Mozilla chama "Boot to Gecko" tem por
base o motor de renderizaão Gecko, usado no browser Fire-
fox e no cliente de email Thunderbird e dirige-se, numa pri-
meira fase, a dispositivos móveis, como os smartphones e
tablets. O objectivo criar "um sistema operativo completo e
independente para uma Web aberta", rompendo com o
"estrangulamento levado a cabo pelas tecnologias propriet-
rias no mundo dos dispositivos móveis", afirma Andread Gal,
um dos investigadores da Mozilla, alertando para o facto des-
te ainda se encontrar numa fase muito inicial.
"Algumas das suas componentes ainda estão apenas nas
nossas cabeas, outras ainda não foram totalmente explora-
das. Estamos a falar disto agora porque queremos contar com
os conhecimentos de todos na Mozilla - e das pessoas que
ainda não fazem parte da Mozilla - para ajudarem a dar forma
e construir o projecto que estamos a preparar", explica.
Parte do Boot to Gecko - cujo código ser disponibilizado "em
tempo real" medida que forem feitos avanos - baseado
no sistema operativo móvel da Google, mas apenas no que
respeita ao kernel (ou ncleo) e aos drivers, uma opão que
lhe assegura compatibilidade com os dispositivos Android.
O desenvolvimento dever primeiro passar por criar uma pla-
taforma com capacidade para desempenhar as funes bsi-
cas de um dispositivo móvel (chamadas, SMS, cmara, USB,
Bluetooth) e APIs para lidar com elas. O objectivo passa de-
pois por encontrar uma forma de as pginas Web e aplica-
es acederem de forma segura aos componentes de que
precisem, possibilitando assim a criaão de aplicaes nativas
que corram directamente a partir da Web em vez de estarem
disponíveis em apenas alguns dispositivos.
“Uma equipa de investigadores portugueses do Instituto Supe-
rior de Engenharia do Porto (ISEP) est envolvido num projec-
to da Microsoft que pretende desenvolver um novo software,
com o objectivo de tornar os motores de busca mais rpidos,
mais directos, mais eficazes e mais "inteligentes". A ideia
permitir que os utilizadores da Internet obtenham informaão
mais concreta e direccionada, na altura da pesquisa.
Ou seja, "o objectivo que os motores de busca sejam capa-
zes de relacionar os parmetros pedidos pelos cibernautas e
forneam respostas concretas, relacionando a informaão
como um raciocínio lógico", explicam os investigadores do
ISEP. Actualmente, o software implementado nos motores de
busca não capaz de absorver e processar a informaão que
exclusivamente destinada ao ser humano. O sistema ape-
nas orientado para a apresentaão de informaão. O proces-
samento e as concluses ficam para o utilizador. O software
que est a ser desenvolvido pelo ISEP ser capaz de proces-
sar os dados pedidos pelo cibernauta e pesquisar os concei-
tos na web, não de forma isolada, mas relacionando-os entre
si. Olhando para um caso concreto, pergunta "quais os
apartamentos T2 existentes, com menos de 10 anos, para
arrendar, a menos de 500 metros da Trindade, Pólo Universi-
trio ou Salgueiros, por valor inferior a 500 euros?", o mais
certo surgirem inmeros sites com referências dispersas a
cada um dos parmetros, mas nenhum site que os relacione
entre si, devolvendo-nos todos os resultados que contenham
as expresses "apartamentos T2, Pólo universitrio, ou Sal-
gueiros". No futuro, o objectivo que a pesquisa apenas de-
volva, de facto, a informaão acerca dos apartamentos que
renam todas as condies especificadas e com validade
temporal. “
Fonte: Wintech
Quem quiser ficar com uma ideia do que esperar, poder ima-
ginar, numa fase inicial, qualquer coisa como um smartphone
com o Firefox para Android como ecrã inicial, com algumas
APIs personalizadas.”
Microsoft lana Platform Preview 2 do
Internet Explorer 10
“A Microsoft lanou esta semana a Platform Preview 2 do In-
ternet Explorer 10. Segundo revelado pela empresa Norte-
Americana, esta nova versão "Preview" apresenta o suporte a
HTML5 Parser, HTML5 Sandbox, Web Workers, HTML5
Forms, Media Query Listerners entre muitas outras novidades.
Para alm destas características, existem tambm melhorias
no desempenho na abertura e apresentaão de paginas web.
Como sabido, a versão final Internet Explorer 10 não possui
ainda uma data de lanamento, no entanto especula-se que a
versão Beta deve chegar em Setembro, altura em que dever
ser revelada tambm a versão Beta do Windows 8.
O Internet Explorer 10 Platform Preview 2 apenas compatí-
vel com o Windows 7 (x86 e x64).”
Fonte: Sapo.pt
Txis do Porto abrem caminho ao automó-
vel do futuro
“A tecnologia necessria a mais este avano da indstria au-
tomóvel est a ser estudada em vrios institutos e tambm na
cidade do Porto, onde os 448 txis da cooperativa Raditxis
estão j equipados com um dispositivo experimental desen-
volvido em parceria pelas faculdades de Ciências e de Enge-
nharia da Universidade do Porto, pela Universidade de Aveiro,
pela Carnegie Mellon University, dos EUA, e pelas empresas
NDrive e Geolink.”
Fonte: Wintech
Fonte: Público /local
4
1057826996.028.png 1057826996.029.png 1057826996.030.png 1057826996.031.png 1057826996.032.png 1057826996.033.png 1057826996.034.png
NOTICIAS
A integraão do Eclipse com ferramentas de desenvolvimen-
to populares tambm foi melhorada no lanamento Indigo.
Sobretudo, EGit 1.0 foi lanado como parte do ambiente pa-
drão do Eclipse, trazendo o muito necessrio suporte fora-da
-caixa para o popular sistema de controlo da versão distribu-
ída de git. O EGit construído em cima da biblioteca JGit, a
qual providencia uma implementaão Java nativa da funcio-
nalidade de cliente git. Para alm do suporte git incluído, o
Indigo tambm oferece uma interacão estreita com a ferra-
menta de gestão do projecto Maven atravs do novo projecto
m2e.
Eclipse Indigo lanado com a ferramenta
WindowBuilder GUI e EGit 1.0
“A Fundaão Eclipse anunciou o lanamento do Eclipse 3.7,
nome de código Indigo. A versão mais recente do popular
ambiente de desenvolvimento integrado (IDE) open-source
introduz alguns novos componentes e funcionalidade melho-
rada.
O design modular do Eclipse e ênfase na extensibilidade aju-
daram a atrair um largo ecossistema em volta do software. É
construído e mantido como uma plataforma de ferramentas
em vez de ser apenas uma aplicaão que funciona sozinha.
Uma grande quantidade de funcionalidade especializada est
implementada em plug-ins, permitindo ao IDE integrar-se com
muitas ferramentas e suportar uma larga abrangência de lin-
guagens de programaão e kits de ferramentas de desenvolvi-
mento.
O Eclipse Indigo est disponível para download a partir do
site oficial Eclipse. O Eclipse vem com muitos sabores –
existem vrios pacotes para download com diferentes confi-
guraes e componentes. Obviamente, pode utilizar o cliente
Eclipse Marketplace incluído para instalar componentes adi-
cionais independentemente de qual pacote inicial for utiliza-
do. Testmos o pacote padrão de desenvolvimento Java em
Mac OS X e concluímos que funciona como esperado.
Os componentes do ncleo do IDE e muitos dos plug-ins são
desenvolvidos como projectos de open-source individuais
dentro da comunidade Eclipse. A Fundaão Eclipse organiza
um “exercício de lanamento” anual o qual envolve um lana-
mento coordenada a larga escala que abrange o ecossistema
Eclipse. De acordo com estatísticas publicadas pela fundaão,
62 projectos Eclipse participaram no exercício de lanamento.
O lanamento consiste em aproximadamente 46 milhes de
linhas de código de 408 programadores individuais.
Para mais informaes sobre o lanamento, pode aceder ao
anncio oficial do micro-site Indigo. A Fundaão Eclipse est
a fazer alguma angariaão de fundos a par da actualizaão.
Se quer ajudar a fundaão a atingir o seu objectivo de recru-
tar 500 novos Amigos de Eclipse, pode aceder pgina 500
Indigo.
Devido ao alcance prodigioso de um lanamento Eclipse,
possível realar todas as alteraes e melhoramentos. Exis-
tem contudo, um nmero significativo de acrscimos que são
dignos de nota.
(Traduão: Sara Santos)
O projecto mais significativo no lanamento Indigo o Win-
dowBuilder, uma ferramenta sofisticada para construir interfa-
ces grficos de utilizador com SWT e Swing. O WindowBuil-
der era anteriormente uma ferramenta comercial desenvolvida
pela Instantations, mas foi adquirida pela Google no ano pas-
sado. A Google libertou o código fonte e deu-o como contri-
buião Fundaão Eclipse para que pudesse ser incorporado
no IDE como a ferramenta padrão de design do interface do
utilizador. A Google tem continuado a desenvolver activamen-
te o projecto desde que libertou o código fonte.
O WindowBuilder suporta o tipo de design visual de interface
drag-and-drop que os programadores têm vindo a esperar dos
ambientes modernos de desenvolvimento. Possui uma carac-
terística de geraão de código bi-direccional inteligente que
lhe permite interagir com código de interface de utilizador edi-
tado manualmente. Tendo esta característica incluída no IDE
por predefinião um grande ganho para programadores Ja-
va que criam aplicaes grficas.
5
1057826996.035.png 1057826996.036.png 1057826996.037.png 1057826996.038.png 1057826996.039.png 1057826996.040.png 1057826996.041.png 1057826996.042.png
Zgłoś jeśli naruszono regulamin