segunda-feira, 23 de novembro de 2009

Mitos: Cinco coisas que o Google Chrome OS não será

Erros de concepção e desinformação têm cercado o Chrome OS, sistema operacional que está sendo desenvolvido pelo Google, desde o dia em que ele foi anunciado. Na última quinta-feira (19/11), o portal esclareceu parte das dúvidas, mas algumas incertezas sobre o que o sistema vai oferecer continuam.

A imagem final do que o Chrome OS será ficará clara com o tempo. Por enquanto, para entender o que ele será, é preciso antes entender o que ele não será.

Não é o Linux
O Chrome OS é baseado no kernel do Linux, assim como vários outros projetos de código aberto. Mas isso não vai significar nada quando os consumidores comprarem dispositivos com o sistema.

Leia também:
>> Segredos e promessas do Google Chrome OS

Ao ligar o Chrome OS, o usuário será direcionado diretamente para o navegador Chrome. Não há tela de inicialização. No momento o processo de boot leva apenas sete segundos – e o Google afirma que está trabalhando para diminuir esse tempo.

Atualizações serão distribuídas pela internet e o próprio sistema fará questão de garantir que as mais recentes estejam instaladas.

Não é o Android
Quando o Chrome OS foi anunciado em julho, muitos pensaram que o Google faria uma integração entre o sistema operacional para desktops e o para dispositivos móveis, da mesma maneira que fazem Apple e Microsoft.

Mas não será nada disso. O Chrome OS não tenta reproduzir widgets, aplicativos ou APIs do Android, e o navegador do sistema móvel ainda não é o Chrome.

Não espere ver o Chrome OS rodando em smartphones em breve. O Google está trabalhando com parceiros para criar referências para dispositivos com o sistema, e a forma é bastante específica: netbooks.

O Chrome OS não será a próxima geração do Android, ou uma ponte entre smartphones e computadores. Ele será usado em dispositivos como “netbooks 2.0”, pensados e trabalhados para computadores centrados na web.

Não vai acabar com o Windows
Por mais que o Google esteja fazendo o código-fonte do Chrome OS sob uma licença de código aberto, o objetivo não é desenvolver outro sistema operacional para competir com Windows e Mac OS X.

Pelo contrário. O Chrome OS virá pré-instalado em dispositivos feitos pelo Google com parceiros. O consumidor comprará o aparelho com o sistema, não o sistema em si.

Os dispositivos não terão o tradicional Bios dos computadores. Eles terão um firmware feito especialmente para suportar o modelo de computação centrada na web do Google. Assim, não será possível instalar o Windows em dispositivos desenvolvidos para o Chrome OS.

Não rodará seus aplicativos preferidos
Quando o Chrome OS foi anunciado, muitas especulações surgiram sobre que tipo de aplicativos estariam disponíveis na nova plataforma. Ele viria com o OpenOffice.org? Ou algum outro software livre?

Surpresa! O Chrome OS não virá com nenhum aplicativo – e os usuários não poderão instalar nenhum. Todos os aplicativos serão de web, como o Google Docs.

Com o Chrome OS, você não apenas checará e-mails na internet. Você também vai escrever cartas, planilhas, assistir vídeos, ouvir música e conversar com amigos usando aplicativos da web.

Não será lançado em breve
Se você não vê a hora de testar o Chrome OS, prepare-se para mais um desapontamento. Mesmo que o código esteja disponível agora, produtos baseados no sistema só estarão disponíveis no mercado no fim de 2010.

Enquanto esperam, os usuários podem baixar o navegador Chrome para Windows e Linux (e, em breve, para Mac OS X).


domingo, 1 de novembro de 2009

Picasa: faça ajustes básicos de tratamento nas suas fotos!

Conheça as maneiras de se editar fotos por um dos organizadores de imagens mais queridos disponíveis para download.

Se você pensava que o Picasa instalado no seu computador só servia para organizar fotos, fazer colagens e montagens para seus álbuns web está muito enganado. O software do álbum de fotos do Google vai muito além de apenas organizá-las. Com ele você consegue fazer pequenas edições e melhorias na qualidade das suas imagens. E o melhor de tudo é que boa parte deste processo pode ser eliminada com um simples clique no botão que automatiza todo este processo.

Mas antes de começarmos, é preciso lembrar que todas as etapas deste tutorial foram feitas no programa do Picasa e não na versão online, disponibilizada pelo Google. Portanto, certifique-se de que você já tem o programa instalado. Se não, clique aqui para baixá-lo. A instalação não deve tomar-lhe mais do que alguns minutos. Contudo, o que pode levar mais tempo é a importação de imagens do seu computador para o programa – uma vez que este processo depende da quantidade de imagens e da velocidade do seu PC.

Agora que o Picasa já está instalado e com as fotos carregadas, é hora de escolher uma delas e editar! Para abrir as abas de edição, clique duas vezes na foto com a qual você deseja trabalhar e aguarde alguns instantes. Note que irá aparecer um menu com três abas: “Básico”, “Ajuste” e “Efeitos”. Comece pela aba “Básico”, para criar uma boa base para outros recursos. Note que existe uma boa variedade do que pode ser feito para aumentar a qualidade da imagem. Porém, o mais importante a ser feito (e que resolve 90% dos casos) é modificar os valores de brilho, contraste e nitidez da foto.

Portanto, é hora de colocar as mãos na massa! Existem dois modos de otimizar a sua foto pelo Picasa. O primeiro e mais simples deles é o botão “Estou com sorte”, que encontra qual pode ser a melhor configuração de contrastes e brilhos para a sua imagem. Caso você não tenha gostado do resultado, é possível desfazê-lo. Basta clicar no botão “Desfazer Estou com sorte”.

Tratando suas imagens manualmente

Para quem prefere editar fotos manualmente, o Picasa proporciona este gosto também. Contudo, o processo não é inteiramente manual como o que acontece em editores profissionais de imagem como o Photoshop. As correções que o Picasa permite fazer no modo manual se restringem apenas ao “Brilho”. Toda a correção de contraste da foto é feita automaticamente através do botão “Auto Contraste”.

