sábado, 11 de maio de 2019

Concatenação de String de forma eficiente em Golang (Go)

Existem algumas maneiras de concatenar strings em Golang, porém a mais prática e rapida é com  a utilização do tipo Buffer que fica dentro da classe bytes.
O Buffer pode ser visto em go com uma espécie de StringBuffer em Java.

Exemplo:

package main

import ("fmt"
         "bytes")

func main(){

  var buf bytes.Buffer
 

  buf.WriteString("Menu nome é ")
 

  buf.WriteString("John")
 

  result := buf.String()


  fmt.Println(result)

}



Onde:

  • var buf bytes.Buffer - Declaração da várivel tipo Buffer.
  • buf.WriteString("Menu nome é ") 
  • result := buf.String() - Obtenção da String já concatenada.

sexta-feira, 10 de maio de 2019

Concatenando String de forma eficiênte em java

Há momentos que é necessário concatenar ("juntar") uma grande quantidade de Strings em java isso pode ser feito dentre as maneiras simples as duas listadas abaixo:


Pela junção com o operador mais +

...
String x = stringY+stringZ;
...


Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto+" Teste "+i;
        }
    }

Pelo método concat da própria classe String


String x = stringY.concat(stringZ);

 Exemplo:

     public static void main(String args[]) {
      
        String texto = "Teste 01";
      
        for(int i=0;i<10000 br="" i="">        {
            texto=texto.concat(" Teste "+i);
        }
    }


Ambas maneiras são validas, porém quando é necessário juntar uma grande quantidade de Strings essas maneiras se tornam defasadas. Para tiramos melhor aproveito uma ótima saída é utilizar a classe StringBuilder.

Sintaxe:

StringBuilder nome = new StringBuilder();

nome.append(string);

Onde:
nome.append(String); - Método para concatenação da string.


Exemplo:

     public static void main(String args[]) {
      
        StringBuilder texto=new StringBuilder();

      
        for(int i=0;i<10000 br="" i="">        {
            texto.append("Teste "+i);

        }
    }




Comparativo

Abaixo é possível ver uma classe que faz a comparação entre os tipos de concatenação acima.
 

 public class Teste {

    public static void main(String args[]) {

      
        String texto = "Teste 01";
        long inicio = System.nanoTime();
        long diferenca;
        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto+"Teste "+i;
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom soma +");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());

        inicio = System.nanoTime();
        texto="";

        //**********************************************
        for(int i=0;i<10000 br="" i="">        {
            texto = texto.concat("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom concat");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto.length());
      
        //**********************************************
        StringBuilder texto2=new StringBuilder();
        inicio = System.nanoTime();

        for(int i=0;i<10000 br="" i="">        {
            texto2.append("Teste "+i);
        }
      
        diferenca = System.nanoTime()-inicio;
        System.out.printf("\n\nCom StringBuilder");
        System.out.printf("\nTempo: %d ns",(diferenca));
        System.out.printf("\nTamano: %d ns",texto2.toString().length());

    }

}



Saída:

Com soma +
Tempo: 293225120 ns
Tamano: 98898 ns

Com concat
Tempo: 23470066971 ns
Tamano: 98890 ns

Com StringBuilder
Tempo: 4156625 ns
Tamano: 98890 ns



Como foi possível ver o método com StringBuilder é muito mais rápido do que as outras maneiras.

quinta-feira, 25 de abril de 2019

Como listar os arquivos em Java

O principal objetivo deste post é explicar como é feita a listagem de arquivos em um determinado diretório.

Para a realizar a listagem será utilizada classe java.io.File. Abaixo é possível ver o código funcionando.

Exemplo:

import java.io.File;

public class LeitorArquivos {

public static void main(String[] args) {

File file = new File("/tmp/teste");
//File file = new File(“C:\\”); //Caso fosse em sistema windows
if(file.exists())
{
for(File fileTmp:file.listFiles()) {
if(fileTmp.isDirectory()) {
System.out.println("Diretório: "+fileTmp.getName());
}
else {
System.out.println("Arquivo: "+fileTmp.getName());
}
}
}
}

}


No código acima é utilizado o método listFiles() de uma instãncia do java.io.File, esse método tem a finalidade de retornar todos os arquivos de um diretório que é referente na inicialização da da instância do java.io.File (File file = new File("/tmp/teste");).




quarta-feira, 24 de abril de 2019

Como verificar todos os indices de uma tabela no postgresql

Sintaxe:

SELECT indexname,indexdef FROM pg_indexes WHERE tablename='NOME_TABELA'


Onde:

  • NOME_TABELA - Nome da tabela a ter os indices consultados.


Exemplo:

SELECT indexname,indexdef FROM pg_indexes WHERE tablename='tb_usuarios'

sábado, 9 de março de 2019

Programando em Java - Váriaveis

Assim como em outras linguagens de programação uma variável é de suma importância para use programar. A  grosso modo uma váriavel nada mas é que dado guardado em um local da memória do computador para uso posterior.

Abaixo é possível ver alguns tipos de variaveis de , vale lembrar que existem vários tipos de variaveis em Java.

  • boolean -   Tipo boleano -                Ex: true ou false
  • char -        Caracter -                       Ex: 'c' , 'A' 
  • double -     Número Decimal -          Ex: 2.2, 3.5
  • int -            Número inteiro -            Ex: 1, 2, 3, 4, etc...
  • String -      Cadeia de caracteres -   Ex: "Nome", "carro", "123". 

Sintaxe:

tipo_variavel nome_variavel ;

Onde:


  • nome_variavel - O nome propriamente dito da variável.
  • tipo_variavel - Tipo da variável (int,double,float, String, etc)

Exemplos 1: 

int idade;
String nome;
String nome,cpf;
boolean isValido;
Boolean isCorreto;




Anterior                                                                 Inicio                                                             Próximo

sexta-feira, 8 de março de 2019

Programando em Java - Comentários

Os comentários são informações adicionais que são adicionadas ao código para facilitar o entendimento do mesmo, os comentários não são exibidos em tempo de execução do programa. Em Java são bem simples de serem feitos, os mesmos podem ser em blocos ou linhas.

1º Comentário em bloco


No em bloco é possível escrever mais que uma linha de comentário dentro do campo /* */ . Sendo que o mesmo é marcado com /* e terminado com */

Sintaxe:

/*

bloco_de_mentario

*/

Onde:

/* - Inicio do bloco de comentário.

*/ - Final do bloco de comentário

bloco_de_mentario - Comentário propriamente dito.


2º Comentário em linhas


No estilo de comentário em linha é possível escrever o comentário apenas em uma linha continua.

Sintaxe:

//comentario 1

//comentario 2

Onde:

//- Marcador de comentário

comentario 1 - Comentário propriamente dito.

comentario 2 - Comentário propriamente dito.


Exemplo na prática.

Abaixo vamos ver o exemplo simples com utilização dos comentários.

package main;
 

/*Comentário 
 com 
 várias 
 linhas
*/
 

public class ClassePrincipal {


 
//Comentário de uma unica linha

     public static void main(String args[]) {

        System.out.println("Ola, Mundo!\n");

    }

}



Voltar                                         Inicio                                                               Próximo


segunda-feira, 28 de janeiro de 2019

Criando, Removendo e Renomeando pastas por linha de comando (windows)

Criando uma pastas


Sintaxe:

mkdir nome_pasta

Exemplo:

mkdir pastaTeste



Para criar várias pastas de uma única vez bastas colocar os nomes separadas por espaço.

Exemplo:

mkdir teste1 teste2 teste3


Renomeando uma pasta


move nome_orginal novo_nome

ExemplO;

move pastaTeste pastaXX



Movendo uma pasta


move nome_arquivo local_arquivo

Exemplo;

move pastaXX c:\teste\teste2


Removendo uma pasta


rmdir nome_pasta

Exemplo:

rmdir pastaXX


 

Como deixar todas letras maiscula (upper case) ou minusculas (lowercase) em Go (golang)

Para deixar todas letras de uma string maisculas (CAIXA ALTA) utilizamos o método strings.ToUpper(string) e para deixarmos todas letras minusculas utilizamos o strings.ToLower(string). Veja os exemplo abaixo:

package main

import ( "fmt"
         "strings"
        )
      
func main(){
 nome:="MagusCode"

 fmt.Println("\nOrignial: ")
 fmt.Println(nome)

 fmt.Println("\nTodas maiusculas: ")
 fmt.Println(strings.ToUpper(nome))

 fmt.Println("\nTodas minusculas: ")
 fmt.Println(strings.ToLower(nome))

 }


Saída:




Veja também:


Curso de Go Basico

Curso pratico de Java Básico

Programando em Java - Introdução

Objetivo

Esse é o primeiro de uma série de posts que viram a explicar uma maneira bem simples e pratica de como se programar em Java. Tentarei explicar da maneira mais simples através de exemplos como se programa em Java.

Pré requistos


Introdução

Java é uma linguagem de programação orientada a objeto criado nos anos 90, na empresa Sun Microsystem. Hoje a mesma pertece da Oracle em 2008 quando a mesma comprou a Sun. Ao contrário de muitas lingugens existentes hoje o  Java não é compilada em linguagem nativa da maquina, mas sim em um código intermediario que é interpretado pela maquina virtual java (JVM).

A sintaxe de Java é semelhante a C/C++, dentre algumas características podem citar:
  • Orientação a Objeto
  • Portabilidade independente da plataforma  (pois roda ma JVM)
  • Linguagem simples
  • Dinamismo
  • Distribuído
  • Tipada

Primeiro programa em Java 

A estrutura básica de um programa em java é:

package nome_pacote;

public class Nome_Classe{

    metodo() {

        ....
    }

}

Abaixo vamos ver o exemplo simples do nosso primeiro programa em java:

package main;

public class ClassePrincipal {

    public static void main(String args[]) {

        System.out.println("Ola, Mundo!\n");

    }

}



Onde:

package main - Nome do pacote onde seu programa está sendo criado. 
public class ClassePrincipal - Em java todo código a ser executado deve estar dentro de uma classe.
public static void main(String args[]) - Função principal do programa. Todo programa em Go precisa ter uma função main, ela é o ponto de inicio de qualquer projeto feito nessa linguagem.

System.out.println("Ola, Mundo!\n") - Nesse trecho imprimimos algo na tela


Programando em Go (Golang) - Interface

Em golang uma interface é uma coleção de assinaturas de métodos. Em golango para se utilizar um intreface basta apenas implementar os métodos contidas na mesma.

Sintaxe:

type nome_interface interface{
  assinatura_metodo_1
  assinatura_metodo_2
  ...
  assinatura_metodo_n
}

Onde:

nome_interface - Nome da interface
assinatura_metodo_1 - Assinatura de um método.
assinatura_metodo_2 - Assinatura de um método.
assinatura_metodo_N - Assinatura de um método.

Exemplo:


package main

import ( "fmt"
         "strings")


type impressao interface{
    maiusculo() string
    minusculo() string
}


type usuario struct{
 nome, sobrenome string
}

type cidade struct{
 nome, estado string
}


func (c cidade) maiusculo() string{
  retorno:=strings.ToUpper(c.nome)+" - "+strings.ToUpper(c.estado)
  return retorno
}


func (c cidade) minusculo() string{
  retorno:=strings.ToLower(c.nome)+" - "+strings.ToLower(c.estado)
  return retorno
}


func (u usuario) maiusculo() string{
  retorno:=strings.ToUpper(u.nome)+" "+strings.ToUpper(u.sobrenome)
  return retorno
}


func (u usuario) minusculo() string{
  retorno:=strings.ToLower(u.nome)+" "+strings.ToLower(u.sobrenome)
  return retorno
}

func main(){
 cidade:= cidade{nome:"Lorena", estado:"São Paulo"}
 usuario:= usuario{nome:"Robson", sobrenome:"Gomes"}

 fmt.Println("\nDados da Usuario:\n")

 fmt.Println(" ",usuario.maiusculo())
 fmt.Println(" ",usuario.minusculo())

  fmt.Println("\nDados da Cidade:\n")


 fmt.Println(" ",cidade.maiusculo())
 fmt.Println(" ",cidade.minusculo())
 
}


Como foi possível ver acima foi criado um programa que conta com a interface  impressao:

type impressao interface{
    maiusculo() string
    minusculo() string
}


Nela é definida duas assinaturas de métodos simples, sendo que ambas retornam uma string. Logo os dois métodos são implementados pela estrutura usuario e cidade.

func (c cidade) maiusculo() string{
  retorno:=strings.ToUpper(c.nome)+" - "+strings.ToUpper(c.estado)
  return retorno
}


func (c cidade) minusculo() string{
  retorno:=strings.ToLower(c.nome)+" - "+strings.ToLower(c.estado)
  return retorno
}


func (u usuario) maiusculo() string{
  retorno:=strings.ToUpper(u.nome)+" "+strings.ToUpper(u.sobrenome)
  return retorno
}


func (u usuario) minusculo() string{
  retorno:=strings.ToLower(u.nome)+" "+strings.ToLower(u.sobrenome)
  return retorno
}



E a chamada as mesma é as mesmas são utilizadas no método main.

func main(){
 cidade:= cidade{nome:"Lorena", estado:"São Paulo"}
 usuario:= usuario{nome:"Robson", sobrenome:"Gomes"}

 fmt.Println("\nDados da Usuario:\n")

 fmt.Println(" ",usuario.maiusculo())
 fmt.Println(" ",usuario.minusculo())

  fmt.Println("\nDados da Cidade:\n")


 fmt.Println(" ",cidade.maiusculo())
 fmt.Println(" ",cidade.minusculo())
 
}



Abaixo é possível ver o resultado do método do programa acima:




Menu Principal

segunda-feira, 21 de janeiro de 2019

Gerar número aletório em Go (golang)


 


Uma maneira bem simples de gerar um número inteiro aleatório em Go é a utilização da classe math/rand.
Para isso utilizamos o rand.Intn(max).

Sintaxe:

variavel =  rand.Intn(MAX_VALUE)


Onde:


  • variavel - Variavel na qual será guardado o valor gerado.


  • MAX_VALUE - Valor máximo a ser gerado. (sendo que o mesmo não é incluso na geração. Ex: 25 gera de 0 a 24)


Exemplo:

package main

import (
"fmt"
"math/rand"
)

func main(){

  for i:=0;i<10;i++{<10 font="" i="">
    randonInt := rand.Intn(25)
    fmt.Println(randonInt)
  }

}

Veja também:


Curso de Go Basico

O que é uma Exception em java ?

Uma Exception ou excessão é uma situação que acontece quando um programa foge em algum momento da maneira como ele deveria funcionar.

Por exemplo um NullPointerException acontece quando tentamos acessar alguma informação de dentro de um varável nula.

Exemplo:

....
public String getNome()
 {
   Usuario usuario;
   usuario.getNome();
}
....

No caso acima é lançado um NullPointerExecpton, pois estamos tentando acessar um atributo de uma variável não instanciada ou seja fugimos do fluxo correto do funcionamento do sistema.

Como evitar uma excessão ?

Uma maneira de tratar uma provável Exception em java é fazer utilização do try /cath ou enviar a mesma para  método que veio chamar o método que pode estorar a Exception atraves do throws.

Exemplo 1 - Fazendo o tratamento com try/catch:

//Tratando com try/cath
...
....
public String getNome()
 {
   Usuario usuario;
 try{
     usuario.getNome();
    }catch(Exception e){
      //  ...tratamento
     usuario= new Usuario();
     usuario.nome = "Sem nome";
     
  }
}
....

Exemplo 2 - lançando a Exception par ao método que fez a chamada ao método problemático:

....
public String getNome() throws Exception
 {
   Usuario usuario;
   usuario.getNome();
}
....

sexta-feira, 18 de janeiro de 2019

Pausar a execução em go golang

Caso seja necessário dar uma pausa em uma execução de um programa em golang go por algum motivo, podemos utilizar o método Sleep da classe Time.
 
 
Sintaxe:
 
 
 time.Sleep(tempo)
 
 
Exemplo:
 
 
package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Printf("%v\n", time.Now())

    time.Sleep(4 * time.Second)

    fmt.Printf("%v\n", time.Now())
}

Como conectar no WhatsApp Web

Muitas vezes precisamos enviar arquivos ou simplesmente falar com mais tranqulidades sem que seja necessário ficar com o celular na mão. Uma maneira simples de usar o WhatsApp com uma pagina da web, para isso basta seguir os proximos passos.


1º Acesso site: https://web.whatsapp.com/




2º Abra o WhatsApp no seu smart phone e clique nos três pontinhos na parte superior direita.



3º Quando os três pontos forem clicados vai abrir um menu, neste basta escolher a opção WhatsApp Web.


4º Na proxima tela abrirá uma tela com camera, basta centralizar o qr code no centro da mesma, apontando para ele.(QR Code é quadrado branco e preto com o simbolo do whatsApp na primeira foto)



5º Assim que for reconhecido o QR Code abria o WhatsApp Web na pagina de internet que você abriu primeiramente.




Gerar numero alétório em java


Uma maneria bem simples de gera números aleatórios em java utilizar a classe java.util.Random. Abaixo vamos ver alguns exemplos.


Gerando número inteiros

Sintaxe:

Random random = new Random();
random.nextInt(max_num)


 Onde:
  • max_num - Número maximo que podera ser gerado. (Ex: 40 seria de 0 a 40 os números gerados)

Com  random .nextInt(max_num) será gerado um número entre zero e o max_num.

Exemplo:

import java.util.Random;

public class Teste {

    public static void main(String args[]) {

        Random rd = new Random();

        for (int i = 0; i < 10; i++) {
            System.out.println("" + rd.nextInt(40));
        }
    }

}


Saída:

25
17
9
25
13
6
27
11
23
25



terça-feira, 15 de janeiro de 2019

Converter decimal para hexadecimal em java


Uma maneira bem simples de converter decimal para hexadecimal em java é utilizando a classe Integer do próprio java.

Sintaxe:

String resultado = Integer.toHexString(numero_conversao);


Onde:

resultado - valor já convertido.
Integer.toHexStrin


Exemplo:



public class Teste {

    public static void main(String args[]) {

        String hexNumber = toHex(412);
        System.out.println("" + hexNumber);

    }

    public static String toHex(int numero) {
        return Integer.toHexString(numero);
    }
}




Saída:

19c

sábado, 12 de janeiro de 2019

Como saber a quantidade de linhas retornada em uma query sql

Resumo

SELECT count(*) FROM nome_tabela


Para descobrir quantas linhas tem em uma determinada tabela podemos utilizar o palavar chave count.

Sintaxe:

SELECT count(*) FROM nome_tabela


Onde:

nome_tabela - É o nome da tabela da qual terá as linhas contadas.




Exemplo 1:

SELECT count(*) FROM Pessoas


Nesse exemplo seria retornado o total de linhas que existe na tabela Pessoa




Caso seja necessário é possivel adicionar filtros para contar o total de itens de acordo com o mesmo.


Exemplo 2:

SELECT count(*) FROM Pessoas WHERE sexo='m'


Nesse caso seria retornado o total de acordo com o filtro.


terça-feira, 8 de janeiro de 2019

Como limitar a quantidade de resultados de um SELECT


Resumo:


SELECT  CAMPOS  FROM   TABELA WHERE   FILTRO LIMIT QUANTIDADE


Há momentos que precisamos limitar a quantidade de linhas que é retornado em uma consulta SQL, para isso utilizamos a palavra chave LIMIT na consulta em questão.


Sintaxe:


SELECT  
  CAMPOS 
 FROM
  TABELA 
WHERE
  FILTRO 
LIMIT QUANTIDADE

Onde:



LIMIT - Palavra chave
QUANTIDADE - Quantidade de linhas a ser retornada


Exemplo:

SELECT nome, rg FROM Pessoas WHERE id>30 LIMIT 10


Na consulta acima será retornado somente os dez primeiros itens de acordo com o filtro.

domingo, 6 de janeiro de 2019

Diferença entre C e CE da calculadora

Quem nunca parou para pensar a diferença entre a tecla C e CE da calculadora. Pois bem vamos ver a diferença da maneira mais simples.

C - A tecla C ("Clear", limpar em inglês) simplesmente apaga todo o calculo feito posteriormente.

Exemplo:

Imagine que você está somando o valor de uma compra, de forma consecutiva.

2+4
+3
+1

Caso você aperte C será limpo todo registro. Nesse caso o resultado seria 2 caso adiciona-se +2.

CE - Já o CE ("Cancel Entry", cancela registro) simplesmente apaga o registro atual, sendo possivel continuar o calculo que está fazendo.

Exemplo:

Imagine que você está somando o valor de uma compra, de forma consecutiva, como no exemplo acima.

2+4
+3
+1

Caso você aperte CE será limpo somente o ultimo registro +1. Logo se você adicionar +2 o resultado seria 11 e não 2



sexta-feira, 4 de janeiro de 2019

Como verificar se uma chave existe em um JSON

Para verificar se uma chave existe em um objeto json em java utilizamos o método has(string)


Sintaxe:

JSON_OBJETO.has("chave")


Onde:

  • JSON_OBJETO - Objeto json que será verificado.
  • chave - String que representa a chave a ser busca no objeto json

Nesse caso o método retornar true caso exista a chave no objeto json e false caso não exista.