1. EDITORIALEQUIPA PROGRAMAR RIP No inicio de Outubro faleceu
Steve Jobs, mais precisamente um dia antes do lanamento da edio
anterior da Revista PROGRAMAR. Sete dias depois faleceu
Coordenadores Dennis Ritchie. Doze dias depois faleceu John
McCarthy. Independentemente de se Antnio Silva gostar ou no, a
verdade que aquilo que fizeram influenciou a vida de muitas
Fernando Martins pessoas. Dennis Ritchie foi um dos pais do C,
linguagem que influenciou a vida de todos os programadores, quer
directa quer indirectamente, quer usem ou no C para programar. John
McCarthy foi o pai do Lisp, que apesar de no estar to Editor
disseminado na programao, tm uma grande relevncia, principalmente
na rea Antnio Santos da Inteligncia Artificial. Steve Jobs levou a
Apple rumo ao sucesso, depois da empresa sem si ter afundado, quase
a ponto de se extinguir. E verdade que cada um fez muito mais,
estes so, no entanto, e na minha opinio as marcas mais Design
importantes de cada um deles. Srgio Alves Twitter: @scorpion_blood
Assim, no tenho qualquer receio de afirmar que todos eles merecem a
nossa considerao pelo que fizeram e alcanaram, quer se concorde ou
no com algumas ideias e filosofias. Mas a verdade que o mais
destacado foi sem dvida Steve Redaco Jobs. Mereceu notcias de
abertura em canais de televiso, notcias de primeira Bruno Pires
pgina em jornais e revistas, entre outras, enquanto Dennis Ritchie
e John McCarthy Augusto Manzano Sandro Pereira ficaram quanto muito
com algumas linhas em jornais e revistas, e um pouco mais em
Fernando Martins revistas e comunidades ligadas programao e
tecnologia. Muitos insurgiram-se Nuno Godinho pelo facto de no
haver o mesmo destaque entre todos. Mas a verdade que ambos Paulo
Morgado viviam muito mais sombra da sociedade em geral que Steve
Jobs. Contudo no Srgio Ribeiro foram esquecidos. O Fedora 16,
lanado cerca de um ms depois da morte de Vtor Tomaz Dennis Ritchie
foi-lhe dedicado. Durante a sua vida John McCarthy recebeu tambm
Flvio Geraldes inmeros prmios, como por exemplo o prmio Turing.
Tambm verdade que muitos se apressaram quase a colocar Steve Jobs
num pedestal, removendo-lhe os defeitos. Mas ele tinha os seus, tal
como Dennis e John. Mas seria melhor pessoa, Staff melhor
informtico que os outros dois? provvel que no. Apenas era mais
Antnio Santos visvel, e o mediatismo fez o resto. Mas a verdade que
terminaram a sua existncia Fbio Canada terrena tal como a
conhecamos. Talvez sem puderem dizer um adeus a quem Fbio Domingos
gostavam ou queriam, tal como Dennis Ritchie que faleceu sozinho em
sua casa. Jorge Paulino Pedro Martins Da minha parte resta-me
deixar um obrigado aos trs pela sua contribuio Sara Santos para as
tecnologias da informao, e um at sempre a todos os leitores e
equipa da Revista PROGRAMAR, pois esta ser a minha ltima edio como
coordenador. Contacto Foram mais de 3 anos de participao neste
projecto, passando por redactor, revistaprogramar@portugal-a-
revisor, editor e agora coordenador. Bastante tempo, considerando
que o projecto programar.org tem aproximadamente 6 anos. Mas saio
com a sensao de dever cumprido, sabendo que fiz todos o que estava
ao meu alcance para levar a revista mais longe, com ajuda de toda a
equipa da Revista PROGRAMAR, a quem deixo tambm um Website muito
obrigado. Durante o tempo que estive como editor e coordenador
mudmos o http://www.revista-programar.info visual para algo mais
apelativo, crimos parcerias com comunidades, passamos a distinguir
os artigos mais votados, entre vrias outras mudanas internas. Tudo
isto graas excelente equipa que torna possvel a existncia da
Revista PROGRAMAR. ISSN Saio tambm com a certeza de ser bem
substitudo pelo Antnio Santos, aqum 1 647-071 0 deixo desde j um
obrigado, e desejo que com a sua a ajuda a Revista PROGRAMAR chegue
ao infinito e mais alm. At sempre, Antnio Silva A revista PROGRAMAR
um projecto voluntrio sem fins lucrativos. Todos os artigos so da
responsabilidade dos autores, no podendo a revista ou a comunidade
ser responsvel por alguma impreciso ou erro. Para qualquer dvida ou
esclarecimento poder sempre contactar-nos. 2
2. NDICETEMA DE CAPA 7 iOS, Cocoa Touch & MVC Conhea mais
algumas tcnicas de programao para os dispositivos mveis da Apple.
Bruno PiresA PROGRAMAR 15 Gerao de Nmeros Aleatrios (Parte 2) O
segundo de 4 artigos do mesmo autor da excelente srie Programao em
Lua, desta vez sobre gerao de n- meros aleatrios. Augusto Manzano
18 Automatizao de tarefas usando atributos Continuao do artigo
sobre atributos em C# da edio nmero 30. Neste artigo, conhea melhor
o funcionamento do conceito de contextos nesta linguagem. Flvio
Geraldes 24 SQL Azure Fedarations Introduo s SQL Azure Federations.
Victor Tomz 29 Enigmas de C#: Arrays Saiba porque motivo, um array
pode invocar uma System.ArrayTypeMismatchException. Paulo
MorgadoCOLUNAS 31 Visual (NOT) Basic - Um pouco mais de Windows
Phone 7 Saiba como pode tirar partido de algumas funcionalidades e
caractersticas no desenvolvimento de aplicaes para esta plataforma.
Srgio Ribeiro 40 Core Dump - Free as in Beer Atualmente, as
empresas usam software open source, no por ser livre, mas por ser
grtis. Conhea a opinio do au- tor sobre este tema. Fernando
MartinsCOMUNIDADES 42 AzurePt - Como suportar mltiplas identidades
no seu WebSite com Windows Azure AppFabric ACS Saiba como resolver
o problema das identidades em demasia atravs do Azure. Nuno
Godinho. 47 NetPonto - BizTalk Server - Princpios Bsicos dos Mapas
Explore atravs deste artigo, o editor de mapas do BizTalk Server.
Sandro PereiraEVENTOS 03 Dez 2011 - 4 Evento da Comunidade Azure PT
16 a 18 Dez 2011 - Windows Phone 7 App Code Camp (Palmela) 17 Dez
2011 - 25 Reunio Presencial da Comunidade NetPonto em Lisboa 27 Fev
a 1 Mar 2012 - XIX SINFO - Semana Informtica IST 17 Maro 2012 - SQL
Pass Saturday Portugal #115 Para mais informaes/eventos:
http://bit.ly/PAP_Eventos 3
3. NOTICIASO que a Microsoft, Oracle, IBM e SAP invulgares para
a facturao da entrada e sada de dados nosNo Dizem aos Clientes
sistemas. Gaughan tambm disse que uma grande transio tecnolgica que
estava a guiar as receitas da SAP durante os Os quatro grandes
vendedores de software ltimos anos - movimentando clientes
existentes do velho - Microsoft, Oracle, IBM e SAP tm mo- sistema
R/3 par o novo Business Suite - est quase termina- tivos escondidos
que os clientes precisam da, o que significa que a SAP ter que ser
mais agressiva de compreender, de outra forma podem ser com taxas
de manuteno. Ele recomendou o bloqueio dos levados a comprar
produtos e servios que preos de manuteno agora. no servem as suas
necessidades. Esse De uma forma geral, Gaughan disse que a maior
parte da o takeaway de uma palestra recente da inovao que est a ser
feita por estas empresas est nos Gartner na Austrlia, relatado pela
IT News. seus braos de pesquisa. O seu verdadeiro objectivo
proteger o satus quo o maior tempo que for possvel.Num simpsio esta
semana, o analista da Gartner, DennisGaughan, explicou o que os
quatro grandes vendedores estorealmente a tentar fazer, baseando-se
na experincia da Gart- Fonte: Business Insider, 19 de Novembro de
2011ner com os seus clientes. Traduo: Sara SantosA Microsoft quer
principalmente proteger Windows e oOffice. A Microsoft uma empresa
de plataformas e o seu Programao com Lego Vence Quin-maior
objective proteger os seus monoplios altamente lu- ta Edio de
Codebitscrativos de Windows e Office, enquanto ao mesmo
tempoestabelece outras plataformas que faro com que seja mais Uma
aplicao que usa peas Lego com o objectivo de permi-difcil para os
clientes separarem-se delas mais tarde. A nova tir que crianas
consigam fazer programao informtica ga-funcionalidade dada a
conta-gotas aos utilizadores dessas nhou o primeiro prmio da edio
deste ano do Sapo Code-plataformas medulares, mas os novos produtos
existem para bits.proteger o ncleo. Ele aconselhou a que fosse tida
extrema O Codebits, que comeou na quinta-feira e terminou este
s-precauo antes de mudar para o Office 365, e disse que no bado,
reuniu cerca de 800 participantes, que se dividiram emse entre numa
mentalidade toda-Microsoft. equipas para o habitual concurso de
desenvolvimento de pro- jectos as equipas tm 48 horas para criar e
apresentar umaOs produtos da Oracle no funcionam muito bem juntos.
ideia. Para alm dos prmios (computadores, telemveis eA fora de
vendas da Oracle extremamente agressiva em outros aparelhos), as
melhores ideias recebem apoio do Sapoempurrar um conjunto de
produtos, mas tem muito menos para serem desenvolvidas. O jri
atribuiu o primeiro prmio apontos de integrao do que a SAP. De
facto, a integrao uma aplicao mvel que fotografa uma base onde
possvelnormalmente deixada inteiramente ao cuidado do cliente. A
colocar peas Lego e que converte a disposio e cor dessasOracle est
igualmente muito relutante em falar sobre mapas peas num pequeno
programa informtico.de produto por temer que produtos futuros
canibalizem osexistentes. A empresa obtm mais de 90% dos seus
lucros O conceito foi trazido ao Codebits pelo programador alemo
aatravs de taxas de manuteno e far o que for necessrio viver em
Portugal Peter Bouda. O informtico Pedro Leite, umpara manter essas
taxas em entrada. Gaughan tambm ex- dos elementos da equipa de trs
pessoas que desenvolveu apressou alguma surpresa por tantos
clientes continuarem a aplicao, explica que a ideia permite s
crianas usaremtrabalhar com a Oracle apesar de relatarem que a
Oracle o algo tangvel para fazerem programao informtica
(umavendedor com quem mais difcil lidar. tarefa que
tradicionalmente envolve escrever cdigo usando linguagens com
sintaxe prpria). A IBM quer apoderar-se da tua estratgia de TI. A
IBM Na demonstrao feita no Codebits, uma sequncia de peastoma-se a
si prpria como um lder rgido, mas o seu verda- Lego foi usada para
animar, no ecr, uma pequena figuradeiro negcio vender servios de
consultoria. Parra prospe- tambm da conhecida marca de brinquedos.
As primeiras trsrar, os gestores de conta da IBM tentam obter
controlo sobre peas (duas vermelhas e uma verde) eram usadas para
dar aa estratgia de TI de uma empresa de forma a poderem conti-
instruo de que a figura devia mover-se para a direita e asnuar a
empurrar novos produtos. Gaughan recomenda que se trs peas
imediatamente frente indicavam quantas vezestome uma aproximao
colaborativa ou de parceria. esse movimento deveria ser feito. A
linha seguinte dava uma nova instruo figura (por exemplo, saltar).
E a linha final A SAP confunde os clientes com o preo. Muitos dos
cli- pode servir para determinar se a animao pra ou se a se-entes
da SAP pedem a Gartner ajuda para descobrir os pre- quncia
novamente seguida.os e licenciamento da SAP, uma vez que a SAP tem
termos 4
4. NOTICIASO significado atribudo s sequncias de peas depende
da- As 25 Piores Palavras-passe do Anoquilo para que a aplicao que
as fotografa tiver sido concebi-da uma aplicao pode interpretar trs
peas vermelhascomo uma instruo para emitir um som e outra como uma
A empresa SplashData, especialista em aplicaes parainstruo para
mostrar um nmero. smartphones incluindo gesto de palavras-passe,
divulgou a lista das 25 piores passwords de 2011. Ou seja, aquelas
que mais facilmente so descobertas por hackers.Com este conceito,
as peas Lego podem ser usadas para Esta lista da SplashData
baseia-se no estudo de milhes decriar imagens animadas, fazer
msica, construir uma calcula- palavras-passe roubadas durante este
ano e que foram pos-dora ou, teoricamente, para qualquer tipo de
efeito que se teriormente divulgadas online por hackers.consiga
produzir com uma linguagem de programao. Muitos dos utilizadores
usam sequncias numricas e alfab-Este processo implica que as
crianas ou algum por elas ticas carregando em teclas contguas do
teclado - comomemorize o que significa cada sequncia de peas. As
crian- 123456 ou qwerty - ou ento a prpria palavra password.as so
uma esponja, afirmou Pedro Leite, mostrando-se De acordo com o
director-executivo da SplashData, Morganconfiante de que isto no
ser um obstculo utilizao do Slain - citado pelo site especializado
em tecnologia Mashableconceito. Porm, admitiu que, uma vez
desenvolvida a tecno- - mesmo que as pessoas sejam encorajadas a
escolher pala-logia, ainda necessria a killer app a expresso
tipica- vras-passe seguras e fortes, muitas continuam a
escolh-lasmente usada para designar um uso de uma tecnologia que
fracas, fceis de adivinhar, colocando-se em risco de fraude
epromove significativamente a sua adopo e, eventualmente, de roubo
de identidade.a transforma num sucesso comercial. A hesitao dos
utilizadores na escolha de uma passwordNo ltimo dia do Codebits,
que decorreu no Pavilho Atlnti- difcil poder prender-se com o facto
de, actualmente, cadaco, em Lisboa, foram mostrados cerca de 80
projectos, com pessoa ter de decorar vrias palavras-passe para os
diferen-cada equipa a ter 90 segundos para fazer a apresentao, tes
servios que consulta online.num ltimo esforo para convencer o jri
(que acompanhou o Um estudo de 2007, levado a cabo pela Microsoft,
concluiutrabalho das equipas ao longo dos dois dias) e ainda com o
que, em mdia, cada pessoa utiliza 25 palavras-passe dife-objectivo
de conseguir os sete prmios atribudos pelo pbli- rentes e que,
diariamente, usa oito delas. Desde 2007 queco, que podia votar nos
projectos no final de cada apresenta- este nmero ter certamente
aumentado.o. O roubo de palavras-passe um problema que afecta
muitasO Codebits faz parte da necessidade de o Sapo ter sangue
pessoas em todo o mundo. Em 2010 a Comisso Federal denovo, afirmou,
no encerramento do evento, Ablio Martins, Comrcio dos EUA recebeu
1,3 milhes de queixas por fraudeadministrador do Sapo (que pertence
ao grupo PT), referindo- ou roubo de identidade.se ao facto de as
ideias nascidas no Codebits poderem serintegradas no Sapo ou
desenvolvidas em parceria com a em- Como pode, ento, tornar a sua
password mais segura?presa. Vinte destes projectos sero contactados
para traba- Usando uma variedade no sequencial de letras, nmeros
elharem connosco, adiantou. smbolos e mudando a palavra-passe a
cada seis meses. Outras dicas importantes: no use sempre a mesma
pas- sword e evite usar palavras verdadeiras. Finalmente, no use
nenhuma destas 25 piores palavras- passe do ano elencadas pela
SlashData: 1.password, 2.123456, 3.12345678, 4.qwerty, 5.abc123,
6.monkey, 7.1234567, 8.letmein, 9.trustno1, 10.dragon, 11.baseball,
12.111111, 13.iloveyou, 14.master, 15.sunshine, 16.ashley,
17.bailey, 18.passw0rd, 19.shadow, 20.123123, 21.654321,
22.superman, 23.qazwsx, 24.michael, 25. football. Fonte:
www.publico.pt 5
5. TEMA DA CAPAiOS, Cocoa Touch & MVC
6. TEMA DA CAPAiOS, Cocoa Touch & MVCMVC Entre as
frameworks do Cocoa Touch de maior relevo estoA grande maioria das
plataformas de desenvolvimento de as seguintes:software permitem
aos programadores desenvolver softwarecom base nos mais diversos
padres de arquitectura. Essa Core Animationabordagem oferece um
elevado grau de liberdade, permitin-do ao programador escolher a
melhor soluo para o seu Core Locationproblema, com os recursos que
dispe. Core Audio Controller Core Data UIKit A mais importante das
frameworks que compem o Cocoa View Model Touch sem dvida a UIKit.
Esta framework, baseada em Objective-C, disponibiliza uma Figura 1
- MVC vasta quantidade de funcionalidades e ferramentas que per-
mitem ao leitor desenvolver UI, gerir eventos (toque, gestos),Nos
ltimos anos tem-se vindo a assistir a uma evoluo e aceder ao
acelermetro, cmara fotogrfica, bateria, sensorconsolidao neste
campo, principalmente quando o tema de proximidade e biblioteca de
imagens.so os padres de camada de apresentao e o CocoaTouch no foge
a essa tendncia. Apple definiu o padro dearquitectura de software
Model-View-Controller (MVC), comopadro de referncia para o
desenvolvimento de aplicaespara os dispositivos que utilizam iOS
(iPod, iPhone, iPad).O tema do MVC j foi abordado na edio n27 da
revistaPROGRAMAR, pretendido que o leitor tenha em mente oconceito,
pois este tema incontornvel no decorrer do arti-go. Figura 3 Alguns
dos componentes de UI do UIKitCocoa Touch O leitor vai, com toda a
certeza, reconhecer alguns dos com- uma camada de alto nvel do iOS,
composta por um con- ponentes da figura 3 disponibilizados pela
UIKit Framework.junto de frameworks que disponibilizam ferramentas
que A documentao acessvel e objectiva, permite desenvol-permitem ao
leitor utilizar todo o potencial que a plataforma ver aplicaes para
iOS num curto espao de tempo, o de-iOS tem para oferecer, ao mesmo
tempo, permite desenvol- sign e a experincia de utilizao
proporcionada pelos com-ver aplicaes que transmitem ao utilizador
uma sensao ponentes de esta framework so transversais a todo o
Siste-familiar durante a sua utilizao graas utilizao transver- ma
Operativo, o que garante ao leitor que o utilizador se vaisal nas
vrias aplicaes do Sistema Operativo. sentir familiarizado com as
suas aplicaes. aconselhado ao leitor, que antes de prosseguir,
tenha em mente o artigo Introduo ao Objective-C e plataforma iOS
publicado no n 30 da revista Programar. Leitor de RSS Para
consolidar os conceitos apresentados anteriormente, o melhor passar
prtica e desenvolver um leitor de RSS. Execute o XCode, ferramenta
includa no iOS SDK, e crie um novo projecto recorrendo ao template
Navigation-based Ap- plication. Figura 2 A arquitectura do iOS
7
7. TEMA DA CAPAiOS, Cocoa Touch & MVC Este template contm
uma View (RootViewController.xib) e um Controller
(RootViewController.h/.m). A View, j contm um controlo do tipo
UITableView, que apresentado na figura 5 e o Controller contm os
mtodos e eventos necessrios para fornecer ao controlo UITableView a
informao necessria para apresentar os dados na View. Sendo assim,
torna-se necessrio criar um Model que forne- a ao Controller o tipo
de objectos a serem manipulados e enviados para a View.Figura 4
Template Navigation-based ApplicationEste template oferece uma
estrutura serve como ponto departida para desenvolver a nossa
aplicao.Sem escrever qualquer tipo de cdigo, se o leitor executar
oprojecto, vai verificar que a aplicao se apresenta j umformato
reconhecvel. Figura 6 Adicionar uma nova classe necessrio adicionar
uma nova classe, definida como uma sub-classe de NSObject, ao
projecto com o nome RssFeed, onde vo ser definidas as propriedades
de uma feed, confor- me as figuras abaixo apresentam. #import
@interface RssFeed : NSObject {} @property (nonatomic, retain)
NSString *FeedTitulo; @property (nonatomic, retain) NSString
*FeedSumario; @property (nonatomic, retain) NSString *FeedUrl; @end
Figura 7 Interface da classe RssFeed Figura 5 Primeira execuo do
projecto #import "RssFeed.h"O template escolhido fornece um
conjunto de funcionalida- @implementation RssFeeddes bsicas para
uma aplicao que pretende ter um interfa- @synthesize FeedSumario;ce
de navegao, o que o caso. @synthesize FeedTitulo; @synthesize
FeedUrl;Considera-se que um leitor de RSS bsico, necessita de pelo
@endmenos um ecr com uma lista de feeds e um outro que per-mita
visualizar o detalhe de um feed. Figura 8 Implementao da classe
RssFeed Agora que j est definido o modelo, vamos criar um reposi-
trio que tem como objectivo fornecer ao Controller a lista de feeds
a apresentar, repetindo o passo executado na figura 6, mas desta a
classe vai chamar-se Repository. Nesta classe so definidas uma
estrutura de dados para guardar os feeds e um mtodo que devolve uma
lista de feeds, conforme as figuras embaixo apresentam. 8
8. TEMA DA CAPA iOS, Cocoa Touch & MVC De seguida, vamos
proceder s alteraes necessrias ao#import "RssFeed.h"#import
Controller para este obter os dados para alimentar a
View.@interface Repository : NSObject { Para isso, torna-se
necessrio criar uma estrutura de dados NSMutableArray *FeedsList;
no RootViewContoller.h para acomodar os dados provenien-} tes do
Repository.+ (NSArray*)getRssFeeds;@endFigura 9 Interface da classe
Repository #import "Repository.h" #import "DetailViewController.h"
#import #import "Repository.h" @interface RootViewController
:@implementation Repository UITableViewController { }+
(NSArray*)getRssFeeds{ @property (nonatomic, retain) NSArray
*feeds; @end NSMutableArray *feedList = [[NSMutableArrayalloc]
init]; Figura 11 Interface do Controller RootViewController for
(int i = 0; i