19 de agosto de 2013

HTML/CSS: Estilizando input do tipo file

Estilizar um input do tipo file é bem fácil e rápido, basta seguir os seguintes passos:

1 - Vamos criar uma classe para nossa div:
    .divExemplo{
      cursor:pointer;
      background-color:rgb(155,155,155);
      width:100px;
      height:100px;
    }
Basicamente estamos dizendo que nossa div renderizará o cursor como um pointer (a mãozinha que aparece quando colocamos o ponteiro do mouse em cima de um link, por exemplo) em toda a sua área, que é de 100px de largura e altura com um background cinza.

2 - Agora vamos para o nosso HTML:

Agora nós envolvemos nossa div com um label, e dentro da nossa div terá nosso input do tipo file com um "display:none", pois não queremos que ela apareça para o usuário. Em qualquer área da div que você clicar, a ação do input file será disparada.

O Código final fica da seguinte maneira(adicionei também um texto para nossa div):
<html>
<head>
  <title>Estilizando input file</title>
  <style>
    .divExemplo{
      cursor:pointer;
      background-color:rgb(155,155,155);
      width:100px;
      height:100px;
    }
    
    p.alignText{
      text-align:center;
    }
    </style>
</head>
<body>
  
</body>
</html>
Veja em ação abaixo:

UPDATE
Também podemos fazer da seguinte maneira, com o mesmo efeito:
<html>
<head>
  <title> Estilizando input file</title>
  <style>
    p.style{
      text-align:center;
      cursor:pointer;
      background-color:rgb(155,155,155);
      width:100px;
      height:100px;
    }
  </style>
</head>
<body>
  
  
</body>
</html>

11 de agosto de 2013

Ubuntu: como acessar uma partição exFAT

Para acessar uma partição exFAT no Ubuntu ou outras distribuições Debian-like basta seguir os seguintes passos: 1 - Adicione o seguinte repositório pelo terminal:
sudo add-apt-repository ppa:relan/exfat
2 - Atualize a lista de pacotes:
sudo apt-get update
3 - Instale o pacote exFAT:
sudo apt-get install fuse-exfat
Pronto, agora você já conseguirá acessar partições exFAT no Ubuntu.

14 de abril de 2013

Kubuntu: Firefox não sabe com qual programa abrir arquivos baixados

Para resolver este problema, basta abrir o firefox e fazer o download de algum arquivo. Após o término do download, irá aparece uma janela pedindo que você escolha com qual programa abrir o arquivo. Navegue até o seguinte local:
/usr/bin/xdg-open
Após isso, é só marcar para lembrar sua escolha.

29 de outubro de 2012

Criando seu primeiro applet Java

Para criar o seu primeiro applet Java, você precisará ter o Java SE já instalado e também um editor de texto qualquer. Primeiramente, vamos criar a nossa classe:
//importanto a classe Applet do pacote java.applet
import java.applet.Applet; 
import java.awt.*;

public class PrimeiroApplet extends Applet {
     //JLabel que conterá a mensagem a ser exibida
     String mensagem;
     //Método init, que é carregado na inicialização do applet
     public void init(){
        mensagem = "Meu Primeiro Applet!";
     }
     //Método paint, a classe Graphics no parâmetro serve para
     //definir características da janela durante a execução do applet   
     public void  paint(Graphics g){
        //desenha um retângulo
        g.drawRect(0,0,299,299);
        //escreve a mensagem
        g.drawString(mensagem,90,130); 
     }
 } 
Salve o arquivo com o nome PrimeiroApplet.java. Agora vamos criar o arquivo HTML(PrimeiroApplet.html), que chamará a nossa applet no navegador:
<html>
<head>
        <title>Meu Primeiro Applet!</title>
</head>
<body>
         <applet code="PrimeiroApplet.class" width="300" height ="300"></applet>
</body>
</html>
Observe que a tag applet do código HTML carrega o arquivo PrimeiroApplet.class, que é gerado na compilação do arquivo .java. Para compilar, basta executar o seguinte comando:
 javac PrimeiroApplet.java 
Lembre-se de realizar os passos descritos dentro do mesmo diretório, caso contrário, você terá de alterar a propriedade code da tag applet para o caminho aonde estiver o arquivo .class.
Agora você pode executar o applet, basta abrir o arquivo html em seu navegador.

