6 de out. de 2010

#TechEdBr 2010: Uma visão mais técnica

Bem, já fiz este post sobre o TechEd Brasil 2010. Nele dei um overview sobre o evento. Agora vou compartilhar um pouco da minha visão de acordo com as trilhas técnicas que participei.

Desenvolvendo para Azure:

Uma boa palestra que abriu minha mente para como grandes sistemas funcionam (facebook, twitter, meu blog etc.). Essa façanha se dá graças a algumas estratégias de armazenamento e replicação de informação. E foi mostrado como o Azure faz isso, através de seus storages (Drives, Blobs, Tables e Filas). Vejamos algumas anotações:

  • Windows Azure: SO que gerencia a grande malha de servidores dos Data Centers na Nuvem. Cuida do balanceamento, da seleção de máquinas e tolerância a falhas.
  • Se paga pelo que usa (igual a conta de água e luz).
  • App Fabric (Malha de aplicações)
  • Web Role (uma aplicação web por exemplo)
  • Work Role (Um processamento de enconding de vídeo por exemplo)
  • A app fica pronta em +- 5min após o deploy.
  • VS gerencia o Azure pelo Server Explorer
  • Há um emulador de Azure para testes.
  • Projeto Azure no VS descreve como executar uma app no Azure.
  • É preciso uma SDK (baixar no site do Azure).
  • Storages: Blobs (Arquivos com metadados, nome únicos, acessíveis por URI, divisível em blocos e páginas; Tables (Armazenamento estrutural, escalável, manipulável por LINQ e REST); Drive (NTFS, Declarável, compartilhado, utiliza Blob por baixo dos panos, muito utilizado para migração de apps).
  • Filas: Mensagens entre as apps.

Desenvolvendo para C# no Mundo Moderno:

Palestra básica sobre novidades do C# 4. Basicamente tirei minha dúvida: Porque um objeto Anônimo, quando é passado como dynamic para outra camada, fica inacessível? Tipos anônimos são privados! Smiley piscando

Tudo que você precisa saber sobre Scrum, ALM e Visual Studio:

Consegui extrair apenas alguns pontos interessantes dessa palestra:

  • Cone de incerteza da NASA (Imagem acima).
  • Scrum: Transparência, inspeção, adaptação. Framework, não metodologia.
  • “Nenhum planejamento de guerra vai além da primeira batalha”.
  • Diagrama de dependência (VS 2010): Quanto mais larga a flecha, maior a dependência.
  • VS 2010 trabalha com UML 2.1
  • Existe uma extensão para o VS 2010 gerar código a partir do diagrama de classes da UML.
  • Possibilidade de gerar testes de UI (“Macros”) no VS 2010.

SQL Azure:

Essa palestra deixou mais claro a forma transparente e as regras do SQL Server nas Nuvens. Anotações:

  • Usa Transact SQL Normalmente.
  • Conecta normalmente pelo Server Explorer do VS.
  • Não suporta manipular várias bases de uma vez (key word “USE”).
  • Suporta o SQL Management Studio, mas para mudar de base é preciso desconectar e re-conectar.
  • Duas versões: Web Edition (Mais “limitada”); Business Edition.
  • Tem uma versão de teste gratuita.
  • Tem uma ferramenta de TCO Calculator.
  • Não é possível subir um backup local para a nuvem. Mas há um exportador de base.
  • Somente SQL Authentication.
  • Tem Firewall.
  • BCP Upload.
  • SQLCat.
  • Suporta LINQ to SQL.

Meu site anda meio lento:

Essa track foi show de bola, mostrou a estratégia dos principais players do mercado (Google, Yahoo, Microsoft, Twitter etc.). De cara uma coisa ficou evidente: temos que nos preocupar muito com detalhes no front-end (html gerado, css, javascript, imagens).

  • A velocidade depende da expectativa e percepção do usuário.
  • Deve ser levada uma experiência ao usuário, como uma barra de progresso de upload, para “acalmá-lo”.
  • O Browser é relevante.
  • Fiddler (Proxy Sniffer): coleta informações de rede sobre a requisição de um site.
  • o IE tem 50mb de cache, o Chrome 200mb.
  • Usar GZip.
  • Usar Sprites (Imagem acima).
  • Tomar cuidado com espaços em branco no HTML, javascript etc.
  • Antecipar resolução de DNS~.
  • Evitar o uso de “@Import” no CSS (é sequencial).
  • Quando possível: Styles (CSS) no cabeçalho, Scripts no final da página (pois o seu processamento pode “travar momentaneamente” a renderização.
  • Utilizar o “var” no javascript, assim o interpretador não vai varrer todo o código para localizar sua declaração inicial.
  • Netmoon: analisador de pacotes.
  • webpagetest.org

Team Foundation Server:

Palestra do meu amigo Ramon Durães, basicamente muitos assuntos, e perguntas dos espectadores, que já eram do meu domínio. Mas foi legal ver a facilidade que o TFS trouxe, na parte de instalação e configuração, seja para grandes empresas ou apenas um usuário. Apenas uma questão ficou no ar que é “quando um grupo desenvolve sobre um usuário do proxy, eu perco a rastreabilidade!?”. No mais: Sharepoint e Reporting Services são opcionais para o TFS 2010. E o Firewall tem de ser muito bem configurado para o Home office.

Desenvolvendo uma app Silverlight em 75 minutos:

Outra excelente trila, onde aprendi bastante coisa sobre o Blend, WCF Ria Services, Resolução de Timeline, Path Lista Box (Layout path (ex: Elipse)).

WCF:

Basicamente só observei as estratégias de endpoint do WCF.

MVVM:

Pattern(Receita de bolo) super interessante para desenvolver com bind em WPF e Silverlight, onde separamos os dados da visualização.

Model <-> ViewModel <-> View

  • Não é um framework (embora exista alguns de apoio).
  • Validação fica na view.
  • Executa commands, e não eventos.
  • ViewModel: ICommand; INotifyPropertyChanged; IDataErrorInfo; DataContext da View;
  • Testável.

MEF:

Uma das melhores palestras que assisti, com uma didática fora do comum!

MEF é um framework que ajuda a criar plug-ins para uma aplicação, e assim extendê-la.

O Exemplo que foi dado foi de uma calculadora, onde cada operação era um plug-in/extensão/dll. Simplesmente era colocada a dll gerada na pasta de plug-ins Smiley de boca aberta

  • Funciona no .NET 4 e Silverlight 4
  • Apps abertas para extensão, fechadas para modificação.
  • Plug-in: componente de software para acrescentar funcionalidades. Assim reduzindo o tamanho da APP principal, mas é possível extendê-la conforme a necessidade (bastando um contrato/padrão de implementação).
  • Carrega sobre descoberta e dinamicamente.
  • Transforma apps estaticamente compiladas em dinamicamente composta.
  • Exportação + Importação = Composição
  • Catálogos: Diretório, assembly, etc.
  • Contratos por Interfaces.
  • Suporta Lazy<>.

RIA, Silverlight e WCF:

Track onde foi demonstrada que Ria Services elimina um pouco da responsabilidade do desenvolvedor de lidar com as chamadas assíncronas no Silverlight. O WCF RIA Services suporta JSON e precisa dos namespaces:

  • System.ServiceModel.DomainServices.Client
  • System.ServiceModel.DataAnotation
  • System.ServiceModel.Web

Windows Phone 7:

Nada muito técnico, apenas exemplos de apps e games rodando sobre um protótipo do aparelho, mesmo assim impressionante, principalmente o SO e seu HUB (Atividades, Conteúdos, Games, Social Network, etc.)

Curiosidade sobre os botões, que na ordem são: Back, Start, Busca.

WIF (Windows Identity Foudation):

E a última palestra, também sensacional, do Israel Aece, sobre autenticação única com este framework de autenticação, que funciona sobre WCF, Web, Desktop etc. Foi mostrado um exemplo de dois sites distintos e uma única autenticação (+- como o Google faz com Orkut e Gmail). Porém ela foi bem complexa, segue anotações:

  • 1º Autenticação.
  • 2º Autorização (regras de acesso por exemplo).
  • IdentityProvider (Security Token Service)
  • Realying Party (Aplicação).
  • Subject (Emissão de tokens).
  • Claims (informações de autorizações).
  • Microsoft.IdentityModel (Namespace).

 

Conclusão:

Bem, foi isso, tecnicamente peguei sim algumas poucas palestras fracas, mas consegui pegar muita coisa útil para trazer junto comigo na bagagem profissional, agora é estudar mais e aplicar Smiley de boca aberta

Espero que tenha gostado e quem sabe em breve estarei mais eventos, absorvendo mais conhecimento, e compartilhando-os com vocês.

E como já disse no outro post sobre o TechEd Brasil, o evento foi ótimo, correria total, mais ótimo!

Até mais.

0 comentários: