Gerando classe LotusScript a partir de um formulário

08/07/2009

Como resultado das anotações de idéias em blocos de notas, criei um agente em lotus script, beta ainda, que vai ler os campos de um formulário e gerar uma classe em lotus script para acessar os documentos gerados.

No dia 30 de junho, indo para o trabalho, tive a seguinte idéia e anotei no bloco de notas:

Idéia – Lotus Notes

Criar um agente que vai ler os campos de um formulário (nome/tipo) e gerar automaticamente uma classe lotus script e uma classe java para esse formulário.

À noite, separei uma hora para pensar mais no assunto e terminei criando um código inicial… Por enquanto só foi feita a geração da classe lotus script e ainda não testei todos os tipos de dados (só texto e número), coloquei o código no gist do github mas depois crio um projeto lá.

http://gist.github.com/141625/

Motivo?

Simples! Programação Orientada a Objetos no Lotus Notes. É de extrema urgência que os desenvolvedores notes comecem a trabalhar com OO e fazer uso de design patterns e boas práticas de programação. É muito custoso dar manutenção em sistemas com duplicação de código, tanto para o desenvolvedor quanto para a empresa.

Trabalhando idéias

29/06/2009

Na maioria das vezes que tenho uma idéia legal, falta o tempo necessário para implementar e por incrível que pareça, quando eu tenho tempo, nenhuma idéia aparece…

Twitei pra ver o que as pessoas acham e disseram que devo começar a anotar as idéias.

Minha mente bloqueou de imediato a idéia de anotar baseado em sua experiência no passado, eu fazia as anotações mas…

  1. raramente lia.
  2. quando lia, não tinha o detalhamento necessário para que conseguisse implementar.
  3. alguém implementou antes ou encontrei idéias melhores que aniquilariam a necessidade da minha.
  4. perdia a anotação por não estar centralizada
  5. etc, etc etc.

Dae o Philipe sugeriu a leitura do livro Pragmatic Thinking and Learning e ainda deu duas dicas (1 e 2) do livro, dicas que neste momento de insanidade resolvi me comprometer em seguir por uma semana. Portanto no próximo domingo estarei postando o resultado e a análise de como foi usar as cadernetas durante a semana.

As dicas são: usar uma caderneta pequena para anotar idéias ao longo do dia e ter um bloco maior em casa para estressar as melhores idéias e extrair o máximo delas.

Como pretendo fazer isso?

Vou dedicar 1 hora por dia, em casa, para estressar essas idéias.

Não vou comprar blocos nem cadernetas, por mais legal que seja escrever no papel com a caneta (faço muito isso, preciso visualizar as coisas no papel, sério mesmo), para esse experimento vou me aproveitar da tecnologia. Farei as anotações no aplicativo Notes do iPhone. Dessa forma posso sincronizar com o mac, acessar as notas no computador, trabalhar nelas e sincronizar de volta para o iPhone.

Dependendo do resultado, ou independente dele, vou comprar o livro ou o ebook do livro.

É isso e quem tiver idéias, posta ae um comentário :)

Acessando a documentação da API e aprendendo com código gerado do modelo

11/06/2009

Existe um jeito fácil e rápido de acessar a documentação da API que esteja sendo utilizada no desenvolvimento de aplicações no x-code.

E para quem ainda está aprendendo a desenvolver aplicações para iPhone, um jeito simples e prático de aprender o funcionamento básico das aplicações é consultando a documentação de cada classe ou método utilizados no código gerado automaticamente quando é criado um novo projeto baseado em um modelo.

No exemplo abaixo estou usando o SDK do Iphone, portanto é um pré-requisito caso queira reproduzir exatamente o que está escrito, caso contrário, também pode ser feito com a Core Library que já vem junto com o x-code e não há necessidade de download e nem do SDK do Iphone, porém a escolha do projeto deverá ser um projeto para Mac OS X.

Primeiramente, será necessário atualizar a coleção de documentos do seu x-code:

  • Inicie o x-code.
  • Pressione option+command+? para acessar o help do x-code.

x-code help

  • No menu, à esquerda, clique em subscribe nas documentações que quiser adicionar e aguarde o término do download.
  • Feche a janela de help.
  • Pressione command+shift+N para criar um novo projeto.
  • Embaixo da categoria Iphone OS, selecione Application e alguns modelos aparecerão do lado direito.
  • Selecione o modelo View-Based-Application.

x-code novo projeto

  • Dê um nome para o projeto e confirme.
  • Pronto, com o projeto criado, algum código padrão gerado, acesse uma classe qualquer, por exemplo, a implementação do ViewController, no meu caso, exemploViewController.m

exemploViewController.m

  • E agora é que vem a dica… Com o código-fonte aberto, pressione option e perceba que o cursor do mouse virou uma cruz, com option ainda pressionado, dê duplo clique em uma classe, ou um método, ou qualquer coisa que voce queira saber mais e a documentação será aberta apresentando o tópico selecionado.
  • No exemplo, cliquei em initWithNibName: que se encontra na linha 17.

help x-code initWithNibName

Agora é possível navegar pela documentação, através dos cliques no código-fonte, e compreender exatamente o que o código faz. Assim, com o tempo vai entrando no sangue :)

vegetariano ou não?

02/04/2009

Pessoas surtam o tempo todo e acho que também tenho esse direto. :)

Então não sei se ainda sou vegetariano, afinal já estou comendo peixe há um tempo e hoje, há poucos minutos atrás, comi devorei um Mc Max.

Não sei se tenho cara de encarar carne no meu prato, mas o hamburguer foi fácil, fica ali escondido entre o molho, alface, tomate e pães.

Ah… mas sempre disse que “eu não como carne por causa da violência com os animais” mas tomo remédio e utilizo coisas que podem ter feito animais sofrerem… Ou viro radical ou sei lá, volto a comer hamburguer porque é complicado viver no meio termo.

Pelo menos tiro uma lição disso tudo, mesmo voltando a comer carne, ou não, hoje respeito mais os animais.

Ótimo, postei. Eu tinha que dizer isso ao mundo. :)

Mail crashes – Tip

28/03/2009

Adoro o Growl mas depois de um tempo o Mail começou a dar pau direto… Era só eu tentar receber um novo email que o Mail fechava com uma tela de erro.

Muito bem, desabilitei o Growl apenas para o Mail e… não funcionou hahaha #fail. Dae fiquei com preguiça de tentar resolver, afinal ainda tenho o webmail :P

Mas chega uma hora que cansa… Então depois de muito pesquisar no google, encontrei a solução. Não basta só desabilitar o Growl, é necessário remover o bundle criado dentro da pasta Mail.

Portanto, apenas remova o arquivo /Library/Mail/Bundles/GrowlMail.mailbundle e voilá :)

E continuo usando o Growl para outras aplicações… uhuuuu.

Não façam o jailbreak do Iphone 3G 2.2.1 ainda

11/03/2009

Fiz o jailbreak do meu iphone 3G de firmware 2.2.1 neste último domingo e levei o domingo inteiro nessa atividade de nerd. Mas não é muito simples usar o quickpwn??? next next next? PwnageTool também não é fácil de usar?… claro! São muito simples mesmo, tanto é que fiz e refiz o jailbreak umas quinhentas vezes durante o dia :D E por quê?

Porque todas as vezes que fazia o jailbreak, notava que ora a conexão 3G, ora a conexão wifi ficavam fracas. Além disso, não consigo uma conexão decente com o Cydia via wifi e raras vezes consegui com o 3G.

Depois desse incidente, pesquisei um pouco na internet e de fato muitas pessoas estão tendo o mesmo problema após o jailbreak mas ninguém tem nenhuma solução ainda…

Por isso não façam o jailbreak do iphone 3G de firmware 2.2.1 ainda… esperem mais um pouco… sei que a tentação é grande, mas não vale a pena fazer agora.

Ruby on Rails no mundo real 2009

05/02/2009

Dia 04 de abril haverá mais um evento de Ruby on Rails em São Paulo, é o Ruby on Rails no mundo real 2009. Que nome grande ehehe e esperamos um grande evento também!

Achei ótimo que tenha sido marcado em um sábado, dessa forma fica muito mais fácil de participar porque não interfere no trabalho semanal.

O Evento contará com a presença de Fábio Akita e Carlos Brando e aguardo ancioso a palestra do Carlos que será sobre testes de software (“só imaturos não testam”).

Igualmente ancioso para a palestra de JRuby e Glassfish com rails pois a cada dia busco mais e mais argumentos para que um dia aproveite bem a oportunidade de poder explicar os prós e contras e finalmente conseguir inserir ruby oficialmente no meu trabalho.

Google Latitude

04/02/2009

Ta aí um serviço que demorou para ser lançado e que a gente já vê nos filmes há um bom tempo… ehehe

google latitude

tá aí, já estou usando :)

tive que setar minha localização manualmente porque a versão para iphone ainda não está funcionando ¬¬

segue abaixo aonde funciona e onde funcionará rsrsrs

Google Latitude is a feature of Google Maps for mobile on these phones:

  • Android-powered devices, such as the T-Mobile G1
  • iPhone and iPod touch devices (coming soon)
  • most color BlackBerry devices
  • most Windows Mobile 5.0+ devices
  • most Symbian S60 devices (Nokia smartphones)
  • many Java-enabled (J2ME) mobile phones, such as Sony Ericsson devices (coming soon)
my location at work

my location at work

Avoid Vivo Online Issues

12/01/2009

Diogo Santos lançou um ótimo add-on para firefox, o nome é meio estranho mas funciona :)

Se você é usuário da vivo e usuário de firefox então nunca acessou a vivo online ou não entra há um bom tempo né?

Pois seus problemas acabaram! AVOI (Avoid Vivo Online Issues) permite que o botão Entrar da tela de login da Vivo Online funcione e o infeliz(hehe) usuário consegue finalmente logar no sistema. o/

Parabéns Diogo!

Websphere Portal – Infraestrutura

12/01/2009

Já participei do primeiro projeto de Portal após o treinamento… mas não usei nenhum conhecimento fora do senso comum. A primeira fase do projeto foi de instalação, configuração e tuning do portal e digo, putz, que dificuldade…
Parece que o instalador e as ferramentas de migração já vieram bugadas de fábrica hehe. #fail

Para início de conversa, e isso por demanda do cliente, instalamos em um servidor Windows 2003 e tivemos que migrar o banco para MS SQL Server, o LDAP para o MS AD e o webserver para IIS . eca, eca, eca ¬¬. #fail

Bom, ao instalar o portal 6.1, quando o instalador passa da fase de instalação do DB2, você tem que ficar com uma tela de console aberta e rodando um netstat -atn pra verificar se a porta 50.000 está ouvindo porque no meio da instalação essa porta vai ser fechada e não vai abrir mais (haha), e claro, ele vai apresentar um erro na tela porque ele vai tentar acessar essa porta após ter baixado… o código do erro é EJPIC0218E e espero que esse post ajude quem quer que entre no google e pesquise por ele.

A solução é baixar o servidor do DB2 e subi-lo novamente, verificando com netstat se a porta abriu e enfim prosseguir a instalação. #fail

Ferramentas de migração => edição de arquivo properties + rodar arquivos .bat = #fail.

Subir o portal no IIS? #fail kkk… É necessário instalar um plugin, até ae beleza. Os servidores eram locais, ambos estavam na mesma máquina (iis e ihs) portanto, modo de instalação selecionado = local. #fail #muthafucka.

O plugin só funcionou quando foi instalado como remoto ¬¬acredite se quiser.

Anyway, o ambiente está funcionando 100% e agora estou aguardando a fase de customização do portal (WCM) para enfim, depois de alguns meses, entrar na parte boa que será o desenvolvimento de portlets. :)


Follow

Get every new post delivered to your Inbox.