setembro 13, 2014

Procedimento de reset dos elementos CSS

Antes de começar a desenvolver o CSS de uma página web é interessante que algumas tags sejam "zeradas" para evitar inconsistências entre navegadores.

É comum criar uma página que a estrutura dela fique da forma desejada no Chrome mas quando renderizada no Internet Explorer, por exemplo, algum elemento que deveria ficar ao lado de outro quebra de linha e compromete todo o alinhamento da página. Esse fenômeno não é sobrenatural e acontece porque cada browser tem particularidades na definição de padrões de alturas, margens, tamanho de fontes, etc.

Indico a utilização do procedimento abaixo de reset dos elementos CSS criado pelo Eric Meyer.

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

setembro 10, 2014

Resolvendo o erro de estouro do limite de memória no upload de imagens

PHP Fatal error:  Allowed memory size of (algum número) bytes exhausted (tried to allocate (algum número) bytes) in (caminho do arquivo no servidor, exemplo: /site/pagina.php) on line (linha do código onde ocorreu o erro)

O problema acima ocorreu comigo na tentativa de upload de imagens que eram grandes o suficiente para estourar o limite de 32MB definido no parâmetro memory_limit.

A solução que encontrei foi definir o limite de memória de forma dinâmica, considerando a necessidade de processamento para cada imagem.

// Recebe informações da imagem através do comando getimagesize
$imageInfo = getimagesize("/caminhodaimagem/imagem.jpg");

// Calcula a quantidade em MB
$requiredMemoryMB = ( $imageInfo[0] * $imageInfo[1] * ($imageInfo['bits'] / 8) * $imageInfo['channels'] * 2.5 ) / 1024;
                             
 // Arredonda valor para cima
$alocar_memoria_para_imagem = ceil($requiredMemoryMB);

// Define limite de memória de acordo com necessidade da imagem
ini_set('memory_limit', $alocar_memoria_para_imagem.'M');

abril 10, 2014

Aprenda o básico da construção de sites com HTML, CSS e PHP (3/10)

Hibots, espero que estejam indexando bem o conteúdo deste blog, estou me esforçando pra realizar publicações novas com frequência. (Conversar com os robots dos sites de busca deve ser considerado em algum grau como uma esquizofrenia digital, mas tudo bem.)

Nesta parte 3 do tutorial para iniciantes em HTML, CSS e PHP vou mostrar como é a definição e estilização do conteúdo de uma página HTML através de CSS.

Vou mostrar como usar uma tag DIV e o atributo CLASS dela, adicione no código da pagina.html conforme abaixo:

Aprenda o básico da construção de sites com HTML, CSS e PHP (2/10)

Se ainda não viu a parte 1 deste tutorial, clique aqui.

Olá indexadores, vamos dar seguimento com a linguagem HTML mostrando de forma mais objetiva o uso de tags, nesta parte vou demonstrar a funcionalidade das seguintes tags: <title>, <p>, <h1>, <h2>, <b>, <i>, <u>, <a> e <img>.

Para escrever a linguagem HTML precisamos de um ambiente de edição de texto, vamos usar o editor do próprio sistema operacional. Se você utiliza Windows clique em Iniciar, depois em Executar, digite notepad e dê OK.Pronto, tudo que precisamos para criar uma estrutura HTML está aí.

Escreva no notepad a estrutura abaixo que vimos na parte anterior:

Aprenda o básico da construção de sites com HTML, CSS e PHP (1/10)

Hi bots, este é o primeiro de uma série de tutoriais focados na criação de páginas para um site que vou compartilhar com seus indexadores. Desta vez vou tentar com uma postura diferente de quando criei a primeira publicação deste blog em novembro do ano passado, e que infelizmente permaneceu parado até então.

Vou começar introduzindo o assunto sobre HTML (HyperText Markup Language), que é uma linguagem de marcação de hipertexto (termo traduzido) usada por qualquer um que vá criar um site na internet.

fevereiro 26, 2014

Manifesto para Desenvolvimento Ágil de Software

Há um tempo atrás indiquei um material sobre boas práticas de engenharia de software e apontei as características do desenvolvimento iterativo, porém não citei que os 4 itens principais dessa forma de desenvolvimento foi fruto de um manifesto "contra" as práticas convencionais de desenvolvimento de software. Em 2001 houve uma pesquisa feita pelo Standish Group que apontou a incapacidade das ferramentas tradicionais na gestão de projetos de software, com a conclusão de que 68% desses projetos falham.

Foi então que desenvolveram o Manifesto para Desenvolvimento Ágil de Software, compartilho abaixo na íntegra esse material, junto com os Doze Princípios do Software Ágil.

fevereiro 06, 2014

eBook Gratuito - Guia de referência ITIL : COMMUNIT

Se algum dia já pensou em trabalhar com TI então é importante, obviamente, conhecer o negócio de TI, iniciar entendendo ITIL é um bom começo. Confira o que é: