Archive for Agosto, 2008

Fotos – GooglePlex

Que tal trabalhar em um dos escritórios do Google (GooglePlex) ?

Mountain View California, US

New York, US

Santa Monica Arizona, US

Moscow, Russia

Zurich, Switzerland

Será que é bom trabalhar lá? hehehhe Nada é de graça .. mas entre tomar chicotada aqui e lá … chicotada com xbox-360, bilhar e cochilos soa bemmm melhor :D

Add comment Agosto 31, 2008

PostgreSQL + JasperServer / Transaction Read Only

Em breve devo fazer um post dedicado ao iReport e ao JasperServer. Um excelente solução para desenvolver relatórios para web com ferramentas open sources … masssss, pra quem já usa e teve ou está tendo dor de cabeça com o driver jdbc para postgresql e transações, vai ai minha dica :) .

Meu Cenário

Tenho uma view que recebe os dados vindo de uma função que faz inserts em lote numa tabela (temporária) e no final da transação esses dados são excluídos.

Problema

Como a transação está definida como somente leitura (em algum lugar das profundezas dos milhares de arquivos de configuração do Java) a operação de insert/delete não é permitida e você ganha uma exception :)

Nas configurações do JasperServer, num dos inumeros arquivos de configuração e pastas do Java, deve existir um lugar onde você pode definir que a transação não é somente leitura. Bom, eu não “falo” java fluente e tive muita dificuldade em resolver o problema. Cansei de tentar achar a tal propriedade na sopa de letrinhas (JNDI, JDBC, BEAN, JSF, J2EE, etc) e resolver procurar a solução do outro lado … no banco. E não é que funcionou????

Basta na sua função/procedure colocar:
SET TRANSACTION READ WRITE;

Mais infos: http://www.postgresql.org/docs/8.1/interactive/sql-set-transaction.html

2 comments Agosto 26, 2008

Aplicações desktop com php – parte 2

Saudações phpzeiros! Depois de um tempo sem postar graças ao trabalho, estou de volta :D . E vamos voltar a série de posts de aplicações desktop com php-gtk. Hoje vamos falar um pouco de containers.

Containers são componentes (widgets) que encapsulam outros componentes. Janelas, painés, frames são exemplos de containers.

Os dois tipos básicos mais usados de containers são GtkBin e GtkBox. O primeiro só permite um componente filho, enquanto o segundo permite que vários widgets sejam acoplados ao container. Essas duas classes são abstratas e como tal não podem ser instânciadas diretamente.

Vamos então falar dos containers mais usados:

  • GtkHBox, GtkVBox
    Organiza os componentes filhos em uma única linha horizontal (GtkHBox) da esquerda para a direita ou vertical (GtkVBox) do topo para a base. Os métodos usado para adicionar os componentes são pack_start e pack_end.

    Estrutura do GtkHBox
    Componente 1 Componente 2 Componente n
    Estrutura do GtkVBox
    Componente 1
    Componente 2
    Componente n
    $vbox = new GtkVBox();
    $vbox->pack_start( new GtkEntry() );
    $vbox->pack_start( new GtkEntry() );
    $wnd->add($vbox);
  • GtkTable
    Organiza os componentes no formato de uma tabela usando linhas e colunas. Os componentes podem ocupar mais de uma linha/coluna.
    Os componentes são adicionados usando o método attach do GtkTable. Nele você deve dizer em que linha/coluna o componente deve iniciar e terminar.

    $table->attach($label, 0, 2, 0, 1);
    

    No exemplo acima, o label vai iniciar na coluna 0 e terminar na coluna 2 (ocupando duas colunas), iniciar na linha 0 e terminar na linha 1 (ocupando 1 linha apenas).

  • GtkFixed
    O mais flexivel na minha opinião. O desenvolvedor informa as coordenadas x e y em que o componente deve ficar posicionado na tela. O método usado para adicionar os componentes é o put ou move. Para tal, basta indicar a posição (x,y) de onde o componente deve ser colocado no formulário.

    $fixed->put( new GtkEntry(), 8, 24);
  • GtkWindow
    Esse é o container mais usado. Como se trata de um GtkBin, só permite apenas um componente filho. O método usado para adicionar os componentes é o add.

    $win = new GtkWindow();
    $win->set_title("Exemplo GtkWindow");
    
    $fixed = new GtkFixed();
    $fixed->put( new GtkEntry(), 8, 24);
    
    $win->add($fixed);

É isso ai galera. Até o próximo post.

Add comment Agosto 25, 2008


 

Agosto 2008
S T Q Q S S D
« Jun   Set »
 123
45678910
11121314151617
18192021222324
25262728293031

Arquivos

Tópicos recentes

Tags

Addfont apache Aplicações audio bash Carreira desabilitado desativado Desktop diminuir Documento emprego Encoding Firefox FPDF Gerenciador Google GTK+ HDA iconv iReport Jasper jasperserver Java Linux MakeFont mudo mysql Partição PDF Perl PHP postgres procedure redimensionar Relatorio script shell shrink SLACKWARE som ttf2pt1 vaga Vista Windows

Categorias

Blogroll