terça-feira, 31 de maio de 2016

Recuperando uma data posterior em javascript

Uma função bem simples de se adicionar dias à uma data corrente e retornar a mesma em formato americano em javascript:

function getDataISO(dias)
{
var dayMonth = new Date().getDate();
dayMonth += dias;
var d = new Date();
d.setDate(dayMonth);

var day = d.getDate();
var monthIndex = d.getMonth()+1;
var year = d.getFullYear();

    //retorno já formatado de 9 para 09
    return year + '-' + (monthIndex > 9 ? monthIndex : '0' + monthIndex.toString()) + '-' + (day > 9 ? day : '0' + day.toString());
}

Calculando os valores mínimo e máximo de um array em javascript

Uma função bem simples mas que pode ser muito útil para retornar os valores mínimo e máximo de um array em javascript feita em prototype.

Mínimo:

Array.prototype.max = function() {
  return Math.max.apply(null, this);
};

Máximo:

Array.prototype.min = function() {
  return Math.min.apply(null, this);
};

Média:

function getAvg(grades) {
  return grades.reduce(function (p, c) {
  return p + c;
}) / grades.length;
}

Chamadas:

v = [1,5,8,74,9];

v.max();
v.min();
mean = getAvg(v);

sexta-feira, 15 de abril de 2016

Restaurando dump do Postgres

Uma das funções do banco de dados após feito seu backup é fazer a restauração do dump feito para de volta à base original, para executar basta usar o comando.

psql -h host_base -d dbname -U usuario -f estrutura.sql;
psql -h host_base -d dbname -U usuario -f dados.sql;

Referência: Postgres

quarta-feira, 30 de março de 2016

Gerando dump no Postgres usando o comando pg_dump

Uma maneira simples e rápida de gerar um dump de um banco ou tabela do Postgres é através da linha de comando. Abaixo é descrito como gerar a estrutura e popular a tabela.

pg_dump -h host_base  -U nome_usuario  -d nome_base  -f estrutura.sql -s -c -E utf-8 -F p -O -v -x;

--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t

pg_dump -h host_base  -U nome_usuario  -d nome_base   -f dados.sql -a -b -E utf-8 -F p -O -v -x;

--disable-dollar-quoting --disable-triggers --no-security-labels --no-unlogged-table-data --quote-all-identifiers -t

Referência: pg-dump

quarta-feira, 16 de março de 2016

Instalando MongoDB no Ubuntu 15.10

O MongoDB é um dos SGDB que tem crescido muito no mercado e seu uso no linux o torna uma ferramenta muito poderosa. Segue abaixo como fazer sua instalação no Ubuntu.


  1. Adicionar a chave.
    1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  2. Criando a lista repositório
    1. sudo echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
  3. Atualizando a lista de repositório
    1. sudo apt-get update
  4. Instalando o MongoDb
    1. sudo apt-get install mongodb-org
  5. Checando se está funcionando
    1. sudo systemctl status mongd
  6. Caso não funcione reinicie o servidor
  7. Caso ainda não funcione crie o script abaixo e o invoque:
echo '[Unit]
Description=High-performance, schema-free document-oriented database
After=syslog.target network.target
 
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod -f /etc/mongod.conf
 
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/mongod.service

# Setup the required directories
mkdir -p /var/run/mongodb/
mkdir -p /var/log/mongodb/
mkdir -p /var/lib/mongodb/
mkdir -p /data/db/

chown mongodb:mongodb /var/run/mongodb/
chown mongodb:mongodb /var/log/mongodb/
chown mongodb:mongodb /var/lib/mongodb/
chown mongodb:mongodb /data/db

chmod 0755 /var/log/mongodb/
chmod 0755 /var/run/mongodb/
chmod 0755 /var/lib/mongodb/
chmod 0755 /data/db/

# Start the new service and enable it on boot
systemctl --system daemon-reload
systemctl enable mongod.service

echo "Starting"
systemctl start mongod.service

Traduzido de: http://askubuntu.com/questions/724749/install-mongo-3-2-on-ubuntu-15-10

sexta-feira, 11 de março de 2016

Criando Atalhos no Qgis utilizando Python

Uma função muito interessante no Qgis é a criação de atalhos de teclado utilizando os scripts em Python. O exemplo abaixo cria um atalho que dá um print de mensagem utilizando as teclas CTRL + 2.

# See http://gis.stackexchange.com/questions/156633/how-to-launch-processing-tool-user-interface-using-pyqgis
import qgis.utils
from processing.core.Processing import Processing
from processing.gui.CommanderWindow import CommanderWindow
cw = CommanderWindow(iface.mainWindow(), iface.mapCanvas())
def openAlgorithm():
    print 'HELLO WORLD'

# Assign "Ctrl+1" to openAlgorithm()
from PyQt4.QtGui import QShortcut, QKeySequence
from PyQt4.QtCore import Qt
shortcut = QShortcut(QKeySequence(Qt.ControlModifier + Qt.Key_2), iface.mainWindow())
shortcut.setContext(Qt.ApplicationShortcut)
shortcut.activated.connect(openAlgorithm)

Após salvar e rodar o script basta testar o atalho.

Alterando atributos do Layer no Qgis

Uma função muito útil no Qgis é rodar scripts Python, neste caso cito abaixo um script para alterar os atributos de uma layer pelo terminal de scripts Python do Qgis

    layer = iface.activeLayer() #pega o layer atual da tela
    layer.startEditing() #inicia a edição do layer
    for f in layer.selectedFeatures(): #recupera as features de cada tupla
        layer.changeAttributeValue(f.id(),6,'xxxx') #alterando o atributo da coluna 6 com texto xxx
    layer.commitChanges() #confirma as alterações
    print 'fim'

Referência: Qgis Doc