📎 Webclip
Criando seu próprio encurtador de URLs
O texto explica uma forma simples de criar um encurtador de URLs. A ideia é usar o id do registro em base 36 para gerar identificadores curtos, guardar as URLs no Redis e usar um hash MD5 para representar cada URL original.
Fichamento#
- O autor viu um domínio sem uso e decidiu criar um encurtador de URL com Sinatra e Redis.
- O id do registro pode ser convertido para base 36, o que gera identificadores curtos e reaproveita números grandes com poucos caracteres.
- O Redis é descrito como uma boa opção para armazenar as URLs por ser fácil de usar e rápido.
- A URL pode ser guardada em uma chave formada por uma identificação da URL original e pelo id curto.
- O comando
INCRserve para obter o próximo id disponível. - Um hash MD5 da URL ajuda a representar a URL original e a verificar se ela já foi salva.
- A recuperação da URL original pode ser feita buscando a chave pelo id curto e lendo o valor associado.
- O autor diz que empacotou essa ideia na gem Dogo, que já fornece um servidor Sinatra para lidar com as requisições.
- O projeto usa um
Gemfilecomdogo,unicorne dependências de desenvolvimento comopry,awesome_printethin. - O arquivo
config.rudefineDogo.host,Dogo.api_keyeDogo.default_url, e inicia o servidor comDogo::Server.new. - O servidor responde ao caminho raiz redirecionando para
Dogo.default_url. - A criação de URLs encurtadas pode ser feita por uma requisição
GETno endpoint/shorten, para funcionar com o Tweetbot. - A URL original fica acessível por
http://fnando.me/<id>. - O Dogo conta cliques por URL e armazena esses números em
clicks.<id curto>.
