Localhost no Parallels Desktop ou Vmware – MAC OSX

Um dos principais problemas do MAC OSX, é que não tem o bendito do Internet Explorer. Para nós que somos desenvolvedores web isso é um problema muito sério, porque desenvolver um website e não testar no IE é declarar falência :).

Por isso e por outros motivos, há aplicativos como o Parallels Desktop, Vmware ou até mesmo Virtual Box, que “emulam” o Windows e outros OSs, deixando no IE ao nosso alcance… Até ai tudo bem… o problema agora é que o servidor local (disponível no MAC) não funciona no Windows, ou qualquer outro OS virtualizado, porque não há uma “integração” entre ambos neste sentido. Vamos resolver isto agora!

1º Passo – Criar uma Conexão de IP Para as Máquinas Virtuais Acessarem

No OSX, abra as Preferências do Sistema, e vá em Rede. Há uma lista de redes disponível (provavelmente você verá apenas uma rede disponível), como na imagem abaixo.

Screencast #1: Previnindo Sub-pixel no Photoshop

Finalmente eu fiz um screencast… não é longo mas creio que irá ajudar alguém, principalmente quem está começando!

Previnindo sub-pixel no Photoshop from Mateus Souza on Vimeo.

Se você não entendeu o que quis mostrar com o grid, a “tradução” é: Você pode usar o grid, como pontos de navegação, assim o shape irá ter a mesma medida do grid, previnindo o sub-pixel (porque o grid tem medidas exatas… ok, você já entendeu).

Até a próxima.

Dica Rápida – Requisições Ajax Avançadas com jQuery

Hoje vou mostrar uma dica rápida e avançada que pode te ajudar a manter seus sistema mais seguros, quando se trabalha com Ajax. Irei desenvolver encima do PHP e do jQuery, mas a dica vale para qualquer biblioteca (PHP, ASP…) e framework (jQuery, Mootools…), inclusive se for na mão mesmo, sem framework.

Quando o jQuery faz uma requisição em Ajax, é passado um cabeçalho header com a seguinte variável:

$_SERVER['HTTP_X_REQUESTED_WITH']

E a partir dai, muita gente faz até uma função para checar se a requisição é ajax e alterar o comportamento do sistema de acordo com o resultado:

/**
 * Checa se é uma requisição em ajax através do cabeçalho header
 * @return boolean
 */
function checkAjax(){
	return (isset($_SERVER['HTTP_X_REQUESTED_WITH']))? TRUE : FALSE;
}

Até ai tudo bem… mas o que quero mostrar é porque que com o jQuery, há esse cabeçalho adicional, e como podemos adicionar novos cabeçalhos com Javascript. Vamos lá: