sábado, 23 de maio de 2009

Esse Aqui Eu Recomendo: Virtual Box

Já era de se esperar que eu falaria do VirtualBox nesta seção do blog, mais cedo ou mais tarde, então decidi falar mais cedo por conta do post do nosso amigo Allan (Virtual Box 2.2 para Ubuntu 9.04 (Máquina Virtual)). Bem, não sei so vocês já utilizaram algum software de virtualização, mas caso alguém necessite usar um, com certeza eu recomendo o VirtualBox.
Um ponto muito forte que eu posso citar do VirtualBox é a Simplicidade e Usabilidade da Interface dele, é realmente muito simples e intuitiva. Aqui você encontra uma descrição mais detalhadas das prncipais funcionalidades dele.
O VirtualBox tem uma versão OpenSource (GPL) e uma versão de uso pessoal (PUEL), mas freeware do mesmo jeito. Como eu sempre falo em todos os posts da seção "Esse Aqui eu Recomendo", não sou eu quem fala que esse software é muito bom mesmo, mas são fatos, como o que o DesktopLinux publicou, informando que o VirtualBox é o terceiro mais utilzado para rodar aplicações para Windows no Linux. Veja aqui o gráfico.
Os possíveis usos da VirtualBox tendem ao infinito, mas só aqui no Blog já temos alguns relatos de uso desse software para atividades diversas: Rodar aplicações Windows através de um Linux, Mac ou Solaris, acessar o banco do brasil a partir de uma estação de trabalho 64 Bits, Criar máquinas virtuais com servidores (Web, SGBD, Proxy, Firewall e etc) para desenvolvimento/testes e muito mais....
Eu não vou colocar tutoriais sobre instalação/uso do VirtualBox porque além de serem poucos os existentes, não conseguem atingir o objetivo que nós achamos importantes em tutoriais desse tipo, mas não se preocupem, Allan Charles, o nosso VirtualBoy, está desenvolvendo uma série de posts para que eles se complementem como um tutorial desse software.
Até a próxima pessoal...

sexta-feira, 22 de maio de 2009

Virtual Box 2.2 para Ubuntu 9.04 (Máquina Virtual)

Olá pessoas, vocês já leram por aqui sobre como solucionar problemas usando máquina virtual. Hoje vamos falar sobre como instalar, no Ubuntu 9.04, essa maravilhosa ferramenta, a Virtual Box 2.2, que pode nos ajudar em várias situações. Então, mãos a obra, ou melhor, ao teclado.

Passo 1:

Habilitar no sources.list o repositório onde encontraremos o arquivo da virtualBox 2.2 para download. Isso pode ser feito ou pelo console ou pela interface gráfica, aqui faremos pela interface gráfica.

Clique em, Sistema → Administração → Gerenciador de Pacotes Synaptic. Na tela do gerenciador que se abriu, clique em, Configurações → Repositórios. Na tela de Canais de Sotfware que acabou de abrir navegue para a aba de Programas de Terceiros, clique no Botão Adicionar e coloque no campo Linha do APT o texto: deb http://download.virtualbox.org/virtualbox/debian jaunty non-free. Clique em Adicionar Canal e feche as janelas de Canais de Software e Gerenciador de Pacotes Synaptic.

Figura 1: Mostra a nova linha inserida após a atualização do sources.list

Passo 2:

Pegar a chave de autenticação para o repositório de onde vamos obter a Virtual Box. Desta vez faremos via console.

No seu console digite: wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -, pressione Enter e aguarde a máquina processar. Ao termino do processamento vá até a janela de Canais de Software, da mesma forma que fez no passo 1, e veja que na aba de autenticação terá a linha da chave para a Virtual Box, conforme mostra a figura 2 logo abaixo.

Figura 2: Mostra a chave de autenticação para a virtual box.


Atualizar os cabeçalhos de novos pacotes a serem instalados. Usaremos o console mais uma vez.

No seu console digite: sudo apt-get update, pressione Enter e aguarde a atualização.

Passo 4:

Instalar a Virtual Box. Agora que ninguém lembra mais do mouse, volte ao seu console e digite: sudo apt-get install virtualbox-2.2, pressione Enter e aguarde a máquina terminar o processamento.

Ao termino do processamento, e se tudo ocorreu bem, sua Virtual Box já estará disponível no Menu Aplicativos → Sistema.

Para não enfrentar problemas de permissão para montar unidades de CD/DVD, pendrives etc., basta colocar o comando gksu na frente do lançador da máquina virtual, conforme mostra a figura a baixo. Faça isso antes de qualquer nova máquina virtual.

Figura 3: Mostra as propriedades do lançador da máquina virtual.

Por fim, uma ilustração da Virtual Box instalada aqui na minha máquina.

Figura 4: Virtual Box rodando com dois S.O. Instalados.

Bem, espero ter ajudado. Agora vou ali beber uma coca-cola e breve falaremos sobre dicas para melhorar a usabilidade da Virtual Box, um forte abraço a todos.

Lógica Básica

Galera, pra dar início as minhas postagens aqui no blog, proponho um simples desafio como distração. A proposta é criar uma "class LogicaBasica" que implemente uma solução para informar o resultado de uma subtração entre "x" e "y" sendo que só é permitido utilizar o operador de adição para os cálculos.

Certificação JAVA: Sobrecarga de construtores


Bom pessoal, hoje vamos começar aqui no blog uma série de posts com dicas para certificação Java SCJP, Certificação com o JLiVe. Como estou começando a estudar para conseguir esta certificação, estes posts vão servir tanto para mim quanto para quem tem o mesmo objetivo.

Vamos então:

Sobre construtores, considere o código abaixo.

1.   public class Teste
2. {
3. public Teste(String str){
4. System.out.println ("Teste(String) executado");
5. }
6. public Teste(Object obj){
7. System.out.println ("Teste(Object) executado");
8. }
9. public Teste(){
10. System.out.println ("Construtor sem argumentos executado");
11. }
12. public static void main(String[] args) {
13. Teste teste = new Teste(null);
14. }
15. }
Qual a opção correta?
  1. chama o construtor public Teste(String str)
  2. chama o construtor public Teste(Object obj)
  3. chama o construtor public Teste()
  4. Código não compila, nenhum construtor adequado definido.
A resposta correta é a número 1. Tanto o construtor que recebe Object e o que recebe uma String são considerados pelo compilador como elegíveis. O null apesar de ser nada... ele está sendo passado como parâmetro, é uma referencia vazia, por tanto o construtor sem parâmetro não é chamado.
Entre o String e o Object o compilador escolhe o mais especifico. Mais o que string tem a ver com null? O null é nada, nada pode ser string ou object (?)... O string é escolhido pois sempre que vc passar uma string você vai poder fazer cast pra object, mas nem todo object vai poder ser uma string.

Dúvidas???
Falei bobagem???

Então entre em contato... através de comentário


abraços.

quinta-feira, 21 de maio de 2009

Skype para Ubuntu 64bits (Linux)


Já foi postado aqui no blog por Diego (leia aqui) um macetinho pra fazer o skype funcionar na arquitetura 64bits. Contudo, navegando pelo skype comunity, achei um link para o skype na na arquitetura 64bits aparentemente sem armengues.

confiram: http://www.skype.com/go/getskype-linux-ubuntu-amd64


OBS.: Ainda não testei a versão informada acima, pois, aqui no trabalho, minha máquina é de 32bits.

Deixem seus comentários a respeito

quarta-feira, 20 de maio de 2009

1 Ano de Blog!

Como não poderia deixar de ser, estou aqui para lembrar a todos do primeiro aniversário do JaLiVE (Java Linux e Vatapá Experts). Tudo começou dia 11/05/2008 com o post Ubuntu + Active Directory: Um guia simples e definitivo, ainda éramos eu e Mário apenas no blog, mas mesmo assim fizemos um trabalho legal. De lá pra cá o blog só fez crescer e mais pessoas fizeram e fazem parte dessa história. Atualmente o quadro de colaboradores do blog é:
  • Allan Charlles
  • Diego Barreto
  • Ian Laborda
  • Mário Jorge
  • Murilo Caetano
Nós esperamos que o blog cresça cada vez mais e possa trazer mais conteúdo para todos, incluindo nos mesmos... :)
Vida eterna ao JaLiVE!

MacOs Hospedeiro e Windows Virtual

Eu precisei instalar o Windows numa máquina virtual (VirtualBox) a partir de um MacBook (MacOs X). A máquina virtual estava beleza, a não ser pelo detalhe do teclado, pois o teclado do MacBook é diferente do teclado que o Windows esperava (por exemplo o teclado do MacBook não tem a tecla delete, tem apenas o backspace).
Tentando encontrar um software que resolvesse o meu problema eu encontrei o KeyTweak. Ele é um software free que consegue remapear teclas do teclado a fim de deixá-lo mais adequado à sua necessidade.

Apostila Fj21 da Caelum

Ontem resolvi acessar o site da Caelum, observei que a apostila gratuita que eles distribuem do curso de java web (FJ21), havia sido atualizada em fevereiro de 2009. Quando comecei a estudar java web essa apostila me ajudou muito e quando comecei a estagiar na área - em 2008 - meu treinamento foi praticamente baseado na apostila. Observei que a apostila está bem interessante. Uma das coisas que me chamou atenção de cara foi na seção "11.1 - Propriedades de páginas JSP" da apostila. Nesta seção eles destacam as novas propriedades permitidas pela API do JSP que são:

- Desativar Scriptlets nas páginas jsp.
<scripting-invalid>true</scripting-invalid>
Ao conversar com um colega de trabalho sobre esta possibilidade ele comentou "que bom, assim acaba com a macarronada nos jsp". Macarronada é o termo que algumas pessoas utilizam para qualificar essa prática de incluir programação nas páginas JSP. Quando pensamos numa macarronada temos aquela visão de tudo misturado, enrolado um no outro sem saber onde começa um ou termina o outro. Se você pensar em um sistema que utiliza código na pagina JSP para fazer conexão com um banco de dados é mais ou menos a mesma coisa... o lugar que vc devia utilizar apenas para apresentação, vc colocar código, fica um tanto quanto dificil de um outro programador dê manutenção no seu código.

- Desativar Expression Language
<el-ignored>false</el-ignored> //O padrão é que venha habilitado para desabilitar set true
Não sei em que situação isso seria útil, eu por exemplo utilizo bastante expression Language. Talvez alguns frameworks permitam que utilizem outras formas.

- Determinar a codificação dos arquivos de maneira genérica
<page-encoding>UTF-8</page-encoding>
Imagine toda vez que você criar uma pagina jsp ter que definir a codificação da mesma. Isso é meio chato, essa solução eu achei bastante prática.

- Incluir arquivos estaticamente antes e depois de seus JSPs:
<include-prelude>/antes.jspf</include-prelude>
<include-coda>/depois.jspf</include-coda>

Os velhos includes topo e rodapé. Aquela mesma história... ter que ficar incluindo em todas as páginas. Mais praticidade pra sua vida novamente ;)

Então, para configurar essas opções basta incluir a listagem abaixo no seu arquivo web.xml


<jsp-config>
<jsp-property-group>
<display-name> todos os jsps</display-name>
<description> configuracoes de todos os jsps</description>
<url-pattern> *.jsp</url-pattern>
<scripting-invalid> true</scripting-invalid>
<el-ignored> false</el-ignored>
<page-encoding> UTF-8</page-encoding>
<include-prelude> /antes.jspf</include-prelude>
<include-coda> /depois.jspf</include-coda>
</jsp-property-group>
</jsp-config>

Observem que eu destaquei a parte <url-pattern> pra chamar a atenção que além de permitir que você faça essa configuração para todos os arquivos .jsp, você também pode configurar para um arquivo específico.

Bastante interessante, não acham?

Por agora é só.

Abraços.

FONTE: www.caelum.com.br, curso FJ21