Design pattern (ou padrão de projetos) foi originado pela gangue dos quatro (Gang of Four). Décadas depois, padrões de projeto costuma ser uma novidade para programadores. Além de aumentar a qualidade de software com sua unificação de linha lógica de raciocínio, pode também aumentar a produtividade e qualidade do desenvolvimento de software.
A motivação dos padrões de projeto não é deixar os conjuntos de classes menores, mas sim mais flexíveis. Isso facilita muito expansão do sistema no futuro, uma vez 70% do tempo gasto no sistema são de manutenção e extensão. E nos dá o conceito de escalabilidade, que está ligada a capacidade de um sistema de crescer e evoluir.
Podemos resumir o conceito como elementos de códigos que são implementados de acordo com as necessidades que temos no decorrer dos nossos dias como desenvolvedores.
Naturalmente, dividimos os padrões de projeto em três grupos: os padrões criacionais, os estruturais e os comportamentais.
Criacionais : tem a responsabilidade de controlar a instância do objeto, abstraindo e deixando-as independentes de suas classes concretas.
Estruturais : tem a responsabilidade de planejar a estrutura da classe que se está construindo, aumentando a possibilidade de extensão das mesmas sem alteração grandes esforços.
Comportamentais : tem a responsabilidade de controlar comportamentos em tempo de execução.
Nos próximos artigos iremos falar sobre cada um desses tipos e seus padrões. Até a próxima.
Bibliografia:
[GoF] Gamma, Helm, Johnson, Vlissides. Prototype Pattern. Design Patterns — Elements of Reusable Object-Oriented Software, 1995.
Do Factory! - http://www.dofactory.com/
terça-feira, abril 21, 2009
Indiana possui sua certificação aos 9 anos
Para você que estudou no exame para se tornar um MCP, ou pra você que pensa em realizar a prova. Uma indiana, de 9 anos, conseguiu passar o teste, batendo o recorde mundial de um outro garoto de 10 anos.
sábado, março 28, 2009
Configuração de uma aplicação em ASP.NET
Este artigo se trata de uma visão geral dos arquivos de configuração usados pelo ASP.NET. Pretendo dar uma introdução sobre os arquivos de configuração do ASP.NET e expor algumas funcionalidades interessantes do framework.
1. Introdução
Arquivos de configuração são usados para setar dados iniciais em um sistema. São usados nas mais diversas aplicações, nos dá a flexibilidade de alterar propriedades sem auxílio de um compilador. E isso pode nos ser útil. Imagine o seguinte cenário: você acaba de desenvolver uma ferramenta que auxilia o gerenciamento de usuários de uma pequena rede e o administrador deverá escolher quais grupos tem permissões. Você tem três opções: a primeira era forçar o administrador a dizer quais permissões pertencem a quais grupos todas as vezes que rodar o programa, a segunda é criar propriedades por código e fazer com que o administrador aprenda a sintaxe para altere os campos, ou ter um arquivo fácil de ser manipulado e de leve curva de aprendizado, da qual deixaria o administrador mais motivado.
A importância de um arquivo de configuração no ASP.Net é essencial para um bom desenvolvimento. Você pode controlar sua aplicação com praticamente todos as funcionalidades do ASP.NET. Trata-se de um conjunto poderoso de especificações que são guardadas em cachê, disponíveis globalmente para sua aplicação.
Os arquivos de configuração se comportam de maneira hierárquica, ou seja, as configurações de um arquivo “inferior” podem ser substituídas. Há dois arquivos de configuração:
• Machine.Config – Este arquivo se encontra no topo hierárquico. Contém configurações que serão aplicadas em todas as aplicações.NET. Nas versões anteriores à 3.0, se encontra em “C:\WINDOWS\Microsoft.NET\Framework\vx.x.xxxx\CONFIG".
• Web.Config – Este arquivo se encontra em uma aplicação específica, de acordo com as necessidades da mesma. Cada aplicação pode conter um web.config. Esse arquivo de configuração é opcional.
Como o arquivo “Web.Config” é mais específico, ele tende a substituir as configurações do “Machine.Config” por padrão. Caso não seja desejado, o atributo allowOverride na tag deve ser setado como false.
2. Usando uma interface gráfica para configuração
Para administradores, há uma preferência por uma interface para gerenciar a configuração. O ASP.NET provê uma interface chamada Web Site Administrator Tool, que permite editar configurações de diversos tipos como segurança e habilitar/desabilitar opções de tracing. Você encontra na opção WebSite -> ASP.NET Configuration, .

