Mostrando postagens com marcador programação. Mostrar todas as postagens
Mostrando postagens com marcador programação. Mostrar todas as postagens

quarta-feira, 10 de janeiro de 2024

Como usar o sleep (pausa) em JavaScript

Sintaxe:

setTimeout(code, delay);

Exemplo:

 setTimeout(() => { console.log('2 second passed'); }, 2000);








#javascript #programação #ti #development

terça-feira, 28 de setembro de 2021

Como gravar .GIF direto da tela do computador

Apenda neste post uma maneira de gravar imagens em gif direto da tela de seu computador.




quarta-feira, 27 de janeiro de 2021

Verificar se uma tabela existe no sql lite

 


 

Para verificar se uma tabela existe no sqlLite basta utilizar a query abaixo:


SELECT count(*) FROM sqlite_master WHERE type='table' AND name='nome_tabela'; 

 

Onde

  • nome_tabela - Nome da tabela que você deseja ver se existe.

 

 Caso exista a tabela será retornado o valor 1(um), caso contrário será retornado 0 (zero).

 

Exemplo

SELECT count(*) FROM sqlite_master WHERE type='table' AND name='usuarios';

terça-feira, 5 de janeiro de 2021

Versionamento centralizado e distribuido

Controle de Versão é um sistema que armazena todo o histórico no desenvolver de um projeto de 

software seja alterações de código, inclusão, remoção etc.. Sua finalidade é gerenciar diferentes versões 

de um documento que sofre alterações ao longo do tempo durante o desenvolvimento de um projeto.
 

Versionamento centralizado

O versionamento centralizado é composto por um único servidor central e várias estações

de trabalho, com base no conceito de arquitetura cliente-servidor. Este sistema possui uma topologia na 

forma de estrela, sendo um único repositório central para várias estações de trabalho.O mesmo mais 

voltado para equipes pequenas.

Alguns exemplos de sistema como esse são: Subversion e CVS.

 

Vantagens

  • Maior controle do projeto.
  • Possibilidade de bloqueio de arquivos específicos.
  • Imposição de segurança de acesso.


Desvantagens

  • Baixa escalabilidade.
  • Todas versões ficam em uma única maquina.
  • Necessidade de conexão constate com o servidor.


Versionamento distribuído

No versionamento distribuído existem vários diretórios autônomos e independentes, para cada

programador (estação de trabalho). Ou seja cada estação de trabalho possui seu próprio repositório e as

alterações feitas no código são salvas localmente. Ao contrário do versionamento centralizado as 

estações podem se comunicar entre si, mas é recomendado que se utilize um servidor responsável.

Git, mercurial e Bazaar são alguns exemplos desse tipo de sistema.

 

Vantagens

  • Maior rapidez e autonomia.
  • Replicação de repositórios.

Desvantagens

  • Uma maior complexidade no fluxo de trabalho.



Essa arquitetura é recomendada para equipes com grande quantidade de desenvolvedores que estão

remotamente distantes.

 


 

terça-feira, 24 de novembro de 2020

Pegar data atual em PYTHON

 


 

Uma das maneiras de pegar a data atual em python é utilizar o método now() da classe datetime

Sintaxe:

from datetime import datetime

dataAtual = datetime.now()


Onde:

dataAtual - Variável que conterá a data.


Exemplo:


from datetime import datetime

dataAtual = datetime.now()

print(dataAtual)

 

segunda-feira, 23 de novembro de 2020

Fazer leitura escrita de arquivo texto em Python

O principal objetivo deste poste é explicar de maneira simples como se realizar escrita e leitura de arquivos texto utilizando a linguagem de programação Python.

 

Escrita

Para escrita de um arquivo utilizamos  o método open(string,string), que recebe dois parâmetros, o primeiro é o local onde está o arquivo que será aberto, o segundo é tipo de permissão, como vamos criar um arquivo para escrita utilizamos o parâmetro 'w' e o método write(string) do próprio tipo arquivo.

Sintaxe:

nome_arquivo = open('caminho_do_arquivo', 'permissao')

nome_arquivo.write('dados')


Onde:

* nome_arquivo - Variável do tipo arquivo.

* caminho_do_arquivo - Caminho onde o arquivo será criado(caso não for especificado caminho o arquivo será criado no mesmo nível do arquivo .py que o chama).

* permissão - Permissão para abertura do arquivo (w - escrita , r -leitura)

 *dados - String a ser inserida.

 

