terça-feira, 22 de agosto de 2017

[SQL] Alterar senha do usuário no PostgreSQL

Fala galera!


Como sabem, um dos banco de dados mais utilizados é o PostgreSQL (veja aqui e aqui).

E claro, há momentos em que precisamos ir mais fundo em seu gerenciamento e conhecimento do que somente criar/modificar tabelas e campos.
Hoje, vamos dar uma olhada rápida, mas muito útil, sobre como alterar a senha do usuário padrão do PostgreSQL.

SQL Alterar senha PostgreSQL



No momento da instalação do PostgreSQL, precisamos informar ao assistente de instalação uma senha para uso. Porém, alguns probleminhas podem ocorrer e precisamos alterar a senha por causa de esquecimento ou talvez por necessidade relacionada a um projeto.



Vamos ao que interessa:



1 -  Acesse o software SQL Shell:



SQL Shell



Nesse primeiro passo, precisamos passar cinco informações, que são:

  • Server[localhost]: o host onde está localizado o banco de dados. Aqui, estamos utilizando o localhost mesmo;
  • Database[postgres]: o banco de dados que deseja alterar. O database postgres é criado por padrão durante a instalação;
  • Port[5432]: a porta que é utilizado em seu sistema. Mais uma vez, o SQL Shell informa o padrão de instalação;
  • Username[postgres]: o usuário de acesso ao banco de dados;
  • Password for user postgres: informe a senha relacionada ao usuário digitado no campo Username.

2 - Se os dados informados estão corretos, você estará apto a digitar o seguinte comando:

ALTER USER [usuario] WITH PASSWORD ['nova_senha'];



Obs.: importante escrever a senha entre aspas.


Após estes passos efetuados, basta reiniciar o PostgreSQL para que as alterações sejam atualizadas no sistema.



Esperam que tenham curtido essa dica esperta. 

Se tiverem alguma forma mais eficiente ou mais fácil, escreva aí embaixo. 
Teremos orgulho em compartilhar.


Até mais!



:)

quinta-feira, 17 de agosto de 2017

Initializr - Agilidade na criação de projetos

Fala galera que acompanha o blog...

Eu particularmente gosto muito de começar um novo projeto, mas acho horrível ter que fazer toda aquela configuração inicial, que é sempre a mesma coisa e bem chato.

Para resolver isso, eu utilizo ferramentas que agilizam o processo de criação do projeto meus projetos.

Spring Initializer

Uma dessas ferramentas, é o site SPRING INITIALIZR, que possibilita a criação de um projeto novo definindo o seu gerenciador de dependências, linguagem e se for utilizar Spring Boot, a versão do mesmo.

Você também consegue definir o group e artifact do projeto, bem como, já adicionar dependências que você sabe que vai usar no projeto, como por exemplo Security, JPA, Servidor e diversos outros.
Após o setup, faça download do projeto, importe na sua IDE de preferência e é isso, somente isso.

Outro site que fiquei conhecendo recentemente, que foi apresentado em um dos desafios do Alura é o site SetupMyProject, no desafio foi comprovado que em 3 minutos era possível configurar e rodar o seu projeto (no desafio foi utilizado Spring Boot).

A configuração do seu projeto nessa ferramenta, é baseada em steps, onde:
  • Escolhemos o framework a ser utilizado,
  • Caminho do projeto,
  • Addons disponíveis
  • Versão do JAVA
  • Banco de dados
  • Exemplo de CRUD se preferir (normalmente nao seleciono nenhum)
  • Para finalizar, uma doação se achar válido. ;D
  • Download, import e boa!

E por último o site http://www.initializr.com/, para criar projetos HTML5 rapidamente.

Vou deixar o vídeo do desafio aqui, caso você tenha interesse. No video ele explica alguns detalhes também sobre Spring Boot.

É isso ai pessoal, espero ter agilizado a vida de vocês e mão na massa!
Até a próxima!

quinta-feira, 3 de agosto de 2017

[Debug] Comando ECHO não funciona

Fala galera que acompanha o blog...

