Arquivo de October, 2009

Agregador de redes sociais em PHP

Postado por Rafael Monteiro em 28/10/2009

Cenário

Atualmente temos uma diversidade de conteúdo espalhado sob diversas formas, seja através de fotos, comentários, tweets, blogs, links favoritos, etc. Como exemplo podemos citar as redes: Flickr, Last.fm e Twitter.

Não seria interessante agregá-los em uma página ?

Isso pode ser feito utilizando a classe SimplePie, de código aberto, fácil utilização, escrita em PHP e que nos ajudará a trabalhar com o RSS necessário para a manipulação dos dados.

Ela pode ser encontrada em: http://simplepie.org/downloads/.

Continue Reading »

Slide de Imagens com jQuery

Postado por Ricardo Perez em 26/10/2009

Continuando a série de post sobre jQuery iniciado por Gabriel.

Hoje vou mostrar um pouco sobre Effects e alguns métodos interessantes do jQuery, Usando como exemplo um simples slide de Imagem.

Neste código vemos o effect FadeIn(efeito de aparecer) e fadeOut(efeito de desaparecer) e o método next
Continue Reading »

Bordas arredondadas com jQuery

Postado por Gabriel Verta em 22/10/2009

Pulando um pouco a seqüência de posts anteriores, gostaria de mostrar-lhes o plugin Jquery Corner que cria bordas arredondas com o JQuery.

E como funciona?

Continue Reading »

Envio de email utilizando a classe PHPMailer

Postado por Rafael Monteiro em 19/10/2009

Cenário

De início você pode estar pensando: "mas porquê vou incluir essa biblioteca se o PHP já possui a função mail() nativamente ?".

Através da classe PHPMailer, temos uma solução de envio de email mais robusta e com maiores funcionalidades, dentre elas a possibilidade de incluir anexos à mensagem, incluir CCs e CCOs, definir tamanho padrão para quebra de palavras (wordwrap) e utilizar um servidor SMTP, sendmail ou QMail para o envio.

O fato de podermos especificar como será feito o envio é particularmente útil no caso de hospedarmos uma aplicação em um ambiente que não possua um servidor de email integrado (cenário incomum mas que pode vir a ocorrer). Nesse caso, é possível, ainda, definirmos um host padrão para envio e um outro redundante, no caso de o primeiro falhar.

Onde encontrar

O download da biblioteca pode ser feito em: http://sourceforge.net/projects/phpmailer/files/.
Nesse endereço existem versões para o PHP 4 e PHP 5.

Continue Reading »

API do Twitter para Python

Postado por Yoshio Iwamoto em 14/10/2009

Hoje vou mostrar como fazer uso da API do Twitter para Python, a Python Twitter API. Sua utilização é bem simples e podemos criar vários aplicativos ou scripts para automatizar algumas tarefas no microblog, como o script que fiz no meu último post.

Instalação no Linux
Baixe o código fonte da última versão aqui.

Descompacte com o comando:
$ tar -zxvf python-twitter-XXX.tar.gz

Após descompactar entre no diretório criado e execute o seguinte comando como usuário root:
# python setup.py install


Utilização
Para utilizar a API importe o módulo twitter:

import twitter
...

As principais classes que você deve conhecer são:
twitter.Api
twitter.User
twitter.Status
twitter.DirectMessage

Para iniciar, crie uma instancia da classe twitter.Api:

import twitter
api = twitter.Api()

Com este objeto você pode utilizar os métodos da API que não necessitam de autenticação do usuário. Um Exemplo é o método GetPublicTimeline, que sem parâmetros retorna as últimas 20 mensagens de status dos usuários.

import twitter
api = twitter.Api()
status_list = api.GetPublicTimeline()
for status in status_list:
    print status.user.name

No exemplo anterior o status é um objeto da classe twitter.Status. A classe twitter.Status possui um atributo user que é um objeto da classe twitter.User.

Para realizar a autenticação de um usuário, instancie a classe twitter.Api, porém passando o usuário e a senha como parâmetros:

import twitter
api = twitter.Api(username='joao', password='abc123')

Para enviar uma mensagem utilize o método PostUpdate:

# -*- encoding: utf-8 -*-
import twitter
api = twitter.Api(username='joao', password='abc123')
status = api.PostUpdate('''Yohohoho! Enviei uma mensagem! Mas cuidado
com os limite de 140 caracteres.''')

Repare que ele retorna o status da mensagem enviada.

Várias mensagens contínuas
Um método interessante da API é o PostUpdates, que permite que seja enviada uma mensagem com mais de 140 caracteres. A mensagem na verdade é enviada como se fosse várias mensagens com no máximo 140 caracteres.

Você também pode indicar uma string de continuação no segundo parâmetro, esta string é colocada no final das mensagens para indicar a continuação.

# -*- encoding: utf-8 -*-
import twitter
api = twitter.Api(username='joao', password='abc123')
status = api.PostUpdates('''Yohohoho! Enviei uma mensagem bem grande!
Agora você não precisa se preocupar com o tamanho da mensagem pois
este método irá dividi-la para você em várias mensagens, você também
pode utilizar uma string de continuação ao lado.''', '…')

Obs: Segundo a documentação da API, o Twitter remove as reticências ("...") das strings das mensagem, por isso utilize o caractere UNICODE \u2026 ("…"). Também não ultrapasse o limite dos 150 requests permitidos por hora pelo Twitter.

O objeto JQuery e seus seletores

Postado por Gabriel Verta em 9/10/2009

Continuando o post anterior sobre jQuery, iremos descrever o objeto jQuery.
A maioria das funcionalidades do jQuery é iniciada pela objeto $. O $ no jQuery possui diversas funcionalidades, que podem ser:

- Obtenção de objetos a partir de seletores.
Ex.: Obtendo todos os objetos que contenham a classe "dinamico":
alert($(".dinamico").length)

- "Window onload" (funções que irão ser executadas após o término do carregamento da página).
Ex.: Executando função com mensagem simples:
$(function(){
alert("A página já carregou!")
})

- Funções úteis (a serem descritas em um próximo post).
Ex.: Removendo espaços do final e começo de uma string:
alert($.trim(" texto ").length)

- Ajax
Ex.: Requisição ajax por get
$.get("exemplo-ajax.php", function(resposta){
alert(resposta)
})

- Criar conteúdo dinâmicamente
Ex.: Adicionando um novo paragrafo ao corpo da página:
$('<p>Novo Paragrafo</p>').appendTo(document.body)

Seletores

Seletores são declarações que igualam um ou vários elementos do HTML. São eles que mapeiam o HTML no css:

Seletor Descrição
TAG Traz todos os elementos que sejam da TAG selecionada.
Ex.:
alert($('p').length)
#ID Traz o elemento que tenha o ID selecionado.
Ex.:
$('#conteudo').css('background-color', '#ccc')
.CLASSE Traz todos os elementos que tenham a CLASSE selecionada.
Ex.:
$('.content-center').css('text-align', 'center')
[PROPRIEDADE=VALOR] Traz todos os elementos que tenham a PROPRIEDADE com o VALOR selecionado.
Ex.:
$('[name=nome]').val('Gabriel Verta')
SELETOR1 SELETOR2 Traz todos os elementos que SELETOR2 que estejem dentro do SELETOR1.
Ex.:
$('div label').addClass('required')



Existe uma lista extensa de seletores para jQuery, que podem ser vistas na documentação oficial do jQuery. Tentei criar um site com uma forma dinâmica de ver estes seletores em jQuery, espero que entendam como funciona o site. ;)

Seja seguido no Twitter sem incomodar as pessoas

Postado por Yoshio Iwamoto em 7/10/2009

Em dois dias meu usuário doTwitter pulou de 20 seguidores para quase 200. Não é enganação, é até um problema do Twitter, ou não, já que não é bem um bug.

Se você procurar por aí na internet irá encontrar vários métodos de como conseguir mais seguidores no Twitter, mas todos dizem praticamente a mesma coisa: seguir os outros e esperar que eles te sigam também.

De fato isto é verdade e funciona se você seguir muitos (muitos) usuários, mas minha idéia foi um pouco diferente. Vou contar uma historinha.

