Concurso: Crie gadgets para o Orkut

Que a rede social Orkut é uma verdadeira mania nacional, ninguém duvida. Para torná-lo ainda mais atrativo para os brasileiros, o Google está lançando um concurso para programadores a fim de incrementar o site. Os três melhores aplicativos ganham prêmios de R$ 8 mil, R$ 5 mil e R$ 2 mil.

A competição acontece paralelamente em vários países e faz parte do OpenSocial, empreendimento coletivo que visa a criar novos widgets, ou seja, pequenos programas criados colaborativamente que podem ser ativados nas redes sociais, de acordo com as preferências de cada usuário.

O programa não precisa estar completo para participar: o desenvolvedor deve mandar apenas um resumo e passará à implementação apenas se for selecionado. Os usuários é que vão escolher os melhores, de acordo com o número de internautas que optarem por usar o widget.

As inscrições vão até 23 de maio. A intenção do Google é turbinar sua rede social, que é a mais famosa do Brasil, mas apresenta baixa popularidade no resto do mundo. Outros sites, como o Facebook, se destacam justamente pelo grande número de opções de aplicativos opcionais.

Fonte: JC OnLine

 

 

Publicado em Notícias. 1 Comment »

Líder da CIN.NET dará aulas no S2B

Mais uma vez Lucas Mello vem fazendo seu papel e orgulhando todos os membros da nossa célula acadêmica! Após ser campeão da edição passada junto com Amirton, Lucas foi chamado para dar aulas em uma das turmas do Microsoft S2B, que está acontecendo na AESO, em Olinda.

Com certeza é uma excelente oportunidade para o crescimento profissional, para o currículo e para nós, da Célula, tê-lo como membro ativo! Agora ele vai ganhar mais experiência e conhecimento, o qual poderemos suga-lo nas suas aulas na célula! =P Brincadeira a parte, meu desejo é que todos nós continuemos a nos esforçar para que a nossa célula continue a trazer bons frutos para Pernambuco e quem sabe, para o mundo! =)

Parabéns Lucas, pela dedicação e esforço, tenho certeza que ainda vamos ver ótimas nóticias suas!
Grande abraço!

Publicado em Notícias, S2B. 1 Comment »

Introdução à linguagem SQL

Pois bem, como em futuras aulas iremos explorar assuntos relativos ao SQL Server, venho através deste post escrever um pouco sobre a linguagem SQL (Structured Query Language), que é uma base para o conhecimento e trabalho com qualquer Sistema de Gerenciamento de Banco de Dados(SGBD). Mas, primeiramente, o que é e para que serve um banco de dados?

Quando estamos aprendendo a programar, geralmente fazemos aplicações sem preoculpação com a persistência de dados. Guardamos e fazemos operações sobre os dados em estruturas similares à arrays e listas e, com isso, quando encerramos nossa aplicação os registros simplesmente desaparecem, não ficando guardados para um próximo uso dos mesmos. Por exemplo, imagine a construção de uma aplicação que possui um array de inteiros(int[] a), e em tempo de execução haja o armazenamento do inteiro 2 na primeira posição desse array( a[0] = 2 ) e depois fechamos essa aplicação; em futuras execuções do mesmo não veremos mais o registro que foi inserido nesse array(no caso o número 2). Isso ocorre porque enquanto o programa está em execução, todo seu conteúdo fica na memória principal e portanto, depois de executado, são eliminados da memória. Assim vemos a necessidade de guardar(persistir) nossos dados em algum lugar. Em sistemas simples, geralmente há a persistência de dados em arquivos, porém, quando há a necessidade de manipulações mais complexas, usamos um banco de dados para persistência. O banco de dados fica na memória secundária(disco), por isso ele não é “apagado” após a execução do programa. Então essa é a grande motivação para estudarmos um pouco de banco de dados e seus sistemas gerenciadores, em especial o SQL Server. Mas, onde a linguagem SQL entra nisso?

Bem, como já sabemos ONDE guadar e de onde recuperar os registros de uma aplicação, agora veremos COMO fazer isso. É aí que “entra em campo” a linguagem SQL. Essa linguagem foi criada nos anos 70 juntamente com o conceito de banco de dados relacional, por pesquisas patrocinadas pela IBM. O SQL é uma linguagem padrão que serve tanto para manipulação quanto para definição de dados. Com ela, além da possibilidade de inserir, deletar, pesquisar e alterar registros em um banco de dados, podemos também definir e contruir relações(tabelas). Ela é trabalhada sobre o paradigma declarativo. Hoje em dia vemos vários sistemas de banco de dados, como os da Oracle, Postgree, MySQL, SQL Server entre outros. Porém, mesmo que cada um desses bancos tenha sua própria implementação do padrão SQL, existe uma parte básica comum a todos eles. Veremos agora alguns exemplos que usam a linguagem SQL.

Imagine que se tenha uma aplicação bancária(quanta originalidade) e queremos guardar todos os clientes e contas de um banco. Cada cliente possui um cpf, nome e idade. Cada conta possui um número, saldo e referência para seu dono(cliente). Então teremos que usar a linguagem SQL para criar e manipular tais estruturas. A sintaxe SQL para esse exemplo funciona assim:

CREATE TABLE CLIENTE (
CPF VARCHAR2(14) NOT NULL,
NOME VARCHAR2(50) NOT NULL,
IDADE INT;
CONSTRAINT “PK_CLIENTE ” PRIMARY KEY (CPF )
);

INSERT INTO Cliente(cpf,nome,idade) VALUES (111, ‘Lucas’21);

INSERT INTO Cliente(cpf,nome,idade) VALUES (222, ‘Flavio’21);

e assim em diante…

CFF NOME IDADE
111 Lucas 21
222 Flavio 21
333 Joao Paulo 20
444 Amirton 20
555 Daniel 23

Observando a sintaxe, vemos a criação da tabela Cliente e seus campos com o comando “create table Cliente“. Após isso adicionamos registros à tabela com o comando “Insert into Cliente values…“.

Similarmente, faço a criação da tabela para guardar as contas. Nela se observa um campo(CPF_CLIENTE) que guarda a referência para o possuidor da conta. O cliente Lucas, por exemplo, possui a conta de número “1” e saldo “100”.

NUMERO SALDO CPF_CLIENTE
1 100 111
2 200 222
3 300 333
4 400 444
5 500 555

A partir daí podemos fazer consultas sobre as tabelas, por exemplo:

SELECT * FROM CLIENTE //Seleciona todos os clientes do banco

SELECT c.NUMERO FROM CONTA c WHERE c.SALDO > 300 //Seleciona o número de todas as contas com saldo maior que 300

Existem no mercado várias ferramentas que facilitam o acesso a banco de dados, destacando o Hibernate. Elas tentam abstrair ao máximo qual repositório de dados o usuário está usando; porém, por “baixo dos panos” tudo é baseado em SQL.

A idéia desse artigo foi de fornecer uma motivação para o uso de banco de dados e da linguagem SQL. Por isso não houve a necessidade de nos prendermos muito a detalhes de sintaxe. Em próximas aulas da célula, como as de SQL Server e acesso à dados com ASP.NET iremos nos aprofundar um pouco mais.

Publicado em Aulas. Leave a Comment »

Domínio .COM.BR liberado para pessoas físicas

Confira o anúncio feito pelo Registro.br:

Por decisão do CGI.br, o domínio COM.BR, destinado a atividades comerciais genéricas na Internet, também poderá ser registrado sob um CPF. Ou seja, pessoas naturais com atividades comerciais e afins
poderão registrar domínios COM.BR.

Esta modificação terá efeito a partir do dia 01/05/2008.

Inicialmente, somente o domínio COM.BR estará disponível nesta nova categoria, genérica, que permite registro tanto com CNPJ quanto com CPF. Lembramos que, para manter a transparência do registro de domínios .br, pessoas físicas responsáveis por domínios COM.BR estarão sujeitas aos mesmos procedimentos das entidades cadastradas previamente.

O Registro.br monitora constantemente o correto funcionamento de seus domínios. Fique atento aos avisos de problemas DNS e siga nossas recomendações para evitar problemas aos usuários de seus sítios.

Agradecemos a atenção,

Registro.br
http://registro.br/anuncios/20080416.html

Usando System.Drawing no ASP.NET

Olá Pessoal,

Na nossa lista de discussão foi gerada uma pergunta sobre como se usa System.Drawing no ASP.NET. Como a explicação desse assunto envolve vários conceitos interessantes, Daniel me incentivou a publicar este post para responder com mais detalhes.

Existem algumas diferenças básicas na utilização do System.Drawing com Windows Forms e com ASP.NET. A principal delas é que no Windows Forms a plataforma .NET pode fazer chamadas ao sistema para acessar a placa de vídeo do usuário, então você pode desenha diretamente na tela do cliente. Enquanto que no ASP.NET sua aplicação estará rodando em um servidor e o cliente estará mandando requisições e recebendo respostas da sua aplicação possivelmente a quilômetros de distância.