3 de outubro de 2012

Configurando vhost da sua aplicação Zend

Para seguir esta dica, é necessário que você já tenha criado o seu projeto Zend e esteja utilizando o servidor Apache. Basicamente você terá que editar 2 arquivos: httpd.conf e hosts, que em distribuições Debian-like ficam nas seguintes localizações(Se você usa outra distribuição, veja este link):
/etc/apache2/sites-available/default
/etc/hosts
Primeiramente, vamos editar o arquivo /etc/hosts:
sudo nano /etc/hosts
Provavelmente o arquivo virá com este conteúdo:
127.0.0.1       localhost
127.0.1.1       nome_da_sua_maquina
Agora, vamos adicionar mais uma linha a este arquivo, ficando assim:
127.0.0.1       localhost
127.0.1.1       nome_da_sua_maquina
127.0.0.2       zendapp
Onde zendapp é o nome da sua aplicação, que vai ser acessada pelo endereço indicado.
Agora, editando o arquivo default:
sudo nano /etc/apache2/sites-available/default
Coloque o seguinte conteúdo:
<VirtualHost zendapp>
ServerName zendapp
DocumentRoot /var/www/zendapp/public/
<Directory /var/www/zendapp/public>
AllowOverride All

Options All
</Directory>
</VirtualHost>
Reinicie os serviços com os comandos:
sudo /etc/init.d/networking restart
sudo service apache2 restart
Feito isso, você poderá acessar sua aplicação pelo endereço http://zendapp, se quiser acessar uma action em específico, basta digitar na barra de endereço como no exemplo: http:/zendapp/auth/login (Neste caso estou acessando a action login da controller auth).

Referências:
Zend Manual
Apache docs

22 de julho de 2012

Linux: Instalando MySQL Workbench no Ubuntu 12.04

Para instalar o Mysql Workbench no Ubuntu 12.04 basta seguir os seguintes passos:

1-Instalar libzip1
Caso use i386, baixe no seguinte link:
https://launchpad.net/ubuntu/precise/i386/libzip1/0.9.3-1
Caso use amd64, baixe no seguinte link:
https://launchpad.net/ubuntu/precise/amd64/libzip1/0.9.3-1

Após baixar, apenas clique duas vezes no .deb para instalar.

2-Instalar libctemplate0 python-paramiko python-pysqlite2
Abra o terminal e faça o seguinte comando:
sudo apt-get install libctemplate0 python-paramiko python-pysqlite2

3-Instalar o MySQL Workbench
Vá no seguinte endereço e baixe o .deb da versão que você utilize:
http://www.mysql.com/downloads/workbench/#downloads

Depois de baixar, clique duas vezes no .deb e instale.

21 de maio de 2012

PostgreSQL: Guia rápido com PHP

Neste post irei mostrar um guia rápido de como conectar e realizar queries simples utilizando o PostgreSQL e o PHP.
O primeiro passo é definir os dados da conexão, que são o endereço da conexão (que neste caso, é o localhost), o banco de dados que iremos nos conectar, usuário e senha:
$host = "localhost";//host
$db = "Pgtest";  //nome do banco de dados
$user = "postgres"; //usuario do banco de dados
$passwd = "pass"; //senha do banco de dados
Para conectarmos ao PostgreSQL, utilizamos a função pgconnect, utilizando as variáveis que colocamos os dados da conexão:
//Conectando ao banco de dados utilizando a funcao pg_connect
$conn = pg_connect("host=$host dbname=$db user=$user password=$passwd");
Agora com a conexão estabelecida, vamos rodar algumas queries! Primeiro criaremos uma tabela simples contendo id e nome de um usuário, depois vamos inserir 1 registro, e por fim, iremos listar os dados da tabela. Vamos guardar as queries nas seguintes variáveis:
//Query para criar uma tabela no banco de dados
$table_query = "CREATE TABLE usuarios(id serial NOT NULL,nome VARCHAR(64), PRIMARY KEY(id));";
//Query para inserir 1 registro na tabela
$reg_query = "INSERT INTO usuarios (nome) VALUES ('Vinicius');";
//Query para listar registros da tabela
$show_query = "SELECT * FROM usuarios";
Para a execução das queries é utilizada a função pg_query, como mostrada a seguir:
//Executando query para criar a tabela no banco de dados
$res = pg_query($conn, $table_query) or die("Nao foi possivel executar a query: $table_query\n");
//Executando query para inserir o registro na tabela
$res = pg_query($conn, $reg_query) or die("Nao foi possivel executar a query: $reg_query\n");
//Executando query para listar os registros da tabela
$res = pg_query($conn, $show_query) or die("Nao foi possivel executar a query: $reg_query\n");
Para terminar, vamos listar os dados:
//Exibindo dados
while ($linha = pg_fetch_row($res)) {
 foreach($linha as $dado)
   echo $dado . "\n";
}
Abaixo segue o código por completo:
<?php
 $host = "localhost";//host
 $db = "Pgtest";  //nome do banco de dados
 $user = "postgres"; //usuario do banco de dados
 $passwd = "pass"; //senha do banco de dados

 //Conectando ao banco de dados utilizando a funcao pg_connect
 $conn = pg_connect("host=$host dbname=$db user=$user password=$passwd");
 //Query para criar uma tabela no banco de dados
 $table_query = "CREATE TABLE usuarios(id serial NOT NULL,nome VARCHAR(64), PRIMARY KEY(id));";
 //Query para inserir 1 registro na tabela
 $reg_query = "INSERT INTO usuarios (nome) VALUES ('Vinicius');";
 //Query para listar registros da tabela
 $show_query = "SELECT * FROM usuarios";

 //Executando query para criar a tabela no banco de dados
 $res = pg_query($conn, $table_query) or die("Nao foi possivel executar a query: $table_query\n");
 //Executando query para inserir o registro na tabela
 $res = pg_query($conn, $reg_query) or die("Nao foi possivel executar a query: $reg_query\n");
 //Executando query para listar os registros da tabela
 $res = pg_query($conn, $show_query) or die("Nao foi possivel executar a query: $reg_query\n");

 //Exibindo dados
 while ($linha = pg_fetch_row($res)) {
  foreach($linha as $dado)
     echo $dado . "\n";
 }
?>

8 de maio de 2012

md5 em PHP

Quando desenvolvemos aplicações web, é necessário que algumas informações sejam de certa forma escondidas, como, por exemplo, as senhas dos usuários dentro do sistema. Uma forma de realizar isto é utilizando o hash md5, que no PHP é criado por meio da função md5(), como mostrada a seguir:
md5($str);
Onde $str é alguma string que você deseja que o hash md5 seja calculado. Confira o exemplo abaixo:
<?php
   $str = "Hello World";
   $md5Str = md5($str);
  
   echo $md5Str; 
?>

22 de abril de 2012

Os primórdios da computação gráfica

Nos dias atuais, temos ótimas e avançadas ferramentas de computação gráfica para desenvolvimento de animações como Blender, 3ds Max, entre outros. Mas, para que chegássemos no nível de qualidade atual, muitas pessoas trabalharam muito há algumas décadas atrás. Criaram ferramentas bem rudimentares, mas que ajudaram na evolução da computação gráfica.

O vídeo acima é de 1971 e mostra a ferramenta keyframe produzido pelo Conselho Nacional de Pesquisa do Canadá. O próximo vídeo mostra a renderização em tempo real de uma face humana, produzido pela universidade de Utah em 1974:

14 de fevereiro de 2012

Cohen–Sutherland em C/C++

Cohen–Sutherland é um algoritmo de recorte de linhas, que divide um espaço 2D em nove regiões, sendo que a região central é a parte visível, ou seja tudo que estiver fora da área central é descartado. O programa disponibilizado aqui em C/C++ com OpenGL, basicamente captura os pontos clicados através do mouse, desenha a linha, recorta e reseta tudo, como podemos observar na imagem abaixo:

A implementação segue abaixo, e para mais informações sobre o algoritmo clique aqui.

24 de janeiro de 2012

Shell script: compilar e executar programa em C/C++ com OpenGL

#!/bin/sh

# Script que compila programa em C/C++ que utiliza OpenGL/glut

