Cadastre-se Revistas DevMedia Cursos
 

Space de CARLOS EDUARDO DOMINGUES MAZZI
Busca Autor


Últimas 20 atualizações de CARLOS EDUARDO DOMINGUES MAZZI

Artigo - WaveMaker - Criando telas de Login e controle de Acesso

Criando telas de Login e controle de Acesso no WaveMaker Nesse artigo exploraremos o recurso de login e controle de acessos via banco de dados do WaveMaker.

Introdução

Trata-se de um controle para criação de uma tela de Login, onde seu sistema poderá conter o mínimo de segurança para limitar acessos indesejados.

Primeiramente vamos ter o conhecimento de uma demo que o próprio WaveMaker nos dá, veja:

1 - Clique na aba Security:


Figura 1.

Você em as opções de trabalhar com o DEMO (demonstração de como usar o login) ou diretamente no seu banco de dados, no nosso caso, primeiramente vamos usar a demo pra ver como vai ficar:

2 - Na tela de Security:


Figura 2.

2.1- Veja as opções, Demo, Database, LDAP e JOSSO:

  • Demo = Demo para apenas apresentar o recurso, e pode ser usado apenas para diagramação/prototipação de tela(demonstração);
  • Database = Usando um banco de dados num caso real;
  • LDAP = Protocolo de privilégios por diretório;
  • JOSSO = Serviço de Segurança baseado em Web-Application Secure;

3 - Selecione a opção DEMO e crie um usuário e senha nos respectivos campos, ou se preferir apenas testar sua aplicação, use a opção pré-definida "demo", (usuário), e "demo" (senha):


Figura 3.

Veja que nessa tela, temos que selecionar as opções de Enable Security e

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/05/2012 07:38:00





Artigo - Comandos Importantes Linux

Veja neste artigo uma lista de comandos no Linux.

Lista de comandos mais usados

Numa manutenção de rotina usa-se os comandos em momentos de monitoração e (ou) urgência:

  • ls: Lista todos os arquivos do diretório
  • df: Mostra a quantidade de espaço usada no disco rígido
  • top: Mostra o uso da memória
  • cd: Acessa uma determinada pasta (diretório)
  • mkdir: Cria um diretório
  • rm: Remove um arquivo/diretório
  • cat: Abre um arquivo
  • vi: Abre o editor vi(lê-se viai) para editar/criar arquivos

Comandos de Controle e Acesso

  • exit: Terminar a sessão, ou seja, a shell (mais ajuda digitando man sh ou man csh)
  • logout: Des-logar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell
  • passwd: Mudar a password do nosso utilizador (usuário logado)
  • rlogin: Logar de forma segura em outro sistema Unix/Linux
  • ssh: Sessão segura, vem de secure shell, e permite-nos logar num servidor remoto através do protocolo ssh
  • slogin: Versão segura do rlogin
  • yppasswd: Mudar a password do nosso utilizador nas páginas amarelas (yellow pages)

Comandos de Comunicações

  • mail: Enviar e receber emails
  • mesg: Permitir ou negar mensagens de terminal e pedidos de conversação (talk requests)
  • pine: Outra forma de enviar e receber emails, uma ferramenta rápida e prática
  • talk: Falar com outros utilizadores que estejam logados no momento
  • write: Escrever para outros utilizadores que estejam logados no momento

Comandos de Ajuda e Documentação

  • apropos: Localiza comandos por pesquisa de palavra-chave
  • find: Localizar arquivos, como por exemplo: find . -name *.txt -print, para pesquisa de arquivos de texto do diretório atual
  • info: Abre o explorador de informações
  • man: Manual muito completo, pesquisa informação acerca de todos os comandos que necessitemos de saber, como por exemplo man find
  • whatis: Descreve o que um determinado comando é/faz
  • whereis: Localizar a página de ajuda (man page), código fonte, ou arquivos binários, de um determinado programa

Comandos de Edição de Texto

  • emacs: Editor de texto screen-oriented
  • pico: Editor de texto screen-oriented, também chamado de nano
  • sed: Editor de texto stream-oriented
  • vi: Editor de texto full-screen
  • vim: Editor de texto full-screen melhorado (vi improved)

Comandos de Gestão de Arquivos e Directorias

  • cd: Mudar de diretório atual, como por exemplo cd diretório, cd .., cd /
  • chmod: Mudar a proteção de um arquivo ou diretório, como por exemplo chmod 777, parecido com o attrib do MS-DOS
  • chown: Mudar o dono ou grupo de um arquivo ou diretório, vem de change owner
  • chgrp: Mudar o grupo de um arquivo ou diretório
  • cmp: Compara dois arquivos
  • comm: Seleciona ou rejeita linhas comuns a dois arquivos selecionados
  • cp: Copia arquivos, como o copy do MS-DOS
  • crypt: Encripta ou Descripta arquivos (apenas CCWF)
  • diff: Compara o conteúdo de dois arquivos ASCII
  • file: Determina o tipo de arquivo
  • grep: Procura um arquivo por um padrão, sendo um filtro muito útil e usado, por exemplo um cat a.txt | grep ola irá mostrar-nos apenas as linhas do arquivo a.txt que contenham a palavra “ola”
  • gzip: Comprime ou expande arquivo
  • ln: Cria um link a um arquivo
  • ls: Lista o conteúdo de uma diretório, semelhante ao comando dir no MS-DOS
  • lsof: Lista os arquivos abertos, vem de list open files
  • mkdir: Cria uma diretório, vem de make directory”
  • mv: Move ou renomeia arquivos ou diretórios
  • pwd: Mostra-nos o caminho por inteiro da diretório em que nos encontramos em dado momento, ou seja um pathname
  • quota: Mostra-nos o uso do disco e os limites
  • rm: Apaga arquivos, vem de remove, e é semelhante ao comando del no MS-DOS, é preciso ter cuidado com o comando rm * pois apaga tudo sem confirmação por defeito
  • rmdir: Apaga diretório, vem de remove directory
  • stat: Mostra o estado de um arquivo, útil para saber por exemplo a hora e data do último acesso ao mesmo
  • sync: Faz um flush aos buffers do sistema de arquivos, sincroniza os dados no disco com a memória, ou seja escreve todos os dados presentes nos buffers da memória para o disco
  • sort: Ordena, une ou compara texto, podendo ser usado para extrair informações dos arquivos de texto ou mesmo para ordenar dados de outros comandos como por exemplo listar arquivos ordenados pelo nome
  • tar: Cria ou extrai arquivos, muito usado como programa de backup ou compressão de arquivos
  • tee: Copia o input para um standard output e outros arquivos
  • tr: Traduz caracteres
  • umask: Muda as proteções de arquivos
  • uncompress: Restaura um arquivo comprimido
  • uniq: Report ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
16/03/2012 09:40:00





Artigo - Descobrindo a JDK e atualizando no Linux

Após a aquisição da Sun pela gigante Oracle, temos tido algumas dificuldades em instalar os pacotes necessários para o trabalho junto ao Java.

Uma das dificuldades encontradas foi a instalação da nova JDK e JRE (quem não souber o que significam essas siglas por favor entre em um de nossos artigos sobre Java, para maiores esclarecimentos), que agora não é mais controlado pela Sun e sim tudo pela Oracle, e os seus pacotes também mudaram, de:

openjdk6 para jdk7.1.7.x (0nde "x" pode significar uma outra release);

O mais importante agora é saber qual é a sua versão atual do Java e conferir, caso não tenha nenhum instalado você pode começar instalando o pacote básico da versão anterior e depois atualizar, pois será assim que irei fazer nesse artigo.

1) Verificar a versão instalada:

digite:
$java -version

Deverá apresentar uma mensagem como essa:

java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) Server VM (build 21.1-b02, mixed mode)

Caso não apareça, ou dê alguma mensagem de erro, você precisará instalar o JDK e o JRE na sua máquina Linux

Instalando JDK6(versão anterior para depois atualizar)

Bom, como foi dito eu primeiramente vou instalar uma versão mais antiga, que já está prontinha pelo comando apt-get que já vem padrão no nosso linux (no caso Ubuntu, caso você também não tenha acesso ao apt-get você terá que atualizar o seu sistema para que tudo ocorra bem).

2) Instalar o JDK6.x( onde "x" é uma versão liberada pra você)

Digite:


$apt-get update

$apt-get install openjdk-6-x

Aqui se tudo estiver dando certo, você verá que o sistema estará baixando automaticamente e instalando para você o pacote do JDK6 (lembre-se que você precisará estar conectado na internet, é claro).

Depois de instalado você pode repetir o passo para instalar o JRE

Digite:
$apt-get install openjdk-6-jre-x 

Não é necessário visto que no pacote do JDK já contém o pacote do JRE, mas fica a dica caso precisar instalar separadamente ou ter certeza da existência dessa instalação no seu disco.

É importante saber que a instalação padrão, grava os arquivos no disco em uma pasta chamada.:

/usr/lib/jvm

onde você pode ir lá e ver seus pacotes Java já instalados e controlar todas as versões que mais gosta de trabalhar.

Atualizando para o JDK7

Agora vamos atualizar nossa JDK para uma versão mais nova, na verdade não iremos "atualizar" mas sim, instalar uma versão mais recente e manter a a

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/03/2012 15:05:00





Artigo - Convenções de Código Java

A quem se destina

Gerentes de TI, desenvolvedores, analistas de sistemas, documentadores, auditores e outros relacionados à organização de empresas de T.I

Qual a razão de saber convenções de código

Inúmeras razões, algumas delas:

  • 80% do tempo programadores, deveriam estar focados em regras de negócio, entendimento, estudos e outros 20% programando, sendo que ainda faltaria tempo para melhora do código;
  • Dificilmente um código será mantido "eternamente" pelo seu criador original;
  • Códigos bem escritos, bem descritivos, bem anotados aumentam a produtividade, diminuem a quantidade de treinamentos, facilita a leitura e agrada visualmente;
  • Se você vende seu código como produto, você deve ter certeza que ele é um produto bem testado, empacotado para ser entregue e que faz o que promete, entregando valor ao seu cliente;
  • Convenções padronizam métodos de usabilidade com boas práticas baseado no conhecimento e experiência de um corpo especializado na área;

Para que as convenções funcionem corretamente no seu ambiente de trabalho é ideal que todos sigam as conformidades dos padrões. Todos, isso deve ser levado como uma regra.

Comentários

