garotosopa

C++ na web com FastCGI e Nginx

Publicado em C++ por garotosopa em dezembro 31, 2009

Em tempos em que só se ouve falar em linguagens interpretadas, linguagens que rodam na JVM e linguagens funcionais, voltei um pouco ao básico.

Como já estava muito tempo sem fazer nada durante o Natal, resolvi testar como seria hoje o desenvolvimento web com C++.

O primeiro passo foi conseguir conectar a entrada e saída da aplicação com o servidor web, e é o que segue relatado abaixo.
(mais…)

Etiquetado como:, ,

Flexibilidade não é gambiarra

Publicado em OOP, PHP por garotosopa em dezembro 22, 2009

Como a maioria dos programadores, já trabalhei com sistemas legados com um histórico de soluções rápidas não muito ortodoxas.

Numa época não muito distante, em um sistema de gestão acadêmica, era possível encontrar trechos como if ( $codi_cur == ‘PF’ ) para diferenciar a lógica para determinado curso.

Pensar nesses if’s nas reuniões de requisito era um caos, tanto para os programadores quanto para os gerentes de TI, já sabendo a dificuldade de manutenção. Sem contar a decepção do usuário que tinha que trabalhar com um sistema engessado quando a solicitação não podia ser atendida.

Mas de uns tempos pra cá, a abordagem das soluções tem mudado.

Vou tentar relatar resumidamente como tratamos uma dessas solicitações de forma que não parecesse uma gambiarra e facilitasse a manutenção, possibilitando novas lógicas sem acrescentar complexidade.

Imagino que ninguém vai se enquadrar no mesmo caso que o nosso, mas acho que a técnica pode ser útil em qualquer situação.

(mais…)

Alterando software livre do jeito Debian – Patch para o Transmission

Publicado em linux por garotosopa em outubro 5, 2009

Um dos argumentos dos evangelistas de software livre é que, tendo acesso ao código fonte do programa, você altera o que quiser. Mas quem tem o mínimo de experiência em desenvolvimento sabe que o processo é um pouquinho trabalhoso.

Primeiro você baixa o código fonte do repositório oficial (às vezes tendo que baixar um programa diferente de controle de versão), baixa todos os pacotes de desenvolvimento dependentes (quando eles dizem quais são), se familiariza com o código fonte (mesmo sem documentação), aprende uma nova linguagem e todas as APIs necessárias, tenta alterar e depois fica compilando até que tudo funcione (o que às vezes não ocorre).

Eu não sei vocês, mas só de imaginar tudo isso eu prefiro esperar e torcer pra que a funcionalidade que eu quero esteja disponível na versão seguinte.

Só que isso faz de você um mau menino, e os nerds olham feio pra você nos eventos de tecnologia e nas listas de discussão.

Abaixo você verá algumas etapas simples de como começar a alterar softwares utilizando os pacotes de source do Debian (Ubuntu ou qualquer derivado), através de passos reais que segui para adicionar uma pequena funcionalidade ao Transmission, mesmo sem conhecer nada de C, Gtk ou do código fonte do programa (na verdade, ainda nem comecei, estou escrevendo o post e fazendo).

Prepare-se para impressionar as gatinhas!

(mais…)

Pequena utilidade para variáveis estáticas

Publicado em PHP por garotosopa em setembro 9, 2009

Finalmente, depois de muitos anos, achei que tivesse encontrado uma situação em que variáveis estáticas seriam úteis para mim no PHP.

A diferença da variável estática em uma função é que ela não perde o seu valor quando a execução deixa o seu escopo. Isto é, na próxima vez que a função for executada, a variável terá o mesmo valor que tinha na execução anterior.

Nunca tinha achado muita utilidade pra isso, até porque geralmente as variáveis locais de um método realmente tinham o tempo de vida de cada execução. Quando não, fazia mais sentido utilizar uma propriedade da classe.

Até que recentemente surgiu a necessidade de executar um método que consultava o banco de dados dezenas de vezes em uma única requisição, alterando apenas o parâmetro da query.
(mais…)

Etiquetado como: