SELECT CAST (power(CrazyIdeas, Curiosity) * (RealLifeExperience + MyMistakes)) / FreeTime) AS VARCHAR(MAX)) FROM MyBrain WITH (NOLOCK, INDEX('idx_Neuron')) WHERE ThingsIThinkIKnow in ('SQL Server', 'DB2', '.NET', 'Cloud')
terça-feira, 26 de maio de 2009
Primeiro encontro do PASS Chapter SQLServerDF
Você é de Brasília ou está aqui pertinho? Na próxima semana vamos ter o primeiro encontro do grupo SQLServerDF, o nosso PASS Chapter do Distrito Federal. Esse encontro marca a abertura formal do grupo aqui em Brasília e também a continuação de um trabalho eu ja vinha desenvolvendo com a comunidade local enquanto trabalhava na Microsoft, agora sob a bandeira do PASS - Professional Association for SQL Server.
Você é um entusiata do SQL Server e quer aprender mais sobre o produto, fazer um networking com diversos profissionais e participar ativamente do grupo? Então marque na sua agenda...
Data: dia 03 de Junho de 2009, quarta-feira.
Hora: entre 19:00 e 22:00
Local: em definição
Agenda:
- Apresentação do grupo SQLServerDF e PASS + proposta de trabalho - Luciano Caixeta Moreira (Luti)
- Pequeno intervalo
- Apresentacão técnica: Performance Studio no SQL Server 2008 - Gustavo Maia Aguiar (SQL Server MVP).
Animou e vai participar? Envie um e-mail de confirmação com seus contatos para luciano.moreira@srnimbus.com.br.
Segundo minha última pesquisa sobre tópicos a serem abordados, temos diversos temas relacionados à administração, programação e Business Intelligence no nosso pipeline, então que venham as reuniões com aquele excelente nível técnico que todos procuramos. :-)
[]s
Luciano Caixeta Moreira
luciano.moreira@srnimbus.com.br
quarta-feira, 29 de abril de 2009
Testes de unidade, Azure e confiabilidade
Para ilustrar como os testes me ajudam, vou descrever um pouco do que eu fiz recentemente e, quem sabe, você também vai se sentir compelido a adotar essa boa prática de programação.
Primeiro eu codifiquei um wrapper para uma classe do projeto StorageClient que vem junto com o SDK do Azure e depois, para garantir que tudo irá funcionar corretamente, eu escrevi um teste que tentava criar uma série de containers passando com parâmetros os nomes mais esdrúxulos, conforme vocês podem ver abaixo:
Assert.IsTrue(ger.CriaContainer(@"ML:K()*_%^%$#@!@$#%^GBDF HGDSFKhf hdf kjh"));
Assert.IsTrue(ger.CriaContainer(@"~!#anjnd_)(* 8923849790>""?><>MarshalByRefObjectAssert.IsTrue(ger.CriaContainer(@"|{})_(*()*&h12h8934njkhf1"));
Assert.IsTrue(ger.CriaContainer(@"~!#anjnd_)(* 8923849790>"<>MarshalByRefObjectAssert.IsTrue(ger.CriaContainer(@"[]@#$|\\\skj382oflkuy"));
Assert.IsTrue(ger.CriaContainer(@"~s 092k3 jk3098 \\[hshsh"));
O método CriaContainer tenta limpar os nomes informados, deixando somente caracteres válidos. Porém eu somente comecei a escrever o método de limpeza do nome depois que meu teste estava pronto. O que eu fazia então...
while (ExecutaTeste() != tudoOk){
Luti_EscreveDireitoFuncaoLimpeza();
}
Enquanto o meu teste não passava todinho (o local storage do Azure gerava uma Exceção), eu continuava melhorando o método de limpeza. Depois de algumas iterações desse loop, o teste mostrou aquele check verdinho, tudo 100%.
Feito esse e mais outros testes, todos executando com sucesso, resolvi testar meu código diretamente contra a nuvem. Alterei o App.Config do meu projeto de testes para usar minha conta do Azure e executei a bateria com 10 testes: Verde, Verde, Verde, Verde, VERMELHO!
Uai, estava tudo certo?! Olha daqui, olha dali, vejo o problema. O armazenamento local permite que eu crie um container com o nome parecido com "empresa---xxx". O problema é que se olharmos a documentação, veremos "Every dash (-) character must be immediately preceded and followed by a letter or number".Ugh.
Resultado: o ambiente de desenvolvimento local não checa essa regra.
Sabe quando eu acho que iria encontrar um erro desse tipo se não fossem pelos testes, provavelmente em produção!!!
Depois disso alterei meu código para refletir os requisitos do Azure, re-executei os testes de unidade e tudo verde. Lindo.
Mas a coisa não termina por aí não. Depois de concluído os testes, resolvi baixar e instalar o CTP de Março (ainda estava com o de Janeiro). Instalei tudinho e adivinha qual foi a primeira coisa que eu fiz? Executei novamente minha bateria de testes... Tudo certo, então até que me provem o contrário, a instalação foi um sucesso.
Qual o meu sentimento no fim das contas? Eu estou confiando bastante no meu código e, toda vez que houver alguma alteração eu não vou precisar ficar 45 minutos para testar se houve alguma mudança que me prejudica, basta eu executar meus testes novamente que em alguns segundos eu saberei a resposta.
Gostou?
[]s
Luciano Caixeta Moreira
luciano.moreira@srnimbus.com.br
luticm79@hotmail.com
quinta-feira, 23 de abril de 2009
Webcast na próxima semana - MSDN Brasil
Url do evento: https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032414719&EventCategory=4&culture=pt-BR&CountryCode=BR
Produto(s): Microsoft SQL Server 2008 e Segurança
Público(s): Desenvolvedores e administradores de banco de dados.
Apresentador(es): Luciano Moreira, Weber Ress
Duração: 60 Minutos
Data de Início: quarta-feira, 29 de abril de 2009 12:00 Brasília
Visão Geral do Evento
Luciano Caixeta Moreira
luciano.moreira@srnimbus.com.br
luticm79@hotmail.com
Portal do grupo SQLServerDF
Faça o seu cadastro e receba as newsletters do grupo. Aí eu aproveito e vejo direitinho como é feita a gerência dos usuários. hahahaha
Feedbacks sempre bem vindos.
[]s
Luciano Caixeta Moreira
luciano.moreira@srnimbus.com.br
luticm79@hotmail.com
quarta-feira, 22 de abril de 2009
Novo PASS chapter do Brasil - SQLServerDF

Bom dia pessoal.
Ultimamente eu ando fazendo bastante trabalho nos bastidores para trazer boas novidades para todos nós. Uma das novidades gostosas de anunciar é a criação do novo PASS chapter do Brasil, o SQLServerDF.
Para quem não sabe, o PASS (www.sqlpass.org) que dizer Professional Association for SQL Server e é uma organização independente, sem fins lucrativos, voltadas para a troca de conhecimento e experiência em assuntos relacionados ao SQL Server, ajudando a comunidade de profissionais interessada no tema.
A bandeira e o apoio do PASS será muito importante para continuação de um trabalho que eu já vinha desenvolvendo aqui em Brasília (pela Microsoft), que eram os encontros técnicos de SQL Server. Agora teremos um escopo mais amplo e uma organização diferenciada, onde tenho certeza, contarei com a ajuda de muitos entusiastas do Distrito Federal e, tomara, Brasil.
Então, é com muita alegria que transcrevo aqui a frase mais importante da última semana: "We would like to welcome SQLServerDF as our newest Chapter". :-)
Estou trabalhando agora para criar o nosso portal e marcar a reunião de abertura do grupo, que acontecerá em Maio.
Deixo aqui a missão do PASS: "Empower the global Microsoft SQL Server community to collaborate, learn, grow and be inspired through knowledge sharing and peer-based learning".
[]s
Luciano Caixeta Moreira
luciano.moreira@srnimbus.com.br
luticm79@hotmail.com

