Servidor PHP com Winginx

Sempre usei o EasyPHP como meu servidor de PHP, mas como precisei de mais, achei e analisei o Winginx, que é um complexo servidor web local no Windows para desenvolver em PHP e Node.js usando bancos de dados MySQL, MongoDB, Redis, memcached.
Um excelente substituto que cobre a atual necessidade da minha aplicação que é o Node, MongoDB e memcached, além de outros serviços. Substituindo com maestria o EasyPHP .

Com isso, possivelmente passarei a usar a Digital Ocean para as cloud applications.

Então fica a dica 😉

Javascript, Debugger e Logging Para Firebug

Cada vez mais me surpreendo com as possibilidades e o poder do javascript, na sua mais ampla forma de utilização.
A última foi a possibilidade e interação com o firebug, além de simplesmente substituir as funções de “alert();”, o que para muitos, não é nenhuma novidade.
Entre elas a possibilidade de procurar valores de variáveis em determinados pontos de códigos, exibir uma estrutura XML, e muitas outras. Aperfeiçoando a DX (Developer Experience).

firebug

Entre os exemplos mais simples encontrados temos:

console.log
A maneira mais fácil escrever para o console do Firebug, podendo passar tantos argumentos quanto você quer e eles serão unidos em uma fileira, conforme os exemplos: console.log(“hello world”) , console.log(2,4,6,8,”foo”,bar) .

 

 

 

 

 

 

Código de cores
Além console.log , existem várias outras funções que você pode chamar para imprimir mensagens com uma distinção colorido visual e semântica. Estes incluem console.debug , console.info , console.warn , e console.error .

 

 

 

 

 

 

Timing e profiling
O Firebug permite duas maneiras fáceis de medir o desempenho JavaScript. Uma delas é chamar o console.time(“timing foo”) antes do código que você quer medir, e então console.timeEnd(“timing foo”) depois.

O Firebug, então, registra o tempo que foi gasto entre elas. E o profiler JavaScript. Basta mandar para o console.profile() antes do código que você quer medir, e então console.profileEnd() depois, mais simples não! O Firebug irá registrar um relatório detalhado sobre quanto tempo foi gasto em cada chamada de função entre elas.

 

Como falei, as possibilidades são muitas e excelentes.

 

Fonte(s):
http://getfirebug.com/logging

HTML5 – Parte 2

