terça-feira, 29 de dezembro de 2009
Enfim Microsoft Certified Professional (MCP)
Aprofundei meus conhecimentos em ASP.NET conhecendo várias outras features de que nem fazia idéia. Durante esse período pude inclusive fazer uso dessas técnicas aprendidas em projetos em que estive trabalhando.
No momento estou de férias e aproveitei essa época para me aprofundar mais nos estudos. Dediquei a última semana praticamente só estudando e fazendo os testes preparatórios para o exame de certificação.
O exame estava marcado para às 13:00, estava um pouco nervoso e até pouco tempo após o almoço ainda tentava tirar do livro algum conhecimento que estivesse faltando.
Concluí a prova com bastante tempo de sobra, resolvi checar novamente algumas questões que achei mais confusas. Terminei o exame e esperei por alguns segundos até o resultado.
Por instantes achei que não havia estudado o suficiente, que podia ter me dedicado mais e que teria que fazer a prova novamente.
Congratulations dizia a página da Prometric, empresa responsável pelo exame. E demorei alguns instantes para perceber que havia me tornado um MCP.
A prova que fiz foi a 70-562, base do livro que estava lendo. Nos próximos posts vou dar algumas dicas que podem ajudar a você tirar a sua certificação, talvez até sem passar pela apreensão que passei.
terça-feira, 1 de dezembro de 2009
Silverlight 4 Beta
Algumas das novidades vieram principalmente para suprir algumas necessidades que os programadores flash tiram quando migravam para Silverlight. Acesso a WebCam, microfone e suporte de impressão.
Além disso as aplicações Out Of Browser terão a possibilidade de rodar em um nível menor de segurança, com a autorização do usuário. Isso permite que muitas outras funcionalidades possam ser usadas, como exemplo a interoperabilidade com componentes COM, acesso Cross Domain sem arquivo de policy, acesso a pastas do computador do usuário e muito mais.
Para verificar a lista completa de funcionalidades acesse o Blog do Tim Heuer.
E aqui o impressionamente vídeo com a apresentação e lançamento do Silverlight 4 por Scott Guthrie. Ele apresenta um trecho no meio, por isso se quiserem acessar diretamente a sua apresentação pode ir direto ao minuto 00:54.
Pra quem quiser, ainda tem o Overview com Karen Corby que pode ser acessado aqui.
Recomendo a todas dar uma conferida neste e em vários outros vídeos do PDC2009.
domingo, 25 de outubro de 2009
Visual Studio 2010 Beta 2
Visual Studio 2010.
O Software conta com 3 versões diferenciadas, Professional, Premium e Ultimate.
O link oficial do download pode ser encontrado aqui, onde existe o download de um downloader e instalador do software.
Pra quem prefere baixar apenas versões express o link é esse. Nele encontram-se as versões para cada linguagem, como de costume nas versões Express.
Quem prefere baixar um ISO e queimar/emular a mídia, encontrei este link com o download do mesmo em duas quatro partes (Versão Ultimate).
Segundo a equipe de desenvolvimento, tanto o Visual Studio 2010 Beta 2 quanto o Framework .NET 4.0 Beta 2 podem ser instalados lado a lado com versões anteriores sem problema algum.
Aqui uma pequena lista com as features de cada versão:
- Visual Studio 2010 Premium
Advanced Application Development & Debugging
Unit Testing with Code Coverage and Test Prioritization
Code Analysis, Metrics & Optimization
Database Development and Testing Tools
Read Only Architectural Diagrams
- Visual Studio 2010 Professional
Application Development & Debugging
Unit Testing
- Visual Studio 2010 Ultimate
IntelliTrace Historical DebuggingEnjoy
Comprehensive Testing Tools
Advanced UML Architecture Tools
Architectural Discovery Tools
Unit Testing with Code Coverage and Test Prioritization
Code Analysis, Metrics and Optimization
Database Development and Testing Tools
Test Case and Test Lab Management
[Editado]
Link para contornar o problema que pode ocorrer com SDK do Silverlight aqui.
quinta-feira, 1 de outubro de 2009
Acessando propriedades da MasterPage
protected void Page_Load(object s, EventArgs e) { this.Master.SkinID = "GreenSkin"; }Mas nem tudo é tão simples. Lembrando que a propriedade Master da classe Page é apenas outra Page logo damos de cara com a necessidade de um Cast em caso de criarmos algo mais personalizado. Imaginando agora que o nome da classe da minha MasterPage é "Site" e tem uma propriedade TituloMenu que preciso acessar na minha página de conteúdo. Pra isso geralmente fazemos o seguinte:
protected void Page_Load(object s, EventArgs e) { ((Site)this.Master).TituloMenu= "Home"; }Muito bem, assim o Cast nos ajuda a acessar nossa classe de MasterPage e assim podemos acessar nossa propriedade em nossa classe derivada. Agora que vem o pulo do gato. E se não precisássemos fazer o cast? É simples, basta informar logo abaixo da diretiva @Page da página aspx qual o tipo da nossa MasterPage:
<%@ MasterType TypeName="MasterPageSample.Site" %>Com isso nossa página passa a reconhecer a propriedade Master como sendo do tipo da nossa MasterPage, no caso Site.
protected void Page_Load(object s, EventArgs e) { this.Master.TituloMenu= "Home"; }Se clicarmos em cima da propriedade Master vamos ver o que acontece por tráz disso tudo. Quando criamos a diretiva MasterType o Visual Studio cria no arquivos auxiliar designer.cs da página uma propriedade com o mesmo nome (Master) porém escondendo a propriedade da classe base:
public new Site Master { get {return ((Site)(base.Master));} }Sei que não é a coisa mais impressionante do mundo mas achei interessante essa "tipagem" que o Visual Studio faz pra nós. Lembrei de publicar isto porque ví no livro de certificação e ainda hoje acabei usando em um projeto. Enjoy
domingo, 20 de setembro de 2009
Novidades!
terça-feira, 1 de setembro de 2009
Cadê as sobrecargas no Silverlight?
public bool IsConvertible(Type type)
{
return type.GetInterface("IConvertible") != null;
}
public T ConvertEnum<T>(object src)
{
Type type = typeof(T);
return (T)Enum.Parse(type, src.ToString());
}
public bool IsConvertible(Type type)
{
return type.GetInterface("IConvertible", false) != null;
}
public T ConvertEnum<T>(object src)
{
Type type = typeof(T);
return (T)Enum.Parse(type, src.ToString(), false);
}
segunda-feira, 20 de julho de 2009
Um pouco mais de Silverlight 3
quarta-feira, 15 de julho de 2009
C# 4.0: Named and Optional Parameters
class Person { public Person( string firstName = "Noname", string lastName = "Nolastname", DateTime birthDate = new DateTime()) { //Implementação... } }E aqui eu crio uma instância desta classe passando apenas o segundo parâmetro:
var person = new Person(lastName: "Canova");Como pode ser visto, utilizo o nome da propriedade e após os ":" eu coloco o valor que quero. As outras propriedades assumirão os valores default. Claro que aqueles que quiserem consumir classes com esta funcionalidade mas que prefiram continuar passando todos os parâmetros, podem fazer como sempre fizeram, lembrando que só é preciso especificar nomes de parâmetros quando não se usa a ordem normal dos mesmos:
var person2 = new Person("Vitor", "Canova"); var person3 = new Person("Vitor", birthDate: new DateTime(1981, 3, 19));Mas aqui fica uma observação: Use com sabedoria.
sexta-feira, 10 de julho de 2009
Silverlight 3 RTM
- Multi Touch: O Silverlight 3 será capaz de capturar eventos de multi touch enviados pelo sistema operacional.
- Matrix3DProjection: Uma alternativa ao PlaneProjection para efeitos visuais 3D.
- Mouse Wheel: Finalmente esta feature está incorporada nativamente, sem necessidade de implementação de hacks com javascript.
quinta-feira, 9 de julho de 2009
Office 2010: The Movie
domingo, 21 de junho de 2009
Windows 7: Boot de um Virtual Hard Disk
quinta-feira, 21 de maio de 2009
O que há de novo no .NET Framework 4
quarta-feira, 20 de maio de 2009
Silverlight e Visual Studio 2010 Beta 1
- Instalar o Visual Studio 2010 Beta 1
- Instalar o Silverlight 2 SDK (Se tentar instalar o Silverlight 2 tools ocorrerá um erro. Instale apenas o SDK).
- Instale o Silverlight 3 Beta SDK (Novamente, não deve ser instalado o tools)
- Instale o Silverlight 3 Beta Developer Runtime
sexta-feira, 8 de maio de 2009
Mais sobre meta tag IE8: App_Themes
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
Page p = this.Context.Handler as Page;
if (p != null)
{
p.PreRenderComplete += new EventHandler(p_PreRenderComplete);
}
}
protected void p_PreRenderComplete(object sender, EventArgs e)
{
Page page = sender as Page;
if (page.Header != null)
{
var ctrl = page.Header.Controls.Cast<Control>().FirstOrDefault(
c => c is HtmlMeta && ((HtmlMeta)c).HttpEquiv == "X-UA-Compatible");
if (ctrl != null)
{
page.Header.Controls.Remove(ctrl);
page.Header.Controls.AddAt(0, ctrl);
}
}
}
terça-feira, 5 de maio de 2009
Firebug no Silverlight?
segunda-feira, 27 de abril de 2009
Silverlight 3 - Primeiro Demo
quarta-feira, 22 de abril de 2009
Dynamic em C# 4.0
terça-feira, 21 de abril de 2009
Entity Framework 4.0
domingo, 19 de abril de 2009
Silverlight 2 & Silverlight 3
sábado, 28 de março de 2009
compatibilidade do IE8
quarta-feira, 25 de março de 2009
IE8 x Acid2 & Acid3
segunda-feira, 23 de março de 2009
O que ha de novo no Silverlight 3
O Silverlight 3 vai se utilizar do GPU do computador cliente para fazer sua renderização final, deixando o processador mais livre para outras atividades. Com isso foi introduzido no Silverlight a capacidade de criação de vários efeitos 3D.
Outra novidade é que agora o Silverlight 3 tem a capacidade de fazer Binding UI para UI, como no WPF. Essa era uma das grandes queixas dos desenvolvedores que vinham do WPF para o Silverlight.
Mais uma das novidades que mais está gerando comentário é sobre a funcionalidade que está sendo chamada de OOB, Out of Browser, onde a aplicação pode rodar fora do browser e totalmente off-line. O aplicativo checa por atualizações no seu local de origem e faz o download em background.
Quanto aos controles o Silverlight 3 já conta com algumas novidades. Uma delas é a possibilidade de criar as validações com atributos junto as propriedades do objeto da classe de negócio. A interface fará a leitura desses atributos e fará a geração do formulário automaticamente e com uma rica experiência do usuário.
Você pode conferir essas e mais novidades no blog do Tim Heuer onde ele faz um pequeno resumo de tudo que a equipe preparou para os programadores .NET.
domingo, 22 de março de 2009
Silverlight 3
Um dos assuntos que mais me chamou a atenção foi sobre o Silverlight 3, que teve seu beta lançado a poucas semanas atrás.
Você pode conferir todos os videos das sessions deste ano e ainda conferir os videos de tutoriais específicos das novidades do Silverlight 3 diretamente do forum.
quarta-feira, 18 de março de 2009
quarta-feira, 25 de fevereiro de 2009
Código Fonte como HTML
segunda-feira, 2 de fevereiro de 2009
Silverlight: Interoperabilidade
public HtmlElement HtmlDiv { get; set; }
public HtmlElement HtmlButton { get; set; }
public Page()
{
// Required to initialize variables
InitializeComponent();
this.HtmlDiv =
HtmlPage.Document.GetElementById("myDiv");
this.HtmlButton =
HtmlPage.Document.GetElementById("btnId");
this.HtmlButton.AttachEvent(
"onclick",
new EventHandler<HtmlEventArgs>(ToSilverlight_OnClick));
}
public string DivInnerHTML
{
get
{
return this.HtmlDiv.GetProperty("innerHTML").ToString();
}
set
{
this.HtmlDiv.SetProperty("innerHTML", value);
}
}
domingo, 25 de janeiro de 2009
Download Assíncrono com Silverlight 2
Tenho uma tela e nela carrego uma imagem com tamanho bem grande (6750 x 4200, 5,84 MB). Ela é carregada assincronamente, após ser carregado o controle. De posse do evento DownloadProgress do objeto BitmapImage podemos mostrar o progresso do download. O DownloadProgressEventArgs nos dá a propriedade Progress, um número de 0 a 100 com o percentual de download feito.
public Page()
{
// Required to initialize variables
InitializeComponent();
var image = new BitmapImage();
image.DownloadProgress += (sender, e) =>
{
this.ProgressTextBlock.Text = e.Progress.ToString();
};
//Objeto Uri com o endereço da imagem
image.UriSource = this.ImageObsoluteUri;
this.DownloadedImage.Source = image;
}
Aproveitei e coloquei a funcionalidade de Full Screen, onde pode ser visto que todo o componente foi feito para que suas proporções e posicionamentos não se alterassem de modo que ficasse destorcido. Quem trabalha com HTML sabe os problema que existem em deixar algo bem centralizado e organizado em qualquer browser. Quem quiser dar uma conferida, aqui está o link do exemplo on-line.
quarta-feira, 21 de janeiro de 2009
Efeito de luz em Silverlight
domingo, 18 de janeiro de 2009
Visual Studio 2010 - Focando no código
- Referências para o código com Highlight
- Hierarquia das chamadas a métodos
- Quick Search com funções bem mais aprimoradas para encontrar código
- Geração de testes de aplicações
- Possibilidade de alterar o comportamento da IDE utilizando WPF
sábado, 10 de janeiro de 2009
Código Fonte dos controles Silverlight 2
- ButtonBase
- Button
- HyperlinkButton
- CheckBox
- RadioButton
- ToggleButton
- RangeBase
- ProgressBar
- Slider
- ScrollBar
- Thumb
- Calendar
- DatePicker
- DataGrid
- TabControl
- GridSplitter