Mostrando postagens com marcador facil. Mostrar todas as postagens
Mostrando postagens com marcador facil. Mostrar todas as postagens

quarta-feira, 26 de setembro de 2018

Como pegar o mac de computadores na rede

Caso seja necessário algum dia que seja pego o mac dos computadores em uma rede, basta utilizar o comando arp. Vale lembrar que é necessário abrir o  powershell ou o cmd para executar o comando.cd

MAC de todos computadores de uma rede


Sintaxe:


arp -a




MAC de um IP especifico

Para obter o mac de um determinado IP basta utilizar a sintaxe abaixo:

Sintaxe:


arp -a IP


Onde:


IP - O IP propriamente dito (ex: 10.10.20.1 , 192.168.0.1)


Exemplo:

arp -a 192.168.0.12


Pegando MAC do PC

O comando para pegar o mac do proprio pc é  getmac

Sintaxe

getmac



sábado, 22 de setembro de 2018

Programando em Go (Golang) - Loop For



Uma estrutura de laço executa uma determinada ação até que um certo requisito deixe de ser verdadeiro e passe a ser false(falso).
Em Go (golang) existe somente a estrutura de laços for.

For completo


O laço completo é aquele no qual tem todos os três parâmetros do mesmo (inicializador, expressão_condicional, pos_execucao).

Sintaxe básica:


for inicializador; expressao_condicional; pos_execucao{
 //corpo do laço
}

Onde:

  • inicializador - Ação incial na primeira integração do for
  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • pos_execucao - ação a se executada toda vez que o laço for integrado
  • corpo do laço - Ações que serão executadas dentro do laço.


Observações


Vale lembrar que a variável criada no inicializador existe somente dentro do laço for. Ao contrário de outras linguagens é obrigatório a utilização das chaves { } para delimitar o corpo do laço.

Exemplo:


package main

import "fmt"

func main() {
mult := 2
for i := 0; i < 10; i++ {

fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
}
}

Saída da execução do programa:




For sem inicializador


O laço sem inicializador é aquele no qual tem dois dos três parâmetros do mesmo (expressão_condicional, pos_execucao).

Sintaxe básica:

for expressao_condicionalpos_execucao{
 //corpo do laço
}


Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • pos_execucao - ação a se executada toda vez que o laço for integrado
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variavel i do inicializador.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for ; i < 10; i++ {


fmt.Printf("\n%d * %d = %d",i,mult,mult*i)

}
}


For continuo


O laço no qual há apenas o parametro de expressao_condicional.

Sintaxe básica:


for expressao_condicional{
 //corpo do laço
}

Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variável i do inicializador e também o do pos_execução.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for ; i < 10;  {



 fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
         i+=1   
}
}



Usando for como while


Assim como for continuo o for como while tem somente o bloco de condicional

Sintaxe básica:


for expressao_condicional{
 //corpo do laço
}


Onde:

  • expressao_condicional - Expressão a ser verificada sempre que há a integração no laço, caso o resultado da mesma seja false o laço é terminado.
  • corpo do laço - Ações que serão executadas dentro do laço.


Exemplo:

No exemplo abaixo foi removido a variável i do inicializador e também o do pos_execução.

package main

import "fmt"

func main() {
mult := 2
                   i:=0
for i < 10  {


 fmt.Printf("\n%d * %d = %d",i,mult,mult*i)
         i+=1   
}
}


For infinito


É aquele for que não nenhum de seus blocos.

Sintaxe básica:


for {
 //corpo do laço
}


Programando em Go (Golang) - Constantes (constant)

Uma constante é uma variável na qual o conteúdo da mesma não pode ser modificado.
Em Go é possível declarar constantes utilizando a palavra chave const.
As variáveis do tipo constante não podem ser declaradas com utilização do :=

Sintaxe:


const nome_variavel = valor 


Onde:


  • const - palavra chave
  • nome_variavel - Nome da constante
  • valor - Valor da constante.


Exemplo:

 

package main

import "fmt"

const mult = 2

