Só para mostrar uma pequena diferença de facilidades entre uma pequena funcionalidade das linguagens: Java e Python

O problema: Achar e retornar um padrão de string (expressão regular)

Em java:

//Pattern e Matcher são de java.util.regex
Pattern p = Pattern.compile("\\d{1,2}.\\d{1,2}(.\\d{1,2}){0,2}");
String texto = "Minha versão é: 6.0.2.3 !";
try {
    Matcher m = p.matcher(texto);
    if(m.find()){
        versao = m.group();
        System.out.println(versao);
        //Irá imprimir: 6.0.2.3
    }
} catch (Exception e) {
    System.out.println("Trecho não encontrado nao achada...");
}

Em python:

import re
texto = "Minha versão é: 6.0.2.3 !"
resultado = re.search(r'(\d{1,2}.\d{1,2}(.\d{1,2}){0,2})',texto)
print resultado.groups()
#Irá imprimir ('6.0.1.1',)

:-)

Contribuição do Cainã :

Em ruby. Você pode acessar isso como se fosse uma array, então:

>> “Minha versão é: 6.0.2.3 !”.match(“\\d{1,2}.\\d{1,2}(.\\d{1,2}){0,2})[0]
=> “6.0.2.3?

Tem outras maneiras de se fazer isso, essa é uma que eu me lembro agora.

Não esqueçam que tenho agora um blog que fala somente sobre Python, sob minha visão, sobre meu aprendizado !

Hoje o último post dele é: Questão de Python

Entrem e conheçam um pouco mais sobre esta maravilhosa linguagem de programação.

Aproveitando o embalo do nosso colega de blog Fred, vou comentar rapidamente como instalar o KomodoEdit e o RabbitCVS no ArchLinux.

Bom, não preciso falar muito do Komodo, ele é um ótimo editor para várias linguagens de programação, voltado a linguagens de script, com SyntaxHighLight, autocomplete, projetos, e por ai vai, e depois de instalado ele, quando abre a primeira vez, faz uma varredura no seu sistema para dar uma carga na base dele de auto-complete, para que fique mais ágil quando você for programar. Antes das versão 5.2 que está disponivel atualmente nos repositorios do Arch, eu o achava, apesar de muito bom, muito lento, mas ontem o instalei e vi que está bem mais rapidão. hehe

Agora, p RabbitCVS é um ótimo cliente para o controle de versões Subversion, tah certo que está na versão 0.12 ainda, e creio que irá crescer bastante ainda. O Rabbit é um cliente svn ao estilo TortoiseSVN que tem para windows, integrado ao Nautilus, e quando você acessa uma pasta que tem um checkout feito, ele abre o menu com as várias opções de ações do svn ( merge, commit, update, etc… ) tornando assim muito mais ágil nosso trabalho. Eu particularmente gosto e muito deste estilo de cliente para svn.

Então fica aí a dica…

Ah, claro, para instalar no arch, você vai ter que digitar este monte de comandos no terminal ( lembrando sempre que quem usa o arch não tem medo algum do terminal, muito pelo contrário, o terminal é seu amigo ! haheHEAH ):

$ yaourt -S komodoedit
$ yaourt -S rabbitcvs

Outra dica é, instale o programinha aurvote também pelo yaourt, que quando você fizer este tipo de instalação ( do aur ) ele vai perguntar se você quer votar no pacote recém instalado, também nos ajudando a votar !

Sites:

Procura por expressão regular é o que há.. tudo de bom ! heheh

E o Programmer’s Notepad é um dos melhores editores para programação, e até mesmo textos simples, para windows que há. Seguido do Notepad++.

Ambos são leves, tem várias ferramentinhas e características que nos ajudam e muito !

Mas como o pnotepad abre arquivos maiores do que o notepad++, acabei por ter os dois, pois as vezes edito uns dumps de oracle que passam de 500Mb, que o notepad++ já não abre !

Mas enfim… seguem os sites:

http://www.pnotepad.org/

http://notepad-plus.sourceforge.net

Ah, e o Programmer’s Notepad ainda aceita scripts em python, com a lib PyPN, que ainda não usei, mas um dia destes vou averiguar melhor !

Procurando por isto no amigoogle, vejam só o que encontrei ?

http://www.feedjack.org/

Feed Jack, um agragador de feeds/blogs, no estilo PlanetPlanet, feito em Django. Bem funcional e interessantes.

Baixei ele, estou dando uma guaribadinha em um novo tema para ficar mais legal e talvez eu o coloque no ar… nao sei ainda ! Mas fica ai a dica…

E assim estou aprendendo mais CSS também….. hehehe

Pessoal,

Escrevi um script em python que fica verificando quando foi o ultimo commit feito em um repositorio do SVN, porém, acho que este pode melhorar ainda e muito, mas meu conhecimento vai até aqui ( pelo menos agora ! ) .
E com o intuito de compartilhar este código com vocês e ainda receber algumas dicas como melhorá-lo, o coloquei no meu wiki.

http://wiki.berlotto.blog.br/

A moral é que ele tem disponível uma lista de repositorios svn, e cria uma Thread para cada um destes.
Então ele executa o comando para pegar a data do ultimo release do repositorio, via ‘svn log’ e envia um email de aviso caso tenha mudado. Neste caso pode fazer qq outra operação tb.. mas para mim bastava o email !

Tem alguns pontos que percebi nele:

1. Ele só vai funcionar em ambiente Linux tb, por causa do comando… de repente tem outra forma de pegar esta informação
2. Quando chamamos ‘python svn-verificador.py’ ele fica trancado esperando que todas as threads estejam finalizadas. O que não ocorre até que eu dê um Kill -9 nele .

O interessante é utilizar ele em ambientes de Integração Contínua.

Mas o foco agora é melhorar o script, melhor utilizar os recursos da linguagem….

Por favor, contribuam com seu conhecimento…

Valew e Bom Feriado a todos !

© 2010 Sérgio Berlotto - Blog Pessoal Obrigado por nos visitar ! Assine o RSS para não perder as novidades! Suffusion WordPress theme by Sayontan Sinha