Fábio Correia

Fábio Correia é estudante de Engenharia Informática na Universidade de Évora. Partilhando o estudo com a moderação do fórum Portugal-a-Programar e a participação na Revista Programar, como um dos redactores mais activos, ainda tem tempo para explorar algumas das suas linguagens preferidas: Java, PHP e a recente D.

Packet Capture em Java com JPCAP

PCAP (Packet Capture) consiste numa API para a captura de pacotes de rede. Em sistemas baseados em Unix o Pcap é implementado na biblioteca LibPcap, no caso dos sistemas Windows este encontra-se implementado na biblioteca WinPcap.

Estas bibliotecas permitem que software consiga capturar e filtrar pacotes que viagem pela rede, enviar pacotes e até listar todas as interfaces de rede existentes no sistema bem como obter informações sobre os mesmos, tais como o nome, IP ou MAC.

É ainda possível guardar os pacotes capturados num ficheiro e mais tarde voltar esses pacotes a partir do ficheiro onde foram guardados. Tais recursos são muito utilizados em ferramentas de monitorização e análise de rede como por exemplo packet sniffers, network monitors, network intrusion detection and traffic-generators.

Continuar a ler

Manipulação de Ficheiros com Ruby

Neste artigo vamos explorar a linguagem Ruby e os seus recursos para manipulação de ficheiros e directórios bem como as capacidades de Input/Ouput disponíveis. Para isso vão ser utilizadas as bibliotecas mais comuns como Dir, File e IO. Embora existam outras mais recentes e com mais recursos estão são as mais comuns, de simples utilização e que servem para base de bibliotecas mais recentes.

Continuar a ler

Shell Script

Shell é a linha de comandos de Linux e UNIX, é ela que interpreta todos os comandos inseridos pelo utilizador. Para além de executar comandos do sistema esta também tem comandos de programação tais como if, for, while, variáveis e também funções, permitindo desta forma criar chamadas de comandos mais flexíveis.

Shell script é basicamente um ficheiro com uma determinada sequência de comandos shell, estes scripts podem ser executados de diversas formas podemos criar o nosso script e executá-lo usando os comandos sh ou bash.

Continuar a ler

Interfaces Web com Java HttpServer

Cada vez surgem mais aplicações de desktop com interfaces web, que permitem o controlo da aplicação por um simples browser usando o protocolo HTTP. Bom exemplo disso são as aplicações P2P, como o conhecido cliente de bit torrent Azureus, todas as quais actualmente com esse suporte.

Com o Java 6 esta tarefa foi bastante simplificada, pois esta versão vem com a API HttpServer, que fornece os mecanismos básicos de um servidor HTTP. Iremos ver neste artigo como usar algumas dessas funcionalidades. Vamos para isso construir um leitor de áudio simples, apenas com os comandos reprodução e parar, e criaremos para isso um interface web, usando a API fornecida pelo Java para esse efeito.

Continuar a ler

AJAX & PHP

Actualmente qualquer programador ou até utilizador da web já deve pelo menos ter ouvido falar em AJAX e atenção que não me refiro à marca de detergentes que muitas pessoas usa para lavar, limpar etc… Refiro-me sim a uma tecnologia que de certo modo revolucionou o mundo web.

AJAX não é uma linguagem de programação mas sim uma técnica para criar melhores aplicações web, mais rápidas e mais interactivas. Embora o nome sugira uma linguagem de programação AJAX não passa de uma sigla, Asynchronous Javascript and XML, ou seja esta técnica permite que Javascript comunique directamente com o servidor usando o objecto XMLHttpRequest do Javascript. Assim é possível trocar dados entre o servidor e o cliente sem precisar de recarregar a página, poupando tempo e tráfego.

Continuar a ler

Input/Output em Java

Neste artigo vamos abordar uma matéria que, a nosso ver, é bastante interessante e importante no mundo da programação: o input/output, neste caso aplicado a Java.

Iremos começar com manipulação de ficheiros e directorias. Vamos ver a seguinte classe Java, onde são demostradas as principais funções da classe File, que é a utilizada para realizar a manipulação. Em seguida vamos explicar o que cada linha faz.

Continuar a ler