Archive for the ‘Linguagens’ Category

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 21 Março 2010

Category: Certificação

A preparação…
Estudei aproximadamente 4 meses, em um ritmo não muito acelerado. Minha experiência profissional com EJB’s era razoável, porém quase inteira com EJB 2.X.
(mais…)

Posted by paulovittor23 at 28 Fevereiro 2010

Category: Java, Segurança

O erro abaixo ocorre quando tentamos chamar uma url HTTPS cujo Web Server não possui um certificado digital assinado por uma Autoridade Certificadora.

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)
…  (omitindo linhas do trace)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
…  (omitindo linhas do trace)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
…  (omitindo linhas do trace)

Quando isto ocorre, existem duas abordagens possíveis para que o cliente do Web Server possa realizar a chamada HTTPS sem receber o erro acima apresentado. (mais…)