Mar 28

Marcas Technorati: , , , ,

No tutorial anterior, demonstrámos como criar uma máquina virtual com o Virtual PC 2007. Se ainda não têm a máquina virtual criada, é melhor lerem o artigo anterior “ Tutorial - Criar Máquinas Virtuais no Virtual PC 2007“, para poderem seguir este artigo.

Neste tutorial vamos explicar como instalar um novo Sistema Operativo na máquina virtual criada. Após a instalação do Sistema Operativo na máquina virtual, teremos disponível um computador virtual novíssimo, com um sistema operativo limpo, pronto a utilizar, como se de um novo PC se tratasse.

Vamos então dar inicio ao tutorial.


Ler o resto do artigo »

Mar 27

Marcas Technorati: , , , ,

Cada vez mais está na “moda” o uso de Máquinas Virtuais, quer para desenvolvimento, quer para fazer apresentações. Uma máquina virtual (Virtual Machine) consiste na simulação de um sistema operativo, apenas através de software, ou seja, estamos a executar outro sistema operativo dentro do que estamos a correr. Este processo é denominado por virtualização. Esta virtualização permite dividir os recursos do computador hospedeiro pelas diferentes máquinas virtuais em execução, conseguindo simular vários computadores.

O uso de máquinas virtuais apresenta várias vantagens, por exemplo, podemos criar uma máquina virtual para cada ambiente de desenvolvimento (por ex.: .net e php), podemos testar novos sistemas operativos de forma fácil, podemos movimentar as máquinas virtuais entre pcs de forma rápida, conseguimos ter um ambiente de desenvolvimento pré preparado de forma rápida, etc… As vantagens são imensas, mas também existem algumas desvantagens, como é óbvio. O uso de máquinas virtuais exige um computador com recursos acima dos recomendados, pois estes vão ser partilhados com as várias máquinas virtuais, principalmente a memória RAM, o CPU e o Disco. A performance numa máquina virtual é naturalmente inferior à de um computador normal.


Ler o resto do artigo »

Mar 19

image Na MIX 08 foram lançadas oficialmente as "Silverlight Tools Beta 1 for Visual Studio 2008", que permitem desenvolver Silverlight 2.0 no Visual Studio 2008.

 

 

Este pacote contém vários items:

  • Silverlight 2 Beta 1
  • Silverlight 2 SDK Beta 1
  • KB949325 for Visual Studio 2008
  • Silverlight Tools Beta 1 for Visual Studio 2008

O download deste pacote de instalação pode ser feito através do link:

Ler o resto do artigo »

Mar 18

Durante o evento MIX 08 foi disponibilizado um poster que agrega as novidades da versão 2.0 do Silverlight.

Silverlight MIX08 (Controls 5_1)

O Brad Abrams disponibilizou-o para download no seu blog.

[ JPG version 5.8MB] [ PNG version 6.5MB]  [ TIF Version 19.9 MB]

Este poster é uma daquelas imagens onde a tecnologia DeepZoom encaixa perfeitamente, e foi isso mesmo que o Joe Stegman fez.

Ler o resto do artigo »

Mar 17

Artigo Principal - As Novas Funcionalidades do C# 3.0

image Hoje vou falar-vos de outra funcionalidade introduzida com o C# 3.0 que são os Object Initializers, que permitem inicializar objectos, de uma forma mais compacta e rápida que o tradicional.

Com esta funcionalidade podemos inicializar as propriedades de um objecto logo na declaração do mesmo, utilizando chavetas, como vão poder ver no exemplo seguinte.

Neste exemplo, criámos uma classe Citizen com algumas propriedades. Na função main, temos primeiro a declaração do objecto bill da maneira tradicional, e depois a declaração do objecto steve, através dos object initializers:

using System;

namespace ConsoleApplication
{

    class Program
    {
        static void Main(string[] args)
        {
            Citizen bill = new Citizen();
            bill.Age = 40;
            bill.FirstName = "Bill";
            bill.LastName = "Gates";
            bill.Gender = Genders.Male;
            bill.PrintInfo();

            Citizen steve = new Citizen() {FirstName = "Steve", LastName = "Jobs", Age = 43, Gender = Genders.Male};
            steve.PrintInfo();

            Console.ReadKey();
        }
    }

    public enum Genders
    {
        Male = 0,
        Female = 1
    }

    public class Citizen
    {

        private string firstName;
        private int age;
        private string lastName;
        private Genders gender;

        public string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }

        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        public string LastName
        {
            get { return lastName; }
            set { lastName = value; }
        }

        public Genders Gender
        {
            get { return gender; }
            set { gender = value; }
        }

        public void PrintInfo()
        {
            Console.WriteLine("Name: {0} \nLastName: {1} \nAge: {2} \nGender: {3}", firstName, lastName, age, gender);
        }
    }
}

Ler o resto do artigo »

Mar 14
Marcas Technorati: , , , ,