# verificando se o argumento foi passado
if [ $# -ne 1 ]; then
    echo 1>&2 "Missing argument. Use: ./glMake.sh [filename].cpp"
else
    #compilando
    g++ -lglut -lGL -lGLU -lGLEW $1
    #executando
    ./a.out
fi

14 de novembro de 2011

Ler arquivo em PHP

<?php
 function leArquivo($nomeArquivo){
  //abrindo o arquivo com a funcao fopen
  if($file = fopen($nomeArquivo, 'r')){
   //Enquanto nao chegar ao fim do arquivo
   while(!feof($file)){
    //extraindo linha do arquivo
    $conteudo = fgets($file);
    //exibindo conteudo 
    echo $conteudo . "<br / >";
   }
   fclose($fp);//fechando o ponteiro para arquivo
  }
  else{
   echo "Nao foi possivel ler o arquivo!";
  }
 }
 //chamando a funcao que le o arquivo
 leArquivo("arquivo.txt");
?>

30 de agosto de 2011

Problema no configuration.php - Joomla

Durante a instalação do Joomla pode ocorrer de ele acusar o seguinte erro: "configuration.php file not writable". Para resolver isto basta seguir os seguintes passos:

1- Crie o arquivo configuration.php dentro do diretório do Joomla.
2- Modifique as permissões do arquivo com o seguinte comando:
chmod 777 configuration.php

Fonte: edutechwiki

1 de agosto de 2011

Povoando um banco de dados facilmente

Às vezes é necessário povoar um banco de dados para realizar testes em algum sistema que está sendo desenvolvido. Essa tarefa pode ser realmente muito trabalhosa, se cada informação for inserida manualmente. Para isso, criaram o site generatedata.com, que possui um script que gera as queries para serem  inseridas no banco de dados, é só nomear as colunas de acordo com o tipo de dado desejado, clicar em "Generate" e pronto!

15 de junho de 2011

Instalar VirtualBox guest additions no Ubuntu 11.04

Para instalar guest additions do VirtualBox no Ubuntu 11.04, abra o terminal e siga os seguintes passos:

1 - Faça o update:
sudo apt-get update

2 - Instale:
sudo apt-get install virtualbox-ose-guest-utils

9 de abril de 2011

C/C++: Mostrar string invertida

Abaixo temos um simples programa em C que mostra uma string invertida. A string é passada como argumento do programa.
#include <stdio.h>
#include <string.h>

void mostraStringInvertida(char *str)
{
 int cont = 0;
 for (cont = strlen(str) ; cont >= 0 ;cont--)
 {
  printf("%c", str[cont]);
 }
 printf("\n");
}

int main(int argc, char *argv[])
{
 /*a string passada como argumento é invertida nessa função*/
 mostraStringInvertida(argv[1]);
 return 0;
}

2 de abril de 2011

Ubuntu 11.04 em ação

O vídeo a seguir mostra Unity, a nova interface padrão do Ubuntu e suas novas features:


Via OMG! Ubuntu!

13 de março de 2011

Gerenciador de rede desativado no Kubuntu

Caso o gerenciador de rede for por algum motivo desativado no seu kubuntu, siga as instruções abaixo para reativá-lo:

edite o seguinte arquivo:
sudo kate /var/lib/NetworkManager/NetworkManager.state

mude a seguinte linha:
NetworkingEnabled=false
para:
NetworkingEnabled=true

Agora salve e reinicie.

2 de março de 2011

Kubuntu 10.04 e o flash player

Há alguns anos atrás eu usava o KDE como minha interface gráfica padrão no linux, mas quando sairam as primeiras versões do KDE 4.x, acabei adotando o Gnome como interface gráfica padrão, por causa de alguns bugs que me incomodavam nesse "novo" KDE. De alguns dias pra cá, tenho testado o kubuntu 10.04 e tenho ficado muito satisfeito.
Os bugs sumiram(pelo menos os que eu tinha percebido), além de novas features (a que mais gostei foi a utilizacao de programas em abas).
Tudo funcionou muito bem, mas só o flash insistia em não funcionar direito. Instalei, reinstalei e sempre os vídeos em flash continuavam sem som. Mas fazendo algumas pesquisas,
consegui achar uma solução para isso.
A solução que funcionou comigo foi a seguinte: