Vou palestrar no TechEd Brasil 2010

TechEd Brasil 2010

Este ano eu tive a honra de ser convidado pela Microsoft para apresentar 3 palestras no TechEd Brasil 2010, todas relacionadas com XAML de alguma forma. Eu já participei do TechEd antes, em 2007, fazendo demonstrações de uma aplicação feita em Silverlight 1.1 em uma palestra do João Cabral e outra do René de Paula/Cezar Guimarães, mas esta será a primeira vez que terei minhas próprias palestras.

Abaixo estão os códigos, títulos e descrição provisórios mas minhas palestras:

  • DEV 307 - Aproveitando ao máximo as ferramentas do Visual Studio 2010 para Silverlight e WPF: Construir aplicações em Silverlight ou WPF ficou muito mais simples com o Visual Studio 2010, seja você um novato ou veterano. Nessa sessão serão demonstradas várias novidades das ferramentas para Silverlight e WFP do Visual Studio 2010, assim como dicas e truques para aumentar sua produtividade e diminuir o seu esforço.
  • WEB207 - Criando Rich Internet Applications (RIA) com Silverlight 4 e WCF RIA Services: Facilidade de manutenção, testabilidade, desempenho e segurança podem ser melhorados, entendendo os componentes e as ferramentas, desde que sejam seguidas algumas orientações básicas. Esta sessão utiliza o Windows Communication Foundation (WCF) RIA Services e o Microsoft Silverlight como principais ferramentas para abranger a separação de conceitos entre acesso a dados, camadas de lógica e apresentação, melhores práticas para testes e dicas e truques para obter melhor desempenho através do design.
  • CLI302 - WPF Data-Binding de A à Z: Existem várias maneiras de exibir dados nas suas aplicações com Windows Presentation Foundation (WPF), esta palestra irá demonstrar as melhores práticas de Data-binding e como exibir seus dados em combo boxes, list views e em grids.

O TechEd é o evento técnico de desenvovimento para Windows mais importante do Brasil. Foi lá que, em 2007, conheci o Rodrigo Kono, o Roberto Sonnino e seu XAMLCast, do qual faço parte hoje. O Kono também apresentará no TechEd desse ano, então teremos 2/3 do XAMLCast palestrando no TechEd este ano.

Ainda não saíram as datas e horários das palestras, mas eu divulgarei aqui assim que forem definidas.

Espero vocês lá!

Windows Live Essentials (Wave 4) Beta disponível para download

O Windows Live Essentials Beta (também conhecido como Wave 4) já está disponível para download em http://explore.live.com/windows-live-essentials-beta. Esse download foi anunciado ontem no blog do Windows Live Team.

Para quem não sabe, o Windows Live Essentials é o pacote que agrupa as seguintes aplicações: Messenger, Photo Gallery, Movie Maker, Mail, Live Writer, Family Safety, Sync (substituto do atual Mesh). Mais informações podem ser obtidas em http://windowslivepreview.com/essentials/sync/.

Eu já fiz meu download mas ainda não instalei. Assim que instalar eu posto aqui as minhas impressões.

Update (24/Junho/2010 20:00h): No link acima agora está disponível para download também a versão em Português (Brasil). Na hora que publiquei este post essa versão não estava disponível.

Analytics Framework atualizado para Silverlight 4

Já é notícia um pouco velha (do dia 15/Junho) mas eu achei que valia a pena postar aqui por conta da sua importância e pelo fato de pouca gente conhecer. Michael Scherotter (@synergist) postou uma atualização do Analytics Framwork para Silverlight 4. Para quem não conhece, o Analytics Framework é uma coleção de apis, Behaviors e Actions para integração de aplicações Silverlight e WPF com ferramentas de analytics e trends (como Google Analytics por exemplo).

O framework suporta nativamente uma série de serviços (Google Analytics, Nedstat, Omniture, Webtrekk, etc para citar alguns) e pode ser facilmente extendido. Se você deseja monitorar a utilização da sua aplicação Silverlight deve considerar o uso desse framework.

Alguns dos pontos mais interessantes desse framework estão listados abaixo:

  • Suporta aplicações OOB
  • Funciona mesmo se a aplicação estiver rodando offline (as métricas são salvas e serão enviadas para o servidor quando estiver online)
  • Suporta o uso de mais de um serviço de analytics ao mesmo tempo
  • Não afeta a performance da aplicação
  • Pode ser totalmente configurado no Blend pois é implementado como uma série de Behaviors
  • Suporta testes A/B
  • Suporta protótipos SketchFlow
  • Está integrado no Microsoft Silverlight Media Framework

