From bruno em afonte.com.br Sun Jul 26 15:39:31 2009 From: bruno em afonte.com.br (Bruno da Fonte) Date: Sun, 26 Jul 2009 19:39:31 -0300 Subject: [Recife-pm] Curso Message-ID: Ola, alguém indicaria um curso de Perl com banco de dados free em Recife. Obrigado Bruno da Fonte From slpoli em dsc.upe.br Sun Jul 26 17:17:39 2009 From: slpoli em dsc.upe.br (=?ISO-8859-1?Q?Organiza=E7=E3o?=) Date: Sun, 26 Jul 2009 21:17:39 -0300 Subject: [Recife-pm] Curso In-Reply-To: References: Message-ID: Oi Bruno. A pergunta que você fez está ambígua: Você fala de um curso gratuito que aborda o uso de Perl com banco de dados ? ou Um curso que aborda Perl com banco de dados gratuitos (Mysql, Postgre) ? De qualquer forma, para ambas perguntas, não conheço nenhum curso (pago ou gratuito) aqui em Recife :P. Recomendo a leitura dos seguintes livros: *Programming Perl *(tem versão em português também): http://www.amazon.com/Programming-Perl-3rd-Larry-Wall/dp/0596000278 *Learning Perl*: http://www.amazon.com/Learning-Perl-Fourth-Randal-Schwartz/dp/0596101058 *Perl Best Pratices*: http://www.amazon.com/Perl-Best-Practices-Damian-Conway/dp/0596001738/ref=pd_sim_b_3 *Programming the Perl DBI* (Esse eu não li, mas pela descrição parece ser bem interessante) http://www.amazon.com/Programming-Perl-DBI-Tim-Bunce/dp/1565926994/ref=sr_1_12?ie=UTF8&qid=1248653502&sr=8-12 No captulo "using third party modules" do Learn Perl tem explicando como se usa o módulo que faz interface com um banco de dados. 2009/7/26 Bruno da Fonte > Ola, alguém indicaria um curso de Perl com banco de dados free em Recife. > Obrigado > > Bruno da Fonte > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From ulisses.montenegro em gmail.com Mon Jul 27 10:27:09 2009 From: ulisses.montenegro em gmail.com (Ulisses Reina Montenegro de Albuquerque) Date: Mon, 27 Jul 2009 14:27:09 -0300 Subject: [Recife-pm] Curso In-Reply-To: References: Message-ID: Bruno Alguns membros da lista participam/participaram de projetos onde que utilizam exaustivamente DBI (e também módulos para mapeamento objeto- relacional, como o Class::DBI e suas extensões). Se sua demanda for algo que justifique a formação de uma turma, podemos tentar viabilizar com custos compatíveis. Ulisses On Jul 26, 2009, at 9:17 PM, Organização wrote: > Oi Bruno. > > A pergunta que você fez está ambígua: > > Você fala de um curso gratuito que aborda o uso de Perl com banco de > dados ? > ou > Um curso que aborda Perl com banco de dados gratuitos (Mysql, > Postgre) ? > > De qualquer forma, para ambas perguntas, não conheço nenhum curso > (pago ou gratuito) aqui em Recife :P. Recomendo a leitura dos > seguintes livros: > > Programming Perl (tem versão em português também): > http://www.amazon.com/Programming-Perl-3rd-Larry-Wall/dp/0596000278 > > Learning Perl: > http://www.amazon.com/Learning-Perl-Fourth-Randal-Schwartz/dp/0596101058 > > Perl Best Pratices: > http://www.amazon.com/Perl-Best-Practices-Damian-Conway/dp/0596001738/ref=pd_sim_b_3 > > Programming the Perl DBI (Esse eu não li, mas pela descrição parece > ser bem interessante) > http://www.amazon.com/Programming-Perl-DBI-Tim-Bunce/dp/1565926994/ref=sr_1_12?ie=UTF8&qid=1248653502&sr=8-12 > > No captulo "using third party modules" do Learn Perl tem explicando > como se usa o módulo que faz interface com um banco de dados. > > > 2009/7/26 Bruno da Fonte > Ola, alguém indicaria um curso de Perl com banco de dados free em > Recife. > Obrigado > > Bruno da Fonte > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm > > _______________________________________________ > Recife-pm mailing list > Recife-pm em pm.org > http://mail.pm.org/mailman/listinfo/recife-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From marcoaureliomacae em gmail.com Fri Jul 31 12:27:59 2009 From: marcoaureliomacae em gmail.com (=?ISO-8859-1?B?TWFyY28gQXVy6WxpbyAoTUFDQckp?=) Date: Fri, 31 Jul 2009 16:27:59 -0300 Subject: [Recife-pm] Curso In-Reply-To: References: Message-ID: Boa tarde, Caro Bruno e Queridos Perl Mongers, Perdão a todos os participantes da lista Recife Perl Monges, pois acabei levando a pergunta do Bruno, para privado, eu vou retomar o assunto aqui na, lista para que todos possam ver, e alias aconselho a todos fazerem o mesmo, na hora de responder pelo Gmail, clicar no canto superior da direita da mensagem, em uma seta apontada para baixo, após isso clicar em: na opção: Responder à todos. ? Instalando os módulos necessários: A sua pergunta está ótima, bom já que você está precisando de uns códigos frescos e simples, posso começar indicado o módulo principal da linguagem Perl e do CPAN [1], para conexão com o Banco de Dados, o DBI [2], um ótimo módulo criado por Tim Bunce e mantido ativamente com a ajuda da comunidade internacional, com ele é possível conectar a quase todos os bancos de dados relacionais em especial o Mysql ou PostgreSQL que são livres. Para conectar o módulo DBI a um servidor de banco de dados Mysql ou PostgreSQL , será necessário instalar os módulos abençoados DBD::mysql [3] ou DBD::Pg [4], o primeiro criado por Jochen Wiedmann e o segundo criado por Edmund Mergl , os dois mantidos ativamente pela comunidade internacional. Se você estiver utilizando o Windows eu aconselho você ler este artigo: ?Como instalar, passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no Windows Como instalar, passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no Windows? [5]. Utilizando o Linux é mais fácil ainda porque ele já vem com o a distribuição do compilador Perl mais atual, como parte do essencial do sistema operacional, então instale o servidor Mysql, e use o instalador do CPAN [6] para instalar o DBI e DBD::mysql, digite na linha de comando: Shell_lixun> cpan (Caso o instalador interativo não esteja instalado: Shell_lixun> perl -MCPAN -e Shell) cpan> install DBI cpan> install DBD::mysql cpan> install DBD::Pg ? Escrevendo o código Perl para conectar a um banco de dados relacional Uma vez instalado os módulos necessários agora é a parte mais importante escrever o código Perl para conectar a um banco de dados relacional, abaixo segue este procedimento para conexões simples, existem outros métodos mais avançados, porém eu não aconselho para programadores iniciantes como o: DBIx::Class [7], Class::DBI [8] e SQL::Translator [9]; estes módulos são ferramentas para mapeamento de objeto-relacional ou ORM [10], com esta técnica, o programador não precisa de se preocupar com os comandos em linguagem SQL, porém o código vai ficar pouco didático para programadores iniciantes e mais limpo para programadores avançados, você também pode separar os comandos em linguagem SQL do seu código usando o módulo SQL::Library [11]. 1 - Os módulos abaixo são citados para melhoria dos códigos, a palavra reservada use é uma instrução que carrega módulos no seu programa, os módulos warnings e strict, ajudam muito durante o desenvolvimento do programa, lhe avisando mais facilmente de possíveis erros como variáveis indefinidas entre outras coisas. #!/usr/bin/perl use warnings; use strict; 2 - Conectando a um o Banco de Dados Mysql no servidor local: use DBI; $dbh = DBI->connect('DBI:mysql:nome_banco_dados', 'nome_usuário', 'senha' ) || die " Não foi possível conectar-se ao banco de dados: $DBI::errstr"; # (Aqui você deve inserir os exemplos abaixo de consulta, inserção, atualização e exclusão...) $sth->dbi_commit; $dbh->disconnect(); 3 - Conectando a um banco de Dados em um servidor diferente: $dbh = DBI->connect('DBI:mysql: nome_banco_dados;host=db.example.com', 'nome_usuário', 'senha',{ RaiseError => 1 }); 4 - Fazendo uma consulta simples: $sth = $dbh->prepare('SELECT nome_registro FROM tabela_exemplo WHERE id=1'); $sth->execute(); $result = $sth->fetchrow_hashref(); print " Valor retornado: $result->{nome_ registro}\n"; 5 - Fazendo uma consulta usando a técnica mais segura contra SQL Injection [12], um placeholders é o caractere ???, no query, para programar a passagem de parâmetro, leia sobre esta técnica na documentação do DBI. $sth = $dbh->prepare('SELECT nome_registro FROM tabela_exemplo WHERE nome_registro=?', undef, 'Mundo'); @result = $sth->fetchrow_array(); print "Resultado de Nome_registro com a palavra Mundo é $result[0]\n"; 6 - Inserção de registros no Banco de Dados usando a técnica de placeholders: $sth = $dbh->prepare('INSERT INTO tabela_exemplo VALUES ( ?,?)'); $res = $sth->execute( $numero_registro, $nome_registro ); 7 ? Atualizando um registro no Banco de Dados usando a técnica de placeholders: $sth = $dbh->prepare(?UPDATE tabela_exemplo SET nome_registro = ? WHERE nome_registro LIKE 'Mundo' ?); $res = $sth->execute($nome_registro); 8 ? Excluindo um registro no Banco de Dados usando a técnica de placeholders: $sth = $dbh->prepare(?DELETE FROM tabela_exemplo WHERE (nome_registro = ?)?); $res = $sth->execute($nome_registro); 9 ? Imprimindo vários resultados em lista de resultados: $sth = $dbh->prepare('SELECT nome_registro FROM tabela_exemplo); $sth->execute(); while($conteudo = $sth->fetchrow_hashref()) { print $conteudo->{'nome_registro'}; } Boa sorte e sintam-se a vontade para corrigir qual quer erro encontrado neste artigo. Abraços colaborativos, Marco Aurélio (MACAÉ) Fontes: 1- CPAN - Comprehensive Perl Archive Network (Rede de Repositórios Perl) http://pt.wikipedia.org/wiki/CPAN 2 - DBI - Database independent interface for Perl: http://search.cpan.org/~timb/DBI/DBI.pm 3 - DBD::mysql - MySQL driver for the Perl5 Database Interface (DBI): http://search.cpan.org/~capttofu/DBD-mysql-4.012/lib/DBD/mysql.pm 4 - DBD::Pg - PostgreSQL database driver for the DBI module: http://search.cpan.org/~turnstep/DBD-Pg-2.14.1/Pg.pm 5 - CPAN - query, download and build perl modules from CPAN sites http://search.cpan.org/~jhi/perl-5.8.0/lib/CPAN.pm 6 - Como instalar, passo a passo o: Apache, Mysql, Perl e módulos necessários do CPAN no Windows: http://perl.org.br/Artigos/ArtigoMarcoAurelioMACAE2009x07x29 7 - DBIx::Class - Extensible and flexible object <-> relational mapper: http://search.cpan.org/~ribasushi/DBIx-Class-0.08108/lib/DBIx/Class.pm 8 - Class::DBI - Simple Database Abstraction: http://search.cpan.org/~tmtm/Class-DBI-v3.0.17/lib/Class/DBI.pm 9 - SQL::Translator - manipulate structured data definitions (SQL and more): http://search.cpan.org/~jrobinson/SQL-Translator-0.09007/lib/SQL/Translator.pm 10 - Mapeamento objecto-relacional (ou ORM): http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional 11 - Sql injection http://pt.wikipedia.org/wiki/Sql_injection 2009/7/28 Bruno da Fonte : > Blz > > Primeiramente vou me apresentar, não sou programador por profissão, fiz um > curso de clipper quando tinha uns 12 anos.... faz tempo... hoje tenho 33,,,, > a uns 5 anos atraz, vi algo sobre perl na internet, comprei alguns livros e > comecei a fazer programas por hobby, no qual faço até hoje.... acho uma > linguagem muito fácil de se entender e com muitos recursos, por isso > continou nela. > > O que preciso é o seguinte.... > > tenho um site que fiz em perl para públicar os tempos no nosso servidor de > corridas on line, http://www.afonte.com.br/peracing, neste site alimento um > arquivo .txt com os tempos, o que gostaria era de colocar estes dados em um > arquivos tipo banco de dados, no clipper era em .dbf, em perl não sei como > pode ser, gostaria da forma mais simples, se me mandar um exemplo de > gravação de novo registro, alteração, exclusçao e leitura, dai pra frente eu > acho que dá pra fazer sozinho.... > > No meu site leio logs do nosso servidor, onde sao registrados os tempos e > voltas e gravo em arquivo .txt > > Abraços e obrigado pela ajuda. > > > > > > > 2009/7/27 Marco Aurélio (MACAÉ) >> >> Boa tarde, Caro Bruno, >> >> Primeiramente, abra seu coração, aqui você pode se sentir em casa seja >> sempre bem vindo ao Mosteiro dos Perl Mongers Recifenses, nos conte >> como você se sente aqui. Juntos, unidos, e lutando disseminamos código >> livre pelo amor a linguagem Perl. >> Quando você tiver uma dúvida sobre Perl e/ou sobre qualquer assunto >> como lazer, esporte, vamos responder com orgulho, de preferência ?OT:? >> (Off-Tópic - Fora do assunto da lista), antes do assunto. >> >> 2009/7/26 Bruno da Fonte : >> > Ola, alguém indicaria um curso de Perl com banco de dados free em >> > Recife. >> > Obrigado >> >> Você pode estudar em um curso presencial e/ou à distância, à >> preferência é sua; podemos construir dentro da nossa humilde estrutura >> um curso presencial em um futuro próximo. Ao contrario dos de alguns >> grupos nacionais como Rio-pm e São Paulo-pm, ainda não temos trabalhos >> em grupo para programadores iniciantes e avançados, lembrando que >> somos todos voluntários. >> >> Eu estou reunindo para os monges da nossa lista, módulos e publicações >> práticas e livres, onde você poderá aprender a distancia, quais são os >> estilos possíveis de conectar o código Perl com os Bancos de Dados >> livres, em breve eu vou posta aqui. >> >> Abraços colaborativos, >> Marco Aurélio (MACAÉ) >> > > > > -- > > Bruno da Fonte >