Arquivo da categoria ‘Tecnologia’

Aprendendo sobre Funções

Publicado: fevereiro 1, 2010 por Stefan Yohansson em PHP + MySQL, Tecnologia
Tags:, ,

Funções… Ah, queridas funções…
Sem elas eu não poderia deixar meus programas mais leves. Aqui vamos dar início a uma base de como não precisar repetir seu código várias vezes e realmente o começo de como fazer um código ficar mais inteligente com o paradigma de Orientação à Objeto. :] ~

Enfim,

Definindo funções
Funções são blocos de códigos pré-definidos e rotulados para que sejam executados quando chamados e podem ou não receber um atributo/váriavel.

COMO ASSIM?

Simples,

function mensagem() {
echo “oi !”;
}

mensagem();

a saída da chamada dessa função é “oi”, se não tivesse o mensagem() ali, abaixo do código… ele nem chegaria a executar.
– Porque?
A função é um bloco de código e ela não é executada a não ser que seja chamada pelo seu nome. Logo, não adianta chamar uma função antes dela ser definida.

MAS PERAI !

pra quê fazer uma função? se eu simplesmente posso digitar

echo “oi”;

pensa aí, se você precisar digitar oi em mil campos de textos [para o exemplo da função mensagem()] e quando você for editar?
no caso da função mensagem, seria só editar ali e onde tivesse “oi” mudaria para o que foi digitado, entenderam?

Então, vamos a um exemplo mais díficil:

#modelo 1 – Criado por Stefan Yohansson
#duas funções e o html

$numero_contador = 0; #define a única variavel usada e seu valor.

function contador_mais($numero_contador) {
$numero_contador++;
return $numero_contador;
} #essa é a primeira função. O que ela faz? apenas soma +1 à nossa variavel, 0 + 1 = 1, e este é o resultado retornado.

function contador_menos($numero_contador) {
$numero_contador–;
return $numero_contador;
} #faz o contrário da de cima, diminui 1 de 0, retornando -1

#chamamos o html !
echo “<html>
<title>Sucessor e Antecessor de Zero !</title>
<link href=\”cont.css\” rel=\”stylesheet\” type=\”text/css\”>
<body>
<div id=\”container\”>
<h2>Sucessor e Antecessor de Zero !</h2>
<a href=\”?area=Aumentar\”>Aumentar</a> – <a href=\”?area=Diminuir\”>Diminuir</a>
<br>
(Aperte os links acima ou os botões abaixo para o número mudar)
<h1>”;

if ($_GET[‘area’]) { #caso tenhamos uma variavel area na URL:

switch($_GET[‘area’]) { #troque para cada valor abaixo
case Aumentar: #caso aumentar
echo contador_mais($numero_contador); #use a função mais
break;
case Diminuir: #caso seja diminuir
echo contador_menos($numero_contador); #use a função menos
break;

case Zerar: #caso zerar.
echo $numero_contador; #chame o valor da variavel
break;

default:
echo $numero_contador;
}

} else {
echo $numero_contador;
}

echo “</h1>
<form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Diminuir\”>
</form>

<form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Aumentar\”>
</form>

<form action=\”?\” method=\”GET\”>
<input type=\”submit\” name=\”area\” value=\”Zerar\”>
</form>

</div>
</body>
</html>”;

Bem pessoal, reparem que no nosso código se vocês executarem nos seus computadores, veram que temos dois botões (um botão mesmo e outro é um link) e ambos fazem a mesma coisa com os mesmos parametros. :] ~

Bem este é um programa exemplo. Percebam que a função é diferente da função mensagem pois tem algo entre os ().
O que quer dizer isso?
function contador_menos($numero_contador)
isso significa que a função receberá como parametro a variavel $numero_contador.
Se isto não for feito, nada será feito. >D

Caso sua função seja uma função de msg, isso não é preciso, mas caso o usuario vá passar valores que serão executados na função, é mais que preciso.

Enfim, fica de dever de casa fazer um programa que calcule a hipotenusa de um triângulo de lados
h = ?
a = 8
b = 6

