Dica: Hint WITH (NOLOCK)

 
O SQL Server 2000 dá suporte a uma série de hints que podem ser utilizadas para sobrepor o nível de isolamento da transação atual. Apesar do Query Optmizer fazer automaticamente a escolha do tipo de lock a ser aplicado na query, às vezes pode ser interessante termos controle sobre este tipo de configuração. A hint WITH (NOLOCK) permite melhorar o desempenho de uma consulta, pois, quando ela é utilizada, não é aplicado nenhum shared lock e os exclusive locks das outras transações são ignorados.
 
Abaixo segue um exemplo de utilização da hint WITH (NOLOCK), utilizando-se o banco de dados de exemplo Pubs:
SELECT au_lname FROM authors WITH (NOLOCK)
 
Note que quando essa hint for utilizada, é possível que ocorra a leitura de dados de uma transação que ainda não foi concluída, as chamadas Dirty Reads. Assim, seu uso não é recomendável nos casos em que a exatidão e precisão da consulta forem importantes. Nos demais casos, ela pode ser utilizada, já que seu uso evita o gasto de recursos que normalmente é envolvido no gerenciamento de locks.
 
Ricardo Oneda.

Tenha acesso a livros online da MSPress de graça!

Aqueles que instalaram alguma versão Beta 2 do Visual Studio 2005 (inclusive Express), podem ganhar acesso a livros online da Microsoft Press. Para isto, basta registrar o produto através do menu Help -> Register Product...

Após a confirmação do registro, em alguns dias será enviado um e-mail com as instruções e o código necessário para acessar os livros no Microsoft E-Learning. Os livros disponíveis para quem registra o Visual Studio 2005 Beta 2 Team Suite são:

  • Introducing Microsoft® Visual Basic® 2005 for Developers by Campbell, Swigart, Horrocks, Hatchard, Bernhardt, O'Brien, Rugless
  • Introducing ASP.NET 2.0 by Dino Esposito
  • Writing Secure Code, 2nd Edition by Michael Howard and David LeBlanc

Obs: não é possível fazer o download dos livros e eles ficam disponíveis para consulta online pelo período de um ano após o primeiro acesso.

Boa leitura,

Ricardo Oneda.

Dica: Melhore a navegação de sua aplicação ASP.NET com o SmartNavigation

O ASP.NET possui uma característica chamada Smart Navigation que permite uma melhor navegação em sua aplicação Web. Ela possibilita as seguintes melhorias:

- mantém a posição da página na tela e o foco no controle entre cada postback, evitando que a página volte para seu início após o retorno do servidor. Isso é especialmente útil em, por exemplo, páginas grandes de cadastros;
- evita o efeito da "piscada" da página entre os postbacks;
- impede que cada postback seja salvo na lista de histórico do browser, mantendo somente uma única entrada;

Para habilitar o Smart Navigation em uma página, basta configurar a propriedade SmartNavigation do WebForm para true. Caso deseje habilitá-lo em toda sua aplicação, adicione a tag <pages> no arquivo web.config, que deverá ficar parecido com:

<configuration>
    <system.web>
        <pages smartNavigation=”true”/>
        .....
    </system.web>
</configuration>

Mas nem tudo são flores...esta propriedade só funciona para browsers Internet Explorer 5.5 ou superior, e mesmo assim são comuns os relatos de problemas com CSS, entre outros. Mas uma aplicação web deveria rodar em qualquer plataforma, independentemente do browser e, mesmo que houvesse a dependência do browser, não deveria ocorrer erros, certo? Bem, nestes casos, existem algumas alternativas que "simulam" o comportamento da propriedade SmartNavigation através de JavaScript e HTML, que no fundo, é o que o SmartNavigation também faz, só que de forma automática (lembra que eu disse que ainda é importante saber JavaScript?). Se ficou interessado nestas alternativas, sugiro uma visita nos seguintes endereços:

How to persist the scroll position of an ASP.NET page without using SmartNavigation
Crossbrowser SmartNavigation Alternative
Crossbrowser SmartNavigation Alternative II

Ricardo Oneda.

Dica: Queries parametrizadas com OLE DB e ODBC .NET Data Providers

Uma dúvida muito comum que aparece no fóruns do MSDN Brasil é quanto à utilização de parâmetros em queries SQL quando se utiliza o OLE DB ou ODBC .NET Data Providers. Na maioria dos casos, o problema está no fato de que a pessoa não sabe que, ao contrário do SQL Server Data Provider, o OLE DB e o ODBC Data Providers não suportam parâmetros nomeados em uma instrução SQL. Os parâmetros, nestes casos, são representados pelo sinal "?" (ponto de interrogação). Assim, uma instrução SQL que com SQL Server Data Provider fosse:

SELECT Nome FROM Clientes WHERE Codigo = @ID AND Cidade = @Cid

