Um pequeno exemplo de herança por meio de prototipação no Javascript,
note que utilizei o metodo __proto__ e não prototype.
Vulgarmente: "javascript orientado a objetos"
<html>
<head>
<script>
var Ponto=function(){
this.x=0
this.y=0
}
var Circulo=function(){
this.raio=10
this.__proto__ = new Ponto()
}
var Imagem=function(){
this.imagem="logo.png";
this.init = function(){
this.obj = document.createElement("img");
this.obj.src=this.imagem;
document.body.appendChild(new Object())
}
this.__proto__ = new Circulo()
}
function testar(){
var obj = new Imagem();
var circ = new Circulo();
circ.x=10;
alert('Image.imagem:'+obj.imagem+'\n Imagem.Circulo.Ponto.x:'+obj.x);
alert('Circulo.raio:'+circ.raio+'\n Circulo.Ponto.x:'+circ.x);
}
</script>
</head>
<body onload="testar()">
</body>
</html>
Arquivo para a categoria 'Ferramentas'
Code: Pequeno exemplo de Prototipação no Javascript
Publicado Outubro 28, 2009 javascript Deixar um ComentárioEclipse Basics: Adicionar e Remover Source Files Attachments (Java SRC Jars)
Publicado Outubro 23, 2009 eclipse Deixar um ComentárioBom essa é bem básica, mas como muitas vezes fui perguntado disso e nunca sabia responder com certeza (A configuração do eclipse as vezes não é intuitiva).
Tentarei explicar com todas as palavras pra facilitar algum colega que esteja buscando no google:
“- Adicionei o src/source/fontes errado para uma classe java. Quando cliquei F3 para ver o código da classe xxx porém eu só tinha o binário e apareceu o Class File Editor – Source not found então cliquei em Attach Source… e selecionei o source errado (versão errada). Como faço para remover o source errado?”
A resposta está na imagem a seguir:

- Clique nas propriedades do projeto
- abra a aba > Java Build Path
- abra a aba > Libraries
- Selecione o jar que você errou e edite ou remova Source Attachment
Espero que esse post tenha te ajudado a perder menos tempo com esse detalhe ;]
Code: Acessar URL via Proxy Autenticado no Java
Publicado Outubro 21, 2009 java Deixar um ComentárioOntem fiquei curioso em saber como acessar um endereço web por através de uma conexão em um proxy autenticado então achei algumas referencias na net e fiz esse pequeno exemplo:
a seguir o código, que exibe uma caixa de dialogo para entrar com a senha:
ProxyTeste.java:
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.PasswordAuthentication;
import java.net.URL;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.xml.ws.http.HTTPException;
public class ProxyTeste {
public static void main(String[] args) throws HTTPException, IOException {
urlDump("http://www.alandaniel.com.br");
}
public static void urlDump(String URLName){
try {
DataInputStream di = null;
byte [] b = new byte[1];
// INFORMAÇÕES DE PROXY, alterar para suas informações de proxy
System.setProperty("http.proxyHost","10.15.54.10") ;
System.setProperty("http.proxyPort", "8080") ;
// AUTENTICAÇÃO DE PROXY
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
JTextField jtf = new JTextField();
JPasswordField jpf = new JPasswordField();
if(JOptionPane.showConfirmDialog(null, new Object[]{jtf, jpf}, "Senha:", JOptionPane.OK_CANCEL_OPTION)==0){
String usuario = jtf.getText();
char[] senha = jpf.getPassword();
return new PasswordAuthentication(usuario,senha);
}else{
System.exit(0);
return null;
}
}});
//REALIZA AS CHAMADAS
URL url = new URL(URLName);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
di = new DataInputStream(con.getInputStream());
//IMPRIME CONTEUDO
while(-1 != di.read(b,0,1)) {
System.out.print(new String(b));
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Fonte: Google…
Tarefa simples, para instalar o conjunto de plugins para edição PHP no eclipse siga os seguintes passos:
acesse o menu:
Help > Instal new software…
em Work With (Trabalhe com), selecione:
EPP Packages Repository – http://download.eclipse.org/technology/epp/packages/galileo
marque, e clique next, finish e ao finalizar clique em reiniciar o eclipse:
EPP PHP Feature
talvez seja necessário atualizar o eclipse, isso é possivel no menu Help>Check for updates
Jython: Pequeno exemplo usando java.awt
Publicado Setembro 18, 2009 Python Deixar um ComentárioTags: AWT, Frame, GUI, java, Jython, MouseListener, Panel, Python
Estou estudando Jython e um dos exercícios do curso (EAD) era fazer essa interface, coisa simples, resolvi disponibilizar:

O código segue a seguir, para executar é necessário ter o Jython instalado (apt-get install jython) e invoca-lo da seguinte forma:
$ jython Desenho.py

Código copiavel (atenção!!organize a identação pois é Python ;] ):
#!/usr/bin/env python
from java.awt import *
from java.lang import *
#Classe do exercicio
class Desenho(Panel):
clicked = None
dots = []
def __init__(self):
Panel.__init__(self, mouseDragged=self.Pressionado)
dim = Dimension()
dim.size=400,240
self.preferredSize = dim
self.background = Color.BLACK;
g = self.graphics
#self.addMouseListener(Click())
def Limpar(self, event): # Botao que limpa
g = self.graphics
g.clearRect(0, 0, 400, 300);
def Pressionado(self, event):
g = self.graphics
g.setColor(Color.white)
g.fillRect(event.x, event.y, 2, 2);
self.paint(g);
#Metodo para o botao “X”
def exit(event):
System.exit(0)
#Janela
frame = Frame(“Desenho”,windowClosing=exit)
frame.size = 400, 300;
desenho = Desenho()
frame.add(desenho)
frame.layout = FlowLayout()
#Botao limpar
button = Button ( “Limpar”, actionPerformed = desenho.Limpar)
dim = Dimension()
dim.size=400,25
button.preferredSize = dim
frame.add(button)
frame.visible = 1;
Maven: Alterar “/src/main/webapp” no arquivo “pom.xml”
Publicado Julho 31, 2009 java 1 ComentárioTags: java, maven, webapp
Problema: Necessidade de alterar o diretório padrão dos fontes de aplicação web (js, css, jsp,…) de um projeto Maven de “src/main/webapp/” para “context/”
Solução: Definir a configuração warSourceDirectory para o plugin “maven-war-plugin”
Problem: Change standard directory for web application sources on a maven project from “src/main/webapp/” to “context/”
Solution: Define the config warSourceDirectory for the “maven-war-plugin” plugin
Ferramentas envolvidas: Eclipse, NetBeans, M2Eclipse (plugin maven para eclipse)
Descrição:
O padrão para códigos de fonte de aplicação web (js, css, jsp,…) é “/src/main/webapp” como descrito em http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html,
porém existem casos em que se mostra necessário alterar a localização, como por exemplo na minha empresa, que usar como padrão o diretório “context/”.
Quando trabalhamos com um projeto web devemos definir o packaging como war “<packaging>war</packaging>”, quando isso é feito o maven já sabe que terá que usar o plugin “maven-war-plugin” para trabalhar com esse projeto, assim devemos nos preocupar em configurar as propriedades do plugin, como descrito em http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html,
porém existe uma pequena confusão entre webappDirectory e warSourceDirectory, para que o NetBeans e o M2Eclipse(Eclipse) reconheçam esse diretório Web Pages/Web Resources é necessário que <warSourceDirectory> seja especificado,como no exemplo a seguir:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-1</version>
<configuration>
<!--warSourceDirectory>src/main/webapp/</warSourceDirectory-->
<warSourceDirectory>context/</warSourceDirectory> <!--Atencao: path relativo, sem barra no inicio -->
</configuration>
</plugin>
</plugins>
</build>
Dessa forma o projeto ficará independente de IDE, podendo ser aberto no NetBeans ou importado no Eclipse.
Para atualizar as configurações de projeto do eclipse se baseando no pom.xml clique com o botão direito no projeto > Maven > Update Project Configuration
//!\ ATENÇÃO: Caso existam declarações de <resources> aprontando para algum diretório, no escopo build, estes serão enviados para diretórios diferentes do desejado, pois uma vez já enviados os arquivos o maven não os envia novamente
O objetivo desse post é registrar uma maneira de alterar a senha de root quando perdida.
Para isso alteraremos algumas linhas de comando no grub logo na inicialização:
- Reinicie a maquina e quando o grub aparecer pressione a letra “e“;
- selecione a linha iniciada por kernel (deve ser a segunda) e pressione “e” novamente, será aberta a edição dessa linha;
- adicione no final da linha o seguinte comando:
init=/bin/bash - pressione enter
- selecione novamente a linha iniciada por kernel, caso não esteja, e pressione “b” para fazer boot
- quando o console carregar digite o comando a seguir:
mount -o remount,rw / - então altere o password usando: passwd root
- reinicie
Fontes:
http://www.vivaolinux.com.br/dica/Mudando-senha-de-root/
http://under-linux.org/f79577-grub-senha-root
http://forums.fedoraforum.org/showthread.php?t=92959
Java ClassNotFoundException javax.transaction.Synchronization
Publicado Novembro 6, 2008 java Deixar um ComentárioSolução: adicionar jta.jar no classpath
Java Transaction API: http://java.sun.com/javaee/technologies/jta/index.jsp
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
Exploded Deploy no Eclipse
Publicado Novembro 5, 2008 eclipse 5 ComentáriosTags: 3.4, deploy, eclipse, exploded, ganymede, java server tools, jboss, publish, server
Configuração do plugin Server Tools.
Existem duas modalidades de deploy um arquivo compactado ou um diretorio, ambos com a extensão .war
A configuração padrão do Eclipse Ganymede para o Jboss é um arquivo compactado (ex: nomedoprojeto.war)
Para que o eclipse faça deploy de um diretório ao invés do arquivo compactado, você deve alterar as configurações do arquivo jboss323.xml, que no caso da distribuição eclipse-jee-ganymede-SR1 se encontra em ./plugins/org.eclipse.jst.server.generic.jboss_1.5.205.v200805140145/buildfiles/jboss323.xml
faça um backup desse arquivo e altere-o como a seguir:
<project name="deployextension" default="deploy.j2ee.web" basedir="."> <property name="pause.deploy" value="10"/> <property name="pause.undeploy" value="5"/> <!-- Configuração de dist <target name="deploy.j2ee.web"> <jar destfile="${project.working.dir}/${module.name}.war"> <zipfileset dir="${module.dir}"> <include name="**/*.*"/> <exclude name="**/*.war"/> </zipfileset> </jar> <move file="${project.working.dir}/${module.name}.war" todir="${server.publish.dir}"/> <sleep seconds="${pause.deploy}"/> </target>--> <!-- Configuração Para Exploded Deploy--> <target name="deploy.j2ee.web"> <delete file="${server.publish.dir}/${module.name}.war" failonerror="false" /> <mkdir dir="${server.publish.dir}/${module.name}.war" /> <copy todir="${server.publish.dir}/${module.name}.war"> <fileset dir="${module.dir}"> <include name="**/*.*" /> <exclude name="**/*.war" /> </fileset> </copy> <sleep seconds="${pause.deploy}" /> </target> <!-- --> <target name="deploy.j2ee.ejb"> <jar destfile="${project.working.dir}/${module.name}.jar"> <zipfileset dir="${module.dir}"> <include name="**/*.*"/> <exclude name="**/*.java"/> </zipfileset> </jar> <move file="${project.working.dir}/${module.name}.jar" todir="${server.publish.dir}"/> <sleep seconds="${pause.deploy}"/> </target> <target name="deploy.j2ee.ear"> <jar destfile="${project.working.dir}/${module.name}.ear"> <zipfileset dir="${module.dir}"> <include name="**/*.*"/> <exclude name="**/*.java"/> </zipfileset> </jar> <move file="${project.working.dir}/${module.name}.ear" todir="${server.publish.dir}"/> <sleep seconds="${pause.deploy}"/> </target> <!-- Configuração de dist <target name="undeploy.j2ee.web"> <delete file="${server.publish.dir}/${module.name}.war" failonerror="false"> </delete> <sleep seconds="${pause.undeploy}"/> </target> --> <!-- Configuração Para Exploded Deploy--> <target name="undeploy.j2ee.web"> <delete file="${server.publish.dir}/${module.name}.war" failonerror="false" /> <sleep seconds="${pause.undeploy}"/> </target> <!-- --> <target name="undeploy.j2ee.ejb"> <delete file="${server.publish.dir}/${module.name}.jar" failonerror="false"> </delete> <sleep seconds="${pause.undeploy}"/> </target> <target name="undeploy.j2ee.ear"> <delete file="${server.publish.dir}/${module.name}.ear" failonerror="false"> </delete> <sleep seconds="${pause.undeploy}"/> </target> </project>
No mundo do software livre, encontrar uma ferramenta de desenvolvimento que atenda todas as suas necessidades e de forma eficaz é um enorme desafio, O Red Hat Developer Studio, talvez pelo fato de ser um release candidate de um software pago, possui alguns bugs, alguns na qual irei listar a seguir:
- Algumas vezes quando reiniciado, o RHDS perde a referencia para as libs de projeto, então por precaução você deverá adiciona-las manualmente clicando com o botão direito sobre o projeto > Properties > Java Build Path > Libraries > Add JARS… , encontre o local da sua pasta lib (ex: academico_secretaria/WebContentent/WEB-INF/lib) e selecione todas após clicando em OK.
- Servidor Jboss configurado automaticamente (Jbossas 4.2) gera muitos bugs
- Deploys em alguns momentos não são efetivos (essa caracteristica é dos plugins do eclipse)
- …