Sua saída deve ser algo parecido com o outro programa.
Se quiserem podem postar seus códigos nos comentários e eu avalio-os… ou mandem-me e-mails.

swhite.owl@gmail.com

Python/gtkbuilder – Hello World – Tutorial I

Publicado: janeiro 16, 2010 por Stefan Yohansson em python, Tecnologia
Tags:, , , ,

Bem, hoje vamos aprender uma linguagem bastante discutida chamada Python.
Python é uma linguagem interpretada (um pouco “lenta” para algumas aplicações, mas de grande agrado), ela é considerada um High Level Programming Languange (Linguagem de programação de alto nível) e por isso é muito usada. Também por que é de fácil aprendizado já que sua edentação se dá de modo muito simples.

Enfim, creiamos que você já tenha um principio de programação (caso não, terá de ler um tópico que virá em breve sobre Python puro ou sobre algoritmo).
Se quiser ir aprendendo… http://www.python.org.br/wiki/AprendaProgramar
Siga este belo guia e volte aqui para ver como se faz uma janelinha.

Vamos ao que você irá precisar:
– Glade 3.1
– Python 2.5 ~ 3.0
– Biblioteca GTK+
(caso use linux, dependendo da distribuição você já tem quase todos, só precisa baixar o Glade. Windows users terão de baixar os 3)
gladewin32.sourceforge.net/
http://www.python.org/download/windows/

então já que temos os programas… mãos a massa fazer a nossa primeira aplicação (considerando também que já leu o outro tutorial e já sabe abrir o interpretador e tudo mais.)

I – Criando a janela !
Abra o glade e crie uma janela como essa.

Base da nossa janela no Glade

feito isso salve como gtkbuilder format (lembrando que usamos gtkbuilder e não libglade) e irá criar um arquivo com “nome.glade”. Primeiro passo feito. Simples não?

II – Criando código.
Vou adicionar o código comentado para que não tenha de ficar explicando linha por linha.

http://pastebin.com/f1d58b829

E fim.
Nosso resultado.

Resultado do Hello World

Deletem os comentarios para caso dê erro.
Eu espero que tenha ajudado na lógica de vocês.
Trouxe elementos simples e tentei explica-los da melhor maneira que pude.

Qualquer coisa, coment e eu responderei.
Caso queiram os arquivos. Basta pedir.

Sistema de notícias com PHP & MySQL

Publicado: dezembro 9, 2009 por Stefan Yohansson em PHP + MySQL, Tecnologia
Tags:, , ,

Bem, todo mundo se pergunta como fazer um sistema de notícias ou tra la la li,
Sei que esse tutorial tem em muitos lugares, mas muitos ou não funcionam, ou tem falhas de segurança, ou isso ou aquilo, não prometo trazer o com a maior segurança, nem o mais bem explicado, mas pelo menos que funcione, sim.

Depois quando abordarmos segurança (md5), daí eu mando um sisteminha com sessions, cookies e os cambal. ( mas lembre-se, nada na boca, só o começo o resto… virem-se ) :] ~

Enfim, o que você precisa entender?
– Linguagem de programação; PHP
– Banco de dados; MySQL

– Criando a tabela

<?

$conexao = mysql_connect(“localhost”, “root”, “”) or die (“Configuração de Banco de Dados Errada!”); //lembrando que em mysql_connect é servidor,usuario,senha ali é a configuração para um servidor local sem senha e com usuario root

$db = mysql_select_db(“meusite”) or die (“Banco de Dados Inexistente!”); //acessa o banco de dados noticias

?>

criar a tabela. Com as seguintes configurações:

<?

include(‘config.php’); /* Chama o arquivo criado acima. Que é a chamada ao MySQL, lembrando que você terá de criar a db, direto do PhpMyAdmin, enfim, continue lendo. */

CREATE TABLE noticias (
id int(5) NOT NULL auto_increment,
nome char(30) NOT NULL ,
email char(80) ,
data date NOT NULL,
hora time NOT NULL ,
titulo char(100) NOT NULL ,
subtitulo char(200) ,
mensagem text NOT NULL ,
visualizar char(3) DEFAULT ‘nao’ ,
PRIMARY KEY (id),
UNIQUE id (id)
);

