Arquivo para 'Software-livre'

Código-fonte do Windows aberto???

No Gravatar

MS

Pelo menos foi o que reportou nesta quinta-feira, dia 21/02/2008, o jornal o Globo. Segundo eles, a União Européia, que fortemente vem brigando com a Microsoft há alguns anos, determinou e agora, segundo Steve Ballmer, um dos alto executivos da Microsoft, que colaborou no desenvolvimento da gigante durante suas fases iniciais até o dia de hoje, irá cumprir. … leia mais ‘Código-fonte do Windows aberto???’

Permissões no Linux - sistema octal

No Gravatar

PerigoEste artigo trata de assunto importantíssimo, todavia simples e para iniciantes no Linux. Duas são as bases para a segurança no Linux: estabilidade e permissões. A estabilidade é tida pela programação bem estudada de seu kernel. Já as permissões dependem em uma enorme fatia do Administrador do Sistema - aquele que tem os poderes de root. Para quem não sabe que é este tal de root: Super usuário - aquele que pode tudo, direta ou indiretamente. O root entre outras grandes coisas é capaz de tornar um determinado arquivo propriedade de qualquer outro usuário, além de ter plenos poderes para destruir a qualquer tempo toda a árvore de diretórios do linux ou mesmo a partição - mesmo que o Linux esteja em funcionamento (ou seja, você não verá: é impossível realizar a exclusão desta partição, porque ela está em uso —> isso é coisa de Windows).

… leia mais ‘Permissões no Linux - sistema octal’

Recuperar a senha do Root em qualquer linux

No Gravatar

Tux

Um procedimento pouco divulgado / difundido, todavia muito simples. Imagine o nosso possível futuro. Necessitando recuperar a senha do root criada por outra pessoal. O cara sai da empresa e não passa pra ninguém (ou em caso mais extremos: o cara morre sem passar a senha pra ninguém).

… leia mais ‘Recuperar a senha do Root em qualquer linux’

Slackware 12, Apache e PostgreSQL

No Gravatar

SlackwareDica rápida para o pessoal, que como eu, já teve ou tem problemas com a relação direta entre o Apache e o PostgreSQL. Neste caso vou contar a historinha do slackware 12, que, na sua instalação full, já vem com o Apache instalado.

Para conectar-se ao pgSQL, o apache precisa de um módulo especial, chamado DBD-pg. O mesmo não vem instalado por padrão. O apache, juntamente com o PHP, se comunica com o MySQL, mas a conexão é possível devido a este pacote voltado para o MySQL já vir incorporado.

… leia mais ‘Slackware 12, Apache e PostgreSQL’

Banda-larga nas escolas, o que muda no dia-a-dia?

No Gravatar

ConectividadeA pouco recebemos a notícia de que existe uma parceria sendo firmada entre o governo do Presidente Lula e instituições privadas para disponibilizar banda-larga para as escolas de todo o país (veja mais). Em que isso pode influenciar para o seu dia-a-dia? … leia mais ‘Banda-larga nas escolas, o que muda no dia-a-dia?’

Software Livre: será que perde dinheiro quem desenvolve?

No Gravatar

Esta é uma pergunta extremamente comum. Vários aspirantes a programadores (não são aqueles que fazem programas como casa de pobre) sempre se perguntam sobre como ganhar dinheiro com o Software Livre. O trabalho que se tem com um software proprietário costuma ser bem mais oneroso que no OpenSource.

Dinheiro e Open Source

Ao desenvolver um programa e vendê-lo, conseqüentemente temos que dar o suporte ao usuário, aos erros e coisas deste tipo. Quem já vendeu uma licença e cobrou, muitas vezes, caro por isso, tem que dar garantia de seu produto. … leia mais ‘Software Livre: será que perde dinheiro quem desenvolve?’

MySQL para Iniciantes - primeira parte

No Gravatar

Introdução

O mySQL é um banco de dados que funciona, primariamente, via shell, ou modo texto. Robusto e simples, ele pode ser utilizado para as mais diversas atividades, inclusive e, principalmente, para Web. O conhecimento do mesmo é muito interessante para Webmasters.

Instalação do MySQL

O MySQL pode ser instalado no Windows, no Linux, no Netware, no Mac OS e vários outros. Todavia ficaremos apenas com as dicas de instalação.