func mutiplicador(x int) int{

return mult*x;
}

func main() {

    multiplicando:=3
    resultado:=mutiplicador(multiplicando)

    fmt.Printf("Multiplicação %d x %d = %d",mult, multiplicando,resultado)

}

 

Anterior                                       Início                                                       Próximo

quinta-feira, 20 de setembro de 2018

Programando em Go (Golang) - Condicionais switch

Além do if/else em Go temos outro condicional que está presente em outras linguagens, no caso estou falando do switch. Com o switch é possível fazer uma especie de concatenação de if/else if e else.

Sintaxe:

switch varivel_comparacao:
{
case valor_1:
{
  acao_01
  break
}
case valor_2:
{
  acao_02
  break
}
case valor_3:
{
  acao_03
  break
}
case valor_n:
{
  acao_n 
  break
}
default:
acao_default
}

Onde:


  • variavel_comparacao - Variável para comparação e execução dos blocos.
  • valor_1,valor_2_valor_3,valor_n - São os possíveis valores de condição.
  • acao_1, acao_2, acao_3, acao_n,acao_default - São os possíveis ações de acordo com a validação da variavel_comparacao.
  • default - Caso nenhum valor seja aceito nos cases o mesmo o valor default é aceito.

Exemplo 1:


package main

import "fmt"

func main() {
 var resp string
 escolha := 32

switch escolha
{
case 32:
resp="Voce escolhe 32"
break;
case 45:
resp="Voce escolhe 45"
break;
case 65:
resp="Voce escolhe 65"
break;
case 25:
resp="Voce escolhe 25"
break;
default:
resp="Não é os valores acima"
}
fmt.Printf(resp)


}


Switch com case com mais de uma possíbilidade


Outra opção possível para facilitar a quantidade de case é colocar mais de uma condição ao mesmo.

Sintaxe:



switch varivel_comparacao:
{
case valor_1,valor_2:
{
  acao_01
  break
}
case valor_3:
{
  acao_03
  break
}
case valor_n:
{
  acao_n 
  break
}
default:
 acao_default
}

Onde:


  • variavel_comparacao - Variável para comparação e execução dos blocos.
  • valor_1,valor_2_valor_3,valor_n - São os possíveis valores de condição.
  • acao_1, acao_2, acao_3, acao_n,acao_default - São os possíveis ações de acordo com a validação da variavel_comparacao.
  • default - Caso nenhum valor seja aceito nos cases o mesmo o valor default é aceito.

Exemplo 2:


package main

import "fmt"

func main() {
 var resp string
 escolha := 32

switch escolha{
case 32,45:
resp="Voce escolhe 32 ou 45"
break;
case 65:
resp="Voce escolhe 65"
break;
case 25:
resp="Voce escolhe 25"
break;
default:
resp="Não é os valores acima";
}
fmt.Printf(resp)


}

terça-feira, 18 de setembro de 2018

Programando em Go (Golang) - Variáveis

Assim como em outras linguagens de programação uma variável é de suma importância em Go, para iniciar uma variável em Go utiliza a palavra chave var.

Sintaxe:

var nome_variavel tipo_variavel

Onde:


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



Exemplos 1:

var idade int
var nome string
var nome,cpf string



Nível de acesso a variáveis


As variáveis em Go pode estar ao nível de pacote(package) ou local a uma função(func).

Sintaxe:

package pacoteX

var nome string //Variável ao nivel do pacote

func main()
{
var cpf string //Variável ao nivel da função main
...
}

func calculoX()
{
var numero1,numero2 int //Variável ao nivel da função calculoX
...
}



Exemplo 2: 

package main

import "fmt"

var nome, rg, cpf string

func main() {
var idade int
fmt.Println(nome, rg, cpf, idade)
}


Nesse exemplo as váriaveis nome, rg e cpf estão no nivel do pacote, já a idade está no nivel da função.


Variveis com inicialização


Em Go podemos inicializar multiplas váriveis em uma unica linha, uma por vez.

Sintaxe:


var var1,var2,var3 tipo_variavel = valor1,valor2,valor3

Onde:



  • var1,var2,var3 - São as váriaveis a serem inicializadas.
  • valor1,valor2,valor3 - Os valores que serão atribuidos as variáveis var1,var2,var3


Exemplo 3: 

No exemplo abaixo é possível ver multiplas váriaveis sendo inicializadas ao mesmo tempo.

package main

import "fmt"

var dia,mes,ano int = 1, 2, 2012

func main() {
var nome,sobreNome,habilitado = "Mario", true, "Kent"
fmt.Println(nome,habilitado,dia, mes, ano,  sobreNome)
}



Inicialização rápida de váriaveis


Em Go (golang) é possível inicializar variáveis de maneira rápida através da assinatura := . Utilizando a mesma ao invés da palavra chave var a variável é inicializada com um tipo implícito.

Sintaxe:


nome_variavel := valor

Onde:


  • nome_variavel - Nome da váriavel propriamente dita.
  • valor - Valor a ser atribuido intricicamente a váriavel nome_variavel.


Exemplo 4:


package main

import "fmt"

var dia int = 8

func main() {
ano:=1988
nome:="Mario"

fmt.Println(nome,dia, ano)
}


Não é possível inicializar uma váriavel de maneira "rápida" fora do corpo de uma função o exemplo abaixo não está correto.


Exemplo 5: 

Um exemplo com erro.

package main

import "fmt"

var dia int = 8
nome:="Mario" // trecho com erro

func main() {
ano:=1988

fmt.Println(nome,dia, ano)
}


Tipos de variáveis em Go 


Os tipos básicos de variáveis em Go são:


  • bool
  • byte 
  • complex64 complex128
  • float32 float64
  • int  int8  int16  int32  int64
  • rune 
  • string
  • uint uint8 uint16 uint32 uint64 uintptr


Variável inicializada sem valor


Em Go váriveis inicializadas sem um valor inicial explicito é dado o valor default para o mesma.


  • Para tipos números é atribuido o valor 0
  • Para tipo booleano é atribuido o valor false
  • Para tipo string é atribuído o valor "" (string vazia)


Exemplo 6:


package main

import "fmt"

func main() {
var idade int
var altura float64
var habilitado bool
var nome string
fmt.Printf("%v, %v, %v , %v, %v", nome,idade, altura, habilitado, nome)
}



Conversão de tipo


Em Go é possível converter o tipo de várivel utilizando a seguinte sintaxe:


tipo(valor)

Onde:


  • tipo - Tipo para o qual o "valor" será convertido.
  • valor - Valor a ser convertido.


Exemplo:




var idade int = 30
var fidade float64 = float64(idade)
var uIdade uint = uint(fidade)




Anterior                                       Início                                                       Próximo

sábado, 8 de setembro de 2018

Como executar uma ação quando EditText sofre alteração de focus ( blur , focus)

Caso seja necessário executar alguma ação quando o focu perdido ou adquirido em uma tag EditText no android é necessário utilizar apenas o exemplo abaixo no seu código fonte.



variavel_EditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {

      //ação a ser tomada quando o foco do mesmo é alterado
    }
});


sexta-feira, 7 de setembro de 2018

Bloquear o windows por linha de comando


Para bloquear windows por linha de comando basta executar o comando baixo no terminal, powershell ou menu executar (win+r)


C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation


Exemplo menu executar:


Abra o menu executar (aperte o botão win e a letra R)  e cole o comando acima e clique em executar.



Exemplo no cmd


Basta colocar a linha de código no cmd.



Exemplo com powershell



sexta-feira, 19 de janeiro de 2018

Como encontrar erros no código mais facilmente

Introdução


O principal objetivo deste post é disponibilizar algumas dicas simples algumas maneiras simples de como encontrar erros e dar manutenção de maneira mais simples em um código fonte.


Dicas


1º Escreva um código auto explicativo.


