Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.
quarta-feira, 11 de abril de 2018
sexta-feira, 16 de março de 2018
Adicionando Foreign key e primary key no PostgresSQL
Alterando a coluna para não receber nulo
ALTER TABLE tabela ALTER COLUMN coluna SET NOT NULL
Adicionando uma primary key
ALTER TABLE tabela ADD PRIMARY KEY (coluna);Adicionando uma chave estrangeira
ALTER TABLE tabela ADD CONSTRAINT nome_relacao FOREIGN KEY (campo) REFERENCES tabela(campo);
Fazendo update de tabela no PostgresSQL com INNER JOIN
Para realizar um UPDATE com INNER JOIN é um comando muito simples :)
UPDATE tabela1 T1 SET campo = T2.campo FROM tabela2 T2 WHERE (T1.campo2 = T2.campo2)
segunda-feira, 12 de março de 2018
sexta-feira, 16 de fevereiro de 2018
Listando Métodos de um objeto Javascript
Um método muito útil é o de recuperação de métodos disponíveis para um objeto javascript.
var obj = { locaMethod: function() { alert("hello"); }, a: "b", c: 2 };
for(var p in obj)
{
if(typeof obj[p] === "function") {
console.log(p);
}
}
quinta-feira, 8 de fevereiro de 2018
Gerando shapefile à partir de um Raster
Para gerar um arquivo shapefile tendo como base um shapefile basta o seguinte comando:
gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp
quarta-feira, 7 de fevereiro de 2018
Gerando Crop (clip) de um Raster com ShapeFile
De uma maneira simples, para gerar um clip de raster à partir de um shapefile.
gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif
terça-feira, 19 de dezembro de 2017
Micro servidor Web com Python
Um recurso bem simples para testar páginas web com python ou html. Basta digitar o comando na página onde contém suas páginas web.
python 2.7
python -m SimpleHTTPServer
Python 3
python3 -m http.server
python -m SimpleHTTPServer
Python 3
python3 -m http.server
Isso irá criar um micro servidor na porta 8000.
segunda-feira, 16 de outubro de 2017
Chamadas assíncronas com GNU Parallel
Uma maneira bem simples de aproveitar todo o potencial do seu processador é criar chamadas em paralelo utilizando o GNU Parallel.
- Instalando Parallel
- sudo apt-get install parallel
- Criar uma lista de comando txt com os scripts à serem chamados por ex: (R, Pyhon) já com os argumentos à serem passados
- Abrir o terminal de comando e digite o comando:
- parallel -j 8 < lista.txt (-j significa o número de núcleos da máquina para serem utilizados).
- Tecle Enter e sua lista de scripts serão chamados de acordo com a lista em paralelo.
terça-feira, 13 de junho de 2017
Converter TIFF para SHAPE
Uma função bastante útil é a geração de Shapefille à partir de um arquivo Tiff. Para isso usamos a biblioteca GDAL. Segue exemplo abaixo:
gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp
quinta-feira, 20 de abril de 2017
Alterando coluna do Postgres para Timestamp
Para alterar o tipo de coluna de string por exemplo para timestamp no Postgres basta executar como exemplo abaixo:
ALTER TABLE tabela ALTER COLUMN coluna TYPE TIMESTAMP USING coluna::TIMESTAMP;
ALTER TABLE tabela ALTER COLUMN coluna TYPE TIMESTAMP USING coluna::TIMESTAMP;
terça-feira, 21 de março de 2017
Download de E-Book na faixa!
Olá para todos!
Dando uma vasculhada na internet achei um site onde se pode baixar vários e-books na faixa, tem muita coisa boa, porém todos em inglês... mas vale muito dar uma conferida no material do site...
se ai o link:
Chamada de scripts R por linha de comando
Para executar uma chamada do script R por linha de comando basta executar como abaixo onde é chamado o script e passado alguns parâmetros:
Rscript --vanilla sillyScript.R iris.txt out.txt
Rscript --vanilla sillyScript.R iris.txt out.txt
Instalando pacotes R
Para efetuar a instalação de pacotes do R basta um comando simples, basta entrar dentro da plataforma R e digitar o comando abaixo:
install.packages('nome_do_pacote', dependencies=TRUE)
obs: No Ubuntu para instalar alguns pacotes é necessário instalar o OpenSSL para isso basta seguir os passos abaixo antes de instalar o pacote no R.
sudo apt-get -y build-dep libcurl4-gnutls-dev
sudo apt-get -y install libcurl4-gnutls-dev
install.packages('nome_do_pacote', dependencies=TRUE)
obs: No Ubuntu para instalar alguns pacotes é necessário instalar o OpenSSL para isso basta seguir os passos abaixo antes de instalar o pacote no R.
sudo apt-get -y build-dep libcurl4-gnutls-dev
sudo apt-get -y install libcurl4-gnutls-dev
Instalando R por linha de comando no Ubuntu
Para efetuar a instalação do R por linha de comando é necessário alguns passos simples:
1. Inserir a fonte na lista do Ubntu
1. Inserir a fonte na lista do Ubntu
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
2. Criando uma chave para o registro
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
3. Adicionando a chave para o registro:
gpg -a --export E084DAB9 | sudo apt-key add -
4.Atualizando as fontes de dados:
sudo apt-get update
5.Instalando o R
sudo apt-get -y install r-base
Voilá! se tudo correu bem o R ja está instalado, para testar basta digitar na linha de comando a letra R, se o R se instalou corretamente a seguinte mensagem será apresentada:
terça-feira, 25 de outubro de 2016
Scape de string no PostGres
Para dar scape de string no Postgres é muito simples, segue exemplo abaixo:
select E'd\'agua';
quarta-feira, 19 de outubro de 2016
Instalando o Gdal 2.1 no Ubuntu 16.04
Primeiramente baixe o instalador que pode ser encontrado AQUI
Após o download basta executar os seguintes comandos:
Após o download basta executar os seguintes comandos:
$ cd gdal-2.1.0/ $ ./configure --prefix=/usr/ $ make $ sudo make install $ cd swig/python/ $ sudo python setup.py install
sexta-feira, 14 de outubro de 2016
Criando funções em R
#criando funções com valores de entrada padrão
soma_valores = function(x=0,y=0){
return (x+y)
}
soma_valores()
Manipulando data em R
dta <- Sys.Date() #recuperando a data corrente
as.character(dta) #convertendo para string
dta2 <- as.Date("2016-04-30") #convertendo string para data
dtas <- seq(from = dta2, to = dta, by=1) # lista com sequencia de datas
dtaFormatada <- as.Date("07/Ago/12", format = "%d/%b/%y") #data formatada
dtaFormatada2 <- as.Date("2012-Agosto-07", format = "%Y-%B-%d") #data formatada
format(dtaFormatada, "%d") #recuperando o dia da data
format(dtaFormatada, "%m/%Y") #recuperando o mes e ano
range(dtas) #recuperando o range de datas envolvidas
dta3 <- seq(from = as.Date("2016-04-01"), to = dta2, by=1)
all(dtas %in% dta3) #verificando se todas as datas de um array está contido em outro
which(dtas %in% dta3) #verificando quais datas estão contidas em outro array
which(!(dtas %in% dta3)) #verficando quais datas não estão contidas dentro de um array
dtas[which(!(dtas %in% dta3))] #recuperando os valores das datas de quais não estão contidas dentro de um array
dtas4 <- dtas > as.Date("2016-05-05") & dtas <= as.Date("2016-05-15") #criando subset com comparativo de datas
quinta-feira, 13 de outubro de 2016
Operações aritméticas com vetores em R
// Comment
#OPERAÇÕES COM VETORES
v1 <- 1:10="" 2="" de="" do="" multiplicando="" os="" por="" quadrada="" raiz="" sqrt="" todas="" um="" v1="" valores="" vetor="">= 3 #checando quais valores são maiores ou igual a 3
c(1,2,3,4) %in% v1 #verificando se determinados valores existem dentro de um vetor
c(1,2,3,4) * tail(v1,4) #pegando alguns elementos de um vetor e multiplicando dois vetores
c(1,2,3,4) * c(3,5) #multiplicando dois vetores
seq(from=10, to=100, by=0.5) #criando uma sequencia de números
vector(mode = "numeric", length = 2) #criando vetores em branco
vector(mode = "character", length = 10) #criando vetores de texto em branco
vector(mode = "logical", length = 3) #criando vetores de boleano em branco
rep(x = 22, times = 10) #criando vetor com valores repetidos
x = c(18, 0, 9)
rep(x, 3) #criando um vetor a partir da repetição de outro
v1[1:2] #recuperando elementos específicos de um array
v1[c(1,2,3)]
v1[v1>1 & v1 < 4] #recuperando um intervalo de valores
v1[v1>4 | v1 < 10]
#Manipulando Vetores em R
a <- c(1:5)
b <- c(6,NA,7,NA,8,NA,9)
c <- c("1","2","5","6")
clean <- complete.cases(b) #filtra apenas os itens completos de uma array
is.na(b) #filtra apenas os objetos vazios de um array
b[clean] #filtrando os itens do array completos
->
Assinar:
Postagens (Atom)