Hoje eu tive um problema para escrever uma variável de ambiente no prompt de comando ou cmd ou ....
E fiquei escrevendo de várias formas achando que eu não estava sabendo como escrever o comando, pesquisei no Google para garantir que estava fazendo certo e descobri que tinha um problema muito maior que tudo isso.

[Debug] Comando ECHO não funciona


Nunca tinha visto acontecer. Mas foi eu comentar e todos já tinham visto acontecer mas nunca pararam para tentar resolver.
É o seguinte, o comando echo, no prompt de comando serve para escrever algo no console, echo seguido de %%, serve para escrever o valor de uma variável definida nas suas variáveis de ambiente.

A variável mais conhecida com certeza é a variável PATH, que vem definida por padrão no seu sistema operacional, logo ao executar o comando echo %PATH%, teriamos uma lista com vários classpath de diversas "ferramentas" que usamos.

No entanto, não era isso que acontecia pra mim. Ao escrever echo %PATH%, o resultado era %PATH%, echo %JAVA_HOME%, a saída era %JAVA_HOME%, e qualquer outra variável que eu tentasse printar o resultado não era o esperado.

Então eu descobri que para resolver esse problema, você precisa adicionar esses dois valores dentro da sua variável PATH:

%SystemRoot%
%SystemRoot%\system32 

E pronto, volte para o prompt e tente escrever a sua variável (echo %PATH%) que funciona que é uma maravilha rs

É isso pessoal, espero que tenha ajudado.
Até a próxima!

quarta-feira, 12 de abril de 2017

Mensagem de Sagan

Fala galera!

Faz um bom tempo que não escrevo um post aqui. É muita correria, muita coisa para estudar e muita coisa para fazer que o tempo fica pouco. Resolvi então escrever esse post sobre um conteúdo que está um pouco fora do escopo ou da nossa área profissional, mas acho muito válido compartilhar.

Então dentre essas tarefas que "tomam meu tempo" - e em alguns poucos momentos de descanso - estava assistindo uma série na Netflix que, na minha opinião, toda pessoa no mundo deveria dar uma atenção especial. Trata-se do documentário chamado Cosmos.

Cosmos


Cosmos foi uma série criada por Carl Sagan e sua mulher Ann Druyan em 1980 que levou três anos para ser concluída. A versão disponível na Netflix é uma continuação que estreou no dia 09 de março de 2014 e é apresentada pelo famoso físico Neil deGrasse Tyson  entitulada como Cosmos: A Spacetime Odyssey (Cosmos: uma odisseia no espaço-tempo).

Infelizmente, não entrarei em detalhes sobre cada episódio - até porque não tenho o conhecimento tão aprofundado a respeito do assunto-, mas gostaria de compartilhar uma mensagem que é apresentada em um dos episódios no qual me chamou a atenção.

Sagan deixou uma mensagem em seu livro Ponto Azul Claro, onde foi muito bem apresentado no seriado. Bom, vou deixar a mensagem para que leiam e reflitam.

Ponto Azul Claro

