A JPEG Decoder in JavaScript

Postado em

This Could Be Better

The JavaScript code below represents an incomplete and buggy attempt to implement a simple JPEG decoder. To see it in action, copy it into an .html file, open that file in a a web browser that runs JavaScript, and click the Upload button to load a specified JPEG image file.

At a high level, the JPEG encoding algorithm works as follows:

1. The color of each pixel in an image is translated into the YCbCr color space, in which the “Y” component represents the brightness, or “luma” of a pixel, while the “Cb” and “Cr” components encode the hue, or “chroma” of the pixel.

2. In some images, groups of neighboring chroma pixels (usually in 2 x 2 blocks) are averaged together, and only the average chroma of each group is stored. This reduces the number of chroma pixels that need to be encoded, at the expense of lowering the…

Ver o post original 675 mais palavras

Como retornar o número de linhas e o espaço ocupado por tabela – Parte III

Postado em

Gustavo Maia Aguiar

Oi Pessoal,

Dizem que não dá sorte começar o ano com pendências do ano anterior. Nem sempre é possível saldar todas essas pendências, mas quanto menos pendências houver, melhor o ano se inicia. Eu achei que tinha feito a minha última postagem do ano, mas se assim o fizesse deixaria uma pendência para o ano de 2009. Não acredito muito em superstição (até porque não conseguirei saldar todas as pendências (rs)), mas não custa deixar uma pendência a menos.

No artigo anterior, demonstrei uma forma um pouco mais sofisticada de recuperar o número de linhas e o espaço ocupado por tabela. Além de apresentar uma forma de capturar essas métricas essenciais de volumetria de dados, foi possível evoluir para outras métricas úteis como espaço referente a índices, espaço reservado, espaço não utilizado, etc. Ao finalizar o artigo, fiz a observação a cerca de expor as tabelas do banco diretamente…

Ver o post original 3.305 mais palavras

Mapeando dependências de objetos para colunas

Postado em

Gustavo Maia Aguiar

Boa Noite Pessoal,

Hoje vi no fórum de SQL Server da Microsoft uma necessidade relativamente comum que é a identificação de que objetos referenciam determinadas colunas de determinadas tabelas. É bem comum perguntarmos sobre essa dependências especialmente quando precisamos eliminar ou alterar uma ou outra coluna e sabemos que essas colunas são referenciadas por diversas views, procedures, functions, etc. O melhor para evitar tais situações é usar a opção SCHEMA BINDING sempre que possível, pois, ela evitará que uma ou outra coluna seja excluída e prejudique os objetos que delas dependam. É uma opção mais segura, mas ainda assim, para uma mudança é necessário mapear e isso o SCHEMA BINDING não faz.

Há muito tempo atrás, publiquei os artigos “Mapeando dependências entre tabelas” e “Mapeando dependências entre objetos” que trata sobre dependências com compatibilidade para o SQL Server 2005 (no 2008, os scripts funcionam, mas há outros objetos mais diretos)…

Ver o post original 1.067 mais palavras

Exportando consultas para documentos XML

Postado em

Gustavo Maia Aguiar

Boa Noite Pessoal,

Essa será possivelmente uma das minhas últimas postagens de 2011, então vamos para uma dica rápida. Hoje falarei sobre como exportar uma tabela ou consulta para um documento XML através do BCP e do CLR. Já vi algumas postagens que tratam esse assunto, mas proponho um pouco mais que isso. Demonstrarei a exportação mantendo a identação dos elementos no documento XML. Para começar nada melhor que algumas tabelas de exemplo


ExportXML


ExportXML


Clientes (
ClienteID ,
ClienteNome (100) )

Contas (
ClienteID ,
ContaID ,
ContaAgencia (6) ,
ContaNumero (9) )

Lancamentos (
ClienteID ,
ContaID ,
Valor ,
Tipo (1) ,
Data )


Clientes (1,)
Clientes (2,)
Clientes (3,)
Clientes (4,)

Contas (1,1,,)
Contas (1,2,,)
Contas (1,3,,)
Contas (2,1,,)
Contas (2,2,,)
Contas (3,1,,)

Lancamentos (1,1,6500,,)
Lancamentos (1,1,1200,,

Ver o post original 1.436 mais palavras

Configurando SSL no Apache Tomcat

Postado em

sombriks has a plan

Olá, hoje vamos fazer uma atividade relativamente simples: ativar o suporte a SSL no Tomcat. Observe que há duas etapas distintas, uma que resolve para você continuar a desenvolver seja lá o que for sem maiores complicações e outra relacionada à produção. Esta última depende da contratação dos serviços de uma Autoridade de Certificação, e como não me deram dinheiro pra escrever isso vou deixar você escolher uma, 🙂

Ver o post original 1.415 mais palavras

Java – Apache Commons – codificar e decodificar string

Postado em

Ricardo Spinoza

Antes de mais nada, se vc não está familiarizado com os conceitos de codificação e criptografia, entenda a diferença lendo o post http://unknownantisec.wordpress.com/2011/10/03/a-diferenca-entre-codificacao-e-criptografia/

Os dois método abaixo são especialmente utéis para ofuscar (pelo menos não ficar tão na cara) dados em lugares manjados: txt, properties, xml. Na minha opinião a vantagem de usar codificação/decoficiação é a simplicidade – a toque de caixa – de implementar o ofuscamento. Para o malandro desofuscar tem que saber qual o algoritmo que vc usou, e lembrando que não é criptografia aonde envolve chave privada para descriptografar os dados.

Dica: no GUJ tem um tópico com um exemplo (créditos Thingol) de implementação de criptografia com chave privada http://www.guj.com.br/java/35256-criptografia-de-dados-no-java

Import da lib – link com o donwload da lib no final do post

Exemplo de uso:

Exemplo completo:
Obs. não esquecer de adicionar a lib no seu projeto.

Download da lib em http://commons.apache.org/codec/download_codec.cgi

É isto, se…

Ver o post original 11 mais palavras

JavaScript – Como executar uma função após detectar o Enter do usuário no campo do formulário. Testado no IE/Firefox/Opera

Postado em

Ricardo Spinoza

Segue o código:

Explicação: O evento é capturado por window.event, o número do caracter correspondente a tecla pressionada está disponível no keyCode ou which dependendo do seu navegador. O código 13 corresponde ao Enter conforme a tabela ASCII.

Confira o exemplo rodando em um formulário em exemplo_captura_enter_form.html

Ver o post original