Amanhã: Evento Great2B

Olá pessoal,

Amanhã estarei dando uma palestra no CIn-UFPE para mostrar a todos que se interessarem, todos os detalhes do novo programa da Microsoft para estudantes: o Great2B. Ja tinha falado um pouco sobre o programa neste post mas acredito que muitas pessoas ainda não entendem direito como funcionará.

A palestra de amanhã é justamente para apresentar “oficialmente” e tirar as dúvidas de todos os presentes que desejem fazer parte do programa.

No evento, também será sorteado 1 pen-drive para quem se cadastrar e mais outros brindes.
Será bem legal, não percam! O evento será na hora do almoço justamente para várias pessoas puderem ir.

Onde: Auditório do CIn-UFPE
Data: 11/06/2008 (quarta)
Hora: 13h as 14h

Espero todos lá!

MIX Essentials: Como foi.

Olá Galera,

Estou preparando um post legal pra contar como foi minha aventura na final Brasileira da Imagine Cup este ano, mas enquanto não está pronto, quero falar um pouco sobre o evento que tive a oportunidade de participar na mesma semana lá em São Paulo, o Mix Essentials.

Como o nome sugere e foi como foi falado em outro post aqui mesmo, o MIX Essentials tinha como objetivo atualizar os profissionais brasileiros com todas as novidades e o que teve de melhor no MIX “oficial” que aconteceu em Las Vegas. O evento foi mais focado para Designers e não tanto para desenvolvedores, e as sessões com foco em desenvolvimento falavam em geral de Silverlight e Ferramentas Expression.

Muitas das palestras, como esperado, mostravam as novas tecnologias da Microsoft direcionadas com experiência do usuário na web, o Silverlight e o WPF. Porém, sem quase nenhuma novidade. Pelo menos pra nós, estudantes de células acadêmicas e MSPs que estamos sempre ligados nas novidades que vem surgindo, estudando e palestrando em diversos locais, 90% do que foi mostrado no evento nós já sabíamos. Na verdade, muito conteúdo foi mostrado superficialmente, sem aprofundamentos e detalhes, ao contrário do que nós MSPs, fazemos quando damos palestras sobre os mesmos assuntos por aí. Como o foco foi para Designers, realmente não podemos reclamar =P

O evento também foi um pouco chato no início porque foi mais voltado para mostrar cases de algumas empresas do país que estão tentando melhorar a experiência dos seus usuários, mas que não eram tão empolgantes assim não. Também foi falado sobre o Visual Studio e o Team System e o Internet Explorer 2008, também tudo que já sabíamos decorado. Outro fato inusitado foi uma das palestrantes mostrar uma parte de um filme pornô só pra mostrar como o site mostrava os produtos da vitrine, que no caso eram lingeries…. ¬¬ Parece mentira mas ela botou mesmo, e o melhor, num Macbook pro.

Ah, uma das palestras nunca tinha assistido! Roberto Soninno apresentou seu projeto Ecologger, vencedor brasileiro da Imagine Cup e como era meu concorrente, foi a primeira vez que vi a apresentação do projeto dele =)

Brincadeiras a parte, o evento foi bem legal, organizado e bonito, algumas palestras realmente interessantes, só ficou aquém das expectativas de muitos MSPs que conversei por lá realmente na parte “novidades”. Pra quem já estava antenado, quase nada de novo, pra quem realmente estava “voando” ou não estava tão por dentro das novidades Microsoft nesta área, com certeza se atualizaram bastante. Agradeço a Microsoft por ter me dado a oportunidade de participar, porque querendo ou não, nunca voltamos vazios e consegui aprender algumas coisas lá sim, deu pra dar uma nova empolgada nesses novos lançamentos que ainda poucas pessoas conheçem bem. Abraço especial também pra Patrícia Arouck pela paciência e por todo o trabalho para acolher os MSPs que estavam por lá!

Assim que puder posto fotos do evento aqui.
[]’s

Título de SD da Imagine Cup Brasil 2008 vem para Pernambuco