Não se assuste se você não encontrar o controle “Brilho” no painel de ferramentas do Picasa. Este controle está exibido com um outro nome, “Luz de preenchimento”, e é acompanhado de uma barra de alteração de valores. Arraste o ponteiro pelo traçado para aumentar ou diminuir a incidência de luz na sua imagem. Lembre-se de manter um valor mediano. Se você usar pontos muito baixos ou muito altos, a qualidade da imagem não ficará boa. Logo que você terminar de arrastar, as mudanças já estarão instituídas na sua foto.

Iluminação, sombras e cor

Como todo bom editor de imagens, o Picasa também tem elementos de edição de iluminação, destaques (que corresponde ao “highlight” do Photoshop), sombras e temperatura de cores. Para acessá-los, clique na segunda aba, “Ajuste”. Você verá uma série de barras de controle que devem ser arrastadas para tornar estes atributos mais harmoniosos na sua foto.


O primeiro deles, “Luz de preenchimento”, funciona como a ferramenta citada anteriormente – ou seja, opera como a função “Brilho” de outros editores.


O segundo, “Destaques”, irá alterar a intensidade das luzes altas da sua foto. Locais com cores claras ou com alta incidência da cor branca tendem a ser destacados ao aumentar o valor desta barra.


Em “Sombras”, o Picasa irá aumentar ou diminuir a força das áreas escuras da imagem de modo que as cores fiquem mais contrastadas. Entretanto, esta ferramenta não substitui o recurso “Contraste”.



O recurso “Temperatura da cor” funciona como um seletor de ênfase em um determinado grupo de cores. Isto significa que se o ponteiro for colocado em valores muito baixos, as cores com maior destaque serão as que pertencem ao grupo das ditas “Cores Frias”. O contrário também é válido. Se o ponteiro estiver em valores mais altos, as cores destacadas serão as “Cores Quentes”.

Porém, como de costume, o Picasa oferece o caminho mais fácil e rápido para executar estas tarefas. Clique em qualquer um destes botões para acelerar e tornar tudo automático. Contudo, assim como o outro botão de automatização de ferramentas (), as cores podem parecer um tanto artificiais ou o contraste pode não ser satisfatório. Cabe a você escolher qual caminho é melhor.

Efeitos: decore e personalize suas fotos

Por último e não menos importante, o Picasa também possui efeitos para deixar as suas fotos cada vez mais bonitas. Depois de utilizar os reparos básicos, é hora de escolher qual efeito fica melhor na sua imagem. As opções oferecidas são bastante variadas – do aumento de nitidez ao tingimento gradual, todos podem figurar como bons complementos para a sua foto.

Ao selecionar um efeito, você verá uma janela com duas barras de controle ou estas mesmas barras com um seletor de cores, dependendo de qual foi o escolhido. Arraste os ponteiros e selecione as cores que quiser para ajustar às suas preferências e ao final de tudo, clique em “Aplicar”.

Note que os efeitos “Sépia”, “P&B”, “Tons Quentes” e “Granulação” possuem uma cantoneira azul. Esta marcação significa que o efeito não é personalizável e ficará do jeito que é exibido na miniatura. Contudo, você pode adicionar outros efeitos depois deste que o resultado não será perdido.


Muito bem, agora que você já sabe que o Picasa não se limita a organizar, fazer colagens e montagens das suas fotos, dê outra chance a ele e comece a fazer pequenos reparos nas suas imagens! Os resultados não ficam devendo nada a qualquer outro editor!

Fique ligado para mais artigos e dicas do Baixaki! Até a próxima!

segunda-feira, 26 de outubro de 2009

Fazendo uma mágica com Realidade Aumentada

Realidade Aumentada e Interação estão na pauta do InterCon 2009. No Ambiente Criação e Inovação, representantes do laboratorio.us farão uma demonstração de computação pervasiva. Além disso, acontecerão discussões sobre games, produção interativa, propagandas trasmídia e interativa. Já na área de Mobilidade, dentro do Ambiente Tecnolgoia, Fabiano Coura, diretor de planejamento da Neogama/BBH vai falar sobre a presença mobile do Bradesco com a Realidade Aumentada (veja aqui o vídeo de um app para iPhone usando RA). Esses são apenas alguns temas que o InterCon 2009 vai trazer para você. Não perca.

Você já deve ter ouvido falar em Realidade Aumentada, uma tecnologia que está virando moda em uma velocidade assustadora. Que tal começarmos a "brincar" de Realidade Aumentada? Acreditem, é mais simples do que possa parecer.

O que é Realidade Aumentada?

Basicamente, Realidade Aumentada, ou simplesmente "RA", é a sobreposição de objetos virtuais tridimensionais gerados por computador, com objetos reais, misturando o real e o virtual, abrindo um leque de infinitas possibilidades em diversas áreas, principalmente na web e na publicidade.

Com a RA, é possível trazer ou transformar objetos reais em virtuais, interagindo e acrescentando, possibilitando jogos mais interativos, publicidade, navegação, entre muitas outras utilidades, incluindo a medicina. Seu potencial é assustador.

Fazendo uma busca rápida no Google por Realidade Aumentada ou "Augmented Reality", você encontrará exemplos fantásticos do uso da tecnologia. Um ótimo exemplo é o http://www.livingsasquatch.com, onde o pé grande virtual se materializa e você pode interagir com sua personalidade.

