Jump to content


Renan Gonçalves's Content

There have been 97 items by Renan Gonçalves (Search limited from 29/04/2023)



Ordernar por                Order  

#885006 Dao E Domain Object

Posted by Renan Gonçalves on 02/12/2007, 22:11 in Teoria de Programação

Fala galera, beleza?


Estou com um dúvida aqui na hora de implementar um novo projeto.
Para entender melhor eu vou usar como exemplo a classe Usuario que seria o objeto de dominio e o UsuarioDAO que é o DAO.

Como em todo projeto nós temos a camada de persistência e temos também os objetos de domínio.
Porém muitos frameworks implementam a persistência com os objetos de domínio. Onde a classe Usuario extende a classe UsuarioDAO e os métodos CRUD (e métodos como findAllBy* ou findBy*), tal como qualquer outro método referente ao objeto ficam no objeto.
Podemos usar como exemplo o CakePHP (classe Model extende AppModel), ZendFramework (voce extende a classe Zend_DB_Table), entre outros.

No Java uma prática comum é você separar essas responsabilidades.
Nós temos a classe Usuario com seus getters e setters (ou não) e seus demais métodos, menos a parte de persistência, que fica a cargo do DAO Layer.

Salvando um usuario com Objeto de domínio e DAO juntos (em PHP):
$usuario = new Usuario();
$usuario->blablabla...
$usuario->save();

De outra forma:
$usuario = new Usuario();
$usuario->blablabla...
$usuarioDAO = new UsuarioDAO();
$usuarioDAO->create($usuario);

Minhas pergunta são:
Qual dessas práticas você utiliza?
Qual acha mais "correta"?


Obrigado por ajudarem ... ;-)
[]'s

Só uma adição...
No Zend como pode usar o Zend_Db_Adapter como DAO, mas dessa forma você não teria o objeto de domínio, que no caso seria uma extensão de Zend_Db_Table. Mas é claro que você pode usar estes recursos da forma que você quiser.

E como não sou o dono da verdade me corrijam caso eu esteja errado.



#885052 Dao E Domain Object

Posted by Renan Gonçalves on 03/12/2007, 08:12 in Teoria de Programação

Opa Savior, valeu cara!

Exatamente, eu também acho a segunda opção melhor.
Tanto também no aspecto de performance, que pode ser obtida de melhor maneira com a segunda opção.
E como você, eu desenvolvi meu OO com Java, mas o engraçado é que os grandes frameworks em PHP fazem da primeira forma e por isso me veio essa dúvida.

No aspecto performance vamos analisar o seguinte:
Usuario extende a abstração de dados.
Logo cada instancia de Usuario herda todos os métodos desta abstração. Deixando cada instancia sobrecarregada e também "insegura", como você disse.

E do outro lado da moeda:
Usuario extende Object.
Cada instancia de Usuario possui apenas seus metodos e propriedades. E então temos o UsuarioDAO (singleton) que faz a persistência.


Pensando dessa maneira, é mais um motivo para eu considerar a segunda opção a melhor.


[]'s



#870051 Converter Programa Java Em Jsp

Posted by Renan Gonçalves on 11/09/2007, 23:33 in Java/JSP

Cara,


Depende de como está esse sistema. De como estão as camadas.
Se estiver com o padrão MVC fica fácil !

Não precisa "converter" o Java para JSP, apenas trocar a camada de view e adaptar a camada de controller para rodar num container web.

Sabe se utiliza algum framework ?
Está desenvolvido com padrão MVC ?


[]'s



#853736 Como Ordenar Um Sql

Posted by Renan Gonçalves on 08/06/2007, 19:46 in Sintaxe SQL

E se você invez de especificar o index dele você chama-lo pelo nome da coluna ?

Ou seja, trocar o ORDER BY 2 DESC por ORDER BY qtd_malha DESC.


[]'s



#846055 Como Fazer O Efeito Do Site Imaster?

Posted by Renan Gonçalves on 03/05/2007, 23:19 in HTML, CSS e Metodologias

Cara, essa div oculta eu não vi.

Mas o sublinhado é fácil, e é CSS.
Algo como:
a:hover {
	 text-decoration: underline;
}

E quanto a suposta div oculta pode ser um ToolTip.
HoverTips
ToolTip
jTip


[]'s



#845081 Como Faz Pra Exibir Uma Mensagem No Site Quando Não Tiver Nada No Mysq

Posted by Renan Gonçalves on 29/04/2007, 15:23 in PHP

Utilize a funcao mysql_num_rows, dessa maneira:

<?php
require_once 'comentarios/config.php';
$query = 'SELECT nome,email,comentario,data FROM comentarios ORDER BY id';
$result = mysql_query( $query ) or die(mysql_error());

if (mysql_num_rows($result) == 0) {
	echo "<span class='texto'><b>Nenhum registro</b></span>";
} else {
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ))
{
	
	 $nome = $row['nome'];
	 $email = $row['email'];
	 $comentario = $row['comentario'];
	 $data = $row['data'];
	
	

	 echo "<span class='texto'><b>Nome:</b> $nome</span><br>
				 <span class='texto'><b>Email:</b> $email</span><br>
					<span class='texto'><b>Comentario:</b> $comentario</span><br><hr size='1' width='75%' color='#D7EDFD' style='border:1px #B7B7B7 dashed' />
	
";
}
}


[]'s

?>



#845085 Como Dar Uma Quebra De Linha Automatico

Posted by Renan Gonçalves on 29/04/2007, 15:58 in PHP

Voce pode calcular quando for quebrar a linha fazendo uma conta e pagando a sua sobra.
Voce atribui $i = 0 e a cada novo fetch que voce fizer no resultado voce acrescenta +1 ao $i.
Com isso voce verifica a sobra da divisao de 5 por $i, se for igual a 0, voce quebra linha, se nao, continua. Veja um exemplo e aplique ao seu codigo:

for ($i = 0; $i < 21; $i++) {
	if ($i % 5 == 0)
		 echo '<br />';

	echo $i . ' ';
}


[]'s



#845087 Como Dar Uma Quebra De Linha Automatico

Posted by Renan Gonçalves on 29/04/2007, 16:06 in PHP

Faca o seguinte, coloque $i = 0; antes do while, e $i++; depois de cada loop.

+/- assim:
$i = 0;
while () {
	if ($i % 5 == 0)
		 echo '<br />';

   // seu codigo
  
   $i++;
}


[]'s
PS: Meu nome e RenaN e estou sem MSN no pc veio da minha mae em minas.



#869460 Codigorandomico()

Posted by Renan Gonçalves on 06/09/2007, 17:30 in Artigos, Dicas e Tutoriais de PHP

Simples ...

Quando $numeroRandomico é igual a strlen($caracteres) dá erro.
No Java seria um StringIndexOfBound ... algo assim.

Para corrigir troque a variável $totalCaracteres=strlen($caracteres); por:
$totalCaracteres=strlen($caracteres) - 1;


[]'s



#870220 Checar Se Há Ponto Ou Traço Em Um Campo

Posted by Renan Gonçalves on 12/09/2007, 15:34 in PHP

E procure utilizar echo tambem, ele é um construtor da linguagem, então tem mais capacidades que o print :)


Na verdade print também é !
Dê uma olhada em PHP Print na nota, logo abaixo do exemplo.

As diferenças sobre esses dois construtores pode ser visto em: What is the difference between echo and print?


[]'s



#870237 Checar Se Há Ponto Ou Traço Em Um Campo

Posted by Renan Gonçalves on 12/09/2007, 16:44 in PHP

E procure utilizar echo tambem, ele é um construtor da linguagem, então tem mais capacidades que o print :)


Na verdade print também é !
Dê uma olhada em PHP Print na nota, logo abaixo do exemplo.

As diferenças sobre esses dois construtores pode ser visto em: What is the difference between echo and print?


[]'s



Sabemos que print tambem é, mas não tem o essencial do echo, aceitar multiplos valores (com virgula)
Tem um tópico aqui que o host designer criou que tem uma breve discussão sobre o assunto.


