Chackan's Weblog

janeiro 13, 2012

Alterar o owner de todos os objetos de um banco de dados no PostgreSQL 8.4

Filed under: PostgreSQL — Sérgio Santana @ 12:43 pm

Hoje precisei renomear um banco de dados e o owner dos objetos no PostgreSQL 8.4.

Para isso, via linha de comando no linux, digite:

- Tabelas

for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" YOUR_DB` ; do  psql -c "alter table $tbl owner to NEW_OWNER" YOUR_DB ; done

- Sequencias

for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" YOUR_DB` ; do  psql -c "alter table $tbl owner to NEW_OWNER" YOUR_DB ; done

- Visoes

for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" YOUR_DB` ; do  psql -c "alter table $tbl owner to NEW_OWNER" YOUR_DB ; done

outubro 18, 2011

Explicação de como utilizar o field api do Drupal 7

Filed under: Drupal — Sérgio Santana @ 7:36 pm
Tags:

Achei este artigo, muito interessante, no site do Figover falando sobre como criar um field type customizado para o Drupal 7:

http://www.figover.com/node/16

outubro 7, 2011

Full Text Search em português no PostgreSQL

Filed under: PostgreSQL — Sérgio Santana @ 2:41 pm

Encontrei esse artigo falando sobre FTS em português no Postgre: http://www.hjort.co/2011/07/full-text-search-em-portugues-no.html

setembro 18, 2011

Cut mp3 online – mp3cut.net – split, trim mp3 for mobile phone

Filed under: Útil — Sérgio Santana @ 11:31 pm

Cut mp3 online – mp3cut.net – split, trim mp3 for mobile phone.

agosto 24, 2011

Centralizando elemento absolutamente com jQuery

Filed under: Js — Sérgio Santana @ 12:07 pm

Segue função que centraliza elementos absolutamento com jQuery. Muito utilizado com box modal.