/*
 * Classname             (nome da classe Java)
 * 
 * Version information   (versionamento)
 *
 * Date                  (Data e Hora)
 * 
 * author                (autor(res) da criação)
 * Copyright notice      (informações do método, pra que serve, idéia principal
 */

Package e Import Statements

Primeiro os pacote e depois os imports em seguida

package java.awt;

import java.awt.peer.CanvasPeer;

Note que o primeiro, pacote é um componente único, escrito em minúsculas e claro que você poderá fazer o uso da *(todos) em casos específicos, mas o ideal é que seja único diminuindo assim a gama de bibliotecas necessárias para futuros Deploys (implantações). Atualmente com, edu, gov, mil, net, org, ou uso em inglês de duas letras que identificam os códigos de países, conforme especificado na norma ISO 3166, 1981.

Composição de uma classe e Interfaces

# Part of Class/Interface Declaration Notas
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
14/03/2012 17:21:00





Artigo - Obtendo Informações do Sistema - Java

Obtendo informações do Sistema

Neste artigo iremos abordar como recuperar algumas informações do sistema pela classe java.util.Properties;

A quem se destina?

Programadores, Analistas, Suporte de Sistemas, Estudiosos da área e envolvidos em sistemas;

Monitoração

Assim como em outro artigo mostrei-lhes como monitores de forma reativa sistemas e links hospedados em um servidor, continuo nessa linha de monitoramento e recuperação de informações valiosas no nosso dia-a-dia.

Assim como é importante termos informações sobre variáveis de sistema, dados sobre o S.O instalado e versões da nossa JVM (Java Virtual Machine), sendo portanto a motivação tal para a escrita desse artigo.

Para tal crie uma aplicação Java, Swing, nesse exemplo uso o NetBeans e desenho a interface com descrito na figura abaixo:

Desenho a interface
Figura 1

Para cada botão crio uma annotation (para saber sobre Java annotation) e seu código corresponde, vide o código abaixo:


package swingjava_2;

import java.util.Properties;
import org.jdesktop.application.Action;

/**
 *
 * @author mazzi

    @Action
    public void btnclick() {
       jTextField1.setText(getOS());       
    }

    @Action
    public void btnUserClick() {
        jTextField1.setText(getUser());
    }

    @Action
    public void btnJavaVersionClick() {
        jTextField1.setText(getJavaInfo());
        
    }

    @Action
    public void btnListClick() {
       jTextField1.setText(getPropertiesSystem());
    }

    
    public String getOS(){
        String osName = System.getProperty("os.name");
        String osVersion= System.getProperty("os.version");        
        return " Instalado.:"+osName+" Versão.:"+osVersion;       
    }
    
    public String getJavaInfo(){
        String javaI  = System.getProperty("java.version");
        String javaRe = System.getProperty("java.runtime.version");
        return "Java Version is.:" + javaI + " and Runtime Version is.:"+ javaRe;
      
    }
    
    
    public String getUser(){
        String osUser = System.getProperty("user.name");
        String osHome = System.getProperty("user.home");
        return "User.:"+osUser+" Diretório Padrão.:"+osHome;
    
    }
    
    
    public String getPropertiesSystem(){
        Properties p = System.getProperties();
        
        return p.toString();
    
    }

Para informações gerais sobre as informações java segue a tabela abaixo:

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
13/03/2012 18:00:00





Artigo - Testando Links - Java

Verificando a disponibilidade de links

Neste artigo veremos como podemos testar links sem ao menos precisar clicar neles atuando de forma dinâmica e ágil.

A quem se destina?

Programadores, analistas de Suporte, Administradores de Sites e gestores.

Pra que serve?

A idéia surgiu de uma necessidade em uma das empresas que presto serviço onde tínhamos de obter informações de diversos sites criados por nós de forma rápida e dinâmica. Sendo assim planejamos criar uma espécie de DashBoard (termo usado para análises de conteúdos em tempo real) onde teríamos em mãos o que realmente está acontecendo com cada uma de nossas aplicações, caso contrário sempre teríamos que ter um analista de suporte ou alguém do HelpDesk acessando continuamente os sistemas, verificando de forma reativa .

Essa motivação deu-se em algumas aplicações que por várias vezes no dia, em horários variáveis, um número de acessos gigantesco que por sua vez, acabava por derrubar o serviço e assim tínhamos que ficar analisando de forma reativa ou correr atrás do prejuízo. ”Digo isso pois muitas vezes temos que trabalhar com o que temos, nem sempre você terá todos os recursos de um super DataCenter nas mãos, você terá de se virar com o que tem."

Veja na figura abaixo um exemplo de como era feita a análise por sistema (individualmente);


Análise por Sistema antes
Figura 1. Análise por Sistema antes.

Nesse caso se quisermos saber como está ca

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
08/03/2012 14:58:00





Artigo - Exemplo: Tratamento de arquivos usando Swing

Continuando o nosso artigo de Tratamento de Arquivos usando Java+Swing, onde tínhamos ainda algumas classes de manutenção como essas que listo a seguir:

  • getName: retorna o nome do arquivo;
  • length: Mostra o tamanho do arquivo;
  • exists: Verifica se o arquivo existe;
  • canRead: Retorna true se um arquivo pode ser lido;
  • canWrite: Retorna true se um arquivo pode ser escrito;
  • renameTo: renomeia um arquivo;
  • isFile: Retorna true se o caminho é valido para um arquivo;
  • lastModified: Mostra a data de última alteração do arquivo;
  • delete: Apaga um arquivo;

Agora iremos fazer nesse mesma ordem os métodos listados acima:

1-GetName ( )

1.1-Crie um novo botão e coloque o "label" correspondente a sua ação, no nosso caso "Nome Arquivo":

Nome Arquivo
Figura 1

1.2-Escreva o código dentro de nosso pacote de comandos:

Listagem 1: GetName
package comandos;

import java.io.File;

public class NomeArquivo {
    
    public String GetName(String fi){
    File f = new File(fi);
    if(!f.exists()){
      System.out.println("Arquivo não encontrado");
      return "0";
    }
    return f.getName();
    }
}

2-Length ( )

2.1-Crie um novo botão e coloque o "label" correspondente a sua ação, no nosso caso "Tamanho (length)":

Tamanho (length)
Figura 2

2.2-Escreva o código dentro de nosso pacote de comandos:

Listagem 2: Length
package comandos;

import java.io.File;

public class VerTamanho    {
    
    public Integer GetSize(String fi){
    File f = new File(fi);
    if(!f.exists()){
      System.out.println("Arquivo não encontrado");
      return 0;
    }  
      return (int) f.length();
    }
}

3-Exists ( )

3.1-Crie um novo botão e coloque o "label" correspondente a sua ação, no nosso caso "Existe?":

Existe?
Figura 3

3.2-Escreva o código dentro de nosso pacote de comandos:

Listagem 3: Exists
package comandos;

import java.io.File;


public class SeExiste {
    public boolean existe(String file){
    File f = new File(file);
    if(!f.exists()){
      System.out.println("Arquivo não encontrado");
      return false;
    }
    return true;
    }    
}
 

4-CanRead ( )

4.1-Crie um novo botão e coloque o "label" correspondente a sua ação, no nosso caso "Can Read?":

Can Read?
Figu ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/03/2012 17:22:00





Artigo - Prioridade à Processos Linux

    Olá pessoal neste artigo veremos como dar prioridade a qualquer processo no Linux de forma transparente.

Introdução

    Por várias vezes temos que realizar a manutenção em alguns sistemas e são nessas vezes que notamos que por motivo de hardware, ou por necessidade imediata, precisaríamos de forma máxima de todo o processamento possível, para uma determinada tarefa. É nessa hora que poderíamos apelar juntando todo o processamento possível à um determinado processo, aquele ou outro.

    Por exemplo seu servidor de páginas precisa que seu banco de dados, à exemplo o MySQL, fosse mais dedicado possível, porém você tem restrições de memória, HD, tráfego e limitam o seu funcionamento num todo, o que você faz então?

    Nessa hora uma modificação de política de acesso aos dados processados pode te ajudar e muito, principalmente se houver várias reclamações quanto ao desempenho do seu banco de dados... o que ocorre normalmente em alguns servidores...

    Uma saída, paliativa é aumentar o nível de prioridade do processamento à um determinado tipo de processo que ocorre no seu servidor de dados, ou até mesmo no seu PC com linux instalado.

    Para ter uma noção do que estou dizendo, vamos acessar os processo de uma máquina fictícia para que você veja o nível de interação processamento-desempenho de um processo como o MySQL server.

 ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/03/2012 14:58:00





Artigo - Trabalhando com get/set no WaveMaker usando Widgets

Neste artigo iremos discutir um pouco sobre a manipulação de variáveis como setar valores, resgatar esses valores dentro dessa plataforma WaveMaker.

Variáveis

Entendemos como variáveis e elementos não constantes que dentre as mais diferentes razões e necessidades na programação necessitamos a todo o tempo. Sua definição na Wikipédia é:

"Variável, em Programação, é um objeto situado na memória que representa um valor ou expressão."

Em programação também é sabido que temos vários tipos de variáveis, que são de composição e tipos diferentes, como por exemplo as que usamos como tipos primitivos:

-Strings;
-Integer;
-Boolean;
-char;
entre outros...

Problema

Notei que depois de ter alguns artigos sobre o uso da ferramenta WaveMaker, alguns leitores pediram para que eu explicasse como abstrair variáveis de forma fácil e rápida, pois realmente não é da maneira convencional que estamos acostumados em outras IDEs.

Mãos à obra!


Exemplo 1 -Recuperando(get) - usando Widgets:

Crie um projeto novo e insira os componentes como descrito na figura abaixo:



fig.1

Note que inseri dois botões e um campo texto, para nosso primeiro exemplo.

No primeiro botão coloquei o nome, caption para get value, para pegar o valor que tiver no campo texto.

No segundo botão coloquei o nome, caption para set value, para colocar um valor qualquer no campo texto.

Agora selecione, clicando sobre o primeiro botão de get value e vá na aba propriedades e selecione a opção Events pois iremos atribuir um código que será disparado no evento onclick do botão.

Veja os passos também explicados na figura abaixo:



fig.2

Literalmente é isso. Na opção (marcada como o passo 3) dê um duplo clique sobre a opção onClick e selecione a opção JavaScript.



fig.3

Selecionando e abrindo a aba de código JavaScript.

Insira o código abaixo no método respectivo do seu botão:

button1Click: function(inSender) {
        try {
            ale
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
27/02/2012 16:45:00





Artigo - Introdução ao RFID

    A crescente demanda por produtos autômatos que permitem garantir segurança e integridade das informações quer sejam elas produtos logísticos ou até mesmo em pessoas o RFID está ou estará presente no nosso dia-a-dia, vermos mais informações ao decorrer deste artigo.

    

O que é RFID?

        É o acrônimo de Identificação por rádio freqüência. Em tese podemos através de mecanismos bem alinhados e produzidos com essa tecnologia, dispor de recursos de controle e identificação à distância.

    Cada etiqueta ou tag RFID é um transponder (abreviação de Transmitter-responder) dispositivo de comunicação eletrônico complementar e cujo objetivo é receber, amplificar e retransmitir um sinal em uma freqüência diferente ou transmitir de uma fonte uma mensagem pré-determinada em resposta à outra pré-definida de outra fonte),  pequeno objeto que pode ser colocado em uma pessoa, animal, equipamento, embalagem ou produtos.
    Certo é que o controle por rádio freqüência, já é visto que vários serviços e produtos, por exemplo: Aeromodelismo, Estacionamentos, Vias de estradas que usam o "sem parar"...
    O RFID, serve para basicamente identificar através de sinais de rádio, recuperando e armazenando dados remotamente, através de etiquetas de RFID. Veja a imagem abaixo:



fig.1

    Na imagem acima vemos uma etiqueta do tipo RFID a qual é normalmente usada para caixas de produtos, onde é colada e depois lida com  aparelho capaz de comunicar com o sistema RFID próprio.

    Hoje temos a capacidade de miniaturizar ainda mais essa etiqueta. Outra  idéia que tem se expandido por aí é de ser colocada em pessoas e animais. Mas no Brasil ainda não conheço nenhuma pessoa ou empresa que esteja usando em humanos. Em animais sim, é comum termos em sistemas pecuários, softwares capazes de "ler" a vida inteira de animais por sistemas de RFID, onde é colocado uma cápsula não-digestiva que fica dentro animal.

    

Onde podemos usá-la?

        Até o momento segundo as normas de radiofreqüência e engenharia, nos permitem usar em:

·    Cartões de crédito;
·    Animais;
·    Produtos(estoque);
·    Carros;
·    Pulseiras em humanos (mas se estuda ser colocado internamente);
·    Livros(bibliotecas);
·    Segurança;

Exemplos:




 fig.2

    Uma grande parte das empresas usam também na segurança de seus produtos como vi em algumas farmácias, supermercados que contém em suas portas, sistemas verificadores de RFID que soam um alarme caso alguém passar com seus produtos sem pagar por eles.



fig.3

    

Como funcionam?

        1)Os produtos devem conter tais etiquetas, coladas ou inseridas de alguma forma que possam ser lidas previamente e depois retiradas a ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
23/02/2012 00:00:00





Artigo - Criando uma aplicação HelloWorld no WaveMaker

    Veremos agora neste artigo como criar um pequeno projeto.

    Depois de instalado e configurado o seu WavaMaker, vai iniciar seus serviços nas portas, conforme ilustro na imagem abaixo:



    Aqui o meu servidor já está rodando, se o seu não estiver, clique em "Start" , ou re-instale e veja se algo deu errado.

    Caso tenha dado certo, você verá uma tela como essa onde você poderá iniciar um novo projeto, abrir um projeto existente e explorar vários exemplos o que é muito saudável para sua curva de aprendizado, uma vez que tem alguns vídeos auto-explicativos.



1) Crie um novo projeto (Create a New Project);

2) Dê um nome e escolha o estilo inicial de sua preferência, no nosso caso que iremos fazer um programa do tipo HelloWorld, então vamos escolher a primeira opção:



3)Clique em OK;

Overview da IDE



    Coloquei as cores de propósito afim de que nos sirvam legendas para nosso aprendizado, sejam assim as cores significam:

    A) Menu Superior(AZUL), com as opções padrões de Salvar, Editar, Colar, Exportar Projetos, Realizar Deploy, Preferências de Configurações, Importar bancos de dados, Criar bancos de dados, Executar Aplicação , Testar Aplicação, web Services, entre outros...

    B) Menu Lateral Esquerdo(VERDE) - , se dividindo em 3 abas:

        -PALETA, Componentes web freqüentemente usados, já ficam a sua disposição por padrão, bem como outros ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
17/02/2012 00:00:00





Artigo - Introdução ao WaveMaker

Conhecendo o WaveMaker

    Neste artigo veremos um pouco sobre essa nova ferramenta de edição e programação em Java através dessa IDE.

Sobre o WaveMaker

    Sua primeira aparição foi há um mês atrás quando a empresa Vmware anunciara a compra da ferramenta WaveMaker. Com promessas de integração de frameworks como Spring e até 96% menos código ela tem esse objetivo de ser rápida e compartilhada através de clouds.

    Baseada em Java sua IDE permite a criação de aplicações WEB com o mínimo de código e muito dos conhecidos drag-and-drop(arrastar e soltar).

    É bem verdade que trata-se de uma IDE ainda recente, criada para plataforma Web que promete o verdadeiro termo RAD(rapid application development) na prática.

    Não vamos entrar na questão se NetBeans, Eclipse ou outras IDES usam e abusam do termo RAD ou não se é melhor ou pior. Estamos aqui apenas para lhe apresentar mais uma ferramenta.

O que é o WaveMaker?

    É uma IDE visual, open source, com recursos de arrastar e soltar (drag-and-drop) que roda através de um navegador.

    Seus códigos gerados como client-side usam Ajax +Dojo JavaScript para comunicar-se com o server-side. Dados de comunicação com banco de dados são usados o Spring e Hibernate.

    Suporta HSQLDB, mas você pode usar uma variedade imensa de bancos de dados como MySQL, PostGresSQL, Oracle entre outros.

    Suporta WebServices.

    Possui duas versões: Open Source Community e a Enterprise sendo essa última paga e logic ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
16/02/2012 16:14:00





Artigo - Trabalhando com Singleton - Java

Neste artigo veremos sobre o uso de um design patterns chamado Singleton.
Antes de mais nada você precisa saber o que é e pra que serve os tais métodos de programação chamados de design patterns.

Design Patterns

São elementos da programação orientada a objetos (no nosso caso em Java, mas você pode se sentir à vontade para procurar em outras tantas linguagens como , C#, Delphi, entre outras...), pelo(s) qual(is) nos permite abstrair de maneira mais eficiente e porque não eficaz a recuperação de dados através de uma simples codificação própria para cada elemento de um Design Pattern.

Isso quer dizer que temos alguns Design Patterns para determinados tipos de ações e soluções.

O nome de Design Pattern vem da lógica que temos que ter "as melhores práticas para resolver problemas conhecidos".

Todo o conhecimento da P.O.O é exigido nessa questão, porém aqui vou tentar simplificar as coisas explicando um Design Pattern por vez, é o nosso caso agora com o SINGLETON(lembrando que você pode adaptar esse código para outras linguagens, pois o conceito é o mesmo, visto que é um padrão).

Informações sobre seu conceito e criação é totalmente obrigatório os conhecimento de:

-Polimorfismo;
-Encapsulamento;
-Abstração;
-Herança;
-Agregação;

Singleton

A idéia do cerce da questão em se falando de Singleton, é de que tenhamos uma classe-objeto capaz de ser instanciada(criada em memória pronta para seu uso) uma ÚNICA VEZ e com visibilidade e acessibilidade global dessa instância em um determinado escopo de projeto.

Vamos ilustrar a idéia:

Imagine que tenhamos um Janela, essa seria nossa classe, c ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
14/02/2012 15:05:00





Artigo - Montando Projeto: Tratamento de arquivos usando Swing

Iremos usar o Swing para a criação de telas no NetBeans.
Crie um projeto, no meu caso chamei de SwingArquivos1

e criei a seguinte tela no meu projeto:



fig1. Note que estarei usando um path, um caminho para um arquivo qualquer no meu exemplo estou buscando um arquivo chamado test.txt em C:\.

Criemos agora um pacote onde estarão instanciaremos mais tarde os comando de manipulação dos arquivos que quisermos. No meu projeto criei um pacote chamado, comandos.

Dentro desse pacote, vou colocar o nosso primeiro comando de localização de arquivo que deverá retornar true, quando encontrar o arquivo ou false caso contrário.

Veja nas figura2, como ficou a nossa hierarquia, do nosso pacote comandos, nossa classe de manipulação, chamada abrir, e veja os passos



fig.2

1,pacote;
2,Importe a classe java.io.file;
3,Nossa classe e seu método propriamente dito;

Executando o código

Abra sua tela swing, a qual ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
07/02/2012 00:00:00





Artigo - Nova Versão do CloudLinux

Cloud Computing

Pra quem não sabe, ou ainda não se familiarizou com o termo, prepare-se pois é o que muitas empresas e até mesmo usuários comuns (sem saber) estão usando aos montes por aí. Trata-se de servidores compartilhados, muitas vezes virtualizados, gerando maior capacidade de demanda e de tráfego de dados em rede, sim pela internet, no caso, dando a visão de rodar suas aplicações nas "nuvens", isso mesmo cloud = nuvens.

Por esse termo é conhecido como você hospedar softwares, arquivos, fotos e tudo mais num servidor, sendo assim plenamente acessível a quem você permitir o coordenar. É uma tendência, a exemplo disso é o iOS da Apple, o GoogleDocs entre outros. Outros exemplos pra quem quer e (ou) precisa se familiarizar: emails, bancos, segurança, etc...

Para maiores informações sobre Cloud Computing, acesse :
http://en.wikipedia.org/wiki/Cloud_computing?oldid=0

CloudLinux 6.1

Liberada com base no kernel 2.6.32 que acrescente maior segurança, estabilidade, e compatibilidade com outros produtos de terceiros.

É criado especificamente para hospedagem compartilhada. CloudLinux OS 6.1 é totalmente compatível com o Red Hat Enterprise Linux (RHEL) e CentOS, bem como a maioria dos painéis de controle principais, incluindo cPanel, Plesk, DirectAdmin e outros. Os hosts podem facilmente converter-se ao CloudLinux, facilmente em menos de 15 minutos.

Segundo Igor Seletskiy, CEO do grupo CloudLinux , " O CloudLinux 6,1 melhora ainda mais, e vem tornando-se a escolha para OS hosters compartilhados". "O suporte para o kernel Linux mais recente permite aos provedores de hospedagem, oferecer melhores serviços aos seus clientes, dando-lhes produtos compartilhados de hospedagem que melhor atendam as nec ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/02/2012 00:00:00





Artigo - Introdução - JSTL - Java

O que é JSTL?

JSTL é o acrônimo de JavaServer Pages Standard Template Library, o qual podemos usar para recuperar dados de forma transparente usando como componente básico da JEE o qual é muito usado na programação pura, como costumo chamar quando programamos diretamente e tão somente no JSP (Java Server Pages).

Pra que serve?

Pode servir, como dito no parágrafo anterior, como mecanismo básico de recuperação de dados, de um banco de dados, de um arquivo de contexto e (ou) XML (XML (Extensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais.) Para maiores informações sobre o XML, clique aqui. Ainda falando sobre o uso da JSTL é bem interessante frisar que podemos através dela (JSTL), usar de maneira embutida, o código de lógica Java, sem necessariamente usar uma classe Java. Porém através do uso de Beans, ficando bem mais transparente e organizado, mas cada caso é um caso e não vamos entrar nesse critério agora para não fugirmos do assunto JSTL, ok?
JSTL ainda nos cabe dizer que visa permitir que os programadores JSP usem tags em vez de código Java. Parece redundante isso, mas então porque vamos querer em algum momento não usar Java, ou uma classe mais especialista pra isso?
Calma, eu respondo, o uso do JSTL é bastante aceito e sugerido quando necessitamos de algo mais rápido, uma simples amostragem, como exemplos rápidos, consultas pré-ordenadas. Como exemplo de mal uso da programação, por vezes um profissional abusa do código junto ao HTML, ou HTML+JSP, enchendo de scriptlets (são comandos Java embutidos dentro do HTML, usando as tags de marcação ).

Veja o código abaixo para iniciarmos nossa comparação:

<html>
  <head>
    <title>Usando ScriptLets</title>
  </head>
  <body>
<%
  for(int j=1;j<=10;j++)
{%>
<%=j%><br/>
<%
}
%>
é dá certo também.... mas...poderia ficar melhor!
</body>
</html>
OK, teste esse código no seu editor Java preferido (Eclipse, NetBeans, etc...)
Depois de testado, vamos preparar nossa aplicação.

Preparando sua aplicação para funcionar com o JSTL

Como quase tudo em Java, JSP, EJB, sempre vamos precisar configurar nosso ambiente, nossa aplicação, servidor, etc... Para tal vamos precisar dos arquivos .jar, que são as bibliotecas do JSTL.

Você pode baixar aqui

Teste

Execute numa nova página o código descrito abaixo:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
  <head>
    <title>Agora vamos usar a JSTL?</title>
  </head>

  <body>
    <c:forEach var="i" begin="1" end="10" step="1">
      <c:out value="${i}" />

      <br />
    </c:forEach>
E agora? o que achou? 
</body>
</html>

Possíveis Erros!

E isso é bom ler meu amigo... Pode ser que sua aplicação não funcione de primeira, então, verifique os possíveis erros:
- Configurar corretamente sua jar na pasta de bibliotecas corretamente; ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
06/02/2012 00:00:00





Artigo - Linux Consumindo muita memória

Linux + Java consumindo muito espaço em disco?
    Olá pessoal, tenho recebido muitas dúvidas quanto ao uso do Java e seu uso abusivo de memória e espaço em disco. Até certo ponto eu concordo que o Java consome mais do que promete quando se fala em relação à memória, porém isso se torna realmente necessário quando falamos de aplicações mais robustas, com vários recursos de verificação e correções à falhas. Isso tem-se tornado ainda mais constante conforme vamos escrevendo, escrevendo e escrevendo os nossos código, visto que, a tendência é corrigirmos os nossos programas e claro aumentando cada vez mais as nossas linhas de código.
    Portanto, verificamos que com o tempo abusamos algumas vezes, no caso do Java do uso de Logs, uma vez que os mesmos são essenciais para analisarmos o uso, os acessos às classes, objetos etc. E com isso nos servidores normalmente superlotam os discos rígidos (HD), precisando assim uma manutenção continua na rotina do dia-a-dia.

Analisando o Espaço em Disco
    Primeiramente precisamos verificar o espaço em disco, que por sua vez, espaço e memória representam CUSTO, isso mesmo DINHEIRO.
    Desde os primórdios da informática, a preocupação com uso de memória, quer seja de armazenamento fixo ou temporário, é resultante de muita especulação, tempo e dinheiro, com isso temos sempre que analisar seu custo x benefício. Claro que quando mais memória, mais espaço em disco é melhor, o problema é que isso custa, e todo mundo, todas as empresas T.I ou não, querem a informática pra diminuir seus custos e não o contrário.
    Bom, para verificarmos a memória num servidor, ou máquina que você estiver usando Linux  e Java, use o console de comando (shell), digite:
$ df
   O comando df, serve para analisarmos o quando do espaço em disco está sendo usado no momento. Ele deve mostrar algo do tipo:
$ df
Filesystem           1K-blocks   
...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
04/01/2012 17:52:00





Artigo - Estrutura do DNS - Domain Name System - Parte 3

Estrutura do DNS e Design

Neste artigo, finalizamos o estudo de DNS no Active Directory onde veremos agora sua estrutura interna.

 

A estrutura do DNS é algo muito importante. Quando desenhos a estrutura do servidor DNS que iremos trabalhar, é importante manter em mente certos princípios e boas práticas que afetam consideravelmente a performance de como um servidor de nomes trabalha em toda a rede. Você deve ter percebido isso no nosso artigo anterior, onde configuramos passo-a-passo um DNS server.


O que nos credencia a irmos de encontro as melhores práticas no momento de criação da estrutura, é extremamente importante para termos um ambiente eficiente e produtivo. Isso é óbvio,  claro, e parece redundante, mas como eu costumo dizer ..." quem falha ao planejar, planeja em falhar...".

 

Um ponto chave no desenvolvimento de uma estrutura sadia de servidores DNS, envolve o uso das ADI, Active Directory Integrad zones.

 

Uma ADI zone é uma cópia  de uma zona de pesquisa direta que onde  está hospedado a um controlador de domínio. Este é um requisito importante pois os registros de DNS estão todos detidos no Active Directory, portanto, o servidor DNS precisa acessar o AD e hospeda uma cópia gravável na zona de DNS, onde os clientes (estações de trabalho, servidores e outros DCs).

 

Então, como é uma estrutura de DNS usando zonas integradas ao Active Directory?

 

 ADI zones só podem ser hospedados em hosts DCs. No entanto, muitos administradores querem colocar servidores de nome de domínio em locais remotos para fornecer um melhor desempenho de resolução de nomes e para diminuir o tráfego de rede. Dessa forma, os usuários não têm que atravessar a WAN para encontrar um servidor DNS. No entanto, um administrador

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
15/06/2011 00:00:00





Artigo - Entendendo a Configuração do DNS - Domain Name System - Parte 2

Configuração do Servidor DNS

Neste artigo, veremos mais um pouco de como funciona configuração interna de um servidor DNS e logo após veremos um resumo de uma configuração recomendada pela Microsoft.

 

DNS é bastante simples e direto. Contanto que você siga as regras básicas de configuração de DNS. No entanto, há certas configurações complexas que são importantes que você as conheça e lembre quanto a configuração de servidores DNS, que pode permitir que os administradores consigam obter um melhor controle sobre as operações e que podem fazer uma diferença na operação do DNS, ainda mais quanto aos registros e solução de problemas de problemas.


Uma das primeiras coisas a descobrir quando o DNS de aprendizagem no Active Directory é saber se uma propriedade é a do servidor DNS ou de uma outra região, também conhecidas como Zones (Zona onde fica a sua região por IPs).

 

Aqui listo algumas dicas para mantermos no caminho certo:

1.    Propriedades do Server: são propriedades padrões que se aplicam em todo ambiente suportado por um DNS, como Forwarding, Name Servers, root  e and logs.

2.  Propriedade de Zona(Zone properties): são propriedades específicas das quais podem variar de uma zona para outra como atualizações dinâmicas(dynamic updates), zone type (AD, Standard Primary or Secondary) e tipo de replicação.

Não entrarei muito a fundo nessas propriedade, neste momento, basta conhecê-las. Assim que formos caminhando, vamos clarear mais o nosso caminho.

Configurando

  1. Clique em Iniciar,  Programas, Ferramentas administrativas e clique em Gerenciador DNS. Você vê duas zonas no nome do computador: Zona de pesquisa direta e Zona de pesquisa inversa.
  2. O Assistente de Configuração do Servidor DNS será  aberto. Clique em Avançar.
  3. Clique com o botão direito em Zona de pesquisa direta e clique em Propriedades.
  4. Escolha seu servidor DNS como o servidor raiz. Clique em Avançar.
  5. Escolha para adicionar uma zona de pesquisa inversa. Clique em Avançar.
  6. ...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
12/06/2011 00:00:00





Artigo - Active Directory e DNS - Domain Name System - Parte 1

Active Directory e o Domain Name System (DNS)

Neste artigo, aprenderemos um pouco mais sobre o servidor de nomes o DNS e como ele funciona com o Active Directory. Encontrar informações das funções DBS, melhores recursos, melhores configurações,etc.

O que é DNS?

 

Podemos definir o sistema de nomes de domínios como a forma que nomes de um determinado domínio da Internet são localizados e traduzidos dos endereços IP. Um nome de um domínio é um significativo e fácil de lembrar ao contrário de um endereço na Internet, como um IP.


O Active Directory é funcionalmente, para seus usuários,  dependente de um serviço de DNS para funcionar, mas não a qualquer DNS. Active Directory é altamente dependente do serviço de DNS da Microsoft, encontrado no Windows Server 2000 ou Windows Server 2003 ou equivalentes. No entanto,

...
Exibição do post interrompida. Para ler conteúdo completo, clique aqui
10/06/2011 00:00:00





 

Especialista em Gestão de Projetos e Desenv. de Sistemas, Linux Certified, ITILv3- Certified, desenvolvedor e arquiteto de sistemas Java, delphi e C#. Fundador da DATACON.
Arquivo de atualizações
 2012
 2011
 2010
 2009

Estatísticas do Autor:
Número de posts: 66
Características dos posts deste autor:
Conteúdo:
Utilidade:
43 3
 
DevMedia Group - Tel: (21) 3382-5038 - www.devmedia.com.br
Todos os Direitos Reservados a DevMedia Group