Pages

Subscribe:

quarta-feira, 11 de novembro de 2015

Gerar QR CODE com PHP

Olá pessoal, hoje vou mostrar para vocês como gerar um QR Code com o php, antes de começar você deve baixar a biblioteca que iremos usar link, agora crie um novo documento html e apenas preencha com as tags padrão, dessa forma:

 <html>  
      <head><title>QR CODE</title></head>  
      <body>  
           <?php  
           ?>  
      </body>  
 </html>  

Após isso importamos a biblioteca dentro das tag php, deixando dessa forma:

  <html>   
    <head><title>QR CODE</title></head>   
    <body>   
       <?php   
          include('phpqrcode/qrlib.php');  
       ?>   
    </body>   
  </html>  

Logo após o include, iremos chamar o comando que irá gerar a imagem do QR Code para nós:
 QRcode::png("http://hu3tech.blogspot.com.br/", "QR_code.png");  

Veja que indicamos o tipo de imagem que ele deve gerar, passamos o link que queremos gerar a imagem com o QR Code e depois o nome do arquivo de imagem que ele deve gerar,  após isso devemos adicionar a imagem a tela com a tag img, ficando com o código assim:
 <html>  
      <head><title>QR CODE</title></head>  
      <body>  
           <?php  
               include('phpqrcode/qrlib.php');  
               QRcode::png("http://hu3tech.blogspot.com.br/", "QR_code.png");  
           ?>  
           <img src="QR_code.png" width=250 heigth=250>  
      </body>  
 </html>  

Feito isso ele deve gerar a imagem do QR Code, bem espero que vocês tenham gostado, não deixe de curti nossa página Hu3Tech, isso é tudo pessoal.

sábado, 17 de outubro de 2015

MySql para PostgreSQL em PHP

Olá Pessoal, venho aqui falar um pouco da mudança do código escrito em PHP para acesso ao banco de dados em MySql para acesso no PostgreSQL.

Ante iremos falar o porque de mudar o seu SGBD, o MySql embora seja mais rápido o PostgreSQL é mais robusto, ele possui maís funções e também uma possibilidade de tamanho da base de dados maior em relação ao MySql.

Bem vamos lá começando pela conexão, para realizar você não modificara quase nada, apenas o comando como a seguir:
 $conect = pg_connect("host=localhost dbname=banco port=5432 user=postgres password=suasenha");  

Quando executar uma instrução deve mudar ela conforme a sintaxe do PL/SQL que é um pouco diferente do SQL.
 $instrucao = 'select * from "Estado"';  

Veja que o nome da tabela está com aspas duplas, no SQL normal não é necessário.

Agora para executar usamos o seguinte comando:
 $resu = pg_query($conect,$instrucao) or die(pg_last_error($conect));  

Para percorrer os resultados
 while($linha = pg_fetch_array($resu) )  

Vejam que não muda muito os comandos e nem como os usa, bem isso é tudo pessoal, espero que tenham gostado e não deixe de curtir nossa página Hu3Tech e fique por dentro das nossas publicações.

quarta-feira, 14 de outubro de 2015

Material Design Lite

    Galera, venho trazendo para vocês um material recém lançado do Google. Esse material possibilita trazer uma aparência em sites baseada nas versões mais recentes do Andriod utilizando as linguagens HTML, CSS e JavaScript.O Material cujo o nome Material Design Lite (MDL) é muito fácil de ser utilizado assim como o Bootstrap,  ele suporta até mesmo os navegadores mais antigos e irá aderir a uma interface super moderna.    

Alguns possíveis componentes disponíveis pelo material:



Os material, componentes, templetes entres outros recursos estão disponível para download clicando aqui.
Para a utilização vamos dar o seguinte exemplo:

primeiramente teremos que fazer download do nosso Material Design Lite, iremos encontrar no site uma aba de download, e baixaremos um arquivo compactado em WinRar. Para o tutorial rápido de hoje não precisamos, vamos usar o código do material diretamente hospedado do site, mas para aqueles que querem seguir seu desenvolvimento com o material em arquivo apenas faça o download e façam a "lincagem" dos arquivos necessários.

Após baixar e descompactar na pasta de seu projeto, crie um arquivo do tipo HTML, insira o código a seguir, estamos supondo que você já saiba programar em HTML, então vamos apenas explicar o código do material.

nas tags head faça a lincagem dos principais arquivos do material, CSS e JavaScript

Obs: esses links não precisam do material baixado.

<link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.5/material.indigo-green.min.css" /> 
<script src="https://storage.googleapis.com/code.getmdl.io/1.0.5/material.min.js"></script>

Repare na descrição da lincagem do CSS a terminação material.indigo-green essa terminação define qual vai ser o estilo da sua página de acordo com os componente que você vai utilizando, através deste Link você pode gerar várias outras combinações, apenas substitua a lincagem do CSS do nosso tutorial pelo o fornecido pelo o site.

Ainda no Head definimos uma estilização de fonts aqui:

<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

aqui vamos apenas criar um botão do HU3TECH usando o nosso Material Design Lite:

<body>
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent">HU3TECH</button>
</body>

Espero que tenham gostado, desfrutem do material tem muita coisa bacana. Um forte abraço, Valew


Escrito por Rone Felipe Bento.

domingo, 23 de agosto de 2015

Android Reconhecimento de voz

E aí pessoal!..
Hoje viemos trazer uma dica de android, para aqueles que desejam aprimorar um app, ou até mesmo, montar um app novo usando esse conceito. Vamos falar sobre o reconhecimento de voz.
Quando fui utilizar o reconhecimento em um app que eu estava construindo, assim como todos fazem, fui pesquisar. Na internet encontrei vários exemplos, mas muitos mostravam de uma maneira complicada, o que dificultava a implementação no projeto, mas depois de alguns testes consegui implementar de uma maneira bem simples.


O teste que vou mostrar aqui funciona da seguinte maneira:
- Na primeira tela será implementada uma ListView (invisible de preferencia), pois é nela que será a comparação da palavra reconhecida.

<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_centerHorizontal="true"
android:visibility="invisible"
android:background="#ffffee8c" 
/>


Ficará mais ou menos dessa maneira.
- Na Action desse seu .xml deverá ser implementado da seguinte maneira:
Na sua classe use o implements OnCompletionListener
De acordo com o app que você estará criando, você fará uma chamada para o método onCompletion. Esse método irá abrir a tela de reconhecimento de voz:

public void onCompletion() {
   Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
   i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
   RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
   i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Fale agora");
   startActivityForResult(i, check);
 }
Ela irá mandar para o método que irá implementar na listView o resultado obtido. 

Uma variável pegará o primeiro resultado para comparação da palavra correta.
@Override
protected void onActivityResult ( int requestCode, int resultCode, Intent data){
if (requestCode == check && resultCode == RESULT_OK) {
   ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
   palavra = results.get(0);
   lv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results));
 }
super.onActivityResult(requestCode, resultCode, data);
palavra = removeAcentos(palavra); //Método que remove acentos da palavra comparada
if (palavra.equals("sim")) {
   respSim();  // Se a palavra for sim irá para o método implementado dizendo o que ele tem que fazer
} else if (palavra.equals("nao")) {
   respNao();//
Se a palavra for não irá para o método implementado dizendo o que ele tem que fazer

}else {
   showSimplePopUp(); //Se não for correto abrirá um pop-up dizendo que a palavra não esta correta.
}
}



Método para remover acentos da palavra:

public String removeAcentos(String str) {
   str = Normalizer.normalize(str, Normalizer.Form.NFD);
   str = str.replaceAll("[^\\p{ASCII}]", ""); return str;
}

Método para mostrar o Pop-up de aviso que a palavra está errada:
private void showSimplePopUp() {
AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
helpBuilder.setTitle("Resposta Incorreta");
helpBuilder.setMessage("Responda Sim ou Nao");
helpBuilder.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
      // Do nothing but close the dialog
      }
      });
AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
}

É isso ai pessoal, é um código bem simples e bem legal de conhecer para se implementar em um projeto.
Se foi útil pra você, se você gostou, compartilha ai, curta nossa página no Facebook e qualquer dúvida é só comentar.

Até mais.

sexta-feira, 21 de agosto de 2015

Algoritmos de escalonamento de processos