Observe o ponto mais uma vez. É aqui. É a nossa casa. Somos nós. Nele vivem ou viveram todas as pessoas que ama, todas as pessoas que conhece, todas as pessoas de que ouviu falar, todos os seres humanos que alguma vez existiram.
A conjunção da nossa alegria e do nosso sofrimento, milhares de religiões confiantes, ideologias e doutrinas econômicas, todos os caçadores e recolectores, todos os heróis e covardes, todos os criadores e destruidores da civilização, todos os reis e camponeses, todos os jovens casais apaixonados, todas as mães e pais, crianças esperançadas, inventores e exploradores, todos os professores de moral, todos os políticos corruptos, todas as "superestrelas", todos os "líderes supremos", todos os santos e pecadores da história da nossa espécie viveram lá – numa partícula de poeira suspensa num raio solar.
A terra é um palco muito pequeno, numa imensa arena cósmica.
Pense nas infinitas crueldades infligidas pelos habitantes de um canto desse pixel, nos quase imperceptíveis habitantes de algum outro canto… como são frequentes os seus desentendimentos, como eles estão sedentos de se matar uns aos outros, como fervilham os seus ódios.
Pense nos rios de sangue derramados por todos esses generais e imperadores para que, em glória e triunfo, eles pudessem ser os chefes momentâneos de uma fracção de um ponto.
As nossas atitudes, a nossa imaginária auto-importância, a ilusão de que temos alguma posição privilegiada no universo, são desafiadas por este ponto de luz pálida.
O nosso planeta é um pontinho solitário na grande e envolvente escuridão cósmica.
Na nossa obscuridade, em toda essa imensidão, não há indício de que a ajuda virá de algum outro lugar para salvar-nos de nós mesmos.
Goste disso ou não, neste momento, a Terra é onde vivemos.
Tem sido dito que a astronomia é uma experiância de humildade e de formação do carácter.
Talvez não haja melhor demonstração da tolice das vaidades humanas do que essa imagem distante de nosso pequeno mundo.
Ela enfatiza a nossa responsabilidade de tratarmos melhor uns aos outros, e de preservar e estimar o único lar que nós conhecemos. O ponto azul claro.
E para quem tem preguiça de ler rsrsrs vou deixar um vídeo muito legal que deixa melhor ainda a experiência de ouvir/ler essa mensagem.


Espero que tenham curtido tanto quanto eu. Logo voltarei a colocar mais posts.

Att

;)

sábado, 25 de março de 2017

Javascript - Function #001

A linguagem Javascript não tem classes,construtores e métodos, para galera que vem do java, javeiros assim como eu, podem assustar um pouco ao deparar com essa linguagem. Porém no javascript nós temos as funções que podem simular classes, construtores e métodos fazendo dessa linguagem um tanto quanto poderosa.


Javascript - Function #001
javascript functions

Neste post vamos descobrir um pouco sobre as funções, o que elas são, onde vivem e do que se alimentam hahaha.
O que é uma função?

Função é nada mais nada menos é um Objeto que contém um bloco de código executável.
Em javascript as funções são objetos de primeira classe , isto é, elas podem ter propriedades, métodos, podem ser passadas como parâmetros ou ser retornadas de uma outra função. Criando funções.
Há duas maneiras de se criar uma função:
  • function declaration
  • function expression
Function Declaration A function declaration consiste no uso da palavra function seguida pelo nome da função, parâmetros e o escopo onde é limitada entre as chaves {}. Segue o exemplo de uma function declaration welcome:
function welcome(nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
Definimos a função welcome, porém só a definição da função não a executa, para executá-la devemos chamar a função da seguinte forma:
welcome(“deviscoming”); 
Como a função espera um parâmetro devemos informar entre os parênteses (); Para poder ver o resultado usaremos o método log do Objeto console para mostrar o resultado a chamada da função.
console.log(welcome(“deviscoming”));
resultado : Olá deviscoming! Seja bem vindo ao Javascript! :) Function Expression A function expression pode ser anônima, ou seja, podem ou não ter nomes. Segue o exemplo da function expression anônima:
var welcome  = function (nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
Veja que a function expression é muito similar a function declaration, o que diferencia uma da outra é o nome da função e que a function expression é atribuída a uma variável. Mas uma function expression pode ser declarada também com um nome da função chamada de Named Function Expression :
var welcome  = function welcome (nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
Mas e agora? Qual a diferença da Function Expression para a Named Function Expression? Usando a named function expression você consegue identificá-la em um debug para verificar seu stack trace. Para chamar a expression function devemos chamar pelo nome da variável que a function foi atribuída.
console.log(welcome(“deviscoming”));
resultado : Olá deviscoming! Seja bem vindo ao Javascript! :)
A pergunta que não quer calar, qual a diferença entre a Function declaration e a Function Expression? A function declaration é carregada antes do código sem interpretada, assim se eu chamar a função antes de declará-la funcionará normalmente.
console.log(welcome(“deviscoming”));
function welcome(nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
resultado : Olá deviscoming! Seja bem vindo ao Javascript! :)
Já a Function expression é carregada no momento da interpretação do código, então nesse caso se ela for chamada antes da sua declaração você receberá um exception de resultado:
console.log(welcome(“deviscoming”));
var welcome = function welcome(nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
resultado : TypeError : undefined is not a function….
Ou seja na function expression deve ser chamada somente após a sua declaração:
var welcome = function welcome(nome) {
 return  “olá ” + nome + “! Seja bem vindo ao Javascript! :)”; 
};
console.log(welcome(“deviscoming”));
resultado : Olá deviscoming! Seja bem vindo ao Javascript! :)
Sabendo dessas duas formas de criar uma função entendendo como cada uma funciona, cabe a você decidir qual das duas deverá usar, qual delas é mais legível para o seu entendimento. É isso ae pessoal, esse foi o primeiro post sobre funções javascript. para podermos entender um pouquinho desse universo do javascript. Fique de olho no blog , que logo teremos a continuação sobre as funções Javascript.