Para mais informações acesse:

Behavior de Fullscreen para Silverlight

Publiquei mais uma behavior no Expression Gallery hoje. Dessa vez foi uma behavior bem simples que serve para mudar o estado de full screen da aplicação. Essa behavior é do tipo Action, ou seja, você pode escolher qual trigger vai dispará-la. A trigger padrão que o Blend coloca é a EventTrigger, mas qualquer outra trigger pode ser utilizada.

image

A behavior também tem um segunda propriedade que serve para definir que a aplicação deve continuar em full screen caso perda o foco. Esse comportamento é uma das novidades do Silverlight 4 e pode ser usado, por exemplo, para deixar um vídeo rodando em fullscreen em um monitor enquanto trabalhamos no outro.

O código usado para realizar essas tarefas é muito simples, como pode ser visto abaixo:

//Código para mudar o fullscreen Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;

//Código para manter a janela em fullscreen em outro monitor Application.Current.Host.Content.FullScreenOptions = System.Windows.Interop.FullScreenOptions.StaysFullScreenWhenUnfocused;

Seguem abaixo os links:

O projeto do Codeplex onde está essa behavior vai continuar recebendo adições como essa. Tenho várias outras behaviors que estou planejando migrar pra lá assim como bibliotecas de controles e helpers que também terão versões para WPF e ASP.NET quando fizer sentido.

Reset da senha de “sa” no SQL Express

UPDATE 25/08/2010 : Novo post com os passos mais detalhados

Hoje tive um problema com o SQL Express 2008 que está instalado no meu computador. Esse computador que estou usando foi configurado recentemente pelo suporte da empresa mas o SQL Express foi configurado sem colocar o grupo de administradores local como administrador do banco de dados. Sei que isso é considerado boa prática de segurança quando instalamos servidores de banco de dados mas é uma regra de segurança que não se aplica (ou não deveria ser aplicada) quando se fala de computadores de desenvolvimento e com SQL Express, que por padrão só aceita conexões locais.

O que aconteceu foi que meu SQL Express só tinha 1 administrador, o “sa” (como eu disse antes, o grupo de administradores do Windows não foi configurado como admin desse sql), e a pessoa que fez a instalação da máquina não está mais na empresa e não documentou a senha utilizada na instalação do SQL Express. Como resolver isso?

Fiz várias buscas tentando descobrir como reiniciar a senha de sa mas quase tudo que achei levava em consideração que a senha estava em branco (por incrível que pareça isso ainda é muito comum). Foi então que achei o um post de Deepak explicando como resolver esse problema sem ter que reinstalar o SQL. O post foi escrito para SQL Server 2005 full (não express) mas a dica funciona também nas versões express e 2008. Vou colocar abaixo os passos que segui (os comandos dos passos 1, 2, 4 e 5 foram executados no prompt de comando do DOS rodando com privilégio de administrador):

UPDATE 25/08/2010 : Novo post com os passos mais detalhados

  1. Parar o serviço do SQL Express: NET STOP MSSQL$SQLEXPRESS
  2. Reiniciar o serviço do SQL Express em modo Single User : NET START MSSQL$SQLEXPRESS /m
  3. Conectar no SQL usando o SQL Server Management Studio e fazer as alterações desejadas (trocar a senha do usuário sa e adicionar o grupo de adminitradores local como sysadmin do sql)
  4. Parar novamente o serviço do SQL Express usando o mesmo comando do passo 1.
  5. Reiniciar novamente o serviço em modo normal, usando o comando do passo 2 mas sem a opção /m.

Como e por que isso funciona?

Quando o SQL Server é executado em modo Single User, todos os administradores locais passam a fazer parte também do grupo de administradores do SQL Server, mesmo que ele não esteja configurado dessa forma. Sendo assim agora podemos fazer as correções/alterações necessárias sem que seja necessário reinstalar o SQL Server. Esse recurso é uma especie de modo de segurança que existe justamente para corrigir esse tipo de problema.

No meu caso, como se tratava da instância padrão de um SQL Express, o nome do serviço era MSSQL$SQLEXPRESS. Se fosse a instância padrão de um SQL Full o nome do serviço seria MSSQLSERVER.

Tags: SQL Dicas