Best Practices do J2EE

Recente artigo no developerWorks com as melhores práticas do J2EE, dentre eles o uso do MVC, planejamento de segurança e JSP para apresentação.

Há também o artigo J2EE Application Performance Optimization no JavaWorld.

[via Além do Java]


Brincando com o Google e ColdFusion

O Marcan (Navita) me deu uma dica bastante interessante para se descobrir sites que rodam em ColdFusion no mundo inteiro, especialmente sob domínios de empresas importantes e grandes. Basta usar o google e sua sintaxe!

Alguns exemplos que busquei em menos de 2 minutos:

“.cfm” site:citibank.com
“.cfm” site:uol.com.br
“.cfm” site:terra.com.br
“.cfm” site:ebay.com
“.cfm” site:altavista.com
“.cfm” site:nasa.gov
“.cfm” site:sco.com

(e a lista vai longe…)


MacroChat com Ben Forta sobre o blackstone (o novo ColdFusion)

Notícia de última hora e ainda não divulgada no site do Community Week. Ben Forta, Tim Buntel e Dave Gruber irão fazer um MacroChat hoje sobre o novo ColdFusion, codinome Blackstone. Se você quer conhecer as novas features do nosso querido CF e fazer perguntas sobre o produto, não deixe de comparecer a esta apresentação via Breeze Live. Anote aí e nem pense em perder:

20/05/2004 - 16h00 - horário de Brasília
Ben Forta, Tim Buntel, Dave Gruber talk CF Shop
Bring your CF questions to this Macrochat
http://macromedia.breezecentral.com/r36158305/

Como a apresentação foi fechada de última hora, ainda não está disponível no schedule de MacroChats no site da MM. Por isso use a URL no quadro acima e acesse como “Guest” (ponha seu nome completo e país – ex: “Alex Hubner, Brazil”) ou o form para usuários registrados no Breeze.

Amanhã (sexta, dia 21) teremos uma outra apresentação com o Simon Horwith, Team Macromedia para ColdFusion. Anote aí os dados e (também) não perca!

21/05/2004 - 10h00 - horário de Brasília
Team Macromedia member Simon Horwith
Advanced Development Techniques in CFML. In this presentation, advanced CFML techniques will be discussed. Topics include CFSCRIPT, XML, and advanced techniques with ColdFusion Components and Custom Tags.
http://macromedia.breezecentral.com/r23279712/


Reunião do CFUG-SP hoje (quer dizer, ontem)

Acabo de chegar da reunião do CFUG-SP que rolou hoje, incluindo um broadcast direto dos EUA com as últimas novidades da nave mãe (Macromedia). A reunião foi ótima e muito produtiva. Amanhã irei postar fotos comentadas e mais detalhes da reunião. Mais uma vez foi uma excelente oportunidade para rever velhos amigos, trocar figurinhas e conhecer figuras que não conhecia pessoalmente ou tinha tido pouco contato. É o caso do Marlos Carmo, que veio de Belo Horizonte para assistir a apresentação, Gabriel Laet e seu sócio Fabiano Cruz, dois figuraças (vocês certamente vão reconhecê-los nas fotografias) e muitos outros. Até que tenha tempo (vou dormir pois já são duas da matina) você pode ver algumas fotos que disponibilizei num web-album bem tosco (vêm num desses softwares de máquina digital).

http://www.cfugsp.com.br/fotos/20040519/


Mais um gigolô!

Prezados(as) leitores(as), o CFGIGOLÔ tem um novo colaborador: Douglas Camargo Leal, que se junta a mim e ao Terracini na árdua tarefa de manter este blog. Douglas é um dos profissionais mais bem qualificados que eu conheço em se tratando de ferramentas e soluções Macromedia e TI como um todo. Não vou ficar falando do currículo dele (nem teria espaço), mas quem o conhece sabe que o cara é fera.

Além disso o Douglas é um cara extremamente ligado em tecnologia, daqueles que você bate papo e não vê o tempo voar pois a conversa flue com empolgação e densidade típica dos bons geeks. É destes inúmeros e longos papos que tive a idéia de convidá-o a fazer posts por aqui. Terracini e eu nos sentimos extremamente lisongeados por ele ter aceitado. Sem dúvida alguma vale a pena ler seus posts (que espero ver, apesar da agenda apertada do Douglas). Seja bem vindo Douglas!


CFMX 6.1 na Digiweb?

Agora pouco estava relendo um post do CFGIGOLÔ sobre segurança (onde metia bronca na Digiweb) e fui lá ver. Parece que eles migraram de 4.5 (acho que era essa a versão que ofereciam) para 6.1 e estão rodando no mesmo esquema da Locaweb (com as restrições e settings que recomendo para sandboxes). A boa notícia: a hospedagem custa 40 pilas (sem extras)!

Confiram:
http://www.digiweb.com.br/servicos/windows/index.asp#cf

Se não me engano a Digiweb é uma destas empresas de hosting brasileiras que são relativamente confiáveis, estou correto? Se for esta é uma ótima notícia!


Flex Updater 1

Não demorou muito. Apenas dois meses depois do lançamento do dito cujo a Macromedia solta a primeira atualização/correção. Trata-se do Flex Updater 1.

A Macromedia diz que esta é a prova do seu comprometimento com o produto… Eu digo que isso é a prova de que ela anda atropelando os lançamentos de produtos e colocando à venda versões beta, correndo para arrumar problemas depois. E se o beta do Flex tivesse sido aberto para um maior número de pessoas?

Já dizia o ditato: “a pressa é inimiga da perfeição”, ainda mais quando adicionada à uma pitada de segredo


LSParseDateTime() é sua amiga!

Suponha que você receba uma data preenchida por um formulário no padrão que usamos em nosso país (“dd/mm/aaaa”) e você precisa adicionar dois dias a esta data. Qual seria a solução a se adotar? Simples, você pensa, basta adicionar dois dias à data certo?

<cfset data_inicial="03/04/2004">
<cfset data_final=data_inicial+2>
<cfoutput>#DateFormat(data_final, "dd/mm/yyyy")#</cfoutput>

Mas aí você roda o código e vê que a data (“data_final”) retornada será igual a 06/03/2004… Ué? A data indicada (“data_inicial”) era 03/04/2004, somando-se dois dias a esta data teríamos então como resultado 05/04/2004 né?… Errado (faça o teste você mesmo). Ok, você pensa, “vou usar uma função específica do CF para isso. Ficar fazendo essas gambetas com somas puras sempre dá problema…” e eis que surge sua salvadora: DateAdd():

<cfset data_inicial="03/04/2004">
<cfset data_final=DateAdd("d",2,data_inicial)>
<cfoutput>#DateFormat(data_final, "dd/mm/yyyy")#</cfoutput>

E você roda o código e percebe, frustado, que a data mostrada continua sendo 06/03/2004. Você fala: “esses ingleses (e os americanos por tabela) são uns cretinos mesmo… por que foram inventar essa de querer ser diferente do resto do mundo no formato das datas??…… Hei… espere… Mas como eu sou burro!! O resultado deu os mesmos “06/03/2004” porque eu esqueci de setar o locale para “Portuguese(Brazilian)” e usar a função LSDateFormat() para mostrar a dita cuja… Agora vai!

<cfset setlocale("Portuguese (Brazilian)")>
<cfset data_inicial="03/04/2004">
<cfset data_final=DateAdd("d",2,data_inicial)>
<cfoutput>#LSDateFormat(data_final, "dd/mm/yyyy")#</cfoutput>

E tchan-tchan-tchan!… o resultado é: 06/03/2004… (gulp!)

É justamente aí que entra em cena uma função pouco usada e conhecida mas que é de suma importância para nós que usamos um padrão de datas diferente do dos donos do mundo:

<cfset setlocale("Portuguese (Brazilian)")>
<cfset data="03/04/2004">
<cfset data1=DateAdd("d",2,LSParseDateTime(data))>
<cfoutput>#LSDateFormat(data1, "dd/mm/yyyy")#</cfoutput>

Agora sim, teremos como resultado 05/04/2004. Use-a sempre que estiver fazendo operações com datas no nosso formato.


Pijama

pijama.jpg

Meu pijama predileto! Acompanhado da pantufa deliciosa que ganhei de aniversário. Sou ou não sou fanático por esse programa? 😉


Blackstone vazando…

Esta semana um blog não muito conhecido (fica do outro lado do mundo, literalmente) vazou uma lista bastante compreensiva de features do novo ColdFusion Server (codinome Blackstone). O autor literalmente fez um copy+paste da mensagem de boas vindas ao programa alpha, listando todas as features (e comentadas por ele). O post foi imediatamente removido e o autor do post provavelmente foi cortado do programa por quebra do NDA. Diante disso, alguns fatos se tornaram públicos (apesar da Macromedia tentar abafar ao máximo):

1) O Blackstone já está em Alpha 1, para surpresa da comunidade, que foi deixada de fora na sua grande maioria;
2) Esta fase do programa está sendo tão (o mais) restrita que a que vimos com o Flex.

Se tudo isso for verdade (o que parece ser), a minha opinião é que a Macromedia está errando novamente. Basta se lembrar do CFMX 6.0 (eu estava no alpha, codinome Neo): um beta muito restrito e fechado, deu no que deu: 3 updaters em menos de um ano, na base do desespero e muita chiadeira. O RedSky (6.1) teve um beta cycle bem mais abragente, com participação maior de pessoas. Isso certamente contribuiu para termos um produto tão mais sólido em comparação à versão 6.0.

Não participei de outros betas de produtos já lançados (como o StudioMX 2004), mas me parece que a estratégia de ficar escondendo informações a todo custo, especialmente da comunidade, não tem dado muito certo para a Macromedia, que está se tornando notória em lançar produtos imaturos e mal acabados no mercado (vide o update do FlashMX2k4 e tantos outros).

E antes que me mandem remover este post: os fatos/informações que postei aqui estão disponíveis no Google e não, eu não tenho nenhum NDA para o blackstone, assim como a grande maioria de pessoas que, como eu, sempre colaboraram com o produto em suas fases alpha. Talvez o produto esteja tão bom que a ajuda de poucos abastados basta (o cara que quebrou o NDA não manja nada de CF, mas trabalha numa empresa que deve ter comprado umas 300 licenças do bichinho)…

Será que o produto é considerado tão bom que a Macromedia se dê ao luxo de descartar heavy-users e notórios costumés dos betas cycles (estou falando dos que vão alí não apenas para baixar o dito cujo, mas sim para usuá-lo e efetivamente encontrar e submeter bugs) para ficar bajulando grandes empresas? Talvez o Blackstone seja uma versão tão madura quanto o CFMX 6.0…