Pessoal, após ser avisado por nosso amigo Lucas Mello, que estava assistindo ao vivo a transmissão da final da Imagine Cup, entrei em contato com Renato Ferreira, da equipe Ecologix, finalista da Imagine Cup, e confirmei: a equipe de Renato, Carlos Eduardo ambos estudantes aqui do CIn, e dos irmãos Roberto e Eduardo Sonnino de São Paulo foi a campeã nacional com o projeto Ecologger. Eles irão para a França, no período de 3 a 8 de julho, representar nosso país nas finais mundiais. Acabou de sair notícia no Pernambuco.com também: http://www.pernambuco.com/ultimas/nota.asp?materia=2008528171602&assunto=196&onde=1 . Pelo que eu soube por Lucas também, a equipe de Daniel Ferreira, líder de nossa célula, ficou em terceiro lugar, um ótimo resultado!

Parabéns a todos, e lembrando que para que esta hegemonia do CIn e de Pernambuco permaneça, nós devemos nos espelhar nestas equipes e também nos dedicar muito para botarmos mais gente lá nos próximos anos!

Resta saber quando vai ser aquela festinha legal que rola no CIn em homenagem ao pessoal (aka Boca Livre!!!) 😉

UPDATE: notícia saiu no O Globo online, com foto do pessoal:

http://oglobo.globo.com/tecnologia/mat/2008/05/29/equipe_de_estudantes_ecologix_vence_etapa_brasileira_da_imagine_cup_2008-546555774.asp

Acessando dados com .NET

Primeiramente, gostaria de parabenizar todas as equipes pernambucanas que marcarão presença na final brasileira da Imagine Cup 2008, enfatizando o time Try IT no qual Daniel (líder da CIN.NET) faz parte!

Pois bem, meu principal objetivo nesse post é esclarecer como se faz acesso a dados com a plataforma .NET. E, para tal assunto, nada mais que conviniente tratar das tecnologias ADO.NET e LINQ.

O ADO.NET é um conjunto de classes que reúnem serviços de acesso a dados para a plataforma .NET. Ele é uma evolução do ADO(ActiveX Data Object). Sua integração com o Microsoft Visual Studio é total e também é acessível de qualquer linguagem da plataforma .NET.

Sua arquitetura é baseda na figura abaixo, na qual explicarei cada camada :

  • Providers do ADO.NET

Os provedores do ADO.NET são todos aqueles que estão no retângulo esquerdo da figura acima(.NET Framework Data Providers). Essa camada possui provedores especializados para acessar banco de dados de diferentes fornecedores, isso para garantir o melhor proveito da base em que se está trabalhando. Alguns dos providers que estão disponíveis são:

  • Provedor do SQL Server (System.Data.SqlClient)
  • Provedor do Oracle (System.Data.OracleCliente)
  • Provedor do OLEDB (System.Data.OleDb)
  • Connection

Essa é a camada que garante a conexão com o banco de dados. Sua principal propriedade é a string de conexão, que especifica a localização da fonte de dados; e seus principais métodos são Open e Close, usandos para abrir e fechar conexões, respectivamente. É nessa camanda que também ocorre todo o controle de transação. Alguns dos objetos de conexão são:

  • SQLConnection – Do provedor para o SQL Server
  • OracleConnection – Do provedor para o Oracle
  • OleDbConnection – Do provedor para o OleDb
  • Command

Essa camada é a responsável por receber instruções SQL e/ou Store Procedures. Assim como na camada connection, há um objeto command para cada provedor(SQLCommand, OracleCommand,etc) nessa camada. Seus principais métodos são:

  • ExecuteReader: retorna um DataReader, objeto usado para leitura de uma consulta feita na fonte de dados.
  • ExecuteScalar: usado quando o comando SQL retorna um único valor (Ex.: Quantidade de alunos de uma instituição)
  • ExecuteNonQuery: usado quando o comando SQL não retorna nenhum tipo de dado (Ex.: Atualizar os dados do aluno que possui número de cpf igual a 123456789-0). Além de aparentemente não retornar nada, esse método retorna a quantidade de linhas afetadas.
  • DataReader

