Certificado SSL Gratuito

ssl-vpn1Parece mentira né?! Mas não é não. Eu estava quase comprando um certificado SSL no serviço GoDaddy para um dos servidores que administro, porém, pensei: “A certificação de domínios não deve ser muito complicada, deve existir alguma entidade que faça a certificação gratuitamente, vou fuçar…”.

Minha busca começou e o primeiro resultado no Google já era o serviço StartSSL. Eu entrei no site e a primeira impressão que tive foi: “Que site feio”, mas comecei a navegar e achei muito funcional.

A StartCom oferece o certificado de classe 1 x.509 SSL livre (para uso pessoal) “StartSSL livre”, que funciona para servidores Web (SSL/TLS), bem como para a criptografia de E-mail (S/MIME). Dispõe também dos certificados de classes 2 e 3 bem como Certificados de Validação Estendida, onde uma validação completa (com custos) é obrigatória. (Fonte: Wikipedia)

Para mais detalhes sobre o serviço de gratuito de classe 1 você pode acessar esse endereço: https://www.startssl.com/?app=1

Para começar você deve criar uma conta através desse endereço: https://www.startssl.com/?app=12 e posteriormente clicar na opção “Sign Up“. Basta preencher os dados corretamente e seguir as instruções do site/e-mail.

Vale lembrar que esse serviço de Classe 1 é para utilização Pessoal (No Commercial Use).

Até a próxima.

Resolvido: Problemas com COUNT() + JOIN no MySQL

Há algum tempo eu vinha sofrendo algum ataque de melancolia quando o assunto se tratava de COUNT+JOIN+GROUP em banco de dados. Deixa eu explicar qual era o problema, veja esse comando SQL:

SELECT COUNT(c.codigo) AS total FROM fa_curriculo c
LEFT JOIN fa_curriculo_x_area cxa
ON cxa.cod_curriculo = c.codigo

O resultado desse comando estava produzindo o resultado: 7, porém quando colocava o GROUP BY no final da Query o resultado produzido era parecido com esse:

| total |
| 1      |
| 1      |
| 1      |
| 1      |
| 3      |

Aí eu fiquei muito indignado, fucei a internet inteira pra ver se alguém já tinha passado pelo mesmo problema, porém ninguém com uma solução aplausível. Eu achei por acaso uma pessoa que colocava a solução no meio de um contexto totalmente fora, aí eu falei: “Vou testar, mas isso não vai funcionar”. Advinha?! Não é que funcionou!!!! Olha a maracutáia:

SELECT COUNT(DISTINCT c.codigo) AS total FROM fa_curriculo c
LEFT JOIN fa_curriculo_x_area cxa
ON cxa.cod_curriculo = c.codigo

Resultado produzido: 5 (Exatamente o esperado, e não é que faz sentido?)

Eu espero que isso ajude mais pessoas.

Obrigado!

Extensão PHP MSSQL no Mac OS X (Mountain Lion)

Estamos trabalhando num projeto que utiliza Microsoft SQL Server como base de banco de dados. Quando configurei o PHP para conectar no determinado banco, o resultado era uma tela branca. Eu não estava conseguindo depurar o problema.

Fiquei um tempinho quebrando a cabeça, depois quando analisei o phpinfo() verifiquei que a extensão mssql.so não estava carregada. A solução que encontrei para utilizar essa extensão foi a seguinte:

  • Ter o XCode/GCC previamente instalado
  • Baixar, configurar, compilar e instalar o software FreeTDS (link)
  • Baixar o código fonte do PHP
  • Utilizar o comando phpize dentro da extensão do mssql (ext/mssql/)
  • Configurar, compilar e instalar o módulo
  • Carregar o mssql.so no /etc/php.ini
  • No meu caso eu instalei o freetds no diretório: /usr/local/freetds/
    • A configuração fica no seguinte diretório: /usr/local/freetds/conf/freetds/freetds.conf
    • Editei o arquivo de configuração e coloquei os seguintes dados: host, porta e versão tds.
  • Depois voltei a testar novamente a extensão e funcionou perfeitamente.

FreeTDS é um conjunto de bibliotecas para Unix e Linux que permite que seus programas conversem nativamente com Microsoft SQL Server e Sybase.

Tecnicamente falando, FreeTDS é uma implementação open source do TDS (Tabular Data Stream) protocolo usado por esses bancos de dados para seus próprios clientes. Ele suporta diversas linguagens incluindo Perl e PHP.

É uma ótima alternativa para usuários de Mac OS X. 😉

 

Como mostrar o diretório Library (Biblioteca) no Mac OS X Lion

Fiz atualização do Snow Leopard para o OS X Lion, e achei uma coisa estranha. O diretório Biblioteca (~/Library) não estava mais sendo mostrado no Finder.

