Jun 27 2008

Achievement Unlocked: MCP

Tag: C#david @ 8:22 pm

 

Fiz hoje a prova base do framework .Net (Microsoft .NET Framework - Application Development Foundation 70-536) e felizmente consegui passar. Uma coisa interessante é que algumas pessoas com quem eu conversei disseram que era muito fácil, que o transcender era mais difícil que a prova.

Minha experiência pessoal: Balela.

Foi certamente uma das provas mais complicadas que eu já fiz, as partes de segurança e serialização foram duríssimas, das 40 questões que eu respondi apenas 7 eram similares as mais de 200 questões de preparação que eu respondi antes da prova.

Não tenho vergonha nenhuma de dizer que eu fiquei de olhos marejados ao ver o “Passed”, quem me salvou mesmo foi o Professional C# da Wrox, já que o livro do kit oficial de preparação para a prova e os simulados não foram o bastante para garantir uma “experiência tranquila”.

Não sei se a prova mudou ou se eu sou fraco mesmo, mas recomendo no mínimo 2 meses de estudo dedicado para quem quiser se aventurar.

E que venham a 70-528 e a 70-562…


Jun 23 2008

Acessando QueryStrings por Javascript

Tag: Javascriptdavid @ 8:52 pm

Dei uma alterada no já manjado código para acessar QueryStrings no client (vez ou outra alguém precisa de algo desse tipo) meu objetivo era não poluir o já super lotado escopo global do browser e tornar o acesso ao hashtable de QueryStrings privado por motivos de segur… nah, tornei privado apenas para brincar com clousures.

Uma coisa legal é que se não existirem QueryStrings eu retorno nada, nem mesmo aquele espaço no document.location.QueryString eu ocupo nesse caso.

document.location.QueryString = (function (){
    var params = {};
    var qs=location.search.substring(1,location.search.length)
    if (qs.length == 0) return
    qs = qs.replace(/\+/g, ‘ ‘)
    var args = qs.split(’&’);
    for (var i=0;i<args.length;i++) {
      var value;
      var pair = args[i].split(’=');
      var name = unescape(pair[0]);
      if (pair.length == 2){
          value = unescape(pair[1]);
      }
      else{
        value = name;
      }
      params[name] = value;
    }
   return function(key){
    var value = params[key];
    if (value !=null){
      return value;
    }
  }
})();

Depois é só acessar o valor por:

//retorna o valor associado
location.QueryString(”keyName”);

Se alguém perceber algum bug, por favor comente.