É a camada usada para representar um conjunto de resultados SQL. Sua vantagem é a extrema rapidez de leitura de dados, porém não podemos modificar os resultados de uma consulta. E, como é uma camada pertencente aos providers, existe um objeto diferente para cada fonte de dados(SQLDataReader, OracleDataReader,etc). Seu principal método é o Read, usado para navegar no resultado da consuta.

Lembrando que até agora estamos trabalhando de forma conectada com o banco de dados. Para não ficar só na teoria, vai um exemplo de código:

  • DataAdapter

É a camada especializada em intermediar as requisições de acesso a dados da aplicação e o banco de dados. Ele encapsula comandos SQL e/ou Store Procedures para tal. Seus principais métodos são Fill e Update, responsáveis por preencher o DataSet(veremos no próximo tópico) e atualizar o banco de dados a partir de um DataSet, respectivamente.

  • DataSet

É a camada responsável por gerenciar dados previamente adquiridos por acesso a bancos de dados e/ou arquivos XML. Nessa camada há disposição de objetos que trabalham de forma desconectada ao banco. O resultado de um DataSet fica guardado na memória principal do sistema. A partir daí, podemos navegar, atualizar dados de uma consulta(ainda na mémoria) e, posteriormente, atualizar os dados no banco de dados. Um grande avanço nessa camada é a existência do DataSet Tipado. Através dele podemos detectar erros de nome em tempo de compilação. Segue dois exemplo de cógigo:

Usando DataSet Não Tipado:

SqlConnection conexao = new SqlConnection(“Data Source=MACEIO\\SQLEXPRESS”);
SqlCommand comando = new SqlCommand(“SELECT * FROM Cliente WHERE nome LIKE ‘l%'”,conexao);
conexao.Open();
SqlDataAdapter adaptador = new SqlDataAdapter(comando);
DataSet bancoDataSet = new DataSet(“Banco DataSet”);
adaptador.Fill(bancoDataSet,”Banco DataSet”);
foreach(DataRow row in bancoDataSet.Tables[“Cliente”].Rows)
{
int id = Convert.ToInt32(row[“id”]);
string nome = Convert.ToString(row[“nome”]);
Console.WriteLine(“Cliente com id {0} e nome {1}”,id,nome);
}

Usando DataSet Tipado:


SqlConnection conexao = new SqlConnection(“Data Source=MACEIO\\SQLEXPRESS”);
SqlCommand comando = new SqlCommand(“SELECT * FROM Cliente”,conexao);
conexao.Open();
BancoDataSet bancoDados = new BancoDataSet();
int idCliente = bancoDados.Cliente.idColumn;
string nomeCliente = bancoDados.Cliente.nomeColumn;
Console.WriteLine(“Cliente com id {0} e nome {1}”, idCliente, nomeCliente);

Notem que o objeto BancoDataSet é um DataSet Tipado que representa meu banco de dados, por isso através dele podemos extrair sua tabela Cliente (bancoDados.Cliente). E quando estamos na tabela Cliente podemos extrair suas colunas(id e nome). Observem que essas extrações são feitas usando propriedades, podendo assim que erros de nome sejam detectados em tempo de compilação.

Bem, foram descritos os principais componentes na tecnologia ADO.NET.

Além do ADO.NET, existe outra nova tecnologia para acesso a dados, falo do LINQ (Language Integrated Query). Ele permite que os desenvolvedores enderecem consultas[à fonte de dados] usando a sintaxe de uma linguagem de programação gerenciada, como C# ou VB.NET, ao invés das declarações SQL. O LINQ trabalha de forma similar ao Hibernate, fazendo um mapeamento objeto-relacional. Segue um exemplo que usa tal tecnologia:

BancoLINQDataContext banco = new BancoLINQDataContext();

Table<Cliente> clientes = banco.Clientes;

var consulta = from cliente in clientes
where cliente.nome == “Lucas”
select cliente;

Antes de chegar nesse código ocorreram os seguintes passos:

1) Tinhamos uma tabela Cliente na base de dados
2) O LINQ criou um objeto na minha aplicação que representa a base de dados (BancoLINQDataContext )
3) O LINQ automaticamente criou a classe básica Cliente em minha aplicação C#
4) O LINQ automaticamente fez o mapeamento objeto-relacional (meu objeto Cliente à tabela Cliente)

