Subscribe:

quarta-feira, 9 de dezembro de 2015

Sou iniciante em programação, por onde devo começar?

Olá pessoal, nas postagem de hoje não vou ensinar nada, apenas irei falar um pouco por onde começar no mundo da programação.

Muitos ainda estão começando a dar os primeiros passos na programação e muitos não tem noção do que utilizar, qual linguagem é a melhor para ele começar, etc.
1 - Qual linguagem devo começar a estudar primeiro? 
                                      

Se você está em um curso provavelmente você vai aprender portugol ou C, para mim você deve aprender primeiro portugol, porque o ajudará nos primeiros momentos a aprender a demonstrar sua lógica através de comandos, depois de você conseguir fazer programas em portugol dai comece a estudar C, pois é uma linguagem estrutural e muitas das linguagens atuais partiram do próprio C, dessa forma o seu aprendizado de outras linguagens  será mais fácil.

2- Escolhido a linguagem que devo usar, o que fazer?

Após você escolher a linguagem que você irá começar procure IDE ou Compiladores da linguagem, se você escolheu portugol basta você procurar por IDE´s que você irá encontrar vários, se você for utilizar C primeiro você deve instalar o compilador Mingw e instalar alguma IDE, se preferir pode não utilizar IDE, fazendo a compilação no próprio terminal, mais se você estiver começando de preferencia em utilizar alguma IDE.

3- Instalei tudo o que preciso, e agora?

Agora é a hora de botar para quebrar, procure pela documentação da linguagem e por apostilas, leia atentamente e veja os principais comandos, mas junto com a leitura teste os comandos para que você possa aprender como utilizá-los. É bom também que você comece a estudar os códigos e também a testá-los utilizando Teste de Mesa, dessa forma você poderá encontrar erros no programa.

4- Aprendi o básico
Bom depois que você aprendeu o básico faça exercícios e desafios para que você possa fixar bem os comando e suas utilizações, e comece explorar além dos seus limites atuais, dessa forma se aprofundando na linguagem.

Provavelmente você irá ter muitas dúvidas no começo, mais seja curioso, pesquise o mais afundo possível, evite copiar códigos prontos, e não esqueça o treino leva a perfeição.
Bom isso é tudo pessoal, espero que tenham gostado, e não deixe de curtir nossa página no facebook Hu3Tech.

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.

quarta-feira, 13 de maio de 2015

GRUB RESCUE > problema com dual boot BOOT REPAIR

Para o pessoal que usa Dual boot provavelmente já deve ter visto esse problema, você ligar seu PC e dar de cara com a tela preta escrito 'GRUB RESCUE'. Pela internet existem vários jeitos de arrumar esse problema, mostrarei 2 possíveis maneiras de arrumar.

1) Reinstalar o GRUB sem o LIVE CD
Quando aparecer o grub rescue digite:


>> ls      -->   irá mostrar as partições do seu HD
>> set root=(hd0,4)>> set prefix=(hd0,4)/boot/grub
>> insmod normal
>> normal


Utilizei o 4 somente como exemplo da utilização de uma das partições, mas você deve colocar o número da partição que está instalado o seu ubuntu.Utilizando esses comandos você conseguirá acessar o ubuntu normalmente. Assim é só acessar o terminal (CTRL + ALT + T) e digitar:


>> $ sudo apt-get install --reinstall grub 

Alguns problemas se resolvem apenas seguindo esses passos. Para outros casos, deve se seguir a segunda opção.

2) Recuperar o GRUB com CD LIVE e boot-repair
Primeiramente utilizar um CD LIVE do ubuntu para iniciar o sistema sem instalar ele. Depois de iniciado, entrar no terminal e digitar:


>> sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

