dfdfdfgdfd

domingo, 28 de maio de 2017

Como usar PosgreSQL com Docker

O PostgreSQL tem um repositório oficial na Docker Store, onde podemos obter imagens com as ultimas versões. Com isso é facial iniciar um serviço do PostgreSQL com configurações default.
O comando a seguir executa a ultima versão estável do PostgreSQL disponível no repositório como serviço  na porta 5432 com senha "mypwd" para o super usuário "postgres":
Executar serviço docker com PostgreSQL
docker run -d -e POSTGRES_PASSWORD=mypwd --name mypostgresql postgres
Parâmetros:
-d Executa comando em background
-e Configura variáveis de ambiente do processo Docker.
--name Nome do processo, usado como referência em outros comandos.
Testando serviço executando a ferramenta psql:
Executando comando psql
docker exec -i -t mypostgresql psql -U postgres

Estendendo imagem para usar locale pt_BR.utf-8

A  configuração de linguajem e codificação de caracteres, por default são en_US.utf8,  geralmente não adequado a caracteres da linguá portuguesa, podemos extender a imagem docker do PostgreSQL e alterar as configurações de Encoding,  Collate e  Ctype. Para isso devemos:
  1. Criar arquivo Dockerfile para definir características da nova imagem.
  2. Fazer build da nova imagem.
  3. Executar processo apontando para imagem criada.

1. Criar arquivo Dockerfile para definir características da nova imagem.
mkdir mypostgresql;
echo 'FROM postgres:9.6
LABEL version="0.0.1"
LABEL name="mypostgres:9.6"
LABEL release-date="2017-02-08"
LABEL description="PostgreSQL 9.6 pt_BR.UTF8"
RUN localedef -i pt_BR -c -f UTF-8 -A /usr/share/locale/locale.alias pt_BR.utf-8
ENV LANG pt_BR.utf8' > mypostgresql/Dockerfile
2. Fazer build da nova imagem
cd mypostgresql;
docker build -t mypostgresql:9.6 .
Parâmetros:
-t Nome da image "nome:tag", usado para referência em outros comandos.
3. Executar processo apontando p/ imagem criada.
docker run -t \
  -e POSTGRES_PASSWORD=postgres \
  -p 5432:5432 \
  --name poc-postgresql mypostgresql:9.6
Parâmetros:
 -p especifica ponte entre a porta do container e porta do host

Por default os dados são armazenados no container, logo se este for apagado todos os dados serão perdidos, uma boa pratica é usar o recurso de Data Volumes, direcionado o conteúdo de determinada pasta do container para a maquina host, evitando perda de dados quando um container for removido. No caso do PostgreSQL podemos mapear o conteúdo da pasta "/var/lib/postgresql/data", logo o comando de execução do serviço ficaria  assim:
Executar serviço com Data Volume
docker run -t \
  -v $HOME/pgdata:/var/lib/postgresql/data \
  -e POSTGRES_PASSWORD=postgres \
  -p 5432:5432 \
  --name poc-postgresql mypostgresql:9.6

 Outros comandos do Docker

docker images #lista imagens
docker ps #lista containers em execução
docker stop <container name> #para execução do container pelo nome (--name)
docker rm <container name>  #remove container pelo nome

Referências




domingo, 26 de abril de 2015

Aprender uma linguagem de programação não é suficiente.


Em 2015 completo 10 anos de experiência na plataforma Java, com este conhecimento achei que poderia dominar  o outro lado da força (.NET) rapidamente, cometi um grande engano. Com bons conhecimentos sobre paradigmas de linguagem você até consegue ler rapidamente uma grande variedade de códigos. 

Mas construir software real, exige bem mais que conhecimento da linguagem, é necessário dominar o ambiente de execução da sua aplicação, conhecer afundo APIs e recursos que contribuem para agilidade e qualidade do produto final, e principalmente é preciso conhecer as restrições tecnológicas. Tudo isso demanda muito tempo e consequentemente altos custos.

Eu subestimei estes conceitos, após iniciar um projeto critico em uma tecnologia que não domino.  No entanto,  felizmente identifiquei este erro a tempo, posso concluir que o ambiente Java e o mundo open source são o meu lar, e com estas tecnologias consigo ser feliz, logo consigo ter grande produtividade.

Lições:
  1. Software de qualidade são feitos por pessoas que se importam, não tem como se importar com algo que você não gosta.
  2. Lembre-se, seja reconhecido por algo, seja um especialista.

terça-feira, 17 de fevereiro de 2015

Instalar Tex Live/Latex 2014 no Linux Fedora 18

Os passos a seguir são baseados no tutorial disponível no site TeX Users Group web site

1. Remover instalações antigas:

$ rm -rf /usr/local/texlive/2014
$ rm -rf ~/.texlive2014

2. Download da CTAN:

$ wget http://www.las.ic.unicamp.br/pub/ctan/systems/texlive/tlnet/install-tl.zip

3. Iniciar instalação:

$ perl install-tl -gui

4. Atualizar ariáveis de ambiente nos arquivos $HOME/.bashrc e/ou $HOME/.zshrc.

#texlive
PATH=/usr/local/texlive/2014/bin/x86_64-linux:$PATH; export PATH 
MANPATH=/usr/local/texlive/2014/texmf-dist/doc/man:$MANPATH; export MANPATH 
INFOPATH=/usr/local/texlive/2014/texmf-dist/doc/info:$INFOPATH; export INFOPATH