segunda-feira, 21 de abril de 2008
Classe URLget...
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.InputStream;
import java.lang.Byte;
public class URLget
{
private String endereco_ip;
private String trad;
private String host_name;
private String enviado;
private String recebido;
private Socket conexao;
private OutputStream send_conexao; // enviar para a socket;
private InputStream receveid_conexao; // o que a socket retornar;
public URLget(String ip, String host)
{
try
{
conexao = new Socket(ip, 80);
}
catch(UnknownHostException exception)
{
System.out.println("Erro ao tentar conectar-se a socket");
}
catch(IOException exception)
{
System.out.println("Erro ao tentar escrever p/ a socket(1)");
}
}
public void WriteToSocket(String enviado)
{
this.enviado = enviado;
try
{
send_conexao = conexao.getOutputStream();
send_conexao.write(enviado.getBytes());
}
catch(IOException exception)
{
System.out.println("Erro ao tentar escrever p/ a socket(2)");
}
}
public String RecivedFromSocket()
{
byte recebidos2[] = new byte[100000];
try
{
receveid_conexao = conexao.getInputStream();
receveid_conexao.read(recebidos2);
trad = new String(recebidos2);
}
catch(IOException exception)
{
System.out.println("Erro ao tentar ler dados recebidos socket(3.1)");
}
return trad;
}
}
terça-feira, 8 de abril de 2008
Código-fonte do aplicativo.
import java.net.Socket;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.InputStream;
import java.lang.Byte;
public class sockets {
public static void main(String args[])
{
InputStream recived;
byte recivedbytes[] = new byte[1000000];
byte a[] = new byte[10];
try
{
Socket website = new Socket("IP AQUI", 80);
if(website.isConnected()){
System.out.println("Conexão ok");
}
OutputStream solicitar;
solicitar = website.getOutputStream();
String sol = new String("GET / HTTP/1.1\nHost: www.endhost.com.br\n\n\r");
System.out.println(sol);
try {
a = sol.getBytes();
solicitar.write(a);
}
catch (IOException e)
{
System.out.println("problema na requisição");
}
recived = website.getInputStream();
recived.read(recivedbytes);
String traducao = new String(recivedbytes);
System.out.println(traducao);
}
catch (UnknownHostException exception)
{
System.out.println("Deu problema1");
}
catch (IOException exception)
{
System.out.println("Deu problema2");
}
}
}
próximo post: Detalhar as classes que foram usadas na construção esse meu primeiro programinha usando Socket.
segunda-feira, 7 de abril de 2008
Aplicativo "simples" utilizando a classe Socket no Java.
domingo, 6 de abril de 2008
Usando Sockets no Java
Vivo finaliza aquisição 53,9% do capital da Telemig Celular
Por Redação do COMPUTERWORLD
A Vivo, operadora de celulares controlada por Portugal Telecom (PT) e pela espanhola Telefónica, concluiu a aquisição de 53,9% do capital e de 4,27% das ações preferenciais da Telemig Celular Participações, informou a Telefónica.
Em nota divulgada pela Comissão de Mercado de Valores da Espanha, a Telefónica diz que o preço total da aquisição foi 1,163 bilhão de reais.
Adicionalmente, informa a Telefónica, e de acordo com a legislação brasileira do mercado de valores, a Vivo lançará agora uma oferta pública de aquisição (OPA) sobre a totalidade das ações com direito a voto da Telemig, a um preço por ação "igual a 80% do preço" de compra dos títulos negociados.
Com SDK, iPhone agita o mercado móvel e sai na frente de concorrentes
Por Infoworld, EUA
14 de março de 2008 - 17h35
Oito meses atrás, a Apple não aparecia no espaço móvel. Hoje, de acordo com a própria empresa, o iPhone é o segundo smartphone mais popular do mercado, perdendo apenas para o BlackBerry.
Durante o lançamento do aparelho, foi exatamente isso o que Steve Jobs disse que estava por vir.
O que ele admitiu não ter previsto foi a reação do mercado à falta de um SDK – kit de desenvolvimento de software – que daria suporte à produtos de terceiros complementares ao iPhone.
A plataforma da Apple é hoje a única sem um suporte customizado para aplicativos, e isso bloqueou a entrada da empresa em um terreno em que a RIM nada de braçada. Isto também desestimulou os desenvolvedores Mac que puseram a marca no mapa e a mantiveram lá com aplicações nativas.No próximo mês de junho, a Apple deve corrigir o erro. A Apple vai começar a oferecer seu SDK para o iPhone e será que isso vai gerar a mais simples, melhor documentada e mais rica experiência para desenvolvedores de aplicativos móveis?
Eu venho desenvolvendo aplicativos extenaivamente com as plataformas Symbian, Windows Mobile e BlackBerry. O iPhone deixa todos eles para trás, me fazendo rir de quem decidiu que o desenvolvimento de aplicativos móveis tem que ser difícil. Aqui vai um conselho: se você é novo na área, o iPhone ou o iPod Touch são ótimos para começar.
Não posso fazer justiça ao SDK do iPhone em um post, mas eu posso citar alguns pontos. Para começar, os desenvolvedores não precisam usar Objective-C, C ou C++ para escrever software para o iPhone. A Apple adicionou a única coisa que eu tinha certeza que ela não adicionaria ao browser do aparelho – o Safari – pavimentando o caminho para aplicativos desenvolvidos em JavaScript, HTML e CSS que rodam mesmo quando a rede não está disponível.
Mais que isso, o JavaScript do iPhone não força os programadores a usar arquivos de texto ou XML. Ele usa o SQL, completo com transações. A Apple também colocou algo de flash no GUI do Safari com suporte embutido para SVG (Scalable Vector Graphics) e animações, automáticas e explícitas. A empresa também fornece código de aplicações Web que imitam o GUI nativo do aparelho, permitindo que a aplicação possa rodar em toda a tela, sem deixar sinal de que está rodando no browser. O suporte offline do iPhone é tão robusto, que o vejo sendo portado para desktops no futuro.
Do lado nativo, nós sabemos agora que o sistema operacional do iPhone é baseado no OS X 10.5, a.k.a. Leopard, e que a Apple contou com desenvolvedores Mac. Suas habilidades, e seu conhecimento do código, foram movidos para o aparelho móvel. Na verdade, há tantas similaridades entre o Mac e o iPhone , que muito da aprendizagem do código para o aparelho está em se familiarizar com o que não pode ser feito.Por exemplo, as mesmas facilidades de apresentação, como o OpenGL e Quartz, estão presentes nos dois equipamentos, mas o OpenGL do iPhone é uma versão reduzida do OpenGL ES (Embedded Systems) e o Quartz é limitado a gráficos 2-D. Mas é bom usar a palavra “limitado” com cuidado quando se fala sobre o SDK do iPhone. O Quartz pode ser 2-D, mas ainda pode baixar, exibir, escalar, anotar e salvar arquivos PDF. Seu telefone ou mp3 player fazem isso?
As aplicações nativas do iPhone têm acesso às APIs do padrão POSIX C e outros como soquetes Berkeley para comunicação TCP/IP. Todos os códigos de terceiros rodam em uma sandbox, o que significa que o sistema operacional exerce forte controle sobre seu acesso ao sistema de ligações, portas TCP, arquivos e outros recursos. Você não pode escrever um aplicativo que dependa de arquivos de outros aplicativos. Você não pode desenvolver uma caixa de e-mail customizada ou um servidor Telnet que usem as portas padrão TCP, independente de o iPhone as estar utilizando.
Claro, não há caminho entre a sandbox e qualquer equipamento interno que você possa utilizar para mudar o telefone para uma operadora diferente. A sandbox é robusta o suficiente para enfrentar qualquer hacker, e a Apple a desenvolveu para permitir que qualquer aplicativo possa ser rastreado até seu criador. O metodo escolhido para registrar e certificar aplicações vai gerar polêmica, mas os usuários precisam saber que vão utilizar seus aparelhos em completa segurança.
Eu vou deixá-los com dois detalhes que colocam o iPhone próximo dos melhores desenvolvedores: o display multitoque e o acelerômetro. Ambos são acessíveis em código nativo, como o JavaScript. Gesto complexos de toque, como pinçar, circular e arrastar são enviados ao software como eventos que vão além dos básico toque. Para fazer o teclado aparecer, você não precisa pedir por isso, você simplesmente move o foco para um arquivo de texto.
O acelerômetro foi desenvolvido para levar a Apple onde o Mac nunca esteve no mercado de games. O iPhone pode sentir orientações e movimentos em espaços 3-D. Quando você se move, ou qualquer outra coisa acontece com seu iPhone ou iPod Touch, um aplicativo pode saber sobre isso. As possibilidades são infinitas e podem-se ver no futuro sérias utilizações para este sensor 3-D. Ele é um controle intuitivo para processos complexos que hoje requerem dos operadores que esqueçam a natural percepção humana em 3-D em favor de controles 2-D, como botões, switches, mouse e joysticks.
sábado, 5 de abril de 2008
E aí? O que acharam?!
sexta-feira, 4 de abril de 2008
Programa Students to Business – S2B
O objetivo do programa é desenvolver nos estudantes competências e habilidades em áreas específicas de TI, aproximando-os do mercado de trabalho. Para isso, o programa prevê treinamento e capacitação para estudantes do ensino médio, técnico, de graduação e pós-graduação em conteúdos conceituais e tecnologias Microsoft, específicas para a área de desenvolvimento de software e de infra-estrutura de TI. Com esta proposta, o programa S2B cria oportunidades para estudantes, instituições de ensino e empresas.
Nesta edição, o programa S2B acontecerá simultaneamente em 12 estados do país: Bahia, Ceará, Espírito Santo, Goiás, Minas Gerais, Pará, Paraná, Pernambuco, Rio Grande do Sul, Rio de Janeiro, Santa Catarina e São Paulo, além do Distrito Federal.
Interessados, para maiores informações visitem: http://proform.msdnbrasil.tempsite.ws/public/Default.aspx
quinta-feira, 3 de abril de 2008
Codificação de Huffman
Origem: Wikipédia, a enciclopédia livre.
A codificação de Huffman é um método de compressão que usa as probabilidades de ocorrência dos símbolos no conjunto de dados a ser comprimido para determinar códigos de tamanho variável para cada símbolo. Ele foi desenvolvido em 1952 por David A. Huffman que era, na época, estudante de doutorado no MIT, e foi publicado no artigo "A Method for the Construction of Minimum-Redundancy Codes".
Uma árvore binária completa, chamada de árvore de Huffman é construída recursivamente a partir da junção dos dois símbolos de menor probabilidade, que são então somados em símbolos auxiliares e estes símbolos auxiliares recolocados no conjunto de símbolos. O processo termina quando todos os símbolos foram unidos em símbolos auxiliares, formando uma árvore binária. A árvore é então percorrida, atribuindo-se valores binários de 1 ou 0 para cada aresta, e os códigos são gerados a partir desse percurso.
A codificação de Huffman tem desempenho ótimo quando as probabilidades dos símbolos são potências negativas de dois (2 − 1,2 − 2,...). A codificação gerada tem também a garantia de ser não ambígua, pois nenhum código pode ser o prefixo de outro código.
quarta-feira, 2 de abril de 2008
Transformada de Fourier
A Transformada de Fourier, baptizada em homenagem a Jean-Baptiste Joseph Fourier, é uma transformada integral que expressa uma função em termos de funções de base sinusoidal, i.e., como soma ou integral de funções sinusoidais multiplicadas por coeficientes ("amplitudes"). Existem diversas variações directamente relacionadas desta transformada, dependendo do tipo de função a transformar. A Transformada de Fourier pode ser vista como um caso particular da Transformada Z.
Fonte: Wikipédia - A enciclopédia livre. [ http://pt.wikipedia.org ]