quinta-feira, 30 de julho de 2015

Como instalar o Mongo no linux?

Segue passo-a-passo para instalar o MongoDB no Linux

Onde estiver escrito (root) você deve utilizar um usuário com permissão de root

Apenas para informacao: O mongo rodara em localhost:27017 e tambem sera startado automaticamente na proxima inicializacao da maquina.


########### Para RedHat/CentOS ###########

# crie o diretorio /data/db (root)
mkdir -p /data/db

# Garanta que o dono da pasta seja o usuario correto. (Altere <nome do usuario> para o usuario que iniciara o mongo) (root)
chown -R <nome do usuario> /data/db/

# crie o arquivo do repositorio yum (root)
vi /etc/yum.repos.d/mongodb-org-3.0.repo

# aperte i para entrar no modo "INSERT" e depois cole as seguintes linhas:
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

# aperte "ESC" e depois digite ":wq" para salvar e fechar o arquivo

# agora instale o mongo (root)
yum install -y mongodb-org

# rode o comando abaixo e verifique se a instalação aconteceu com sucesso
mongo --version

# inicie o mongo
service mongod start

# teste
mongo

#apert ctrl c para sair


########### Para Ubuntu/Debian ###########


# crie o diretorio /data/db (root)
mkdir -p /data/db

# Garanta que o dono da pasta seja o usuario correto. (Altere <nome do usuario> para o usuario que iniciara o mongo) (root)
chown -R <nome do usuario> /data/db/

# agora instale o mongo (root)
apt-get install mongodb

# rode o comando abaixo e verifique se a instalação aconteceu com sucesso
mongo --version

# teste
mongo

#apert ctrl c para sair


Fonte: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/
Créditos: Ao Alfredo Zipperer que me deu uma mão para instalar o mongo aqui

Vaaleu!
Adriano Schmidt

terça-feira, 28 de julho de 2015

Unicode character table

Em algum momento da sua vida... seja num teste rápido ou até naquele momento de desespero... você vai precisar da tabela de Unicode...

Fiz esse post para registrar os caracteres mais usados e espero que possa ser útil para você assim como foi pra mim.


###### Unicode character table ######

#lettipo minusmaius
#a crase \u00E0 \u00C0
#a agudo \u00E1 \u00C1
#a chapeu \u00E2 \u00C2
#a ttil \u00E3 \u00C3
#c cedilha \u00E7 \u00C7
#e agudo \u00E9 \u00C9
#e chapeu \u00EA \u00CA
#i agudo \u00ED \u00CD
#o agudo \u00F3 \u00D3
#o chapeu \u00F4 \u00D4
#o ttil \u00F5 \u00D5
#u agudo \u00FA \u00DA


A lista completa pode ser encontrada aqui: http://unicode-table.com/en/

Fiz uma clase Java para printar esses caracteres para validar se estão corretos: https://gist.github.com/adrianoschmidt/60f0070b69e66067b922

Abraço!!!
Adriano Schmidt

segunda-feira, 27 de julho de 2015

Como trocar versão do Java no ubuntu?

Olá :)

No terminal, rode o comando "java -version" para ver a versão atual utilizada na sua máquina:







Rode o "sudo update-alternatives --config java" para ver as versões instaladas na sua máquina.
Como você usou o "sudo" talvez seja solicitado a senha do seu usuário.
Depois digite o número da coluna "Selection" de acordo com a versão que você que utilizar.















Depois rode o "java -version" de novo para verificar se funcionou:







É isso :)

Abraço!
Adriano Schmidt

terça-feira, 21 de julho de 2015

Spring OAP

Hoje precisei criar um interceptor.

Queria que antes e depois da execução de determinados métodos fosse chamado um Rest.
Também queria que se o método lançasse uma exception, chamasse outro Rest.

Pensei em annotation processor... orientação a aspectos com o aspectj... no fim resolvi com o Spring AOP.

Resumindo, você precisa:

Criar uma annotation para anotar no método que você quer interceptar.
Criar um Advisor para ler os métodos que tem a annotation.
Criar o interceptador para inserir o comportamento que você quer.
Alterar o applicationContext.xml e colocar o component-scan com o pacote onde está seu Advisor e adicionar o bean DefaultAdvisorAutoProxyCreator.

Com isso você consegue apenas colocando uma anotação no seu método fazer algo antes dele ser chamado, depois, ou tratar exceptions por exemplo.

Você pode ver o código nesse meu projeto no GitHub: https://github.com/adrianoschmidt/springaop

Mais detalhes em:
http://blog.javaforge.net/post/76125490725/spring-aop-method-interceptor-annotation

Abraço!!
Adriano Schmidt

Como fazer deploy no nexus

Para fazer seu projeto fazer deploy no nexus você precisa:

Criar repositórios no nexus:
Acesse o nexus como admin e crie dois repositórios do tipo "Hosted Repository"
Configure o "Repository Policy" do primeiro como "Release" e dê o nome de nome-do-projeto-releases
Configure o "Repository Policy" do segundo como "Snapshot" e dê o nome de nome-do-projeto-snapshots

Adicionar no seu pom: (altere a URL e o nome-do-projeto)
<distributionManagement>
<repository>
<id>nome-do-projeto-releases</id>
<url>http://nexus.localhost8080.com.br/nexus/content/repositories/nome-do-projeto-releases</url>
</repository>
<snapshotRepository>
<id>nome-do-projeto-snapshots</id>
<url>http://nexus.localhost8080.com.br/nexus/content/repositories/nome-do-projeto-snapshots</url>
</snapshotRepository>
</distributionManagement>

Configurar settings.xml
Configure o setting.xml (seja no maven da sua máquina ou no Jenkins (no jenkins você pode configurar pelo managed files também))

      <servers>
          <server>
              <id>nome-do-projeto-releases</id>
              <username>user_no_nexus_com_permissao_de_deploy</username>
              <password>senha_do_user</password>
          </server>
          <server>
              <id>nome-do-projeto-snapshots</id>
              <username>user_no_nexus_com_permissao_de_deploy</username>
              <password>senha_do_user</password>
          </server>
      </servers>


Deploy na mão
Abra o terminal e rode o comando: mvn clean deploy

Deploy pelo jenkins
Mesma coisa que manual, porém configure o seu job para fazer o mvn clean deploy


Abraço!!
Adriano Schmidt