?>

Aquela parte de cima serve para o php se conectar ao servidor mysql e devidamente ao banco de dados especificado, no caso notícias. Vamos chamar ele de arquivo: config.php. Então para não precisarmos escrever ele mil vezes e quando precisarmos edita-lo precisar fazer mil vezes, podemos botar em um arquivo separado e chama-lo pela função include(‘config.php’); vejamos como fazer isso.

antes de tudo, você terá de acessar o PhpMyAdmin e criar novo banco de dados com o nome notícias, é simples. Mas tem um tópico que explica isso aqui no blog. :~~ Procure.

  • Vamos entender/simplificar o código:

– Criando config.php

Vamos criar um arquivo que tenha os parametros de acesso do mysql, para não precisarmos ficar editando em todos os arquivos.

<?

#essas variaveis você poderá mudar.
$servidormysql = “localhost”;
$usuarioservidor = “root”;
$senhaservidor = “”;
$bancodados = “meusite”;

#Daqui para baixo, não é necessário alteração.
$conexao = mysql_connect(“$servidormysql”, “$usuarioservidor”, “$senhaservidor”) or die (“Configuração de Banco de Dados Errada!”);

$db = mysql_select_db(“$bancodados”) or die (“Banco de Dados Inexistente!”);

?>

Bem, quando precisarem mudar algum dado, mudem as variaveis e pronto. :}

Obs.: Ao invés de usar aquelas linhas todas no seu arquivo.php tente substituir por include(config.php);

Sentiu a diferença? Então já entedemos o nosso conectar ao mysql, vamos ao sistema em si.

<?

echo “<h1><b>Cadastro de Notícias</b> // <i> created by: Stefan Yohansson </i></h1>”;
echo “<hr><br>”;
echo “<form action=’inserir.php’ method=’POST’>”; /* repare no action que manda todo o conteudo do form em questão para o arquivo inserir.php por metodo post, caso não entenda isso. Estude HTML */
echo “Nome: <input name=’categoria’ type=’text’ size=30> *<br>”;

*<br>”;

echo “Titulo: <input name=’titulo’ type=’text’ size=30><br><br>”;
echo “Autor: <input name=’autor’ type=’text’ size=30><br><br>”;
echo “Texto: “;
echo “<input type=’submit’ value=’Enviar’>”;
echo “</form>”;
echo “<br><hr>”;
echo “<i>Os campos com <b>*</b> são obrigatórios.<br>”;
?>

Bem, chamaremos esse arquivo de noticias.php, ele é um html, e pode ser tirado as ” e ser salvo como noticias.html. Porém prefiro em php.

Enfim, falta só um arquivo para fazermos o básico do sistema de notícias; a página de inserir o conteúdo ali digitado.

E vamos criar o inserir.php. Por favor, substitua os /* */ pelas tags de abertura do php. Pois o wordpress impancou com elas.

/*
$categoria = $_POST[‘categoria’];
$titulo = $_POST[‘titulo’];
$autor = $_POST[‘autor’];
$texto = $_POST[‘texto’];

include(‘config.php’);

$sql = “INSERT INTO noticias (categoria, titulo, autor, texto) VALUES (‘$categoria’, ‘$titulo’, ‘$autor’, ‘$texto’)”;

$resultado = mysql_query($sql) or die(“Houve um erro no cadastramento dos valores no db.”);

echo “Dados cadastrados com sucesso.”;
*/

ele chama as variaveis que foram passadas pelo metodo POST, definido em noticias.php no <form action=”” method=”POST” />
e essas variaveis, recebem seus nomes através dos names dados ao input, por exemplo:
<input type=”text” name=”categoria“>
o nome da variavel que contém o texto categoria fica assim.
$_POST[‘categoria’];

E para não precisarmos ficar usando esse texto em toda parte definimos ele como uma outra variavel.
$categoria = $_POST[‘categoria’];
entenderam?
– Mas e o resto?

