Alterando a permissão de arquivos e pastas

O comando ‘find’ possibilita procurar por arquivos ou pastas.

Alterando a permissão de todas as pastas abaixo do diretório www/ para 755.

find /var/www -type d -exec chmod -R 755 {} \;

Alterando a permissão de todos os arquivos abaixo do diretório www/ para 644.

find /var/www -type f -exec chmod -R 644 {} \;

Primeiros passos – Arduino

Depois de longos 45 dias de espera, chegou meu arduino que comprei na china.

Vou mostrar aqui meu primeiro exemplo acendendo 2 led’s.

void setup() {
// Inicializa os pinos como saída.
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH); // Define o pino como ligado
digitalWrite(11, LOW); // Define o pino como desligado
delay(1000); // Espera por 1 segundo

digitalWrite(13, LOW); // Define o pino como desligado
digitalWrite(11, HIGH); // Define o pino como ligado
delay(1000); // Espera por 1 segundo
}

Agora é comprar mais acessórios é fazer projetos mais legais.

Até a próxima.

Gerenciador de senhas KeePassX

Dica do dia!

KeePassX é uma aplicação segura para gerenciamento de senhas e dados pessoais. Ele tem uma interface leve e é multi-plataforma.

Baixe agora mesmo em: http://www.keepassx.org/downloads/

Agora você poderá organizar todos os seus logins e senhas de uma maneira mais fácil e rápida.

Iniciando com Smarty

O que é Smarty

O Smarty é um sistema de templates para PHP. Em outras palavras ele separa sua aplicação lógica e o conteúdo do seu site tornando muito mais fácil o entendimento e manutenção.

Por exemplo, digamos que você está desenvolvendo um site e não quer misturar a programação PHP com as tags HTML. Usando o Smarty você consegue fazer isso de uma forma bem fácil.

Mais informações em: http://www.smarty.net/docsv2/pt_BR/what.is.smarty.tpl.

Instalação Básica

Certifique-se que você sabe a localização do ‘document root’ do seu servidor web. Em nosso exemplo, o ‘document root’ é “/home/desenv/www/smarty”.

Baixe a biblioteca do Smarty (Download Smarty) e instale os arquivos da biblioteca do Smarty que estão no subdiretório /libs/ da distribuição. Estes são os arquivos PHP que você NÃO PRECISA editar. Eles são comuns a todas as aplicações e eles só são atualizados quando você atualiza para uma nova versão do Smarty.

O Smarty necessita de quatro diretórios, que são chamados por padrão 'templates/', 'templates_c/', 'configs/' e 'cache/'. Cada um deles pode ser definido pelas propriedades da classe Smarty $template_dir, $compile_dir, $config_dir, e $cache_dir repectivamente.

Exemplo de como ficou meu diretório:

/home/desenv/www/smarty/cache
/home/desenv/www/smarty/configs
/home/desenv/www/smarty/libs
/home/desenv/www/smarty/templates
/home/desenv/www/smarty/templates_c

Mais informações em: http://www.smarty.net/docsv2/pt_BR/installing.smarty.basic.tpl

Carregando o primeiro template

Agora com tudo já configurado, vamos para o nosso primeiro exemplo prático. Crie o arquivo ‘ex_1.php’ e o ‘templates/ex_1.tpl’.

Dentro do arquivo ‘ex_1.php’ vamos apenas instanciar a classe do Smarty e mostrar o template.

ex_1.php

include 'libs/Smarty.class.php';

$smarty = new Smarty;
$smarty->display('ex_1.tpl');

O arquivo ‘ex_1.tpl’ é o template que será mostrado.

ex_1.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Smarty</title>
 </head>
 <body>
 <h1>Smarty</h1>
 <p>sistema de templates para PHP</p>
 </body>
</html>

Assign

Isso é usado para fixar valores para o template. Você pode explicitamente passar pares de nomes/valores, ou um array associativo contendo o par de nome/valor.

ex_2.php

include 'libs/Smarty.class.php';
$smarty = new Smarty;

// passa pares de nomes/valores
$smarty->assign("name", "João da Silva");
$smarty->assign("endereco", "rua: Getúlio Vargas, 1000");

// passa array associativo
$smarty->assign(array("cidade" => "Bal. Camboriú", "estado" => "Santa Catarina"));

$smarty->display('ex_2.tpl');

Abaixo um exemplo de como exibir essas variáveis.

ex_2.tpl

<html>
 <head>
 <title>Smarty - Ex 2</title>
 </head>
 <body>
 <p>Nome: {$name}</p>
 <p>Endereço: {$endereco}</p>
 <p>Cidade: {$cidade}</p>
 <p>Estado: {$estado}</p>
 </body>
</html>

Mais informações em: http://www.smarty.net/docsv2/pt_BR/api.assign.tpl

Arquivos de Configuração

Arquivos de configuração são úteis para o armazenamento de variáveis globais usadas no template. Um exemplo são os títulos das páginas, palavras chaves, descrições, cores de layout, etc… Normalmente você teria que abrir cada arquivo e fazer a alteração. Com arquivos de configurações, os dados podem ser armazenados em um lugar, e apenas um arquivo precisaria ser alterado.

foo.conf

title = "Titulo do site"
keywords = "Minhas palavras chaves"
intro = """Este é um valor que ultrapassa uma<br>
 linha. Você deve colocá-lo<br>
 dentre três aspas."""

Mais informações em: http://www.smarty.net/docsv2/pt_BR/config.files.tpl

Carregar variáveis de arquivos de configuração

A função ‘config_load’ é usada para carregar as variáveis de um arquivo de configuração dentro de um template e são referenciadas colocando-se elas entre cancelas (#)..

ex_3.tpl

{config_load file="foo.conf"}
<html>
 <head>
 <title>{#title#}</title>
 <meta name="keywords" content="{#keywords#}" />
 </head>
 <body>
 <p>{#intro#}</p>
 </body>
</html>

Mais informações em: http://www.smarty.net/docsv2/pt_BR/language.function.config.load.tpl

Variável reservada {$Smarty}

{* mostra o valor de page da URL (GET) http://www.domain.com/index.php?page=foo *}
{$smarty.get.page}

{* mostra a variável "page" de um formulário (POST) *}
{$smarty.post.page}

{* mostra o valor do cookie "username" *}
{$smarty.cookies.username}

{* mostra a variável do servidor "SERVER_NAME" *}
{$smarty.server.SERVER_NAME}

{* mostra a variável de ambiente do sistema "PATH" *}
{$smarty.env.PATH}

{* mostra a variável de session do php "id" *}
{$smarty.session.id}

{* mostra a variável "username" da união de get/post/cookies/server/env *}
{$smarty.request.username}

Para saber como exibir outras variáveis, acesse: http://www.smarty.net/docsv2/pt_BR/language.variables.smarty.tpl

Por hoje é só pessoal, mas para quem quiser se aprofundar no assunto, vale a pena dar uma uma boa olhada na documentação no próprio site do Smarty em: http://www.smarty.net/docsv2/pt_BR/.

Fazer download dos exemplos.

Até a próxima.

Redimensionar imagens em lote com ImageMagick

Dica do dia!

Se você usa linux e precisa de uma opção bem simples para redimensionar várias imagens de uma vez, imagemagick é a solução.

Para instalar o imagemagick no Ubuntu, digite no seu terminal o seguinte comando:

sudo apt-get install imagemagick

O exemplo abaixo irá listar todos os arquivos com extensão ‘.JPG’ do diretório atual, redimensionar com qualidade 70 e salvar na pasta ‘fotos_redimencionadas/’.

for foto in `ls *.JPG`; do echo $foto;convert -resize 1024x768 -quality 70 $foto fotos_redimencionadas/$foto; done

Vaga de trabalho em Balneário Camboriú – SC

A VIDEOSOFT e IMOVELPRO abriram vagas para trabalhar em sua sede, em Balneário Camboriú, SC.
Os interessados devem  enviar Currículo Atualizado para o e-mail natalia@potenzialle.com.br;

SOBRE A VAGA

ADMINISTRADOR DE SERVIDORES/ INFRA-ESTRUTURA
FORMAÇÃO: Graduação completa ou cursando na área
ATIVIDADES: Responsável pela infra-estrutura e servidores da empresa.
COMPETÊNCIAS TÉCNICAS: Administração de servidores Unix, especialmente Linux e/ou FreeBSD. Servidores WEB, e-mail. Será considerado diferencial conhecimentos nos servidores: DNS, Java, Cloud Computing. Inglês técnico avançado para leitura/escrita.
SALÁRIO: R$ A/C
BENEFÍCIOS: Vale transporte, Assistência médica

TESTER
FORMAÇÃO: Cursando Ciências da Computação
ATIVIDADES: Executar testes e identificar possíveis erros.
SALÁRIO: R$ 800,00

RECEPCIONISTA
FORMAÇÃO: 2º Grau Completo
ATIVIDADES:  Atendimento telefônico, cadastro de clientes, reserva de hotéis e passagens, auxílio aos colaboradores em demais atividades.
Competências Técnicas: Informática intermediária, elaboração de planilhas, atendimento ao cliente. Desejável vivência na função.
SALÁRIO: R$ 650,00

ESTAGIÁRIO TEMPORÁRIO
FORMAÇÃO: Cursando Ciências da Computação
ATIVIDADES: Montagem e manutenção de micro básico, desejável conhecimentos na parte de hardware
SALÁRIO: R$ 600,00 –  apenas para o horário vespertino
Obs. Realizará estágio temporário com possibilidade de efetivação.

Para conhecer estas vagas e candidatar-se entre no link: http://www.kombo.com.br/clientes/potenzialle

O “Hello, World” do Google Maps

A maneira mais fácil de conhecer a API do Google Maps é iniciar com um exemplo simples. O código a baixo mostrará um mapa centralizado em Florianópolis, SC Brasil.


<html>
 <head>
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
 <script type="text/javascript">
 function initialize() {
 var latlng = new google.maps.LatLng(-27.592729,-48.549449);
 var myOptions = {
 zoom: 13,
 center: latlng,
 mapTypeId: google.maps.MapTypeId.ROADMAP
 };
 var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
 }
 </script>
 </head>
 <body onload="initialize()">
 <div id="map_canvas" style="width:100%; height:100%"></div>
 </body>
</html>

Para obter mais informações sobre como montar o seu primeiro mapa, acesse o link: http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/tutorial.html

Adicionando um marcador

Para adicionar um marcador em seu mapa, você precisa usar o construtor Marker.


var latlng = new google.maps.LatLng(-27.592729,-48.549449);
var myOptions = {
 zoom: 13,
 center: latlng,
 mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

// Adiciona um marcador
var marker = new google.maps.Marker({
 position: latlng,
 map: map,
 title:"Texto personalizado"
});

Mais informações em: http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/overlays.html#Markers

Adicionar um balão ao marcador

Para adicionar um balão de informações ao marcador, você precisa usar o construtor InfoWindow e adicionar um evento no marcador.


var latlng = new google.maps.LatLng(-27.592729,-48.549449);
var myOptions = {
 zoom: 13,
 center: latlng,
 mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

// Adiciona um marcador
var marker = new google.maps.Marker({
 position: latlng,
 map: map,
 title:"Texto personalizado"
});

// Adiciona um balão no marcador
var infowindow = new google.maps.InfoWindow({
 content: 'Conteúdo do balão'
});
google.maps.event.addListener(marker, 'click', function() {
 infowindow.open(map,marker);
});

Mais informações em: http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/overlays.html#InfoWindows

A documentação do Google Maps é bem completa, muita coisa está em português e muito fácil de entender. Para saber muito mais, acesse: http://code.google.com/intl/pt-BR/apis/maps/documentation/javascript/basics.html

Até mais.

PHP: Criptografia SHA-512

Olá pessoal, hoje falarei um pouco sobre criptografia, mais especificamente do tipo SHA-512.

A SHA-512 gera um conjunto de 128 caracteres, o dobro do seu antecessor SHA-256.

Bem, muitos usuários não dão muito importância para a qualidade de suas senhas e logo vão digitando qualquer coisa, nome da mãe, pai… e por aí vai.

Hoje é possível encontramos na internet bancos de senhas com o hash já calculado, podendo serem utilizadas em scripts maliciosos para invadir sua conta.

Ex:
maria: 94aec9fbed989ece189a7e172c9cf41669050495152bc4c1dbf2a38d7fd85627
30122011: 359fd771045c3856967bb1bf6af4e73f2f94a27b849991e37beb2239c6051bf5
12345: 5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5

Então, para dificultar um pouco essa senha, adicionarei uma string em suas extremidades.

Vamos ao código:

<?php
 # Senha passada por parâmetro
 $pass = "12345";

 # String que será concatenada nas extremidades da senha
 $str = "w7#@o*";

 # Concateno a string auxiliar junto a senha
 $pass = $str . $pass . $str;

 # Calcula a hash da senha passada
 echo $pass_hash = hash( 'sha512', $pass );
?>

É isso ai pessoal! espero que gostem da dica.

Vaga para Técnico(a) em Suporte de Sistemas

A empresa Betha de Criciúma, abriu novas oportunidades de emprego.

Dados da vaga

Ramo da empresa: Informática – Tecnologia da Informação
Cidade: Rio Do Sul – SC
Salário: 2 a 4 salários mínimos
Tipo de contratação: Efetivo
N° de vagas: 2

Requisitos e preferências
Formação: 2º grau completo
Experiência profissional: Possuir experiência anterior
Observações: Prestar suporte técnico aos usuários nos sistemas pertencentes a área de tributos municipais de nossa empresa, no que se refere a implantação e atendimento, abrangindo os recursos do software, visando atendê-los satisfatóriamente e manter o desempenho adequado dos sistemas Betha.
(Disponibilidade para viagens em em Rio do Sul e Região)

Oferecemos
Vale Alimentação;
PLR;
Flexibilidade na Jornada de Trabalho;
Convênio com Universidades;
Convênio com Plano de Saúde;
Convênio com Plano Odontológico.

Codeigniter: Habilitar o perfilador enable_profiler

A função $this->output->enable_profiler();, inserida em seu Controller, mostrará dados de referência para fins de depuração e otimização do seu código.

Para habilitar o perfilador, coloque a seguinte função em qualquer lugar dentro do suas funções Controller:

$this->output->enable_profiler(TRUE);

Quando habilitado, um relatório será gerado e inserido no rodapé de suas páginas.

Para desabilitar o perfilador, você deverá usar:

$this->output->enable_profiler(FALSE);

Pesquisar
Mateus Vargas