No OLE DB ou ODBC .NET Data Providers ficaria assim:

SELECT Nome FROM Clientes WHERE Codigo = ? AND Cidade = ?

Note que no caso de haver mais de um parâmetro no comando SQL, é importante que os parâmetros sejam adicionados ao objeto Command na mesma ordem em que aparecem na
instrução SQL, já que não será possível mapeá-los através de nomes.

Vale lembrar que o SQL Server Data Provider não aceita este tipo de representação de parâmetros por ponto de interrogação.

Ricardo Oneda.

Utilizando RSS para ganhar tempo

Vocês já devem ter percebido uma imagem laranja com o texto XML ou então RSS que tem aparecido bastante em vários sites, inclusive aqui no theSpoke. Se você já teve curiosidade e clicou nesta imagem, verificou que é retornado um conteúdo em XML. Mas que diabos é isso? Simples: este é um feed de RSS para ser utilizado em programas chamados feed readers ou feed aggregators. Entre as várias novidades que surgem e desaparecem diariamente no mundo da tecnologia, o RSS veio para ficar, definitivamente.

Existem vários significados para a sigla RSS (e a origem é meio confusa, não vou entrar em detalhes) mas os mais "aceitos" são Really Simple Syndication ou Rich Site Summary. O RSS pode ser considerado um padrão de distribuição de notícias, que começou a ser bastante utilizado em blogs e foi adotado por sites de notícias, e a cada dia vem ganhando mais espaço.

E como funciona? Quando você quer ficar informado sobre as últimas notícias de um site, ou os últimos posts de um blog, você configura o seu leitor de feeds para que verifique o site de tempos em tempos em busca de uma nova versão do feed e, quando isto ocorrer, você é avisado. Isso poupa um tempo enorme e evita que você tenha que visitar o site para verificar as novidades. É a tecnologia trabalhando por você :)

Abaixo, segue uma relação de leitores ou agregadores de feeds, todos gratuitos:

  • FeedReader: simples, pequeno e open source;
  • RssReader: leitor RSS feito em .NET;
  • SharpReader: outro leitor RSS feito em .NET;
  • Pluck: um leitor RSS que é um plug-in do IE, ou seja, as notícias são lidas no próprio browser;

Outros sites onde podem ser encontradas maiores informações sobre RSS:

Baixe o seu programa e adicione o feed do meu blog Wink

Ricardo Oneda.

Dica: Configurando o IIS para reconhecer aplicações ASP.NET

Quando o .NET Framework é instalado, são configurados mapeamentos entre as extensões de arquivos (.aspx, .ascx, etc) e o filtro ISAPI do ASP.NET para que o IIS - Internet Information Service, o servidor Web da Microsoft - execute corretamente este tipo de aplicação. Se no momento da instalação do .NET Framework o IIS não tiver sido instalado ou, se por algum motivo, o IIS tiver que ser reinstalado, esses mapeamentos não serão criados e ocorrerão problemas como mensagens de erro no momento da criação de uma nova aplicação ASP.NET no Visual Studio .NET ou a não visualização de controles (textbox, radio buttons, etc.) de páginas no browser.

Para resolver este problema, basta executar a ferramenta de linha de comando aspnet_regiis.exe, também conhecida como ASP.NET IIS Registration Tool. Abra uma janela de linha de comando, digite a linha abaixo e tecle ENTER:

"%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -i

onde:

  • %windir% é o diretório onde foi instalado o Windows;
  • version é o número da versão do .NET Framework instalado em seu computador;
  • -i é o argumento que indica à ferramenta que os mapeamentos para o IIS devem ser criados para a versão corrente do .NET Framework;

Para saber sobre as demais opções de parâmetros desta ferramenta, execute o seguinte comando:

"%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -?

Ricardo Oneda.

Barra de ferramentas anti-phishing scam

No meu último post comentei que a próxima versão do IE virá com funcionalidades de combate a phishing scams, entre outras novidades.

Phishing scam é o nome dado à técnica de tentar enganar o usuário através da disponibilização de um site clone de um site verdadeiro. Assim, a pessoa pensa estar acessando o site de uma determinada empresa mas na verdade está acessando um site falso praticamente igual ao original. Nos últimos tempos, ficou extremamente comum recebermos e-mails que se passam por originais e induzem os usuários a acessarem estes sites falsos. O usuário desatento então fornece os dados que o site solicita como números de cartão de crédito, senhas de banco, etc e que na verdade são enviados ao fraudador.

Para aqueles que não querem esperar até a próxima versão do IE para ficarem um pouco mais seguros, a Netcraft, famosa por suas estatísticas de web sites, como sistemas operacionais utilizados na Internet entre outros serviços, disponibilizou uma barra de ferramentas anti-phishing scam para o IE, parecida com a barra de ferramentas do Google e outras similares.



