O Google liberou uma ferramenta que permite a programadores e usuários avançados terem acesso a uma grande variedade de serviços da empresa através da linha de comando do Linux.
Chamado de GoogleCL (Google Command Line), o projeto de código aberto é todo feito em Python e permite que usuários utilizem as bibliotecas gdata do Python (Google Data Python Client Library) para se conectarem aos serviços online disponibilizados pelo Google.
Por enquanto, os serviços suportados pela aplicação são Blogger, Calendar, Docs, Contacts, YouTube e Picasa.
Para auxiliar os usuários, o Google postou alguns scripts de exemplo, que demonstram como criar um novo post no Blogger, uma entrada no Calendar ou Contact, e o upload de um video para o YouTube.
O GoogleCL está hospedado no Portal Google Code e liberado sob a Apache License 2.0.
O Google também disponibilizou um manual para ajudar no uso da ferramenta. A empresa conta com o feddback dos usuários para melhorar o projeto.
Fonte: iMasters
terça-feira, 22 de junho de 2010
quarta-feira, 2 de junho de 2010
Como converter MySQL para MongoDB
Baixe o MongoDB e instale-o
Essa interface enviará, via POST, as variáveis de conexão com o banco de dados MySQL. Vamos começar criando/recebendo as variáveis de conexão com o banco de dados MySQL.
Agora é hora de criar a conexão com o MongoDB utilizando uma extensão instalada no php: http://github.com/downloads/mongodb/mongo-php-driver/mongo-1.0.6-r1-php5.3vc6ts.zip
Para conseguirmos pegar o nome de todas as tabelas da nossa database no MySQL utilizamos a seguinte query:
Após pegarmos os nomes das nossas tabelas, é hora de irmos de uma a uma pegando seus dados e inserindo-os. Não será necessário pegar os metadados (nome, tipo) dos campos, pois o MongoDB não necessita dessas informações.
Para unir o MongoDB com o PHP é necessário instalar as DLLs do driver PHP. Para isso usaremos o WAMP.
Se desejar utilizar o phpmoadmin, faça o download (http://www.phpmoadmin.com) e o coloque na pasta do apache.
Essa interface enviará, via POST, as variáveis de conexão com o banco de dados MySQL. Vamos começar criando/recebendo as variáveis de conexão com o banco de dados MySQL.
$host = isset($_REQUEST['host_mysql']) ? $_REQUEST['host_mysql'] : "localhost";
$user = isset($_REQUEST['user_mysql']) ? $_REQUEST['user_mysql'] : "usuario";
$pass = isset($_REQUEST['pass_mysql']) ? $_REQUEST['pass_mysql'] : "senha";
$db = isset($_REQUEST['db_mysql']) ? $_REQUEST['db_mysql'] : "teste_latin";
try{
$conexao = new Mongo(); //abre conexão com o MongoDB
$db_mongo = $conexao->$db; //cria a database com o mesmo nome do MySQL
}
catch(MongoConnectionException $e){
die("Erro do banco de dados MONGODB - Inicie o servidor do MongoDD!
Dica: Entre no prompt do windows
cd \
cd mongodb
cd bin
mongod ");
}
Caso o seu MongoDB não esteja rodando, o script indicará o erro e mostrará a forma como iniciar seu MongoDB no Windows. Para conseguirmos pegar o nome de todas as tabelas da nossa database no MySQL utilizamos a seguinte query:
$query_pega_tabelas= "SHOW TABLES";
O nome do
nosso campo contendo as tabelas será:
$index_tabelas= "Tables_in_".$db; //nome do array com o valor do nome das tabelas via SHOW TABLES
A variável $db será o nome da nossa database no MySQL. Após pegarmos os nomes das nossas tabelas, é hora de irmos de uma a uma pegando seus dados e inserindo-os. Não será necessário pegar os metadados (nome, tipo) dos campos, pois o MongoDB não necessita dessas informações.
if($result_pega_tabelas=mysql_query($query_pega_tabelas)){
while($arr_pega_tabelas[] = mysql_fetch_assoc($result_pega_tabelas)){
if(is_array($v)){
foreach($v as $a => $b){
echo "Tabela: ".$b."
";
$nome_tabela = $b;
$query = 'select * from '.$nome_tabela;
Geramos uma collection para cada tabela existente no MySQL.
$collection = $db_mongo->$nome_tabela;
Neste momento estamos rodando linha
por linha da nossa tabela, pegando seus dados.
$rs_select = mysql_query($query);
echo "Inserindo em ".$nome_tabela."
"; while($arr_dados = mysql_fetch_assoc($rs_select)){ foreach($arr_dados as $c => $v){
Precisamos codificar nossos valores, assim como os campos, em utf8. Se o banco já estiver em utf8, não será necessária a conversão. Para fazer essa conversão, criei um pequena função utilizando iconv. Para converter, meu banco está codificado em latin1, que no caso será repassado como iso-8859-1. Essa função vai ao final de script.
function utf8_encode_suissa($s) {
return iconv('iso-8859-1', 'utf-8', $s);
}
Após a conversão para utf8, inserimos o objeto codificado na nossa collection, que terá o mesmo nome que a tabela correspondente no MySQL.
$obj[utf8_encode_suissa($c)] = utf8_encode_suissa($v); //converto para UTF-8 pois o MongoDB é UTF-8
}
$collection->insert($obj); //aqui inserimos o OBJ codificado em utf-8 no MongoDB
}//fim while
}//fim foreach
}//fim if array
}//fim while
}//fim if
Ao término do script, você poderá entrar no phpMoAdmin, ferramenta para manipular as bases e as collections do MongoDB, e ver na lista das databases sua nova base criada.
O scrip completo com a interface para inserir os dados se encontra em http://www.nosqlbr.com.br/conversor_mysql_mongodb.zip
Adendo: Instalação MongoDB
Instalar o MongDB pode ser um pouco trabalhoso. Veja abaixo um pequeno tutorial. Se depois você ainda tiver dificuldade, basta procurar em algum fórum, como o NoSQL.com.br, que você encontrará mais ajuda.- Baixe o MongoDB (versão 32 bits ou versão 64 bits)
- Cria as duas pastas:
c:/mongodb
c:/data/db - Extraia todos os arquivos para a pasta mongodb
- Abra o prompt de comando e vá até a a pasta c:/mongodb/bin. Dentro dela, dê o comando mongod (isso mesmo, com o d no final)
Para unir o MongoDB com o PHP é necessário instalar as DLLs do driver PHP. Para isso usaremos o WAMP.
- Baixe o drive do PHP (O WAMP usa o php 5.3 vc6 ts) (add link http://github.com/downloads/mongodb/mongo-php-driver/mongo-1.0.6-r1-php5.3vc6ts.zip).
- Extraia a dll do MongoDB para a pasta do PHP, no WAMP instalado na minha máquina está em : C:\wamp\bin\php\php5.3.1\ext
- Feche o WAMP e abra-o novamente, vá em PHP > PHP extensions e habilite a extensão php_mongo.dll .
- Feche e abra o WAMP novamente.
Se desejar utilizar o phpmoadmin, faça o download (http://www.phpmoadmin.com) e o coloque na pasta do apache.
Fonte : iMasters
Gerenciamento de infraestrutura de TI: sem segredos
Empresas de todos os portes têm contratempos no gerenciamento de infraestruturas de TI: servidores lentos, ataques de vírus, softwares ilegais etc. Mas como para tudo tem uma solução, listo alguns dos problemas mais comuns e como solucioná-los. Por meio do uso de softwares de gerenciamento remoto, problemas são resolvidos num piscar de olhos.
1. "Perco muito tempo gerenciando as máquinas"
Problema: Ir de máquina em máquina é ineficiente. Uma aproximação proativa e preventiva aumenta a eficiência, a performance e a disponibilidade.
Solução: Com os softwares de gerenciamento, eliminam-se problemas antes que eles aconteçam, assegurando que todos os sistemas sejam atualizados regularmente.
2. "Não tenho idéia do que é instalado nas minhas máquinas"
Problema: Isso expõe a organização a sérios riscos. Softwares sem licença geram processos, e multas prejudicam a segurança e a performance da rede e propiciam ataques de vírus.
Solução: Alguns softwares de gerenciamento auditam automaticamente a infraestrutura de TI. Com eles, você sabe o que está sendo usado, o que não é usado, o que é seguro e o que é vulnerável, pode desinstalar componentes ilegais e atualizar os legítimos.
3. "Fazer mais com menos é possível?"
Problema: Alguns dizem que não, outros que é um mito. Mas não há dúvida quanto à pressão sentida para a redução de custos ao mesmo tempo em que as responsabilidades aumentam.
Solução: Sozinhos, os softwares de gerenciamentos melhoram a eficiência, a performance e reduzem riscos.
4. "Tenho que dizer aos usuários para irem tomar café enquanto trabalho no computador deles"
Problema: Tempo é dinheiro, e o tempo que leva para auditar o computador de um usuário é dinheiro que a companhia perde. Mas não há nada que você possa fazer. Duas pessoas não podem usar um computador ao mesmo tempo, podem?
Solução: Com os softwares de gerenciamento elas podem. A manutenção é feita remotamente, ao mesmo tempo em que o usuário trabalha no computador.
5. "Não posso deixar os novos funcionários sem computador para trabalhar"
Problema: Novos contratados precisam de um computador, nome de usuário, e-mail e acesso aos aplicativos necessários ao trabalho.
Solução: Os softwares de gerenciamento criam perfis de pré-usuários para usá-los para novos usuários, assegurando que eles tenham acesso às ferramentas e informações necessárias desde o primeiro dia de trabalho.
6. "Eles amam TI e estão no lugar certo"
Problema: Todo cara que gosta de TI e estuda Ciência da Computação acha que pode conduzir seus backups, instalar patches, atualizar softwares e passar o antivírus. Pare, por favor. Manutenção de TI é um negócio sério.
Solução: Com os softwares de gerenciamento, o administrador monitora, faz backup, bloqueia downloads ilegais, protege os sistemas e padroniza a manutenção de toda a rede remotamente.
7. "Segurança remota e backup são problemas"
Problema: Usuários estão cada vez mais espalhados pelo mundo, assim como infraestruturas de TI. Estações de trabalho remotas, servidores e dispositivos móveis precisam de backup e de segurança.
Solução: Como a arquitetura distribuída é muito vulnerável, os softwares de gerenciamento centralizam a manutenção da proteção de dados e estratégias de segurança, realizando backups segundo a demanda ou automaticamente.
8. "Meu chefe não entende nada de TI"
Problema: Os tomadores de decisão nem sempre entendem TI, o que leva a desentendimentos e perda de oportunidades. Por isso o trabalho do time deve ser sempre reportado detalhadamente.
Solução: Os softwares produzem relatórios a qualquer momento. Fáceis de serem lidos, eles informam sobre a situação atual, as necessidades futuras e a importância de TI aos negócios.
Alguns dados que comprovam os pontos levantados:
* Mais de 40% do tempo despendido na busca da resolução de problemas são gastos na análise, e não na resolução. (IDC)
* 75% de um orçamento típico de TI são gastos em problemas de simples gerenciamento. (Forrester)
* 75% de todos os PCs corporativos são infectados com algum tipo de malware. (Enterprise Networks & Servers)
Gerenciar infraestruturas de TI não tem que ser um trabalho ingrato que requeira horas extras. Adotar softwares de gerenciamento remoto permite às empresas gerenciar os ativos de TI de maneira rápida e eficiente, aumentando a produtividade e a receita anual.
Fonte: iMasters
1. "Perco muito tempo gerenciando as máquinas"
Problema: Ir de máquina em máquina é ineficiente. Uma aproximação proativa e preventiva aumenta a eficiência, a performance e a disponibilidade.
Solução: Com os softwares de gerenciamento, eliminam-se problemas antes que eles aconteçam, assegurando que todos os sistemas sejam atualizados regularmente.
2. "Não tenho idéia do que é instalado nas minhas máquinas"
Problema: Isso expõe a organização a sérios riscos. Softwares sem licença geram processos, e multas prejudicam a segurança e a performance da rede e propiciam ataques de vírus.
Solução: Alguns softwares de gerenciamento auditam automaticamente a infraestrutura de TI. Com eles, você sabe o que está sendo usado, o que não é usado, o que é seguro e o que é vulnerável, pode desinstalar componentes ilegais e atualizar os legítimos.
3. "Fazer mais com menos é possível?"
Problema: Alguns dizem que não, outros que é um mito. Mas não há dúvida quanto à pressão sentida para a redução de custos ao mesmo tempo em que as responsabilidades aumentam.
Solução: Sozinhos, os softwares de gerenciamentos melhoram a eficiência, a performance e reduzem riscos.
4. "Tenho que dizer aos usuários para irem tomar café enquanto trabalho no computador deles"
Problema: Tempo é dinheiro, e o tempo que leva para auditar o computador de um usuário é dinheiro que a companhia perde. Mas não há nada que você possa fazer. Duas pessoas não podem usar um computador ao mesmo tempo, podem?
Solução: Com os softwares de gerenciamento elas podem. A manutenção é feita remotamente, ao mesmo tempo em que o usuário trabalha no computador.
5. "Não posso deixar os novos funcionários sem computador para trabalhar"
Problema: Novos contratados precisam de um computador, nome de usuário, e-mail e acesso aos aplicativos necessários ao trabalho.
Solução: Os softwares de gerenciamento criam perfis de pré-usuários para usá-los para novos usuários, assegurando que eles tenham acesso às ferramentas e informações necessárias desde o primeiro dia de trabalho.
6. "Eles amam TI e estão no lugar certo"
Problema: Todo cara que gosta de TI e estuda Ciência da Computação acha que pode conduzir seus backups, instalar patches, atualizar softwares e passar o antivírus. Pare, por favor. Manutenção de TI é um negócio sério.
Solução: Com os softwares de gerenciamento, o administrador monitora, faz backup, bloqueia downloads ilegais, protege os sistemas e padroniza a manutenção de toda a rede remotamente.
7. "Segurança remota e backup são problemas"
Problema: Usuários estão cada vez mais espalhados pelo mundo, assim como infraestruturas de TI. Estações de trabalho remotas, servidores e dispositivos móveis precisam de backup e de segurança.
Solução: Como a arquitetura distribuída é muito vulnerável, os softwares de gerenciamento centralizam a manutenção da proteção de dados e estratégias de segurança, realizando backups segundo a demanda ou automaticamente.
8. "Meu chefe não entende nada de TI"
Problema: Os tomadores de decisão nem sempre entendem TI, o que leva a desentendimentos e perda de oportunidades. Por isso o trabalho do time deve ser sempre reportado detalhadamente.
Solução: Os softwares produzem relatórios a qualquer momento. Fáceis de serem lidos, eles informam sobre a situação atual, as necessidades futuras e a importância de TI aos negócios.
Alguns dados que comprovam os pontos levantados:
* Mais de 40% do tempo despendido na busca da resolução de problemas são gastos na análise, e não na resolução. (IDC)
* 75% de um orçamento típico de TI são gastos em problemas de simples gerenciamento. (Forrester)
* 75% de todos os PCs corporativos são infectados com algum tipo de malware. (Enterprise Networks & Servers)
Gerenciar infraestruturas de TI não tem que ser um trabalho ingrato que requeira horas extras. Adotar softwares de gerenciamento remoto permite às empresas gerenciar os ativos de TI de maneira rápida e eficiente, aumentando a produtividade e a receita anual.
Fonte: iMasters
Assinar:
Postagens (Atom)