Pages

Subscribe:

sexta-feira, 3 de junho de 2016

Hospedar Site Estático no GitHub Pages

Hoje irei falar de algo muito simples que é hospedar seu site estático no github. Para isso é necessário que você tenha uma conta no próprio github.

Primeiro crie um repositório qualquer.


Depois crie um novo Branch chamado gh-pages.

Feito isso vá em configurações, na seção de Branches, e mude o defaul brach de master para gh-pages e aperte em update.

Pronto seu repositório esta preparado, agora basta fazer o upload dos arquivos do seu site. Para acessar o site você entra da seguinte maneira http://<seu-nome-de-usuario>.github.io/<nome-do-repositorio/ .  Aqui está o link do site que eu fiz no pingendo para usar como exemplo, e aqui o do repositório.

Bom espero que você tenham gostado, e curta a nossa página no Facebook Hu3Tech, e isso é tudo pessoal!

terça-feira, 10 de maio de 2016

Enviar E-Mail gratuito através de aplicação Web

Hoje irei falar para vocês um pouco sobre o Google Scripts e também uma maneira fácil de você enviar e-mails em suas aplicações web.

Começando pelo Google Scripts, é uma plataforma onde você pode codificar web apps, api, etc, onde você pode estar integrando com os serviços que o google oferece. Para começar você deve entrar no seguinte Link. E será carregado a seguinte página.


Após isso aperte start Scripting e comece a desenvolver. O legal é que todos seus códigos ficarão salvos em seu google Drive, e nele já e possível realizar os testes e realizar o deploy da aplicação. A tela de desenvolvimento é a seguinte.



Mas vamos a parte mais legal que fazendo a parte de envio de e-mail.

 function doGet(e) {  
  var email = e.parameter.email;  
  var ass = e.parameter.ass;  
  var msg = e.parameter.msg;  
  var params = enviar(email,ass,msg);  
  return HtmlService.createHtmlOutput(params);  
 }  
 function enviar(email,ass,msg){  
   MailApp.sendEmail(email, ass, msg);  
  return "<html><head><title>Email Enviado</title></head><body style='background-color:blue;'>Email enviado</body></html>";  
 }  

Explicando o código, a função doGet e obrigatório se você quiser gerar um webApp, no caso usaremos doGet, pois elá recebera os dados via get, e recebe um parâmetro e que vai conter as informações do envio do email, depois criamo 3 váriaveis, e-mail com o e-mail de destino, ass vai receber o assunto da mensagem e msg com a mensagem a ser enviada, e params que vai receber um html retornado da função enviar. Depois isso a função doGet vai pegar esse html retornado e carregar.

Função salvar , nela chamamos a função sendEmail da biblioteca MailApp, e passamos o e-mail, assunto e mensagem como parâmetros, se o e-mail for enviado corretamente ele retornara o código html.

Agora para dar o deploy da aplicação basta selecionar a opção publicar e ir em deploy as Web App, em seguida irá aparece a seguinte tela.

Sempre que for lançar uma nova versão selecione new em project version, e configure os acessos conforme sua necessidade, e aperte deploy, após o deploy ele irá gerar um link da aplicação e esse link que utilizaremos em nossa aplicação para enviar e-mail.

Crie um formulário igual este:

 <form role="form" action="https://script.google.com/macros/s/AKfycbzwUDD5E5d3cI7KPEQ3ElN-8W9D83vOmFUQNKQ56S-0/exec" method="get">  
          <div class="form-group">  
              <label for="nome"> Assunto</label>  
              <input type="name" class="form-control" id="ass" name="ass" />  
           </div>  
           <div class="form-group">  
              <label for="email">Email</label>  
              <input type="email" class="form-control" id="email" name="email"/>  
           </div>  
           <div class="form-group">  
              <label for="codigoacesso">Mensagem</label>  
              <input type="text" class="form-control" id="msg" name="msg"/>  
           </div>  
           <button type="submit" class="btn btn-info">enviar</button>  
 </form>  

Veja que você deve colocar o link do seu webApp no action do seu form, e também deve colocar os name que a gente usaremos para pegar os parâmetros.

Não use esse envio para aplicações que terão muitos acessos, pois tem um limite de 500 por dia, após isso deve ser pago uma taxa.

Espero que vocês tenham gostado, isso é tudo.

sábado, 23 de abril de 2016

Phishing - Como Fazer, Como se Proteger e o Que é?

Fala pessoal, hoje venho falar sobre esse tipo de ataque comum hoje em dia, o Phishing é um termo derivado de fhishing e significa pesca,  e temos várias formas: ataque ao DNS, URL Falsa, Formulário Html em email, Vishing.

O Vishing é um dos mais comuns e é feito por meio de Telefones, nesse tipo de ataque pode se automatizar quase todos os processos desde roubar número de telefone das listas de empresas, desde efetuar a chamada e a voz, é a ligação é como se fosse de alguma empresa e a vitimá acaba passando os dados requeridos.

O ataque por formulários Email é feito da seguinte forma, é enviado um email normalmente como se fosse o email de algum banco, e neste email contém um formulário html que quando a vítima preencher e submeter vai estar enviando suas informações.

O de Página falsa vamos demonstrar na prática, vamos criar um site com o mesmo layout do facebook que quando a vítima for entrar seu login e senha sejam gravados em um arquivo.

Primeiro abra a página de login do facebook, depois aperte Ctrl + S ( Salvar Como)


e salve como index.html :

feito isso abra o código fonte no editor de sua preferência e localize o action do form conforme a imagem abaixo:


Dentro das aspas do action iremos substituir por post.php:

Agora crie um arquivo chamado post.php com o seguinte código e salve na mesma pasta do index.html:

Antes de continuar vamos entender o que ele vai fazer, ele vai te redirecionar para aquele link que removemos do action, depois ele abre o arquivo usernames e vai percorrer todos os valores que forma passados pelo form via GET, e escreve esses dados no arquivo.

Agora crie um arquivo usernames.txt vazio e salve na mesma página, agora basta colocar em um servidor com suporte php e testar.

Agora para quem não quer cair em ataques deste tipo é bom sempre verificar o link, pois muita vezes são links muito parecido e podem nos confundir, também sempre verificar as procedências do email e sempre que precisar preencher algo primeiro preencha com dados incorretos para ver o acontece e se tiver tudo normal use normalmente.

Bom pessoal espero que tenham gostado, e lembre-se o que foi ensinado aqui é apenas para aprendizado e não nos responsabilizamos por seus atos, e curtam nossa página do facebook Hu3Tech.

sábado, 19 de março de 2016

Apostila WordPress - Desenvolvimento de temas

     Amigos, trago-lhes hoje um material que venho usando para desenvolvimento de temas WordPress, uma apostila que exemplifica os métodos, ferramentas e funções disponível para criação de Tema para o CMS WordPress, lembrando que é necessário conhecimento com PHP, HTML, CSS e se possível alguma framework CSS (Foundation, Bootstrap etc...).
   
Acesso a apostila por este Link

Baixando e Instalando Wordpress:

    1 - Faça download do WordPress no site official neste Link.
    2 - Após o download concluído extraia todos os arquivos para um servidor local (localhost) no caso eu utilizo o Xampp.

OBS:.Não vamos ensinar a usar o servidor local.

    3 - Acesse o phpmyadmin do seu servidor local acessando http://localhost/phpmyadmin/ . Crie um Banco de Dados nome de exemplo:"WordPress".
    4 - Acesse o local onde está hospedado seu projeto Wordpress http://localhost/wordpress/.Você se identificará a esta imagem, selecione a linguagem que deseja instalar seu CMS.


     5 - Após passar pelo estágio de confirmação, terá acesso a uma página onde vai colocar as informações "Padrões" do servidor que são:

 Nome do Banco de dados: onde colocamos no exemplo "Wordpress";
 Nome do usuário: Por padrão dos servidores locais é "root";
 Senha: Por padrão é vazio;
 Servidor e prefixo permanecem como está.

OBS: Utilizamos informações de instalações padrões, segue ciente que não estamos ensinando sobre programas de Servidor Local.

Após isso, é seguir a instalação, a próxima tela vai pedir informações do site que está criando, muita atenção para o seguinte checkbox "Evitar que mecanismos de busca indexem este site", pois se está opção estiver marcada, os mecanismos de buscas não vão rastrear seu site, então leve isso como atenção quando hospedar o site.

Aproveitem o material, se poderem compartilhem para aumentar o Feedback, Obrigado!




quinta-feira, 17 de março de 2016

Segurança Digital


E ai pessoal, hoje viemos trazer mais alguns materiais interessantes para quem gosta da área de segurança ou para quem quer saber um pouco mais sobre o assunto. A revista Segurança Digital é uma revista distribuída gratuitamente neste site, achei bem interessante algumas edições e gostaria de compartilhar com vocês também.
A revista aborda vários assuntos, como a deep web, criptografia, firewall e outras coisas. Segue o link logo abaixo do download de todas as edições.

Para quem gostou, nos siga no Facebook, e deixe seu comentário.


DOWNLOAD: CLIQUE AQUI





sexta-feira, 11 de março de 2016

Pegar dados de JSON utilizando Python

Olá pessoal, bem hoje venho falar um pouco de como pegar dados de JSON utilizando python.