Tente escrever um código auto explicativo, que por si só diga o que faz passo a passo, por exemplo caso você tenha uma variável que guarde um atributo do tipo texto o valor de um nome do usuário,  de um nome para ela de "nome" ou "nomeUsuario" não faz sentido colocar o nome dessa variavel de "n" ou algo parecido.

Tente dar nomes aos métodos de sua classe que faça sentido, caso seu método seja um gerador de organizador de texto por exemplo, de um nome para o mesmo que se condiz com sua função, por exemplo "organizar Texto".


2º Escreva métodos pequenos 


Escreva métodos pequenos de no máximo 25 linhas, isso tornará seu código mais fácil de manutenção.


3º Reaproveite o código


Reaproveite os métodos e trechos e códigos já criados na mesma classe, evite colocar trechos de códigos repetidos que faça a mesma função em toda um classe. Um exemplo seria ter uma condição que verifica se uma variável está nula, crie um método que faça isso e o chame quando necessário, isso evitará manutenção em várias locais para o mesmo fim.

4º O modo debug é seu amigo


Quando possível debug seu código isso poderá facilitar em muito o processo para achar os erros mais facilmente.


5º Não esconda exceções para baixo do tapete


Em nenhuma hipótese capture um exceção e faça ela desaparecer. Caso o seu código capture uma execeção exiba de alguma maneira que a mesma foi capturada.



terça-feira, 26 de dezembro de 2017

Como matar um processo de maneria eficaz no linux

Uma das maneiras mais rapida de matar um processo no linux é através do terminal utilizando o comando kill.
Para isso basta abrir o terminal e executar os seguintes passos:

1º Abra o terminal



2º Descubra o PID do processo que você deseja matar através do terminal.

Para descobrir o PID (identificação do processo) utilize o comando ps como é possível ver abaixo:

Sintaxe:

ps aux |grep nome_processo



O PID é a numeração na segunda coluna. Nesse exemplo utilizamos o comando

Exemplo:

ps aux|grep google


3º Agora com o número do PID basta utilizar o comando kill onde a sintaxe é:


Sintaxe:

kill -kill numero_pid



Neste exemplo vamos fechar todos processo onde identificamos a palavra chave google.

kill -kill 5360 5567 5570


Caso haja mais de um PID basta utiliza sintaxe abaix:

kill -kill numero_pid_01 numero_pid_02 numero_pid_03 numero_pid_n




Abaixo é possível ver que os processo foram fechados com sucesso.




segunda-feira, 24 de julho de 2017

Erro ao publicar aplicativo no Galaxy App

Pode acontecer de quando tentamos adicionar um aplicativo ao Galaxy Apps lançar o erro citado abaixo. Neste post iremos explicar de maneira simples como resolver esse problema.

“The registered binaries do not meet the category conditions for GALAXY Specials. The GALAXY Specials category can be selected only if at least one binary supports GALAXY Specials. You can go to ‘Binary>Advanced Mode>Binary Details’ to check the supported GALAXY Specials options.”

A solução para esse problema e bem simples. Basta adicionar a linha abaixo no arquivo AndroidManifest.xml.

    < uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />





   



quinta-feira, 22 de junho de 2017

Instalando WampServer


Introdução





O principal objetivo deste post é explicar de maneira simples e rápida como se instala o WampServer.


1º Passo: Faça o download do setup


O setup do WampServer pode ser facilmente encontrado na internet, no meu caso fiz o download em:


https://sourceforge.net/projects/wampserver/

2º Passo: Instalação


Após fazer o download do arquivo basta dar dois clicks no meus para iniciar a instalação, pode ser que o seu sistema operacional
peça permissão para continuar com a instalação bastar dar OK e continuar.

Figura 1: setup do WampServer




Logo após iniciar clicar para iniciar a instalação, a primeira tela apresentada será para escolher o idioma a ser utilizado na instalação.

Figura 2: Seleção de idioma.



A segunda tela é a tela do contrato basta selecionar o aceito e clicar em "Next" ou "Próximo"


Figura 3: Tela do contrato


Figura 4: Tela de informações (Basta clicar em Next)