Com o princípio da tecnologia, é possível desenvolver a RA em praticamente qualquer linguagem de programação. O principal kit de desenvolvimento é conhecido como ARToolKit, desenvolvido em C. Disponível gratuitamente no site do laboratório HITL da Universidade de Washington (http://www.hitl.washington.edu/artoolkit/download/), o ARToolKit emprega métodos de visão computacional para detectar marcadores na imagem capturada por uma câmera. O rastreamento ótico do marcador permite o ajuste de posição e orientação para realizar a renderização do objeto virtual, de modo que esse objeto pareça estar "atrelado" ao marcador. Há também uma versão para Java e uma adaptação para o Flash, em ActionScript 3, e é com este último que desenvolveremos a RA para a web.

Requisitos

Para a mágica da RA precisamos de 3 elementos básicos:

  • Um objeto real com um código impresso ou formato específico.
  • Uma câmera que realize uma leitura desse objeto.
  • Um software que interprete a leitura da câmera e crie o mundo tridimensional de interação.

Na web, podemos resumir esses três elementos em:

  • Um papel com um código impresso em alto contraste.
  • Uma webcam.
  • Um filme Flash na página com um framework 3D + um framework de leitura da webcam.

Começando a mágica

Aqui faremos a nossa própria realidade aumentada que consistirá basicamente em:

  • Criar nossa própria marcação (marker) que é o desenho que será lido pela webcam, no qual o objeto virtual ficará "acoplado".
  • Criar um SWF utilizando 2 frameworks: o FLARToolKit, que é uma adaptação em AS3 do original ARToolKit, e o Papervision 3D para criar o ambiente de interação tridimensional.

Usaremos um modelo 3D de um patinho de borracha, importado de um arquivo .dae em formato Collada. Esse formato pode ser exportado de um software 3D como o 3D Studio, ou Cinema 4D do modelo 3D de sua preferência.

Para facilitar, disponibilizarei o source já com o Papervision 3D 2 e o FLARToolKit prontos para exportar o SWF, assim como o arquivo .dae do patinho já pronto também. O importante é que consigamos fazer a base da tecnologia. A partir dela você será capaz de ajustar da forma como quiser e até mudar o objeto virtual 3D no Flash.

Criando sua marca

O primeiro passo é gerar sua marca, seu código RA que será lido pela webcam. Você pode criar on-line, no site: http://flash.tarotaro.org/ar/MarkerGeneratorOnline.html. O aplicativo permite que você coloque um desenho em frente à webcam para gerar a partir dele, ou enviar uma imagem. Sua marca deve ser um desenho simples, preto e branco, com alto contraste e de preferência envolto por um quadrado bem delimitado.
Com sua marca pronta, clique em Save. O aplicativo irá gerar um arquivo .pat, que passará as coordenadas de sua marca para o FLARToolKit. No nosso exemplo, você deverá salvar este arquivo na pasta Data, com o nome marker.pat. Caso deseje alterar, será necessário alterar também o caminho no AS principal.

O exemplo do artigo contém um PDF (marker.pdf) com a marca que já está sendo usada no exemplo para impressão e testes.

Juntando tudo

Agora é a vez de o SWF juntar os 2 frameworks, carregar o arquivo gerado de sua marca, e o modelo 3D. Vamos ao código.

Arquivo ExemploAR.as:

package {
import flash.events.Event;
import flash.events.MouseEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.DAE;
[SWF(width=640, height=480, frameRate=30, backgroundColor=0x0)]
public class ExemploAR extends PV3DARApp {
private var universe:DisplayObject3D;
private var daeFile:DAE;
public function ExemploAR() {
this.init('Data/camera_para.dat', 'Data/marker.pat');
}
protected override function onInit():void {
super.onInit();
daeFile
= new DAE();
daeFile
.load("duck.dae");
daeFile
.z = 20;
daeFile
.scaleY = 0.4;
daeFile
.scaleZ = 0.4;
daeFile
.rotationX = 90;
this.universe = new DisplayObject3D();
this.universe.addChild(daeFile);
this.universe.z = -20;
this._baseNode.addChild(this.universe);
}
}
}

Agora é só criar um .FLA que chame esse arquivo ExemploAR.as como classe principal. Imprima sua marca e execute o SWF... Voilá! Se tudo der certo, seu SWF pedirá permissão para ativar a webcam e o patinho seguirá sua marca onde você mexer em frente à webcam.

É importante que a luz do ambiente esteja boa e permita um bom contraste na sua marca. Quanto mais fosca a impressão, melhor. Tintas mais brilhantes podem gerar reflexo e afetar a leitura da webcam.

Espero que tenham gostado! Fiquem à vontade para configurar o objeto 3D da forma que quiserem e até mudar o arquivo .dae. Você também pode baixar gratuitamente arquivos .dae para testes na internet, mas eu encorajo que você crie seu próprio em um software 3D.

sexta-feira, 16 de outubro de 2009

Esqueça o Windows 7. Com vocês, o Chrome OS

chrome-os-01

O Google Chrome OS já está entre nós. Ou quase. Por um descuido, o navegador que será a base do sistema operacional de Mountain View vazou na internet.

Passada empolgação com o Windows 7, o rival produzido pelo Google deve se transformar no principal lançamento dos próximos meses. Por enquanto, dá pra ter apenas uma pálida noção do que vem por aí. Pode ser que eu me engane, mas há grandes chances de a primeira versão ser exibida no próximo Google I/O, conferência anual de desenvolvedores que ocorre em maio. O código, no entanto, estará disponível ainda este ano, segundo o post oficial que anunciou a novidade, meses atrás.

O navegador que caiu na rede é uma versão modificada do Google Chrome, feita para rodar em Linux – que será a base do novo sistema. Ela ficou no ar por pouco tempo no site que abriga as versões de desenvolvimento do Chromium. Quem quiser encontrá-la, no entanto, pode procurar o arquivo google-chrome-unstable_4.0.222.6-r28902_i386.deb, ilegalmente disponível em dezenas de sites. Cuidado apenas para não baixar um malware. Não nos responsabilizamos (nem aconselhamos ninguém a fazer isso).

Os sinais do Chrome OS são pequenos ainda. No canto superior esquerdo, um ícone leva para o Google Short Links. Para fazer login, no entanto, é necessário ter uma conta do Google.com – o que nos impede de saber a finalidade do serviço. No canto superior direito do navegador, são exibidos o horário, o status da bateria e as redes disponíveis. Dentro do menu de opções, uma guia leva o título “Google Chrome OS” e também mostra as redes disponíveis, além de permitir alterar a sensibilidade do touchpad. Por enquanto é só, pessoal. Deem uma olhada nas imagens abaixo.

1) Visão geral do navegador, rodando no Ubuntu Netbook Remix 9.10 Beta

chrome-os-02

2) Google Short Links (seja lá o que for)

chrome-os-03

3) Aba de opções do Google Chrome OS

chrome-os-043

terça-feira, 13 de outubro de 2009

Novo Ad-Aware é mais rápido na varredura



A Lavasoft soltou a nova versão do Ad-Aware, tradicional software para proteger o PC dos programas que roubam informações do internauta.

O programa chega com um sistema de varredura mais rápido. Em testes no INFOLAB, o novo Ad-Aware demorou 4 minutos para varrer o micro inteiro em busca de spyware e outros tipos de malware. A versão antiga demorava 12 minutos para cumprir a mesma função.