Estava vendo na Folha Online uma matéria sobre as principais frases ditas pelos famosos no Twitter e umas das frases era do ilustre William Bonner (que aliás sou grande fã). Eu já esqueci qual foi a frase dele, mas o importante é que graças a matéria eu descobri que ele tinha Twitter (@realwbonner), então passei a segui-lo.

Por curiosidade fui ver quantos seguidores ele tinha e ao entrar na página de seguidores dele meu usuário do Twitter estava sendo exibido no topo dos resultados.

Naquele dia, acho que ele tinha mais ou menos 40 mil seguidores. A exibição do meu usuário na página de seguidores dele acabou me rendendo 3 novos seguidores. Uma idéia estava surgindo...

Entrei novamente na página de seguidores dele, mas meu usuário não estava mais no topo. A causa era que o @realwbonner estava adquirindo mais seguidores fazendo os antigos caírem nos resultados. Uma idéia se completou!

Eureka! Vou criar um script para dar Unfollows e Follows nos Twitters com mais usuários do Brasil. Em tempos em tempos eu executo o script e ele faz o meu usuário ficar no topo dos resultados dos seguidores deles.

Se pegarmos o @hucklucianO que possui mais de 1 milhão de seguidores e deixar o seu usuário em exibição no topo da página de seguidores dele, isto irá fazer as pessoas prestarem mais atenção em você.

Vamos ao script

O script foi desenvolvido em Python (v2.6) e utiliza a Python Twitter API (v0.6).

Baixe o código fonte da Python Twitter API em:
http://python-twitter.googlecode.com/files/python-twitter-0.6.tar.gz

Descompacte com o arquivo com o comando:
$ tar -zxvf python-twitter-0.6.tar.gz

Entre na pasta criada e instale a API (como root):
$ cd python-twitter-0.6
$ sudo python setup.py install

Finalmente, baixe o script que criei aqui. Será necessário edita-lo. Abra com algum editor de texto e altere este trecho:

your_users = [
    ('seu_usuario', 'senha',), # Ex: ('joao', 'asd123'),
    # ('outro usuario', 'senha'),
    # ...
]

No trecho acima você deve inserir o seu usuário e senha do Twitter para que a API possa realizar o login. Você está de posse de 100% do código, repare que em momento algum o seu usuário e senhas são enviados para mim. :D

Neste outro trecho você insere os usuário do Twitter que deseja seguir. Coloque cada usuário em uma linha dentro do espaço delimitado entre as três aspas. No script eu já adicionei alguns camaradas :)

twitter_users = '''
yoshioiwamoto
rafaelsdm
ricardoperez
gabrielverta
'''

Quanto mais seguidores eles tiverem, melhor. Uma dica é dar uma passada no twittercounter onde você pode encontrar quem são os usuários mais seguidos no mundo ou em um país específico (Brasil).

Para rodar o script execute na linha de comando:
$ python followme.py

No meu usuário @yoshioiwamoto eu precisei seguir os 15 usuários do Twitter mais seguidos do Brasil e o script era rodado 3 vezes ao dia.

Uma informação importante, para cada usuário que você segue são necessários 2 requests e o Twitter possui um limite de 150 requests por hora, então gerencie bem os uso deste script.

Se você utiliza sistemas operacionais proprietários que não são baseados em Unix, aguarde até que uma boa alma crie um tutorial para você. :D

VIM – Substituir Tab por Espaços

Postado por Ricardo Perez em 6/10/2009

Uma dica muito rápida!

Se você estiver precisando trocar "Tab" por espaços para identação do seu código fonte, como eu preciso para editar alguns scripts python em um servidor, basta fazer o seguinte:

:set tabstop=n // seta para cada tab o numero n de espaços
:set expandtab // troca a tab por espaço

Note que para as tabs já existentes no código estes comandos não funcionarão, para ajusta isto basta fazer:

:retab

Para setar permanentemente esses ajuste em seu Vim basta colocar estes comandos dentro do ~/.vimrc

Av. Conselheiro Nébias, 368A, Cj. 413
Vila Mathias - Santos - SP
Telefone: (13) 3345-4580

© 2008 - 2009 Stiod. Todos os direitos reservados.