JDBC Driver para SQL Server 2005
Publicado; 23/01/2006 Arquivado em: ColdFusion Comentários desativados em JDBC Driver para SQL Server 2005A Microsoft já liberou o seu driver JDBC para o SQL Server 2005.
De qualquer modo, o ColdFusion já consegue conectar no SQL Server 2005 utilizando os drivers padrão (veja este post do Ben Forta).
ColdFusion e Excel
Publicado; 23/01/2006 Arquivado em: ColdFusion 1 comentárioUma das maneiras mais tradicionais de gerar conteúdo em Excel via ColdFusion é gerar o conteúdo utilizando tabelas normais em HTML e dar o output do conteúdo como se fosse um arquivo .xls. O Excel espertamente irá converter automaticamente para uma planilha. Nesse modo, contudo, não é possível aproveitar todo o potencial do Excel, como fórmulas e afins.
Um outro modo, mais caro (pois envolve uma licença do Excel) e razoavelmente utilizado, é instalar o Excel no servidor e utilizar objetos COM no ColdFusion. Uma outra abordagem interessante é utilizar o Jakarta POI, uma API em Java para manipulação de arquivos de softwares da família Office, da Microsoft. A sugestão de utilização dessa API inclusive aconteceu recentemente na lista de discussão do CFUG-DF.
E hoje, coincidentemente, passando os olhos nos blogs sobre Adobe/Macromedia, vi um post que indica duas interessantes referências ([1] e [2]) para utilizar o HSSF (projeto do Jakarta POI) para gerar planilhas Excel com recursos mais avançados de formatação, fórmulas e afins.
Uma outra alternativa, também em Java, é a API JXL.
Remoting em .NET
Publicado; 23/01/2006 Arquivado em: Flex Comentários desativados em Remoting em .NETFluorine é uma implementação open source e gratuíta do Flash Remoting para .NET.
O interessante é que permite utilizar uma abordagem mais coerente, chamando uma classe em .NET, e não páginas ASP.NET individualmente (cada uma representando uma função)… Além é claro, do já disponível WebService.
Interessados no assunto podem checar também o Starwolf, ainda não tão maduro.
Oportunidade
Publicado; 17/01/2006 Arquivado em: Unsorted Comentários desativados em OportunidadeA LightComm está a procura de dois profissionais ColdFusion. O local de trabalho é no bairro do Campo Belo, em São Paulo – SP. O salário será de acordo com a experiência.
Interessador encaminhem currículo diretamente para wendell AT lightcomm.com.br
No U2 for you!
Publicado; 16/01/2006 Arquivado em: Unsorted 2 ComentáriosE alguns minutos depois…
Isso porque a capacidade anunciada era de 10.000 visitantes simultâneos. O mais curioso, contudo, é que se são 73 mil ingressos para o show, e a primeira imagem mostra um limite de, ahãhn, 25.000 acessos simultâneos, quer dizer que os ingressos acabariam em poucos minutos, não?
Ora, contem outra…
Adobe Developer Community
Publicado; 10/01/2006 Arquivado em: Adobe Comentários desativados em Adobe Developer CommunityShantanu Narayen, Presidente da Adobe e COO fez uma apresentação em Breeze sobre o comprometimento da Adobe com a comunidade de desenvolvedores.
Assista o Breezo em http://adobe.breezecentral.com/drupdate0106/.
Frase do dia
Publicado; 10/01/2006 Arquivado em: Frase do dia, Segurança Comentários desativados em Frase do dia“Segurança M&M: dura por fora, mas muito mole e fácil de mastigar por dentro!”
— Do Livro “A Arte de Enganar”, de Kevin Mitnick
Defaults
Publicado; 10/01/2006 Arquivado em: Tecnologia Comentários desativados em DefaultsRecentemente tive a oportunidade de aprender um pouco mais sobre o que a Microsoft chama de Computação Confiável. Resumidamente, esse programa e filosofia visa obedecer os princípios básicos de segurança (Disponibilidade, Integridade e Confidencialidade), e para tal eles visam melhorias em quatro áreas, o chamado SD3+C:
- Security by Design
- Security by Default
- Security by Deployment
- Communications
Não vou discorrer sobre todos nesse momento, mas gostaria de compartilhar alguns pensamentos sobre os “defaults”. Nesse âmbito, a Microsoft pretente mudar as configurações padrões dos softwares de modo que, por padrão (ou seja: na instalação “next-next-finish” e sem nenhuma grau de parametrização), o software esteja o mais seguro possível, com o mínimo de serviços necessários atividos, possibilitando ao usuário habilita-los, passo-a-passo, explicando os níveis de segurança envolvidos em cada novo recurso ativo.
Parece uma daquelas: “Por que não pensei nisso antes?”, afinal, é um tanto quanto óbvio, não? Mas não é o que ocorre na maioria dos softwares por aí.
Os parâmetros default não estão presentes apenas na segurança, mas em todo o aspecto de um software. É frequente escutarmos coisas do tipo:
“Meu serviço x está ocupando 100Mb de RAM.”
“Ah, o meu está ocupando 500Mb! Que absurdo!”
ou…
“Se você instalou no Windows, ele estará rodando na porta 80, não na 8500!”
E depois ouvir reclamações sobre o software ou o mal gerenciamento de memória do sistema operacional. Em inúmeras vezes que escutei alguns dos diálogos acima, tinha certeza de que o software relacionado oferecia meios para configurar o recurso em questão, seja a memória ou a porta.
Desenvolvedores experientes, que têm mais confiança em seu trabalho e sua habilidade, podem freqüentemente achar e questionar por que o compilador está compilando errado, enquanto eles estavam digitando o código que fazia do modo certo. Bastam alguns minutos de revisão para ver que o compilador não está tão errado assim.
Ou justamente o contrário, desenvolvedores menos experientes ficarem contentes por suporem que acharam um bug no software. Afinal, “desse jeito não funciona. Então é um bug!!”, enquanto na verdade é um mal uso da ferramenta, da função de programação, ou algum parâmetro mal configurado.
Portanto, é importante conhecer o software e linguagem de programação que se está utilizando, seja através do hábito de ler APIs e documentações sobre o software e da humildade de poder estar errado, e o software agindo corretamente, de acordo com os parâmetros configurados. Infelizmente, nem sempre estes vêm de uma forma segura e funcional, muito menos oferecem meios simples e evidentes de configura-los (nada de arquivos em texto puro com nomes de variáveis que só os programadores daquele produto entendem), o que também nos lembra de também construirmos nossos softwares dessa maneira, facilitando a parametrização e configurando-o da melhor maneira possível para um “default”.
Quebra de linha no Flex
Publicado; 28/12/2005 Arquivado em: Flex 5 ComentáriosAs quebras de linhas em aplicações em Flex são tratadas de dois modos distintos. Um é a quebra de linha em códigos ActionScript, já conhecidas do pessoal que trabalhava com Flash, utilizando um n para criar as quebras de linha (tal como em outras linguagens de programação).
<mx:Script>
<![CDATA[
function setDataToolTip(date1:String, date2:String):Void {
cbDatas.toolTip = date1 + 'n' + date2;
}
]]>
</mx:Script>
O newline também pode ser utilizada para gerar quebras de linha, contudo, ao passo que o n é interpretado como um “texto” (escaped character; note as aspas no exemplo acima), o newline é como uma variável.
cbDatas.toolTip = date1 + newline + date2;
O segundo modo é quando estamos em uma tag do Flex. Ora, uma tag em Flex, e mais do que isso, um arquivo MXML nada mais é do que um arquivo XML, e portanto, os padrões podem e devem ser seguidos. Qual é o caractere de carriage return e como ele é representado em documentos HTML, XML e afins?
<mx:Link label="link com duas linhas" />
Adicionalmente, a variável newline também pode ser utilizada em tags MXML, utilizando o recurso de binding:
<mx:Link label="link com{newline}duas linhas" />
Vale a pena também citar casos especiais, como o uso de tags HTML, e o famoso <br> para quebras de linhas, como no caso de dataTips em gráficos, em que é possível utilizar b, i e br. No exemplo abaixo, uma função a ser utilizada como dataTipFunction de um gráfico.
function formatDataTip(event:Object):String {
return '<b>' + event.hitData.item.valor1 + '</b> <br> <i>' + event.hitData.item.valor2 + '</i>';
}
Frase do dia
Publicado; 19/12/2005 Arquivado em: Frase do dia, Mundinho corporativo Comentários desativados em Frase do diaSabe aquela situação em que algo precisa ser feito, e na correria do dia-a-dia ou por falta de tempo mesmo, faz-se um “quabra-galho” (também conhecido como gambiarra), que de fato, resolve temporariamente o problema, mas de longe não é a melhor solução, e deixa para implementar a solução definitiva num futuro “próximo”?
Fernando Fonseca, consultor de segurança da Microsoft, tem uma frase que resume perfeitamente essa situação:
“Se você não tem tempo de fazer direito, quando terá tempo de fazer de novo?”
–Fernando Fonseca