Blog Intermol

Como documentar seu PHP - phpDocumentor

Se você já trabalhou em um projeto grande, sabe que documentar o código é fundamental. Afinal de contas, como se lembrar de todas as funções e classes específicas do projeto?

Não tema, phpDocumentor está aí para nos salvar. A partir de certos tags de comentário que você coloca no seu PHP, o phpDocumentor monta uma documentação completa - bonitinha e muito prática - do seu projeto, com todas as variáveis que você quer mostrar, dependências, etc. Um pequeno exemplo:

/**
* Pequeno exemplo do que pode ser feito com o phpDocumentor. Cheque se o usuário está logado e some até dois números.
* @uses EstaLogado
* @param int $a Aqui é o primeiro número a ser adicionado.
* @param int $b O segundo número a ser adicionado, se não definido será 0.
* @return int O resultado de $a+$b
*/
function AeB($a, $b=0)
{
EstaLogado();
return $a+$b;
}

Na documentação gerada pelo phpDocumentor você vai encontrar algo como:

AeB (line 431)

Pequeno exemplo do que pode ser feito com o phpDocumentor. Cheque se o usuário está logado e some até dois números.

* return: O resultado de $a+$b.
* uses: EstaLogado

int AeB (int $a[, int $b = 0])

* int $a: Aqui é o primeiro número a ser adicionado.
* int $b: O segundo número a ser adicionado, se não definido será 0.

Mais informações em http://phpdoc.org/

1 comentário »

Mudar o usuário do Apache

Se você quer que o seu httpd rode com um usuário ou grupo diferente, você deve iniciar o httpd como root e depois trocar.

User/Group: o nome ou número do usuário ou grupo que você quer que o Apache use. Fique atento à segurança.

<IfModule !mpm_netware_module>
User ###SEU_USERNAME_AQUI###
Group ###SEU_GRUPO_AQUI###
</IfModule>

Sem comentários »

O que é um registro de domínio

Registrar um domínio na internet é similar a reservar um nome, ou uma marca no mundo real.

Você protege seu nome ou o nome de sua empresa e evita que outras pessoas façam isso antes, com boas ou más intenções.

A diferença é que na internet existem diversos “sufixos” - extensões que podem ser escolhidas para acompanhar o nome de sua empresa e as vezes empresas com o mesmo nome mas em países diferentes tem domínios parecidos, por exemplo:

  • intermol.com.br - nós aqui no Brasil
  • intermol.net - fabricante de molduras na Espanha
  • intermol.co.uk - empresa química no Reino Unido

Dentro do mesmo país também podem ocorrer casos de empresas com mesmo nome atuando em ramos distintos. Neste caso fica com um domínio quem registrar primeiro. Nós registramos no Brasil o domínio intermol.com.br e poderíamos ter registrado nos EUA o domínio intermol.com mas uma outra empresa americana já havia feito isso.

No Brasil existe um orgão que controla todos os domínios que terminam com extensão “.br”.

Você mesmo pode consultar os domínios registrados no Brasil e a disponibilidade de registro. Entre no site Registro.br clicando aqui e digite o nome de um domínio, por exemplo: “intermol.com.br”. Em seguida clique no botão “Pesquisar”. Assim você saberá se um domínio já está registrado ou não.

A extensão “.br” acomoda ainda empresas de ramos diferentes através de categorias de domínio. Por exemplo:

  • .com.br (empresa comercial)
  • .edu.br (entidade de ensino superior)
  • .gov.br (entidades do governo federal)

Para ver a lista completa de extensões no Brasil clique aqui.

Algumas extensões de domínio no Brasil requerem CNPJ para registrar e outras somente CPF.

O Registro.br cobra hoje R$ 30,00 anuais para manter um domínio com extensão “.br”.

Este valor não inclui a hospedagem do site que será abordada num próximo artigo.

É necessário um conhecimento técnico para registrar um domínio e este serviço é prestado pela Intermol através do pagamento de uma pequena taxa.

Sem comentários »

Conceitos de programação - parte 1

Programar é um brinquedo. Passamos horas nos divertindo ao usar meios eletrônicos para resolver problemas próprios ou alheios.

Porém, há limites. A expansão de nossas habilidades vem com a capacidade de produzir mais programando cada vez menos. Como no mundo do software livre e aqui na Intermol sempre temos o futuro em mente, há dois aspectos básicos na programação de cada detalhe, apectos que observamos no nosso cotidiano. Ambos vindos dos 20+ anos de experiência de programação de cada membro. Temos a parte e o todo. Neste artigo iremos analizar a parte.

Cada função desempenha uma e somente uma função.. Se criamos uma função pra somar A+B, ela vai apenas somar A+B e não vai fazer mais nada - dois números entram, um número sai. A função não deverá fazer mais nada, nem crescer com mais possibilidades e complicações.

Se queremos uma função pra fazer A+B+C, será escrita outra função, mesmo que ela use a primeira. Caso ela use a primeira função criamos o que se chama dependência. O controle de dependências deve ser examinado com cuidado para garantir a qualidade do código final. É normal que comportamentos um dia tido como normais sejam no futuro tido como bugs - realizar consertos em funções dependentes pode se tornar desastroso. Por isso é necessário que se façam validações (testes) das funções de forma automatizada.

Pra PHP, uma ferramenta fácil pra validar funções individuais é o PHPUnit. Ao escrever a função, deve-se cadastrar sua contra parte em PHPUnit. O PHPUnit é uma ferramenta que executa a sua função com uma série parâmetros que você tenha selecionado, e compare com os resultados que você espera. A validação de funções deve começar com as funções de menor número de dependências. Mesmo sem o PHPUnit fazer uma validação automatizada de uma função é fácil: basta executar as funções com os parâmetros a serem testados e validar seu retorno.

Com o tempo, temos pacotes de funções (e de classes) bastante sólidos que podem ser integrados em um projeto subsequente. Essas funções e classes compõem a parte. No próximo artigo será discutido como organizar e integrar estes pacotes.

1 comentário »

Como quebrar uma tabela do tipo MyISAM a ponto de recuperá-la via SQL

Saber isso é útil para podermos testar nossos aplicativos em situações de risco.

Em um típico servidor Debian, você encontrará os bancos de dados em /var/lib/mysql. Cada banco tem seu próprio diretório, composto de 3 arquivos por tabela. Uma tabela MyISAM vai estar então armazenada em:
- [tabela].frm - dados de criação da tabela (campos, etc);
- [tabela].MYI - índice (um ‘cache’ onde parte dos dados é duplicada pra que o acesso seja mais rápido);
- [tabela].MYD - onde os dados são efetivamente guardados.

Não parece ser muito comum arquivos .frm ou MYI serem corrompidos. Pelo menos até o momento não tive a felicidade de encontrar problemas com eles. O que acontece com freqüência em alguns servidores mais populares é corromper o MYD.

O arquivo MYD é um bando de dados. Como googlar pela estrutura do MYD não retornou nada de cara, vamos apelar pra engenharia reversa. Os dados parecem estar gravados da seguinte maneira:
- 6 bytes pra demarcar o começo de uma linha;
- 0-2 bytes pra demarcar o campo (depende do tipo de campo);
- Dados (o que estamos efetivamente guardando).
Ficamos com um arquivo assim:
Começo de linha - Campo - Dados - Campo - Dados - Começo de Linha - Campo - Dados ….

Inserir um dado com os mesmos bytes dos marcadores não vai corromper a tabela. MySQL não é tão burro assim. Corromper o dado em si, mesmo que seja feito diretamente no arquivo, também não vai corromper a tabela - só vai prejudicar o dado.

Para matar a tabela, mate os marcadores. Substitua-os por qualquer outra coisa usando um editor hexa como beav (apt-get install beav). Quanto mais marcadores você matar, mais problemas vai dar para o REPAIR TABLE.

O REPAIR TABLE parece usar o arquivo de índice para ajudar a recuperar dados. Se a sua estrutura usa indexação, em geral menos dados são perdidos.

1 comentário »

Os 10 Princípios da Economia traduzidos

Outra de economia: aqui vai uma tradução dos dez princípios fundamentais para os que não possuem PhD:

Infelizmente, novamente em inglês.

1 comentário »

Web semântica

O video abaixo (em inglês) ilustra de forma didática, o que é e como funcionaria a web semântica.

Vale a pena conferir também a extensão Operator para o navegador Firefox que identifica Microformats nas páginas.

Sem comentários »

sdf.lonestar.org

Há 20 anos no ar. Acesso Unix livre, basta ter telnet ou ssh.

A história deles traz boas lembranças, especialmente de BBS, e pode ser vista aqui.

Registre-se, é grátis, está cheio de boas lembranças. http://sdf.lonestar.org

Sem comentários »

Kompozer - um editor HTML fácil e leve

O Kompozer é uma versão livre de bugs do conhecido editor HTML chamado NVU.

Ele está disponível para diversas plataformas inclusive Linux e Windows.

Ambos, além de terem código fonte aberto e livre, tem também a característica WYSIWYG - “What You See Is What You Get” - “O que você vê é o que você tem”.

