Arquivo Histórico de Thiago Vespa
Este site foi preservado para fins históricos e de referência. Alguns conteúdos podem estar desatualizados e recursos interativos foram desativados. Visite o site atual.
HTML e Javascript – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog Precisando é só avisar! Mon, 27 Oct 2025 01:39:28 +0000 pt-BR hourly 1 https://wordpress.org/?v=6.8.5 https://thiagovespa.com.br/blog/wp-content/uploads/2023/05/cropped-eu3-32x32.png HTML e Javascript – Thiago Galbiatti Vespa https://thiagovespa.com.br/blog 32 32 Extrair arquivos estáticos https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/ https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/#comments Fri, 18 Jul 2014 16:24:46 +0000 http://www.thiagovespa.com.br/blog/?p=4098 Continue lendo Extrair arquivos estáticos→]]> Para melhor o desempenho de aplicações é interessante colocarmos um servidor de conteúdo estático, como o Apache, para trabalhar com os conteúdos que não precisam ser dinâmicos, como imagens, folhas de estilos, javascripts e afins.

No Java normalmente esse conteúdo, quando empacotado fica dentro de arquivo WAR interno a um arquivo EAR. Para extrair esse conteúdo estático e disponibilizá-lo no apache, criei um pequeno script que automatiza essa tarefa:

[sourcecode language=”bash”]unzip <NOMEDOPACOTE>.ear -d tmp/ > /dev/null && unzip tmp/*.war `unzip -l tmp/*.war | grep  ‘.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$’ | awk ‘{print $4}’` -d static && rm -rf tmp[/sourcecode]

Se você utiliza somente o WAR sem o EAR, basta utilizar o seguinte script:

[sourcecode language=”bash”]unzip <NOMEDOPACOTE>.war `unzip -l tmp/*.war | grep  ‘.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$’ | awk ‘{print $4}’` -d static[/sourcecode]

Esse script irá criar uma pasta static com todo o conteúdo a ser mapeado no Apache. Com isso, o seu servidor de aplicações ficará mais leve, com menos requisições e o trabalho de disponibilizar os conteúdos estáticos fica a cargo do Apache, que realiza essa atividade com muita eficiência.

]]>
https://thiagovespa.com.br/blog/2014/07/18/extrair-arquivos-estaticos/feed/ 3
The Developers Conference 2014 https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/ https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/#comments Thu, 17 Jul 2014 22:26:08 +0000 http://www.thiagovespa.com.br/blog/?p=4086 Continue lendo The Developers Conference 2014→]]> Agora no começo de agosto terá um evento muito bacana no qual participo da coordenação: o The Developers Conference 2014. Esse evento eu já participo há alguns anos, muito bem organizado e com bastante conteúdo. Hoje mesmo fui com uma camiseta do evento de 2011 no trabalho.

TDC2011O TDC 2014 – São Paulo será realizado de 5 a 9 de agosto e terá 36 trilhas (TV Digital, Android, Startups, Java, Arquitetura, etc) no Anhembi Morumbi e,  como novidade, vários workshops na sede da Globalcode, inclusive de Raspberry PI e IoT com o Vinicius Senger.

A trilha de TV digital está bem bacana e está sendo coordenada por um grande amigo meu, o Carlos do Java Noroeste e por mim. Vamos ter palestras com aplicativos da Record, TQTVD, TV Aparecida, especialistas renomados na área de TV digital no Brasil e pela comunidade de desenvolvedores.

Para participar é só fazer a inscrição no site. Simultaneamente, vai ter um outro evento legal que é o TDC4Kids para crianças programarem com Scratch, Minecraft e IoT. Para ter uma ideia do porte do evento, essa é a lista de alguns patrocinadores: Amazon, Oracle, Stackoverflow, SAP, PayPal, Google, StackOverflow, JetBrains e Liferay.

A gente se fala lá!

TDC - Comunidade

]]>
https://thiagovespa.com.br/blog/2014/07/17/the-developers-conference-2014/feed/ 1
Verificar se uma URL está online via javascript https://thiagovespa.com.br/blog/2013/07/02/verificar-se-uma-url-esta-online-via-javascript/ https://thiagovespa.com.br/blog/2013/07/02/verificar-se-uma-url-esta-online-via-javascript/#comments Tue, 02 Jul 2013 23:22:15 +0000 http://www.thiagovespa.com.br/blog/?p=3967 Continue lendo Verificar se uma URL está online via javascript→]]> Em um dos clientes surgiu a necessidade de verificar se o usuário tem acesso à uma URL específica, como por exemplo: facebook, twitter. Já que em algumas empresas o acesso à redes sociais é bloqueado.

Como solução foi verificar se a URL é carregada no browser ou não. Com isso em mente, carreguei a URL em um elemento do tipo script e alterei o atributo src para a url a ser verificada. Caso seja carregado com sucesso executo uma função de erro, caso contrário executo uma função de sucesso.

[sourcecode language=”javascript”]
function checkOnline(url, error, ok) {
try {
var scriptElem = document.createElement(‘script’);
scriptElem.type = ‘text/javascript’;
scriptElem.onerror = function(){error();};
scriptElem.onload = function(){ok();};
scriptElem.src = url;
document.getElementsByTagName("body")[0].appendChild(scriptElem);
} catch(err) {
error(err);
}
};
[/sourcecode]

Para verificar se uma URL está online é só passá-la como parâmetro para o método.

[sourcecode language=”javascript”]checkOnline(‘http://www.thiagovespa.com.br’, function() {alert(‘Fora do ar!’)}, function(){alert(‘Online’)});[/sourcecode]

Ainda não testei no IE, mas creio que não deva ter nenhum problema. Se alguém puder testar pra mim, ficarei grato :).

Esse tipo de solução não é facilmente feita com ajax, devido às restrições de segurança contidas no browser.

Entretanto essa abordagem pode ocasionar erros de javascript ao carregar uma página dentro da tag script. Para evitar esse tipo de problema, você pode utilizar uma imagem para verificar se o site está online. Dei uma incrementada no código encontrado no stackoverflow.

[sourcecode language=”javascript”]
function checkImgOnline(imageUrl, error, ok){
var img = new Image();
img.src = imageUrl;
if(img.height>0){
ok();
} else {
error();
}
}
[/sourcecode]

Aí é só utilizar uma imagem como parâmetro.

[sourcecode language=”javascript”]checkImgOnline(‘http://www.thiagovespa.com.br/blog/wp-content/themes/thiagovespa-blog-theme/images/wasp2-mini.png’, function() {alert(‘Fora do ar!’)}, function(){alert(‘Online’)});
[/sourcecode]

Com isso, o possível problema com javascript é evitado, mas você depende de uma imagem para fazer a requisição.

]]>
https://thiagovespa.com.br/blog/2013/07/02/verificar-se-uma-url-esta-online-via-javascript/feed/ 9
Como encurtar URL via javascript e sem autenticação https://thiagovespa.com.br/blog/2013/06/24/como-encurtar-url-via-javascript-e-sem-autenticacao/ https://thiagovespa.com.br/blog/2013/06/24/como-encurtar-url-via-javascript-e-sem-autenticacao/#comments Mon, 24 Jun 2013 20:41:06 +0000 http://www.thiagovespa.com.br/blog/?p=3962 Continue lendo Como encurtar URL via javascript e sem autenticação→]]> A maioria das APIs para encurtar URL necessitam de autenticação, normalmente OAuth, o que é um pouquinho chato de se fazer, mas existe uma serviço que encurta URL que não precisa de praticamente nada, o: http://is.gd.

Para encurtar URL com JQuery e Javascript basta chamar o serviço deles passando os parâmetros necessários. Segue o exemplo:

[sourcecode language=”javascript”]
$.getJSON( "http://is.gd/create.php?callback=?", {
url: "http://www.thiagovespa.com.br",
format: "json"
}).done(function( data ) {
alert(data.shorturl);
});
[/sourcecode]

Esse código irá encurtar a url “http://www.thiagovespa.com.br” e irá exibir em um alert a URL encurtada (data.shorturl). Para maiores informações, consulte a API do is.gd.

]]>
https://thiagovespa.com.br/blog/2013/06/24/como-encurtar-url-via-javascript-e-sem-autenticacao/feed/ 4
As 5 causas e o The Developers Conference 2013 – São Paulo https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/ https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/#comments Mon, 24 Jun 2013 12:01:22 +0000 http://www.thiagovespa.com.br/blog/?p=3956 Continue lendo As 5 causas e o The Developers Conference 2013 – São Paulo→]]> Você que pensa em melhorar o Brasil, seja protestando ou de sua própria maneira, venha para o The Developers Conference 2013 em São Paulo. Lá você poderá ter ideias de como fazer aplicações que possam ajudar a mudar o Brasil. Troque informações com alguns dos melhores profissionais do Brasil, veja como você pode melhorar a economia do país ou ter algumas ideias de como contribuir com a diminuição da corrupção. Segue algumas ideias:

The Developers Conference

Eu estarei por lá, principalmente no dia 11, onde teremos uma trilha de TV Digital. Compareça!

]]>
https://thiagovespa.com.br/blog/2013/06/24/as-5-causas-e-o-the-developers-conference-2013-sao-paulo/feed/ 11
“Head First HTML and CSS” de Elisabeth Robson, Eric Freeman; O’Reilly Media https://thiagovespa.com.br/blog/2012/10/11/head-first-html-and-css-de-elisabeth-robson-eric-freeman-oreilly-media/ https://thiagovespa.com.br/blog/2012/10/11/head-first-html-and-css-de-elisabeth-robson-eric-freeman-oreilly-media/#comments Thu, 11 Oct 2012 22:55:31 +0000 http://www.thiagovespa.com.br/blog/?p=3639 Continue lendo “Head First HTML and CSS” de Elisabeth Robson, Eric Freeman; O’Reilly Media→]]> Head First HTML and CSS

Como qualquer livro da série Head First, sua abordagem é excelente. O livro é de fácil compreensão e não requer nenhum conhecimento avançado para lê-lo. O conteúdo aborda os conceitos básicos de HTML e CSS.

A desvantagem é que não há muitas novidades. O material melhor e mais avançado é encontrado em outros livros da série Head First. O livro não cobre javascript, nem canvas. Não há informações sobre seletores avançados de CSS, instruções específicas de CSS, transformações e transições com CSS, XHTML 5, áudio e assim por diante.

Eu recomendo este livro para quem está começando com HTML e CSS. Definitivamente não é um livro de referência para aqueles que já trabalham na área de HTML e CSS.

]]>
https://thiagovespa.com.br/blog/2012/10/11/head-first-html-and-css-de-elisabeth-robson-eric-freeman-oreilly-media/feed/ 1
Ficando Zen com Sublime https://thiagovespa.com.br/blog/2012/09/03/ficando-zen-com-sublime/ https://thiagovespa.com.br/blog/2012/09/03/ficando-zen-com-sublime/#respond Mon, 03 Sep 2012 17:16:48 +0000 http://www.thiagovespa.com.br/blog/?p=2569 Continue lendo Ficando Zen com Sublime→]]> O Sublime é um editor muito bacana, multiplataforma, escrito em C++ e feito para ser uma extensão do famoso Vim. Instalei ele na minha máquina seguindo esse tutorial, mas existem, também, alguns PPAs para Ubuntu disponíveis. Você pode ver alguns recursos úteis no site original do aplicativo.

Nesse post vamos instalar um plugin para habilitar o Zen Coding no Sublime. O Zen Coding é um jeito diferente para escrever códigos HTML. Em resumo, significa que você escreve mais com menos :). Exemplo: você digita isso: “div#page>div.logo+ul#navigation>li*5>a” e consegue isso:

]]>
https://thiagovespa.com.br/blog/2012/09/03/ficando-zen-com-sublime/feed/ 0
Desabilitar o Autocompletar em Campos Input https://thiagovespa.com.br/blog/2011/11/23/desabilitar-o-autocompletar-em-campos-input/ https://thiagovespa.com.br/blog/2011/11/23/desabilitar-o-autocompletar-em-campos-input/#comments Wed, 23 Nov 2011 14:19:00 +0000 http://www.thiagovespa.com.br/blog/?p=1949 Continue lendo Desabilitar o Autocompletar em Campos Input→]]> Em campos de login, senha, número de cartão de crédito, CPF e informações que não podem ser compartilhada com usuários mal-intencionados é uma boa prática incluir o seguinte atributo AUTOCOMPLETE=”off”.

Dessa forma o autocompletar fica desabilitado e o browser não salva a senha do usuário.

Exemplo:

[sourcecode language=”html”]
<input type="text" name="campo" autocomplete="off" />
[/sourcecode]

Como esse atributo não é válido pela W3C o pessoal costuma inserir o autocomplete=”off” via javascript:

[sourcecode language=”javascript”]
// Utilizando JQuery
jQuery(‘campo’).attr(‘autocomplete’,’off’);
// Ou Javascript padrão
campo.setAttribute(‘autocomplete’,’off’);
[/sourcecode]

Pode-se utilizar a solução do javascript para adicionar esse atributo em campos do ADF e/ou elementos onde não temos acesso direto ao código HTML gerado.

Mais informações sobre a vulnerabilidade em:

https://www.owasp.org/index.php/Testing_for_Vulnerable_Remember_Password_and_Pwd_Reset_%28OWASP-AT-006%29

]]>
https://thiagovespa.com.br/blog/2011/11/23/desabilitar-o-autocompletar-em-campos-input/feed/ 9
“Canvas Pocket Reference” de David Flanagan; O’Reilly Media https://thiagovespa.com.br/blog/2011/09/09/canvas-pocket-reference-de-david-flanagan-oreilly-media/ https://thiagovespa.com.br/blog/2011/09/09/canvas-pocket-reference-de-david-flanagan-oreilly-media/#respond Fri, 09 Sep 2011 15:48:09 +0000 http://www.thiagovespa.com.br/blog/?p=1589 Continue lendo “Canvas Pocket Reference” de David Flanagan; O’Reilly Media→]]> Canvas Pocket ReferenceEsse livro aborda o uso do elemento <canvas> do Html 5. Como o próprio livro diz, o canvas é um elemento revolucionário que permite o uso de uma maneira poderosa de elementos gráficos em aplicações Web. O autor explica como desenhar linhas, polígonos, curvas, aplicar cores, gradientes, transparência, utilizar transformações gráficas, manipular texto, utilizar sombras e manipular imagens utilizando JavaScript.

O leitor necessita de um conhecimento médio de HTML e JavaScript. O primeiro capítulo é um tutorial sobre vários aspectos do <canvas> e o segundo serve de referência dos recursos do <canvas> e dá nome ao livro. Uma coisa que achei bacana, é que apesar de ser um “Pocket Reference”, ele acompanha exemplos de código, que podem ser obtidos a partir desse link: http://examples.oreilly.com/0636920016045/.

Os exemplos são simples e ajudam quem está começando a brincar com <canvas>. Recomendo esse livro pra quem irá ou já trabalha com <canvas>. Um guia de referência é fundamental para quem trabalha com essa tecnologia.

]]>
https://thiagovespa.com.br/blog/2011/09/09/canvas-pocket-reference-de-david-flanagan-oreilly-media/feed/ 0
Desconto no TDC e comida grátis!!! https://thiagovespa.com.br/blog/2011/06/29/desconto-no-tdc-e-comida-gratis/ https://thiagovespa.com.br/blog/2011/06/29/desconto-no-tdc-e-comida-gratis/#respond Wed, 29 Jun 2011 19:39:44 +0000 http://www.thiagovespa.com.br/blog/?p=1711 Continue lendo Desconto no TDC e comida grátis!!!→]]> qrcode-1711Vai ter um super evento nessa próxima semana em São Paulo: The Developers Conference!

O evento é um dos maiores do Brasil e é composto por várias trilhas atendendo todos os gostos do mundo de desenvolvimento. Esse ano ele está maior e melhor e será realizado durante o lançamento do Java 7 e contará com a presença de nomes importantes do mundo de desenvolvedores e T.I. em geral.

]]>
https://thiagovespa.com.br/blog/2011/06/29/desconto-no-tdc-e-comida-gratis/feed/ 0