image Está cada vez mais perto a liberalização do registo de domínios .pt. Como já devem ter ouvido falar, a FCCN vai acabar com o registo de domínios .pt exclusivo para empresas e marcas registadas. Esta liberalização foi determinada pelo ICANN.

A data precisa do fim destas regras ainda não existe. Já esteve para ser no final de 2007, mas o governo pediu um adiatamento desta data para analisar melhor a situação.

Este adiamento teve a ver com a necessidade de esclarecer melhor as regras que evitam situações menos positivas, relacionadas com conflitos de domínios terminados em .pt.

Ler o resto do artigo »

Mar 13

Artigo Principal - As Novas Funcionalidades do C# 3.0

image Uma expressão Lambda é uma função anónima que pode conter expressões e declarações, e pode ser usada para criar delegates ou expression tree types.

As expressões Lambda usam o operador =>. O lado esquerdo do operador lambda especifica os parâmetros de entrada  e o lado direito especifica a expressão. Por exemplo, a expressão Lambda x=>x*x .

Passemos a um exemplo prático:

using System;

namespace ConsoleApplication
{
    //Declare a Delegate
    delegate int Del(int x);

    class Program
    {
        static void Main(string[] args)
        {
            //Create the Lambda Expression
            Del AoQuadrado = x => x*x;

            Console.WriteLine(AoQuadrado(4));

            Console.ReadKey();
        }
    }
}

Como podem ver pelo exemplo anterior associámos a expressão Lambda a um delegate type criado.

Ler o resto do artigo »

Mar 11

Marcas Technorati: , , ,

image Até aparecer o C# 2.0, a única forma de declarar delegates, era utilizar métodos normais, com um nome atribuido, que eram declarados como métodos separados.

Os métodos anónimos são essencialmente um maneira de passar um bloco de código como parâmetro, utilizando um delegate.

A utilização de métodos anónimos permite reduzir o código, pois não necessitamos de criar um método separado, logo o código fica mais limpo e intuitivo.

A especificação de um bloco de código como delegate pode ser muito útil em situações em que criar um método é desnecessário. Por exemplo no código seguinte, em que lançamos uma nova thread:

void StartThread()
{
    System.Threading.Thread t1 = new System.Threading.Thread
      (delegate()
      {
          System.Console.Write("Hello, ");
          System.Console.WriteLine("World!");
      });
    t1.Start();
}

Ler o resto do artigo »

Mar 10

image Quais são as vantagens de subscrever a feed RSS do blog istomesmo?

Primeiro convém começar por explicar o que é o RSS. O RSS é uma nova tecnologia (Real Syndication System), que nos permite saber quando existe novo conteúdo num site/blog, sem termos de o estar sempre a visitar, ou seja, em vez de sermos nós à procura das notícias, são as notícias que vêm até nós. :)

Existe um vídeo no youtube que explica de uma maneira muito interessante este conceito.

You need to a flashplayer enabled browser to view this YouTube video

Ao subscreverem a feed RSS do istomesmo, podem ser notificados sempre que existirem novas notícias publicadas no blog.

Ler o resto do artigo »

Mar 09

Hoje enquanto andava pelo youtube à procura de vídeos sobre o Visual Studio 2008 encontrei um bastante "interessante/controverso", que resolvi partilhar convosco.

Top Ten Reasons you Shouldn’t Upgrade to Visual Studio 2008

You need to a flashplayer enabled browser to view this YouTube video

Ler o resto do artigo »

Mar 08
Marcas Technorati: , , , , ,

Este é o primeiro artigo desta categoria, onde vou referenciar todos os sábados um conjunto de webcasts para verem durante o fim de semana.

image

Para quem não sabe, um webcast é uma espécie de vídeo tutorial, onde é apresentado e exemplificado determinado tema.

Ler o resto do artigo »

Mar 07

A Microsoft disponibilizou no passado dia 5 de Março, o Internet Explorer 8.

image

No site oficial do Internet Explorer 8, podemos efectuar o download da sua versão beta 1:

http://www.microsoft.com/windows/products/winfamily/ie/ie8/getitnow.mspx

Esta versão traz um conjunto de novas funcionalidades, que estão apresentadas como vídeos na página do browser. Destas funcionalidades destaco as seguintes:

Ler o resto do artigo »

Mar 06

Marcas Technorati: , , , ,

A Microsoft disponibilizou recentemente uma versão revista do livro “The Developer Highway Code”.

image

Confesso que a capa tem um sinal muito interessante “REDUCE COFFEE NOW” (Reduza o Café agora). Como é que isto será possível? :) Quero saber…

Ler o resto do artigo »

Mar 05

Marcas Technorati: , , ,

Artigo Principal - As Novas Funcionalidades do C# 3.0

Esta é sem dúvida umas das funcionalidade que mais gostei no C# 3.0. Com ela podemos extender tipos existentes (string, int, etc…) ou tipos construídos (client, car, person, etc…) com métodos adicionais. Estes métodos estáticos podem ser invocados com a mesma sintaxe que os métodos de instância.