>> sudo apt-get install -y boot-repair && (boot-repair &

Se tudo ocorrer bem a tela do boot-repair irá abrir, ai é só clicar em 'Recommended Repair' que ele fará o processo de arrumar o GRUB.

Se caso o problema seja com o windows, ele não iniciar com as escolhas, ai é necessário um cd de reparação do windows pois o problema será no MBR. Recomendo ter um cd de manutenção chamado DART, ele contém várias aplicações para manutenção, e uma delas resolve rapidamente o problema do MBR. É isso ai pessoal, espero ter ajudado. Curtam e compartilhem...




sexta-feira, 8 de maio de 2015

Tempo de um processo em Python

Nada como ter um bom código não é mesmo?
Mas, o que é necessário para que o seu código seja bom? Existem várias coisas que você pode fazer para que seu código se torne melhor, uma delas é ver o tempo de execução de suas funções, desse modo você busca melhores maneiras de tornar o seu programa mais rápido.
Bom, um exemplo bem fácil de ver isso funcionando é usando a lib TIME do Python. No exemplo pegamos um vetor com números aleatórios, e fizemos uma ordenação do modo seleção, e pegamos o tempo que demorou para fazer essa ordenação.

def selectionSort(alist):
   for fillslot in range(len(alist)-1,0,-1):
       positionOfMax=0
       for location in range(1,fillslot+1):
           if alist[location]>alist[positionOfMax]:
               positionOfMax = location

       temp = alist[fillslot]
       alist[fillslot] = alist[positionOfMax]
       alist[positionOfMax] = temp

import time

alist = [54,26,93,17,77,31,44,55,20]
ini_time = time.time()
selectionSort(alist)
end_time = time.time()
end_time = end_time - ini_time
print(alist)
print(end_time)


Agora é só testar e melhorar o código pessoal, abraço.




domingo, 3 de maio de 2015

Teclado desconfigurado Ubuntu V 15.04

E ai pessoal.
Com a atualização do Ubuntu para a V15.04, meu teclado acabou ficando desconfigurado(notebook ACER). Encontrei várias maneiras de se arrumar esse problema, e é até bem básico se comparado a várias outras coisas do dia a dia. Mas encontrei um comando em um tópico que achei bem legal e foi o mais eficiente de todas as maneiras que eu tinha encontrado antes. 


1) abra o terminal ( CTRL + ALT + T)
2) digite: sudo dpkg-reconfigure keyboard-configuration
3) abrirá uma tela de configuração, é só seguir os passos que o seu teclado voltará ao normal.



Se você es.colher as opções erradas durante a configuração, lógico que seu teclado continuará errado, é importante ter atenção.

É isso aí, compartilhem a idéia.



quinta-feira, 30 de abril de 2015

Intel Real Sense

E ai pessoal, hoje vou falar um pouco sobre um assunto muito legal que é o intel Real Sense.
Bem mais o que é o Real Sense?
  Ela é uma nova tecnologia da intel, onde você pode controlar seu pc pelo os movimentos das mãos.

Mas para usar você precisa adquirir a câmera 3d, que custa em torno de $99, a câmera é parecida com o kinect do xbox, pois utiliza duas câmeras e um laser.

Já possui um sdk para desenvolvedores, e você pode o integrar com a unity para captura dos movimentos, também é uma boa opção para modelagem 3d.

Para desenvolvedores será muito interessante o uso, principalmente para os desenvolvedores de jogos para pc, poderá levar a nível de interação maior do jogador, e também sem falar da possibilidade de representar objetos reais, pessoas, tudo.

Agora fiquem com esses videos de demonstração dela.

 


Bom isso é tudo pessoal, espero que tenham gostado.

segunda-feira, 23 de março de 2015

URI

Fala pessoal, então ficamos  um tempão sem postar  e vamos tentar voltar a postar semanalmente, bem hoje irei falar de um site muito bom para treinar lógica de programação, esse site é o URI.

Bem ele tem uma grande quantidade de problemas para serem resolvidos, e são separados por assunto.


Outra coisa legal é o ranking, ele possui o ranking geral e também por faculdade.

E para cada problema ele possui um sistema de toolkit, onde você pode entrar com os testes que você queira fazer e ele te a saída, para poder comparar com a saída do seu programa.

Bom isso é tudo, e não deixem de curti a página nossa no facebook: Hu3Tech.