A próxima tela a ser apresentada é a tela que diz respeito do local onde será instalado, você pode escolher uma nova pasta ou escolher a página padrão.

Figura 5: Tela de seleção de local de instalação


Figura 6: Tela de seleção de local da pasta do menu iniciar(Basta clicar em Next)


Por fim aparecerá a tela de confirmação de instalação basta clicar no botão "Install"

Figura 7: Tela de confirmação de instalação.



Após clicar no botão install será iniciado a instalação do wampServer.

Figura 8: Tela de instalação do wampServer.



Quando a instalação estiver quase acabando é pedido para você selecionar o brownser padrão do wampServer, no windows por padrão ele escolhe o internet explorer, caso você queira escolher outro basta clicar em "Sim" e ir até onde está instalado outro brownser em seu sistema operacional.


Figura 9: Tela de seleção de browser para utilização do wampServer





Quando a instalação estiver quase acabando é pedido para você selecionar o editor padrão do wampServer, no windows por padrão ele escolhe o notepad, caso você queira escolher outro basta clicar em "Sim" e ir até onde está instalado outro editor em seu sistema operacional.

Figura 10: Tela de seleção de editor para utilização do wampServer




Caso você tenha o firewall ativo ele pode querer permissão para acesso.

Figura 11: Requisição para acesso através do firewall



Após dar acesso ao wamp será apresentado uma nova tela de informações nessa tela é apresentada alguma informações basicas para o uso do wampserver dentre elas uma muito importante é o usuário e senha default para acessar o servidor nesse caso o usuário é root e a senha não é preenchida ou seja não precisa digitar nada no local que pode a senha.

Figura 12: Tela com informações do funcionamento do wampserver.





Por fim foi terminada a instalação do wampserver basta clicar em "Finish" para fechar a tela.

Figura 13: Tela de finalização




3º Iniciando WampServer


Iniciar o wampServer é bem simples basta clicar no ícone do wampServer localizado na sua área de trabalho ou no menu iniciar, vale lembrar que e alguns caso é necessário ter privilégio de administrador no windows para executa-lo.

Figura 14: Icone para execução do wampServer.




Após clicar no icone o wampServer será iniciado e o mesmo pode ser visto perto do relógio na barra de iniciar.

Figura 15: Local onde está o icone do wampServer.



Clicando no icone do wampserver é possível ver todos os menus para execução e manutenção do mesmo.

Figura 16: Opção para execução do wampServer



Para você abrir o PhpMyAdmin e ver todas configuração do mesmo basta clicar eno icone do PhpMyAdmin


Figura 17: Tela de login do PhpMyadmin



Para logar basta utilizar usuário root e a senha vazia (não preencha nada deixe a caixa vazia) e clicar no Executar

Figura 18: Tela de configuração do PhpMyAdmin




Conclusão


Como foi possível ver ao longo deste post a instalação do wampserver é bem simples.


terça-feira, 20 de junho de 2017

Dicas para emprego



O principal objetivo deste aplicativo é dar dicas para quem deseja conquistar o primeiro emprego ou manter o que já tem.
Para conquista de um novo trabalho é possível ler dicas sobre criação de currículo e também há dicas para entrevistas, com detalhes podem ser decisivos na frente do entrevistador.
Caso você queira também existe algumas dicas para manter o emprego atual, com ideias do que fazer ou não para ajudar você.
O aplicativo pode ser visto com um pequeno manual de bolso para melhorar sua busca por um novo emprego e manter caso já tenha um.
O guia não vai fazer um emprego cair do céu, mas vai poder ajudar você em muito na batalha do dia-a-dia.
Além de proporcionar a leitura no seu seu dispositivo também é possível compartilhar as dicas com outras pessoas através do Facebook, Twitter, SMS, Gmail, WhatsApp, email ou outra formar de compartilhar informações existente eu seu dispositivo. 
Caso você tenha alguma ideia ou sugestão entre em contacto conosco, pois quem sabe na próxima versão essa ideia já esteja no implantada no aplicativo.






 Aplicativo no Google Play