Para importar meus e-mails do Thunderbird para o Apple Mail tive uns contratempos, até fiz uma gambiarra: Criei um link simbólico para a pasta de Profiles do Thunderbird dentro de ~/Library/Thunderbird/Profiles/, mas não recomendo isto.

Agora no Lion o diretório vem por padrão escondido (hidden). Quem é Old school não vai gostar muito disso, porém é simples e fácil alterar essa opção.

Abra o Terminal.app através do Spotlight, Launchpad ou Applications/Utilities, e digite o seguinte comando:

chflags nohidden ~/Library/

Caso queira esconder algum diretório, basta remover o no, dessa forma:

chflags hidden ~/Library/

As modificações acontecem imediatamente. Espero que tenha ajudado.

Abraço.

From Thunderbird to Apple Mail.app (Mac OS X Lion)

Recentemente atualizei meu sistema operacional para o Mac OS X Lion, na qual comecei a gostar do aplicativo Mail.app.

Na empresa que trabalho sempre utilizei o Mozilla Thunderbird, porém, quando tentei fazer a migração através do assistente, notei que somente parte dos e-mails do thunderbird foram importados.

Depois de ter tentado de várias formas, consegui resolver o problema através do comando: formail. Este aplicativo é somente utilizado via Terminal.app, por utilizar CLI (Command Line Interface) e ele serve para reformatar caixas de e-mail (mail formater).

Eu copiei o arquivo Inbox do profile default do Thunderbird que geralmente fica em: (~/Library/Thunderbird/Profiles/xxx.defailt/Mail/Local Folder/Inbox para meu Desktop e depois utilizei o seguinte comando no Terminal.app:

$ formail -ds < Inbox >> Inbox.mbox

Depois de alguns instantes, fui no seguinte menu: File > Import Mailboxes > Files in mbox format, depois indiquei o arquivo que gerei a conversão, o .mbox e gotcha! It’s working!

😉

Yandex Instant just type and scroll down

You know Yandex? Yandex is a Russian IT company which operates the largest search engine in Russia (with 64% market share, ranked eighth-largest in the world) and develops a number of Internet-based services and products. The company’s mission is to give answers to users’ questions (Font: Wikipedia).

Feross Aboukhadijeh developed YouTube Instant, based on the Google Instant, well it’s a good thing. I think, if he can I can too. And a few days ago, I worked on a first version of Yandex Instant, developing the first version in 30 minutes.

Yandex Instant idea is: Just type and scroll down to feeling good with your results quickly.

Many people liked so much the application, and now I implemented Cache Engine, Yandex Suggestions and Website Share Options when hover the results.

I promise that i will bring good news in a few days.

The URL is: http://yandexinstant.com/ – Share with your friends and follow our twitter on @yandexinstant

Thank you!

Problemas com Character Encoding utilizando PHP + PDO + Oracle

Desenvolvi uma ferramenta utilizando WSDL no PHP e passei por malditas horas por causa do conjunto de caracteres que o Oracle utilizara. Para quem não conhece, o Oracle é um dos melhores Sistemas Gerenciadores de Banco de Dados para se trabalhar com grandes volumes de dados.

O conjunto de caracteres que indiquei através do PDO foi o AL32UTF8. (Para trabalhar com AMERICAN_AMERICA.WE8MSWIN1252)

O mais engraçado de tudo é que no sistema inteiro eu trabalho com o charset iso-8859-1, e WALA!!! Os dados com acento gravados corretamente no Oracle.

Realmente as vezes eu acho que isso tudo é loucura, como isso pode funcionar?

Application failed codesign verification (-19011)

Eu comecei a desenvolver aplicativos para iOS há pouco tempo. Para estudar, comecei a desenvolver um aplicativo e utilizei uma técnica para fazer Bypass nos certificados do Xcode, fazendo com que eu pudesse testar no meu device (iPod Touch 2g).

Depois de finalizada a aplicação, aderimos ao iOS Developer Program da Apple, criei o Request de Certificado corretamente, submeti através da Ferramenta de Provisioning, baixei os Certificados e adicionei um Perfil de Distribution para poder distribuir o Aplicativo na Apple Store.

Realizado testes e pronto para construir a versão “Release” para submeter no iTunes Connect, começou a dar um Warning, mas eu não estava dando importância, pois as vezes são funções que podem estar “deprecated”, eu já estava acostumado com isso. Porém o Warning depois de tempos que fui notar que a mensagem era: “Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)”.

Isso eu fui notar depois que eu tentei submeter 2 ou 3 vezes via Application Loader do (iTunes Connect) que no qual também estava retornando o mesmo erro citado acima.

Eu morri correndo atrás de solução para meu problema, porém ninguém teve uma solução de sucesso (no meu caso).

SABE COMO SOLUCIONEI O PROBLEMA? Reinstalei a IDE do Xcode e tudo funcionou perfeitamente.

A sensação? Incrível! Agora é só esperar o Review da Apple.