Arquivos de fevereiro, 2009

JQuery + LINQ = JLinq

Postado por: Tiago Lemos em 27th fev, 2009 | Categoria: ASP.NET, JQuery, Linq

Você já está realizando consultas em LINQ? Acredito que sim. Agora imagine você realizando consultas LINQ no JQuery?

Sim, essa é a proposta do JLinq, permitir que você execute os mesmos comandos do LINQ nas coleções (dados) que estão na memória do JQuery. O JLinq tem algumas das implementações existentes no LINQ que facilitam o trabalho na montagem de consultas no JQuery. Veja o código abaixo:


var results = $.from(data)
    .ignoreCase()
    .startsWith("firstName","m")
    .or("n")
    .isNot("administrator")
    .orderBy("lastName")
    .select();

Essa consulta é idêntica tanto para o LINQ quanto para o JQuery (JLinq). Está interessado? Veja mais exemplos aqui.

Achei muito legal esta iniciativa e espero que vocês tenham gostado desta dica.

Em breve tem mais.

Criando um COM+ integrado com SVN: Parte I

Postado por: Tiago Lemos em 24th fev, 2009 | Categoria: ASP.NET, C#, VB

Vou mostrar em uma série de 2 posts como criar um COM+ para realizar ações do SVN. Há um tempo atrás precisei criar um COM+ que realiza-se as principais ações do SVN, como por exemplo: Criar pastas, repositórios, “commitar” (se é assim que posso falar) e deletar ações, além de outras funções.
Mas antes de começarmos a mexer com o código, vamos entender o que é o SVN.

O que é SVN e pra que serve um SVN

O SVN é um sistema de controle de versão e com esse controle nós podemos gravar o histórico de todos os arquivos. A idéia é simples, manter um controle de backup do seus arquivos, não utilizando o “Ctrl+C” e “Ctrl+V”.
O SVN mantém um versionamento do projeto, podendo garantir a recuperação de versões antigas do mesmo.
Imagine que você criou um projeto e gravou no SVN. Passado um mês você realizou diversas alterações neste projeto, pois o escopo do mesmo foi alterado (o que é normal na nossa área rsrs).
Ok, você acabou o projeto e gravou tudo no SVN. Vamos imaginar agora que se passaram alguns meses e você precise criar agora um projeto idêntico à aquela primeira versão gravada no SVN.
Pronto, ai entra o controle de versão. Basta você recuperar aquela versão e seu projeto já estará pronto.

Criando o COM+

Chega de teoria chata (mas importante) e vamos ao código. A primeira coisa a ser feita é a criação de um projeto com uma classe que neste caso chama: SVN
Adicione a biblioteca System.EnterpriseServices e a linha [Transaction(TransactionOption.Required), JustInTimeActivation()].


using System;
using System.EnterpriseServices;
using System.Configuration;

namespace Integracao
{
    [Transaction(TransactionOption.Required), JustInTimeActivation()]
    public class SVN : ServicedComponent
    {
    }
}

Agora será necessário criar uma chave e registrar a DLL como Service Component. Para isto, execute as seguintes linhas de comando usando os arquivos sn.exe e regsvcs.exe. Você pode executar no prompt de comando.


//Linha de comando para criar uma Chave:
//Digite o caminho da raiz do projeto e o nome da chave a ser criado
//sn -k "C:/Arquivos de programas/ComPlus/Complus/nome_da_chave.snk"

//Linha de comando para registrar uma DLL:
//Digite o caminho até a DLL que será registrada
//regsvcs D:\Arquivos de programas\Complus\Complus\bin\Debug\nome_da_dll.dll

Assim chegamos ao final do primeiro post. Já estamos com o COM+ praticamente pronto e agora só falta criar os métodos para acessarem as ações do SVN e dar as devidas permissões ao COM+, para que o mesmo funcione corretamente.
Em breve irei finalizar essa integração. Espero que tenham gostado.

Bespin - Desenvolva seus códigos na Web