Para Windows e usuários inexperientes, é altamente recomendável a utilização do PHPtriad, que já vem com o Apache e o PHP, além do MySQL é claro. Faça download do PHPtriad abaixo:

http://prdownloads.sourceforge.net/phptriad/phptriad2-2-1.exe

Para Linux:

No linux temos várias soluções para utilização do sistema LAMP (Linux, Apache, MySQL e PHP). Considero mais fácil instalar a distro de sua preferência e baixar os binários para a mesma (.deb para debian based, .rpm para red hat based, .tgz para slackware, etc).

O Slackware 12 já instala o apache, o php e o mySQL na sua instalação completa. Contudo algumas “mágicas” são necessárias para startar o MySQL a primeira vez:

Crie o arquivo /etc/my.cnf e cole:

[mysql.server]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock

[mysqladmin]
socket=/var/run/mysql/mysql.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/run/mysql/mysql.sock
language=/usr/share/mysql/english/
log=/var/log/mysql/mysqld.log

[mysql]
socket=/var/run/mysql/mysql.sock

# chown -R mysql.mysql /var/lib/mysql (diretório do seu mysql, aqui colocado o padrão da instalação do slackware) ;;;; Isto muda os donos da pasta e seu conteúdo.

# mysqld_safe & ;;;; Incia o mysql no modo seguro - se der algum erro é normal, para que possa criar o mysql.sock

# mysqladmin -u root password ’senha’ ;;;; define a senha do root do mysql

A partir daí é só programar para iniciar na inicialização.

Obs.: Pode ocorrer no slackware de não existir o diretório para logs no mysql, caso ocorra:

# mkdir /var/log/mysql

Operação básica

A sintaxe do MySQL é bem simples. Basicamente, na maioria das suas operações ele é Case Insensitive (exceto para nomes de bancos de dados, tabelas, etc).

Para iniciar o shell do MySQL basta digitar (No windows é necessário estar na pasta BIN do mysql - padrão do phptriad = c:apachemysqlbin):

mysql -u root -p [ENTER]

enter password:

mysql>

Para maior segurança, o ideal é operar com um usuário comum e não com o root do mysql. Crie o banco de dados com o comando “create database nome_do_banco”:

mysql> CREATE DATABASE dvds;

O “;” é necessário para avisar ao mysql que você terminou o comando.

Para visualizar os bancos de dados no seu mySQL digite, use o comando “show databases”:

mysql> SHOW DATABASES;

o MySQL já possui alguns bancos de dados por padrão (normalmente mysql - que guarda informações de usuários - e test - para que possamos usar para testes).

Devemos criar usuário que possa administrar apenas o banco de dados no qual trabalharemos. Não é necessário criar um usuário, faça como a seguir:

mysql> GRANT ALL ON dvds.* TO usuario@localhost IDENTIFIED BY ’senha’;

O Comando GRANT tem várias outras aplicações e se você vai utilizar o banco de dados em modo multiusuário deverá estudar bem sua aplicação. Neste nosso caso demos todas as permissões “ALL” no banco de dados dvds inteiro “ON dvd.* ” para o usuário usuario que se conecta localmente “usuario@localhost ” com a senha senha “IDENTIFIED BY ’senha’ “. O usuario pode ser substituído pelo nome de usuario que desejar. E localhost poderá ser substituído pelo nome da máquina da qual você conecta ao mySQL. Obs.: Aplicações PHP+MySQL rodam dentro do servidor, logo você poderá utilizar o fulano@localhost.

Digite q para sair do mysql e entrarmos com nosso usuário.

mysql -u usuario -p [ENTER]

enter password:

A Estrutura do Banco de Dados

Talvez a tarefa mais difícil no mySQL ou qualquer outro banco de dados seja definir a estrutura com qual trabalharemos. Quais as tabelas, os campos, os tipos de dados, etc. Um banco de dados bem planejado sempre funcionará bem e será de fácil manuseio. Utilize sempre nomes intuitivos e evite uma lingua que não seja do seu domínio.

Selecione o banco de dados a ser utilizado:

mysql> USE dvds

Não está errado não. O comando USE e o comando QUIT não necessitam de ; A utilização das palavras-chave (comandos) em maiúscula é opcional, é somente uma questão didática e visual.

