Sexta-feira, 28 de Março de 2008

Caramba... muito tempo sem postar nada...

É, eu também acabo me ocupando... e com isso, fiquei sem postar nada há um bom tempo. Bem, agora que o evento inicial do Heroes Community Launch passou, terei um pouco mais de tempo...

Bem, agora deixa eu brincar um pouco com um exemplo da LINQ que depois eu colocarei aqui...

Até+

Sábado, 29 de Setembro de 2007

Mais um Blog

Pessoal, lembram quando eu falei há muito tempo sobre um blog em inglês para a Galera de outros países? Então finalmente conseguí um Blog no site oficial ASP.NET.
 
Ainda estou começando por lá e ajeitando muitas coisas mas podem visitá-lo sempre que as coisas vai ficar cabeludas por lá... hehe
 
Clique aqui para conhecer esse meunovo espaço.
 
Abraços!@!
 
Chilá

Quarta-feira, 19 de Setembro de 2007

Laboratórios Virtuais...

Pessoal, aqui, a Microsoft disponibiliza uma série de treinamentos virtuais sobre .NET 3.0 que são muito bons.
 
E mais:
 
Lista de atalhos de VB para a IDE de desenvolvimento do Visual Studio 2005 - http://www.microsoft.com/downloads/details.aspx?FamilyID=6bb41456-9378-4746-b502-b4c5f7182203&DisplayLang=en
 
Developer Center do Visual Basic em português - http://www.microsoft.com/brasil/msdn/visualbasic/default.mspx
 
Como a microsoft gerencia a infraestrutura de seu Visual Studio 2005 Team Foundayion Server - clique aqui.
 
Espero que sejam úteis para vocês...
 
Abraços...
 
Chilá!@!

Sexta-feira, 14 de Setembro de 2007

Documentação sobre o .NET Framework 3.0

Para aqueles que procuram uma maior quantidade de informação sobre a plataforma do .NET Framework 3.0, basta visitar os seguintes sites:
 
 
 
Em breve postarei diversos exemplos sobre o Framework 3.0 e o 3.5 que está na versão beta 2.
 
Abraços.
 
Chilá!@!

Domingo, 2 de Setembro de 2007

isPostBack ou Request.Form?

Recentemente, um amigo pediu ajuda para capturar o que o usuário havia digitado dentro de alguns campos textos que eram preenchidos no page_load. Até aqui tudo bem, se não fosse o problema de que o PostBack não estava sendo tratado através da propriedade isPostBack. Com isso a rotina de preenchimento da tela carregava novamente o que estava presente no banco de dados.

A solução que eu dei para esse amigo foi tratar o postback ou usar o request.form("nomedocampo") para retornar o valor preenchido pelo usuário.

Erro besta, mas que faz com que um tempo precioso seja perdido.

Abraços.

Chilá!@!

Sexta-feira, 31 de Agosto de 2007

Migrando para o ASP.NET 2.0

Sei que muita gente ainda roda aplicações na versão 1.1 do framework e isso não é novidade afinal, as empresas que investiram na construção de um aplicativo não irão migrá-lo para uma nova versão, gerando custo, sem necessidade.

Nessa série de artigos do site ASP.NET, temos a oportunidade de aprender um pouco mais sobre as novas funcionalidades do Visual Studio 2005.

Abraços.

Chilá!@!

Microsoft Student Partner.

Postei há muito tempo atrás algumas linhas sobre o assunto e agora encontrei esse artigo, do site TIMaster que explica e mostra um pouco mais sobre o assunto.

Abraços.

Chilá!@!

Documentação no Javascript.

Como vocês devem saber, para documentar o código no C# usamos ///, no VB ''' e agora na versão 2008 do Visual Studio teremos a funcionalidade de introduzir os comentários também no Javascript e depois extraí-los usando alguma outra ferramenta.

A extração não está disponível na Beta 2 do Visual Studio 2008, mas eu acho que também não estará na versão final, então vamos ter que recorrer a parceiros para realizar a extração ou procurar no codeplex por alguém que já tenha feito algo parecido.

Mas vamos mostrar como fica, não? No código javascript, ficaria assim:

function Soma(x, y)
{
///
///Método responsável por realizar a soma de dois inteiros
///

///Primeiro valor a ser somado
///Segundo valor a ser somado
///Retorna um inteiro com o resultado da soma
return x + y;
}

E quando estiver editando seu código ficaria muito mais fácil de identificar o método, conforme figura abaixo:



Para saber mais sobre a documentação acessem: http://msdn2.microsoft.com/en-us/library/5ast78ax(VS.80).aspx.
Abraços e até mais...
Chilá!@!

Domingo, 26 de Agosto de 2007

SuperGRID: Mudanças a vista...

Pessoal, estou gostando desse negócio de codeplex e aprendendo muito. Bem, no post sobre GridView, pude mostrar um milésimo de toda a capacidade do GridView. E agora, chego a decisão de que é muito mais produtivo e inteligente eu adotar o GridView como controle base para o SuperGRID. Ao invés de herdar todas as características de um DataBoundControl o controle passará a herdar todas as características de um GridView.

Isso me libera de tarefas como criar um formulário para listar os controles que podem ser adicionados para me concentrar nas tarefas importantes, como retornar os dados da GridView e adicionar suporte Javascript no lado cliente para que tarefas como exclusão, edição e inclusão de linhas não necessite de post-back e nem de AJAX.

Bem é isso, acho que assim terei um controle melhor, mais estável e com muito mais usuários.

Abraços.

Sábado, 25 de Agosto de 2007

Adicionando registros pelo rodapé do GridView...

    Essa dica recebeu a colaboração de Federico Bruno (grazie Federico). This post recevied the colaboration of Federico Bruno(grazie Federico).
 
    Quem acompanha minhas postagens deve saber que estou devendo uma solução para adicionar registros pelo rodapé do GridView. Isso é possível e muito fácil de fazer quando existem registros para serem exibidos pelo GridView, mas quando não existem, a coisa fica mais complicada. Bem achei uma solução bem simples e tenho certeza de que todos vocês irão utilizá-la.
    O primeiro passo e adicionar um novo item à sua solução no Visual Studio, um novo item do tipo Web Custom Control. Dê para esse novo objeto o nome que quiser. Assim que o Visual Studio completar a criação do item, ele vai trazer essa nova classe com uma propriedade e um método, você não vai precisar disso, pode apagar.
    Aí o pulo do gato está no bloco de código abaixo:

        Protected Overrides Function CreateChildControls _

        (ByVal dataSource As System.Collections.IEnumerable, ByVal dataBinding As Boolean) As Integer

            Dim numeroDeLinhas As Integer

            numeroDeLinhas = MyBase.CreateChildControls(dataSource, dataBinding)

            'Se o número de linhas é 0, logo temos que exibir o rodapé e o cabeçalho manualmente

            If (numeroDeLinhas = 0) Then

                'criação de uma nova tabela para a exibição da grade

                Dim minhaTabela As New Table

                minhaTabela.ID = Me.ID

                'criação da linha de cabeçalho

                Dim minhaLinha As GridViewRow = MyBase.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)

                'criação das colunas da grade

                Dim meusCampos As DataControlField()

                ReDim meusCampos(Me.Columns.Count - 1)

                Me.Columns.CopyTo(meusCampos, 0)

                'inicializando a coluna de cabeçalho e adicionando a linha na tabela

                Me.InitializeRow(minhaLinha, meusCampos)

                minhaTabela.Rows.Add(minhaLinha)

                'criando a linha vazia para exibir o rodapé‚ e inicializa a linha para a criação dos controles

                minhaLinha = MyBase.CreateRow(-2, -1, DataControlRowType.Footer, DataControlRowState.Normal)

                InitializeRow(minhaLinha, meusCampos)

                'adiciona a linha de rodapé ao controle

                minhaTabela.Rows.Add(minhaLinha)

                'adiciona a tabela ao controle

                Me.Controls.Add(minhaTabela)

            End If

       

            'retorna o numero de linhas afetadas pelo bind da classe base

            Return numeroDeLinhas

       

        End Function

    Mas lembrem-se de que após adicionar esse novo controle na página, que a propriedade ShowFooter esteja marcada como True.
