Posted by paulovittor23 at 3 Maio 2012

Category: Ferramentas, Memcached, Ruby

Rails + MemcachedInicialmente, acho que vale destacar alguns motivos pelo qual a persistência de sessões do Rails, no lado servidor, pode ser bastante importante. Alguns dos motivos são:
- Não trafegar dados de sessão em cookies;
- Aumento da capacidade de armazenamento de dados na sessão (cookies são limitados a 4K).

Uma vez que exista a necessidade de persistirmos as sessões, podemos destacar inúmeras opções para realização deste trabalho, como: Memcached, Redis, bancos de dados relacionais (MySQL, Oracle…), Bancos de dados não-relacionais (MongoDB…) etc.

No post de hoje vamos falar um pouco sobre o Memcached e sua aplicabilidade no armazenamento de sessões do Rails.

O que é Memcached?

Como descrito em seu próprio site, o Memcached é um mecanismo de armazenamento de chave-valor em memória capaz de tratar tanto Strings como objetos.

(mais…)

Posted by paulovittor23 at 22 Abril 2012

Category: Matemática, Project Euler, Scala

Continuando a série de resoluções dos problemas do Project Euler, e considerando aqueles que foram resolvidos por poucas pessoas, escolhi o problema 29 para apresentar a sua solução.

Mas vamos ao enunciado do problema:

Considere todas as combinações de inteiros de ab para 2 <= a <= 5 and <= b <= 5:

22=4, 23=8, 24=16, 25=32
32=9, 33=27, 34=81, 35=243
42=16, 43=64, 44=256, 45=1024
52=25, 53=125, 54=625, 55=3125

Se os números fossem dispostos em ordem numérica, removendo todas as repetições, temos a seguinte sequência de 15 elementos distintos:

4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125

Quantos termos distintos existem na sequência gerada por <= a <= 100 e <= b <= 100?

(mais…)

Posted by paulovittor23 at 7 Fevereiro 2012

Category: Git, Java, Ruby

Etiquetas:, , , , ,

Logo GitHooks, que podem ser traduzidos como “ganchos”, são pequenos scripts que podem ser adicionados dentro do diretório “.git/hooks/”, existente em todo projeto que utilize o Git como ferramenta de controle de versão, para efetuar ações disparadas por alguns eventos, como pre-commit, post-commit etc (para conhecer todos os eventos visite o Git Community Book).

Quando executamos o comando “git init”, alguns scripts são copiados no diretório de hooks do projeto, porém por padrão ficam desabilitados. Para ativar um script de hook basta remover o sufixo “.sample” do nome dos scripts. Obviamente, não basta apenas ativar o script, é necessário que o desenvolvedor customize o script para realizar alguma ação desejada.
(mais…)

Posted by paulovittor23 at 31 Outubro 2011

Category: Utilidades

Iniciando os posts da categoria “Utilidades”, onde pretendo escrever sobre ferramentas que facilitam a vida dos desenvolvedores, hoje irei escrever sobre o uso do firewall Iptables para o bloqueio de acesso de e para determinados IP’s.

Ok, mas isso é importante no cotidiano de um desenvolvedor?
A resposta é simples, SIM!

Os desenvolvedores precisam sair do seus mundinhos de “IDE sofisticada” e entender um pouco mais do mundo que os cercam, principalmente quando o assunto for infra-estrutura! Pois é lá que sua aplicação irá “viver”!

(mais…)

Posted by paulovittor23 at 28 Outubro 2011

Category: Matemática, Project Euler

Inicialmente, para quem ainda não conhece, o Project Euler é um site que visa encorajar, desafiar e ajudar os desenvolvedores a melhorar suas habilidades técnicas de uma forma divertida e muito relacionada com o mundo da matemática.

Existem atualmente 356 desafios, sendo que destes, até o momento, resolvi 23. Não considero este último o mais difícil dentre os já resolvidos, mas, como possui o menor número de pessoas que solucionaram, achei interessante deixar exposta a forma como resolvi..

Primeiramente, vamos ao enunciado do problema 23:

Um número perfeito é um número cuja coma de seus divisores é exatamente igual ao próprio número. Por exemplo: a soma dos divisores de 28 é 1 + 2 + 4 + 7 + 14 = 28, o que significa que 28 é um número perfeito.
Um número n é chamado de deficiente quando a soma de seus divisores é menor do que n e é chamado de abundante se a soma exceder o número n.
Como 12 é o menor número abundante, 1 + 2 + 3 + 4 + 6 = 16, o menor número abundante que pode ser escrito com a soma de dois números abundantes é 24.
Por análise matemática, é sabido que todos os inteiros maiores que 28123 podem ser formados através da soma de dois números abundantes.
No entanto, este limite não pode ser reduzido através de análise, embora seja sabido que o maior número que não pode ser expresso como a soma de dois números abundantes é inferior a este limite.
Encontre a soma de todos os números inteiros positivos que não podem ser formados através da soma de dois números abundantes.

(mais…)