Digite o comando show tables para visualizar as tabelas existentes:

mysql> SHOW TABLES;

O comando mostrará que não temos nenhuma tabela. Vamos criar a nossa. Este banco de dados de exemplo será para catalogar DVDs. Eles tem Nome, Tem Ano de publicação, Tempo de duração, Linguagem, etc. Criaremos então:

mysql> CREATE TABLE cadastro_dvds (nome VARCHAR(20), ano YEAR(4),

-> minutos SMALLINT(5), idioma VARCHAR(20), genero VARCHAR (20));

O tipo VARCHAR permite que você utilize menos que os 20 ou se necessário for aumentar existe a possibilidade. O tipo YEAR armazena os anos e é essencial para fazer cálculos com tempo. O tipo SMALLINT é interessante para casos onde sabemos que o valor será inferior a 65536. Pois ocupa menos espaço na memória. O número no final dos tipos define o número de caracteres que será suportado no campo. Tente novamente:

mysql> SHOW TABLES;

Caso você se esqueça como é sua tabela e os campos que ela tem utilize o comando describe.

mysql> DESCRIBE cadastro_dvds;

Ele retornará todas as informações necessárias.

Dados nas Tabelas

Toda tabela deverá receber informações, pois esta é sua função. Temos instruções básicas para isso, como LOAD DATA e INSERT.

nome ano minutos idioma genero

Apocalipse 16 2003 200 pt_BR Gospel

Khorus 2006 120 pt_BR Gospel

Smallville 2007 900 en_US Seriado

Arquivo X 1993 950 en_US Seriado

Silicon Valley 1991 120 en_US

Você pode criar um arquivo com um nome como dvds.txt, com um registro a cada linha, tendo seus valores separados por tabulações, contudo atenção, não coloque os nomes dos campos. Caso precise de colocar algum campo em branco digite N no seu lugar, para indicar que o valor do campo é nulo.

Carregue o arquivo na tabela da seguinte forma:

mysql> LOAD DATA LOCAL INFILE “dvds.txt” INTO TABLE cadastro_dvds;

Outra forma de inserir os dados é colocá-los através do comando INSERT:

mysql> INSERT INTO cadastro_dvds

-> VALUES (’David M Quinlam’, ‘2005′, ‘120′, ‘pt_BR’, ‘NULL’);

Quando inserimos desta forma não podemos utilizar o N e sim temos que escrever NULL.

Para atualizar um registro podemos utilizar o comando UPDATE.

mysql> UPDATE cadastro_dvds SET genero = “Gospel” WHERE

-> name = “David M Quinlam”;

Consultas Simples e Manuais

O Caractere * funciona como curinga, ele ordena que todos os registros sejam selecionados. Quem utiliza o linux, com certeza sabe do que estou falando… rsrsrs.

Então a sintaxe para recuperar todos os dados na tela, da tabela cadastro_dvds deverá envolver o nome desta tabela e o *.

mysql> SELECT * FROM cadastro_dvds;

Teremos a exibição de todos os dados na tela.

Seleções com condições.

mysql> SELECT nome, ano, minutos FROM cadastro_dvds WHERE

-> genero = “Gospel”;

Este tipo de consulta é INSENSITIVE CASE. Veja outro exemplo:

mysql> SELECT nome, minutos, genero FROM cadastro_dvds WHERE

-> ano >= “2000″;

Pode ainda utilizar operadores AND, OR, etc. Podemos ainda ordenar nossas consultas.

mysql> SELECT nome, minutos, genero FROM cadastro_dvds WHERE

-> ano >= “1992″ and genero <> “Gospel” ORDER BY name;

Consultas com cálculo e nova coluna de resultado

CURDATE () é a variável da data atual. Dela podemos extrair o ano YEAR(CURDATE()), o mês MONTH(CURDATE()) e dia do mês DAYOFMONTH(CURDATE()).

Uma consulta que calcula a idade dos nossos DVD’s.

mysql> SELECT nome, genero, CURDATE(), (YEAR(CURDATE()) - ano) AS

-> idade FROM cadastro_dvds;

Vamos ficando por aqui nesta nossa primeira parte. Já dá pra praticar bastante. Depois disponibilizarei mais algumas funções e dicas.

Grande abraço.

Ouça Rádio FDH Music >> www.fdhmusic.com.br