Depois se fez um código que retorna todos os clientes com o nome “Lucas”. Percebe-se o uso da sintaxe do C# para tal, ao invés do comum SQL. Se bem que essa sintaxe se transformará em SQL depois! Notem também que fazemos consultas em nossos objetos, abstraindo, assim, o banco de dados.

Vale ressaltar que se fez uso na sintaxe do C# 3.0.

O objetivo desse artigo não é detalhar o LINQ, em próximas aulas/posts detalharei um pouco mais dessa nova tecnologia. Então fico por aqui e até a próxima aula!

Mix Essentials.

Acontecerá em São Paulo na próxima semana, um evento show de bola para quem gosta de desenvolvimento web! Trata-se do MIX Essentials. Como o nome sugere, é um evento que vai direto ao assunto, como se fosse uma peneira, trazendo algumas das melhores palestras que aconteceram no MIX Las Vegas para o Brasil. O foco do evento é mostrar as grandes novidades da Microsoft em relação a experiência do usuário na web. É uma ótima oportunidade para se atualizar e interagir com os principais nomes na área.

Dias 29 e 30 de maio de 2008
Local: Auditório Microsoft
Av. Nações Unidas, 12.901- Torre Norte – 31º andar
Horário: 8:30 às 18:30hs

Estarei em SP na semana que vem participando da final nacional da Imagine Cup. Se derem uma brechinha, farei de tudo para estar presente no evento e trazer as novidades para a célula! =)

Mais informações: http://www.msdnbrasil.com.br/mixessentials/

[]’s

Publicado em Notícias. 1 Comment »

Escolha o Design da Imagine Cup 2009!

Pois é, a Imagine Cup 2009 mostra mais uma vez que já está no ar! Depois de anunciado que a final da próxima edição da competição será no Egito (ver post), a organização lanca uma enquete para nós escolhermos qual será o próximo design da competição. São estilos bem diferentes mas gostei de todos, nem sei em qual votar… =P

Ouvi especulações que o tema da Imagine Cup 2009 será livre. Com essa agora do design ser “livre”, deixandando para nós escolhermos, acho que o tema será este mesmo 😀

Votem vôce também!
Link:
http://www.mondorobot.com/microsoft/IC2009/

Finalistas Imagine Cup Brasil – SD

Ontem através de e-mail, a Microsoft anunciou as 8 equipes finalistas que irão disputar uma vaga para representar o Brasil na grande final da Imagine Cup em Paris, na França, pela categoria Software Design. Mais uma vez Pernambuco não deixou a desejar e manda 3 equipes para a final brasileira, que ocorrerá ainda este mês na sede em São Paulo.

Estou muito feliz por Pernambuco e mais ainda este ano por estar entre as equipes finalistas com a equipe Try IT. Agradeço em especial a força e ao incentivo que Fabiano, também da equipe, nos deu para continuar nosso projeto, acreditando sempre que iríamos conseguir. Valeu Fabiano!! Agradeço também a todos os colegas que convivo diariamente por terem dado uma força também. \o/ Ah, já ia esquecendo… Abraço especial também para o Sr. José Ferreira, o qual trabalhou 36 anos na Compesa e nos ajudou com bastante informações.

Agora é torcer pelas equipes pernambucanas para representarem nosso estado e nosso país lá na França! Aguardem mais novidades!

Equipes Finalistas Imagine Cup 2008 – SD Brasil

Learn Smart – Unesp
Ecologix – UFPE+USP+Unicamp
Synergy – FIAP
SSL – FIAP
Oysterix – UPE
The Utopians – Univ de BH+ITA
Try IT – UFPE+Salg.Oliveira
Ondine.Net – Ufscar