Abraços
Chilá!@!

Terça-feira, 21 de Agosto de 2007

Função para criar string XML no javascript.



Não é difícil mas encontrar uma biblioteca pronta ajuda muito. Eu encontrei o XML Writer para Javascript.

Reparem como é a fácil a criação de uma string XML pelo javascript:

var XML=new XMLWriter();
XML.BeginNode("Exemplo");
XML.Attrib("Atributo", "Valor");
XML.WriteString("Exemplo da WriteString");
XML.Node("Nome", "Valor");
XML.BeginNode("SubNoh");
XML.BeginNode("SubNoh2");
XML.EndNode();
XML.BeginNode("SubNoh3");
XML.WriteString("Blah blah.");
XML.EndNode();
XML.Close();

E o retorno disso fica dentro de uma string, assim:


Muto bom não? E reparem no código fonte que cria isso tudo é extremamente simples. Como eu disse, não é nada que você não consiga criar, mas você poderia perder um dia ou dois testando... E aqui já está pronto...

Abraços..

Chilá!@!

O que era para ser uma simples tarefa de gerar um GridView vazio ou com uma linha para inserção de registros...

... virou uma busca incessante por quase uma hora.

Pois bem, o assunto acima é sobre o comando abaixo:

DataControlField[] fields = new DataControlField[this.Columns.Count];

escrito em C#, mas eu precisava fazer um teste disso em VB também, eis que nada funciona somente o bloco abaixo:

Dim myFields As DataControlField()
ReDim myFields(Me.Columns.Count - 1)


É muito estranho mas por causa do objeto DataControlField ser um tipo e não um objeto, foi gerada toda essa confusão.

Detalhe, isso é só o começo, pois estou analisando se devo mudar a classe base do control SuperGRID de DataBoundControl para GridView.

Abraços...

Chilá!@!

Segunda-feira, 20 de Agosto de 2007

W3Schools

    Um bom guia ou bons guias sobre tudo relacionado a web pode ser encontrado no site da W3Schools (WWW Consortium Schools), recentemente procurei por uma definição sobre um método em javascript e somente lá encontrei uma explicação e a devida definição.
 
    Abraços.
 
    Chilá!@!

Sexta-feira, 17 de Agosto de 2007

Ferramenta para criação de planos de testes Web

Recentemente, depois de passar por maus bocados em um sistema, surgiu a necessidade de se criar testes para o aplicativo em questão. Criamos um projeto de teste no VS2005, depois um teste para o aplicativo e para finalizar um teste de carga simulando 25 usuários. Os testes correram bem, dentro do esperado e o Team System para testers rolou legal, o problema que permanecia era, como validar a aplicação como um todo?

Surgia aqui uma necessidade de simular em ambiente de desenvolvimento o comportamento da aplicação em produção. Após diversas pesquisas no google, encontrei um framework de teste para o .net (versão 1.1 e 2.0) que é muito bom. Eu acabei escolhendo esse devido a sua característica de ser escrito em C# e free mas existem diversos outros. O nome do escolhido é WatIn.

Nos testes que eu fiz até agora o framework para testes superou as minhas expectativas. Vejam um pequeno bloco de código criado para fazer uma pesquisa no google:

[Test]
public void SearchForWatiNOnGoogle()
{
using (IE ie = new IE(http://www.google.com))
{
ie.TextField(Find.ByName("q")).TypeText("WatiN");
ie.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(ie.ContainsText("WatiN"));
}
}

Até aqui tudo bem, mas aí eu fiquei pensando em como seria trabalhoso escrever testes assim e imaginei que deveria existir um gravador para o WatIn, assim como existe nos projetos de testes do Team System e no antigo Application Center Test. E não é que existe? Na própria home do WatIn podemos achar esse link.

Realmente esse pequeno framework está superando as minhas expectativas e agora o meu desafio é montar os testes, utlizando os dados da base de produção no ambiente de desenvolvimento, isso tudo para garantir que um novo build do aplicativo web não acabaou consertando algumas coisas e fazendo com que funcionalidades já existentes deixassem de funcionar.

Abraços e assim que eu tiver com esse teste pronto explico um pouco mais para vocês.

Chilá!@!

Quarta-feira, 15 de Agosto de 2007

Artigos interessantes sobre ASP.NET (1.1 e 2.0)

Encontrei diversos artigos interessantes sobre ASP.NET no site da Microsoft e dentre todos que eu ví lá, alguns me chamaram a atenção, são eles:

A lista completa dos artigos você encontra aqui.

Abraços...

Chilá!@!

Segunda-feira, 13 de Agosto de 2007

Free e-learnings

Vocês podem acessar o site: https://www.microsoftelearning.com/catalog/developer.aspx e acessar diversos cursos online, dentre eles, muitos free.

Essa é uma valiosa fonte de informação já que esses cursos (muitos dos cursos free são apenas clínicas) geralmente costumam ser pagos.

Então aproveitem, consultem regularmente o site e façam os cursos.

Abraços...

Chilá!@!

Domingo, 12 de Agosto de 2007

Option Infer On

Novidade no VB 9.0 (Integrante do Visual Studio 2008), o comando acima, permite (on) ou não (off) que o compilador detecte o seu tipo. Por exemplo:

Dim Contador = 9

é igual a:

Dim Contador as Integer = 9

Os dois blocos de código acima serão interpretados da mesma maneira para o compilador. O que irá dizer ao compilador para aceitar esse tipo de definição é a opção ajustada apra On ou Off.

Na documentação sobre a visão geral do VB9 você pode obter maiores informações sobre as novidades da linguagem.

Abraços...

Chilá!@!

Sábado, 11 de Agosto de 2007

Off.. Visitas

Como vocês devem perceber pelo pequeno mapa ao lado direito do blog, estamos recebendo visitas de muitas partes do mundo. Não vou dizer que fiquei surpreso, mas eu não esperava por isso.

Fiquei extremamente surpreso mesmo foi com o meu controle, SuperGRID, que no codeplex recebeu vários comentários de fora do Brasil e várias pessoas me adicionaram no msn delas.

Pensando nessas pessoas, estou estudando mover esse blog para um servidor pago, mas, como disse, ainda estou estudando isso, essa mudança seria muito boa pois eu poderia armazenar mais arquivos referentes ao .NET e não ficar dependendo de arquivos hospedados por aí a fora.

Se alguém tiver alguma dica, estou interessado em dicas.

Abraços..

Chilá!@!

Sexta-feira, 10 de Agosto de 2007

Inserir registro no rodapé do GridView...

Esse post teve a colaboração de Rogério Bragil.

Isso funcionava muito bem no nosso datagrid, porém, no GridView como o próprio nome diz, é uma visualização de dados em uma grade e essa funcionalidade fica comprometida.

No GridView, isso até funciona, porém, temos um problema que nos deixa maluco. Quando não é encontrado nenhum registro para ser exibido pelo GridView, o GridView não aparece, não é renderizado, sendo assim, como o usuário vai inserir o primeiro registro na tabela?

As saídas que eu recentemente encontrei foram:

  1. Inicializar as tabelas sempre com um registro - Não Não Não... não vamos fazer isso....
  2. Alterar o nosso comando no banco de dados para sempre juntar uma linha em branco ao nosso conjunto de resultados, isso pode ser feito através da cláusula UNION ALL no SQL Server - Dessa solução já comecei a gostar.... melhor que a primeira com certeza....
  3. Criar um controle que as mesmas características do DataGrid e prever essa situação... - Opa, gostei mais dessa, mas convencer a galera a fazer isso vai ser loucura, teríamos muita reescrita de código...
  4. Criar um controle Table na página com a mesma aparência do DataGrid e realizar a inserção a partir dele... - Olha, gostei dessa também, mas ainda prefiro a opção 2 e 3.
  5. Usar um outro formulário web ou um detail view para manipular a inserção de registro - Dessa não gostei, se é para ter outra coisa que seja uma table parecida com o grid.

Bem, analisando isso tudo, cada um vai chegar a um veredito, que será muito pessoal e variável de acordo com o tempo disponível e tamanho da equipe...

Espero ter ajudado vocês com esse meu post....

Abraços...

Chilá!@

75 Dicas de acesso a dados com .NET 2.0 e Visual Studio 2005

Scott Mitchell nos dá uma aula, ou melhor, várias aulas (75 para ser exato) de como fazer e como resolver alguns problemas relacionados com acesso a dados.

Eu já ví e as dicas e exemplos são muito bons com a sua maioria tendo várias páginas e de fácil aprendizado.

O código fonte pode ser baixado, assim como o artigo também pode ser baixado em PDF. Para acessar as 75 aulas de acesso a dados, clique aqui.

Abraços...

Chilá!@!

Quarta-feira, 1 de Agosto de 2007

Integração VB 2008 e XML.

    Todo desenvolvedor Visual Basic sabe o parto que era na hora de gerar qualquer coisa em XML. Sequência de comandos contruídas de um jeito que deixava quase impossível a leitura. Pois olhem o código abaixo, é um exemplo de método que cria um XML e vejam a facilidade:
 

Function CriarDocumento() As XDocument

   Return <?xml version="1.0" encoding="UTF-16" standalone="yes"?>

  <agenda>

     <contatos>

        <contato category="casa">

           <nome>José da Silva</nome>

        </contato>

        <contato category="casa">

           <nome>Maria José</nome>

        </contato>

        <contato category="trabalho">

           <nome>José Mané</nome>

        </contato>

     </contatos>

  </agenda>

End Function

 
  
    É inegável que tudo ficou mais fácil, escrever, ler, entender... e o melhor...se você esquecer de fechar alguma TAG, em tempo de design é gerado um erro. Fantástico não?
 
    Bem por enquanto é só...
 
    Abraços...
 
    Chilá!@!

 

 

Terça-feira, 31 de Julho de 2007

Ajude o time do VB a melhorar a linguagem...

    Pois é, agora estou assíduo leitor do blog do time de desenvolvimento do Visual Basic. E o que eles querem saber agora é, quais são as características da linguagem que você gosta e quais você gostaria de ver introduzidas na linguagem ou melhoradas.
 
    Para isso eles estão com uma brincadeira na qual você tem US$100,00 para escolher quais características você gosta e considera fundamentais e mais US$100,00 para você escolher entre algumas características novas ou que devem melhoradas. Você pode desmembrar esse valor, por exemplo, na categoria de características a serem mantidas, você 'dá' US$50,00 ao Intellisense e US$50,00 à facilidade da linguagem, entenderam? Legal né, eles querem saber, através de um 'joguinho' de posts qual é a direção a ser tomada na linguagem.
 
    Para os interessados o post é esse aqui. Eu não sei a opinião de vocês, mas, eu considero que desde o início do desenvolvimento do Visual Studio .NET a Microsoft se aproximou mais da comunidade de desenvolvedores e tem 'escutado' melhor as nossas opiniões e queixas.
 
    Abraços e vamos participar, só assim podemos fazer uma linguagem melhor e atual.
 
    Chilá!@!

Segunda-feira, 30 de Julho de 2007

Visual Studio no Second Life.

    É isso mesmo pessoal, o time do Visual Studio/Microsoft criaram o Visual Studio Island. O ponto de encontro para desenvolvedores no mundo virtual. E o mais interessante, teremos dia 31 de julho, Amanda Silver, Gerente sênior do Visual Basic, falando no Visual Studio Theater.
 
    É o começo de uma nova era para nós, desenvolvedores, que em breve teremos webcasts e hands-on-labs no Second Life.
 
Abraços.
 
Chilá!@!

Domingo, 29 de Julho de 2007

LINQ - Mais exemplos...

    Percebí que a LINQ é uma das grandes dúvidas que a maioria tem na nova versão, seguem aqui alguns exemplos que comentam sobre a LINQ e também sobre algumas novas funcionalidades do Visual Studio 2008 (mais especificamente do Visual Basic, utilizado nos exemplos abaixo).
 
    Como faríamos para hoje, até a versão 2005 do Visual Studio, selecionar somente os números pares de uma coleção? Bm hoje teríamos que fazer um looping entre todos os itens dessa coleção e verificar individualmente se satisfazem a condição desejada. Vejamos abaixo como isso ficaria com o uso do Visual Studio 2008 e da LINQ:

   

        Dim numeros() As Integer = {1, 4, 2, 7, 8, 9}

        Dim numPares = From num In numeros _

                              Where num Mod 2 = 0 _

                                 Select num

 

    Vamos explicar, primeiro declaramos a coleção/array. Depois dessa lista aplicamos o filtro, pegando somente os números que tenha resto 0 na divisão por 2, ou seja, os números pares e retornamos esses numeros para a variável numPares. Falem a verdade, fácil isso não? Vamos ver mais um exemplo? Que tal:

 

Class Pessoa

    Public Idade As Integer

    Public Nome As String

End Class

 

Dim pessoal As New List(Of Pessoa)

   pessoal.Add(New Pessoa With {.Idade= 12, .Nome = "Enzo"})

   pessoal.Add(New Pessoa With {.Idade = 18, .Nome = "Philipe"})

   pessoal.Add(New Pessoa With {.Idade = 18, .Nome = "Gustavo"})

   pessoal.Add(New Pessoa With {.Idade = 13})

 

   Dim aborrecentes = From pessoa In pessoal _

                   Where pessoa.Idade> 12 And pessoa.Idade< 20 _

                   Select pessoa

 

    Esse último bloco de código é muito simples e agora imagino que você já sabe o que ele faz, certo? Bem, vou explicar caso você esteja com preguiça. Aqui estamos criando uma classe com duas propriedades, nome e idade, depois criamos uma varíavel do tipo dessa classe, preenchemos com 3 registros e na parte final, usamos a LINQ para retornar uma lista dos adolescentes (com idade entre 12 e 20 anos). Fácil não?

 

    Os exemplos acima foram retirados do hands-on-lab de LINQ com Visual Basic. Para conhecer melhor esse laboratório acesse:Visual Basic LINQ Hands On Labs for Visual Studio 2008 Beta 2

 

    Abraços.

 

    Chilá!@!

 

 

Novidades do Visual Studio 2008...

Além de tudo que eu já postei aqui, temos uma grande novidade que vai fazer com que a plataforma ganhe muito em produtividade. Estou falando da LINQ, Language Integrated Query. A LINQ a grosso modo é como se fosse uma Transact-SQL dentro do ambiente de desenvolvimento do Framework.
 
Reparem no código abaixo:
 
Dim labels = From cont As Control In Me.Controls _

                         Where TypeOf cont Is Label _

                         Select cont

 

Ei, isso não é Visual Basic, CSharp vocês devem estar se perguntando... Eis que eu lhe digo que isso é a implementação da LINQ em um trecho de código Visual Basic. Para vocês terem idéia do que faz o código acima, vou explicar, é muito difícil hein, estamos selecionando todos os controles que são do tipo label. Fácil não? Não? Deixa então eu explicar linha a linha:
  • From cont As Control In Me.Controls - Aqui estamos declarando uma variável do tipo control para fazer um looping em todos os controles do nosso formulário/controle/página
  • Where TypeOf cont Is Label - E somente queremos os controles que sejam do tipo Label
  • Select cont - Esse deve ser o comando mais confuso que vamos encontrar, já que para nós, não faz nenhum sentido, mas o seu uso é essencial, porquê nesse caso queremos criar uma coleção (variável labels) dos controles do tipo label que temos, logo depois que selecionamos os controles, devemos 'colocar' esse controle na coleção, é isso que esse bloco faz
Bem, vou colocar aqui alguns links para vocês aprenderem mais sobre o assunto.
 
 
 
Por enquanto é só. Esperem por mais exemplos e explicações detalhadas sobre a LINQ, mas paciência, afinal, eu também tenho que aprender mais sobre o assunto.
 
Abraços.
 
Chilá!@!
 
 

Sábado, 28 de Julho de 2007

Versões Express 2008 Beta 2 disponíveis...

Além do lançamento da versão beta 2 do Visual Studio, temos também o lançamento da versão beta 2 das feramentas express.Todas as ferramentas express já estão disponíveis para download e para quem não conhece, as versões express das ferramentas de desenvolvimento da Microsoft são gratís, tem praticamente todo o poder do produto final que é o Visual Studio, mas são versões mais leves de serem executadas, com tamanho menor para facilitar o download e que não precisam de todo o poder de processamento de uma máquina que rodaria o Visual Studio.

Para fazer o download clique aqui.

Além disso essa versão é destinada para estudantes, entusiastas de tecnologia e pessoas que queiram aprender mais sobre o desenvolvimento.

Abraços...

Chilá!@!

Sexta-feira, 27 de Julho de 2007

Contagem regressiva...

Pois é, estamos em contagem regressiva para a onda de lançamentos mundial que será dia 27/02/2008 em Los Angeles...

Se gostaram do contador adicionado ao lado direito aqui da página, acessem: http://www.wedsg.com/winclient/ e sigam as instruções para colocar em seu site/blog também.

Abraços.

Chilá!@!

Visual Studio 2008 Beta 2 disponível para download.

Hoje, depois de um bom tempo na beta 1, foi lançada a versão beta 2 do Visual Studio 2008.
Cliquem aqui para ler o post do Somasegar e entender mais sobre a versão.
Tenho falado bastante sobre o VS2008 mas, acredito que todos deveriam baixar essa versão e utilizá-la.

Conforme informações do gerente geral da divisão de desenvolvimento da Microsoft, essa versão já pode gerar aplicativos para entrar em produção, uma vez que se existir mais alguma versão beta ou alguma correção essas serão mínimas, resumindo, a versão está pronta para o mercado, ou seja a versão RTM (Ready To Market).

O gerente geral (Scott Guthrie) diz que a versão está há um mes em produção na Microsoft e portanto podemos utilizá-la para desenvolver aplicativos de produção.

Logo vamos usar essa versão pessoal, principalmente se você já utiliza a versão 2005, temos a opção de gerar aplicativos para o framework 2.0, 3.0 e 3.5 (leia o post sobre multi-target aqui).

Visual Studio 2008 - Um passo a frente

Abraços...

Chilá!@!

Quarta-feira, 25 de Julho de 2007

Teclas de atalho para o Windows XP.

Esse post aparentemente não tem nada a ver com desenvolvimento e muito menos .NET, mas, ao contrário do que muitos pensam, dominar os atalhos de um sistema operacional como o Windows XP ajuda a garantir preciosos segundos no nosso dia a dia.

A lista a seguir foi retirada de http://www.microsoft.com/enable/products/KeyboardSearch_XP.aspx.


Abraços...


Chilá!@!

Terça-feira, 24 de Julho de 2007

O Visual Studio 2008 é Multi-Target!

Pessoal, essa notícia é simplesmente espetacular. O ambiente do Visual Studio 2008 suportará o desenvolvimento de aplicativos para o framework 2.0/3.0 além do suporte à nova versão do framework 3.5.

Quando escolhemos criar um novo projeto esolhemos qual a versão alvo desejada, vejam a imagem:


Para maiores informações, acessem o post do Scott Guthrie.
Abraços...

Chilá!@!

Dicas, truques e macetes para o ASP.NET 2.0

No post de Scott Guthrie, gerente geral de desenvolvimento dos produtos ASP.NET, IIS7 e CLR (isso só para citar alguns), temos vários links para posts dele mesmo sobre algumas dicas, truques e macetes para o ASP.NET 2.0.

É de grande ajuda e vindo de quem veio, devemos dar uma olhada...

Abraços...

Chilá!@!

Domingo, 22 de Julho de 2007

Scripts usados pelo Brian Harry...

No post sobre Team Foundation Server mostramos alguns números, segue o link para o post com os comandos SQL usados para extrair as informações da base de dados.

Notem o uso do with(nolock) e da stored procedurde de sistema sp_spaceused.

Abraços.

Chilá!@!

Hands-on-Labs...

Mais uma dica para aqueles que querem aprender mas sem ter que ficar instalando dezenas de softwares do micro. Aqui vocês podem encontrar diversos links para laboratórios online da MS que somente necessitam que você tenha uma boa conexão com a Internet e aí você pode testar praticamente qualquer ferramenta da Microsoft.

É de grande valia para quem quer ter um primeiro contato sem perder muito tempo com instalação.

Abraços.

Chilá!@!

Team Foundation Server - Desenvolvendo em times.

Pessoal, acessando o blog de duas importantes figuras da MS, podemos ver que o Team Foundation Server é muito mais poderoso do que imaginamos e podemos ter também a visão de que a Microsoft usa a mesma ferramenta que ela vende para nós.

De acordo com o blog do Somasegar, hoje a Microsoft tem mais de 100 Milhões de arquivos sendo controlados pelos controle de versão do TFS e mais de 2 milhões de work items cadastrados. Isso sem contar que são mais de 21 servidores para suportar 2.500 usuários somente na divisão de desenvolvimento da Microsoft e na empresa como um todo são 5.000 usuários.

Acessando o blog do Brian Harry, no post sobre a divisão de desenvolvimento, podemos ter uma outra grande noção de como a Microsoft consegue trabalhar e com qual volume eles trabalham.

É muita informação mas irei dar uma resumida aqui, se ficaram curiosos, então acessem o post acima sobre a divisão de desenvolvimento da Microsoft e consultem os gráficos.

Vamos lá:

  1. Estão rodando o beta 2 do Visual Studio 2008 no servidor, necessitando de pequenas correções.
  2. Todas as outras ferramentas utilizadas anteriormente para desenvolvimento em time serão desativadas em até 9 meses, fazendo o uso somente do TFS.
  3. O time de desenvolvimento do windows adotou o TFS a poucas semanas.
  4. O time do Codeplex também irá migrar para a nova versão devido a melhorias de performances, já que o número de projetos no site cresce de forma absurda.
  5. Estão na fase final do Orcas (VS2008) e devido a isso, toda e qualquer correção é verificada mais de duas de vezes e analisada calmamente para que uma correção mal-feita não resulte em caminhar para trás no desenvolvimento da versão final.

E aqui segue uma cópia dos números que podemos verificar no site:

Users
Recent users: 1,030 (down 3)
Users with assigned work items: 2,916 (up 147)
Version control users: 2,418 (up 94)


Work Items
Work Items: 245,396 (up 19,046)
Areas & Iterations: 7,503 (up 109)
Work item versions: 2,044,668 (up 159,296)
Attached files: 87,738 (up 8,125)
Queries: 17,871 (up 709)


Version control
Files/Folders: 83,945,675/17,842,112 (up 2,700,770/up 606,822)
Total compressed file size: 989,643 MB (up 107,300 MB)
Checkins: 231,364 (up 12,847)
Shelvesets: 11,099 (up 904)
Merge history: 194,592,866 (up 7,183,846)
Pending changes: 2,400,727 (down 248,552)
Workspaces: 5,505 (up 327)
Local copies: 604,484,134 (up 38,314,931)


Commands (last 7 days)
Work Item queries: 336,836 (up 178,131)
Work Item updates: 28,156 (down 8,095)
Work Item opens: 340,360 (up 255,757)
Gets: 65,177 (down 4,694)
Downloads: 19,206,953 (down 4,818,821)
Checkins: 2,264 (down 1,093)
Uploads: 360,827 (up 193,973)
Shelves: 932 (down 212)

Como podem ver, a arquitetura é grandiosa, resta a nós aproveitarmos de toda sua capacidade para trabalharmos melhor e consequentement menos!!

Abraços...

Chilá!@!

SQL Server 2008, Visual Studio 2008 e Windows Server 2008 prontos para o lançamento apenas em 2008

Todos estão ficando prontos e conforme pude ler no blog do Somasegar (http://blogs.msdn.com/somasegar/archive/2007/07/13/it-all-begins-february-27th.aspx) em um blog do time de desenvolvimento do SQL, a data de lançamento (sujeita a alteração) é dia 27/02/2008. Sendo assim acredito que todos os softwares façam parte de uma 'FESTA' só.

No mesmo post pode ser lido que este será o primeiro evento que desencadeará uma série de eventos pelo mundo afora e esperamos que essa 'onda de eventos' chegue também ao Brasil.

Logo, para quem acompanha de perto, podemos não ter TechEd esse ano e somente em março de 2008. Uma pena, eu gostaria de ter o TechEd esse ano e em março de 2008 mais um mega-lançamento das novas ferramentas.

Fica aqui a dica, fiquem atentos no final de fevereiro para o lançamento oficial das ferramentas e para os assinantes MSDN uma boa notícia, esses softwares devem estar disponíveis para download no final de janeiro em sua versão final.

Abraços...

Chilá!@!

Authorization Manager - AzMan

Olha eu aqui de novo. Agora vou falar superficialmente já que o assunto sobre o AzMan é extenso.

O AzMan é uma extensão do Windows 2003 para gerenciar a autorização de usuários em uma aplicação. É um tanto flexível, porém, para certas tarefas vamos precisar de um complemento no nosso banco de dados.

Basicamente o que pode ser controlado pelo AzMan são: Operações, Tarefas e Papéis. Como você deve imaginar operação é uma única ação que o usuário pode executar, tarefas são várias operações e papéis várias tarefas.

Essa extensão é muito útil, pois nos possibilita ganhar tempo em desenvolvimento, deixando esse papo de autorização para o AzMan. Claro que ainda teremos que validar os acessos no nosso sistema, mas só de evitar a necessidade de se construir um controle de autorização personalizado já garante um bom tempo de sobra ao projeto.

Irei explicar melhor sobre o AzMan e postar alguns links nos próximos dias... Não percam...

Abraços...

Chilá!@!

CLT versus PJ!

    Uma matéria na Info desse mês (Julho/2007 - De volta à CLT), me deixou preocupado. Por ser uma revista conceituada, a mesma não deveria ter associado o termo instabilidade ao meio de contratação PJ. Para quem não conhece, PJ, é o profissional que tem uma empresa aberta e emite notas mensalmente para a empresa contratante.
 
    No meu ponto de vista, a contratação como PJ só é diferente da CLT pelo simples motivo de que, quem recolhe todos os impostos e faz o planejamento é você e não a empresa que te contratou. Vamos entender porquê um contratado como PJ ganha mais do que um CLT.
    1. Todos os impostos são por conta do contratado, logo o valor dessas obrigações é recebido pelo contratado.
    2. O valor mensal das férias que corresponde a 1/12 do seu salário, quem tem que guardar é o contratado.
    3. O valor para o INSS quem recolhe é o contratado.
    4. O valor para um 'FGTS' quem tem que guardar é o contratado.
    5. O valor mensal do 13º, quem tem que guardar é o contratado.
    Portanto, como vocês devem estar deduzindo, o valor mensal recebido por um PJ, via de regra, é maior do que um CLT e isso acontece nas maiorias dos casos, exceto quando a empresa contratante faz distribuição de lucros e resultados, caso que o PJ não tem direito a nada e que costuma dar ao CLT alguns salários como bônus.
 
    Outro ponto que geralmente pesa contra a forma de contratação PJ é a tão sonhada estabilidade. Estabilidade? Oras até os funionários públicos estão perdendo essa galinha dos ovos de ouro e você quer estabilidade? Na prática o que acontece é que as empresas pequenas, geralmente não tem dinheiro para pagar rescisões contratuais altas (Aviso prévio, 40% do FGTS etc etc) e por isso acabam criando a falsa sensação de estabilidade, mas para as empresas multinacionais ou realmente grandes, esse papo não existe, são demitidos ou melho, dispensados, pessoas que ganham muito bem sim, logo, estabilidade só existe nas empresas pequenas e na cabeça dos acomodados.
 
    O ponto final disso tudo é o plano de carreira. Realmente como PJ o plano de carreira é zero, mas, em contrapartida, geralmente recebem mais do que gerentes de outras áreas. Isso sem falar em empresas que contratam um profissional recém formado e que ganha o 'status' de gerente de alguma coisa ganhando R$1.500,00.
 
    Uma outra forma de contratação que vem crescendo é a CLT Flex. CLT Flex?? O que é isso? Simplesmente é uma combinação da CLT e da PJ, em que o profissional é contratado por um valor baixo na CLT e recebe o restante como PJ, apresentando recibos de despesas pessoais ou até mesmo por fora.
 
    Como vocês podem ver, estar a favor ou contra esse ou aquele meio de contratação é pessoal e sua opinião vai depender do estágio em que você atravessa na sua vida. Penso que um recém formado, que quer construir um patrimônio e que geralmente ainda mora com os pais, deveria apostar como PJ, já pessoas casadas ou com filhos ou com mais de 35 anos, devem escolher a CLT.
 
    Uma última consideração. O meio de contratação PJ surgiu de:
    1. Da necessidade das empresas pagarem melhor aos profissionais altamente especializados de informática; e
    2. Da necessidade de profissionais por períodos pequenos e pontuais (projetos pequenos com duração de até 6 meses.
    Abraços e esse é meu ponto de vista e o seu? Comente aqui no blog!!
 
    Chilá!@!

Segunda-feira, 16 de Julho de 2007

Dataset ou Datareader?


Hoje iremos dar uma olhada nas diferenças entre esses dois objetos de acesso a dados que são amplamente utilizados. Infelizmente, na maioria das aplicação os dois são utilizados, porém, sem critério para estabelecer qual é o melhor para determinada situação. Na prática o que vemos muito, é, um aplicativo que somente usa Datareader e um outro aplicativo que somente usa Dataset. Radicalismo nunca é bom e conosco não poderia ser diferente. Existem casos em que um Datareader é mais apropriado e casos em que um Dataset é mais eficiente, mas como escolher?

Vamos usar uma lista para determinar qual é o melhor em determinadas situações e que o ajudará a escolher o método mais eficiente.


Para maiores informações, acessem: http://msdn.microsoft.com/msdnmag/issues/04/06/DataPoints/

Abraços...

Chilá!@!

Sábado, 14 de Julho de 2007

Migração de ASP.NET 1.1 para 2.0

Como não pode deixar de ser, a migração de versão é algo que deve ser muito bem estudado e testado. Estudado para que não ocorra perda de tempo e testado para garantir que o que funcionava na versão anterior vai funcionar conforme o esperado na nova versão.

Para isso tenho alguns passos que eu mesmo utilizo e que considero úteis, são eles:

  • Realize a conversão com alguma antecedência e verifique os blocos de código que vão gerar erros ou avisos. Na maioria dos casos, você consegue aplicar a mesma solução na versão 1.1 e que quando migrada não dará dor de cabeça, exemplo disso são a incialização de variáveis que no VS2005 gera um warning, obrigatoriedade do case else no bloco select case e no caso de funções, todos os caminhos devem ter algum retorno para evitar propagação de nulos/nothing.
  • Geralmente, componentes de negócio são migrados sem nenhum tipo de problema, porém, fique atento para os testes e certifique-se de que tudo corra sem problemas.
  • Os métodos de registro de scripts na página RegisterStartupScript e/ou RegisterClientBlockScript agora são métodos da classe ClientScript e não mais da page e recebem um primeiro parâmetro adicional, que via de regra é me.gettype()
  • O método appSettings agora também pertence a outra classe, ConfigurationManager, mas preste atenção, adiciona uma referência ao system.configuration para o método funcione corretamente.
  • Preste atenção nas mensagens de erro/aviso geradas na janelas de Errors List, a maioria dos itens já dá uma dica de como resolver o problema.
  • São gerados muitos warnings, mas não se assuste é que agora temos novos avisos para variáveis que não estão sendo utilizadas, funções que não retornam nada, IFs aninhados que em algum caminho não retornam nada e muitos outros.
  • Classes sem métodos, somente criadas através de construtores irão gerar um aviso também, dizendo que a variável está sendo declarada mas que não está sendo usada. A solução é ignorar esse problema ou alterar a classe, o que nem sempre pode ser feito.
  • Rode o Conversion Wizard várias vezes e identifique os blocos de código que já podem ser alterados na versão 1.1, ganhando tempo para que na conversão você se foque nos problemas de verdade.

Bem, pessoal, é isso. Em breve vou colocar alguns exemplos aqui de conversão e de como era um código em 1.1 e como fica no 2.0

Abraços...

Chilá!@!

Domingo, 8 de Julho de 2007

Enterprise Library - Acesso a dados...

ATENÇÃO: O CÓDIGO FONTE DESSE ARTIGO ESTÁ DISPONÍVEL AQUI

Vamos começar esse nosso guia de como utilizar os blocos da Enterprise Library com o básico, porém necessário acesso a dados. Iniciando por baixar e instalar o pacote mais recente da enterprise library, que pode ser encontrado aqui.

Após ser instalado foi criado um atalho dentro do meuni IniciarProgramasMicrosoft patterns & practicesEnterprise Library 3.1 - May 2007 chamado de: Enterprise Library Configuration. Um clique nesse atalho e será apresentada a tela principal do console de configuração do Enterprise Library.



Vamos começar nosso exemplo criando uma nova aplicação. Para facilitar as coisas iremos chamar essa nova aplicação dentro do Enterprise Library de AppTeste. Para criar uma nova aplicação, basta seguir um dos passos abaixo:

  1. Clicar em new application dentro do menu File; ou
  2. Clicar com o botão direito no item Enterprise Library Configuration no painel a esquerda;

Após ter feito isso sua tela deve estar parecida com a imagem abaixo:


Vamos salvar nossa aplicação agora, clicando no menu FileSave Application. Irei salvar o nosso arquivo como C:\appTeste.config.

Após salvar a nossa aplicação, vamos agora adicionar o bloco de acesso a dados à nossa aplicação, para isso vamos clicar com o botão direito na nossa aplicação que aparece no painel esquerdo e escolher New Data Access Application Block, conforme imagem abaixo:


Se tudo correu bem, vocês agora estarão com as informações sobre as strings de conexão que sua aplicação irá utilizar. Iremos configurar a conexão para o Banco de Dados SQL Server local e acessar a base de dados Northwind, conforme imagem abaixo:





Vocês podem configurar quantas conexões forem necessárias à sua aplicação, reparem que o nome dessa conexão de exemplo foi: minhaConexao. Na nossa aplicação iremos nos referenciar a essa conexão através desse nome.

Vamos explicar agora, como nossa aplicação conseguirá acessar isso, é muito simples, sigam os passos a seguir:
  1. Crie a sua aplicação de teste, pode ser uma aplicação windows, web, um web service, um serviço qualquer uma delas;

  2. No arquivo de configuração da aplicação (web.config ou app.config), vamos agora amarrar a configuração que fizemos no console da enterprise library com a nossa aplicação, para isso teríamos que digitar um bloco considerável de código, ao invés disso, vamos fazer o seguinte: vamos voltar ao console do Enterprise Library e clicar com o botão direito na nossa aplicação, vamos escolher NewConfiguration Sources. Uma tela parecida com a imagem abaixo deve aparecer para vocês:


No painel da esquerda, vamos selecionar o item System Configuration Source e com um clique com o botão direito sobre esse item vamos escolher Remove. Depois ainda no painel esquerdo, vamos clicar com o botão direito sobre Configuration Source e escolher NewFile configuration Source, vamos definir um nome e um caminho para esse arquivo. Eu utilizei como nome ArquivoConfiguracaoExterno e como nome de arquivo appTesteExterno.config. Após feito isso, sua tela deve se parecer com a nossa tela abaixo:





Feito isso, podemos salvar e fechar o nosso console do Enterprise Library, estamos a apenas dois passos de realizar uma consulta ao nosso banco de dados utilizando a enterprise library.

O nosso primeiro passo agora é abrir o arquivo appTeste.config e copiar as tags xml e inteiras. Aí vamos na nossa solução lá no Visual Studio e vamos colcar essas linhas dentro do nosso arquivo de configuração. Vamos apagar uma linha dentro de que diz respeito a Dataconfiguration, essa linha não é importante para a gente.

O bloco de configuração no seu web.config deve ter ficado mais ou menos assim:



Agora, basta adicionarmos uma referência para a biblioteca de acesso a dados da enteprise library na nossa aplicação. Para isso, vamos clicar com o botão direito na nossa aplicação, properties, References Add References e vamos escolher: Microsoft.Practices.EnterpriseLibrary.Data.dll.


O passo final agora é adicionar um imports para o mesmo namespace na nossa classe:


Imports Microsoft.Practices.EnterpriseLibrary.Data


E para abrir uma conexão com a nossa base de dados, vamos digitar em algum de nossos métodos, o código abaixo:


Agora, quando abrirmos o nosso console do Enterprise Library podemos abrir qualquer um dos dois arquivos citados aqui o appTeste.config e o appTesteExterno.config. Eu sugiro que o appTeste.config seja apagado, o appTesteExterno.config seja renomeado para appTeste.config e que vocês não se esquecam de renomear o web.config para utilizar o mesmo nome de arquivo, tudo isso para evitar a confusão de ter dois arquivos ok? Lembrem-se, essa duplicidade somente foi feita para que o bloco que você visualiza no web.config não fosse digitado.

Esse é o início do que irei mostrar sobre essa maravilhosa ferramenta chamada Enterprise Library. Como a mesma é distribuída com o código fonte, você pode realizar qualquer alteração que julgar necessária e tenho certeza de que depois de algum tempo irá se perguntar porquê nunca havia utilizado ela antes e como conseguiria viver sem ela a partir de agora.

Um grande abraço e até a próxima.

Chilá!@!

SQL Server 2005...

Pessoal, essas duas dicas são básicas, porém importante para todos que um dia vão utilizar o SQL Server 2005 ou que já o utilizam.

Primeiro que o banco de dados Northwind não acompanha mais a instalação padrão, o pacote para download pode ser encontrado aqui.

Segunda e muito importante é que agora o SQL Server 2005 Standard e Developer vem com a opção para permitir conexões remotas desabilitadas. Para habilitadas basta executar o SQL Server Surface Area Configuration, que fica dentro da pasta de atalhos do SQL Server 2005\Configuration.

Sem essa opção de permitir conexões remotas, nenhum outro usuário conseguirá se conectar ao seu banco de dados e seus testes e/ou demonstrações irão por água abaixo.

Abraços...

Chilá!@!

Links para algumas apresentações .NET realizadas por mim.

Pessoal, seguem aqui alguns links para apresentações realizadas por mim ok?

O link para a pasta aonde vocês terão todos os arquivos é: http://chila.4shared.com/ e hoje os arquivos que estão lá são os seguintes:

Assim que aparecer mais algum aviso vocês...

O que é Enterprise Library??

    Bem, após um ou dois dias desenvolvendo no .NET, seja ele 2001, 2003, 2005 ou até o 2008 beta, você já deve ter se perguntado: "Porquê algumas tarefas, são sempre repetidas e eu tenho sempre que escreve-las?". Bem isso acontece porquê provavelmente Você não desenvolveu o SEU PRÓPRIO framework, simples não...
 
    Para aqueles que nunca desenvolveram nada, vou dar um exemplo citando a execução de um comando a uma base de dados SQL Server. O acesso deveria ser algo assim:
    1. Declaramos a nossa variável de conexão com o banco de dados;
    2. Associamos uma string de conexão a nossa variável de conexão (criada no item 1);
    3. Abrimos a conexão com o banco de dados;
    4. Declaramos uma variável de comando para o nosso banco de dados;
    5. Associamos a conexão da variável de comando com a conexão criada;
    6. Informamos os dados do comando que queremos executar;
    7. Executamos o nosso comando; e
    8. Descarregamos da memória tudo e todos as variáveis envolvidas nesse processo.
    Preocupante certo? OK, mas o que nós podemos fazer então para deixar de nos preocuparmos com essas tarefas repetitivas e focarmos naquilo que realmente interessa que é a lógica e a inteligência de um sistema?
 
    Simples, ou nós criamos a nossa própria biblioteca que irá trabalhar de um jeito mais próximo do que estamos acostumados nos poupando disso ou utilizamos uma biblioteca que alguém tenha desenvolvido para nos poupar dessas tarefas. Qualquer que seja a sua resposta, você vai utilizar o Enterprise Library, criado e mantido pela Microsoft.
 
    Mas o que é que esse tal de Enterprise Library tem de tão bom? Bem, para começar, ele simplifica bastante o desenvolvimento, já que essas "ações rotineiras, repetitivas" são encapsuladas em métodos de sua biblioteca. Por exemplo para executar o comando mencionado acima, bastaria chamar UM método passando como parâmetros a string de conexão, o banco de dados, o comando e seus parâmetros, isso tudo em uma linha e sem ter que ficar se preocupando com o resto. Interessante não? E se eu disser que além de acesso à base de dados temos várias outras bibliotecas? Dêem uma olhada:
 
    • Caching Application Block
    • Cryptography Application Block
    • Data Access Application Block
    • Exception Handling Application Block
    • Logging Application Block
    • Policy Injection Application Block
    • Security Application Block
    • Validation Application Block
    Nas primeiras versões, tudo era feito de forma isolada mas a partir da versão de Junho de 2005, ganhamos uma interface gráfica aonde configuramos o Enterprise Library e todos os seus blocos. Por exemplo, todas as strings de conexão são gerenciadas por aqui.
 
    A partir de hoje, toda semana postarei um artigo sobre como utilizar cada um desses blocos e como de costume colocarei para download o código fonte.
 
    Para maiores informações, download e webcasts sobre a Enterprise Library basta acessar: http://msdn2.microsoft.com/en-us/library/aa480453.aspx.
 
    Um grande abraço,
 
    Chilá!@!
 
 

Terça-feira, 3 de Julho de 2007

Prototype.js

Pessoal, há algum tempo que escrevo muito, mas muito código em javascript (esse foi um dos motivos que me fizeram criar o SuperGRID), sei que devo estar atrasado, mas só hoje tomei conhecimento do prototype.js .

Prototype para quem não conhece javascript é o comando com o qual podemos extender as funcionalidades de qualquer objeto no javascript, melhorando suas funções, sobreescrevendo aquelas que não funcionam ao nosso agrado e até criando comandos e objetos.

Pois bem, acessem o site do prototype.js e tenham acesso a uma das mais completas bibliotecas (framework) de javascript disponíveis. O uso é free e tem um PDF para download que ajuda a compreender melhor o uso e comandos.

Um exemplo disso é o comando document.getElementById("NomeDoControle") que com o uso dessa biblioteca é simplesmente $("NomeDoControle"). Só aqui vocês podem ver como escrevemos menos código e com isso nossa produtividade aumenta. Isso sem falar em várias outras funções para string, data etc etc.

Acessem, baixem e deixem suas opiniões, afinal, desenvolver melhor e mais rápido é um belo diferencial para qualquer profissional.

Abraços...

Chilá!@!

Template desaparecido no Visual Studio 2005!

Pois é, depois de instalar o Team Explorer para utilizar o codeplex.com, atualizar com último Service Pack para o 2005, o Web Applicaton Project, não estava disponível. Fiz de tudo, desde o comando: devenv /installvstemplates no prompt de comando do Visual Studio 2005 até reinstalar o VS2005, SP1 e Team Explorer novamente. Tomara que seja um problema parecido com o problema que enfrentei com o Office, quando só a criação de uma nova conta de usuário resolveu.

Estou atualizando agora minha máquina e assim que finalizar tudo aviso vocês se deu certo.

Abraços...

Chilá!@!

Office finalmente reparado.

Já postei aqui um problema que eu tive com o Office e acreditem, o mesmo voltou, eu achando que tinha resolvido essa 'nhaca' e ela me volta.

Fiz o que muitos me sugeriram, criei um outro perfil em minha máquina e pronto. Por incrível que pareça, alguma coisa para aquele meu outro usuário não estava legal. Aí esse processo todo acabou resolvendo o problema.

Abraços...

Chilá!@!

Domingo, 1 de Julho de 2007

Vídeos sobre ASP.NET Ajax.

Como já havia noticiado antes aqui no blog, temos vários vídeos da série: Como eu faço... agora irei postar alguns links para vídeos de ASP.NET Ajax que eu acho interessantes...

#1 How Do I: Get Started with ASP.NET AJAX? (7 minutes, 51 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=75

#2 How Do I: Get Started with the ASP.NET AJAX Control Toolkit? (11 minutes, 15 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=76

#3 How Do I: Use the ASP.NET AJAX CascadingDropDown Control Extender? (27 minutes, 56
seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=77

#4 How Do I: Implement Dynamic Partial-Page Updates with ASP.NET AJAX? (12 minutes, 7 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=78

#5 How Do I: Make Client-Side Network Callbacks with ASP.NET AJAX? (15 minutes, 26 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=79

#6 How Do I: Add ASP.NET AJAX Features to an Existing Web Application? (7 minutes, 20 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=81

#7 How Do I: ASP.NET AJAX Enable an Existing Web Service? (23 minutes, 31 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=82

#8 How Do I: Use the ASP.NET AJAX TextBoxWatermark Control Extender? (6 minutes, 5 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=83

#9 How Do I: Use the ASP.NET AJAX Popup Control Extender? (8 minutes, 51 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=84

#10 How Do I: Use the ASP.NET AJAX ModalPopup Extender Control? (10 minutes, 29 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=85

#11 How Do I: Use the ASP.NET AJAX AlwaysVisible Control Extender? (6 minutes, 17 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=86

#12 How Do I: Use the ASP.NET AJAX Accordion Control? (9 minutes, 31 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=87

#13 How Do I: Use the ASP.NET AJAX Client Library Controls? (10 minutes, 33 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=88

#14 How Do I: Use the ASP.NET AJAX Collapsable Panel Extender? (11 minutes, 53 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=89

#15 How Do I: Use the ASP.NET AJAX Draggable Panel Extender? (6 minutes, 16 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=90

#16 How Do I: Use the ASP.NET AJAX DynamicPopulate Extender? (11 minutes, 19 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=91

#17 How Do I: Use the ASP.NET AJAX FilteredTextbox Extender? (5 minutes, 30 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=92

#18 How Do I: Use the ASP.NET AJAX HoverMenu Extender? (7 minutes, 41 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=93

#19 How Do I: Use the ASP.NET AJAX ToggleButton Extender? (7 minutes, 57 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=94

#20 How Do I: Use an ASP.NET AJAX ScriptManagerProxy? (8 minutes, 51 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=95

#21 How Do I: Use the ASP.NET AJAX DropShadow Extender? (2 minutes, 53 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=96

#22 How Do I: Use the ASP.NET AJAX PasswordStrength Extender? (15 minutes, 11 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=97

#23 How Do I: Use the ASP.NET AJAX RoundedCorners Extender? (2 minutes, 9 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=98

#24 How Do I: Use the ASP.NET AJAX Timer Control? (6 minutes, 21 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=99

#25 How Do I: Implement the Predictive Fetch Pattern for AJAX? (24 minutes, 45 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=100

#26 How Do I: Implement the AJAX Paging Pattern? (27 minutes, 12 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=116

#27 How Do I: Get Started with the ASP.NET AJAX Animation Extender Control? (20 minutes, 45 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=117

#28 How Do I: Implement the AJAX Incremental Page Display Pattern? (11 minutes, 47 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=118

#29 How Do I: Use the ASP.NET AJAX ConfirmButton Extender? (3 minutes, 34 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=119

#30 How Do I: Implement the Incremental Page Display Pattern using HTTP GET and POST? (19 minutes, 31 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=120

#31 How Do I: Use the ASP.NET AJAX Slider Control? (10 minutes, 32 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=121

#32 How Do I: Use the ASP.NET AJAX AutoComplete Control (7 minutes, 7 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=122

#33 How Do I: Use the ASP.NET AJAX UpdateProgress Control? (6 minutes, 12 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=123

#34 How Do I: Configure the ASP.NET AJAX Calendar Control? (8 minutes, 56 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=124

#35 How Do I: Use the ASP.NET AJAX DropDown Control? (11 minutes, 51 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=125

#36 How Do I: Use the ASP.NET AJAX MaskedEdit Controls? (17 minutes, 33 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=131

#37 How Do I: Use the ASP.NET AJAX MutuallyExclusive Checkbox Extender? (10 minutes,
52 seconds) http://asp.net/learn/videos/view.aspx?tabid=63&id=132

Espero que vocês gostem e que seja de grande ajuda!!

Abraços...

Chilá!@!

Intellisense em javascript.

Desde que comecei o desenvolvimento de aplicativos web sempre me perguntei porquê o suporte para javascript era tão ignorado se o mesmo é muito importante senão essencial para os aplicativos? Nesse post de 09/junho/2006 eu perguntei aos membros da comunidade o porquê disso e se alguém tinha uma solução o mesmo.

A resposta no post, foi de que nas futuras versões (pós 2005) teríamos algo sobre isso e qual não foi minha surpresa ao ver no Visual Studio 2008 esse suporte. Pois bem desenvolvedores web seus 'pobremas se acabaram-se'. Bem acabaram não, mas com esse suporte com certeza iremos melhorar nossa produtividade e focar no que realmente importa ao invés de ficar memorizando comandos javascript.

Para ter uma idéia de como ficou acessem: http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx

Abraços,

Chilá!@!

Células acadêmicas...

Sempre que uma célula acadêmica organiza algum evento, surgem dúvidas a respeito do que é e como funciona. Irei agora repassar algumas informações para vocês, ok?

P: O que são as células acadêmicas?
R: As células, nada mais são do que um grupo de estudantes de diferentes ramos do conhecimento que se reunem para estudar determinada ou determinadas tecnologias microsoft.

P: O que pode ser estudado pelas células?
R: Desenvolvimento Web, Desenvolvimento em aplicações windows, Robótica, Mobilidade, Games e o que mais desejar a célula.

P: Onde cadastrar a sua célula para a Microsoft poder oferecer apoio?
R: No site www.seminargroup.com.br/celula.

P: Qual é o limite de membros em uma célula?
R: Minimo de 3 pessoas e máximo de 6 pessoas.

P: Qual o papel dos integrantes de uma célula?
R: Líder - responsável pela coordenação das atividades da célula, vice-líder - auxilia o líder na coordenação das tarefas, membros comprometidos - pessoas que sempre acompanham as atividades da célula, membros flutuantes - pessoas que não frequentam sempre as atividades da célula .

P: Quais pessoas ou grupos eu posso consultar para tirar dúvidas sobre o funcionamento da célula?
R: Com os Student Partners ( estudantes parceiros da microsoft da sua região). Em São Paulo entrar em contato com Marcelo Branco e Juliana Prado

P: Com a célula formada e cadastrada no site seminargroups quem devo procurar na insituição que estudo para solicitar laboratório para estudar e outros itens?
R: Coordenador do seu curso e também o Coordenador dos cursos de Tecnologia.

É claro que não é só isso que existe sobre células acadêmicas, mas já é um ponto de partida para o início das mesmas.

Gostaria de agradecer o apoio da Student Partnet Juliana Prado na elaboração deste pequeno guia de ajuda sobre células acadêmicas.

Abraços,

Chilá!@!

Vídeos sobre ASP.NET.

Para quem não conhece. dentro do site http://www.msdn.com/, temos vários developer's centers e um deles o ASP.NET Developer Center tem muita coisa boa, visitem o ASP.NET developer center em: http://msdn2.microsoft.com/pt-br/asp.net/default.aspx. Mas vou falar aqui hoje sobre os vídeos que temos disponíveis no ASP.NET developer center. São vídeos muito bons e que nos ajudam a tirar aquela dúvida básica e saber por onde começar.

Vocês vão encontrar desde vídeos básicos, passando pela utilização do AJAX e chegando até a formatação avançada do GridView. Para acessar o ASP.NET How Do I videos, acessem http://msdn2.microsoft.com/pt-br/asp.net/bb498194.aspx.

Um dos vídeos que eu gostei muito da série How Do I, é o de como adicionar funcionalidades AJAX em aplicações existentes, para acessá-lo acessem: http://msdn2.microsoft.com/pt-br/asp.net/bb608377.aspx.

Bem é isso, espero ter ajudado vocês e fiquem a vontade para comentar.

Abraços...

Chilá!@!