1º Conceito interessante: Requisições

Sabemos que quando um usuário digita o endereço de uma página HTML, o seu browser irá requisitar esta página para o servidor de destino. O que não vemos são as reuisições subsequentes: por exemplo, se nessa página tem uma tag do tipo <img src="imagem.jpg" /> o browser irá enviar uma nova solicitação ao servidor para receber esta imagem. As respostas do servidor contém em seus cabeçalhos informações inerentes à resposta que está enviando, entre elas o tipo da resposta. No caso onde o browser requisitou um documento HTML, o servidor enviou uma resposta que havia em seu cabeçalho a informaçao “content-type: text/html” enquanto que na requisição da imagem, o servidor responde informações com “content-type: image/jpeg”

2º Conceito interessante: No ASP.NET, nem tudo é HTML

No ASP.NET temos a idéia natural de que trabalhamos apenas com páginas web e HTML. Isso é verdade em 99,9% dos casos, mas é bom termos em mente o seguinte: O ASP.NET é feito para gerenciar requisições feitas ao servidor. Essas requisições podem gerar todo tipo de resposta para o cliente (arquivos de imagem, arquivos zip, arquivos pdf, arquivos XAML) e não apenas HTML. Cabe ao programador informar que tipo de resposta será gerada.

Exemplo prático

Para exemplificar o que foi dito acima vamos fazer uma pequena demonstração prática. A idéia é fazer um arquivo Drawing.aspx que, quando for enviada uma requisição a ele, irá devolver uma imagem jpg com um texto passado por parâmetros, como pode ser visto na imagem abaixo:

OlaMundo

Vale ressaltar que neste exemplo, o texto Ola Mundo não é um texto em HTML e sim uma imagem JPEG gerada dinamicamente, à partir do texto informado na barra de endereços. Pode parecer complicado, mas na verdade não é. O primeiro passo, logo após criar o arquivo Drawing.aspx é limpar todo o conteúdo HTML que é gerado automaticamente pelo visual studio, deixando apenas a primeira linha de cabeçalho:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Drawing.aspx.cs" Inherits="Drawing" %>

Depois disso, basta que adicionemos o seguinte código ao Page_Load de Drawing.aspx.cs

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

//Nesta parte redefinimos o tipo de resposta do servidor
Response.ContentType = "image/jpeg";

if (msg != null)
{
Font fonte = new Font("Calibri", 16, FontStyle.Bold);
Brush pincelAzul = new SolidBrush(Color.Blue);
Brush pincelBranco = new SolidBrush(Color.White);


Bitmap bmp = new Bitmap(300, 30);
Graphics graf = Graphics.FromImage(bmp);
graf.FillRectangle(pincelBranco, 0, 0, 300, 30);
graf.DrawString(msg, fonte, pincelAzul, 0, 0);

//Esta é a parte que salva o Bitmap na OutputStream
//A OutputStream é justamente um objeto que guarda tudo
//o que vai ser enviado ao usuário. No caso de requisições
//feitas para este arquivo .aspx, o que será retornado
//ao usuário será uma imagem em formato jpeg em vez de um
//documento HTML

bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
}
}

O projeto pode ser baixado aqui

Espero que tenha conseguido passar um pouco dos aspectos interessantes de se usar System.Drawing no ASP.NET. Apesar do exemplo construído aqui não ter muita utilidade em si, podemos imaginar várias situações onde este conhecimento pode vir a ser útil.

Abraços a todos!

Publicado em ASP.NET, C#. 1 Comment »

Novo Programa da Microsoft: Great2B

A Microsoft Brasil lançou na semana passada, em evento na Unip (Universidade Paulista), seu mais novo programa de capacitação de estudantes para o mercado de trabalho. Composto por treinamentos e oferta de produtos originais para venda, o programa, denominado Great2B, estimula o empreendedorismo, oferecendo benefícios para os jovens. As inscrições estão abertas e devem ser feitas por meio do site www.great2b.com.br.

O objetivo do programa é propiciar o desenvolvimento profissional do jovem, permitindo que ele se torne um consultor em TI com capacitação para diagnosticar e sugerir soluções. “Além de trabalhar com grandes marcas de tecnologia, o jovem terá formação especializada e comissão sobre vendas, com certificação da Microsoft, o que sempre traz valorização e reconhecimento no mercado”, afirma Jorge Salles, Diretor para a América Latina com foco em projetos e programas para promover a utilização do Potencial Ilimitado das pessoas.