Na prática isso quer dizer que você vê no próprio editor, a página da forma como ela aparecerá no site para os visitantes.

O programa está em inglês mas com a instalação simples de um plug-in (disponível no próprio site), os menus aparecem em português.

www.kompozer.net.

logo Kompozer

Sem comentários »

Demanda e Oferta por um rapper

“Demand, Supply” pelo rapper “Rhythm, Rhyme, Results”.

Uma tentativa interessante de explicar (será “explicar” um estágio intelectual excessivamente elevado para um rapper?) dez princípios básicos da teoria econômica. Infelizmente, em inglês:

3 comentários »

Yayá - realize pesquisas em Mogi e região

O Yayá é um site de pesquisa que foi lançado no ano 2000 para a região de Mogi das Cruzes.

Na época o Google ainda não era conhecido e o Yayá já fazia muito sucesso por ser o único site de pesquisa abrangendo a região.

Posteriormente o site foi melhorado por programadores especialistas em padrões W3C e convertido para PHP com MySQL. Isto fez com que ele se tornasse mais rápido e ágil.

Hoje como prova de sua evolução, o Yayá incorporou o poderoso motor de busca do Google e mantém um banco de dados de sites da região.

www.yaya.com.br

Sua empresa ou seu negócio agora também podem aparecer nos resultados de busca do Yayá.

Maiores informações podem ser obtidas pelo e-mail contato@yaya.com.br.

Comments Off

Arquivos PDF não são mais seguros

A F-Secure, empresa especializada em segurança, detectou um volume alto de mensagens na internet contendo arquivos PDF maliciosos que exploram uma falha de segurança descoberta recentemente no software Adobe Acrobat e que afeta também o Internet Explorer 7.

Arquivos PDF normalmente não são barrados nos servidores de e-mail dos provedores.

Para evitar ser contaminado, não abra arquivos PDF de remetentes desconhecidos.

Para garantir ainda mais sua segurança, utilize outro leitor de arquivos PDF como o Foxit, até que uma atualização do Adobe Acrobat seja lançada.

Sem comentários »

Adaptador DWL-G122 no Ubuntu 7.10

Tornar o Linux compatível com hardware é um dos maiores desafios da comunidade desenvolvedora.

Isso acontece porque a maioria dos fabricantes ainda não fornece drivers Linux junto com o dispositivo da mesma forma que ocorre com o Windows.

A lista de compatibilidade de hardware do Linux cresce a cada dia mas ainda assim antes de adquirir um novo dispositivo para funcionar com o sistema você deve pesquisar na internet para saber se ele é compatível.

No caso do Ubuntu uma boa fonte de pesquisa é o próprio site na seção de dispositivos suportados. Veja aqui a página com a lista de dispositivos wireless que podem ou não funcionar no Ubuntu.

Um detalhe importante é que as vezes o mesmo modelo de dispositivo pode ou não funcionar dependendo do chipset que é o nome dado aos componentes internos do dispositivo (chip, firmware, etc…).

No caso do DWL-G122, um adaptador wireless USB da D-Link, a versão do dispositivo que utilizamos é a C1 (este código aparece no próprio adaptador como H/W Ver.: C1). Este modelo com este chipset funciona sem a necessidade de instalação de drivers manualmente na versão 7.10 do Ubuntu.

Para as versões anteriores é necessária a configuração manual que pode ser seguida aqui.

Sem comentários »

Gerenciando suas senhas com o KeePass

Contas de e-mail, cadastros em sites de relacionamento, sites de bancos, MSN, Google, etc… como memorizar tantas identificações (nomes de usuário) e senhas destes serviços?

A forma mais fácil e arriscada, é ter apenas um nome de usuário e senha para todos os serviços. O problema desse método é que nem todos os serviços mantém um nível de segurança adequado para os seus dados (identificação e senha). Isso quer dizer que se um destes serviços falha, ou é invadido por crackers, seus dados podem ser roubados e a consequência pode ser desastrosa como ter pessoas utilizando seu MSN ou, no pior caso, transferindo dinheiro de sua conta bancária.

Existe um software que simplifica o gerenciamento de suas identificações e senhas e ele se chama KeePass. Tem versões para Linux, Windows, Blackberry, PalmOS, etc…

Com ele você cadastra todas suas identificações e senhas em um único arquivo e acessa estas informações através de uma única senha/frase. Este arquivo é criptografado com os métodos mais seguros existentes.

Assim você não precisa se preocupar em decorar tantas senhas para utilizar a internet de forma segura.

O site do KeePass resume suas características:

  • Forte Segurança
  • Chaves para Múltiplos Usuários
  • Portátil e Sem necessidade de instalação (você pode carregar no seu pendrive)
  • Exporta para TXT, HTML, XML e Arquivos CSV
  • Importa de Vários Formatos de Arquivo
  • Transferência de Banco de Dados Simplificada
  • Suporte para Grupos de Senha
  • Campos de Data e Hora e Entradas para Anexos
  • Intuitivo e Gerenciamento Seguro da Área de Transferência do Windows
  • Pesquisa e Ordenação
  • Gerador de Senhas Fortes
  • Arquitetura de Plug-in
  • Código Aberto!
Sem comentários »

Baixando videos do You Tube

Se você utiliza o Mozilla Firefox em ambiente Linux ou Windows, você pode instalar um plug-in para baixar videos do You Tube e armazenar em seu micro.

Depois de instalar o plug-in, reinicie o navegador.

Entre na página do video desejado e espere o video completar o carregamento.

Depois é só clicar no ícone com uma seta amarela que fica ao lado direito inferior do Firefox e escolher o local para salvar o video em formato FLV.

Os videos em formato FLV podem ser convertidos para um outro formato como AVI ou MPEG utilizando uma ferramenta de conversão gratuita como o SUPER.

Há ainda uma alternativa online para fazer o download dos videos em formato FLV sem necessitar de plug-in.

Acesse o site Keepvid ou se ele estiver fora do ar o site Video Downloader e preencha o campo de texto com o URL do video que deseja (aquele endereço que aparece na barra de endereços quando você assiste a um video).

Clique no botão Download.

O site gera um link para download do video em formato FLV para seu micro.

Depois é só utilizar o SUPER para converter para o formato de video desejado.

Sem comentários »

Tudo Mudou. Muito Rápido. Não Deu Tempo.

Pois é, não deu tempo. A vida continua.

O administrador do blog é o maior Hexaman. Codifica em Assembly, Python, PHP, Smalltalk, C, Clipper, ASP, Prolog, Basic entre outros que não conheço e produz em todas as linguagens programas que são ao mesmo tempo recursivos, fáceis de compreender e super otimizados. A qualidade do seu código é algo que há anos procuro alcançar, em vão.

Mas não deu tempo. A vida continua. Desde o Windows ME eu me pergunto porque a Microsoft e outras empresas vendem código inadequado pro hardware, cheio de penduricalhos mal e porcamente implementados. E fazem uma boa grana.

Joel descreveu neste artigo sua visão sobre o assunto. E, puxa, ele realmente parece estar certo.

E insisto em dizer que não deu tempo. Até consegui escrever estes novos penduricalhos no nosso software, mas não deu tempo de otimizar o código, não deu tempo de limpar e escrever algo mais adequado pro equipamento que tenho agora. Mas diabos, que se dane. A vida continua. E o computador do ano que vem vai conseguir lidar com isso. E nosso software vai rodar bem no computador do ano que vem, nossos consumidores vão amar os novos penduricalhos e vão correndo comprar o computador novo e contratar mais banda pra internet. Enquanto o ano que vem não vira, vou escrever mais penduricalhos.

E a arte que nós produzimos em forma de código? A beleza da lógica, recursividade e manutenibilidade que colocamos em cada projeto em todos esses anos? Isso fica nos nossos arquivos pessoais, transferidos de mídia em mídia (fita cassete, disquete, cd) como celebração de uma época em que éramos, …, hum, … ..-. . .-.. .. –.. . …

1 comentário »

Hello World

Sempre que estamos aprendendo uma nova linguagem de programação ficamos curiosos para ver a “cara” de um programa naquela linguagem.

O famoso programa “Hello World” faz isso. Ele mostra qual o código necessário para exibir a mensagem “Hello World” (”Olá Mundo”) em uma determinada linguagem de programação.

A página abaixo mostra o programa “Hello World” escrito em inúmeras linguagens de programação.

http://roesler-ac.de/wolfram/hello.htm

Sem comentários »

PROLOG

Criado em 1972, apresenta uma forma interessante de programar.

Cheque o tutorial aqui.

Ou a Wikipedia aqui.

Ou o compilador aqui.

Sem comentários »

Internet Archive Wayback Machine

Servidor que arquiva sites antigos.

Clique aqui para ver as versões antigas dos sites da Intermol

Para procurar a versão antiga do seu site entre em:

Internet Archive Wayback Machine

Sem comentários »

Proxy 4 Free

Listas de servidores proxy livres para utilização.

www.proxy4free.com

Sem comentários »

« Página AnteriorPróxima Página »