</pre>
jQuery.fn.center = function () {
this.css("position","absolute");
this.css("top", (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop() + "px");
this.css("left", (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft() + "px");
return this;
};
<pre>

Usando a função center…

$('#modal').center();

maio 25, 2011

Traduzir Validação Zend Português (pt-br)

Filed under: Zend Framework — Sérgio Santana @ 12:20 pm

Como traduzir automaticamente as mensagens de validação do Zend para português (pt-BR), técnica fácil e rápida.

viaTraduzir Validação Zend Português (pt-br).

fevereiro 8, 2011

Compactar e descompactar arquivos no Linux

Filed under: Linux — Sérgio Santana @ 6:44 pm

Post copiado do site http://www.devin.com.br artigo Compactação e Descompactação postado por Hugo Cisneiros (Eitch) em 18 de setembro de 2008.

Uma das coisas mais comuns de se ver pela Internet são os arquivos compactados. Programas, textos, códigos, geralmente tudo vem em formato compactado. Este tutorial ensina os mecanismos básicos para compactar e descompactar arquivos no Linux.

tar – Agrupando arquivos

Compactar arquivos e diretórios para o que chamamos de arquivo compactado tem na verdade duas fases: primeiro agrupa-se os arquivos e diretórios em um só, depois compacta-se este arquivo agrupado.

O tar é um utilitário que faz o primeiro passo. Ele é um programa de arquivamento feito para armazenar e extrair arquivos e diretórios do que chamamos de “arquivo tar” (ou tarball). Por padrão, o tar espera que os procedimentos de armazenamento e extração sejam feitos em uma fita DAT, mas graças ao parâmetro -f podemos utilizá-lo em arquivos comuns do sistema. Por enquanto, aqui trabalharemos apenas em arquivos.

Por agrupar todos os arquivos em um só, o tar é a ferramenta padrão para distribuição de arquivos. Provavelmente qualquer programa ou código-fonte para Linux que vermos disponível na Internet estará neste formato, acrescentado de uma compactação que veremos adiante.

Sintaxe: $ tar <ação> [opções] <tarball destino> <arquivos> [arquivos2] ...

Na ação, vamos ressaltar que podemos utilizar uma destas três: -c para criar (agrupar), -x para extrair (desagrupar) e -t para listar. Existem outras ações também, caso queira saber consulte a página de manual.

Criando um arquivo chamado backup-etc.tar:

# cd /
# tar -cvf backup-etc.tar etc/
...corte...
# ls -lh backup-etc.tar
-rw-r--r-- 1 root root 23M 2008-08-31 02:12 backup-etc.tar

Note que usamos a opção -v, que ativa o modo verbose, mostrando todos os arquivos que estão sendo processados.

Agora vamos listar o conteúdo do arquivo que criamos:

# tar -tf backup-etc.tar
...corte...

Como está tudo dentro do arquivo, vamos descompactá-lo dentro do diretório /tmp/backup-etc:

# mkdir -p /tmp/backup-etc
# cd /tmp/backup-etc
# tar -xvf /backup-etc.tar
...corte...
# ls

Pronto. Uma cópia do diretório /etc!

gzip, bzip2 – Compactando arquivos

Agora que temos todos os arquivos agrupados em um só, podemos utilizar o gzip ou bzip2 para compactar este arquivo. A diferença entre os dois é apenas em seu algoritmo, ou seja, o modo e a eficiência com que compactam. O gzip existe há muito mais tempo, é menos faminto em termos de processamento. O bzip2 tem uma compactação melhor (principalmente para arquivos texto), mas utiliza muito mais o processador.

A extensão de arquivos em gzip é .gz. A extensão de arquivos em bzip2 é bz2.

Sintaxe: $ gzip [-d] arquivo[.gz]
Sintaxe: $ bzip2 [-d] arquivo[.bz2]

Ao compactar um arquivo, o programa automaticamente adiciona a extensão correspondente ao seu nome. Exemplo:

$ ls -lh texto*
-rw-r--r-- 1 eitch eitch 89K 2008-06-20 02:26 texto
-rw-r--r-- 1 eitch eitch 89K 2008-06-20 02:26 texto2
$ gzip texto
$ bzip2 texto2
$ ls -lh texto*
-rw-r--r-- 1 eitch eitch 26K 2008-08-31 02:26 texto2.bz2
-rw-r--r-- 1 eitch eitch 30K 2008-08-31 02:26 texto.gz

Ao descompactar estes arquivos, o programa irá retirar automaticamente a sua extensão. Vamos descompactar os arquivos criados anteriormente:

$ gzip -d texto.gz
$ bzip2 -d texto2.bz2
$ ls -lh texto*
-rw-r--r-- 1 eitch eitch 89K 2008-08-31 02:26 texto
-rw-r--r-- 1 eitch eitch 89K 2008-08-31 02:26 texto2

Agora vamos compactar o arquivo backup-etc.tar criado com o comando tar:

# cd /
# ls -lh backup-etc.tar
-rw-r--r-- 1 root root 23M 2008-08-31 02:30 backup-etc.tar
# bzip2 backup-etc.tar
# ls -lh backup-etc.tar.bz2
-rw-r--r-- 1 root root 2.1M 2008-08-31 02:30 backup-etc.tar.bz2

O que era antes 23MB, agora 2.1MB.

Ao descompactar os arquivos, podemos utilizar também os comandos gunzip e bunzip2, que fazem exatamente a mesma coisa que a opção -d do gzip e bzip2. Por exemplo, isto seria o equivalente para descompactar o arquivo backup-etc.tar.bz2 recém-criado:

$ bunzip2 backup-etc.tar.bz2

Para facilitar as coisas e não precisar usar dois comandos para compactar e descompactar vários arquivos, o tar possui dois parâmetros que integram o gzip2 e bzip2: -z e -j respectivamente. Ao utilizar estes parâmetros no agrupamento ou na extração, ele vai utilizar o respectivo compactador. Por exemplo, para fazer o backup dos diretórios /boot e /etc apenas com o tar:

# cd /
# tar -cjvf backup2.tar.bz2 boot/ etc/
...corte...
# ls -lh backup2.tar.bz2
-rw-r--r-- 1 root root 18M 2008-08-31 02:43 backup2.tar.bz2

Desta vez já criamos o arquivo compactado. Para descompactar é a mesma coisa, basta apenas acrescentar o parâmetro do compactador ao comando tar:

# cd /tmp/backup
# tar -xjvf /backup2.tar.bz2
...corte...

zip, rar – Outros formatos de arquivos compactados

Além dos dois tradicionais formatos de arquivos compactados (gzip e bzip2), podemos encontrar arquivos em outros formatos bem populares, como o ZIP e RAR. O ZIP é talvez um dos formatos de compactação mais antigos para quem este trabalhando em plataformas que não sejam UNIX…

Para compactar um arquivo no formato zip, utilizamos o comando zip da seguinte forma:

$ zip -r lab.zip /home/eitch/lab/
...corte...

O comando acima irá jogar no arquivo lab.zip o diretório /home/eitch/lab. O parâmetro -r no comando indica o fator recursivo: o zip vai compactar o diretório e todos seus arquivos e sub-diretórios. Se o -r não fosse usado, teríamos apenas o diretório lab/, sem mais nada.

Para descompactar o mesmo arquivo utilizamos o comando unzip:

$ unzip lab.zip
...corte...

Isto descompactará o arquivo lab.zip dentro do diretório atual. Pode ser útil que ao invés de ir descompactando logo o arquivo, verificar o que tem nele primeiro. Para isso basta executar:

$ unzip -l lab.zip
...corte...

Já o formato RAR, um popular formato de arquivo que circula principalmente em comunidades Peer-to-Peer, geralmente não vem junto com as distribuições Linux devido à sua licença proprietária. Por esse motivo, não recomendamos que você o utilize. Caso seja preciso, os utilitáros do RAR podem ser encontrados no endereço:

Alguns repositórios de terceiros distribuem pacotes de distribuição com o nome unrar. O unrar é o responsável pela descompactação dos arquivos em formato RAR e pode ser usado da seguinte forma:

$ unrar e arquivo.rar

Isto irá descompactar todo o conteúdo do arquivo.rar para o diretório atual. Para listar o conteúdo do arquivo:

$ unrar l arquivo.rar

janeiro 12, 2011

Desenvolvimento orientado a testes (TDD)

Filed under: Desenvolvimento de Sotware — Sérgio Santana @ 6:53 pm

Achei um post muito interessante e completo falando sobre o desenvolvimento orientado a testes. Segue o link para o post:

http://dojofloripa.wordpress.com/2007/09/10/tudo-sobre-tdd/

agosto 13, 2010

JW Player e Youtube

Filed under: Geral — Sérgio Santana @ 1:06 pm

Vi um artigo interessante falando sobre um novo player mais flexível para web chamado JW Player, no site do weblouca.com

Segue o link para o artigo link

agosto 13, 2009

Desafio de Projeto Integrado

Filed under: Geral — Sérgio Santana @ 2:21 pm
Tags:

Neste semestre (4º período de Sistemas de Informação), estou cursando a disciplina Projeto Integrado, que tem como objetivo consolidar os conhecimentos adquiridos nos semestres anteriores, onde, a partir de um problema a ser resolvido, nos (meu grupo) teremos que apresentar e documentar a solução.
Tem que ser integrado pelo menos uma tecnologia com a linguagem C.
Escolhemos o tema Biometria. A biometria é o estudo estatístico das características físicas ou comportamentais dos seres vivos, que é muito usada na identificação criminal, controle de acesso, etc. Existem vários tipos de biometria. Escolhemos a impressão digital, por ser um método mais rápido, fiabilidade alta e baixo custo.
O grande desafio é: capturar a digital do usuário utilizando a linguagem Java, passa essa informação para a linguagem C (provavelmente uma dll) que terá as regras de negócio, salvando em um banco de dados MySql.
Este projeto será muito interessante, porque nenhum integrante do grupo programa em Java.
Temos dois meses e meio para concluí-lo!
Nesse período, irei postar os nosso avanços. Qualquer ajuda será bem vinda!

Até mais.

Próxima Página »

Tema: Rubric. Blog no WordPress.com.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.