$sql = “INSERT INTO noticias (categoria, titulo, autor, texto) VALUES (‘$categoria’, ‘$titulo’, ‘$autor’, ‘$texto’)”;

Quem sabe inglês já desvenda isso de cara, mas vamos traduzir:
$sql = “INSERIR EM noticias (nas colunas tais) OS VALORES (tais) ;
O que eu quis dizer com isso? que quero que insira na tabela noticias ( o banco de dados já está conectado no include(‘config.php’) )
os valores seguidos na linha depois do VALUE, nas sequintes colunas (antes do VALUE).

Bem pessoal, não to aqui para montar sisteminha besta para ninguém.
Apenas ensinar isso. Se quiserem alterar, fique de lição de casa. Fiquem só sabendo que a query para editar é;

“ALTER TABLE noticias (…) VALUES (…)”;
ou…
“ALTER TABLE noticias VALUES (x = ‘$f’, y = ‘$z’)…”;

Espero que tenha sido útil, e qualquer dúvida / reclamação deixar nos comentários. Desculpem a demora.

Eeee…

Irei começar com Ruby On Rails.
Já que vou fazer um curso no IFRN sobre tal.

Iniciei no Ubuntu 9.10, beleza.
Tive de formatar e excluir o usuario do ubuntuone, quando terminei de formatar e fui adicionar meu “novo” computador. Quem disse que adicionava? Entrava na página do ubuntu one, mostrava meus arquivos e não me dizia nada para adicionar o computador atual.

De repente pensei:
“perai, se o servidor lá não reconhece isso, então problema está na pasta de configuração do meu ubuntone.”

Logo veio a ideia. E me vi fazendo a pergunta que todo usuario de windows faz antes de quebrar seu sistema operacional (que felizmente no Linux não é assim.):
“Por que não tentar?”

Enfim,
a solução é simples:

basta abrir sua página pessoal
/home/usuario <~
no meu caso
/home/stefan
– dar um ctrl+H
e vai aparecer todos os arquivos ocultos, ums pastas com “.” no começo.
ps.: PELO AMOR DE DEUS, NÃO MECHAM NESSAS PASTAS! Claro, se não souberem o que estão fazendo.

Enfim, selecionem a pasta
.config
e dentro dela delete a pasta:
.ubuntuone
imediatamente, reinicie seu computador.

NÃO! NÃO SEJA TEIMOSO EM TENTAR INICIAR O UBUNTUONE !
Reinicie o computador. e automaticamente quando iniciar ele irá abrir o ubuntuone e o seu firefox. :] ~
Espero ter ajudado.

Mais sobre PHP

Publicado: novembro 6, 2009 por ' Carolina Araújo em PHP + MySQL, Tecnologia

Formulários Em PHP

Muitas pessoas tem dúvida de para onde vai o conteúdo daquele HTML , Onde ele é processado? O próprio formulario lhe responde isso no seu campo de ação.

Ex.:
<form action = “resposta.php”> </form>

O arquivo resposta.php é o arquivo onde as informações serão processadas e enviadas para outro lugar, geralmente um banco de dados. Vamos montar um desses formularios simples:

Nome: <input type=”text” name=”nome”>
*E-mail: <input type=”text” name=”email”>*

Senha: <input type=”password” name=”senha”>*

O campo “name” (em negrito) é de extrema importância nos input, pois são eles que nomeiam os bois, por eles que se recebe as variaveis no ‘enviar.php’. O metódo POST indica que os valores serão passados ‘por trás’ do script, de maneira segura, podendo assim dizer. Diferente do metódo GET que passa pela URL, os valores.

Bem, já montamos o nosso HTML, agora vamos ao arquivo ‘enviar.php’, o que ele fará?

  • Receberá os valores por metódo POST e irá transferi-los para uma variavel, respectivamente (a variavel é nomeada com o que colocar no name. Por isso esse campo é importante.)
  • Irá checar se todos os valores estão preenchidos, caso não, irá retornar uma msg de erro.
  • Caso os valores estejam correspondendo vai enviar os mesmos para a tela, imprimindo-os.