Esta funcionalidade pode ser extremamente útil no desenvolvimento, e tornar o código muito mais limpo e reutilizável. De seguida vou mostrar um exemplo, de como podemos capitalizar as primeiras letras das palavras que constituem uma determinada string. Para isso vamo criar um Extension Method ao tipo string:

public static class IstoMesmoExtensions
{
  public static string ProperCase(this string s)
  {
    string[] words = s.Split(’ ‘);
    string result = string.Empty;

    foreach (string i in words)
    {
      result = result + i.Substring(0, 1).ToUpper() +
  
                  i.Substring(1).ToLower() + ” “;
    }
   
result = result.Substring(0, result.Length - 1);
    return result;
  }
}

Ler o resto do artigo »

Mar 04

image A Microsoft lançou recentemente o site Visual Studio Gallery para agregar todas as extensões para o Visual Studio.

No dia 3 de Março, foi lançada a extensão PowerCommands para o Visual Studio 2008. Esta extensão adiciona um conjunto de funcionalidades a várias áreas do Visual Studio, tornando mais simples certas tarefas.

 

De seguida apresento a lista das principais funcionalidades disponiblizadas por esta extensão:

  • Colapsar Projectos - Este comando permite colapsar os nós da hierarquia de um projecto, de uma solução ou de pastas.
  • Copiar Class - Copia o conteúdo de uma Class para o Clipboard.
  • Copiar Referências - Permite copiar referências para o Clipboard.
  • Colar Referências - Permite colar as referências no local adequado do projecto.
  • Copiar Projecto como Referência - Copia um projecto como referência para o Clipboard.
  • Editar Ficheiro de Projecto - Abre o ficheiro MSBuild do Projecto do projecto seleccionado.
  • Abrir Pasta -  Permite abrir no Windows Explorer a pasta onde está o ficheiro seleccionado.
  • Abrir linha de comandos - Abre uma janela da linha de comandos do Visual Studio, a apontar para a pasta do item seleccionado.
  • “Unload Projects” - Como o nome indica, permite fazer unload dos projectos da solução.
  • “Reload Projects” - Permite efectuar reload dos projectos da solução.
  • Remover e Organizar os Usings - Remove os usings não usados, e organiza-os por ordem. Pode ser usado numa Class ou globalmente na Solução ou Projecto.
  • Extrair Constante - Criar uma constante para o texto seleccionado.
  • Limpar Lista de Ficheiros Recentes - Limpa a lista de ficheiros utilizados recentemente pelo Visual Studio.
  • Limpar Lista de Projectos Recentes - Limpa a lista de projectos utilizados recentemente pelo Visual Studio.
  • Transformar Templates -
  • Fechar Todos - Fecha todos os documentos abertos no Visual Studio.

Podem efectuar download da extensão PowerCommands para o Visual Studio 2008 através do link seguinte:

http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=PowerCommands&ReleaseId=559 

O código fonte também está disponível. Se quiserem investigar como estas extensões são construídas, podem analisá-lo. Mas para isso necessitam de ter o SDK do Visual Studio 2008, que poderão descarregar a partir do site:

Visual Studio Extensibility Developer Center

Está também disponível um documento word com imagens onde podem ver as funcionalidades disponbilizadas.

Sem dúvida uma extensão a manter nas nossas Developers Tools.

 

Se gostaram deste artigo subscrevam a feed RSS do istomesmo, para ficarem actualizados sobre os últimos artigos.

Subscrevam aqui a fedd RSS

Mar 03

Marcas Technorati: , , ,

image O C# 3.0 trouxe à plataforma .Net um conjunto de novas funcionalidades que tornam a mesma mais robusta ,completa, e ao mesmo tempo permitem poupar tempo em determinadas rotinas de programação. As novas funcionalidade encaixam-se na platataforma como uma extensão ao C# 2.0.

As principais novas funcionalidades presentes nesta extensão (C# 3.0) são as seguintes:

  • Implicitly typed local variables - permitem que o tipo de uma variável local seja determinado a partir da expressão utilizada para a inicializar.

  • Extension methods - permitem extender os tipos existentes ou tipos construídos com métodos adicionais.

  • Lambda expressions - são uma evolução dos métodos anónimos que possiblitam uma melhoria na determinação dos tipos e nas conversões para “delegates” e “expression trees“.

  • Object Initializers - facilitam a construção e inicialização de objectos.

  • Anonymous types - são tipos/objectos determinados e criados automaticamente a partir de “Object Initializers“.

  • Implicitly typed arrays - permitem a criação e inicialização de arrays que determinam automaticamente o tipo dos elementos do array através da inicilalização do mesmo.

  • Query expressions - disponibilizam uma sintaxe integrada na própria linguagem que permite efectuar queries de modo semelhante ao SQL e XQuery.

  • Expressions tree - possibilitam que as “Lambda expressions” sejam representadas como dados em vez de código (”delegates”).

Nos próximos artigos vou explicar cada uma destas funcionalidades mais detalhadamente. Vamos começar já pela nova palavra do C# 3.0, a palavra “var”…

Ler o resto do artigo »