Ponto Nulo Ponto Nulo Ponto Nulo

Desenvolvimento

GuessWhat!

Por: em 17 de fevereiro de 2011, categoria: Android, Desenvolvimento, Google, Internet, Mobile, Software

GuessWhat! É uma aplicação para predizer o sexo do bebê.
Seu bebê será um menino ou uma menina?

O GuessWhat! Baseia-se no calendário lunar da gravidez e é fornecido apenas para fins de entretenimento. O link no Android Market é esse: http://goo.gl/hiFjR

Este antigo calendário lunar da gravidez foi supostamente descoberto por um cientista chinês cerca de 700 anos atrás, em uma tumba perto de Pequim. Este calendário tem sido usado para prever o sexo de um feto com base na idade da mãe e o mês da concepção. A utilização deste calendário somente é válido se a idade da mãe for entre 18 e 42 anos no momento da concepção.

Algumas fontes dizem que esse calendário lunar da gravidez possui 93% de precisão e alguns outros relatos sugerem uma precisão de 50/50. Experimente e veja se ele funciona para os seus filhos. Tente-o para outras crianças.

Comente mais...

ViewExpiredException e JSF 1.2 – Solução definitiva

Por: em 22 de outubro de 2010, categoria: Desenvolvimento

Esse é um post de utilidade pública! Finalmente, uma solução definitiva para o problema do ViewExpiredException pra quem usa  JSF 1.2.

Vou contar o que aconteceu comigo esses dias… Num projeto novo que estou fazendo com uns colegas, estamos usando JSF 1.2, Facelets 1.1.14 e RichFaces 3.3.3. No primeiro momento, tínhamos uma tela que colocava um dado na sessão e, após a sessão expirar… adivinha: ViewExpiredException!!!

Normal até aí, todo mundo já sabe que isso ocorre mesmo. A solução foi implementar um PhaseListener com base no post desse cara: JSF Session Timeout Handling.

Resolvido o problema da sessão! Porém, me deparo com outro problema, esse agora ainda com a sessão ativa, e adivinhem novamente… ViewExpiredException!!!

Depois de pesquisar o Google inteiro sobre o ocorrido, me deparei com o um parâmetro mágico do Facelets: facelets.BUILD_BEFORE_RESTORE. Simples, configura pra "true" e tá tudo certo, o problema desaparece.

Realmente desaparece, mas outros aparecem, agora com o RichFaces (Build Before Restore Will Eat Your RichFaces).

Resumindo, tive que abrir a classe FaceletViewHandler pra saber o que tava havendo, até que cheguei à solução:

Criei uma nova classe, herdando de FaceletViewHandler, que sobrescreve o método createView. Confiram abaixo:

 

/**
  *
  * ViewHandler que previne o problema de
  * ViewExpiredException para os casos onde a sessão
  * ainda está ativa.
  *
  * Basicamente utiliza o ViewHandler "pai"
  * para restaurar a view. Caso ele não consiga
  * (UIViewRoot == null), recria a view.
  *
  * @author Rômulo Augusto
  */
public class PreventViewExpiredViewHandler extends FaceletViewHandler {

	private ViewHandler parent;

	public PreventViewExpiredViewHandler(ViewHandler parent) {
		super(parent);

		this.parent = parent;
	}

	@Override
	public UIViewRoot createView(FacesContext context, String viewId) {

		UIViewRoot viewRoot = this.parent.restoreView(context, viewId);

		if (viewRoot == null) {
			viewRoot = super.createView(context, viewId);
		}

		return viewRoot;
	}
}

 

Resumão pra concluir:

  1. Coloque o parâmetro facelets.BUILD_BEFORE_RESTORE no web.xml como true;
  2. Use um PhaseListener para o caso de session timeout;
  3. Use a classe PreventViewExpiredViewHandler para os outros casos.

No caso do session timeout, é possível redirecionar para uma página específica ou atém mesmo se manter na mesma página e mostrar uma mensagem (e foi assim que eu fiz).

A classe PreventViewExpiredViewHandler  apenas recria a view caso sua restauração não tenha sido possível. Usa o mesmo método da superclasse, FaceletViewHandler.

*Fiquem à vontade pra copiar, só lembrem de deixar os créditos! Valeu!

Comente mais...

Os Melhores do ano 2009

Por: em 7 de janeiro de 2010, categoria: Apple, Consoles, Curiosidades, Desenvolvimento, Google, Hardware, Internet, Jogos, PS3, PSP, Software, Tendências, WII, Windows, Xbox 360

O ano de 2009 passou e podemos dizer que foi uma ano cheio de novidades. Neste post destacamos aqueles que, para nós, foram os melhores!

SMARTPHONE:

1º – Iphone 3GS;
2º – HTC Hero;
3º – Samsung s8000 Jet.


CELULAR:

Sony Ericsson c903 (continue reading…)

Comente mais...

LinguÁgil 2009

Por: em 9 de novembro de 2009, categoria: Desenvolvimento

A UNIME está promovendo a XII Semana de Informática do BSI e CST Unime e, junto com ela, os grupos AgileBahia, JavaBahia, PHPBahiaRailsBahia estão organizando um novo evento sobre linguagens de programação e metodologias ágeis.

linguagil-banner500x91

No evento terão palestras, mini-cursos e oficinas. Uma das oficinas que me chamou a atenção foi a Coding-Dojo* LinguÁgil, onde os desenvolvedores serão desafiados a criar um algoritmo tendo que aplicar TDD e Pair Programming, colocando em prática a teoria dos livros.

Então pra quem é da área e pode ir até a Bahia ou pra quem tá chegando agora, não pode deixar de ir, porque, com certeza vai ser um evento muito bom pra ampliar os conhecimentos e se iniciar no ramo.

programacao-linguagil

A programação completa você pode ver AQUI.

Related Posts with Thumbnails
Comente mais...

Página 1 de 3123