Exemplo:

arquivo = open('arquivo.txt','w')

arquivo.write('Isso é apenas um teste...')


Neste exemplo será criado um arquivo.txt com permissão de escrita e será adicionado o conteúdo "Isso é apenas um teste.." ao mesmo.

 

Leitura

Para escrita de um arquivo utilizamos  o método open(string,string), que recebe dois parâmetros, o primeiro é o local onde está o arquivo que será aberto, o segundo é tipo de permissão, como vamos criar um arquivo para leitura utilizamos o parâmetro 'r' e o método read() do próprio tipo arquivo.


Sintaxe:

nome_arquivo = open('caminho_do_arquivo', 'permissao')

nome_arquivo.read()

 

Onde:

* nome_arquivo - Variável do tipo arquivo.

* caminho_do_arquivo - Caminho de onde o arquivo será lido.

* permissão - Permissão para abertura do arquivo (w - escrita , r -leitura)


 

Exemplo:

arquivo = open('arquivo.txt','w')

arquivo.write('Isso é apenas um teste...')

arquivo = open('arquivo.txt','r')

print(arquivo.read())

 

Neste exemplo o arquivo que criamos terá seu conteúdo exibido no console de saída.

 

 


 

 

quinta-feira, 30 de julho de 2020

Como enviar um tag local para o servidor no git

Exemplo simples de criação de tag:

git tag -a nome_tag -m "descrição da tag"



Exemplo de envio de tag para o servidor git

git push --tags

terça-feira, 7 de julho de 2020

Qual a diferença dos testes de caixa branca, preta e cinza.

Caixa preta


O teste de caixa preta tem como foco os requisitos da aplicações e as ações que o mesmo deve desempenhar. 


Exemplos do que pode ser testado em teste de caixa preta: 

  • Data de nascimento preenchidas com datas futuras

  • Campos que deveriam ter validação

  • Campos obrigatórios

  • Verificar as ações dos botões. 


O mesmo não faz referência a estrutura interna do sistema.


Caixa Branca


O teste de caixa branca (também conhecido com teste estrutural ou de caixa de vidro) é voltada para parte interna do projeto, nesse teste é verificado se a estrutura do mesmo é válida e feita da melhor maneira possível. 


Exemplo do que pode ser testado: 

  • Existem variáveis que não são utilizadas ao longo de classes o métodos..

  • É verificado se existem código que fazem a mesma coisa ou repetição de código desnecessário.

  • Verificação de controle de fluxo.


Caixa cinza


O teste de caixa cinza é mix tanto do teste de caixa preta quanto o de caixa branca, nesse teste é analisado tanto o conteúdo interno ao sistema quanto aos requisitos do mesmo.




#ti #teste

segunda-feira, 9 de março de 2015

Exibir . ponto em expressão regular (regex)

Resumo

String url = "maguscode.blogspot.com";
String[] urlDividida = url.split("\\.");


Explicação


Em expressão regulares em java o ponto (.) demonstra a busca por qualquer caractere. Para utilizado em uma String sem que isso causa confusão é bem simples, basta adicionar duas contra barras (\) antes do caractere que representa o  ponto.

Exemplo:

public static void main(String args[]) {
String url = "maguscode.blogspot.com";
String[] urlDividida = url.split("\\.");
for (String i : urlDividida)

System.out.println(i);
}

Observação:


As duplas de contras barras podem ser utilizadas para deixarem qualquer outro caracter utilizado para expressão regulares (*, ., ?)

domingo, 28 de setembro de 2014

Utilização do atributo position do p:dialog do primefaces


A utilização é bem simples para determinar o local onde será exibido seu dialog na tela basta usar as coordenadas x e y.

Sintaxe:
...codigos....

Exemplo:

terça-feira, 16 de outubro de 2012

Conectando em um banco de dados com java

 

 

Introdução


O banco de dados hoje em dia é a principal fonte de informação de qualquer impresa hoje em dia.
Hoje vamos ver de maneira simples como se faz um programa java para conectar à um banco de dados (postgresql) e utilizar os dados requiridos pelo mesmo.
Para manipular dados de um banco de dados é necessário seguir alguns passo:


1º Obter conexão

Para efetivar  uma conexão ao banco de dados é necessário utilizar a classe DriverManeger e utilizar seu método getConnection e informar a url para conectar ao banco de dados, abaixo é possível ver um exemplo de método que obtenção de conexão em um banco de dados postgresql:


public Connection getConnection() throws SQLException {
        Connection con = null;
        con = DriverManager
                .getConnection("jdbc:postgresql://localhost/agenda_telefone?user=postgres&password=postgres");

        return con;
}



Para criar uma conexão em banco de dados postgresql é necessário que se adicione ao seu projeto o arquivo .jar ao projeto:
Abaixo é possível ver o trecho responsável por conectar a um banco de dados postgresql:

con = DriverManager    .getConnection("jdbc:postgresql://localhost/agenda_telefone?user=postgres&password=postgres");

A sintaxe básica para utilizar a linha acima é:

jdbc://nome_banco://host/banco_dados?user=usuario&password=password


Onde:

•    nome_banco – Tipo de banco de dados que está sendo utilizado (postgresql/mysql/oracle).

•    banco_dados – Banco de dados que iremos utilizar.

•    user -  Usuário utilizado para conectar ao banco e dados.

•    password – Senha do usuário para conectar ao banco de dados.


Caso sua aplicação deseja-se conecatar ao mysql um exemplo seria:

jdbc:mysql://localhost/agenda_telefone?user=postgres&password=postgres


2º Executar a query

Para executar uma query em java é utilizar a clausula PrepareStatement e a mesma será explicada através do método removePessoa.


Abaixo é possível ver o método removePessoa

    public boolean removePessoa(Pessoa pessoa) throws SQLException {
        Connection con = null;
      String DELETE_PESSOA = "DELETE FROM telefones WHERE pes_id = ?;DELETE     FROM pessoas WHERE pes_id = ?;";
       try {
            con = getConnection();
            PreparedStatement prepared = con.prepareStatement(DELETE_PESSOA);
            prepared.setLong(1, pessoa.getId());
            prepared.setLong(2, pessoa.getId());

            retorno = prepared.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnnection(con);
        }
        return retorno;

    }


Neste metodo logo que é adquirida uma conexão é instanciado um objeto do tipo PreparedStatement , esse objeto tem como principal objetivo adquirir a query e os parametros caso algum for necessário bem como executar a query e dar um retorno, no caso desta classe é apenas retornado um  boolean informado se query foi executado com sucesso.

A query é passada ao objeto através da linha:

PreparedStatement prepared = con.prepareStatement(DELETE_PESSOA);

Os paramtros são passados através das linhas:

prepared.setLong(1, pessoa.getId());
prepared.setLong(2, pessoa.getId());


Vale salientar que para cada tipo de parametro passado é utilizado um tipo de set dentro do PreparedStatement , caso fosse String por exemplo seria utilizado um prepared.setString.

A sintaxe para passagem de parametro é a seguinte:

    objeto_prepared.set_Tipo_OBJETO(posical_query, objeto);

Onde:

•    objeto_prepared – Objeto do tipo PreparedStatement.

•    set_Tipo_OBJETO -  Tipo de objeto a ser inserido como parametro.

•  posicao_query – Posição do parametro na query, sendo que é dado inicio no parametro 1.

•    objeto – Objeto a ser adicionado como parametro


Exemplo de passagem de paramtro

String query =” SELECT * FROM PESSOAS WHERE PES_ID= ? AND PES_NOME = ?”
...
prepared.setLong(1, pessoa.getId()) ;  //Passando um long como parametro
prepared.setString(2, pessoa.getNome()); // Passando uma String como parametro.

Neste exemplo o primeiro interrogação (?) será substituido pelo valor de pessoa.getId() e o segundo pelo valor de pessoa.getNome().


Para obter parametros de uma consulta feita no banco de dados além do objeto do tipo PreparedStatement é necessário utiliar um  do tipo ResultSet que pode ser encontrado no método selectTelefones.

Método selectTelefones


    public List selectTelefones(Telefone telefone)
            throws SQLException {
        Connection con = null;
        List listTelefone = new ArrayList();
        try {
            con = getConnection();
            PreparedStatement prepared = con.prepareStatement(SELECT_TELEFONE);
            prepared.setString(1, telefone.getNumero());
            ResultSet resultSet = prepared.executeQuery();

            while (resultSet.next()) {
                Telefone telefoneTmp = new Telefone();
                telefoneTmp.setId(resultSet.getLong("TEL_ID"));
                telefoneTmp.setNumero(resultSet.getString("TEL_NUMERO"));
                listTelefone.add(telefoneTmp);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnnection(con);
        }
        return listTelefone;

    }


O objeto do tipo ResultSet é obtido na linha:

ResultSet resultSet = prepared.executeQuery();
Para obter os valores contidos no ResultSet é necessário utilizar a seguinte sintaxe:

Sintaxe:

            while (resultSet.next()) {
                variavel = resultSet.get_Tipo_OBJETO("NOME_COLUNA"));
            }