O Ad-Aware está mais rápido porque o sistema de caça de malware foi totalmente reconstruído. Além de consumir menos memória do sistema, o software está mais esperto na hora de identificar um programa ou arquivo que pode roubar senhas ou outro tipo de dado do internauta. O que isso significa: o software não fica mais acusando programas (ou dados) limpos de estarem infectados.

Outro recurso bom que aparece renovado nesta versão é o que limpa a sujeira do navegador de internet. Um clique e ele manda os dados do cache, cookies, histórico e últimas URLs visitadas para o lixo.

Microsoft lança pacote de segurança para Windows original

A Microsoft anunciou um pacote de segurança gratuito aos usuários do Windows original --especialmente aqueles que usarão a sétima versão do sistema. O programa promete proteger contra várias ameaças --vírus, spyware e outras tentativas maliciosas de entrar no seu computador.
A instalação é rápida (o teste foi feito em um computador com Windows 7) e inclui uma etapa de verificação para checar se seu Windows é realmente original. Feito isso, o computador leva alguns minutos para fazer uma verificação inicial. Já na primeira leva, ele encontrou uma ameaça e não teve problemas para combatê-la.
O uso do programa é simples e não requer nenhum cadastro, o que é apontado por Osvaldo Barbosa de Oliveira, diretor-geral do grupo de serviços on-line e consumo da Microsoft Brasil, como uma das vantagens do produto em relação aos outros programas gratuitos com a mesma finalidade.
Segundo ele, o programa também "aproveita melhor os recursos do Windows e não solicita a intervenção do usuário todo o tempo".
O pacote foi feito para os usuários com um ou mais computadores em casa, de acordo com a Microsoft.
O Microsoft Security Essentials (com versão em português) funciona em Windows XP, Vista e 7. O programa ocupa 150 Mbytes de memória. O download pode ser feito no site da Microsoft.
Concorrência
A AVG, desenvolvedora de produtos de segurança, anunciou novos programas pagos, a linha AVG 9.0. A versão gratuita dos programas será lançada na quinta-feira (15), segundo a empresa, que diz que velocidade e níveis de proteção melhoraram nos lançamentos.

quarta-feira, 30 de setembro de 2009

flv player

Executa vídeos em formato Flash muito bem, tem algumas opções legais, mas em tempos que a maioria dos players já suporta este formato, está se tornando praticamente dispensável"
7.5
8.1

Análise de Bruno da Silva Lima

Você que precisa de um reprodutor de vídeos em formato FLV ou SWF (Flash)? FLV Player é uma opção prática e descomplicada que não vai pesar muito na sua máquina.

Ele é um programa mínimo, não tem ferramenta nenhuma para organização de arquivos, lista de reprodução ou opções avançadas, mas que faz muito bem o que se propõe a fazer, é fácil de mexer, com visual bem moderno e compacto.

Um ponto interessante dele é o fato de você poder exibir o vídeo apenas na tela, sem nenhuma janela ou menu em volta dele.

"O LimeWire está com interface totalmente reformulada e agora você compartilha arquivos com contatos do Gmail."

O LimeWire chega à versão 5 com um visual totalmente reformulado e novas possibilidades para transferência de arquivos. Mesmo com todas as mudanças de tecnologias para downloads na internet e da queda de popularidade, o LimeWire ainda mantém uma base fiel de usuários e promete recuperar terreno com esta versão.

O que alavancou o LimeWire como uma opção de destaque entre diversos compartilhadores é a sua enorme facilidade de uso através de uma interface extremamente simples. Agora, esta interface está totalmente reformulada, mas todos os recursos que destacam este programa estão mantidos.

Redes de transferência privadas

A maior novidade do LimeWire são os recursos para você compartilhar arquivos com amigos determinados, aumentando sua privacidade. Ainda é possível compartilhar com "a geral", mas agora você pode proteger os arquivos que baixou de fontes privadas. É você quem determina todos os tipos de permissão, incluindo quais arquivos compartilhar e com quem compartilhar.

Feche uma rede de confiança com contatos do Gmail.Para saber quais são seus contatos de segurança, você vai utilizar o Gmail. Isso porque a versão 5 do LimeWire suporta o serviço de email do Google e contas Jabber, além de conta no Live Journal. Basta efetuar login para ver a relação de amigos. Você pode entrar em contato com eles e, caso eles também tenham esta versão do compartilhador, já é possível configurar toda a troca de informações.

Isso faz com que as transferências do tipo P2P fiquem diretas entre você e seus contatos. Esta é uma solução para diminuir o inchaço das redes e os riscos de malfeitores, uma vez que você compartilha arquivos somente com quem confia. Isso também acaba com as falhas de conexão e problemas de configuração de clientes, uma vez que as transferências são diretas.

A Biblioteca

Seus arquivos separados por categorias.Basta executar o programa para que ele identifique arquivos de mídia para adicionar à sua biblioteca. Esse processo pode demorar e consome bastante memória, mas você pode interromper a qualquer momento na janela de opções, onde você também determina quais pastas devem ser adicionadas.

Depois de feita a pesquisa, marque quais arquivos você deseja compartilhar. A biblioteca é divida em categorias: áudio, vídeo, imagens, documentos e programas (as mesmas categorias para pesquisar por arquivos).

A navegação está organizada por abas. Os resultados são divididos por categorias para você encontrar o que deseja com mais facilidade. Os downloads são exibidos na parte de baixo da tela ou então na janela especial.

Navegação facilitada por abas.

"Proteja seu computador contra os spywares e outras ameaças que rondam quem acessa a internet."

O Windows Defender, antes conhecido como Microsoft Antispyware, garante proteção em tempo real contra spywares e outros programas suspeitos que infernizam a vida de quem tem computador conectado à internet.

Assim que a instalação é finalizada, o programa faz a primeira varredura em busca de programas espiões que já estão presentes no seu computador. Não se assuste, pois se você nunca usou um antispyware provavelmente vai se deparar com várias ocorrências. Além disso o programa mostra uma descrição explicando o que é cada spyware ou adware localizado e também mostra o grau de perigo que os arquivos detectados representam para o seu computador.

O Windows Defender conta também com atualizações automáticas e uma rede antispyware. Esta rede é acionada sempre que é detectado um spyware inédito em algum computador, assim a proteção contra esta nova praga passa a valer para todos os usuários do programa na próxima atualização.

Faça uma verificação em busca de softwares mal-intecionados.

Além de proteger contra programas espiões, o Windows Defender possui anti-hijacker para remover softwares que alteram configurações do Internet Explorer e inclui um utilitário para editar configurações de programas iniciados com o Windows, aplicativos e processos do sistema que estão rodando, inclusive os ocultos, e softwares que estão conectados na Internet, possibilitando encontrar vírus e cavalos-de-tróia instalados.

Observações

  • Sistema operacional Windows XP/Vista/2003
  • É necessário possuir uma versão autêntica do Windows para instalar o software!Se você possui um computador 64 Bits, baixe o software no seguinte link: Clique aqui.
  • Antes de instalar o Microsoft Windows Defender você pode criar um ponto de restauração do Windows, assim, se não gostar do programa ou se ele não funcionar corretamente, você pode simplesmente restaurar o sistema para um ponto anterior à instalação do programa.Clique aqui e aprenda a criar um ponto de restauração.

Um dos melhores compactadores/descompactadores de arquivos chega à mais nova versão!"

WinRAR é um compactador RAR para Windows, inclusive com suporte a outros formatos. Ele promete compactar de 8% a 15% a mais que o seu principal concorrente, o WinZIP. Portanto, se você não quer perder tempo para compactar e descompactar arquivos transmitidos pela Internet, faça um "test drive" deste programa, que tem como diferencial um menu sempre interativo e navegável.

WinRAR é um dos únicos softwares que trabalha com arquivos dos mais diferentes formatos de compressão, tais como: ACE, ARJ, BZ2, CAB, GZ, ISO, JAR, LZH, RAR, TAR, UUEncode, ZIP, 7Z e Z. Também suporta arquivos de até 8.589 bilhões de Gigabytes!

O programa expira?

Interface direto ao ponto.Apesar de ter licença para 40 dias de uso, o WinRAR não expira por completo, pois apenas desabilita algumas características, como os add-ons para criar extrações rápidas (self-extracting) e outras pequenas ferramentas, além de perguntar se o usuário deseja comprá-lo após cada inicialização do programa.

Isso implica em uma grande vantagem, pois, dessa forma, o usuário poderá continuar usando as funções básicas do WinRAR sem necessitar comprá-lo e, por conseguinte, o software também não deixará de funcionar após expirar. Se você optar por comprar a versão paga, terá direito ao uso das ferramentas que podem ser desabilitadas e também contará com atualizações automáticas.