Continuando um pouco nosso HTML5, e finalizando, já que a idéia era apenas dar uma olhada paran entender um pouco as “novidades”.
Sobre internalização
O HTML5 nos da um bdi, que permite aos autores substituir o algoritmo bidirecional Unicode e fazer o texto mais compreensível.
para saber um pouco mais sobre bdi “HTML5(http://rishida.net/blog/?p=564)”.

Alguns idiomas tem scripts que não são alfabéticos em tudo, mas que expressão uma idéia, em vez de um som. O HTML5 nos da 3 novos elementos para marcação de texto ruby: ruby, rt e rp.
para saber um pouco mais(http://my.opera.com/tagawa/blog/the-html5-ruby-element-in-words-of-one-syllable-or-less)” by Daniel Davis.

A maioria das pessoas estão cientes de que HTML5 nos dá muitos novos elementos para descrever partes de uma página da Web, como header , footer , nav , section , article , aside e assim por diante.

A representação de uma figura com algum conteúdo de fluxo, opcionalmente, com uma legenda, que é auto-suficiente e é normalmente referenciado como uma única unidade do fluxo principal do documento.

O elemento pode assim ser usado para anotar ilustrações, diagramas, fotos, listas de código, etc …

<picture alt=”angry pirate”>
<source src=hires.png media=”min-width:800px”>
<source src=midres.png media=”min-width:480px”>
<source src=lores.png>
<!– fallback for browsers without support –>
<img src=midres.png alt=”angry pirate”>
</picture>

Há um grande problema com isso. Em navegadores que não suportam figuras, a imagem não seria exibido, pois o figura elemento seria completamente ignorado. O conteúdo do elemento credit seria exibido, porque é apenas texto.  Então, você poderia pelo menos mostrar estes créditos para qualquer imagem em navegadores mais antigos.

HTML5 tem um time elemento, isso permite que você possa anotar uma data legível. Não importa o que se passa entre as tags, porque esse é o conteúdo para as pessoas lerem.  Então, você poderia usar um dos seguintes:

 

<time datetime=”1982-07-18″>The day the woman I love was born</time>

<time datetime=”1982-07-18″>Priyanka Chopra’s birthday</time>

Seja qual você escolher, a máquina ainda sabe a data que você quer dizer por causa do atributo datetime, formatadas como YYYY-MM-DD .

Se você quiser adicionar um tempo, você poderia: separar o tempo entre a data com um T , e depois colocar o tempo no formato de 24 horas, terminada por um Z , junto com qualquer fuso horário offset.

Por exemplo, 2011-11-13T20:00Z would be 8:00 pm on 13 November 2011 UTC, enquanto 2011-11-13T23:26.083Z-05.00 seria pm 23:26 e 83 milissegundos no fuso horário escondendo 5 horas antes de UTC .

E quem disse que HTML(5) era barbada!?

 

HTML5 – http://www.edersonmelo.com/index.php/2011/11/24/html5/

Abraço

HTML5

Uma breve estudada sobre HTML5 e consigo entender o porque de tanta vontade que alguns tem de utilizar, como as API’s: armazenamento local, cache de aplicativos, serviços web, desenho 2-D e similares, mas traz ainda 30 elementos para marcar documentos e aplicativos, aumentando o número total de elementos disponíveis para mais de 100.
A semântica HTML5 é cuidadosamente projetada para ampliar a capacidade atual do HTML, sempre permitindo que os usuários de navegadores mais antigos consigam acessar o conteúdo.

 

 

Alguns elementos de apresentação
Elementos puramente de apresentação, como center, font e big são agora obsoletos. seu papel tem sido perfeitamente usurpado por Cascading Style Sheets. Não significa que você tem que se apressar e recodificar todas as páginas antigas. Pela mesma razão os atributos de apresentação foram retirados elementos de corrente, por exemplo, align a img, table, background no body e bgcolor na table.

O sempre mal utilizado frame, está ausente em HTML5. Se você tem vontade de usa-lo use um velho DOCTYPE para que suas páginas possam validar.
Além deste breve resumo, veja a lista exaustiva do W3C de elementos removidos e atributos (http://www.w3.org/TR/html5-diff/#absent-elements)

 

Elementos de apresentação redefinidos
Nem todos os elementos de apresentação foram retirados, alguns passaram por uma reeducação extensa e brilhante, surgindo uma nova semântica. Por exemplo, o small, já não significa “usar uma fonte pequena”, embora ele irá aparecer em uma folhas de estilo do navegador. Agora small representa comentários laterais, tais como letras pequenas:

Letras pequenas renúncias tipicamente características, limitações, restrições legais, ou direitos autorais. Letras pequenas às vezes também é usado para atribuição, ou para satisfazer requisitos de licenciamento.

O elemento u [agora] representa um intervalo de texto com um desarticulador, embora explicitamente prestados, a anotação não-textual, como a rotulagem do texto como sendo um nome próprio no texto em chinês (uma marca de nome chinês propriamente dita), ou rotulagem o texto como ser grafadas incorretamente.

 

Nova semântica
Todos sabemos que video e audio assim como canvas que permitem gráficos 3-D utilizando webGL, então designers de jogos podem portar seus produtos para web. Como o bom e velho img são incorporados no conteúdo seja um arquivo, um URI de dados ou u JavaScript.
Ao contrário de img, eles tem abertura e fechamento de tags, permitindo fallback, portanto, os navegadores que não suportam a nova semântica pode ser alimentado com algum conteúdo.

Os elementos source e track  são elementos vazios(sem tag de fechamento) que são filhos de video ou audio.

O source aponta para um arquivo de origem diferente(WebM, MP4, Ogg Theora)

 

<audio controls>
<source src=bieber.ogg type=audio/ogg>
<source src=bieber.mp3 type=audio/mp3>
<!– fallback content: –>
Download <a href=bieber.ogg>Ogg</a> or <a href=bieber.mp3>MP3</a> formats.
</audio>

 

Neste exemplo, Opera, Firefox e Chrome irá baixar a versão mais recente do Ogg, enquanto o Safari e IE vai pegar a versão MP3. Chrome pode jogar tanto Ogg e MP3, mas os browsers irá baixar o arquivo de origem na primeira vez que eles entendem.  O conteúdo fallback entre as tags de abertura e fechamento é um link para baixar o conteúdo para o desktop e jogá-lo através de um tocador de mídia separado, e é exibido apenas em navegadores que não pode jogar multimídia nativa.

Para vídeo, você poderia usar um filme flash embutido hospedado no YouTube:

<video controls>
<source src=best-video-ever.webm type=video/webm>
<source src=best-video-ever.mp4 type=video/mp4>
<!– fallback content: –>


</video>

Obrigado e Continua …

 

 

SDK Android, Erro @foo

Estava recriando o ambiente Android para o NetBeans desta vez, e me deparo com um errro no emulador Android:

invalid command-line parameter: de.
Hint: use ‘@foo’ to launch a virtual device named ‘foo’.
please use -help for more information

Como não lembrava de ter este erro antes :P, através de uma pesquisa rápida, foi identificado que é um erro de leitura do caminho para o SDK.

 

SDK Android - ederson melo
SDK Android - ederson melo

Independente de IDE, vá até o Campo SDK Location do seu SDK Android e substitua o caminho: C:Arquivos de Programas… por: C:ARQUIV~1Androidandroid-sdk
Para os vários casos de SO 64 bits o caminho alterado fica: C:PROGRA~2Androidandroid-sdk

 

Agora não tem como dar errado 😉

>Solução Erro Feeds WordPress

>Algumas instalações pessoais de wordpress podem apresentar erro na saída de feed. Em sua maioria estes erros são causados por existência de espaços em branco antes da declaração de XML que é o responsável pelo resultado quebrado.

Demonstração saída com erro:

Erro no processamento de XML: declaração xml ou de texto fora do início da entidade Posição: http://www.teste.com.br/xxxxx/feed/ Número da linha 4, coluna 1:

Isto significa que se antes do caractere < houver caracteres indesejados, estes precisam ser eliminados (também os espaços em branco) para que a saída tenha uma declaração limpa de XML.


< ?xml version=”1.0″ encoding=”UTF-8″?>

A solução mais simples é a alterar o arquivo de saída wp-includes/feed-rss2.php.

Abra com um editor de texto e localize o seguinte código:


header(‘Content-Type: ‘ . feed_content_type(‘rss-http’) . ‘; charset=’ . get_option(‘blog_charset’), true);
$more = 1;

Abaixo da linha $more = 1; adicione o código:

$out = ob_get_contents();
$out = str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input);
ob_end_clean();

Mas o que é e para que servem as 3 linhas?

Começando pelo básico, ob significa Output Buffer, que nada mais é do que o Buffer de saída.

Buffer á uma região da memória onde os dados ficam armazenados temporariamente até que sejam despejados para a aplicação.

Você deve ter se deparado com algum erro de Headers already sent. Isso se dá porque já foi enviada alguma saída para o navegador.
O ob_get_contents(), irá retornar o conteúdo do buffer.

str_replace(array(“\n”, “\r”, “\t”, ” “), “”, $input); irá remover todos os espaços em branco existentes;

ob_end_clean() irá limpar, esvazia o buffer e encerrá-lo.

Deu uma olhada agora e, lá está seu feed prontinho 😉