quinta-feira, 10 de junho de 2010

Continuaremos no DevIsland

Developers!

Para quem seguia este blog gostaria de informar que não iremos mais atualiza-lo porque vamos focar o DevIsland.

E aproveitando o último post gostaria de convidar todos para participarem do DevDay.

sexta-feira, 7 de maio de 2010

DevDojo reúne desenvolvedores de software em torno de desafios de programação


A segunda edição do DevDojo - uma iniciativa do Projeto DevIsland - acontece no dia 15 de maio, no Colégio Técnico da UFMG (Coltec), de 9h às 11 horas.  A solução do generic memoization combinada na primeira edição será realizada em forma de kata e, em seguida, os desenvolvedores irão participar de um randori de números fatoriais.

No randori, o desafio de programação é solucionado aos pares - piloto e co-piloto -, em turnos cronometrados e com rodízio de participantes a cada turno. Já no kata, a solução é demonstrada e todos os presentes devem conseguir reproduzi-la.

O líder do Projeto, Douglas Aguiar, está satisfeito com a mobilização da comunidade de desenvolvimento. “A primeira edição foi bem avaliada pelos participantes, que definiram conjuntamente o tema do segundo encontro”. 

A entrada é gratuita e solicitamos a doação de um quilo de alimento não perecível. Os alimentos serão doados a instituições beneficentes da Região Metropolitana de Belo Horizonte. As inscrições podem ser feitas no site http://devisland.com/DevDojo/inscreva-se-para-segundo-devdojo.htm. As vagas são limitadas.  

No primeiro DevDojo, foi realizado um kata bem simples relacionado a números de Fibonacci. Os alimentos foram doados para a campanha Coração Solidário ao Rio, que arrecadou, ao todo, quatro toneladas de roupas, brinquedos e utensílios e uma tonelada de alimentos para as vítimas do Morro do Bumba, em Niterói. 

Sobre o Coding Dojo

A proposta do DevDojo é instituir o modelo de coding dojo em Belo Horizonte, estimulando os desenvolvedores a aprender e compartilhar práticas ágeis, a partir da solução de desafios de programação.  A cada edição, o nível de complexidade do desafio aumenta e a solução torna-se cada vez mais divertida e envolvente, resultando na melhoria contínua das habilidades de programação.

Sobre o DevIsland

O Projeto DevIsland, idealizado pela Siteware, visa promover a comunidade de desenvolvimento mineira, por meio de múltiplas vertentes:
  • ü  Ilhas de Desenvolvimento em parceria com Centros Tecnológicos;
  • ü  DevDojo;
  • ü  DevCast (Podcast e/ou Webcast);
  • ü  DevCommunity, uma comunidade de desenvolvimento;
  • ü  DevDay, evento anual com palestras e novidades tecnológicas.


Serviço :
DevDojo – uma iniciativa do Projeto DevIsland
Data: 15 de maio
Horário: 9h às 11 horas
Local: Coltec - Av. Antônio Carlos, 6627 – Pampulha - Como chegar
Mais informações:  http://devisland.com/DevDojo  - Vagas limitadas

quinta-feira, 15 de abril de 2010

Coding Dojo agita comunidade de desenvolvimento de software em Belo Horizonte

A primeira edição do DevDojo – uma iniciativa do Projeto DevIsland - acontece neste sábado, 17 de abril, no Colégio Técnico da UFMG (Coltec), de 9h às 11 horas.  A proposta é instituir o modelo de coding dojo em Belo Horizonte, estimulando os desenvolvedores a aprender e compartilhar práticas ágeis, a partir da solução de desafios de programação. 

Nesse primeiro encontro, o DevDojo prevê a realização de um kata bem simples para integrar os participantes, já que dessa forma é possível envolver um número maior de desenvolvedores na sessão de programação. A equipe do DevIsland irá demonstrar a solução de um problema relacionado a números de Fibonacci. A cada edição, o nível de complexidade do desafio aumenta e a solução torna-se cada vez mais divertida e envolvente, resultando na melhoria contínua das habilidades de programação.

De acordo com o coordenador do Projeto, Douglas Aguiar, ”a expectativa é integrar cada vez mais a comunidade de desenvolvimento, a fim de qualificar os profissionais para atender à crescente demanda da indústria de software de Minas”. 

A entrada é gratuita e solicitamos a doação de um quilo de alimento não perecível. Os alimentos serão doados a instituições de caridade da Região Metropolitana de Belo Horizonte. As inscrições podem ser feitas no site http://devisland.com/DevDojo. Vagas limitadas.  

