Monday, March 27, 2017

Acessando uma pasta compartilhada pelo Windows no Linux

Em plataformas Unix e similares, sistemas de arquivos em diferentes partições e unidades removíveis como cds, dvds, usbs podem ser anexados à árvore de diretórios através do comando mount.

Digamos que um servidor Windows compartilha uma pasta chamada subversion. Para acessar essa pasta de uma máquina Linux, execute o seguinte comando dentro da pasta /mnt (que é o local onde esses anexos temporários devem ficar):
sudo mount -t cifs //ip_doservidor_windows/subversion -o username=serverUser,password=serverPassword /mnt/share
  • share é o nome da pasta que irá representar no Linux a pasta que o Windows está compartilhando.
  • -t (type) deve ser seguido pelo tipo de sistema de arquivos com o qual o servidor trabalha, neste caso cifs (Common Internet File Systems), um protocolo para compartilhamento de recursos entre os nós de uma rede.

Friday, March 24, 2017

Habilitando fone de ouvido no Linux Mint 13


Fones de ouvido com conexão P2 podem não funcionar corretamente no Linux Mint 13. Para corrigir este problema abra o arquivo alsa-base.conf:

sudo gedit /etc/modprobe.d/alsa-base.conf

Adicione a seguinte linha ao final do arquivo:

options snd-hda-intel model=eapd probe_mask=1 position_fix=1
Salve e feche o arquivo. A conexão com fones de ouvido já está habilitada.
#earPhone

JPA Retornando Elementos Duplicados na Collection

Recentemente (utilizando JPA 2.1 e hibernate 4.3) descobri que uma coleção mapeada para um tipo simples (incluindo Strings e Wrappers) poderia retornar elementos duplicados após uma consulta, sem motivo aparente. Por exemplo:
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "entity_items",
                     joinColumns = {@JoinColumn(name = "id_entity")})
@Column(name = "item_description")
private List<String> items;
retornava cada item da lista repetido 7 vezes, embora as linhas da tabela no banco de dados continuavam como deveriam.

2 Soluções

Ao remover FetchType.EAGER do mapeamento, a coleção volta a exibir os items normalmente.

Outra alternativa que também funciona é utilizar a interface Map (que remove duplicados instantaneamente) ao invés de List. O inconveniente de Map, se você estiver usando Java Server Faces, é que você não poderá acessar seus elementos da view, pelo menos não diretamente!


Thursday, March 2, 2017

Back To The Game!

 
class A{
   public static void main(String[]args){
      System.out.println("BACK TO THE GAME!");
   }
}