Onde:

•    variavel – Variavel que guardará o valor obtetido através do resultSet.

•    get_Tipo_OBJETO – Tipo de objeto a ser obtido da coluna da tabela.

•    NOME_COLUNA – Nom da coluna que será adquirido o valor que será guardado na variavel.


Abaixo é possíve ver um exemplo contido no próprio programa.


...
            ResultSet resultSet = prepared.executeQuery();

            while (resultSet.next()) {
                Telefone telefoneTmp = new Telefone();
                telefoneTmp.setId(resultSet.getLong("TEL_ID"));
                telefoneTmp.setNumero(resultSet.getString("TEL_NUMERO"));
                listTelefone.add(telefoneTmp);
            }


Observação: O nome das colunas foram definidos no momento que fora criada as tabelas do banco de dados.

3º Fechar a conexão


Assim com um arquivo aberto deve ser fechado, uma conexão aberta também deve ser fachada, para isso é necessári o utilizar o método close.

Abaixo é possível ver um método utilzado para fechar uma conexão do tipo Connection.

public void closeConnnection(Connection con) {
        try {
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }




Conclusão

Como foi possível ver ao longo do post, a aquisição e utilização de dados de um banco de dados pode vir a ser bem simples.




sexta-feira, 3 de fevereiro de 2012

O que é NullPointerException ?

 

"Quem nunca tomou um NullPointerException atire o primeiro mouse."

Quando uma pessoa começa a caminhar o longo caminho do mundo da programação um erro comum com qual se defronta é com o famoso e não querido NullPointerException, mas o que vem a ser esse obstaculo na vida de um programador e como resolvê-lo ? Para resolver tais estão publiquei essa essa dica que explica de forma bem simples o que é e como resolver um caso simples de NullPointerException.


Como ocorre ?

O NullPointerException ou NullPointer para os mais íntimos ocorre quando tenta-se utilizar um atributo ou método de um objeto que não fora inicializado. (Que esteja no estado null). Um exemplo pode ser visto no código abaixo:


package com.blogspot.maguscode;

public class TesteNullPointer {

   
    public static void main(String args[])
    {
        Carro carro = null;
        carro.setMarca("Gol");
        System.out.println("Marca do carro é:"+carro.getMarca());
    }
}


Quando esse código é executando o resultado é um NullPointerException como pode ser visto na figura abaixo:



 Neste caso o objeto Carro não foi instaciado e seu estado permaneceu nulo, quando foi tentado inserir um valor a seu atributo marca foi lançado um NullPointerException pois o objeto Carro em questão não existia em lugar algum. É como se tenta-se localizar uma casa com um determinado número em uma cidade que não existe.
De grosso modo o NullPointer acontece quando tentamos acessar um atributo em um objeto que não existe.


Como solucionar ?

Uma solução para matar o NullPointer seria verificar se o objeto está instancianciado caso não esteja instancia-lo ou simplismente instância-lo quando o mesmo for criado como no exemplo abaixo:



package com.blogspot.maguscode;

public class TesteNullPointer {

   
    public static void main(String args[])
    {
        Carro carro = new Carro();
        carro.setMarca("Gol");
        System.out.println("Marca do carro é:"+carro.getMarca());
    }


 




 
 

terça-feira, 23 de agosto de 2011

Criar programa java sem eclipse e netbeans

Logo que começamos a programar utilizamos alguma ferramenta(eclipse, netbeans, blueJ, jCreator,etc) para nos auxiliar. Porém imagine um cenário que não temos por algum motivo alguma destas ferramentas de desenvolvimento, como seria feito um programa java? Abaixo vou explicar uma maneira simples de criar um programa em java e executa-lo através do terminal no linux.


1º Crie um arquivo no gedit ou qualquer outro editor de sua preferencia.

Sintaxe:

gedit arquivo.java

arquivo.java - Arquivo .java que será criado.

Exemplo:

gedit Tabuada.java






2º Edite o seu código como o de costume no gedit.


3º Salve o código fonte e execute o "complilador"

Sintaxe:

javac arquivo.java

arquivo.java - O arquivo .java criado em seu editor.

Exemplo:

 javac Tabuada.java
 

4º Execute o .class gerado neste caso o arquivo chamará Tabuada.class

Sintaxe:

javac arquivo

arquivo - Nome do arquivo .class gerado.


Exemplo:

javac Tabuada




Exemplo 2:

java Tabuada 2 3



sexta-feira, 8 de julho de 2011

Criar exceções



Assim como qualquer objeto, em java também é possível criar suas próprias exceções. Imagine um cenário que nenhuma exceção existente faça sentido para ser lançada por você. Por exemplo imagine que por algum motivo você precisa que uma exceção seja lançada quando a letra “A” ou “a” não existe e determinada frase, como não existe nenhuma exceção específica para este caso será necessário criar uma exceção.


Criando uma exceção para ser lançada toda vez que uma letra “A” ou “a” não é encontrada em uma determinada frase.

public class SemLetraAException extends Exception {
@Override
public String getMessage() {
return "Não existe letra A em sua frase";
}

}
Toda exceção criada deve estender Exception, neste exemplo foi sobrescrito o método getMessage()
, que é exibida no prompt toda vez que a exceção é lançada.

Utilizando a exceção

Abaixo segue um exemplo que é utilizado a exceção criada acima.

public class TesteExcecao {

public static void main(String args[]) throws SemLetraAException {
String frase = "Sou um teste!";
if(!frase.contains("a") || !frase.contains("A"))
throw new SemLetraAException();
}
}

Quando o programa acima fosse executada uma exceção do tipo SemLetraAException() será lançada, abaixo é está a saida exibida no prompt:

Exception in thread "main" SemLetraAException: Não existe letra A em sua frase
at TesteExcecao.main(TesteExcecao.java:8)

sexta-feira, 6 de maio de 2011

Criando e usando arquivos de propriedades em java





Há momento que precisamos rodar algum .jar ou até mesmo um programa e precisamos mudar algum parametro que o mesmo utiliza sem mecher no código fonte, uma solução simples para este problema é utilizar arquivos de propriedades.
Abaixo vamos ver uma maneira simples de criar uma arquivo de propriedades e fazer com o seu programa java leia o  mesmo.



1º Crie o arquivo de propriedade.
  

O arquivo de propriedade nada mais que um arquivo com extenção .properties. O mesmo deve ser salvo em algum pré-determinado em seu programa java, para que o mesmo seja lido, nesse exemplo o meu arquivo de properties foi salvo dentro do projeto em uma pasta com o nome properties. Você pode salvar o seu arquivo de propriedades em qualquer lugar do seu computador, porém não se esqueça de colocar sua localização correta no seu programa.






Conteúdo do arquivo de propriedades:


prop.nome = Mario
prop.dir = /tmp 





2º Crie um programa para ler o arquivo de propriedade.










Conteúdo do programa:


import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

/**
 *
 * @author Robson Fernando Gomes
 * http://maguscode.blogspot.com
 *
 */
public class ArquivoDePropriedades {

   
    public static Properties getProp() throws IOException
    {
        Properties props = new Properties();
        FileInputStream file = new FileInputStream("./properties/dados.properties");
        props.load(file);
        return props;
       
    }
   
    public static void main(String args[]) throws IOException
    {
        System.out.println("**********Teste usando arquivo de propriedades**********");
        Properties prop = getProp();
        System.out.println("Nome = "+prop.getProperty("prop.nome"));
        System.out.println("Diretorio = "+prop.getProperty("prop.dir"));
    }
}





O código pode ser simplicado da seguinte maneira:


No primeiro método da classe:


Properties props = new Properties(); - Instancia-se a classe Properties

FileInputStream file = new FileInputStream("./properties/dados.properties"); - Mostra a localização do arquivo .properties


  props.load(file); - Carrega o arquivo na variavel props.





No segundo método da classe:




Properties prop = getProp(); - Obtém o objeto Properties.
System.out.println("Nome = "+prop.getProperty("prop.nome")); - Pega-se a propriedade do item prop.nome.


System.out.println("Diretorio = "+prop.getProperty("prop.dir"));
- Pega-se a propriedade do item prop.dir.







Resultado da execução do programa:








Saída:










**********Teste usando arquivo de propriedades**********
Nome = Mario
Diretorio = /tmp