Sobre o DevIsland

O Projeto DevIsland, idealizado pela Siteware, visa promover a comunidade de desenvolvimento mineira, por meio de múltiplas vertentes:


  • ü  Ilhas de Desenvolvimento em parceria com Centros Tecnológicos;
  • ü  DevDojo;
  • ü  DevCast (Podcast e/ou Webcast);
  • ü  DevCommunity, uma comunidade de desenvolvimento;
  • ü  DevDay, evento anual com palestras e novidades tecnológicas.

Serviço :
DevDojo – uma iniciativa do Projeto DevIsland
Data: 17 de abril
Horário: 9h às 11 horas
Local: Coltec - Av. Antônio Carlos, 6627 – Pampulha - Como chegar
Mais informações:  http://devisland.com/DevDojo  /  (31) 3286-4988 - Vagas limitadas
Fonte: Douglas Aguiar - Coordenador do Projeto DevIsland e Gerente de Desenvolvimento da Siteware

segunda-feira, 12 de abril de 2010

Inscrevam-se para o primeiro DevDojo do DevIsland

Inscrevam-se para o primeiro DevDojo do DevIsland - http://bit.ly/devdojo!

Venha participar do primeiro coding dojo do DevIsland. Será dia 17/04/2010 de 9 às 11 horas.

O DevDojo será realizado no COLTEC que fica no campus da UFMG em Belo Horizonte. O estacionamento tem vaga à vontade. E a lanchonete estará aberta.

Neste primeiro encontro explicaremos como funciona um coding dojo e realizaremos um Kata bem simples sobre números de Fibonacci.

Para participar inscreva-se pelo endereço http://bit.ly/devdojo.

Espero ver toda a comunidade lá!

quarta-feira, 7 de abril de 2010

DevDojo - O Coding Dojo do DevIsland

Iremos realizar o primeiro coding dojo do DevIsland. Que será batizado de DevDojo.

Neste primeiro DevDojo iremos explicar para todos os participantes o que é um coding dojo e vamos realizar um kata bem simples para todos entenderem na prática como funciona um coding dojo.

Será necessário realizar uma inscrição para participar do evento.

O link para se inscrever será divulgado no dia 12 (próxima segunda) aqui e pelo twitter do @DevIsland.


Fiquem de olho!

domingo, 21 de março de 2010

Charting com ASP.NET MVC

Com o crescimento da utilização do ASP.NET MVC, novas duvidas tem surgido, e com elas algumas soluções não tão legais.
Na implementação de gráficos por exemplo, é possível encontrar algumas sugestões bem interessantes, mas que vão contra alguns princípios do padrão MVC. Dessas soluções podemos citar como exemplo criar codebehind na View para que o gráfico seja criado como no finado WebForms através de web controls, ainda neste sentido outra solução é escrever o código que gera o gráfico direto na View e dar um response.write na stream gerada no gráfico. Ambas soluções apresentadas ferem o conceito de KIS (Keep It Simple) pra quem não conhece esse conceito é só dar uma olhadinha nesse
vídeo muito bem bolado pela galera do Rails.
Desta forma, você encontrará abaixo uma forma mais elegante de trabalhar com Gráficos no ASP.NET MVC.

Então, chega de embromation e mãos a obra, nesse exemplo foram utilizados:
- Visual Studio 2010 RC,
- .NET 4
- ASP.NET MVC 2
- Biblioteca Chart Controls da Microsoft. Disponível para
download aqui (Após o dowload, execute o setup)

Lembrando que esse artigo não tem como objetivo discorrer sobre os recursos da biblioteca de gráficos da Microsoft, mas sim apresentar uma maneira elegante de trabalhar com ela juntamente com ASP.NET MVC.

Passo 1 – Crie um projeto ASP.NET MVC e dê um nome de sua preferência.
Passo 2 - Adicione no projeto a referência a System.Web.DataVisualization

Passo 3 - Criar um ActionResult para Gerar o Gráfico.
Para simplificar um pouco optei por fazer as implementações na Controller HOME que já é criada por default no projeto de MVC.

Adicione os namespaces na System.IO e System.Web.Visualization.Charting no Controllers
using System.Web.UI.DataVisualization.Charting;
using System.IO;
Vamos criar o ActionResult que retornará uma imagem png do gráfico. Vamos ao código:

public ActionResult GerarGrafico()
{
// Gerando duas series com 4 números aleatórios cada
Random r = new Random();
List valoresSeries1 = new List() { r.Next(100), r.Next(100), r.Next(100), r.Next(100) };
List valoresSeries2 = new List() { r.Next(100), r.Next(100), r.Next(100), r.Next(100) };

//Criando o Chart e setando suas propriedades gerais
Chart grafico = new Chart();
grafico.Width = 400; // largura
grafico.Height = 320; // altura
grafico.RenderType = RenderType.ImageTag; // Tipo da renderização do gráfico.
grafico.BorderSkin.SkinStyle = BorderSkinStyle.Emboss; // Estilo da Borda
grafico.BorderColor = System.Drawing.Color.FromArgb(26, 59, 105); // Cor da Borda
grafico.BorderlineDashStyle = ChartDashStyle.Solid;
grafico.BorderWidth = 2; // Largura da Borda
grafico.Titles.Add("Gráfico com ASP.NET MVC"); // Título - Pode haver mais de um título
grafico.Palette = ChartColorPalette.BrightPastel; // Paleta para as cores das series

//Adicionando Legenda
grafico.Legends.Add("legend1");
grafico.Legends["legend1"].Title = "Legenda"; //Titulo
grafico.Legends["legend1"].LegendStyle = LegendStyle.Row; //Estilo da legenda

//Adicionando Area do Gráfico
grafico.ChartAreas.Add("Area1");
grafico.ChartAreas["Area1"].Area3DStyle.Enable3D = false; // Se quiser 3D mude pra true e pronto :D

//Adicionando as series e seus respectivos valores
grafico.Series.Add("serie1");
grafico.Series["serie2"].ChartType = SeriesChartType.Bar;
foreach (double valor in valoresSeries1)
{
grafico.Series["serie1"].Points.AddY(valor);
}

grafico.Series.Add("serie2");
foreach (double valor in valoresSeries2)
{
grafico.Series["serie2"].Points.AddY(valor);
}

//Criando um Memory Stream pra ser passado para o response
MemoryStream ms = new MemoryStream();

//Salvando a imagem do gráfico no Memory Stream e definindo o formato da imagem
grafico.SaveImage(ms, ChartImageFormat.Png);

//Retorna um FileContentReult para o Response
return new FileContentResult(ms.ToArray(), "image/png");
}
Pronto, agora já temos nosso método que retorna nosso gráfico, mas como exibi-lo?

Passo 4 : Inserir uma tag img na View.
Utilizei a View Home/Index também criada automaticamente com a criação do projeto.
<!-- Note que a URL da imagem é o Action Result Criado Anteriormente -->
<img src="<%=Url.Action("GerarGrafico","Home") %>" alt="Charting com ASP.NET MVC" />
Passo 5: Aperte F5 e seja Feliz! :D
Você deverá ver resultado semelhante a imagem abaixo:


Considerações finais:
Construindo gráficos desta forma você mantem sua View stupidamente simples e ainda não precisa salvar a imagem do gráfico no disco.

Aconselho fortemente a estudarem bastante esta biblioteca de gráficos, ela é muito rica, e possibilita muita coisa legal como a utilização de ajax para dados dinâmicos, vários estilos e formas de gráficos e etc. Além disso a Microsoft disponibiliza o Download de vários exemplos implementados que auxiliam bastante!

Então, por hoje é só.
Até a próxima.

Flavio Silva
@flavio1110
@DevIsland
MSN: flaviocsilva1110@hotmail.com

terça-feira, 16 de março de 2010

Habilitando Indicadores de Performance 32-Bits no Windows Server 2003 x64 (64-bits)

O primeiro passo é executar um comando que faz com que o serviço de log dos contadores de performance rodar em modo de compatibilidade com 32-Bits. Contadores de desempenho de aplicações 32-Bits não ficam visíveis para o log do nativo do Windows 64-Bits.
O comando abaixo deve ser executado para fazer com que o log rode em modo de compatibilidade:

sc config SysmonLog binPath= %systemroot%\SysWOW64\smlogsvc.exe

ATENÇÃO: Não se esqueça do espaço após o sinal de = (igual).

Após a execução deste comando podemos criar o nosso log. Para que a ferramenta de criação do log veja os contadores de performance 32-Bits a mesma também deve ser executada no modo de compatibilidade usando o seguinte comando:

%systemroot%\SysWOW64\Perfmon.exe

Desta forma você poderá visualizar todos os contadores de performance de aplicações 32-Bits.