Para começar devemos importar as bibliotecas que vamos utilizar, urllib e json.

 import urllib.request  
 import json  

Depois criamos uma variavel url com o link do json, e carregamos ele em uma variável.
 url = 'http://tools.fifaguide.com/api/topten/pace'  
 resp = urllib.request.urlopen(url+str()).read()  
 resp = json.loads(resp.decode('utf-8'))  

Feito isso apenas precisamos percorrer essa variável e extrair as informações que queremos utilizando a propriedade como índice.

 for x in resp:  
   print(x['first_name']+' '+x['last_name'])  
   print('Rating:'+x['rating'])  
   print("")  

Ao executar o código devemos ter o seguinte retorno.

Utilizeis os dados do FifaGuide API, que possui dados dos jogadores no jogo FIFA.
Bom isso é tudo pessoal, espero que tenham gostado e não deixe de curtir a nossa página do facebook Hu3Tech.

quinta-feira, 10 de março de 2016

Material/Livros JavaFX

E ai pessoal, hoje vim só compartilhar um material que estava utilizando para estudos.
Estava precisando de alguns materiais de JavaFx para desenvolver um projeto e fui buscar algumas coisas e acabei encontrando esse material ai, e agora estou compartilhando com vocês também, espero que vocês aproveitem assim como foi útil para mim também.

Vlw galera!

CLIQUE AQUI


sexta-feira, 4 de março de 2016

Criptografar senha com Java

E ai pessoal, hoje viemos trazer mais uma boa dica pra quem precisa aprender de uma maneira bem simples como se criptografar uma senha, ou qualquer outra coisa, pois depende muito do projeto que esta sendo desenvolvido.
Em alguns projetos somos pegos desprevenidos quando o assunto é criptografar uma senha antes de armazená-la, então é bom já estar preparado com um método bem simples de resolver isso.
No Exemplo estou utilizando o a IDE ECLIPSE, então, para começar é só criar um projeto básico do java, criar um pacote, e uma classe com o nome que você desejar, depois basta seguir o código a seguir.


Lógico que este é um código bem simples, que só esta demonstrando em como se faz a criptografia, então quando você for usá-lo deve se fazer os tratamentos habituais como o tratamento de erro e como deve ser a senha digitada pelo usuário.
A saída desse programa será a seguinte:

Desta maneira, com a senha criptografada, já esta pronta para ser armazenada no banco de dados.

É isso ai pessoal, espero que tenham gostado da dica de hoje, se quiserem acessar o projeto é só acessar o meu GITHUB.
Acessem nossa página no FACEBOOK e dê seu like.

Vlw galera.


quinta-feira, 18 de fevereiro de 2016

Elimine os Adwares, Toolbars e Malwares agora!

    Quando falamos de Adwares, Toolbars ou Malwares pode vir na cabeça alguns nomes como HAO123, 123rede, ASK... São propagandas indesejáveis que são instaladas nos navegadores e programas maliciosos que alteram seu gerenciador de busca sem nenhuma permissão.
    Oque acontece é que eles se instalam em seu computador por meio de outro programa no qual "você" usuário desejaria ter em sua máquina, e recebe um pacote surpresa de lentidão no computador que dificulta a navegação.
     Uma medida bastante válida é você ir atrás dos componentes e ver onde estão instalados e tentar faz a exclusão, mas isso nem sempre é funcional pois cada programa malicioso se infiltra de formas diferentes para dificultar a situação. Por medida disso nós vamos ensinar vocês a usarem uma ferramenta na qual remove esses programas dos navegadores e demais o nome é Zoek.

Primeiro Faça download do Zoek neste Link: http://download.bleepingcomputer.com/smeenk/

Agora com Zoek em mãos execute-o como administrados, em alguns computadores o Zoek demora para abrir. Você terá acesso a esta tela:




Cole o seguinte Script, mantenha fechado todos os programa, principalmente os navegadores:

createsrpoint;
autoclean;
emptyalltemp;
iedefaults;
resetieproxy;
resethosts;
shortcutfix;
ffdefaults;
firefoxlook;
reset chrome;
chrdefaults;
chromelook;
emptyfolderscheck;delete


Obs: É possível encontrar diversos Scripts na internet, este é um dos mais completos que encontrei.

 E Clique em Run Script:
 

Agora é só aguardar, o processo é longo vai de acordo com a quantidade de comandos dados no Script, quando terminar a tela do Zoek será fechada e seu computador será reiniciado.

Por hoje é só isso, compartilhe com seus amigos nas redes sociais, curta nossa página no Facebook para ter mais dicas no mundo da Informática e Tecnologia.

Por: Rone Felipe Bento.


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.