hoje fazendo alguns ajustes em um projeto eis que surge um problema na hora de fazer o deploy no OC4J 10.1.2.x, simplemente não compilava o jsp...
o mais incrível que a mesma aplicação executava no OC4J 10.1.3.x, mas como o ambiente de produção usa a versão anterior o jeito é corrigir a aplicação para que a mesma funcione...
incrivelmente foi apenas tirar a tag: html:link que a aplicação compilou...
menos mal, bom fica ae a dica, caso alguem passe por apuros no OC4J 10.1.2.x com Struts 1
domingo, 29 de julho de 2007
sábado, 28 de julho de 2007
OpenLaszlo 4.0.3 : disponível
desde ontém dia 27/07/2007, o pessoal da OpenLaszlo.org disponibilizou a nova versão do OL, com algumas correções de problemas da versão anterior, também para melhorar o funcionamento no IE 7
[link] da notícia (inglês)
[link] da notícia (inglês)
sexta-feira, 27 de julho de 2007
Firefox : alterando configurações para melhorar um pouco a performance
algo interessate que li hoje, para melhorar um pouco a performance do Firefox para acesso em internet de banda larga:
na barra de URL digite: about:config
procure por:
- network.http.pipelining altere para true
- network.http.pipelining.maxrequest altere para 8
fonte da dica [link: Folha Online]
----
Aproveitando que estou falando do Firefox, para os que não conhecem o Firebug e trabalham com o desenvolvimento de aplicações web como eu, fica a dica ae de uma ferramenta para verificar a execução do código, HTML, Javascript e CSS =]
Obs.: nota de correção [link]
na barra de URL digite: about:config
procure por:
- network.http.pipelining altere para true
- network.http.pipelining.maxrequest altere para 8
fonte da dica [link: Folha Online]
----
Aproveitando que estou falando do Firefox, para os que não conhecem o Firebug e trabalham com o desenvolvimento de aplicações web como eu, fica a dica ae de uma ferramenta para verificar a execução do código, HTML, Javascript e CSS =]
Obs.: nota de correção [link]
quinta-feira, 26 de julho de 2007
Oracle : executando uma Function via SQL
hoje eis que surgiu uma dúvida...
simples faça como o exemplo abaixo:
e funciona =]
Como executar uma function em uma SQL sem definir uma tabela?!
simples faça como o exemplo abaixo:
select function_name( att, att, ... ) from dual
e funciona =]
terça-feira, 24 de julho de 2007
Oracle : OC4J : instalando e configurando no Windows
Para quem não conhece o OC4J da Oracle é um servidor de aplicações web java, atualmente nos últimos projetos que tenho participado o servidor utilizado no cliente é este camarada ae, então o jeito é desenvolver no ambiente de desenvolvimento usando ele para evitar qualquer eventual surpresa quanto ao funcionamento...
Obs.: versão que utilizei é o 10.1.3.x, arquivo .zip
no caso como era um arquivo zip, apenas foi necessário descompactar o arquivo em algum local no HD, após feito isso para colocar ele para funcionar foi necessário alterar dentro do diretorio /bin o arquivo utilizado para iniciar e parar o serviço setar 2 variáveis (isso fiz no oc4j.cmd, mas acredito que fazendo isso no oc4j, funcione para o Linux também):
- JAVA_HOME = ${ colocar o caminho de onde está o jsdk }
- ORACLE_HOME = ${ caminho de onde você descompactou o OC4J }
para iniciar o serviço utilizei o comando: oc4j.cmd -start
Nota: para facilitar criei no mesmo diretorio o arquivo oc4j-start.cmd, com o comando acima...
Obs.: Na primeira vez que você for executar o OC4J ele irá solicitar uma senha para o usuário oc4jadmin, defina uma senha que você não vá esquecer depois..., normalmente o pessoal na máquina local de desenvolvimento usa por padrão a senha admin
Nota: a porta padrão do servidor é a 8888
* Eclipse 3.x como WTP
realizei um teste no eclipse 3.2 com wtp 1.5.3 e no eclipse 3.3 com wtp 2.0, setando o servidor OC4J, em ambos ele conseguiu levantar o servidor e parar posteriormente, mas para levantar ele solicitou em uma janela popup na primeira vez, solicitou a senha para o usuário oc4jadmin, aquela que foi definida na primeira vez que o OC4J foi executado na máquina.
segunda-feira, 23 de julho de 2007
Eclipse : Web Tools Platform 2.0 : versão estável
Abaixo assinado : contra CPMF
agora sim parece que é sério e não apenas um boato roalando pela net...
o pessoal da FIEP está recolhendo assinaturas contra a CPMF
participe também desse abaixo assinato contra a CPMF
segue o [link direto]
mais informações [link]
o pessoal da FIEP está recolhendo assinaturas contra a CPMF
participe também desse abaixo assinato contra a CPMF
segue o [link direto]
mais informações [link]
Hibernate : usando SQL
um exemplo simples de uso de SQL no Hibernate
fonte [link]
package roseindia.tutorial.hibernate;
import org.hibernate.Session;
import org.hibernate.*;
import org.hibernate.criterion.*;
import org.hibernate.cfg.*;
import java.util.*;
/**
* @author Deepak Kumar
*
* http://www.roseindia.net Hibernate Native Query Example
*
*/
public class NativeQueryExample {
public static void main(String[] args) {
Session session = null;
try{
// This step will read hibernate.cfg.xml and prepare hibernate for use
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
session =sessionFactory.openSession();
/* Hibernate Native Query Average Examle*/
String sql ="select stddev(ins.invested_amount) as stdErr, "+
" avg(ins.invested_amount) as mean "+
" from insurance ins";
Query query = session.createSQLQuery(sql).addScalar("stdErr",Hibernate.DOUBLE).
addScalar("mean",Hibernate.DOUBLE);
//Double [] amount = (Double []) query.uniqueResult();
Object [] amount = (Object []) query.uniqueResult();
System.out.println("mean amount: " + amount[0]);
System.out.println("stdErr amount: " + amount[1]);
/* Example to show Native query to select all the objects from database */
/* Selecting all the objects from insurance table */
List insurance = session.createSQLQuery("select {ins.*} from insurance ins")
.addEntity("ins", Insurance.class)
.list();
for (Iterator it = insurance.iterator(); it.hasNext();) {
Insurance insuranceObject = (Insurance) it.next();
System.out.println("ID: " + insuranceObject.getLngInsuranceId());
System.out.println("Name: " + insuranceObject.getInsuranceName());
}
session.close();
}catch(Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
fonte [link]
terça-feira, 10 de julho de 2007
Oracle : SQL : exclusiva ( sentido de exclusão )
algo útil também é como realizar um SELECT onde tenha a necessidade de excluir da seleção dados que estejam presente em outra tabela...
por exemplo, selecionar todos os dados de uma tabela de produtos disponíveis onde essa lista de produtos não selecione novamente um produto que anteriormente foi adicionado a lista de interesse em outra tabela, tendo um cenário:
- tabela_produto ( COD, DESC )
- tabela_produto_selecionado ( COD_PRODUTO, COD_USUARIO )
por exemplo, selecionar todos os dados de uma tabela de produtos disponíveis onde essa lista de produtos não selecione novamente um produto que anteriormente foi adicionado a lista de interesse em outra tabela, tendo um cenário:
- tabela_produto ( COD, DESC )
- tabela_produto_selecionado ( COD_PRODUTO, COD_USUARIO )
SELECT * FROM tabela_produto
WHERE COD NOT IN(
SELECT DISTINCT COD_PRODUTO
FROM tabela_produto_selecionado )
Usando Displaytags
algo que normalmente vejo pelos foruns de programação a galera usando esse tal do Displaytags, atualmente no projeto que estou trabalhando também estou utilizando, enfim vai alguns links que lhe pode ser útil assim como foi para mim ;)
- Manual DisplayTag, por Guilherme Mello, disponível no Portal Java
como realizar configurações gerais:
- displaytag.properties
- Manual DisplayTag, por Guilherme Mello, disponível no Portal Java
como realizar configurações gerais:
- displaytag.properties
segunda-feira, 9 de julho de 2007
Oracle : SQL : INNER JOIN : mais de um campo
ainda continuando o tema, refazendo mais alguns testes verifiquei que o formato de SQL para INNER JOIN com mais de um campo como o abaixo:
funcinou, anteriormente no teste que havia feito tinha uma clausula errada no WHERE por isso não estava funcionando :P
SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON (
B.CHAVE1 = A.CHAVE1 AND
B.CHAVE2 = A.CHAVE2 AND
B.CHAVE3 = A.CHAVE3
)
WHERE
A.CODIGO = 1
funcinou, anteriormente no teste que havia feito tinha uma clausula errada no WHERE por isso não estava funcionando :P
sábado, 7 de julho de 2007
Oracle : SQL : OUTER JOIN : continuando...
bom sobre o post anterior, resolveu em partes mas ainda sim não acabou sendo muito útil
pois acabei tendo de relacionar no SQL mais outras 3 entidades/tabelas, ai a coisa ficou feia...
por enquanto a solução mais rápida foi fragmentar em 3 consultas separadas...
pois acabei tendo de relacionar no SQL mais outras 3 entidades/tabelas, ai a coisa ficou feia...
por enquanto a solução mais rápida foi fragmentar em 3 consultas separadas...
Oracle : SQL : OUTER JOIN
hoje brigando com as SQL para Oracle tive a necessidade de fazer um JOIN entre 2 tabelas, bom até tudo bem, normalmente os JOINs que faço usam apenas 1 única coluna, mas nesse caso eu precisava realizar um que considerasse 3 colunas, as quais são chave primária de uma entidade na base de dados e utilizadas como chave estrangeira na outra...
e fui eu lá tentar, na primeira tentativa, fui no INNER JOIN padrão:
porém essa SQL não me garantia a precisão dos dados recuperados e fui eu tentar ( tudo bem que está errado, mas as vezes cometemos erros hauhauhau )
e como era de se prever não funcionou...
até que com a ajuda de um colega do trabalho ele me sugeriu algo que chamava de OUTER JOIN o qual é o respectivo formato abaixo:
esse sim funcionou perfeitamente e me recuperou os dados de forma correta.
e fui eu lá tentar, na primeira tentativa, fui no INNER JOIN padrão:
SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON ( B.CHAVE1 = A.CHAVE1 )
WHERE
A.CODIGO = 1
porém essa SQL não me garantia a precisão dos dados recuperados e fui eu tentar ( tudo bem que está errado, mas as vezes cometemos erros hauhauhau )
SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A
INNER JOIN TB2 B ON (
B.CHAVE1 = A.CHAVE1 AND
B.CHAVE2 = A.CHAVE2 AND
B.CHAVE3 = A.CHAVE3
)
WHERE
A.CODIGO = 1
e como era de se prever não funcionou...
até que com a ajuda de um colega do trabalho ele me sugeriu algo que chamava de OUTER JOIN o qual é o respectivo formato abaixo:
SELECT
A.COLUNA1,
B.COLUNA2
FROM
TB1 A,
TB2 B
WHERE
B.CHAVE1 (+)= A.CHAVE1 AND
B.CHAVE2 (+)= A.CHAVE2 AND
B.CHAVE3 (+)= A.CHAVE3 AND
A.CODIGO = 1
esse sim funcionou perfeitamente e me recuperou os dados de forma correta.
sexta-feira, 6 de julho de 2007
Importância do uso de uma ferramenta de gerência de projeto
quando ocorre algum problema relacionado ao desenvolvimento onde falha a comunicação entre a equipe é que realmente percebemos a utilidade e necessidade de uma ferramenta de gerência de projeto para acompanhar o desenvolvimento e saber o que ocorre, quais problemas foram encontrados e FUNDAMENTALMENTE o que foi alterado...
pois pode ocorrer que uma alteração feito por outro desenvolvedor da equipe de desenvolvimento afete um outro caso de uso que inicialmente/aparentemente estava "correto", com isso podendo ocorrer que quando em um novo teste for verificar este mesmo caso de uso que estava funcionando, observar que agora está ocorrendo um problema...
e a grande questão nessa hora é: o que foi alterado?
bom caso não conheça nenhuma ferramenta do genero de uma olhada nessa: dotProject
problema com o dotProject em inglês? olhe então: dotProject-BR
pois pode ocorrer que uma alteração feito por outro desenvolvedor da equipe de desenvolvimento afete um outro caso de uso que inicialmente/aparentemente estava "correto", com isso podendo ocorrer que quando em um novo teste for verificar este mesmo caso de uso que estava funcionando, observar que agora está ocorrendo um problema...
e a grande questão nessa hora é: o que foi alterado?
bom caso não conheça nenhuma ferramenta do genero de uma olhada nessa: dotProject
problema com o dotProject em inglês? olhe então: dotProject-BR
quinta-feira, 5 de julho de 2007
quarta-feira, 4 de julho de 2007
Oracle : útil : selecionando próximo código
algo útil que de vez em sempre me esqueço, uma SQL para selecionar um próximo valor, normalmente utilizada para recupara qual o próximo valor de código a ser inserido na entidade/tabela, segue:
bom fica ae a dica ;)
SELECT nvl( max( COLUNA ), 0 )+1 COLUNA FROM ENTIDADE_TABELA
bom fica ae a dica ;)
segunda-feira, 2 de julho de 2007
Foz do Iguaçu - PR : WiMax
uma notícia interessante de hoje, que vi no O Globo Online - WiMax: rede sem fio transforma Foz do Iguaçu em cidade digital
bom eu enquanto ainda estava por lá já sabia do desenvolvimento da infra de rede sem fio da prefeitura, relacionado aos postos de saúde e escolas, mas não pensei que estavam planejando uma rede voltada a toda população...
referência WiMax : Wikipedia
bom eu enquanto ainda estava por lá já sabia do desenvolvimento da infra de rede sem fio da prefeitura, relacionado aos postos de saúde e escolas, mas não pensei que estavam planejando uma rede voltada a toda população...
referência WiMax : Wikipedia
Struts 1: utilizando html:select
hoje acabei tento um pouco de problema, com falta de conhecimento disponível momentaneamente ( hehe ), como de costume meu usando Webwork, Struts 2 e a maioria dos outros frameworks MVC web java, utilizo por padrão a interface List, porém a mesma nada de funcionar... bastou apenas mudar de List para um Vector e funcionou =]
o problema em si era na definição dos options:
o problema em si era na definição dos options:
<html:options collection="customers" property="id" labelProperty="name" />
PostgreSQL : configurando acessos
para habilitar o PostgreSQL que o mesmo seja acessível via rede é necessário realizar uma pequena configuração, no arquivo pg_hba.conf onde deverá ser definido as informações relacionadas ao IP, ou faixa de IP e método de Autenticação e no arquivo, postgresql.conf configurar: listen_addresses="*", isso irá fazer com que o PosgreSQL aceite conexões externas a máquina do servidor.
Curitiba : Peach Café
Java: novidades
* JSTL (Javascript template engine in Java)
[Sistema/Motor de template javascript em java]
JSTL é um projeto OpenSource de templates escrito em java
o qual utiliza javascript como template de programação de expansão.
* Ant Commander 1.1
É um gerenciador de arquivos escrito em java. O Ant Commander utiliza o Ant e commons VFS.
- Arquivos de sistema: Local, Zip, FTP, WebDAV, ...
- Forma de arranjo dos paineis como quizer
- Tudo é configurével( menu, toolbar,... )
- e mais funcionalidades [confira]
[Sistema/Motor de template javascript em java]
JSTL é um projeto OpenSource de templates escrito em java
o qual utiliza javascript como template de programação de expansão.
* Ant Commander 1.1
É um gerenciador de arquivos escrito em java. O Ant Commander utiliza o Ant e commons VFS.
- Arquivos de sistema: Local, Zip, FTP, WebDAV, ...
- Forma de arranjo dos paineis como quizer
- Tudo é configurével( menu, toolbar,... )
- e mais funcionalidades [confira]
domingo, 1 de julho de 2007
Dia 2 de Julho
mais um ano e mais um dia que me pergunto, será que algum ano chegará esse dia, em que estarei com um sentimento de alegria...?
João Gilberto - A Felicidade
Assinar:
Postagens (Atom)