As URLs dos sites falsos são armazenadas nos servidores da Netcraft e o interessante é que as pessoas podem alimentar esta base, fazendo com que quanto mais pessoas utilizarem esta ferramenta, maior a probabilidade do site ser identificado como falso. Quando se tenta acessar um site suspeito da lista, um alerta é emitido.



É uma idéia bem interessante!

Ricardo Oneda.

Dica: Upload de arquivos grandes no ASP.NET

O ASP.NET limita o tamanho de arquivos para upload em até 4096 KB (ou 4 MB). Para aumentar este limite, devemos incluir o elemento <httpRuntime> da seguinte maneira no arquivo web.config da aplicação:

<configuration>
   <system.web>
      <httpRuntime  maxRequestLength="8192"/>
       ...


O valor do atributo maxRequestLength indica o tamanho máximo do arquivo em KB. Caso se deseje alterar este valor para todas as aplicações do servidor, o parâmetro deverá ser alterado no arquivo machine.config

Ricardo Oneda.

Material de estudo para as provas de Certificação

Todos os que já fizeram ou se informaram sobre fazer alguma prova de Certificação da Microsoft perceberam que a quantidade de assuntos exigidos é enorme. A não ser que a pessoa trabalhe com todas as tecnologias envolvidas no material da prova, tendo assim bastante experiência e prática (o que é praticamente impossível), ela terá que recorrer a algum material de apoio para aprender o que não sabe e consolidar o conhecimento que já possui. Vou apresentar um pequeno guia que utilizei quando estava estudando para as provas e que também poderá ajudá-lo nesta tarefa. O foco aqui serão as certificações de desenvolvimento, que atualmente são a MCAD e a MCSD.NET, mas muitas das dicas também podem ser aproveitadas em parte ou totalmente em certificações como a MCSE ou MCDBA. Vamos às dicas:

1) Conteúdo das provas: o processo para obter cada certificação é composto por um conjunto de provas e cada prova testa um conjunto de conhecimentos pré-definidos. Nas páginas de requisitos de cada certificação, são disponibilizados links para os Preparation Guides de cada prova, onde são mostrados quais os conhecimentos exigidos:

2) Cursos: apesar dos cursos do MOC - Microsoft Official Curriculum geralmente serem bons, sozinhos não são suficientes para uma boa preparação para as provas, pois eles não são desenvolvidos com este objetivo. Isso é facilmente constatado nos Preparation Guides das provas citados no item 1), onde pode-se notar que muitos assuntos não fazem parte de nenhum curso do MOC. Além disso, o contrário também ocorre, ou seja, assuntos que são dados nos cursos mas não fazem parte dos conhecimentos testados nas provas. Por isso, não caia na armadilha de achar que para fazer a prova de certificação é obrigatório fazer um curso da Microsoft ou pior, achar que, somente com os cursos, você estará preparado para passar no exame. Os cursos do MOC devem ser encarados como uma entre as várias ferramenta disponíveis no seu plano de estudo, mas não a única.

3) Livros: uma fonte de estudo muito utilizada são os livros voltados para Certificação. A própria Microsoft produz livros voltados para suas provas através da sua editora, Microsoft Press. Entretanto, vejo muitas críticas a estes livros da Microsoft. Como não os li, não posso opinar sobre eles. Livros que eu recomendo são os do autor Amit Kalani, da editora Que. São bem didáticos, cobrem todos os assuntos das provas, possuem muitos exercícios práticos e ao final de cada capítulo, existem testes para verificar o nível de aprendizado. Além disso, os livros dele também vêm com um CD, no qual há um simulado do exame de certificação. Entretanto, é bom ressaltar que o nível de dificuldade deste simulado é inferior ao da prova real. Além de tudo isso, esses livros são mais baratos que os da MS Press Smile
Um ponto negativo é que só existem livros do autor Amit Kalani para as provas de certificação em C#. Para os profissionais de VB.NET, a mesma editora Que possui outros livros de outro autor, que se forem do mesmo nível dos livros do Amit Kalani, então são excelentes. Já os livros da Microsoft cobrem as duas linguagens: C# e VB.NET. Todos os livros estão em inglês, o que é ótimo, pois assim já é possível estudar no idioma das provas, se ambientando para o exame.
Para achar os livros, sugiro que vá ao site da Amazon.com e procure por MCAD ou MCSD. Outra dica é, no próprio site da Amazon.com, ler os comentários das pessoas que compraram os livros e ver o grau de satisfação com o produto.

4) Internet: como não poderia deixar de ser, a Internet é uma fonte que também deve ser utilizada para o estudo. Abaixo, seguem alguns links com material muito bom e gratuito:

Espero que este guia seja útil a todos,

Ricardo Oneda.