Arquivo

Textos com Etiquetas ‘Dica’

Internet Explorer 7 e 8 não renderizam imagens em CMYK

8 de março de 2012

Alguns clientes da WebStore, loja virtual da Locaweb, reclamaram que algumas imagens de seus produtos estavam quebradas. Esse problema estava acontecendo somente nos navegadores Internet Explorer 7 e Internet Explorer 8.

O que acontece é que se a imagem estiver salva com o modo de cores CMYK, ao invés de RGB, tanto o Internet Explorer 7, quanto o Internet Explorer 8, não conseguem exibir corretamente essas imagens.

Por exemplo, a imagem abaixo está em CMYK e não irá aparecer nos Internet Explorer 7 e 8.

Já a cópia da imagem em RGB, irá renderizar normalmente.

No Internet Explorer 9 esse problema não acontece. Outros navegadores para Windows, como Firefox e Chrome também não apresentam esse problema.

O ideal então é sempre salvar as imagens que serão exibidas na Web no formato de cores RGB.

Geral , , , ,

Dica de capa de couro para iPad 2

15 de agosto de 2011

No meu antigo iPad eu usava a capa Apple iPad Case, fabricada pela própria Apple. O que eu gostava nela era a proteção total do iPad, envolvendo todo o aparelho.

Apple iPad Case

Apple iPad Case

 

Para o iPad 2, a Apple não criou uma capa semelhante, somente a iPad Smart Cover, que cobre apenas a parte da frente do iPad 2, ou a parte de trás, quando fechada.

iPad Smart Cover

iPad Smart Cover

 

Procurei algum modelo de capa alternativo e encontrei a iPad 2 Genuine Leather Bold Standby da CaseCrown.

iPad 2 Genuine Leather Bold Standby

iPad 2 Genuine Leather Bold Standby

 

Mas não comprei pelo site da CaseCrown, nem na Amazon. Comprei no eBay do vendedor senyx-direct por $29.92, mais $6.00 de frete. Em reais ficou em menos de R$ 53,00. Quanto ao prazo de envio, levou 24 dias para chegar.

A capa é de couro mesmo, tem o esquema do imã para fazer o iPad 2 dormir quando fechada e o aparelho se encaixa bem justo nela. Por tudo isso, recomendo.

iPad 2 Genuine Leather Bold Standby da CaseCrown no eBay pelo vendedor senyx-direct

Geral , , , ,

Como usar um logo no seu blog e manter a relevância do H1

7 de junho de 2011

As tags de cabeçalho H1, H2, H3, H4, H5 e H6 são utilizadas para marcar pontos de destaque no texto da página. Essas tags, quando utilizadas corretamente, estruturam o texto de uma forma hierárquica, de maneira que haja sub-níveis no contexto da página.

As tags de cabeçalho possuem um grau de importância no raqueamento nos mecanismos de busca, onde a tag H1 possui o maior peso, H2 um peso menor e assim por diante até a tag H6.

Em geral, utilizamos a tag H1 para destacarmos o título de blogs e/ou sites. Por exemplo, nesse blog:

<div id="header">
  <div id="caption">
    <h1 id="title"><a href="http://prodis.net.br/" title="Prodis a.k.a. Fernando Hamasaki de Amorim">Prodis a.k.a. Fernando Hamasaki de Amorim</a></h1>
  </div>
  ...

Mas e se eu quiser utilizar uma imagem no nome do meu blog ao invés de um texto HTML? Vou perder a relevância do H1 nos mecanismos de busca?

Uma alternativa, que na verdade eu “chupinhei” do código-fonte do blog do Héric Tilly, é utilizar tanto a tag H1 como a imagem de logo.

<div id="header">
  <div id="caption">
    <h1>Prodis a.k.a. Fernando Hamasaki de Amorim</h1>
    <a href="http://prodis.net.br/" title="Prodis a.k.a. Fernando Hamasaki de Amorim"><img src="http://prodis.net.br/images/logo.png" alt="Prodis a.k.a. Fernando Hamasaki de Amorim"></a></h1>
  </div>
  ...

Para o texto dentro das tags H1 não ser exibido, escondemos via CSS:

#caption h1 {
  display: none;
}

Agora você tem uma imagem para o nome do seu blog e continua com a relevância do H1 para os mecanismos de busca.

Geral , , , ,

Dica de como usar Curl para fazer chamadas POST passando dados

24 de maio de 2011

Curl é uma ferramenta de linha comando muito útil para executar requisições HTTP.

Vejo muita gente utilizar o Curl com requisições GET. Por exemplo:

curl http://prodis.net.br

Mas, como toda boa ferramenta de requisições HTTP, também é possível executar requisições POST enviando dados no corpo da requisição.

Vamos criar um exemplo utilizando um formulário HTML fictício que busca o CEP de um endereço.

<form method="post" action="http://prodis.net.br/cep/">
  Endereço: <input type="text" name="address" />
  Cidade: <input type="text" name="city" />
  Estado: <input type="text" name="state" />
  <input type="submit" value="Buscar" />
</form>

O formulário acima possui três campos textos para endereço, cidade e Estado. Então a chamada Curl para o endereço “Rua Legal, 42 - Jundiaí - SP” fica assim:

curl --data "address=Rua%20Legal,%2042&city=Jundiaí&state=SP" http://prodis.net.br/cep

Note que foi necessário encodar os parâmetros enviados. No exemplo, substituímos espaços por %20.

É possível solicitar para o próprio Curl encodar os parâmetros:

curl --data-urlencode "address=Rua Legal, 42&city=Jundiaí&state=SP" http://prodis.net.br/cep

Essas chamadas iram enviar o cabeçalho HTTP Content-Type: application/x-www-form-urlencoded.

Utilizando a opção –include ou -i será incluído o cabeçalho HTTP de resposta. Com a opção –verbose ou -v serão exibidos os cabeçalhos HTTP de requisição e de resposta.

Para a chamada Curl:
curl --data-urlencode --verbose "address=Rua Legal, 42&city=Jundiaí&state=SP" http://prodis.net.br/cep

A resposta será algo do tipo:
> POST /cep HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 zlib/1.2.3
> Host: prodis.net.br
> Accept: */*
> Content-Length: 62
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 404 Not Found
< Date: Tue, 24 May 2011 23:21:50 GMT
< Server: Apache
< X-Pingback: http://prodis.net.br/xmlrpc.php
< Expires: Wed, 11 Jan 1984 05:00:00 GMT
< Cache-Control: no-cache, must-revalidate, max-age=0
< Pragma: no-cache
< Last-Modified: Tue, 24 May 2011 23:21:50 GMT
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: text/html; charset=UTF-8
<

Há muitas outras opções no Curl para executar requisições HTTP, como fazer upload de arquivos, enviar cookies, definir um User Agent, realizar autenticação HTTP, etc.

Veja aqui um tutorial que mostra como usar essas funcionalidades.

Unix , , ,