Figure 1: Interface para o Web.Config (Web Site Administrator).
3. Definindo variáveis globais a sua aplicação
A tag appSettings provê uma definição de variáveis estáticas, que podem ser usadas em toda aplicação. Isso nos dá a capacidade de configurar nossa aplicação em um único arquivo, modificando apenas os parâmetros. Sem precisar de que um desenvolvedor faça o trabalho.
//Primeiro Método:
//Segundo Método:
O primeiro método se encontra depreciado. Isso significa que você pode usá-lo, mas o framework parou de fazer manutenção neste método. Apenas para fins didáticos.
4. Fornecendo suporte com a tag
A tag permite configurar a aplicação para responder diferentes opções de codificação, garantindo assim o tipo de codificação correta da cada país. Por padrão, o requestEnconding dentro do arquivo machine.config é utf-8.
requestEnconding - Especifica a codificação assumida para as requisições que chegarem.
responseEnconding - Especificação de resposta
fileEnconding - Especifica a codificação para análise de arquivos asmx, aspx e asax.
Culture - Especifica a cultura padrão para processar as requisições que chegam
uiCulture - Especifica a cultura padrão para processar pesquisas de recurso do local.
5. Usando a tag identity para criar uma identidade de usuário
A tag identity nos permite criar uma identidade de usuário para aplicação. É uma tag útil para definir o nome de usuário e senha de uma base de dados.
6. Atribuindo especificações com a tag
A tag nos permite definir aspectos de cada página, como o uso de Viewstates e buffering. Mudando essas características, você automaticamente muda em todas as páginas de sua aplicação.
Buffer - Especifica se sua página aceita o uso de buffer.
enableSessionState - Especifica se o SessionState está ativado. Recebe valor booleano.
enableViewState - Especifica se o ViewState está ativado. Recebe valor booleano.
userControlBaseType - Permite especificar uma classe de code-behind seja herdade por uma página aspx.
autoEventWireup - Especifica se os eventos de página são ativados. Recebe valor booleano.
Você também pode definir especificamente para cada página através da diretiva que se encontra no topo de cada página aspx.
7. Ativando o rastreamento (trace)
Na engenharia de software, trace é a capacidade de obter informações de enquanto sua aplicação está em execução. Pode nos ajudar a encontrar bugs e outras falhas. Podemos especificar facilmente as funcionalidades de tracing com as propriedades abaixo:
Enabled - Especifica se o trace está ligado.
localOnly - Especifica se o trace apenas pode estar lgiado se for local ou acessado remotamente. É útil, caso se esqueça de trocar o enabled para falso antes de publicar a aplicação. Por este motivo, o padrão deste atributo está setado como true.
pageOutput - Especifica se o resultado está disponível através de um utilitário de rastreamento. O padrão é false, ou seja, aparecerá no final de cada página.
requestLimit - Valor que limita o número de requisições de tracing armazenadas no servidor. Por padrão, o número é 10.
traceMode - Especifica se o resultado do tracing deve ser classificado por hora ou por categoria.
8. Definindo exceções personalizadas.
O uso da tag customErros pode gerenciar exceções não-tratadas, redirecionando ao cliente uma página mais amigável. A sub tag error de customError especifica erros, como veremos no exemplo a seguir.
9. Autenticando usuários
São raras as aplicações que não usam uma forma de autenticar usuários. Usamos a tag authentication para autenticar usuários por questões de segurança. Abaixo seguem as opções do atribute mode:
Windows - Especifica o modo de autenticação Windows/IIS
Forms - Especifica um modo de autenticação baseado nos formulários Asp.Net
Passport - Especifica o uso de autenticação através do passport da Microsoft.
None - Nenhuma autenticação especificada.
Referências
ASP.NET Guia do Desenvolvedor.
MCTS Self-Paced Training Kit : Microsoft Web Based Client.
1. Introdução
Arquivos de configuração são usados para setar dados iniciais em um sistema. São usados nas mais diversas aplicações, nos dá a flexibilidade de alterar propriedades sem auxílio de um compilador. E isso pode nos ser útil. Imagine o seguinte cenário: você acaba de desenvolver uma ferramenta que auxilia o gerenciamento de usuários de uma pequena rede e o administrador deverá escolher quais grupos tem permissões. Você tem três opções: a primeira era forçar o administrador a dizer quais permissões pertencem a quais grupos todas as vezes que rodar o programa, a segunda é criar propriedades por código e fazer com que o administrador aprenda a sintaxe para altere os campos, ou ter um arquivo fácil de ser manipulado e de leve curva de aprendizado, da qual deixaria o administrador mais motivado.
A importância de um arquivo de configuração no ASP.Net é essencial para um bom desenvolvimento. Você pode controlar sua aplicação com praticamente todos as funcionalidades do ASP.NET. Trata-se de um conjunto poderoso de especificações que são guardadas em cachê, disponíveis globalmente para sua aplicação.
Os arquivos de configuração se comportam de maneira hierárquica, ou seja, as configurações de um arquivo “inferior” podem ser substituídas. Há dois arquivos de configuração:
• Machine.Config – Este arquivo se encontra no topo hierárquico. Contém configurações que serão aplicadas em todas as aplicações.NET. Nas versões anteriores à 3.0, se encontra em “C:\WINDOWS\Microsoft.NET\Framework\vx.x.xxxx\CONFIG".
• Web.Config – Este arquivo se encontra em uma aplicação específica, de acordo com as necessidades da mesma. Cada aplicação pode conter um web.config. Esse arquivo de configuração é opcional.
Como o arquivo “Web.Config” é mais específico, ele tende a substituir as configurações do “Machine.Config” por padrão. Caso não seja desejado, o atributo allowOverride na tag
2. Usando uma interface gráfica para configuração
Para administradores, há uma preferência por uma interface para gerenciar a configuração. O ASP.NET provê uma interface chamada Web Site Administrator Tool, que permite editar configurações de diversos tipos como segurança e habilitar/desabilitar opções de tracing. Você encontra na opção WebSite -> ASP.NET Configuration, .
Figure 1: Interface para o Web.Config (Web Site Administrator).
3. Definindo variáveis globais a sua aplicação
A tag appSettings provê uma definição de variáveis estáticas, que podem ser usadas em toda aplicação. Isso nos dá a capacidade de configurar nossa aplicação em um único arquivo, modificando apenas os parâmetros. Sem precisar de que um desenvolvedor faça o trabalho.
1: <configuration>
2: <appSettings>
3: <add key="initialRow" value="15"/>
4: <add key="finalRow" value="55"/>
5: </appSettings>
6: </configuration>
//Primeiro Método:
1: ApplicationStarter.InitialNumber = (int) ConfigurationSettings.AppSettings["initialRow];
//Segundo Método:
1: ConfigurationManager.AppSettings["initialRow”];
O primeiro método se encontra depreciado. Isso significa que você pode usá-lo, mas o framework parou de fazer manutenção neste método. Apenas para fins didáticos.
4. Fornecendo suporte com a tag
A tag
requestEnconding - Especifica a codificação assumida para as requisições que chegarem.
responseEnconding - Especificação de resposta
fileEnconding - Especifica a codificação para análise de arquivos asmx, aspx e asax.
Culture - Especifica a cultura padrão para processar as requisições que chegam
uiCulture - Especifica a cultura padrão para processar pesquisas de recurso do local.
1: <configuration>
2: <system.web>
3: <globalization requestEncoding="Shift-JIS" responseEncoding="Shift-JIS"/>
4: </system.web>
5: </configuration>
5. Usando a tag identity para criar uma identidade de usuário
A tag identity nos permite criar uma identidade de usuário para aplicação. É uma tag útil para definir o nome de usuário e senha de uma base de dados.
1: <configuration>
2: <system.web>
3: <!--
4: Set compilation debug="true" to insert debugging
5: symbols into the compiled page. Because this
6: affects performance, set this value to true only
7: during development.
8: -->
9: <identity userName="rmacedo" password="passwrd445"/>
10: </system.web>
11: </configuration>
6. Atribuindo especificações com a tag
A tag
Buffer - Especifica se sua página aceita o uso de buffer.
enableSessionState - Especifica se o SessionState está ativado. Recebe valor booleano.
enableViewState - Especifica se o ViewState está ativado. Recebe valor booleano.
userControlBaseType - Permite especificar uma classe de code-behind seja herdade por uma página aspx.
autoEventWireup - Especifica se os eventos de página são ativados. Recebe valor booleano.
Você também pode definir especificamente para cada página através da diretiva que se encontra no topo de cada página aspx.
7. Ativando o rastreamento (trace)
Na engenharia de software, trace é a capacidade de obter informações de enquanto sua aplicação está em execução. Pode nos ajudar a encontrar bugs e outras falhas. Podemos especificar facilmente as funcionalidades de tracing com as propriedades abaixo:
Enabled - Especifica se o trace está ligado.
localOnly - Especifica se o trace apenas pode estar lgiado se for local ou acessado remotamente. É útil, caso se esqueça de trocar o enabled para falso antes de publicar a aplicação. Por este motivo, o padrão deste atributo está setado como true.
pageOutput - Especifica se o resultado está disponível através de um utilitário de rastreamento. O padrão é false, ou seja, aparecerá no final de cada página.
requestLimit - Valor que limita o número de requisições de tracing armazenadas no servidor. Por padrão, o número é 10.
traceMode - Especifica se o resultado do tracing deve ser classificado por hora ou por categoria.
1: <configuration>
2: <system.web>
3: <!--
4: Set compilation debug="true" to insert debugging
5: symbols into the compiled page. Because this
6: affects performance, set this value to true only
7: during development.
8: -->
9:
10: <trace enabled="true" localOnly ="true" pageOutput="false" traceMode="SortByCategory"/>
11:
12: </system.web>
13: </configuration>
8. Definindo exceções personalizadas.
O uso da tag customErros pode gerenciar exceções não-tratadas, redirecionando ao cliente uma página mais amigável. A sub tag error de customError especifica erros, como veremos no exemplo a seguir.
1: <configuration>
2: <system.web>
3: <!--
4: Set compilation debug="true" to insert debugging
5: symbols into the compiled page. Because this
6: affects performance, set this value to true only
7: during development.
8: -->
9:
10: <customErrors defaultRedirect="errorpage.aspx" mode="RemoteOnly"></customErrors>
11:
12: </system.web>
13: </configuration>
9. Autenticando usuários
São raras as aplicações que não usam uma forma de autenticar usuários. Usamos a tag authentication para autenticar usuários por questões de segurança. Abaixo seguem as opções do atribute mode:
Windows - Especifica o modo de autenticação Windows/IIS
Forms - Especifica um modo de autenticação baseado nos formulários Asp.Net
Passport - Especifica o uso de autenticação através do passport da Microsoft.
None - Nenhuma autenticação especificada.
Referências
ASP.NET Guia do Desenvolvedor.
MCTS Self-Paced Training Kit : Microsoft Web Based Client.
quinta-feira, fevereiro 12, 2009
Para refletir: Conselhos de Bill Gates

Discurso de Bill Gates em uma escola, aconselhando os alunos sobre coisas que a instituição não ensina. Como eu sempre falo, há um longo percurso entre o ensino de uma faculdade e a vivência profissional.
Bill Gates falou por menos de cinco minutos, e foi aplaudido por mais de cinco minutos sem parar. Agradeceu e foi embora em seu helicóptero.
1. A vida não é fácil, acostume-se com isso.
2. O mundo não está preocupado com sua auto-estima. O mundo espera que você faça alguma coisa útil por ele antes de sentir-se bem com você mesmo.
3. Você não ganhará vinte milhões por mês assim que sair da escola. Você não será vice-presidente de uma empresa com carro e telefone à sua disposição antes que você tenha conseguido comprar seu próprio carro e telefone.
4. Se você acha seu professor rude, espere até ter um chefe. Ele não terá pena de você.
5. Vender jornal velho ou trabalhar durante as férias não está abaixo de sua posição social. Seus avós têm uma palavra diferente para isso: eles chamam de oportunidade.
6. Se você fracassar, não é culpa de seus pais. Então não lamente seus erros, aprenda com eles.
7. Antes de você nascer seus pais não eram tão críticos como agora. Eles só ficaram assim por pagar suas contas, lavar suas roupas e ouvir você dizer que eles são "ridículos". Então antes de salvar o planeta para a próxima geração, querendo consertar os erros da geração de seus pais, tente limpar seu próprio quarto.
8. Sua escola pode ter eliminado a distinção entre vencedores e perdedores, mas a vida NÃO é assim. Em algumas escolas você não repete mais de ano e tem quantas chances precisar até acertar. Isto não se parece com absolutamente NADA na vida real. Se pisar na bola, está despedido, Rua! Faça certo da primeira vez!
9. A vida não é dividida em semestres. Você não terá sempre os verões livres e é pouco provável que outros empregados o ajudem a cumprir suas tarefas no fim de cada período.
10. Televisão NÃO é vida real. Na vida real, as pessoas têm que deixar o barzinho ou boate e ir trabalhar.
11. Seja legal com os CDFs ou Nerds - aqueles estudantes que os demais julgam que são uns babacas - Existe uma grande probabilidade de você vir a trabalhar para um deles.
Fonte: http://www.larsoft.com.br/
Visão Geral sobre o Exame 70-536
Meu objetivo aqui é auxiliar, ou se preferirem, dar um empurrão (nada como um bom usuário agressivo!) para os que desejam realizar o exame 70-536 (Microsoft .NET Framework 2.0 Application Development Foundation). Para melhoria dos próximos, gostaria muito do seu feedback sobre este artigo. Bom, vamos lá!
1. Visão do Exame
A prova foi designada para profissionais que tenham ao menos dois ou três anos de experiência em desenvolvimento Web, ou Windows, ou em serviços, claro, teoricamente. Já vi alguns profissionais que conseguiram com bem menos do que isso passar. Você deve conhecer pelo menos uma linguagem. Antigamente, você precisava conhecer as duas linguagens e suas características. Há uma coisa que gostaria de destacar: passando neste exame, prova que você tem bons conhecimentos do .NET Framework, mas não mostra que você é um bom desenvolvedor. Para isso, dedique-se também a UML, padrões de projetos, e também investindo em seus próprios frameworks, e acima de tudo, corra atrás de sua experiência. Para não fugir do foco, basicamente as questões do exame referem-se aos itens abaixo:
• System types and collections: desenvolvendo aplicações que usam classes do Framework e coleções.
• Services, threading and application domains: implementando serviços (basicamente Windows Services), multithread e Application Domain.
• Configuration, diagnostic, management, and installation: implementando objetos de configuração, diagnóstico, e classes de instalação.
• Serialization and input / output: implementando serialização e deserialização.
• Security: desenvolvimento de classes de criptografia e característica de segurança do .Net Framework.
• Interoperability, Reflection, and Mailing: implementando interoperabilidade entre componentes COM, Reflection, e funcionalidade de e-mail.
• Globalization, Drawing, and Text manipulation: implementando classes como RegionInfo, CultureInfo, a parte de desenhos (Drawing), e manipulação de textos.
Você pode agendar sua prova através do site da Prometric (http://www.prometric.com). A Prometric é uma empresa de grande peso no mercado para provas de certificação, não apenas da Microsoft, mas também de diversas empresas de tecnologia. A prova em questão custa em torno de $80 (oitenta dolares). Está disponível nas línguas: Inglês, Francês, Alemão e Japonês. Antes de efetuar o teste, você também pode escolher em qual linguagem em que o teste se basea: C++, C# ou VB.NET.
Após concluir o exame e passar, a Microsoft envia um certificado, um broche e um cartão de identificação. Seu certificado virá com a assinatura do Steve Ballmer, em até quatro semanas. Sem falar no reconhecimento profissional que você ganha ao concluir.
2. Programa de Estudo
Eu aconselho os interessados em estudar usando o livro MCTS Self-Paced Training Kit (Exam 70-536), anotando as classes usadas e testando-as. É um livro bastante conciso, sem redundâncias, o que é muito bom. Com ele, você tem a certeza que terá uma boa base para certificação, pois o mesmo é focado no exame. Ao estudar, tenha como principal objetivo fixar os conceitos, as responsabilidades de cada classe, conhecer as diferenças entre os métodos e suas assinaturas.
Para ganhar mais de experiência e familiaridade com os temas, após terminar de ler o livro, procure ler artigos relacionados ao exame. Também tenha interesse por revistas técnicas. Eles te darão o mesmo conteúdo sob uma outra perspectiva, provavelmente mais focado nos problemas reais do dia-a-dia. Destaco os seguintes artigos:
• Todos artigos do Israel Aéce (Por Dentro da Base Class Library): http://www.linhadecodigo.com.br/Artigo.aspx?id=2148
• .NET Tutorials : http://www.beansoftware.com/NET-Tutorials/
Também sugiro o livro CLR via C Second Edition Pro Developer. É um livro, que inclusive, é referenciado no MCTS Self-Paced Training Kit. É útil para ter um conhecimento mais forte sobre plataforma, recomendo para aqueles que tem tempo sobrando para lê-lo.
Depois, com a base sólida, responder questões de simulados. O melhor jeito de fixar pontos é trabalhando com eles. Os testes sugeridos pela Microsoft são:
• MeasureUp (Measureup.com)
• Self Test Software (Selftestsoftware.com)
Há também o polêmico Testking. Há preconceito quanto a esse simulado. Como muito de vocês já sabem, o Testking é conhecido por ter questões semelhantes às do exame real. Custa aproximadamente $70. Não tenho conhecimento sobre a opinião oficial da Microsoft a respeito da empresa.
3. Visão geral as questões
Conteúdo suspenso.
4. Na hora do Exame
Faça um lanche reforçado, descanse bem e vá à luta! A Prometric pede para que o candidato chegue com meia hora de antecedência. É preciso ter duas formas de identificação, pode ser tanto sua identidade quanto sua carteira de motorista. Uma obrigatoriamente, precisa ter sua foto.
Chegando ao local, não fique tímido pelas câmeras que estarão te filmando. Há uma grande introdução ao exame, mas nada do que você já não saiba. Também será pedido qualquer aparelho eletrônico que você possua, como celulares e players. Você tem aproximadamente duas horas para completar o exame de 40 questões. Leia atentamente as questões. Observe que há uma Checkbox no campo “Mark for Review” no campo esquerdo superior, use-a para marcar as questões que tem dúvida e focar nelas após o exame.
Nunca deixe de revisar as questões! É de extrema importância, ao revisar uma questão você estará mais apto a identificar os detalhes relevantes para resolução do problema.
Preste atenção nas questões deixadas para atrás. Há uma coisa muito chata (e que me tirou do sério) foi o fato de que clicar em alguns lugares fora das alternativas pode retirar a opção marcada. Certifique-se que todas as questões foram preenchidas. Antes finalizar o exame, o sistema mostra um grid com as questões deixadas em branco e as que foram marcadas para revisar. Há também uma calculadora caso você precise fazer algum cálculo.
O principal é manter a calma, ler a questão se necessário mais de uma vez. E gastar tempo pensando e observando os detalhes. Sobrou tempo? Gaste o tempo revisando! Afinal, você não ganhará nada terminando mais cedo que seus amigos, e isso pode te salvar teu pescoço.
Espero que este artigo tenha ajudado, qualquer dúvida fique a vontade para entrar em contato comigo. Um forte abraço a todos e boa sorte em seus exames!
Referências:
http://www.microsoft.com/learning/en/us/exams/70-536.aspx
1. Visão do Exame
A prova foi designada para profissionais que tenham ao menos dois ou três anos de experiência em desenvolvimento Web, ou Windows, ou em serviços, claro, teoricamente. Já vi alguns profissionais que conseguiram com bem menos do que isso passar. Você deve conhecer pelo menos uma linguagem. Antigamente, você precisava conhecer as duas linguagens e suas características. Há uma coisa que gostaria de destacar: passando neste exame, prova que você tem bons conhecimentos do .NET Framework, mas não mostra que você é um bom desenvolvedor. Para isso, dedique-se também a UML, padrões de projetos, e também investindo em seus próprios frameworks, e acima de tudo, corra atrás de sua experiência. Para não fugir do foco, basicamente as questões do exame referem-se aos itens abaixo:
• System types and collections: desenvolvendo aplicações que usam classes do Framework e coleções.
• Services, threading and application domains: implementando serviços (basicamente Windows Services), multithread e Application Domain.
• Configuration, diagnostic, management, and installation: implementando objetos de configuração, diagnóstico, e classes de instalação.
• Serialization and input / output: implementando serialização e deserialização.
• Security: desenvolvimento de classes de criptografia e característica de segurança do .Net Framework.
• Interoperability, Reflection, and Mailing: implementando interoperabilidade entre componentes COM, Reflection, e funcionalidade de e-mail.
• Globalization, Drawing, and Text manipulation: implementando classes como RegionInfo, CultureInfo, a parte de desenhos (Drawing), e manipulação de textos.
Você pode agendar sua prova através do site da Prometric (http://www.prometric.com). A Prometric é uma empresa de grande peso no mercado para provas de certificação, não apenas da Microsoft, mas também de diversas empresas de tecnologia. A prova em questão custa em torno de $80 (oitenta dolares). Está disponível nas línguas: Inglês, Francês, Alemão e Japonês. Antes de efetuar o teste, você também pode escolher em qual linguagem em que o teste se basea: C++, C# ou VB.NET.
Após concluir o exame e passar, a Microsoft envia um certificado, um broche e um cartão de identificação. Seu certificado virá com a assinatura do Steve Ballmer, em até quatro semanas. Sem falar no reconhecimento profissional que você ganha ao concluir.
2. Programa de Estudo
Eu aconselho os interessados em estudar usando o livro MCTS Self-Paced Training Kit (Exam 70-536), anotando as classes usadas e testando-as. É um livro bastante conciso, sem redundâncias, o que é muito bom. Com ele, você tem a certeza que terá uma boa base para certificação, pois o mesmo é focado no exame. Ao estudar, tenha como principal objetivo fixar os conceitos, as responsabilidades de cada classe, conhecer as diferenças entre os métodos e suas assinaturas.
Para ganhar mais de experiência e familiaridade com os temas, após terminar de ler o livro, procure ler artigos relacionados ao exame. Também tenha interesse por revistas técnicas. Eles te darão o mesmo conteúdo sob uma outra perspectiva, provavelmente mais focado nos problemas reais do dia-a-dia. Destaco os seguintes artigos:
• Todos artigos do Israel Aéce (Por Dentro da Base Class Library): http://www.linhadecodigo.com.br/Artigo.aspx?id=2148
• .NET Tutorials : http://www.beansoftware.com/NET-Tutorials/
Também sugiro o livro CLR via C Second Edition Pro Developer. É um livro, que inclusive, é referenciado no MCTS Self-Paced Training Kit. É útil para ter um conhecimento mais forte sobre plataforma, recomendo para aqueles que tem tempo sobrando para lê-lo.
Depois, com a base sólida, responder questões de simulados. O melhor jeito de fixar pontos é trabalhando com eles. Os testes sugeridos pela Microsoft são:
• MeasureUp (Measureup.com)
• Self Test Software (Selftestsoftware.com)
Há também o polêmico Testking. Há preconceito quanto a esse simulado. Como muito de vocês já sabem, o Testking é conhecido por ter questões semelhantes às do exame real. Custa aproximadamente $70. Não tenho conhecimento sobre a opinião oficial da Microsoft a respeito da empresa.
3. Visão geral as questões
Conteúdo suspenso.
4. Na hora do Exame
Faça um lanche reforçado, descanse bem e vá à luta! A Prometric pede para que o candidato chegue com meia hora de antecedência. É preciso ter duas formas de identificação, pode ser tanto sua identidade quanto sua carteira de motorista. Uma obrigatoriamente, precisa ter sua foto.
Chegando ao local, não fique tímido pelas câmeras que estarão te filmando. Há uma grande introdução ao exame, mas nada do que você já não saiba. Também será pedido qualquer aparelho eletrônico que você possua, como celulares e players. Você tem aproximadamente duas horas para completar o exame de 40 questões. Leia atentamente as questões. Observe que há uma Checkbox no campo “Mark for Review” no campo esquerdo superior, use-a para marcar as questões que tem dúvida e focar nelas após o exame.
Nunca deixe de revisar as questões! É de extrema importância, ao revisar uma questão você estará mais apto a identificar os detalhes relevantes para resolução do problema.
Preste atenção nas questões deixadas para atrás. Há uma coisa muito chata (e que me tirou do sério) foi o fato de que clicar em alguns lugares fora das alternativas pode retirar a opção marcada. Certifique-se que todas as questões foram preenchidas. Antes finalizar o exame, o sistema mostra um grid com as questões deixadas em branco e as que foram marcadas para revisar. Há também uma calculadora caso você precise fazer algum cálculo.
O principal é manter a calma, ler a questão se necessário mais de uma vez. E gastar tempo pensando e observando os detalhes. Sobrou tempo? Gaste o tempo revisando! Afinal, você não ganhará nada terminando mais cedo que seus amigos, e isso pode te salvar teu pescoço.
Espero que este artigo tenha ajudado, qualquer dúvida fique a vontade para entrar em contato comigo. Um forte abraço a todos e boa sorte em seus exames!
Referências:
http://www.microsoft.com/learning/en/us/exams/70-536.aspx
Assinar:
Postagens (Atom)