Ubuntu e Spotify, problemas com a barra (taskbar) que some

Bom, pela terceira, opa quarta, na verdade quinta vez tenho problema da barra, a borda, onde o fechar, maximizar, os controles da janelas somem.

Toda vez vou na net procurar a solução, resolvi deixar anotado aqui né, para que na sexta vez, saiba como fazer :).

Basta remover o diretório ~/.config/spotify/prefs.

Olha, antes de remover, fecho o Spotify e então removo a pasta, então abro novamente o Spotify e volta a funcionar.

Bom, é isso, espero que ajude mais alguém!!!

Fonte: https://community.spotify.com/t5/Desktop-Windows/Spotify-open-in-full-screen-cannot-access-taskbar-anymore/td-p/1044311

 

Member of em JPA

Tem coisas que a gente nunca esquece, não é o meu caso, sempre esqueço algumas sintaxes de JPQL, então, por quê não anotar para lembrar depois…

Para fazer uma consulta em uma lista do objeto, basta usar o “member of”, segue exemplo.

Exemplo 1
"select curso from Curso curso, Aluno aluno where aluno member of curso.listaDeAlunos and aluno = :aluno"

Exemplo 2
"select curso from Curso curso, Aluno aluno where aluno member of curso.listaDeAlunos and aluno in (:aluno)"

Aumentar memória tomcat

Muitas vezes nos deparamos com a tal JAVA HEAP SPACE ao fazer o deploy de uma aplicação no tomcat, depois de avaliar o que está causando o estouro, pois seu código pode conter algum problema, e chegar a conclusão que realmente é necessário aumentar a memória do tomcat, basta adicionar a seguinte linha

export CATALINA_OPTS=”-Xms256m -Xmx512m”

no arquivo TOMCAT_DIR/bin/catalina.sh no caso de Linux e TOMCAT_DIR/bin/catalina.bat no caso de windows.

Checkstyle

Checkstyle é uma ferramenta de análise estática de código utilizada no desenvolvimento do software para verificar se um código fonte Java está em conformidade com as regras codificação.

Ao desenvolver seguindo as regras, você terá um código com qualidade, legibilidade, reutilização e redução no custo de desenvolvimento. Os controles realizados limitam-se a verificar a apresentação do código, e não a lógica ou integridade do programa. Na prática, num primeiro momento pode não ser vantajoso cumprir todas regras, deve-se verificar quais são importantes para o projeto.

Checkstyle define um conjunto de módulos disponíveis, cada um dos quais prevê regras de verificação com um nível de rigor configurável (obrigatório, opcional …). Cada regra pode apresentar notificações, avisos e erros.

É possível verificar, por exemplo:

– Comentários Javadoc para classes, atributos e métodos;
– Convenções nos nomes dos atributos e métodos;
– Limite no número de parâmetros para métodos, quantidade de linhas;
– Presença obrigatória de cabeçalhos;
– A utilização dos pacotes importados, de classes;
– Os espaços entre caracteres;
– Boas práticas no desenvolvimento de classes;
– Código duplicado;

O checkstyle pode ser instalado através do Eclipse Update, adicionando um repositório com a seguinte url:

http://eclipse-cs.sourceforge.net/update/

Leitura recomendada

Programming style – http://en.wikipedia.org/wiki/Programming_style
Checkstyle – http://en.wikipedia.org/wiki/Checkstyle
Code Conventions for the Java Programming Language – http://java.sun.com/docs/codeconv/

Criando um servidor de versão no Linux (Ubuntu)

Mas, o que é e para que serve um software de controle de versão?

“Um sistema de controle de versão (ou versionamento), VCS (do inglês version control system) ou ainda SCM (do inglês source code management) na função prática da Ciência da Computação e da Engenharia de Software, é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões – histórico e desenvolvimento – dos códigos-fontes e também da documentação.”

by Wikipédia

Poderíamos, é claro, guardar todas as versões de todos os arquivos que criamos sem a ajuda de uma ferramenta de controle de versão. Porém, além do desperdício de um espaço considerável em disco, o Subversion armazena todas as versões de uma forma inteligente, guardando apenas as diferenças entre as versões. O que é muito mais vantajoso.

Para se trabalhar com um servidor de controle de versão, precisamos ter alguns conceitos em mente:

Repositório: Local onde o(s) projeto(s) será(ão) armazenado(s).

Trunk: Diretório onde se encontrará o projeto em fase de desenvolvimento (Dia a dia). O desenvolvimento do projeto começa aqui dentro.

Branch: Diretório destinado às fases de testes. Vamos supor o seguinte cenário, enquanto a Equipe A trabalha no desenvolvimento de novas funcionalidades da versão 1.0 do projeto, a Equipe B já inicia alguns testes para adicionar na versão 2.0 do projeto. Este projeto é de grande importância. Tudo o que for feito como forma de testar algo, sem comprometer o projeto como um todo, deverá ser colocado dentro deste diretório.