Postado por: Tiago Lemos em 17th fev, 2009 | Categoria: Diversos, HTML

O Bespin é a mais nova experiência do Mozilla Labs. Veja como o Bestin funciona no vídeo abaixo:


Introducing Bespin from Dion Almaer on Vimeo.

A aposta da vez é um editor on-line. Realizei alguns testes e achei bem interessante. Neste primeiro protótipo o Bestin inclui suporte para auxiliar a editar características básicas, tais como códigos coloridos, arquivo de tamanho grande, fazer/desfazer ações, visualizar os arquivos no browser e importar/exportar projetos.

Vale apena testar e é de graça, para isso, realize seu registro no site e utilize o Bestin.

Espero que gostem. Em breve tem mais.

ASP.NET MVC: Criando um HTMLHelper

Postado por: Tiago Lemos em 15th fev, 2009 | Categoria: ASP.NET, C#, MVC, VB

No novo MVC você tem a capacidade de criar seus elementos HTML personalizados atráves da classe HTMLHelper.
O objetivo é que você possa criar uma estrutura na qual diminua a quantidade de HTML padrão que você irá escrever.
Vamos ver o exemplo abaixo:

Imagine que você queira criar um HTMLHelper que crie este HTML padrão.


<label for="usuario">Usuario:</labe>
<input type="text" id="usuario" value="" />

Para que tenhamos essa funcionalidade teremos que criar a seguinte classe.


namespace Controles {
public static class HtmlHelperBase
{
   public static string LabelTextbox(this HtmlHelper helper, string identificador, string label_texto, string tipo)
     {
          return String.Format("<label for='{0}'>{1}</label><input type='{2}' id='{3}' value='' />", identificador, label_texto, tipo, identificador);
     }
  }
}

Uma vez criada a classe, agora precisamos importar a namespace e utilizar o método criado em uma View. Veja o exemplo abaixo:


<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="Mvc.Views.Home.Index" %>
<%@ Import Namespace="Controles" %>
  <asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<%= Html.LabelTextbox("usuario", "Aqui vem o texto", "text") %>

</asp:Content>

Bem simples e muito útil esse “poder” de personalização que temos.
Espero que tenham gostado. Em breve tem mais.

C# para Iniciantes: Comentários

Postado por: Tiago Lemos em 8th fev, 2009 | Categoria: ASP.NET, C#

Esse assunto pode até parecer muito simples, mas é de extrema importância no desenvolvimento de sistemas, sejam eles simples ou complexos, na verdade em sistemas complexos os comentários são fundamentais.

No C# possuímos 2 tipos de comentários:

Em linha - usando duas barras: //

Este tipo de comentário é utilizado quando necessitamos comentar apenas uma linha de código.

Exemplo:


//Aqui vem um comentário de uma linha
string a = "teste";

Bloco - usando barra asterico para iniciar /* e asterisco barra para fechar */

Este tipo de comentário serve para comentar um bloco de código.

Exemplo:


/*
* Aqui vem um comentário de bloco
* com mais texto descritivo
*/
string a = "teste";

Bom, pode até parecer inútil, mas na verdade comentários são extremamente importantes em um detalhamento do sistema, pois, nem sempre será você que irá dar manutenção no sistema.

É importante comentar os pontos chaves criados por você, para que outros programadores possam enteder o que quer dizer aquele trecho de código.

Espero que tenham gostado.

Em breve tem mais.

ASP.NET MVC Release Candidate … Agora falta pouco

Postado por: Tiago Lemos em 1st fev, 2009 | Categoria: ASP.NET, Linq, MVC

Pois é, já está disponível a versão Release Candidate do ASP.NET MVC e em breve (mais precisamente no próximo mês) deve ser liberada a versão 1.0 do MVC.

Bom, aqui você já pode encontrar dicas de como começar a estudar MVC e o LINQ nos posts:

E você pode ver mais sobre LINQ na categoria LINQ clicando aqui.

Espero que vocês gostem.