Olá pessoal, hoje venho falar de alguns algoritmos que podem ser bem chatos de desenvolver, bem são os algoritmos de escalonamentos de processos, esses algoritmos são implementados pelo sistema operacional para escalonar os processos de uma forma que eles possam ser executados no menor tempo possível.

Cada algoritmo a ser mostrado aqui possui critérios para o escalonamento do processo e é isso que veremos.

O primeiro deles é o FCFS( First-Come,First Server), funciona como uma fila normal, o primeiro que entra é o primeiro que sai.

O burst do processo é o tempo que ele precisa para ser executado.

A imagem demonstra a execução dos processos, percebam que esse algoritmo não é bom, pois tem processos que não demoram para serem executados e portanto poderiam ter sidos executados antes.

O próximo é o SJF(Shortest Job First), ele diferentemente do FCFS ele escalona os processos conforme o burst do processo.
Vejam a diferença que dá, os mesmos processos usado no FCFS tiveram média de espera de 3, por isso o SJF é uma opção melhor que o FCFS.

Agora o outro o algoritmo é o SRTF(Shortest-Remaining-Time-First), agora esse ele é preemptivo, ou seja, se um processo com burst menor que o processo que esta sendo executado, ele interrompe o processo atual e como executar o processo que chegou.
No SRTF o tempo de espera é calculado a partir do tempo de chegada, e veja que o processo p1 foi interrompido e p2 começou a ser executado, e assim por diante.

O próximo algoritmo é o Round Robin, nesse algoritmo é definido um quantum de tempo, o quantum ele vai definir o tempo em que o processo pode ser executado, sendo assim se o processo não tiver terminado sua execução e o tempo dele acabar ele volta para a fila de espera até ser executado novamente até ser terminado.


Agora por último o algoritmo Multinível, como o próprio nome fala ele possui vários níveis, mas cada nível pode implementar um algoritmo de escalonamento diferente, um exemplo é no primeiro nível o Round Robin e no segundo FCFS, sendo que se ele não terminar de executar na primeira fila ele vai para a segunda fila.

Agora deixo para vocês darem uma olhada as implementações deles feita por nós do blog, Escalonamento em C e Escalonamento em Java.

Bom isso é tudo pessoal, espero que tenham gostado e não esqueça de curtir nossa página no facebook Hu3Tech, aquele abraço e tchau.

segunda-feira, 6 de julho de 2015

BootStrap

Olá pessoal, bem hoje irei falar sobre o Bootstrap e como você pode estar usando em seus projetos de desenvolvimento web.

Bem o bootstrap ele é um Framework para desenvolvimento front-end ou seja para a parte visual, é bem simples de usar, foi criado pelo pessoal do twitter.

Para começar a usar você precisa fazer o download dele no site do bootstap, ele vai fazer o download de um zip, e basta você extrair.

Ele vem na seguinte estrutura:

Para começar a usar você deve incluir ele no código do seu site, basta adicionar o css e o js na tag head do código.

Já possui uma grande quantidade de classe pré-configuradas para você usar, acelerando o tempo de desenvolvimento seu. Além disso você não precisa se preocupar tanto em desenvolver um css responsivo porque por si só o bootstrap já é responsivo, ele utiliza colunas para separar os elementos na tela, pode ter até 12 colunas.

Bem isso é tudo pessoal espero que tenham gostado, e não esqueçam de curti nossa página no Facebook Hu3Tech, e também dê sua opinião sobre o blog aqui.

sexta-feira, 29 de maio de 2015

PS MOVE API

Hoje irei falar da PS MOVE API, bem para quem não sabe o PS MOVE é o sensor de movimento do Playstation, formado pelo Ps Eye e o controle.


Alguns desenvolvedores criaram uma API, com ela você pode desenvolver uma série diferente de softwares.

Também tem um package para unity 3d que é o Unimove. Pode desenvolver tanto em windows, linux e mac. Para desenvolver você precisa ter um pc que possua uma conexão Bluetooth, no próprio github da API possui as instruções necessárias para a conexão dos controles e também para o desenvolvimento..


Atualmente estou desenvolvendo um projeto usando o Unimove, quando estiver pronto disponibilizo o link do github para vocês darem uma olhada.
Bom isso é tudo pessoal, espero que tenham gostado.