Características Gerais:

  • A lista de todos os arquivos compatíveis.Ao usar o WinRAR você terá uma grande gama de ferramentas para compactar arquivos e salvar espaço no computador!
  • Trabalha com diferentes formatos de arquivos.
  • Oferece uma interface gráfica intuitiva e fácil de usar, permitindo usar o mouse e menus de forma ágil, assim como o uso de uma interface através de linhas de comando.
  • Possui um guia passo-a-passo especial que fornece acesso instantâneo às funções mais básicas para você realizar suas tarefas.
  • É capaz de codificar seus arquivos com uma das tecnologias mais avançadas de criptografia com até 128 Bits: AES (Padrão de criptografia avançada).
  • Permite criar extração rápida e trabalhar com arquivos de vários volumes.
  • Está sempre em constante desenvolvimento, possuindo atualizações freqüentes.
  • "Um dos players de músicas e vídeos mais usados na Internet."

    Caso você ainda não saiba disso, o RealPlayer é um dos players mais completos do mercado atual e já foi lançado em mais de dez versões diferentes. A versão 11.0.8 do player tinha sido traduzida para o português, no entanto, a 11.1.1 ainda não o foi (mas ao que tudo indica será traduzida em breve!). Adquira um verdadeiro centro de entretenimento multimídia em seu computador e mude seu conceito sobre players.

    Um Player Completo

    Provavelmente você já deve ter se deparado com algum arquivo que necessita do RealPlayer para ser reproduzido durante suas navegações. Pois bem, este player nasceu para difundir um formato criado pelos mesmos desenvolvedores, mas com o passar dos anos foi abrindo um leque de opções e permitindo que novos formatos fossem sendo adicionados ao seu repertório.

    Reprodução atual.

    O Formato RMVB

    RMVB é a abreviação para RealMedia Variable Bitrate, uma extensão de arquivos multimídia com a taxa de bits variável. Em média, cada arquivo em RMVB tem a metade do tamanho que a de um arquivo de vídeo em DivX/XviD, porém com qualidade semelhante. Tal formato provém do original RM (RealMedia) e sua tecnologia e traz uma idéia inteligente e inovadora.

    O Melhor Conteúdo da Web

    Atualmente a internet está cada vez mais ágil e os serviços de vídeos e músicas cada dia mais difundidos, tanto no conteúdo reproduzido pela rede quanto pelos arquivos baixados. Esta versão do programa oferece aos usuários um guia programação completo que permite que arquivos multimídia sejam reproduzidos através do seu player.

    Guia de programação online em português.

    Também disponibiliza uma infinidade de jogos e arquivos de áudio para download para os usuários que efetuarem o cadastro na opção completa do serviço. Vale lembrar que este cadastro é pago, mas que qualquer jogo pode ser testado de forma inteiramente gratuita por todos os usuários. Encontre diversos jogos casuais de qualidade, mas não espere encontrar games robustos.

    O passe completo do programa permite não somente o acesso a muitos conteúdos exclusivos do seu guia de reprodução como deixa o usuário baixar 1 jogo e 10 músicas todo mês, isso sem falar do acesso a mais de 100 novas rádios do mundo inteiro. Caso você se interesse poderá experimentar o serviço completo por até 14 dias sem pagar nada.Biblioteca.

    Visual Arrojado

    Os programadores apostaram muito no novo visual do programa que quase sempre se apresenta bastante enxuto e intuitivo. A quantidade de opções e mecanismos ocultos é tamanha que o usuário poderá se sentir um pouco confuso no começo, mas essa dificuldade será superada com pouco tempo de uso.

    Biblioteca inteligente

    Como não é apenas uma boa aparência que faz com que um programa seja realmente eficiente, este player conta com uma infinidade de opções e recursos. Além de reproduzir arquivos inclusive de dispositivos portáteis, ele vem com uma biblioteca que pode localizar em seu computador e organizar qualquer arquivo que este software for capaz de reproduzir, excelente para quem busca mais organização sem fazer esforço.

    Além da aba de jogos e do guia de programação, este programa traz um navegador completo com sistema de busca, pasta de favoritos e recursos comuns dos melhores navegadores. Finalmente se você deseja efetuar cópias de segurança do seu conteúdo, grave CD´s e DVD´s através deste software. Esta variedade de recursos faz deste programa uma opção mais do que completa, um apanhado com as melhores opções de multimídia.

    Observações

    • Sistema operacional Windows XP/Vista/2003
    • Se você possui o antivírus VBA 32 versão 3.12.10.1, ele irá acusar que o Real Player possui um cavalo de tróia. Contudo, não passa de um falso positivo, ou melhor dizendo, quando um programa de proteção acusa equivocadamente algum software instalado como perigoso.
    • Antes de instalar o RealPlayer você pode criar um ponto de restauração do Windows, assim, se não gostar do programa ou se ele não funcionar corretamente, você pode simplesmente restaurar o sistema para um ponto anterior à instalação do programa.Clique aqui e aprenda a criar um ponto de restauração.

    quinta-feira, 24 de setembro de 2009

    C# - Gerenciamento de banco de dados MySQL - Parte 01

    Neste artigo eu vou mostrar como gerenciar um banco de dados MySQL efetuando as operações de acesso, seleção, inclusão, alteração e exclusão usando a linguagem C# e ADO .NET.

    Vamos trabalhar usando a arquitetura em 3 camadas definindo assim:

    • A camada de interface : UI - namespace UI
    • A camada de negócios : BLL - namespace BLL e classe produtoBLL
    • A camada de acesso a dados : DAL - namespace DAL e classe produtoDAL

    Vamos também criar a entidade Produto que será o objeto do nosso negócio e que possuirá 3 propriedades: ID, Nome e Preco representando assim cada coluna da tabela Estoque. A entidade terá o namespace DTO e a classe Produto.

    Eu poderia criar 3 projetos distintos, mas para simplificar vou criar as seguintes classes :

    • produtoBLL - contém os métodos das regras de negócio; (namespace BLL)
    • produtoDAL - contém os métodos para acesso a dados no MySQL; (namespace DAL)
    • produto - contém a classe Produto; (namespace DTO)
    • UI - representa a nossa aplicação Windows Forms;

    Lembrando que em uma aplicação em 3 camadas temos uma hierarquia de chamadas onde:

    A UI chama a BLL que chama a DLL que, por sua vez, acessa os dados e retorna os objetos;

    Nunca deverá haver uma chamada direta da UI para a DAL e vice-versa.(Quando usamos os controles de acesso a dados vinculados no formulário, estamos fazendo o acesso direto da camada de interface para a DAL ou banco de dados, o que não é uma boa prática.)

    As ferramentas usadas são:

    Se você não possuir o MySQL e o Connector .NET para o MySQL, deverá efetuar o dowload e instalar. A instalação é simples - basta clicar no pacote e seguir as orientações aceitando as configurações padrão. Veja a seguir a sequência de telas principais da instalação:

    1-tela inicial de instalação do MySQL

    2-Selecione a opção Typical para instalação

    3-Verifique o local onde os arquivos serão instalados

    4-Marque a opção para configurar o MySQL

    5-Marque a opção Standard Configuration

    6-Marque a opção para instalar como um serviço e forneça um nome para o serviço. O nome padrão é MySQL

    7-Informe uma senha ao usuário root

    8-Clique no botão Execute para processar as opções definidas

    Com os componentes instalados, vamos efetuar as seguintes tarefas:

    • Criar um banco de dados no MySQL Chamado Cadastro e uma tabela chamada Estoque com os campos ID, Nome e Preco;
    • Criar um novo projeto Windows Forms no Visual C# 2008 Express ou SharpDevelop;

    Embora eu já tenha descrito como criar um banco de dados no MySQL usando MySQL Administrator vou resumidamente repetir os passos:

    • Abra o MySQL Admininistrator, e, na área inferior esquerda, onde são exibidos os esquemas. clique com o botão direito e selecione a opção: Create New Schema;
    • Na janela Create new Schema informe o nome do banco de dados, no nosso caso, Cadastro, e tecle OK;

    • Clique sobre o esquema criado e selecione a opção Create New Table ou clique no botão Create Table;
    • A seguir defina o nome da tabela como Estoque e defina os campos da mesma conforme a figura abaixo:

    • A seguir, a partir do menu Tools, selecione a opção MySQL Query Browse;
    • Na janela do MySQL Query Browse digite a instrução INSERT INTO Estoque VALUES (',"Caderno", 1.23) e clique no botão Execute para incluir um registro na tabela. Repita a operação e inclua uma borracha com um valor de forma que, ao efetuar uma instrução SELECT * FROM Estoque, iremos obter o resultado abaixo:

    Neste momento já temos o banco de dados Cadastro e a tabela Estoque com dois registros.

    Abra o SharpDevelop ou o Visual C# 2008 Express e crie um novo projeto do tipo Windows Application com o nome MySQL_C#;

    Devemos incluir a referência ao Connector .NET para ter acesso às classes de acesso a dados do MySQL. Para isso clique sobre o nome do projeto e selecione a opção Add Reference;

    A seguir inclua uma referência a dll do MySQL Connector .NET selecionando na pasta onde foi instalada e clicando no botão Abrir/Open;

    No formulário padrão inclua um controle TabControl e defina dois TabPages:

    • TabPage1 - Text = Cadastro
    • TabPage2 - Text = Lista
    • tabControl1 - Appearence = FlatButtons (para obter a aparência conforme a figura abaixo)



    Na primeira TabPage inclua os seguintes controles:

    • 3 controles Label
    • 3 Controles TextBox :txtID, txtNome e txtPreco
    • 5 controles Button : btnNovo, btnAltear, btnExcluir, btnExibir e btnProcurar

    Na segunda TabPage inclua um controle DataGridView - gdvProdutos.

    Acima vemos o leiaute do formulário para cada TabPage.

    Vamos iniciar criando o arquivo de classe Produto.cs que irá representar a classe Produto, clicando no nome do projeto e selecionando a opção Add New Item;

    Na janela de templates selecione o template Class e informe o nome Produto.cs;

    A seguir defina o seguinte código nesta classe onde estamos definindo 3 membros e 3 propriedades da nossa entidade Produto:

    using System;

    namespace DTO
    {
    public class Produto
    {
    int _id;
    String _nome;
    Decimal _preco;

    public int ID
    {
    get {return _id;}
    set {_id = value;}
    }
    public String Nome
    {
    get {return _nome;}
    set {_nome = value;}
    }
    public Decimal Preco
    {
    get {return _preco;}
    set {_preco = value;}
    }
    }
    }

    Neste arquivo criamos a classe Produto e definimos os membros _id, _nome e _preco e as propriedades ID, Nome e Preco. Ela será usada para transferência de objetos entre as camadas de interface de negócio e de acesso a dados.

    Agora vamos criar o arquivo de classe DAL.cs clicando no nome do projeto e selecionando a opção Add New Item;

    Na janela de templates selecione o template Class e informe o nome DAL.cs;

    Os pacotes usados nesta classe são:

    using System;
    using System.Collections.Generic;
    using System.Data;
    using MySql.Data.MySqlClient;
    using DTO;

    A seguir vamos definir na classe produtoDAL 6 métodos conforme exibidos abaixo:

    • selectListProdutos - retorna uma lista de produtos : List com os produtos selecionados;
    • selectProdutos - retorna um DataTable com os produtos selecionados;
    • selectProdutosByID - retorna uma entidade Produto para um produto selecionado pelo seu código (id);
    • insertProduto - inclui um novo produto;
    • updateProduto - atualiza um produto existente;
    • deleteProduto - exclui um produto existente;

    Vejamos o código da classe produtoDAL:

    Declaramos duas variáveis que serão visíveis na classe:

    String _conexaoMySQL = "";
    MySqlConnection con = null;

    O construtor da classe ProdutoDAL define a string de conexão com o banco de dados MySQL:

    public produtoDAL()

    {

    _conexaoMySQL
    =
    "server=localhost;user id=root;password=password;database=cadastro";

    }

    onde temos:

    server - localhost, pois estou acessando o MySQL instalado na minha máquina local;
    id = root, pois estou usando o usuário root;
    password = password, pois essa foi a senha definida para o usuário root;
    database=cadastro, pois esse é o banco de dados que criamos no MySQL;

    Agora vejamos os métodos:

    1- SelectProdutos - Usada para exibir todos os produtos do estoque;

    public DataTable selectProdutos(){
    try{
    String sql = "SELECT * FROM Estoque";
    con
    = new MySqlConnection(_conexaoMySQL);
    MySqlCommand cmd = new MySqlCommand(sql,con);
    MySqlDataAdapter da = new MySqlDataAdapter();
    da
    .SelectCommand = cmd;
    DataTable dt = new DataTable();
    da
    .Fill(dt);
    return dt;
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

    2- selecteProdutoByID() - Usada para retornar uma entidade Produto representando um único produto pelo seu código (id);

    public Produto
    selectProdutoByID
    (int id)

    {

    try{

    String sql = "SELECT * FROM Estoque WHERE id = @id";

    con
    = new MySqlConnection(_conexaoMySQL);

    MySqlCommand cmd = new MySqlCommand(sql,con);

    cmd
    .Parameters.AddWithValue("@id",id);

    con
    .Open();

    MySqlDataReader dr;


    Produto produto = new Produto();

    dr
    = cmd.ExecuteReader(CommandBehavior.CloseConnection);


    while (dr.Read()) {

    produto
    .ID = Convert.ToInt32(dr["id"]);

    produto
    .Nome = dr["Nome"].ToString();

    produto
    .Preco = Convert.ToDecimal(dr["Preco"]);

    }

    return produto;

    }

    catch (Exception ex)

    {

    throw ex;

    }

    }

    3- selectListProdutos() - Usada para retornar uma lista de objetos Produto representando uma coleção de produtos.

    public List<Produto> selectListProdutos()
    {
    try {
    using (MySqlConnection conn = new MySqlConnection(_conexaoMySQL)) {
    using (MySqlCommand command = new MySqlCommand("Select * from Estoque", conn))
    {
    conn
    .Open();
    List<Produto> listaProdutos = new List<Produto>();
    using (MySqlDataReader dr = command.ExecuteReader())
    {
    while (dr.Read()) {
    Produto produto = new Produto();
    produto
    .ID = (int)dr["id"];
    produto
    .Nome = (String) dr["Nome"];
    produto
    .Preco = Convert.ToDecimal(dr["Preco"]);
    listaProdutos
    .Add(produto);
    }
    }
    return listaProdutos;
    }
    }
    }
    catch (Exception ex) {
    throw new Exception("Erro ao acessar estoque " + ex.Message);
    }
    }

    4- insertProduto() - Usada para incluir um novo produto no estoque;

    public void insertProduto(Produto produto){
    try{
    String sql = "INSERT INTO Estoque (nome,preco) VALUES (@nome,@preco)";
    con
    = new MySqlConnection(_conexaoMySQL);
    MySqlCommand cmd = new MySqlCommand(sql,con);
    cmd
    .Parameters.AddWithValue("@nome",produto.Nome);
    cmd
    .Parameters.AddWithValue("@preco",produto.Preco);
    con
    .Open();
    cmd
    .ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally{
    con
    .Close();
    }
    }

    5- updateProduto() - Usada para atualizar os dados de um produto no estoque;

    public void updateProduto(Produto produto){
    try{
    String sql = "UPDATE Estoque SET nome= @nome ,preco=@preco WHERE id = @id ";
    con
    = new MySqlConnection(_conexaoMySQL);
    MySqlCommand cmd = new MySqlCommand(sql,con);
    cmd
    .Parameters.AddWithValue("@id",produto.ID);
    cmd
    .Parameters.AddWithValue("@nome",produto.Nome);
    cmd
    .Parameters.AddWithValue("@preco",produto.Preco);
    con
    .Open();
    cmd
    .ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally{
    con
    .Close();
    }
    }

    6- deleteProduto() - Usada para excluir um produto no estoque;

    public void deleteProduto(Produto produto){
    try{
    String sql = "DELETE FROM Estoque WHERE id = @id ";
    MySqlConnection con = new MySqlConnection(_conexaoMySQL);
    MySqlCommand cmd = new MySqlCommand(sql,con);
    cmd
    .Parameters.AddWithValue("@id",produto.ID);
    con
    .Open();
    cmd
    .ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally{
    con
    .Close();
    }
    }

    Eu mantive o código o mais simples possível usando ado .net clássica e instruções SQL. Poderia ter usado stored procedures, o que seria mais indicado.

    Esta é a nossa camada de acesso a dados e sua responsabilidade é acesssar e persistir dados no MySQL, só isso. Veja abaixo uma figura onde temos uma visão da nossa solução:

    Aguarde no próximo artigo a continuação onde irei criar a camada de negócios - BLL:

    C# - Gerenciamento de banco de dados MySQL - Parte 02.

    Eu sei, é apenas Visual C#, mas eu gosto...

    Continuando o assunto do último artigo, veremos a definição da camada de negócios - Business Logic Layer (BLL) da nossa aplicação. Lembrando que estamos usando a arquitetura em 3 camadas definidas assim:

    1. A camada de interface: UI - namespace UI
    2. A camada de negócios: BLL - namespace BLL e classe produtoBLL
    3. A camada de acesso a dados: DAL - namespace DAL e classe produtoDAL

    Em uma aplicação em 3 camadas temos uma hierarquia de chamadas onde:

    c_mysql21.gif

    A UI chama a BLL que chama a DAL que por sua vez acesso os dados e retorna os objetos;

    Nunca deverá haver uma chamada direta da UI para a DAL e vice-versa (quando usamos os controles de acesso a dados vinculados no formulário, estamos fazendo o acesso direto da camada de interface para a DAL ou banco de dados, o que não é uma boa prática).

    Nosso projeto possui a seguinte estrutura:

    • produtoBLL - contém os métodos das regras de negócio; (namespace BLL)
    • produtoDAL - contém os métodos para acesso a dados no MySQL; (namespace DAL)
    • produto - contém a classe Produto; (namespace DTO)
    • UI - representa a nossa aplicação Windows Forms;
    c_mysql16.gif

    Onde já implementamos a classe produtoDAL na camada DAL.

    Vamos agora mostrar a definição da camada BLL onde temos a classe produtoBLL. A classe produtoBLL possui os seguintes métodos:

    • DataTable selecionaProdutos() - retorna todos os produtos ;
    • novoProduto(Produto produto) - inclui um novo produto;
    • alteraProduto(Produto produto) - altera os dados de um produto;
    • excluiProduto(Produto produto) - exclui um produto;
    • List listaProdutos() - retorna uma lista genérica de produtos;
    • Produto listaProdutoPorID(int id) - retorna um único produto;

    Conforme é mostrado na figura a seguir:

    c_mysql22.gif

    Vejamos o código da classe produtoBLL:

    Devemos declarar os seguintes namespaces nos imports:

    using System.Collections.Generic;

    using System;

    using DAL;

    using DTO;

    using System.Data;

    Precisamos da referência à camada DAL para acessar os métodos da classe produtoDAL e da referência à camada DTO para acessar as propriedades da entidade Produto. A referência a Generic deve-se ao fato de estarmos retornando uma lista genérica de produtos no método listaProdutos();

    O construtor da classe ProdutoBB está vazio:

    public produtoBLL()

    {}

    Agora vejamos os métodos:

    1. selecionaProdutos() - retorna um datatable com todos os produtos usando o método selectProdutos() da camada DAL;

    public
    DataTable
    selecionaProdutos
    ()

    {

    DataTable tb = new DataTable();

    try{

    dal
    = new DAL.produtoDAL();

    tb
    = dal.selectProdutos();

    }

    catch (Exception ex)

    {

    throw ex;

    }

    return tb;

    }

    2. listaProdutoPorID() - Usada para retornar uma entidade Produto representando um único produto pelo seu código (id) através do método selectProdutoByID() da camada DAL;

    public Produto listaProdutoPorID(int id)

    {

    try{

    dal
    = new produtoDAL();

    return dal.selectProdutoByID(id);

    }catch (Exception ex) {

    throw ex;

    }

    }

    3. listaProdutos() - Usada para retornar uma lista de objetos Produto representando uma coleção de produtos usando o método selectListProdutos() da camada DAL;

    public List<Produto> listaProdutos()

    {

    try{

    dal
    = new produtoDAL();

    return dal.selectListProdutos();

    }catch (Exception ex) {

    throw ex;

    }

    }

    4. novoProduto(Produto produto) - Usada para incluir um novo produto no estoque usando o método insertProduto() da camada DAL;

    public void novoProduto(Produto produto){

    try{

    dal
    = new DAL.produtoDAL();

    dal
    .insertProduto(produto);

    }catch (Exception ex) {

    throw ex;

    }

    }

    5. updateProduto() - Usada para atualizar os dados de um produto no estoque através do método updateProduto() da camada DAL;

    public void alteraProduto(Produto produto){

    try{

    dal
    = new DAL.produtoDAL();

    dal
    .updateProduto(produto);

    }catch (Exception ex) {

    throw ex;

    }

    }

    6. deleteProduto() - Usada para excluir um produto no estoque via método deleteProduto() da camada DAL;

    public void excluiProduto(Produto produto){

    try{

    dal
    = new produtoDAL();

    dal
    .deleteProduto(produto);

    }catch (Exception ex) {

    throw ex;

    }

    }

    Não estamos efetuando nenhuma validação de negócio nessas classes devido à simplicidade do exemplo, mas em um sistema de produção aqui teríamos as validações referentes ao negócio como restrições de valores, cálculo de impostos, descontos, etc.

    Dessa forma concluímos a defnição do código da nossa camada de negócios - BLL - através da implementação dos métodos da classe produtoBLL.

    c_mysql23.gif

    Em um próximo artigo vamos continuar o assunto, definindo como acessar e apresentar as informações na camada de apresentação - BLL

    Eu sei, é apenas Visual C#, mas eu gosto...