O .Net Architects Day 2009 foi um sucesso. Já tivemos comentários de Fernanda Sallai, Juliano Oliveira e Fabio Margarito. Como ainda estou organizando fotos e vídeos (além da filmagem oficial, utilizamos minha filmadora pessoal para pegar um pouco das pessoas chegando do backstage, etc), e assim que tiver tudo isso pronto eu posto aqui.

O engraçado é que o Juliano Oliveira e eu tivemos a mesma idéia, de usar o Buddy Christ, do filme Dogma, para ilustrar uma idéia. Eu não tinha reparado que ele ia usar, e ele também não sabia de mim. Nada mais justo do que tirar uma foto para comemorar isso:

O Buddy Christ, do filme DogmaGiovanni Bassi no .Net Architects Day 2009, posando de Buddy Christ

Uma com o Leandro Daniel, o Victor Cavalcante e eu:

Leandro Daniel, Victor Cavalcante e Giovanni Bassi no .Net Architects Day 2009, posando de Buddy Christ

Mais informações em breve. Fiquem ligados na hashtag #dnad2009 no Twitter, para saber mais do evento e acompanhar as últimas conversas. Tem coisa saindo por lá ainda.


Postado na(s) categoria(s) Eventos pelo giovanni bassi em 29 de junho de 2009 às 02:33 | Tags:

Estava em um cliente semana passada, quando tivemos um problema na formatação de um número. O número não formatava direito quando chamávamos ToString. Tudo parecia certo. Olhamos todo o código umas dez vezes, e não enxergávamos o problema. Mas havia um problema, nós que não estávamos vendo.

A primeira coisa a fazer era verificar a chamada do método ToString, que estava sendo chamado assim:

var texto = numero.ToString("00");

Queríamos uma formatação de um número com dois dígitos, ou seja, "9" virava "09", "2" virava "02", "49" ficava como estava, e por aí vai. Olhe o código acima. Está certo, não é?

Eu pensei "preciso isolar o problema". A melhor maneira seria abrir uma aplicação console simples e digitar o código lá, e imprimir a saída na tela. Aí pensei "Putz, vou ter abrir o outro VS, criar outro projeto, digitar, verificar, etc." Eu sei. É rápido, mas eu estava sem paciência.

Aí me ocorreu algo. Havia uma maneira mais rápida. Saquei meu console interativo de F#, que fica bem facinho no meu RocketDock (quem precisa de um Mac?):

F# interactive na Rocket Dock

Em menos de um segundos ele abriu. Digitei (clique para ampliar):

F# interactive, criando a função

Enter. Excelente, agora tenho uma função que recebe um inteiro, e devolve uma string formatada como eu queria.

Basta agora digitar:

f 3;;

E enter! Resultado:

F# interactive, resultado da função

Pronto, resolvido. A premissa estava correta. O erro estava em outro lugar. Podia ter feito assim:

F# interactive, chamando uma função direto no número

Ainda mais fácil!

Só tem um problema: eu ainda estou aprendendo F#! Não tenho uma super desenvoltura com a linguagem ainda (ainda!). Queria ser capaz de fazer isso com C#, que é algo que o Anders Hejlsberg já mostrou funcionando no PDC passado (vejam aqui o C# Evaluator), mas que não entrou na versão 4 do C#. Seria tão bom… Enquanto isso, não perca tempo, baixe o F# e ganhe o F# interactive. Ou baixe o IronRuby e ganhe o IronRuby Interactive, que faz a mesma coisa.

(Descobrimos depois. A variável numero não era um inteiro, acho que era uma string, ou um object, não me lembro. Foi só converter o tipo e resolvemos o problema.)


Postado na(s) categoria(s) C# pelo giovanni bassi em 29 de junho de 2009 às 01:14 | Tags: ,

Quem é Giovanni Bassi

Giovanni Bassi Sou uma pessoa apaixonada por tecnologia e especificamente por .Net. Sou consultor independente especialista em .Net, focado em arquitetura e melhores práticas. Tenho dezenas de artigos publicados na .Net Magazine, revista da qual sou editor técnico. Ministro palestras e cursos de vez em quando, e quando dá tempo eu respiro um pouco. Mais detalhes nesta página.

Busca

Selos

Eu vou ao TechEd Brasil 2010, e você?

MVP

MCPD

MCSD

.Net Magazine

Abaixo ao if!

Calendário

«  junho 2009  »
seteququsedo
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Ver detalhamento de posts no calendário

Blogs interessantes

    OPMLDownload OPML file

    Postagens recentes

    Comentários recentes

    Disclaimer / Aviso
    As opiniões colocadas neste blog são minhas e pessoais e não expressam necessariamente as opiniões de meus empregadores, pareceiros e amigos. Da mesma forma, os comentários feitos por leitores do blog não expressam a minha opinião.

    © Copyright 2010 .Net Unplugged
    Log in