Sana inside » Posts para a tag 'php'

Primeiro PHP Day Espirito Santo – Workshop MongoDB

Hoje de manhã aconteceu na UVV, em Vila Velha, o primeiro PHP Day promovido pelo grupo de usuários php do Espírito Santo. Apesar de curto, o evento teve um bom número de participantes e temas interessantes, com mini-palestras destinadas a públicos com diferentes níveis de conhecimento (iniciantes ou intermediário-avançado) acontencendo em paralelo. Além disso, rolou wifi nas duas salas e as pessoas foram convidadas a levarem seus notebooks pra poder brincar in-loco com os exemplos nos workshops.

Eu pude contribuir ministrando um Workshop sobre MongoDB, um novo banco de dados não relacional (orientado a documentos) que venho utilizando para implementar uma nova aplicação que estou desenvolvendo. Na verdade, acabou não sendo um workshop verdadeiro, por uma série de probleminhas inesperados (hello Murphy!). Continue lendo o post »

Tags: , , , , ,

Comentar (Comments)

TorrentFlux: um cliente web para BitTorrent

tf_logoPoucos provedores de internet admitem oficialmente, mas na prática todos sabem que as operadoras de mundo todo vem há alguns anos fazendo o chamado “traffic-shapping” pra restringir o uso de redes p2p por parte de seus clientes. Aqui em Vitória, o meu provedor NetJá, aparentemente é um dos que recorrem a essa prática, uma vez que eu raramente consigo mais que ridículos 15 kb/s de taxa de download no bit torrent.

O resultado prático disso é que já há alguns anos eu não uso redes p2p como a do Emule, e raramento tenho paciência de deixar algo baixando via torrents. No ano passado, cheguei até a fazer uma assinatura do rapidshare para conseguir baixar mais rapidamente os seriados que gosto de assistir (e a propósito, eu só comecei a fazer isso depois que a Fox, em 2007, tomou a decisão estúpida de só exibir os seriados dublados. Eu nem ligava de assistir tudo um ano depois dos americanos, mas aceitar dublagens toscas já é demais). Só que em fevereiro minha assinatura do Rapidshare terminou, eu não qui$ renovar, e voltei a ter que ficar esperando muitas horas pra conseguir fazer esses downloads. Neste final de semana, porém, enxerguei a luz: o TorrentFlux.

Continue lendo o post »

Tags: , , , ,

Comentar (Comments)

Non-blocking asynchronous requests usando curl_multi e php

Nesta semana eu precisei implementar um script que, ao receber alguns dados enviados por POST pelos usuários do site, faz uma requisição http a uma api externa usando parte desses dados postados. Como as informações que essa api retorna não precisam ser exibidas para o usuário, e como essa api geralmente leva cerca de 2 segundos pra responder, para não deixar o usuário “pendurado” esperando, resolvi que faria uma requisição assíncrona não-bloqueante para um outro script que por sua vez acessaria a api e iria tratar/salvar os dados que eu necessitava.

Como o php não tem suporte a threads, a minha solução foi implementada com a biblioteca curl, mais especificamente com a função curl_multi_*(), que permite fazer requisições paralelas e assíncronas. Porém, os exemplos que encontrei tanto na documentação no php.net quanto em classes disponibilizadas por terceiros não funcionavam exatamente do jeito que eu queria, e acabei quebrando a cabeça por algumas horas para encontrar a solução, que gostaria de compartilhar aqui. Continue lendo o post »

Tags: ,

Comentar (Comments)

Php, Java, Python, Ruby, Asp: Qual é a linguagem de programação mais popular?

Provavelmente você já deve ter uma ideia da resposta, mas hoje num breve momento de ócio resolvi saciar minha curiosidade perguntando ao Oráculo quão populares são as linguagens de programação mais utilizadas na web atual. As candidatas pesquisadas foram as cinco linguagens listadas no título do post (Php, Java, Python, Ruby, Asp), que acredito serem as mais faladas quanto o assunto é desenvolvimento web. O “método” (se é que dá pra chamar assim) que utilizei para verificar a popularidade das escolhidas foi o de pesquisar o número de menções à cada linguagem e o número de pesquisas feitas usando o nome da linguagem como palavra-chave.

Sendo curto, grosso e direto, eis os resultados:

Continue lendo o post »

Tags: , , , , , , ,

Comentar (Comments)

Cinco funcionalidades que podem ser desenvolvidas (e otimizadas) usando o memcache

Se você é um desenvolvedor web minimamente engajado e esteve no planeta terra nos últimos três anos, provavelmente já ouviu falar do memcached (do contrário, pode começar a saber mais pelo site oficial). Designado para servir como um sistema distribuído de cache em memória ram dispensável e de alta-performance para aliviar a barra dos servidores de bancos de dados, o Memcache é usado pelos maiores sites da internet (três exemplos: Facebook, Youtube, Flickr) e já fez a alegria de muito desenvolvedor de sites de grande-tráfego desde que foi lançado (mas é uma mão-na-roda também para os pequenos).

Mesmo que o memcache não deva ser usado como um mecanismo de armazenamento persistente de dados, principalmente se eles forem importantes, definitivamente não é só para fazer cache de querys do seu SGBD que essa maravilhosa ferramenta de Deus da Danga Interactive serve. Por ser instantaneamente escalável e pelo menos duas vezes mais rápido do que um “select from table” no já rápido mysql em acessos via tcp/ip (veja esse benchmark), o memcache pode ser usado como único mecanismo de armazenamento para aumentar bastante o desempenho de algumas aplicações que usam apenas dados descartáveis , ou seja, que se forem perdidos  num eventual crash do servidor não vão causar nenhum problema significativo.

A seguir, menciono cinco idéias de funcionalidades, fundamentais ou comuns mesmo em sites de pequeno tráfego, que podem tirar proveito das vantagens do memcache. Implantei as três primeiras no Flogão em 2006 e posso garantir que você (e o load average do seu servidor) ficarão contentes com o resultado:
Continue lendo o post »

Tags: , , , , , ,

Comentar (Comments)

© 2008 Powered by WordPress