O programa está baseado em três pilares: capacitação, vendas e benefícios. A capacitação se dá por meio de um programa de treinamentos para o jovem com foco em tecnologia e vendas, que por meio de pontuação dá direito à certificação Microsoft. As vendas são viabilizadas por meio de um portal que disponibiliza produtos para revenda e a preparação de propostas para comercialização de produtos originais com comissionamento por meio do registro de autônomo. Os benefícios se dão por meio de um programa focado no desenvolvimento profissional dos estudantes, que dá direito a treinamentos exclusivos, certificação e participação em grandes eventos de tecnologia.

Todas as informações sobre o Great2B estão disponíveis no site, que terá ainda uma comunidade para os participantes, com informações e notícias relevantes. É por meio do site que o estudante terá acesso aos portais de vendas e treinamentos, aos programas de benefícios, pontuação e à avaliação de sua performance. “Essa iniciativa estimula o empreendedorismo e visa facilitar a inserção jovem no mercado de trabalho, por isso a importância da parceria do programa Great2B com órgãos como o Sebrae, Universidades e o governo”, conclui Jorge. O programa é parte da iniciativa Potencial Ilimitado, da Microsoft.

Publicado em Notícias. 1 Comment »

Tendência: Padrões Web

O Internet Explorer 8 está perto de ser lançado, com algumas versões beta já disponível. Baixei a versão beta1 para testar e me deparei de cara com uma coisa que me chamou bastante atenção: 90% dos sites que abri vinham totalmente fora do layout… Outra coisa que reparei, na toolbar tem um botão “Emulate IE7”. A primeira coisa que pensei foi: “Ah, esta é uma versão beta, isso deve ser um bug que espero, irão corrigir mais tarde.” Para meu engano, li em outras fontes que não é bem assim. O “erro” que vi nos layouts dos sites que visitei já é esperado.

Qual o problema? A Microsoft resolveu criar uma nova engine para o Internet Explorer que renderize os sites no modo mais complacente com os Padrões Web possível, esse modo está sendo chamado de “Super Standards Mode”. Quando li isso achei excepcional! Com o Internet Explorer renderizando as páginas seguindo fielmente os padrões web, os sites que não seguem o padrão ficarão realmente do jeito que vi, todo fora do lugar.

Há muito tempo que o  sonho de nós, desenvolvedores web, era ter um browser que seguisse os padrões, e não implementasse apenas a renderização do seu jeito, como acontece hoje em dia. Essa moda precisa pegar rapidamente! Já imaginou se todos os browser resolvem seguir essa idéia: renderizar as pagínas segundo os padrões web??? Não precisaremos mais nos preocupar em fazer um site e ficar testando em 4 ou 5 browser diferentes, basta apenas que você desenvolva seguindo os padrões e pronto!

Ou seja, se você não desenvolve sites usando padrões web, começe a se preocupar! Isso porque o Firefox também já sinalizou nas próximas versões 3 e 4 que vai seguir essa tendência também! 🙂 Vamos aguardar ansiosamente para ver isso acontecer! Já imaginou: IE, Firefox, Safari, etc… seguindo os padrões web para renderizar as páginas!!! Seria perfeito! Você escolheria um browser apenas pelas suas features diversificadas que cada um oferece, e não pela forma que você vê a página em um ou no outro.

Essa jogada da Microsoft foi show! A idéia de nivelar tudo por cima, para mim, sempre foi o melhor caminho. Se você não desenvolve com Padrões, ou se desenvolve despreocupadamente, é melhor mudar. Caso você se encaixe neste perfil, há duas opções:

  1. Ou você aplica o Browser Targeting Version. Isso fará com que o IE8 utilize o motor de renderização do IE7 (aquele butãozinho que mencionei no ínicio “Emulate IE 7”)
  2. Ou pára de preguiça e aprende de uma vez por todas a fazer sites padronizados. Para mim, este é o melhor caminho.

Fazer um browser rigoroso, faz com que o mercado saia da zona de conforto e comece a pensar. Tudo sobe um nível e a coisa fica mais interessante. Fiquei muito animado com a notícia e vamos torcer para que os padrões web realmente tomem conta dos browser para forçar nós, desenvolvedores, a desenvolvermos sites com mais qualidade e padronizados!

Como disse, já estou com o IE 8 instalado e pretendo ainda falar bastante sobre esse novo browser, que com pouco dias de uso, mesmo vendo os sites todos fora do lugar, me animei muito com o que ele promete trazer para nós, desenvolvedores!