Um abraço, Cheers! 🍻

quarta-feira, 22 de fevereiro de 2017

Bloquear o Googlebot no seu site

Fala galera que acompanha o blog... 

Anteriormente eu expliquei o que é e como funciona o Googlebot. 
Nesse post, vamos aprender algumas forma de bloquear os bots no nosso site, seja para bloquear alguma página que não gostaríamos que fosse mapeada ou para um evitar o mapeamento de paginas privadas. 

Bloquear o Googlebot no seu site

Precisamos entender que é quase impossível manter um servidor da web em sigilo não publicando links para ele, como vimos a busca realizada por esses bots parte de um link base e a acessa a cada link que vai surgindo, realizando a indexação dos mesmos. 

Para impedir que o Googlebot rastreie o conteúdo do seu site, temos algumas formas de agir. Eu vou deixar o link que direciona para o conteúdo que a própria Google disponibiliza: 

De todas as opções a mais fácil com certeza é proteger com senha os seus diretórios, no entanto o uso do arquivo robots.txt, além de prevenir os bots, protegem que arquivos de imagens sejam exibidos nos resultados da Pesquisa Google. 

No entanto o uso de apenas um desses métodos não garante total segurança de que seu conteúdo não foi indexado e não será exibido nas buscas realizados no Google. É claro que o modo a ser utilizado, vai depender da sua necessidade. 
Fugindo um pouco do escopo de indexação e indo mais diretamente em segurança da informação, sempre utilize senhas nos diretórios que são privados. 

Como mencionado no site de suporte do Goole, embora o Googlebot e outros rastreadores da Web confiáveis sigam as instruções de um arquivo robots.txt, que funcionam apenas como diretivas, elas podem não ser seguidas por outros rastreadores mal intencionados, outro detalhe é que cada rastreador pode interpretar esses arquivos de maneira diferente. É importante saber a sintaxe apropriada para atender a diferentes rastreadores da Web, pois alguns podem não entender todas as instruções. 

O Google disponibiliza um link que se chama Search Console, nele existem diversas opções que auxiliam e muito o trabalho de webmaster, entre ela a poSsibilidade de verificar links quebrados, paginas indexadas, verificar se seu site está sendo indexado pelo Google, realizar buscas como se fosse o Google e diversas outras coisas, acesse o site e se divirta verificando detalhes que podem ser melhorados no seu site. 

É isso ai pessoal, espero ver o site de vocês no topo das buscas rs 
Até a próxima.

terça-feira, 21 de fevereiro de 2017

Googlebot e seu site

Fala galera que acompanha o blog... 

Se você ainda não conhecia o Googlebot e a relação dele com seu site, esse post é muito importante para aprender como o seu site é "mapeado" na internet por esse robozinho... 

Googlebot é o robô de rastreamento da Web do Google (também chamado de "indexador"). O rastreamento é o processo pelo qual o Googlebot descobre páginas novas e atualizadas para serem incluídas no índice do Google. 

Talvez o termo "indexador" não te remeta a nenhuma lembrança sobre assuntos relacionados que você já tenha lido, pois podem ser encontrados em outros termos como: web crawlersbots, web spiders, web robot ou web scutter. 


Googlebot e seu site

O mais comum é web crawler que em português significa rastreador web. O processo de rastreamento que um web crawler executa é chamado de web crawling ou spidering. Em particular os motores de busca, usam crawlers para manter uma base de dados atualizada, mas também podem ser utilizados para executar tarefas de manutenção automatizados em um site, como verificar links quebrados ou código HTML e até mesmo minerar endereços de email, normalmente utilizados para spam. 

Bom, todos os dias milhares de sites são criados e desativados na Internet, e como seria possível acompanhar toda essa movimentação? Como são definidos quais são os sites que ficarão no topo ao realizar uma busca? E principalmente como as buscas são feitas de forma tão rápida? 
Googlebot atua vasculhando a internet em 3 fases: 

Fase I - RastreamentoO rastreamento é o processo pelo qual o Googlebot descobre páginas novas e atualizadas para serem incluídas no índice do Google. Usa-se um grande conjunto de computadores para buscar (ou “rastrear”) bilhões de páginas na Web.
O processo de rastreamento do Google começa com uma lista de URLs de páginas da Web, gerada a partir de processos anteriores de rastreamento e aumentada com dados do sitemap fornecidos por webmasters. Conforme o Googlebot visita cada um desses sites, ele detecta os links de cada página e os inclui na lista de páginas a serem rastreadas. Novos sites, alterações em sites existentes e links inativos serão detectados e usados para atualizar o índice do Google.

O Google não aceita pagamento para rastrear um site com mais frequência e mantém a área de pesquisa de negócios separada dos serviços geradores de receita do Google AdWords.

Fase II - Indexação: Agora que o Googlebot já identificou os sites e recolheu as informações sobre eles, chegou a hora de ele processar estas informações. Na fase da indexação os sites anteriormente lidos são agora avaliados segundo uma série de critérios e testes que analizam o nível de SEO e o Googlebot decide então quais deles são os mais relevantes para cada keyword. É nessa fase que são decididos quais são os melhores sites e que eles são separados. Outra curiosidade interessante que é nessa fase também que o Googlebot realiza os testes de black hat no seu site. Se alguma irregularidade for encontrada no seu site ao invés de ele ser marcado como sendo um dos melhores ele é marcado com um site “ladrão” e é punido. Entre as punições podemos ter desde a perda de pontos que vão fazer o seu site cair no ranking até a desindexação onde o seu site é literalmente “expulso” do Google não aparecendo mais nos resultados de nenhuma pesquisa. 

Fase III - PublicaçãoQuando um usuário faz uma consulta, nossas máquinas pesquisam o índice de páginas correspondentes e retornam os resultados que acreditamos ser os mais relevantes para ele. A relevância é determinada por mais de 200 fatores, entre eles o PageRank de uma determinada página. O PageRank é a medida da importância de uma página com base nos links de entrada de outras páginas. Em outras palavras, cada link para uma página no seu site proveniente de outro site adiciona um PageRank ao seu site. Nem todos os links são iguais: o Google trabalha com afinco para melhorar a experiência do usuário, identificando links de spam e outras práticas que afetam negativamente os resultados da pesquisa. Os melhores tipos de links são aqueles retornados com base na qualidade do conteúdo.

Muito bacana não? 

Conforme informado no próprio site de suporte do Google, o acesso do Googlebot não deve ocorrer, em média, mais de uma vez no intervalo de poucos segundos. Um detalhe importante é acompanhar os seus registros  que podem mostrar visitas de diversas máquina no google.com.br, todas com o Googlebot user-agent. Caso seja necessário solicite  uma alteração na taxa de rastreamento nesse link aqui.

Ahh importante mencionar que não existe apenas o Googlebot, temos diversos outros robozinhos como: Yahoo! Slurp é o nome do crawler do Yahoo!, Msnbot é o nome do crawler do Bing – Microsoft, Methabot é um crawler com suporte a scripting escrito em C e vários outros. 

É isso ai pessoal, até a próxima!