enviar.php

<?php
$nome = $_POST[‘nome’] /* recebe o valor pelo metodo post e armazena na variavel */
$email = $_POST[‘email’]
$senha = $_POST[‘senha’]

$sql = “INSERT INTO usuarios (nome, email, senha) VALUES (‘$nome’, ‘$email’, ‘$senha’)”;

/* Recebe valor e monta o SELECT na variavel sql*/

include(‘config.php’);

#chama o script de configuração

$sql = mysql_query($sql) or die (“Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!”);

// Serve para enviar os dados, caso dê erro mostra a msg escrita no “or die”
echo “Cadastro efetuado com sucesso!”;

//caso não, mostra o echo

Ubuntu 9.10 – Karmic Koala

Publicado: novembro 6, 2009 por Stefan Yohansson em Linux, Tecnologia
Tags:, ,

O ubuntu 9.10, vulgo Karmic Koala, é a tão esperada e recém lançada versão do sistema operacional Ubuntu.
Sua estrutura conta com:

  • A troca do pidgin pelo Empathy, um prematuro mas bem sucedido mensageiro instântaneo que promete vários avanços nas próximas versões, inclusive o suporte a vídeo e audio.
  • A troca do GRUB pelo GRUB2 como bootloader padrão, mantendo a taxa de 25 segundos de inicialização do sistema para notebooks e 10 segundos para desktops avançados.
  • O uso de um software center que lista os programas que podem ser instalados e com um clique você faz o download para o seu computador e os instala. (Antes podendo ler a descrição do que ele faz e até ver uma foto.)
  • Fácil download de codecs, quando tentar reproduzir um arquivo de mídia desconhecido o sistema procurará o codec para o arquivo para tentar abri-lo na mesma hora.
  • Já vem com a mais nova versão do openoffice, parecido com o Office da Microsoft a diferença é que você não precisará crackear ou coisa do tipo, afinal o openoffice é livre. (gratuito)
  • Mais de 400 jogos nativos para o linux, e ainda possiblidade de usar o Wine (Camada de Compatibilidade com o Windows, baixa-se no site)

Bem, essas são umas das principais mudanças no Karmic Koala, tirando outra grande diferença que é o visual que foi alterado. (Eu particularmente não acho que tenha mudado muito “O VISUAL”, mudou mais os icones e tal. Mas acho que o Gnome também deveria dar uma reviravolta no seu estilo. Mas isso, nada haver com o Ubuntu.)

Enfim, Be Free.
❤ ~

Cloud Computing

Publicado: novembro 6, 2009 por Stefan Yohansson em Tecnologia

Bem, o termo já é abordado em vários lugares… Pelo menos por técnicos e especialistas da área da informática. E já está dando muito o que falar a respeito.

Vamos saber, segundo o Google, o que será dessa espécie de técnologia.

O Jornal da Globo fez uma reportagem tentando explicar o conceito e, ao visitar a sede do Google em Mountain View tornou-se a primeira equipe de TV sul-americana a conversar com Eric Schmidt – CEO do Google. Na conversa, Eric falou que o Google compra novas empresas na proporção de uma por semana e, ao ser perguntado sobre uma possível aquisição do Yahoo!, respondeu que não há planos de comprar gigantes, mas sim de pequenas empresas que oferecem serviços “revolucionários”.

Eric também “alfinetou” a Microsoft, falando que não tem medo da empresa de Bill Gates e que a empresa deve sofrer com a concorrência da “computação nas Nuvens” que deve crescer nos próximos anos e ir totalmente contra o conceito aplicado até hoje pela Microsoft. Segundo ele, o futuro está na internet, daí o interesse da Microsoft adquirir o Yahoo!.

Eric completou que o Google está trabalhando para esta “computação nas nuvens”, mostrando que a empresa tem interesse em disponibilizar cada vez mais informações e torná-las cada vez mais acessíveis, seguindo o lema da empresa e, lógico, ganhando mercado e fazendo dinheiro com este público sedento por informações.

Retirado do:
UnderGoogle