Tags: Diretório destinado às releases do projeto. Sempre que novas funcionalidades são adicionadas ao projeto e/ou bugs são corrigidos novas versões surgem dentro do diretório TAGS.

Vamos agora ao que interessa, instalar o SVN.

Vamos começar instalando apache, para que possamos acessar o svn remotamente através do protocolo http.

$ sudo apt-get install apache2

Para testar a instalação do apache, acesso a url http://localhost.

Vamos agora instalar o subversion

$ sudo apt-get install subversion subversion-tools

Ao final deste comando, o svn já estará instalado, para testar se a instalação foi ok, execute o comando:

$ svn –version

Você terá detalhes como a versão instalada e módulos disponíveis.

O próximo passo será criar um local para armazenar os arquivos do repositório, eu escolhi /home/svn, pois meu /home esta montado numa partição diferente da / (raiz) mas escolha um local do seu agrado.

Crie o diretório através do comando.

$ sudo mkdir -p /home/svn

Agora vamos criar ums estrutura básica.

$ sudo svnadmin create /home/svn/repositorio

Agora vamos instalar e configurar o módulo que permite o acesso via http.

$ sudo apt-get install libapache2-svn

O próximo é abrir o arquivo /etc/apache2/mods-available/dav_svn.conf.

$ sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

Descomente as seguintes linhas:

<Location /svn>

DAV svn

SVNParentPath /home/svn <- altera para o local que vc escolheu

AuthType Basic

AuthName “Subversion Repository Access”

AuthUserFile /etc/apache2/dav_svn.passwd

<limitexcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</limitexcept>

</Location>

Reinie o apache para que as alterações tenham efeito

$ sudo service apache2 restart

Agora você já pode acessar o svn através do navegador.

http://localhost/svn/repositorio/

Você verá uma tela com:

repositorio – Revision 0: /

Está tudo OK até agora, mas temos coisas a fazer ainda.

Antes de abrir o svn para os usuários, vamos alterar algumas permissões para que o apache possa gravar dados no diretório do repositório.

$ sudo chown -R www-data.www-data /home/svn

Vamos agora criar os usuário que terão acesso ao svn e poderão gravar dados no mesmo.

$ sudo htpasswd -c /etc/apache2/dav_svn.passwd usuario

Sigite a nova senha e confirme-a.

Basta agora você configurar sua IDE preferida para acessar o SVN através do endereço http://localhost/svn/repositorio ou http://ip-do-servidor/svn/repositorio.

Você pode e deve estar incrementando a parte de segurança do seu servidor com protocolo seguro e outros recursos.

Existe um projeto para tradução do livro oficial do subversion, que pode ser acesado livremente através da URL http://code.google.com/p/svnbook-pt-br/.

Acesse o projeto e inscreve-sa para ajudar nas traduções, faça parte da comunida open source.

Leituras recomendadas

http://pt.wikipedia.org/wiki/Subversion
http://code.google.com/p/svnbook-pt-br/
http://ariejan.net/2006/12/01/how-to-setup-a-ubuntu-development-server-part-1/

Subversion com Apache+SSL+BasicAuth no Ubuntu Server 8.04

Configurando Maven no Linux (Ubuntu)

Configurando o maven no linux

O Maven é um projeto da Apache Software Foundation que visa o gerenciamento e automação de projetos em Java semelhante ao Ant, mas possui um modelo de configuração baseado em XML.

Mais sobre o maven: http://pt.wikipedia.org/wiki/Apache_Maven

Vamos começar baixando o maven, visite o site (http://maven.apache.org/download.html) do projeto e baixe a última versão.

Descompate o arquivo numa pasta de seua preferência e no console, acesse a pasta bin

$ cd /home/vitor/Util/apache-maven-2.1.0/bin

Depois execute o comando

$ ./mvn -v

Você deve ter uma saída igual a esta

Apache Maven 2.1.0 (r755702; 2009-03-18 16:10:27-0300)
Java version: 1.6.0_13
Java home: /usr/lib/jvm/java-6-sun-1.6.0.13/jre
Default locale: pt_BR, platform encoding: UTF-8
OS name: “linux” version: “2.6.28-11-generic” arch: “i386” Family: “unix”

Caso o maven reclame do JAVA_HOME que não está “setado”, reveja sua configuração do java.

Clique aqui para acessar um tutorial de como configurar o java no linux.

Vamos agora colocar o maven no PATH.

Edite o arquivo .bashrc para que toda vez que a sessão for iniciada o mesmo ficar disponível.

$ gedit ~/.bashrc

# MAVEN
export MAVEN_HOME=/home/vitor/Util/apache-maven-2.1.0
export PATH=$MAVEN_HOME/bin:$PATH

Reinicie sua sessão, abra o console e execute o comando.

$ mvn -v

A saída deve ser algo parecido com isso

Apache Maven 2.1.0 (r755702; 2009-03-18 16:10:27-0300)
Java version: 1.6.0_13
Java home: /usr/lib/jvm/java-6-sun-1.6.0.13/jre
Default locale: pt_BR, platform encoding: UTF-8
OS name: “linux” version: “2.6.28-11-generic” arch: “i386” Family: “unix”

Configurando JAVA no linux

Como configurar JAVA no linux

Objetivo deste DOC: Instalar o JAVA no linux e deixá-lo disponivel em qualquer path do sistema.

Ambiente: Ubuntu 9.10 (32-bit)

Para instalar o java, é preciso primeiro ter o repositório multiverse habilitado no seu Ubuntu, para ativa-lo va em:

Sistemas -> Administração -> Gerenciador de Pacote Synaptic e

Configurações -> Repositórios e ative “Software restrito por c.. (multiverse)”

Ainda no Gerenciador de Pacote Synaptic clique em Recarregar.

Você pode fazer a instalção pelo próprio Gerenciador de Pacote Synaptic ou pelo console, iremos seguir pelo console.

– Instalação

No console, digite o seguinte comando

$ sudo apt-get install sun-java6-jdk sun-java6-plugin

Caso você tenha outras instalações do java, você pode configurar qual será a padrão para o SO através do comando

$ sudo update-alternatives –config java

– Configurando

Precisamos colocar a pasta bin que esta na pasta JAVA no path, para que os recursos (java, javadoc, javac) estejam disponiveis em qualquer ponto do sistema.

Via apt-get, a instalação do java será feita na pasta “/usr/lib/jvm/java-6-sun-1.6.0.15”, a versão pode variar, uma maneira de descobrir é executando o comando.

$ ls /usr/lib/jvm
java-6-sun java-6-sun-1.6.0.15

Agora execute o comando

$ export PATH=/usr/lib/jvm/java-6-sun-1.6.0.15/bin:$PATH

Isto seria o suficiente para que a nossa necessidade neste momento, para testar, execute o seguinte comando:

$ which java

A saída do console deve ser

$ /usr/lib/jvm/java-6-sun-1.6.0.15/bin

Outra maneira seria

$ java -version
java version “1.6.0_15”
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) Client VM (build 14.1-b02, mixed mode, sharing)

Temos informações como a versão instalada.

Para algumas aplicações, não basta apenas colocar o java no path, temos que setar algumas váriaveis para que funcione corretamente, vamos então setar a famosa JAVA_HOME.

No console, execute o comando

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15

Para conferir o resultado, execute:

$ echo $JAVA_HOME

A saída

/usr/lib/jvm/java-6-sun-1.6.0.15

Vamos fazer uma alteração no nosso comando que adiciona o java ao PATH.

$ export PATH=$JAVA_HOME/bin:$PATH

Uma das vantagens ao fazer isto, é que se quisermos mudar a versão do java, basta apenas mudar o conteúdo da váriavel $JAVA_HOME.

Para conferir o resultado

$ echo $PATH

Obs: Como adicionamos o java ao path anteriormente, ele irá aprecer 2 vezes, normal, iremos resovler isto.

Neste ponto, nossa necessidade está resolvida, mas desta maneira vc terá que executar o comando toda vez que a sessão for iniciada, para resolver este problema, vamos adicionar os comandos num arquivo que é executado toda vez que a sessão é inicializada.

$ sudo gedit .bashrc

Adicione no final deste arquivo as linhas

# DEFININDO JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.15

# COLOCANDO JAVA NO PATH
export PATH=$JAVA_HOME/bin:$PATH

Obs: Desta maneira a configuração vai estar disponível apenas para o usuário que executou o comando, caso queira fazer para todos usuários, execute o mesmo procedimento mas adicionando as linhas no arquivo /etc/bash.bashrc.

Faça um backup antes do arquivo.

sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
sudo gedit /etc/bash.bashrc

Pronto, agore efeture logoff e confira o resultado com os comandos

$ echo $JAVA_HOME

Saída

$ /usr/lib/jvm/java-6-sun-1.6.0.15

$ which java

A saída do console deve ser

$ /usr/lib/jvm/java-6-sun-1.6.0.15/bin/java.

Pronto, desta maneira temos o java configurado.

Fontes: http://wiki.ubuntu-br.org/Java, http://dambalah.com/2007/09/21/install-java-on-ubuntu

Problema com Eclipse e Ubuntu 9.10 Karmic Koala

Após atualizar meu Ubuntu para a versão 9.10 Karmic Koala, comecei a ter problemas com o cursor (ponteiro) do mouse em alguns botões e links.

Após uma googlada, descobri que é um problema/bug já conhecido e será corrigido em breve, pois é consequência de uma alteração que foi feita no GTK+ para evitar outros problemas.

Para corrigir o problema basta executar o comando no console:

export GDK_NATIVE_WINDOWS=true

Para evitar-se de digitar este comando toda vez que a sessão for iniciada, você pode criar um “arquivo” que será o link para o eclipse

export GDK_NATIVE_WINDOWS=true
/caminho/para/o/executavel/do/eclipse

Ou adicionar o comando ao “.bashrc” que fica na raiz da sua home (algo como /home/sua_conta) .

Link para bug: https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/442078/comments/28