Cuidados na implantação do Scrum–10 principais erros

Continue lendo


Kinect – Xbox– Você é o controle !

Não conhece o Kinect? (Acesse http://www.xbox.com/pt-BR/kinect)

Você é o controle

O Kinect dá vida aos jogos e entretenimento de forma extraordinariamente nova – não é preciso usar um controle! Fácil de usar e instantaneamente divertido, Kinect (antes conhecido como “Projeto Natal”) põe todo mundo em movimento. Quer que um amigo participe da brincadeira? E só ele entrar! E a melhor parte é que o Kinect funciona com todos os Xbox 360.

Jogabilidade – Games

 

Simplesmente Surpreendente……..

Kinect Vídeo

Interatividade Kinect–By Scott

 

Arte de convencer esposa, namorada, mãe e outros para comprar o Kinect.

Nem espelho em casa será preciso mais. Final do vídeo fantástico para as mulheres.

Vários Jogadores Simultaneamente… fantástico ! Bye Bye Wii

Dançando no Kinect

Balada em casa… será que vai sair sambas? rs Zeca Pagodinho…ai sim hein !

 

Academia no Kinect

Perder uns kilos com o Kinect

 

Muito divertido o Kinect.


“Criptografar” e “Descriptografar” uma querystrings

No desenvolvimento Web é muito comum utilizarmos querystrings para passar informações de uma página para outra.

Veja a classe “Criptografia”, contendo os métodos “Criptografar” e “Descriptografar”:

using System;
using System.Text;
using System.IO;
using System.Security.Cryptography;


public class Criptografia
{
private static byte
[] chave = { };
private static byte
[] iv = { 12, 34, 56, 78, 90, 102, 114, 126 };


public Criptografia()
{

}

public static string Criptografar(string valor, string chaveCriptografia)
{
DESCryptoServiceProvider des;
MemoryStream ms;
CryptoStream cs; byte[] input;

try
{
des = new DESCryptoServiceProvider();
ms = new MemoryStream();

input = Encoding.UTF8.GetBytes(valor);chave = Encoding.UTF8.GetBytes(chaveCriptografia.Substring(0, 8));

cs = new CryptoStream(ms, des.CreateEncryptor(chave, iv), CryptoStreamMode.Write);
cs.Write(input, 0, input.Length);
cs.FlushFinalBlock();

return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}

public static string Descriptografar(string valor, string chaveCriptografia)
{
DESCryptoServiceProvider des;
MemoryStream ms;
CryptoStream cs; byte[] input;

try
{
des = new DESCryptoServiceProvider();
ms = new MemoryStream();

input = new byte[valor.Length];
input = Convert.FromBase64String(valor.Replace(" ", "+"));

chave = Encoding.UTF8.GetBytes(chaveCriptografia.Substring(0, 8));

cs = new CryptoStream(ms, des.CreateDecryptor(chave, iv), CryptoStreamMode.Write);
cs.Write(input, 0, input.Length);
cs.FlushFinalBlock();

return Encoding.UTF8.GetString(ms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}
}


Para testar o funcionamento da rotinha criei dois webforms: “Pagina1.aspx” e “Pagina2.aspx”.

Na “Pagina1.aspx” adicionei um Button e implementei o seguinte código para o evento Click.

Onde é montada a URL com o valor da querystring criptografado pelo método “Criptografar” da Classe “Criptografia”.

Escolhi o valor 12 como ID de exemplo:


protected
void Button1_Click(object sender, EventArgs e)
{
string url = "Pagina2.aspx?id=" + Criptografia.Criptografar("12", "#!$a36?@");

Response.Redirect(url);
}


Já na “Pagina2.aspx”, adicionei um Label e implementei o seguinte código para o evento Load da página. E exibirá o valor da querystring, já descriptografado no Label:


protected void Page_Load(object sender, EventArgs e)
{
string querystring = Request.QueryString["id"];

Label1.Text = Criptografia.Descriptografar(querystring, "#!$a36?@");
}

Observe o resultado:


Querystring criptografada e resultado descriptografado



Agora você poderá criar aplicações mais seguras utilizando querystring.

http://www.desenvolvendoparaweb.net/profiles/blog/show?id=2307362:BlogPost:38725&xgs=1&xg_source=msg_share_post


SCRUM – Porco ou Galinha – Papeis no SCRUM

Um ponto bastante interessante no Scrum é a divisão de papéis em dois grupos: porcos e galinhas.

Pra quem não conhece, pode parecer meio estranho já que no Brasil esses animais geralmente são utilizados com uma conotação negativa. Mas o Scrum se baseia neste exemplo, bastante popular nos Estados Unidos e não há conotação negativa. A questão gira em torno do comprometimento.

Esta sátira criada pelo site implementingscrum.com explica bem a origem dos termos:

image

Na fábula, o porco está altamente comprometido com o negócio, com “a própria carne”. Já a galinha está comprometida apenas em fornecer os ovos.

Neste sentido refletir um pouco melhor sobre isso irá nos ajudar a definir a nossa postura e evitar aborrecimentos e frustrações em todas as partes envolvidas (quer em um projeto, quer não). Pra isso, é fundamental a transparência sobre o seu comprometimento. Os parceiros envolvidos tem o direito de saber o seu comprometimento com a situação, até pra decidir o quanto eles querem se comprometer com aquilo também. (Imagine, isto se aplica em todos os aspectos da nossa vida… Emprego, Casamento, Namoro, etc).

Existem situações em que devemos ser porcos e situações em que devemos ser galinhas. Não se esconder quando você quer se comprometer apenas parcialmente. As pessoas tendem a achar que isso pode soar negativamente mas, mais nestas situações vale a pena jogar limpo. Será muito melhor do que simplesmente fingir que está comprometido sem estar de verdade.

Li em um blog esta frase e gostei… “Honesto você deve ser sempre. Comprometido é uma opção sua de acordo com a situação.”.

Porco ou Galinha na prática

Os Porcos são os que estão comprometidos com os objetivos do projeto todo. São o Product Owner, o Scrum Master e a equipe. Estes definem o sucesso da implantação e continuidade do Scrum em uma empresa. (São esses com “seu bacon na linha”)

Product Owner

Product Owner representa a voz do cliente. Ele pode ser o próprio cliente ou alguém que tem a visão dele e que ele confia para administrar seu projeto. Nos projetos Scrum, o P.O. tem uma importância tão grande quanto o próprio time ou o Scrum Master.

ScrumMaster (ou Facilitator)

Scrum é facilitado por a ScrumMaster, cujo o trabalho preliminar é remover os impedimentos à habilidade da equipe de entregar o objetivo do Sprint. O ScrumMaster assegura-se de que o processo de Scrum esteja usado como pretendido. 

Equipe

A equipe tem a responsabilidade entregar o produto. Uma equipe pequena de 5-9 pessoas com as habilidades funcionais para fazer o trabalho real (desenhador, colaborador etc.).

Já as galinhas são os envolvidos, que não estão necessariamente dispostos a “fazer de tudo” pelo projeto. São todas as demais pessoas que não estão no dia-a-dia do projeto, incluindo usuários, gerentes, em alguns casos infra, etc.

 

Referências:

http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/

http://recortis.dowedo-it.com/index.php/archives/2007/09/28/scrum-referencias-uteis/

http://www.infoq.com/br/news/2009/05/chickens-in-daily-scrum

Treinamento Fcamara por Angêla Generosa e Ubiratan Padilha


Controlando a exibição da região de dados Tablix em uma página do relatório (Reporting Services)

Depois de adicionar uma região de dados Tablix a um relatório, você pode continuar desenvolvendo o design enquanto trabalha na exibição Design e na Visualização do Designer de Relatórios. Este tópico descreve as propriedades de uma região de dados Tablix que pode ser modificada para alterar a forma como uma região de dados Tablix é exibida quando visualizada em um relatório.

Controlando a aparência dos dados


Os seguintes recursos ajudam a controlar a aparência de uma região de dados Tablix:

  • Formatando dados. Para formatar dados em uma tabela, matriz ou lista, defina as propriedades de formato da caixa de texto na célula. É possível definir propriedades para várias células ao mesmo tempo. Para formatar dados em um gráfico, defina as propriedades de formatação na série. Para obter mais informações, consulte Formatando relatórios e itens de relatório e Formatando um gráfico.
  • Também é possível formatar dados escrevendo expressões. Para obter mais informações, consulte Adicionando formatação condicional (Reporting Services), Usando expressões (Reporting Services) e Exemplos de expressões (Reporting Services).
  • Controlando a ordem de classificação. Para controlar a ordem de classificação, você deve definir expressões de classificação na região de dados. Para controlar a ordem de classificação das linhas e das colunas associadas a um grupo, você deve definir expressões de classificação no grupo, inclusive os grupos detalhados. Também é possível adicionar botões de classificação interativos para permitir que o usuário classifique uma região de dados Tablix ou seus grupos. Para obter mais informações, consulte Trabalhando com recursos de grupo (Reporting Services) e Como classificar dados em uma região de dados (Reporting Services).
  • Exibindo uma mensagem quando não há dados. Quando não há dados de um conjunto de dados de relatório em tempo de execução, é possível escrever uma mensagem própria a ser exibida em lugar da região de dados. Para obter mais informações, consulte Como definir uma mensagem Nenhum Dado para uma região de dados.
  • Ocultando dados condicionalmente. Para controlar condicionalmente se você deve mostrar ou ocultar uma região de dados ou partes de uma região de dados, é possível definir a propriedade Hidden como True ou como uma expressão. Entre as expressões podem estar referências a parâmetros de relatório. Também é possível especificar um item de alternância, para que usuário possa optar por exibir dados detalhados. Para obter mais informações, consulte Ocultando itens de relatório condicionalmente.
  • Mesclando células. Várias células contíguas em uma tabela podem ser integradas em uma única célula. Isso é conhecido como abrangência de coluna ou mesclagem de célula. As células só podem ser combinadas horizontal ou verticalmente. Quando você mescla células, apenas os dados na primeira célula são preservados. Os dados das demais células são removidos. As células mescladas podem ser divididas nas colunas originais. Para obter mais informações, consulte Como mesclar células em uma região de dados (Reporting Services).

Controlando a posição da região de dados Tablix e a expansão em um página


Os seguintes recursos ajudam a controlar a forma com que uma região de dados Tablix é exibida em um relatório renderizado:

  • Controlando a posição de uma região de dados Tablix em relação a outros itens de relatório. Uma região de dados Tablix pode ser posicionada acima, próxima a, ou abaixo dos demais itens de relatório na superfície de design de relatório. Em tempo de execução, o Reporting Services expande a região de dados Tablix conforme o necessário para os dados recuperados do conjunto de dados vinculado, movendo itens de relatório semelhantes além do necessário. Para ancorar um Tablix próximo a outro item de relatório, você deve criar os itens de relatório semelhantes e ajustar as posições relativas. Para obter mais informações, consulte Entendendo os comportamentos de renderização.
  • Alterando a direção de expansão. Para controlar se uma região de dados Tablix se expande na página LTR (da esquerda para direita) ou RTL (da direita para esquerda), use a propriedade Direction, que pode ser acessada na janela Propriedades. Para obter mais informações, consulte Renderizando regiões de dados.

Controlando a forma de processamento de uma região de dados Tablix


Os seguintes recursos ajudam a controlar a forma como as células da linha e as áreas do grupo de colunas são exibidas em um relatório renderizado. Para obter mais informações sobre áreas de grupos de linhas e colunas, consulte Compreendendo as áreas da região de dados Tablix. Para obter mais informações sobre como a exportação de um relatório de formatos diferentes afeta a maneira com que uma página é processada, consulte Entendendo os comportamentos de renderização.

  • Controlando a paginação. Para controlar a quantidade de dados exibidos em todas as páginas de relatório, é possível definir quebras de página em regiões de dados. Você também pode definir quebras de página em grupos. As quebras de página podem afetar o desempenho da renderização sob demanda reduzindo a quantidade de dados que precisam ser processados em cada página. Para obter mais informações, consulte Entendendo a paginação no Reporting Services e Como adicionar uma quebra de página (Reporting Services).
  • Exibindo dados em qualquer lado dos cabeçalhos de linha. Você não está limitado a exibir cabeçalhos de linha no lado de uma região de dados Tablix. É possível mover os cabeçalhos de linha entre colunas, para que as colunas de dados sejam exibidas antes dos cabeçalhos de linha. Para isso, modifique a propriedade GroupsBeforeRowHeaders da matriz. É possível acessar essa propriedade usando a janela Propriedades. O valor dessa propriedade é um inteiro. Por exemplo, um valor igual a 2 exibirá duas instâncias de grupos dos dados de coluna da região de dados antes da exibição da coluna que contém os cabeçalhos de linha.
  • Controlando cabeçalhos de linha e coluna. Você pode controlar como os cabeçalhos de linha e coluna se repetem ou congelam durante a exibição de um relatório. Para obter mais informações, consulte Controlando cabeçalhos de linha e coluna. Para obter instruções passo a passo, consulte estes tópicos:

http://msdn.microsoft.com/pt-br/library/cc627568.aspx

Bons Estudos !


Download Visual Studio 2010 e .Net Framework 4.0

Você pode baixar e fazer download gratuito com avaliação de 90 dias de uso para todas as versões. Professional, Premium, Ultimate e Professional Test, neste link você encontra o comparativo entre as versões sobre os seus recursos.

Você pode baixar também o Visual Studio Expression, totalmente gratuito. Visual Web Developer 2010, Visual Basic 2010, Visual C # 2010 e Visual C + +. Uma rápida configuração e instalação para desenvolvimento Web você pode instalar através do Microsoft Platform Installer Web, com apenas um clique em Install você terá configurado e instalado o 4 ASP.NET, ASP.NET MVC 2, IIS Web Developer do SQL Server Express 2010 e Visual Express.

Mais informações você consegue no hot do Visual Studio http://www.microsoft.com/visualstudio/pt-br/visual-studio-2010-launch.

Destaques do VS 2010 e. NET 4

 

O Sr. Scott Guthrie mantém uma serie sobre destaques do VS 2010 e .NET, você pode acompanhar os artigos nos links abaixo:

Bons Estudos !


ASP.NET MVC 2 – Teoria Básica

Este é o primeiro de uma série de posts que estou escrevendo sobre o próximo lançamento da ASP.NET MVC 2.  Este post abrange os novos helpers HTML (métodos de ajuda HTML) fortemente tipados adicionados na ASP.NET MVC 2.

A arquitetura MVC foi descrita em meados de 1979 e foi originalmente desenvolvida para mapear as tarefas tradicionais de entrada, processamento e saída para o modelo de interação com o usuário.  A mostra de forma objetiva a abstração do MVC.

Arquitetura - MVC

Métodos de Ajuda HTML Existentes

A ASP.NET MVC 1 foi lançada com um conjunto de métodos de ajuda HTML que podem ser usados dentro de view templates (modelos de visão) para ajudar com a geração do HTML utilizado na UI. Por exemplo, para gerar uma TextBox (caixa de texto) você poderia escrever código (dentro do seu modelo de visão .aspx) usando o método de ajuda HTML.TextBox() igual a seguir:

imagem

O primeiro parâmetro para o método de ajuda acima fornece o nome/id para a caixa de texto, e o segundo parâmetro especifica o valor que esta deveria ter.  O método de ajuda acima, então, renderizará código HTML como o mostrado a seguir de volta para um browser (navegador):

imagem

Novos Métodos de Ajuda HTML Fortemente Tipados

Uma dos pedidos de funcionalidade mais comuns que as pessoas tinham para a ASP.NET MVC 2 foi para que nós também suportássemos métodos de ajuda HTML fortemente tipados que usam expressões lambda quando estes referenciam modelos/visões de modelo passados para um modelo de visão. Isso permite uma melhor verificação do código das visões no tempo de compilação (de modo que os erros podem ser encontrados em tempo de compilação em oposição ao tempo de execução), e também permite um melhor suporte de código IntelliSense dentro dos modelos de visão.

Novos métodos de ajuda HTML são agora incorporados à ASP.NET MVC 2. Estes métodos utilizam uma convenção de nomes no formato "HTMLHelperNameFor()" Por exemplo: HTML.TextBoxFor(), HTML.CheckBoxFor(), HTML.TextAreaFor(), etc.  Eles suportam o uso de uma expressão lambda para especificar tanto o nome/id do elemento, bem como o valor a renderizar para ele.

Por exemplo, usando a ASP.NET MVC 2, podemos agora usar o método de ajuda HTML.TextBoxFor(), além do HTML.TextBox() acima:

imagem

Observe acima como nós não precisamos especificar o parâmetro do tipo string "ProductName" – expressões lambda são flexíveis o suficiente para que possamos recuperar o nome da propriedade/campo do nosso modelo de objeto além do seu valor.

Em virtude dos métodos de ajuda HTML serem fortemente tipados, também temos total suporte da IntelliSense para eles dentro do Visual Studio, ao escrevermos a expressão lambda:

imagem

O HTML renderizado é o mesmo do método de ajuda HTML mostrado anteriormente:

imagem

Lista de Métodos de Ajuda HTML Fortemente Tipados que Acompanham a ASP.NET MVC 2

A ASP.NET MVC 2 foi construída com suporte para os seguintes métodos de ajuda HTML fortemente tipados:

Métodos de Ajuda HTML para Elementos:

  • Html.TextBoxFor ()
  • Html.TextAreaFor ()
  • Html.DropDownListFor ()
  • Html.CheckboxFor ()
  • Html.RadioButtonFor ()
  • Html.ListBoxFor ()
  • Html.PasswordFor ()
  • Html.HiddenFor ()
  • Html.LabelFor ()

Outros Métodos de Ajuda:

  • Html.EditorFor ()
  • Html.DisplayFor ()
  • Html.DisplayTextFor ()
  • Html.ValidationMessageFor ()

Eu vou falar mais sobre os novos métodos de ajuda HTML.EditorFor() e HTML.DisplayFor() em um post mais para frente nesta série, quando eu falar mais sobre a melhoria para auto-scaffold (geração automática de código) implementada na ASP.NET MVC 2. Nós também usaremos o método de ajuda HTML.ValidationMessageFor() no meu próximo post desta série, que abrange a melhoria no suporte à validação de dados dentro da ASP.NET MVC 2.

Métodos de Ajuda HTML Fortemente Tipados dentro da Geração de Código Automática

O VS 2008 e o VS 2010, por padrão agora usam os novos métodos de ajuda HTML fortemente tipados quando "geram código automaticamente" para modelos de visão fortemente tipadas usando o comando "Add View" (Adicionar Visão). 

Por exemplo, vamos supor que nós tivéssemos uma simples classe "ProdutosController" como a seguir que tem um método de ação "Editar" que renderiza um formulário de edição para uma classe Produto do modelos de dados:

imagem

Nós podemos clicar com o botão direito do mouse dentro do método de ação Edit usando o Visual Studio e selecionar o comando do menu de contexto "Add View" para criar um modelo de visão. Vamos optar por criar um modelo de visão "Editar" que é "scaffolded" (gerado automaticamente) usando um objeto Produto:

imagem

Com a ASP.NET MVC 2, o modelo da visão que é criado por padrão já utiliza os novos métodos de ajuda HTML fortemente tipados para fazer referência ao objeto Produto do modelo de dados:

imagem

Resumo

Os métodos de Ajuda HTML Fortemente Tipados incluídos na ASP.NET MVC 2 fornecem uma boa maneira de obter uma melhor verificação de tipos dentro dos seus modelos de visão. Isso permite uma melhor verificação das suas visões no tempo de compilação (o que lhe permite localizar erros em tempo de compilação ao invés do tempo de execução), e também permite o suporte à IntelliSense mais rica quando realizar a edição de seus modelos dentro do Visual Studio.

Bons Estudos!


Polimorfismo com C#

 

       É comum programadores no mundo .NET usarem o mesmo modo de programação adotado no VB 6.0 ou outra linguagem estruturada. Isto normalmente por falta de tempo devido a necessidade do cliente ou por não entender o poder da linguagem OO e com isso não ter interesse em aprende-los.

      Não sou um mestre em OO mas já aprendi alguma coisa durante os meus os últimos anos entre no mundo .NET. Um conceito que considero muito importante no mundo da programação OO é o Polimorfismo. Hoje pretendo falar sobre a parte conceitual e demonstrar exemplos básicos de sua implementação e, no futuro  vou poublicar um vídeo onde explico os exemplos C#.

Polimorfismo, em resumo, podemos dizer que é um mecanismo que permitem as classes fornecerem diferentes comportamentos de métodos que são referenciados pelo mesmo nome. Com isso permite que o método de uma classe seja acionado sem se preocupar com os detalhes da sua implementação. Podemos aplicar este conceito de três formas: usando interfaces, através de herança ou com classes abstratas.

Definição Wikipédia: Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato).O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas).

Através de intefaces, ou seja a programação por contrato, podemos ter um cenários onde várias classes a implementam uma determinada interface, e a mesma classe pode implementar várias interfaces. Uma interface descreve métodos, propriedades e eventos que uma classe deve implementar e, também, os tipos de parâmetro que cada método recebe e retorna. A implementação é livre e fica sob responsabilidade da classe, visto que a mesma deverá atender o que diz o contrato da interface.

Através da herança, uma a classe só pode herdar de uma classe mas pode ser herdada por várias. As classes deridavas recebem campos, métodos, propriedades e eventos da classe base e com a mesma implementação da classe base. Novos membros (métodos, campos e propriedades) podem ser adicionados a classe derivada e, também, pode sobrescrever ou sobrecarregar os métodos da classe base. No próximo post falarei sobre overriding (sobrescrita), overloading (sobrecarga), e as palavras-chave new, virtual e override.

Com classes abstratas podemos fornecer elementos para os dois modelos acima. Tanto uma classe abstrata quanto uma interface não podem ser instanciados. A classe abstrada deve ser herdada por alguma classe. Pode ter alguns métodos implementados ou não. Quando não, é responsabilidade da classe derivada implementá-los. Os métodos implementados na classe abstrata podem ser sobrescritos. Intefaces e classes abstratas são muito utilizados na implementação de frameworks e padrões (Design Patterns).

Uma aplicação prática do polimorfismo
O exemplo seguinte, embora simples, mostra, a presença do polimorfismo, ao permitir instanciar, através de uma mesma referência de superclasse, tanto objetos desta como de sua subclasse. Sublinhamos alguns comandos para destacá-lo.
Numa academia, os atletas são categorizados pelo peso, conforme tabela da esquerda. Os lutadores, porém, têm categorias definidas pela da direita. Mas, é obvio, todo lutador é um atleta.

Temos, então, a seguinte hierarquia de herança em UML e a codificação correspondente em c#:

Caso tenha alguma dúvida, queria mais exemplos ou sugestão sobre o assunto, por favor, sinta-se a vontade para enviar e-mail para brupimentel@hotmail.com.


Visual Studio 2010 – .NET Framework 4.0

Olá,

Escrevendo novamente sobre o lançamento do ano, o Visual Studio 2010 e seu novo Framework em sua versão 4.0.

Não se via tão grande mudança na ferramenta desde 2005, o aguardado Framework 4.0 chegou depois do lançamento LINQ, WCF, CF e WPF em 2008!

image

Iniciei meus estudos e estou surpreendido com as possibilidades e inovações deste novo Framework!

Segue link completo para antes de fazer o download, ler um pouco sobre a ferramenta, por que um pouco de teoria sempre é bem-vinda!

http://msdn.microsoft.com/pt-br/vstudio/2010.aspx

BONS ESTUDOS!


Trabalhando com SQL Reporting Services 2008

SQL Reporting Services 2008

Aos apaixonados pelo SRS 2008, como eu, podem aprender tudo sobre relatórios com o arquivo em anexo. Fácil, Fácil…embora as vezes enrosque um pouco.
Para quem conhece o SRS 2005, verá várias
novidades em relação a interface e os novos controles, além de novas
dicas e truques. Bons estudos!

Link Microsoft para download do .doc

Bruno Pimentel


Alterando a versão da plataforma .NET para o projeto.

 

Citação

Minha Dica para você! -> Alterando a versão da plataforma .NET para o projeto.

Olá…

É possível alterar a versão da plataforma .NET para o projeto ?

A resposta é Sim.

No projeto, clique com o botão direito e escolha a opção Properties…

 

clip_image002

Na janela de propriedades escolha a tab Application. Nela encontra a opção Target framework:

 

clip_image002[4]

clip_image002[6]

Quando você escolhe outra versão, como eu fiz neste exemplo com a 2.0, uma caixa de diálogo é exibida indicando que o projeto será fechado e carregado novamente e que muitas alterações devem ser feitas manualmente, como remover as referências para os assemblies que existem na versão mais recente e não na versão escolhida.

clip_image002[8]

 

Em alguns casos, como o exemplo, o Visual Studio avisa que a alteração não é possível, pois certos assemblies não existem na versão escolhida:

clip_image002[10]

Quando você está com um projeto na versão 2.0 e quer migrar o projeto para uma versão mais recente essa é uma forma bem simples. O inverso pode lhe dizer com certa facilidade quais opções você não tem, caso precise distribuir a aplicação para versões próximas, como é o caso das versões 3.0, 3.5 SP1 e 4.0.

Intel++

CRÉDITOS,
Roger Villela
Technical Advisor/MCT – Microsoft Certified Trainer

PS – Fiz um treinamento na B&F onde o instrutor era o próprio Roger Villela.


Falando sobre Padrões de Codificação – C# Version – Parte I – Estrutura gramatical


Resumo sobre gerenciamento de projetos (PMBOK 4a Edição)

Pessoal, uma boa maneira de estudar para a certificação PMP é criando o Mapa do louco. Isto mesmo, um Mapa de todos os 42 processos e respectivamente suas entradas, ferramentas e saídas. Os processos são agrupados em 5 grupos de processos (iniciação, planejamento, execução, monitoramento e controle e encerramento).

Por falar nisto, os 42 processos são divididos em 9 áreas de conhecimento e lembrando deles é muito mais fácil internalizar os 42 processos. As 9 áreas são: integração, escopo, tempo, custos, qualidade, recursos humanos, comunicações, riscos e aquisições;

Basicamente, Gerenciar um projeto inclui:

  • Identificação dos requisitos;
  • Gerenciar as necessidades, preocupações e expectativas das partes interessadas (stakeholders) a medida que o projeto é planejado e executado;
  • Gerenciar os conflitos preocupando-se com Escopo, Qualidade, Cronograma, Recursos e Riscos;

O gerente de projetos é uma pessoa designada pela organização para levar o projeto ao sucesso. O gerente de projetos deve ter conhecimento sobre gerenciamento de projetos, bom desempenho para aplicar seus conhecimentos e excelente comportamento como gerente de projetos além de ser conhecido como ético.

Todo projeto deveria possuir um ciclo de vida, mesmo sabendo que os projetos variam em tamanho e complexibilidade. Entende-se como ciclo de vida de um projeto:

  • Início do projeto;
  • Organização e preparação;
  • Execução do trabalho do projeto;
  • Encerramento do projeto;

Normalmente a maior parte do tempo e custo do projeto está na execução do projeto, sendo que quanto antes for identificado mudanças no projeto menor serão os custos e estresses com gerenciamente de recursos;

Um projeto geralmente é parte para criação ou modificações em um produto, sendo que um projeto sempre tem relação a um produto.

Um produto é o resultado do trabalho humano, podendo se apresentar sob a forma de bens ou de serviços ou os dois.

Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.

No próximo artigo vamos entender o MAPA DO LOUCO!


Criação de Team Project Collections – Passo a Passo

 

image

 

image

 

image

 

image

 

image

 

image

 

image


Kinect tem problemas para identificar jogadores negros, afirma site

Isto está com cara de notícia comprada pela Sony, que não teve sucesso em seu PS3 com realidade aumentada. Cuidado pessoal para não serem manipulados pelos tiozinhos do JN.

O site especializado em games GameSpot afirmou que, em testes realizados com o sistema que utiliza movimentos dos jogadores para comandar ações no videogame Xbox, da Microsoft, o aparelho teve problemas para reconhecer a face de usuários negros. O criador do sistema, o brasileiro Alex Kipman, disse que o resultado dos testes não condiz com a realidade, já que o sistema, segundo ele, funcionaria de forma independente da cor da pele dos jogadores.
Dois funcionários – os dois de pele negra – da publicação testaramo aparelho e afirmam que o sistema teve dificuldade de reconhecer suas faces. Este recurso permite que o Xbox 360 acesse a conta de usuário do jogador automaticamente, além de permitir, em conversas por meio de vídeo, seguir o rosto do jogador. Por conta da falha foi necessário se conectar à conta de usuário do console manualmente, usando um joystick.
O GameSpot disse que apenas a face dos funcionários negros não foi reconhecida, problema que não afetou os games, que puderam ser jogados normalmente. Para este caso, o sistema mapeia o corpo, identificando onde estão os braços, pernas, cabeça e tronco, o que, de acordo com o site, funcionou sem problemas com todos os seus funcionários. Entretanto, a publicação diz que houve problemas quanto um negro tentou entrar em uma partida, já que o recurso depende do sistema de reconhecimento de face.
Durante evento de lançamento mundial do Kinect realizado nesta quinta-feira (4) em São Paulo, o criador do acessório, o brasileiro Alex Kipman, desmentiu as afirmações de que o aparelho não reconheceria pessoas com a pele negra.
“O Kinect não identifica o usuário pela cor da pele. Ele reconhece a distância do jogador da câmera, o que é identificado por meio de tons de cinza. Quanto mais próximo, o jogador fica em tom de cinza claro, quanto mais longe, o tom é cinza escuro”, afirmou. “Além disso, o Kinect tem uma câmera com sensor de calor, para conseguir identidicar o jogador”.
Não é a primeira vez que aparelhos recebem críticas por possíveis falhas no reconhecimento de faces de negros. No final de 2009, um vídeo feito por dois funcionários de uma loja de PCs mostrou que computadores da HP com câmeras embutidas não reconheciam a face de pessoas negras, recurso que permitia seguir o rosto do usuário enquanto ele fala por meio de vídeo, por exemplo.
Na época, a HP culpou a tecnologia da câmera, afirmando que “os algoritmos padrões que medem a intensidade do contraste entre os olhos, a bochecha e o nariz” provocaram os problemas. A empresa disse que era preciso ter uma boa fonte de luz para evitar estes problemas.
FONTE:G1

Uma curiosidade interessante marcou o lançamento do Kinect: segundo o Gamespot, várias pessoas com pele negra estão tendo dificuldades no reconhecimento facial. Esse recurso foi desenvolvido para detectar um jogador simplesmente eetrando na frente do campo de visão do Kinect, eliminando a necessidade de escolher um jogador antes de iniciar o jogo.

Essa é uma falha relativamente comum em webcams com reconhecimento facial, especialmente as de baixa resolução, onde a pele morena ou negra fica mais difícil de se detectar e rastrear; digamos que quanto mais branca a pessoa, mais ele reflete a luz, maior contraste fica a face com o ambiente e mais fácil fica para o sistema. A Microsoft informou que desenvolveu o produto para trabalhar com pessoas de todas as formas e etnias, e que qualquer problema deve ser relatado à empresa, e que a luminosidade ambiente é muito importante para o correto funcionamento.

Quero ver o samba comer no Kinect…


Usuário faz o Kinect funcionar em Windows 7

Poucos dias após a sua chegada ao mercado, o Kinect, acessório para o Xbox 360 que captura os movimentos do jogador, lançado em 4 de novembro nos Estados Unidos, foi adaptado para rodar em computadores com Windows 7. O feito foi divulgado no Youtube por um usuário identificado como KinectMan2 e, embora ainda traga poucos detalhes do funcionamento do equipamento no PC, já representa um bom começo.
De acordo com a Wired, a iniciativa surgiu após a nova-iorquina Adafruit, empresa especializada em desenvolver soluções open source de hardware, oferecer um prêmio de US$2 mil para o primeiro que criasse drivers de código aberto para o lançamento da Microsoft.

A grana, no entanto, não parece ser o foco do responsável pela façanha e ele sequer pretende disponibilizar ao mundo as suas ferramentas, conforme o Engadget. Na verdade, ele declara ter “grandes planos pessoais”. Os vídeos foram postados no fórum do NUI Group que, segundo a Wired, foi o mesmo grupo que, em 2008, disponibilizou drivers que transformavam a câmera Playstation Eye em uma webcam comum para Windows.

Apesar de a imprensa internacional declarar que o equipamento foi hackeado, a Microsoft ressalta que, na verdade, não foi bem isso que aconteceu. “O Kinect não foi hackeado – de nenhuma forma – uma vez que o software e o hardware que são parte do acessório não foram modificados”, explicou a companhia em um comunicado à Gamespot. “Alguém criou drivers que permitem a outros dispositivos interagir com o Kinect”, completou. Isso não significa, é claro, que a gigante admite a prática, ressaltando que a criação desses drivers para outros aparelhos não é permitida e encorajou os consumidores a utilizarem o Kinect apenas no XBox 360, para obter “a melhor experiência possível”.
De acordo com o Guru3D, a empresa ainda ressaltou que não tolera a modificação de seus produtos e que, com o Kinect, “desenvolveu diversas proteções de software e hardware para reduzir as chances de adulteração do produto”.

Kinect no Windows 7
Kinect no Windows 7
Kinect no Windows 7

Fugir das multas de trânsito com Android

Trapster é um aplicativo para Android que permite fugir das indesejadas multas de trânsito. Fácil de usar e grátis, funciona com a ajuda da comunidade de usuários.

Você não aguenta mais as multas de trânsito. Perde a paciência quando tem de consultar as multas no Detran, gasta um dinheirão e muitas vezes acredita que recebeu a multa injustamente. Os dispositivos antirradar são oficialmente proibidos. É preciso dirigir com atenção redobrada ou usar o Trapster no celular.

O Trapster avisa onde estão os possíveis radares. Você acompanha tudo em um mapa atualizado em tempo real. São várias opções de alertas diferentes. O Trapster acusa se há radares, câmeras em semáforos, batidas permanentes e policiais escondidos.

O sistema de alertas dinâmicos do Trapster é o grande ponto forte. Não precisa ficar de olho no visor do celular o tempo todo. Por usar tecnologia GPS, o Trapster usa a velocidade e a direção do deslocamento para que soem os avisos sonoros. Tudo isso, claro, se o aparelho tiver GPS.

Sua cidade ainda não possui registros de radares pelas ruas? No Trapster você adiciona os pontos críticos que quiser manualmente. Claro que sua indicação é avaliada pela comunidade do Trapster. Crie uma conta grátis no serviço e compartilhe a informação com todo mundo. O orçamento fica mais equilibrado com o Trapster e você dirige com mais tranquilidade.

Requisitos mínimos para Trapster:
  • Sistema: Android
Séries completas de celulares :
  • Android 1.1
  • Android 1.6
  • Android 2.0
  • Android 2.0.1
  • Android 2.1
  • Android 2.2
  • Android 1.5

Situação do Trânsito de SP, RJ ou BH diretamente do seu celular Android

Apontador Trânsito é um aplicativo para Android que informa em tempo real a situação do trânsito das cidades de São Paulo, Rio de Janeiro e Belo Horizonte.

Você está prestes a sair do trabalho e ir direto para um jantar no outro lado da cidade. Com sorte, você chega na hora. Mas, se der azar e você pegar aquele engarrafamento, não chega nem para a sobremesa. Evite esse tipo de problema com o Apontador Trânsito!

Com o Apontador Trânsito você se mantém informado sobre as condições de circulação. É possível acompanhar as últimas notícias sobre o tráfego e ficar informado de acidentes e engarrafamentos. Você pode inclusive acessar os principais corredores de trânsito da cidade e saber que trechos estão livres e quais estão cheios.

Também é possível conferir o mapa da cidade com indicações do tráfego no Apontador Trânsito e assim fica mais fácil planejar o melhor caminho. Há também a opção de marcar como “Favoritos” os corredores mais frequentes para facilitar o acesso à informação mais utilizada.

Você também pode conferir as câmeras de trânsito das estradas e das cidades (no momento São Paulo não está disponível) com o Apontador Trânsito, para ver por si próprio como estão as ruas e rodovias.

Na aba de notícias você acompanha as novidades e acidentes de tráfego. O Apontador Trânsito também tem o recurso “Trânsito ao Redor” que, pelo GPS do celular, detecta a sua localização e informa sobre o trânsito da área. O Apontador Trânsito também permite escrever um endereço específico e obter informações relacionadas.

Nunca mais chegue atrasado por causa do trânsito! Instale o Apontador Trânsito e saiba sempre as melhores opções viárias.

Requisitos mínimos para Apontador Trânsito:
  • Sistema: Android
Séries completas de celulares :
  • Android 2.0
  • Android 2.0.1
  • Android 2.1
  • Android 2.2
  • Android 1.5

 

Matéria e Download: http://apontador-transito-andr.softonic.com.br/celular


Visual Studio 2010 – Novidades

O Microsoft Visual Studio 2010 Ultimate é um conjunto completo de ferramentas de gerenciamento de ciclo de vida do aplicativo para equipes, que garante resultados de qualidade, desde o design até a implantação. Seja para criar novas soluções ou aperfeiçoar aplicativos existentes, o Visual Studio 2010 Ultimate permite que você dê vida a suas ideias através de um número cada vez maior de plataformas e tecnologias — incluindo computação paralela e em nuvem.

Elimine o problema de “não reprodução” com o IntelliTrace

O novo recurso IntelliTrace torna o problema de não reprodução de bugs coisa do passado. Os testadores podem arquivar bugs ricos e acionáveis com informações do sistema e até mesmo incluir um instantâneo do ambiente, para que os desenvolvedores possam reproduzir o bug reportado no estado em que foi encontrado.

Entenda a arquitetura existente

O Architecture Explorer ajuda você a entender e expandir o valor de seus ativos de código existentes e suas interdependências. Você pode produzir modelos detalhados de como exatamente um aplicativo é construído e explorar áreas específicas para obter um entendimento mais profundo.

Garanta a conformidade arquitetônica

Use o novo diagrama em camadas para definir e comunicar a arquitetura lógica do aplicativo e para validar artefatos de código na arquitetura necessária. Os diagramas em camada ajudam a manter seus esforços de desenvolvimento alinhados para que seu aplicativo corresponda à sua visão original.

Adote testes manuais

O Visual Studio Test Professional 2010, parte do Visual Studio 2010 Ultimate, fornece uma ferramenta única para capturar e atualizar testes de requisitos, automatizar navegação de testes manuais e agilizar a correção e aceitar o ciclo capturando todo o contexto do teste. Isso oferece aos desenvolvedores tudo que precisam para garantir que cada erro seja reproduzível.

Seja proativo no gerenciamento de projetos Agile

O Visual Studio 2010 Ultimate foi otimizado para corresponder ao processo de desenvolvimento iterativo atual com recursos que ajudam o usuário a permanecer produtivo e a reagir aos possíveis riscos antes que eles aconteçam. Você pode monitorar a integridade do seu projeto usando relatórios que são gerados automaticamente, além de gerenciar a capacidade de seu projeto com dados históricos e documentos de planejamento arquitetados no Microsoft Excel.


Geração de código a partir de um diagrama UML – Paralelismo – IntelliTrace

UML e Geração de código com T4

postei aqui sobre a geração de código com o T4. A maior parte das pessoas que acompanha meus posts e comentários sabe que sou adepto da geração de código, seja pelo uso de DSL´s ou ferramentas de geração a partir de templates. Cerca de 60% do código de um aplicativo LOB é relativo a cadastros e creio que toda a parte cadastral é factível de ser gerada automaticamente a partir de um modelo (de banco de dados, uml, dsl ou outro tipo de metadado).

Bem, todos sabem que o novo Visual Studio tem UML. Porém, o que poucos sabem é que no novo VS podemos estender e usar o UML para criar profiles (pense em criar seu stereotypes) e gerar código a partir de um diagrama UML com o apoio do T4.

Dê uma olhada neste post do Oleg Sych para entender do que estou falando. Me diga depois se isto não pode aumentar muito a produtividade e promover o uso de MDD.

E para quem quer ter uma ótima introdução e referência ao T4, dê uma olhada em outro post do Oleg Sych… parece até um dos posts do Waldemir de tanto link 😉

Paralelismo

Continua a enxurrada de bons textos sobre o que tem de novo e melhores práticas com as novas bibliotecas de paralelismo do .Net Framework 4.0. Neste link você encontra os novos textos que saíram esta semana:

  • OptimizingUsingConcurrencyVisualizer.pdf
  • ParallelProgramsinNET4_CodingGuidelines.pdf
  • ParentChildTPLTasksRelationship.pdf
  • PerformanceCharacteristicsOfSyncPrimitives.pdf
  • PerformanceCharacteristicsOfThreadSafeCollection.pdf
  • PLINQOrderingModel.pdf
  • TPLOptionsTour.pdf
  • UsingCancellationinNET4.pdf
  • UsingPLINQinOfficeAddins.pdf
  • WhenToUseParallelForEachOrPLINQ.pdf
  • WorkflowAndParallelExtensionsinNET4.pdf

IntelliTrace

Por fim, insisto em vocês darem uma olhada no mecanismo de IntelliTrace (ou Historical Debugger) do Visual Studio novo. Ele permite gravar dados de uma sessão de uso do seu programa para você depois simular uma sessão de depuração com o histórico do que ocorreu naquela sessão.

Imagine alguém testando seu programa e encontrando um erro. Imagine agora você recebendo um arquivo de histórico desta sessão e podendo checar o que aconteceu, vendo por onde o programa passou e olhando os valores das variáveis em uma chamada ou em qualquer outro ponto do programa. Isto é o IntelliTrace.

Existe ainda pouca literatura sobre o IntelliTrace. Mas nas minhas pesquisas achei:

Se achar mais artigos semelhantes, por favor, me envie seus os links para divulgarmos. Esta tecnologia é importante demais para ficar pouco conhecida.


Kinect, chega ao Brasil por R$ 600

http://g1.globo.com/tecnologia/noticia/2010/11/sistema-kinect-que-usa-corpo-como-joystick-chega-ao-brasil-por-r-600.html

  O Kinect é um dos maiores lançamentos da Microsoft em 2010. O acessório que capta os movimentos dos jogadores e os transfere para dentro dos games, sem a necessidade de joystick, conhecido anteriormente por Project Natal, chega às lojas do Brasil no dia 18 de novembro pelo preço de R$ 600.

Cena de 'Corredeira', modalidade presente no game 'Kinect Adventures', que acompanha o Kinect.