Lendo hoje meus emails recebi uma mensagem de um rapaz que me questionou sobre o funcionamento de uma UDF chamada StormUDF que criei ha algum tempo. Para quem nao sabe, uma UDF (User Defined Function, Funcao Definida pelo Usuario) e uma funcao, criada em uma linguagem qualquer (C/C++, Pascal, etc) para auxiliar na realizacao de algumas rotinas do banco de dados. Ao trabalhar com Firebird em suas primeiras versoes (1.5 e anteriores), sentia a necessidade de uma busca mais abrangente, que nao levasse e consideracao os acentos, nem se a palavra estava escrita em maiusculas ou minusculas. Criar uma Stored Procedure seria uma opcao, porem, fiquei preocupado com o desempenho e, aproveitando de outras situacoes, resolvi criar uma UDF que me auxiliaria nessa situacao, nascendo assim a StormUDF. Um arquivo de UDF's pode conter varias funcoes, mas nesse caso especifico, deixei apenas uma funcao, chamada TrataAcentos. O funcionamento dela e simples: joga todos os caracteres para maiusculos, e remove os acentos dos mesmos (A vira A, E vira E, e assim por diante). E a vantagem, poderia ser usado seu valor para a criacao de indices, agilizando as buscas. Para fazer o download da UDF basta acessar o site do Firebase. Apos realizar o download, copie a DLL para a pasta UDF na instalacao do Firebird (por exemplo C:\Program Files\Firebird\Firebird_2_0\UDF). Logo depois, registre a UDF em seu banco de dados:DECLARE EXTERNAL FUNCTION TRATAACENTOS CSTRING(254) CHARACTER SET NONE RETURNS CSTRING(254) ENTRY_POINT 'TrataAcentos' MODULE_NAME 'StormUDF' Logo apos ter registrado a UDF, ja e possivel utiliza-la:SELECT * FROM tabela WHERE TrataAcentos(NOME) = 'JOSE'; --Acha Jose, jose, JOSE, etc SELECT * FROM tabela WHERE TrataAcentos(NOME) like 'MACA%'; --Acha Maca, MACA, macarrao, etcClaro que hoje no Firebird temos algumas formas de realizar essa busca utilizando-se de recursos nativos, mas de qualquer forma, talvez possa ajudar alguem, e como dizem, "Recordar e Viver".Bem, e isso! Aos concurseiros de plantao, alguns concursos previstos: IBGE e da Camara dos Deputados.Do IBGE preve a contratacao de diversos cargos, inclusive o de Analista de TI. Acesse aqui o link com a noticia. Ja o da Camara, tem como atrativo o salario para cargo de Assistente Administrativo (nivel medio): R$ 12.000,00. Clique aqui para acessar a noticia. Bem, e isso! Apenas compartilhando conhecimento, acabei descobrindo o site http://todomvc.com/, que possui um exemplo de TodoList para download. Nada de especial, se esse exemplo nao fosse criado usando os mais legais libs javascript: JQuery(claro), BackboneJS, AngularJS, Ember.js, KnockoutJS, YUI, e outros. Espero que gostem, porque eu achei muito legal. Bem, e isso! Compartilhando informacoes sobre um link interessante postado pelo colega Jonas Ferreira...Web certamente percorreu um logo caminho nos ultimos anos. Temos tecnologias e ferramentas que mudaram a nossa forma de desenvolver aplicacoes web. Como a tecnologia continua a evoluir, vamos ver mais melhorias para o proximo ano. Neste artigo, destaco algumas das melhores tecnologias da web e ferramentas que vao trazer impacto em 2015.ECMAScript 6ES6 e o futuro do JavaScript e vai trazer muitos recursos novos. A boa noticia e que o conjunto de recursos de ES6 ja esta em alguns navegadores que ja