Não vamos iniciar uma velha discussão, isso é um dos tabus do php (:

(y)


Nesse link que eu passei explica as diferenças que há entre os dois.
Porém, qual a diferença de se usar vírgula ou concatenar, no echo ?


[]'s



#846556 Chamando Variável De Outra Função

Posted by Renan Gonçalves on 06/05/2007, 21:01 in Javascript / DOM / AJAX / ECMAScript

Simples, defina soma antes da funcao1.

var soma = 0;
function funcao1()
{
	soma = 1 + 2;
}

function funcao2()
{
	alert(soma);
}

Ou ainda só passe o argumento para a segunda funcao.
function funcao1()
{
	 return 1 + 2;
}

function funcao2(soma)
{
	 alert( soma );
}

var soma = funcao1();
funcao2( soma );


[]'s



#855427 Carregar Javascript No Ajax

Posted by Renan Gonçalves on 18/06/2007, 15:51 in Ajax

Falke ... é bem simples...

Veja um exemplo sem Ajax:
eval("function mostra_alert() { alert('Aqui dentro do eval entraria o conteudo carregado'); }");

mostra_alert();

Nao testei, pode dar erro.


Mas a ideia eh essa.


[]`s



#846056 Carregar Antes

Posted by Renan Gonçalves on 03/05/2007, 23:24 in HTML, CSS e Metodologias

Minha idéia é a seguinte:

Logo nas primeiras linhas do código fonte você carrega os JavaScripts, os CSS e faz mostra uma BOX com loading, que pode ser uma ThickBox.
E você coloca um esquema pra quando a página carregar por completo esconder esse BOX e já era.

Sei lá .. é a lógica.
Agora é implementar.
Tem diversas formas de fazer. E essa é a que me veio em mente agora.


[]'s



#870223 Busca Google

Posted by Renan Gonçalves on 12/09/2007, 15:45 in PHP

Realmente klauss ele deve fazer isso mesmo !

Pesquisar se tem google na URL, ai ele já sabe que você veio do Google.
E para saber a palavra buscada é fácil !

Notem que quando você faz uma busca a URL fica parecida com:

http://www.google.co...a...uisar&meta=


Vendo o parametro q:

q=WMonline


Ou seja, a palavra que eu usei para fazer a busca.
Deve ser isso ;)


[]'s



#870351 Busca Google

Posted by Renan Gonçalves on 13/09/2007, 08:57 in PHP

Ai caramba, porque todo mundo erra o meu nome ??
É Renan !!! <_<


Mas bem ...
Cara, isso vem pelo referer.
É só você tratar essa string !

Veja o que veio num teste que fiz:
.....
	[HTTP_CONNECTION] => keep-alive
	[HTTP_REFERER] => http://192.168.0.1/projetos/scripts/testes/?q=Renanzinho%20homenzarrao
	[HTTP_COOKIE] => __utmz=224789850.1188240478.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utma=224789850.566357810.1188240478.1189629603.1189634259.6
....

O meu referer é:
http://192.168.0.1/projetos/scripts/testes/?q=Renanzinho%20homenzarrao

Então a lógica é:
  • Verificar se o referer é do Google
  • Tratar a url e pegar o parametro "q"
Para pegar o parametro você pode usar ER (Expressões Regulares).
Saiba mais sobre ER no Guia ER


[]'s



#875916 Bloquear Msn Linux

Posted by Renan Gonçalves on 15/10/2007, 10:17 in Distribuições Linux

Bom dia,


Aqui na empresa nós estamos com um grande problema... o uso excessívo do msn !
Para tal resolvemos adotar a tática de bloquear GERAL o msn.
Já vi várias dicas de como bloquear e até agora não consegui.

É um servidor Debian GNU/Linux com Samba e terminais Windows.
Não usamos Squid, mas iptables.

Possuimos um roteador para distribuir a rede, que está em eth0.
E um modem Speedy para conectar à internet, que está em eth1.
A conexão, após discada, fica em ppp0.


Agradeço quem puder ajudar.


[]'s



#857239 Biblioteca Gd

Posted by Renan Gonçalves on 27/06/2007, 23:07 in PHP

Amigo,


Uma boa dica para quem está começando é baixar pacote dos programas.
Para tal, acesse: http://www.xampp.org

Este, creio eu, que seja o melhor até o momento.


[]'s



#855381 Assinatura Do Fórum

Posted by Renan Gonçalves on 18/06/2007, 11:30 in Ouvidoria

Vamos ver ...


Editado
Realmente, funcionou.
Porem ainda deixou uns 20 px ali.... :rolleyes:


Show de bola cara ... isso ai ! Agora ficou ainda mais bonita !


[]`s



#855370 Assinatura Do Fórum

Posted by Renan Gonçalves on 18/06/2007, 10:19 in Ouvidoria

Olá Pessoal,


Queria falar que gostei muito da atual modificação da assinatura do fórum e que votei nela!
Entretanto acho que ela poderia ficar ainda melhor.

Veja bem .. quando postamos algum tópico / mensagem pequena cria-se um espaço vazio entre a assinatura e o fim do post.
Minha idéia é ... tirar esse espaço vazio, ou seja, fazer com que a assinatura acompanhe o fim do post, veja a imagem para mais detalhes.


Abraxx...


[]'s

Attached Thumbnails

  • imagem.png



#866670 Alterar índices De Matriz

Posted by Renan Gonçalves on 21/08/2007, 08:35 in Java/JSP

Ih cara.. isso aí não é Bolha não.. nem sei o que você fez, tá bem confuso..

Opa, claro que é bolha !
Como não ?!


Uma implementação do método pode ser visto aqui


[]'s



#845315 Adaptação Em Sistema De Upload.

Posted by Renan Gonçalves on 30/04/2007, 17:17 in PHP

Faça um laço em $_FILES e troque o nome de cada uma.

<?php
function minhaFuncaoQueTiraAcentosEEspacos($string)
{
	 $string = strtolower($string);

	 $noaccent = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyyby";
	 $accent = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿ";
	 
	 $string = strtr(trim($string), $accent, $noaccent);
	 $string = preg_replace('/[^a-z0-9-]/i', '-', $string);
	 $string = preg_replace('/-[-]*/i', '-', $string);

	 return $string;
}

foreach ($_FILES as $k => $v)
	 $_FILES[$k]['name'] = minhaFuncaoQueTiraAcentosEEspacos($v['name']);
?>

http://forum.wmonlin...howtopic=177053


[]'s




IPB Skin By Virteq