Busca de informações pessoais contidas na Internet

Tamanho: px
Começar a partir da página:

Download "Busca de informações pessoais contidas na Internet"

Transcrição

1 UNIVERSIDADE FEDERAL DE GOIÁS UFG CAMPUS CATALÃO CAC DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DCC Bacharelado em Ciência da Computação Projeto Final de Curso Busca de informações pessoais contidas na Internet Autor: Bleno Leite Sampaio Orientador: Ms Márcio Antônio Duarte Catalão

2 Bleno Leite Sampaio Busca de informações pessoais contidas na Internet Monograa apresentada ao Curso de Bacharelado em Ciência da Computação da Universidade Federal de Goiás Campus Catalão como requisito parcial para obtenção do título de Bacharel em Ciência da Computação Área de Concentração: Inteligência Articial Orientador: Ms Márcio Antônio Duarte Catalão

3 L. Sampaio, Bleno Busca de informações pessoais contidas na Internet / Ms Márcio Antônio Duarte - Catalão Número de paginas: 46 Projeto Final de Curso (Bacharelado) Universidade Federal de Goiás, Campus Catalão, Curso de Bacharelado em Ciência da Computação, Palavras-Chave: 1. Recuperação de Informação. 2. Busca de informações pessoais. 3. Reconhecimento de padrões

4 Bleno Leite Sampaio Busca de informações pessoais contidas na Internet Monograa apresentada e aprovada em Pela Banca Examinadora constituída pelos professores. de Ms Márcio Antônio Duarte Presidente da Banca Ms Márcio de Souza Dias Dr Roberto Mendes Finzi Neto

5 Este trabalho é dedicado aos meus pais, que em momento algum desistiram do meu sonho, e aos meus amigos, peças fundamentais nessa etapa da minha vida.

6 AGRADECIMENTOS Acredito que são raros os casos onde um ser humano consegue adquirir sucesso em sua vida sem a ajuda de outros seres humanos. Embasado neste pensamento, quero deixar registrado aqui meus sinceros agradecimentos às pessoas que signicaram muito pra mim nesta etapa da minha graduação. Inicialmente, agradeço à Deus, sem o qual nada seria possível, de acordo com minha fé. Em seguida, agradeço aos pais maravilhosos que esse Deus me deu como presente. Estes sim são os merecedores de todo o prestígio, pois foi por eles, e com eles que minha luta nunca se tornou impossível. Obrigado também meu único irmão, Bruno, que sempre foi símbolo de esforço e dedicação para mim. Agradeço também, de todo coração, aos amigos da unida turma de 2007, do curso de Ciência da Computação. Aos que já formaram, aos que ainda continuam na batalha, e aos que desistiram. Que Deus possa me ajudar a retribuir todos os momentos que vocês me proporcionaram nesses mais de quatro anos. Dentre alguns amigos de faculdade, agradeço de forma especial ao Lucas (parceiro), Wilkliney, Faimison, Adam, Márcia, Janaína e Luana. Aos outros que não estão aqui citados, peço que não se sintam menores em meus pensamentos, pois jamais sairão da minha memória, e muito menos do meu coração. À todo pessoal da Mitsubishi, em especial a Roberta Elias, que acreditou em mim, me proporcionando uma grande oportunidade de crescimento prosisonal e pessoal. Obrigado à todos pela oportunidade de convivência, pelos ensinamentos prossionais e pelas experiências de vida, renovadas a cada dia. Agradeço também, aos amigos que não zeram parte dos meus momentos em sala de aula, mas que são muito especiais. Graças a Deus, são tantos, que se enumerados aqui, cinco páginas não caberiam. À vocês amigos, agradeço com orações e desejo de felicidades em suas vidas. Aos mestres, que em sala de aula nos repassaram todo o conhecimento necessário, meu muito obrigado. Cito também, meu orientador, Márcio Duarte, que muito me ajudou não só na produção deste trabalho, mas também em outras ocasiões durante esse período acadêmico. Agradeço também ao Google, pois sem ele tudo seria mais complexo. Por m, agradeço à todos que acreditaram na minha capacidade, e aos que não acreditaram agradeço também, pois essa foi uma das razões que nunca me deixaram desistir.

7 To understand is to perceive patterns. Isaiah Berlin

8 RESUMO Sampaio, L. Busca de informações pessoais contidas na Internet. Curso de Ciência da Computação, Campus Catalão, UFG, Catalão, Brasil, 2011, 46p. As técnicas utilizadas pelas ferramentas de busca contemporâneas, baseiam-se em indexar e classicar um conteúdo. No momento da busca, utilizando-se desta ferramenta, uma comparação é feita entre os dados previamente indexados e o dado que se está sendo pesquisado pelo usuário, na tentativa de retornar algum resultado que tenha qualquer tipo de relacionamento com o dado que está sendo buscado pelo mesmo. Neste trabalho, é proposta uma técnica que visa obter mais informações no processo de busca, na expectativa de poder retornar ao usuário dados que sigam um propósito especíco estabelecido pelo mesmo. Como exemplo destes dados, este trabalho aborda a busca de informações pessoais sobre um indivíduo, onde estas informações estejam inseridas em uma ou mais páginas da internet. Assim sendo, espera-se que informações simples à respeito de uma pessoa como nome completo, , telefone, número de documentos possam ser localizados de maneira automatizada por uma ferramenta, evitando buscas manuais exaustivas por vários sites na internet à procura desse tipo de informação. Esta técnica possui foco no Reconhecimento de Padrões viabilizado a partir do uso de Expressões Regulares. No conteúdo deste trabalho, são detalhadas informações sobre a técnica proposta de busca de informações pessoais na Internet e, também são detalhados conceitos relativos ao campo de Reconhecimento de Padrões, que é a base desse estudo. Palavras-Chaves: Recuperação de Informação, Busca de informações pessoais, Reconhecimento de padrões i

9 Sumário 1 Introdução 1 2 Estado da Arte 4 3 Fundamentação Teórica Reconhecimento de Padrões Aprendizagem de máquina e o escopo de RP Aprendizagem Supervisionada e Não-supervisionada Projeto de Reconhecimento de Padrões Expressões Regulares Denições sobre Expressões Regulares Implementações e Linguagens com suporte à ER Linguagens de programação com suporte à ER Extração e tratamento de dados da Internet Localizando a informação API de Busca Modelo de dados JSON Extração de conteúdo HTML Implementação Denição do Projeto de RP Processo de medida Extração de Features Construção do Classicador Entrada de Dados Busca e retorno dos dados por meio da API de busca Extraindo conteúdo das páginas Aplicação de ERs para reconhecer os padrões Criação do rankeamento Resultado ii

10 4.3 Fluxo de Operação Análise e Resultados Experimentais Testes e Resultados Tempo de execução de acordo com a entrada Desempenho de rede Qualidade dos dados retornados Análise Limitações Conclusão 31 Referências 33 Apêndices 33 A Exemplo de Dado JSON retornado pela API de Busca 34 B Código Fonte do Protótipo 36 C Conguração do Servidor PHP para uso das Bibliotecas curl e JSON 45 iii

11 Lista de Figuras 2.1 Ilustração do exemplo de busca utilizando a estrutura do sistema de arquivos Etapas de um processo de reconhecimento de padrões Exemplo de objeto em formato JSON Exemplo de objeto JSON retornado pela API de Busca Etapas do protótipo Interface de entrada de dados do protótipo Interface do resultado da execução do protótipo Fluxo de operações da técnica de busca C.1 Exemplo de linha do arquivo de conguração que ativa biblioteca JSON.. 46 C.2 Exemplo de linha do arquivo de conguração que ativa biblioteca curl.. 46 iv

12 Lista de Tabelas 3.1 Exemplos de domínios e suas classes de padrões Requisitos de padrões para construção do classicador Resultado de teste do protótipo à nível de dados de entrada Resultado de teste do protótipo à nível de rede Resultado de teste do protótipo à nível de qualidade dos dados v

13 Lista de Siglas AJAX ER HTML IA JSON kbps RP URL XML Javascript e XML Assíncronos, do inglês Asynchronous Javascript and XML Expressões Regulares Linguagem de Marcação de Hipertexto, do inglês HyperText Markup Language Inteligência Articial Notação de Objeto JavaScript, do inglês JavaScript Object Notation Kilobits por segundo Reconhecimento de Padrões Localizador-Padrão de Recursos, do inglês Uniform Resource Locator Linguagem de Marcação Estendida, do inglês Extensible Markup Language vi

14 Capítulo 1 Introdução O advento da Internet tem proporcionado um aumento signicativo na quantidade de informações disponibilizadas para seus usuários. Vários dados circulam pela rede, e grande parte desses dados poderiam ter mais importância se combinados de maneira eciente e lógica. Dessa forma, fazem-se necessários mecanismos que permitam uma busca eciente que retornem dados cada vez mais relevantes ao contexto estabelecido pelo usuário. As ferramentas de busca existentes na atualidade se baseiam - na maioria das vezes - em uma técnica que propõe indexar as páginas existentes na internet, e criar um ranking sobre o conteúdo dessas páginas. Do outro lado, como resultado, o usuário recebe uma lista de links que apontam para diversos sites da Internet, onde o conteúdo procurado pode estar disposto de maneira desordenada, espalhada, e que em algumas vezes podem até não possuir nenhum relacionamento semântico com o resultado desejado pelo usuário. Algumas destas ferramentas de busca utilizam artifícios para facilitar a vida do usuário, como ltros por imagem, vídeo, locais, dentre outros. Todavia, essas ferramentas não deixam de ser extremamente poderosas e ecazes, tendo enorme importância para a vida das pessoas, no que se diz respeito à navegação na internet. Outras ferramentas de busca comumente vistas são as de busca de arquivos, como exemplo o Google Desktop c e o Windows Search c, que buscam por arquivos dispostos dentro de um sistema de arquivos. Estas ferramentas talvez trabalham de maneira menos complexa que as ferramentas de busca da Internet, pois lidam apenas com a indexação da estrutura de diretórios do sistema de arquivos do computador, visto que o rankeamento dessas informações não seria, de certa maneira, útil para o usuário e muito menos para a ecácia da própria ferramenta [Marian e Wang, 2009]. O proposto neste trabalho é o desenvolvimento de uma técnica de busca de dados na Internet que trabalhe um pouco mais com o lado semântico da busca. Nesse contexto, o trabalho toma como base a busca de informações pessoais de um indivíduo que estejam presentes na internet. Essa técnica visa buscar dados referentes à uma pessoa, mas que traga como resultado dados relevantes à essa pessoa, e não meramente conteúdos que 1

15 combinem com as palavras que compõem o nome de uma pessoa. Esta técnica visa então identicar dados relevantes de um indivíduo através do Reconhecimento de Padrões aplicado à um texto. Este texto em questão, são conteúdos de sites que possuem algum conteúdo relacionado com os dados de um determinado indivíduo, que compõem assim o nosso banco de dados. O estudo de Reconhecimento de Padrão (RP) está diretamente ligado ao conceito de busca de regularidades. O objetivo do RP nada mais é do que a identicação de regularidades, padrões, similaridades entre dados dentro de um container de dados - à princípio isolados - de acordo com a estrutura dessas informações. Tal estudo contribui em várias áreas das ciências exatas, como a de redes neurais, lógica nebulosa, teoria das probabilidades, teoria da decisão e outras. Vale salientar que, esta técnica ainda não está em um estado de maturidade avançada, e com isso pode ser que os resultados obtidos por ela não sejam tão satisfatórios, e que novos estudos podem ser feitos em cima da mesma, visando seu melhoramento. Para uma melhor conclusão à respeito da técnica proposta neste trabalho, um protótipo foi criado com base nesta técnica. Este protótipo é melhor descrevido no decorrer deste trabalho, onde serão apresentadas informações detalhadas sobre o desenvolvimento e funcionamento do mesmo. Objetivos O material produzido neste trabalho, tem seus objetivos apresentados à seguir, enumerados de maneira simples e direta. 1. Estudo aprimorado sobre técnicas de reconhecimento de padrões, com base na identicação de dados em um container distribuído e heterogêneo (Internet) e também de técnicas de recuperação de informação, que está diretamente ligada ao Reconhecimento de Padrões. 2. Estudo sobre o conceito e aplicação de Expressões Regulares (ER) com intuito de detectar padrões, que no caso especíco deste trabalho, são padrões peculiares às informações básicas de uma pessoa, visando uma extração de dados relacionados à este contexto. 3. Elaboração de um modelo de busca que possa ser implementado por alguma ferramenta comercial ou até mesmo acadêmica, que vise a localização de padrões em um container de dados heterogêneo. 4. Viabilizar técnicas e materiais que possam servir como apoio e/ou motivação para novos estudos na área. 2

16 Estrutura do trabalho Esta produção é composta de seis capítulos, onde os dados estão dispostos nestes capítulos da seguinte maneira: O Capítulo 1 traz informações iniciais sobre o trabalho e também dene a proposta e objetivos do mesmo. O Capítulo 2 aborda sobre os trabalhos e pesquisas recentes e relevantes sobre a area de busca de informações. O Capítulo 3 trata sobre conhecimentos que são necessários para elaboração da técnica de busca proposta neste trabalho, ou seja, a fundamentação teórica que é utilizada como base de estudo neste trabalho. O Capítulo 4 visa defender a técnica proposta para busca de informações pessoais na internet, e também os aspectos funcionais sobre o protótipo desenvolvido. O Capítulo 5 deste trabalho discorre sobre os testes executados com o protótipo e a uma análise do autor sobre a técnica criada e fatores que dicultaram a elaboração desta técnica e do protótipo. O Capítulo 6 visa abordar a conclusão do autor sobre o desfecho deste trabalho, e também informa o leitor sobre trabalhos futuros referentes ao tema aqui estudado. 3

17 Capítulo 2 Estado da Arte O que se sabe sobre as ferramentas de buscas atuais é muito mais suposição do que realidade exposta. Na verdade, o funcionamento real dos motores de busca de cada uma é um segredo não revelado, pois é nestes motores que se encontra o diferencial de cada uma dessas poderosas ferramentas de busca, que disputam de maneira acirrada a preferência dos internautas. Algumas técnicas semelhantes à que fora proposta como objeto deste trabalho, trabalham com a parte do reconhecimento dos dados dentro do repositório, mas contam com o apoio da estrutura de como os dados estão organizados para a execução dessa busca. Esse é o caso do trabalho feito por [Wang et al., 2011] onde é proposta uma solução para ser aplicada em uma massa de dados que esteja distribuída sob uma estrutura, que por sua vez servirá como um ltro para a localização dos dados. Uma restrição é que a estrutura deve ser unicada, ou seja, as partições e níveis onde as informações são encontradas devem obedecer um padrão único. A modelagem proposta pelos autores é exemplicada da seguinte maneira: John deseja obter uma foto de uma festa de halloween do ano de Porém, ele não coloca nome nas imagens ao salvá-las, especicando o que cada imagem contém. Com o modelo de [Wang et al., 2011], essas fotos podem ser localizadas caso elas estejam dentro de pastas que contenham nomes como "halloween", ou "2009", e outras sub-pastas que contenham nomes que sirvam como ltro para a ferramenta de busca supor que os arquivos contidos nelas sejam o que John realmente esteja procurando. Essa estrutura é ilustrada na Figura 2.1, que simula a estrutura da partição de um disco fornecida por um sistema operacional. Esta estrutura é composta de pastas, que podem conter arquivos ou outras pastas, que são então denominadas sub-pastas. Outro tipo de estrutura onde pode ser empregado o modelo de busca de [Wang et al., 2011] é a estrutura dos arquivos XML, hoje facilmente encontrados em diversos tipo de sistemas. Para o funcionamento do modelo, os autores fazem uma indexação da estrutura a ser explorada; utilizam de algoritmos de consulta ecientes, criados especicamente para o 4

18 Figura 2.1: Ilustração do exemplo de busca utilizando a estrutura do sistema de arquivos modelo construído; e por m, um framework desenvolvido pelos autores faz um score 1 sobre a relação estrutura-dado, para avaliar o melhor resultado. Os autores do trabalho supracitado, em um trabalho mais antigo [Peery et al., 2008], já possuíam esse escopo de busca de abordar além do conteúdo, também a estrutura de onde esse conteúdo se encontrava porém, tratando os dados de maneira multi-dimensional, onde ao invés de analisar apenas o conteúdo e a estrutura dos dados, também seriam analisados os metadados fornecidos pelo usuário. Tomando como base o caso de John, do exemplo anterior, a data de 2009 seria um metadado fornecido por ele, onde a imagem procurada por John teria sido tirada em meados desse ano. Logo, essa informação do ano não seria apenas procurada na estrutura dos dados, mas também na data de criação dos arquivos, criando assim mais uma dimensão de busca. Na abordagem desse trabalho, o score desse seria calculado então de forma individual para cada dimensão. O resultado dessa pesquisa foi um framework que retorna dados sobre a busca tendo como base os conteúdos da dimensão de maior score, enquanto que no trabalho mais recente dos autores, que foi abordado nos parágrafos anteriores, o score nal de resultado era calculado com base nos scores das duas dimensões abordadas. 1 Pontuação recebida para cada resultado visando a criação de um ranking classicatório 5

19 Capítulo 3 Fundamentação Teórica A busca de informações tendo como repositório de dados os próprios sites da internet, requer o uso de recursos variados, que agrupados, podem se transformar em uma ferramenta poderosa. Extrair o conteúdo HTML de um site é uma técnica um tanto quanto simples atualmente. Quase todas as linguagens de programação voltadas para Web possuem uma ou mais formas de retornar o conteúdo HTML de uma página de acordo com a URL fornecida como parâmetro à esta função. A problemática então não é a obtenção desses dados, mas sim quais serão as URLs que terão os dados necessários para se efetuar essa extração. O escopo deste trabalho, como especicado na introdução, é a obtenção de dados pessoais de um indivíduo qualquer, onde estas informações estejam disponíveis em sites da internet. Dessa forma, o principal objetivo é ocultar do usuário esse trabalho de buscar todos esses links, e extrair as informações necessárias de cada um desses sites. Sendo assim, os links de cada um destes sites serão fornecidos por uma API (Application Programming Interface) de busca, de propriedade da empresa do Google - desenvolvida sob a tecnologia AJAX (Asynchronous Javascript and XML) - que de acordo com uma string passada como argumento, irá retornar os links de resultado, da mesma forma como se um ser humano propriamente dito, estivesse fazendo uma busca manual em uma ferramenta de busca, porém, de forma automatizada. O retorno dessa API de busca é dado em um formato que está sendo bastante usado atualmente, que é chamado e JSON (JavaScript Object Notation), um substituto ao XML Extensible Markup Language. Uma Interface de Programação de Aplicações, ou apenas API, é de certa forma um programa que possui uma interface padronizada para chamadas à procedimentos internos a partir de outros programas. A API de um programa dene de forma adequada como que um desenvolvedor deve solicitar serviços a partir desse programa [Orenstein, 2000]. A API é então um código fonte que fornece um nível de abstração entre a aplicação e o núcleo, para que a portabilidade do código seja garantida. A tecnologia AJAX (Asynchronous JavaScript and XML) é uma técnica de desenvol- 6

20 vimento para aplicações web que reúne tecnologias conhecidas da área de programação web, como JavaScript, XML, PHP, dentre outras, visando tornar as páginas da web mais dinâmicas e interativas. A principal característica do AJAX é que com ele se pode enviar requisições ao servidor web (como exemplo uma consulta ao banco de dados), sem ser necessário recarregar a página acessada naquele momento. Isso faz com que as aplicações web se tornem mais parecidas com as aplicações para desktop [Niederauer, 2007]. Utilizando de técnicas de reconhecimento de padrões, com o auxílio de expressões regulares, alguns padrões relevantes serão buscados nos dados que foram extraídos da internet. No próximo capítulo serão abordadas denições sobre reconhecimento de padrões e expressões regulares, para que o processo de obtenção dos padrões possa ser entendido de forma mais minuciosa. Atualmente, várias áreas dentro da computação estão trabalhando cada vez mais com técnicas de reconhecimento de padrões, justamente na tentativa de fazer com que o computador seja capaz de realizar tarefas ditas como simples para um ser humano, mas ainda muito complexas para uma máquina como o computador, como por exemplo localizar semelhança entre duas imagens, etc. O protótipo desenvolvido foi criado utilizando da linguagem PHP. Sua escolha foi baseada nos seguintes quesitos: Possui uma biblioteca para obtenção de conteúdo HTML de páginas Web, chamada curl que é de fácil uso e muito poderosa; É uma das linguagens de programação voltada para Web de maior uso na atualidade, com enormes recursos, e dotada de uma sintaxe intuitiva e simples; Licença gratuita e de código-fonte aberto; Possui total integração com a tecnologia AJAX e a API de busca que será utilizada no protótipo; Muito estável e consome pouco recurso de hardware do servidor, se comparada à outras linguagens para programação web. Em conjunto com a linguagem PHP, é utilizada também no protótipo a linguagem de marcação HTML, que é a base para a Web. 3.1 Reconhecimento de Padrões Nesta seção é feito um estudo sobre reconhecimento de padrões, visto que o objetivo deste trabalho se trata justamente em reconhecer padrões de dados pessoais de um in- 7

21 divíduo em uma massa de dados, e para alcançar tal objetivo, são utilizadas técnicas de Reconhecimento de Padrões (RP), como será exposto de maneira mais detalhada a seguir Aprendizagem de máquina e o escopo de RP O estudo de Aprendizagem de Máquina é uma área dentro da Inteligência Articial (IA), que visa o desenvolvimento de algoritmos e técnicas que permitam que um computador aprenda ou aperfeiçoe alguma tarefa executada pelo mesmo. Ela também pode fazer com que o computador execute alguma tarefa que até então só seja possível de ser realizada por um ser humano, como o fato de reconhecer semelhanças entre duas imagens, identicar o rosto de uma pessoa, e várias outras capacidades que são comuns ao ser humano, e que podem ser transcritas para o mundo computacional através da IA. A Aprendizagem de Máquina (do inglês, Machine Learning) é denida como qualquer mudança em um sistema computacional que vise melhorar seu desempenho na próxima repetição da mesma tarefa, ou outra tarefa da mesma população [Simon, 1983]. Alguns dos estudos compreendidos dentro da temática de aprendizagem de máquina são: mineração de dados, estatística computacional, reconhecimento de padrões e outros. Reconhecimento de padrões é então, um sub-tópico do estudo de aprendizagem de máquina, cujo objetivo é a classicação de informações que tenham como base um conhecimento a priori ou em informações extraídas desses próprios padrões. RP está ligada diretamente à busca de regularidades. O campo do reconhecimento de padrões está vinculado com o descobrimento automatizado de regularidades em dados através do uso de algoritmos de computadores e também em fazer uso dessas regularidades am de obter ações especícas para cada uma das classicações desses dados em diferentes categorias [Bishop, 2006]. De maneira mais simplicada, RP é uma coleção de problemas variados onde suas soluções envolvem técnicas importadas de outras áreas de estudo, soluções estas que são especicamente projetadas para atender cada problema em sua peculiaridade. Dentro do ramo da computação - que é o de nosso interesse - a RP pode ser encontrada atualmente em várias aplicações, como no reconhecimento de imagens, processamento de sinais de voz, classicação de documentos, identicação de assinaturas, sistemas automáticos de navegação, dentre outros, sendo esses os de maior ocorrência. Abaixo, são denidos alguns termos e conceitos importantes dentro de RP que são fundamentais no estudo desse tema e, que serão abordados no decorrer deste trabalho. Estrutura A estrutura é o modo com que a informação está organizada, de modo que as relações entre as variáveis do processo possam ser identicadas. Um exemplo de estrutura é a 8

22 Figura 2.1 que exemplica a estrutura de um sistema de arquivos. Outro exemplo de estrutura é a distribuição dos dados dentro de um arquivo XML. Classes de padrões Cada vetor de características sob os padrões a serem reconhecidos é atribuído à uma classe. Para melhor entendimento, a Tabela 3.1 ilustra exemplos de classes de padrões de acordo com o domínio de atuação do RP. Domínio Bioinformática Data Mining Classicação de Documentos Reconhecimento de Voz Classe de Padrões Tipos conhecidos de genes Compactação e separação de grupos Categorias semânticas (tipos, negócios, etc.) Palavras faladas Tabela 3.1: Exemplos de domínios e suas classes de padrões Na Tabela 3.1, têm-se a coluna Domínio que contém exemplos de áreas de estudo onde podem ser aplicadas técnicas de reconhecimento de padrões. Na coluna Classe de Padrões são denidas as classes de padrões referente à cada domínio, ou seja, um agrupamento de padrões que possuam semelhança entre si, formando uma classe de padrões Aprendizagem Supervisionada e Não-supervisionada As aplicações em que a classicação dos dados depende do vetor de características de entrada em paralelo a seu correspondente no vetor de padrões esperados é conhecido como aprendizagem supervisionada. Em outros problemas cujo a classicação dos dados consiste num conjunto de vetores de entrada que não contenham um correspondente nos valores esperados são denominados aprendizagem não-supervisionada [Bishop, 2006]. Simplicando, na classicação supervisionada o padrão de entrada é conhecido/denida pelo sistema, enquanto que na não-supervisionada o padrão é determinado por uma classe de padrões não conhecida pelo sistema Projeto de Reconhecimento de Padrões Um projeto de reconhecimento de padrões pode variar muito de acordo com o tipo do padrão a ser classicado. O processo de reconhecimento do padrão da assinatura de uma pessoa pode não ser o mesmo do reconhecimento automatizado do padrão de um DNA humano. Porém, qualquer projeto de RP possui as três etapas básicas, conforme Castro e Prado [Castro e Prado, 2002]. Essas três etapas são: 9

23 Extração das características dos objetos a serem classicados; Seleção das características com maior fator discriminante (features); Construção de uma técnica classicadora dos padrões. A primeira etapa consiste em extrair os requisitos para a construção do classicador, ou seja, denir quais são os tipos dos dados a serem identicados, qual o padrão inicial a ser procurado, que tipo de dado é esperado como resultado, e como serão classicados esses resultados. Tal etapa também é conhecida como processo de medida e é fundamental em um projeto de RP, porque para que o reconhecimento ocorra, o padrão deve ser conhecido e especicado aos órgãos sensoriais, que são os responsáveis pela percepção do padrão. É na segunda etapa onde deve-se selecionar as principais características dos padrões a serem reconhecidos, o que mais o torna distinto de outros padrões. Essas características são aqui denominadas features. Ou seja, caso o padrão a ser reconhecido seja baseado em letras, todos os números podem ser descartados. Toma-se como exemplo, um registro de um CPF. O principal fator discriminante do padrão que compõe o registro de um CPF é a quantidade de algarismos que o compõe, no caso onze algarismos numéricos, descartando então os pontos e o traço. Sendo assim, o algoritmo de busca por este padrão de CPF deve desconsiderar em primeira instância letras e caracteres especiais, e analisar somente a quantidade de números. Caso aja o casamento dessa quantidade de algarismos com o padrão, têm-se então um possível padrão reconhecido. A terceira e última etapa do projeto é de elaboração de uma técnica que irá então classicar todos os padrões reconhecidos, visando então uma tomada de decisão por qual seria o padrão com maior probabilidade de ser o nosso padrão inicialmente buscado. A Figura 3.1 ilustra as três etapas descritas acima, assim como o resultado de cada uma das etapas. Figura 3.1: Etapas de um processo de reconhecimento de padrões Após essas etapas, começam as etapas peculiares de cada projeto, onde após a obtenção da classicação dos padrões, cada projeto usa essa classicação de acordo com o que for necessário ao escopo da aplicação, o que já foge à parte especíca do processo de RP. 10

24 3.2 Expressões Regulares Denições sobre Expressões Regulares "Expressões regulares são uma chave para poderosos, exíveis, e ecientes processamentos de texto" [Friedl, 2006]. É um método ecaz usado para localizar, manipular e validar textos baseado em padrões. Uma expressão regular (regex ou regexp) é um texto ou uma string especial, que funciona como uma chave, que é utilizada para descrever ou localizar uma palavra, um caractere ou um padrão de caracteres, de acordo com a especicação do desenvolvedor ao elaborar sua expressão regular [Goyvaerts, 2006]. Essa string especial é enviada para um processador de ER que, de acordo com a especicação contida dessa string irá varrer o texto base à procura de padrões que casem com o argumento enviado por essa string, o que se congura então como uma expressão regular. Nesse contexto, o casamento (match) nada mais é do que um pedaço de texto, ou sequência de bytes ou caracteres que possuem um padrão em sua formação que corresponde ao padrão que se espera localizar [Goyvaerts, 2006]. As ERs são escritas numa linguagem formal e padronizada, que é interpretada pelo processador de ER, ou de um programa editor de texto, ou por uma linguagem de programação que trabalhe com ER. Essa padronização, desde 1986 é mantida pela norma IEEE POSIX (POSIX.2), que padroniza expressões regulares, divididas em duas classes: BRE (Basic Regular Expressions) que regula as ERs básicas e a ERE (Extend Regular Expressions) que regula as ERs modernas. Com as ERs pode-se localizar um endereço de contido em um texto, apenas utilizando a seguinte ER: [a za Z0 9_] + ([.][a za Z0 9_] + ) za Z0 9_] + ([.][a za Z0 9_] + ) [.][a za Z]{2, 4}. Na verdade, essa ER pode casar qualquer endereço de . Lembrando que, esse é um modelo de ER para casamento de endereço de , podendo haver várias outras, mais e menos ecazes e ecientes Implementações e Linguagens com suporte à ER Existem duas principais implementações de algoritmos que decidem se e como uma expressão regular casa uma cadeia de caracteres. A primeira implementação e mais antiga delas - porém mais rápida - faz uso de um princípio da teoria de linguagens formais e autômatos (LFA), que permite a todas as máquinas de estado nito não determinísticas (NFA), serem transformadas em máquinas de estado nito determinísticas (DFA). Essa implementação é chamada de DFA. Esse algoritmo realiza ou simula essa transformação e então executa a máquina determinística resultante na cadeia de caracteres, cada símbolo por vez [Cox, 2007]. 11

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Sérgio Oliveira Campos Contrato N : 2008/000514 Sumário 1 Introdução 1 2 Bibliotecas Utilizadas 2 2.1 Reconhecimento de Texto

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

O PROJETO DE PESQUISA. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O PROJETO DE PESQUISA Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Escolher um tema de pesquisa Por onde começar? Ler para aprender Estrutura do Projeto de Pesquisa A Definição

Leia mais

PHP AULA1. Prof. Msc. Hélio Esperidião

PHP AULA1. Prof. Msc. Hélio Esperidião PHP AULA1 Prof. Msc. Hélio Esperidião NAVEGADOR O navegador também conhecido como web browseré um programa que habilita seus usuários a interagirem com documentos hospedados em um servidor Web. SERVIDOR

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa

SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM SIGLA - Sistema Integrado de Gestão Legislativa e Administrativa Aluno: Paulo

Leia mais

Microsoft Internet Explorer. Browser/navegador/paginador

Microsoft Internet Explorer. Browser/navegador/paginador Microsoft Internet Explorer Browser/navegador/paginador Browser (Navegador) É um programa que habilita seus usuários a interagir com documentos HTML hospedados em um servidor web. São programas para navegar.

Leia mais

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Engenharia de Software Aplicações de Internet

Engenharia de Software Aplicações de Internet Engenharia de Software Aplicações de Internet Eduardo Santos eduardo.edusantos@gmail.com eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Histórico Por que existe a Internet? Por que existe

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet 1. Autores Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet Luciano Eugênio de Castro Barbosa Flavio Barbieri Gonzaga 2. Resumo O custo de licenciamento

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO PARANÁ GOVERNO DO ESTADO COLÉGIO ESTADUAL DE PARANAVAÍ ENSINO FUNDAMENTAL, MÉDIO, NORMAL E PROFISSIONAL CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA: INTERNET E PROGRAMAÇÃO WEB 1º MÓDULO SUBSEQUENTE MECANISMOS

Leia mais

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente www.plugin.com.br 1 ÍNDICE Prefácio...3 Sobre Este Manual... 3

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Objetivo. O objetivo da disciplina é conhecer os princípios da programação de

Leia mais

Apache + PHP + MySQL

Apache + PHP + MySQL Apache + PHP + MySQL Fernando Lozano Consultor Independente Prof. Faculdade Metodista Bennett Webmaster da Free Software Foundation fernando@lozano.eti.br SEPAI 2001 O Que São Estes Softwares Apache: Servidor

Leia mais

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO Djalma Gonçalves Costa Junior¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense (Unipar) Paranavaí - PR - Brasil djalma.g.costajr@gmail.com wmagalhaes@unipar.br

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Justificativa do uso da Linguagem XML no Projeto RIVED

Justificativa do uso da Linguagem XML no Projeto RIVED Justificativa do uso da Linguagem XML no Projeto RIVED Índice Introdução... 1 Sobre a linguagem XML... 2 O que é XML (extensible Markup Language)?... 2 Características da Linguagem...3 Sobre o seu uso...

Leia mais

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR MANUAL E DICAS DO ASSISTENTE VIRTUAL (AV) POR ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 ÍNDICE Introdução...3 Requisitos e Restrições do Assistente...3 Diferenças da Versão

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

dados abertos cartilha para desenvolvedores

dados abertos cartilha para desenvolvedores dados abertos cartilha para desenvolvedores Esta publicação é um encarte integrante do Manual dos dados abertos: desenvolvedores, resultante do acordo de cooperação técnico-científica entre o Laboratório

Leia mais

IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES ENTRE PRODUTOS DE UMA BASE DE DADOS REAL

IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES ENTRE PRODUTOS DE UMA BASE DE DADOS REAL Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM IMPLEMENTAÇÃO DE UM ALGORITMO DE PADRÕES DE SEQUÊNCIA PARA DESCOBERTA DE ASSOCIAÇÕES

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina

Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 9: Fundamentos do JQuery Fonte: Plano de Aula Oficial da Disciplina Objetivo: Capacitar o aluno para o trabalho com o framework JQuery. INTRODUÇÃO JQuery é uma biblioteca

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

O bloco administração

O bloco administração O bloco administração Neste capítulo são discutidas as ferramentas do bloco Administração, na página de abertura de um curso. Veja Figura 7.1. Figura 1: O bloco Administração Ativar edição Esta ferramenta

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas.

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas. Publicação web Pré requisitos: Lista de questões Formulário multimídia Este tutorial tem como objetivo, demonstrar de maneira ilustrativa, todos os passos e opções que devem ser seguidos para publicar

Leia mais

INTERNET -- NAVEGAÇÃO

INTERNET -- NAVEGAÇÃO Página 1 Acessando endereços simultaneamente Parte 2 Um recurso interessante e extremamente útil é o de abrir várias janelas ao mesmo tempo. Em cada janela você poderá acessar um endereço diferente na

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

Produto IV: ATU SAAP. Manual de Referência

Produto IV: ATU SAAP. Manual de Referência Produto IV: ATU SAAP Manual de Referência Pablo Nogueira Oliveira Termo de Referência nº 129275 Contrato Número 2008/000988 Brasília, 30 de outubro de 2008 1 Sistema de Apoio à Ativideade Parlamentar SAAP

Leia mais

Programação para a Web - I. José Humberto da Silva Soares

Programação para a Web - I. José Humberto da Silva Soares Programação para a Web - I José Humberto da Silva Soares Fundamentos de Internet Rede Mundial de Computadores; Fornece serviços, arquivos e informações; Os computadores que têm os recursos são chamados

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL DEPARTAMENTO DE COMPUTAÇÃO E ESTATÍSTICA DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS LÍCIO SÉRGIO FERRAZ DE BRITO MARCELO AUGUSTO SANTOS TURINE

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Web Design Aula 11: Site na Web

Web Design Aula 11: Site na Web Web Design Aula 11: Site na Web Professora: Priscilla Suene priscilla.silverio@ifrn.edu.br Motivação Criar o site em HTML é interessante Do que adianta se até agora só eu posso vê-lo? Hora de publicar

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA. Guia rápido

INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA. Guia rápido INTRODUÇÃO AO AMBIENTE MOODLE DA UFPA Guia rápido A PLATAFORMA MOODLE Moodle (Modular Object Oriented Distance LEarning) é um Sistema para Gerenciamento de Cursos (SGC). Trata-se de um programa para computador

Leia mais

Ambiente Virtual de Aprendizagem Moodle

Ambiente Virtual de Aprendizagem Moodle Ambiente Virtual de Aprendizagem Moodle No INSEP, o ambiente virtual de aprendizagem oferecido ao acadêmico é o MOODLE. A utilização dessa ferramenta é fundamental para o sucesso das atividades em EAD,

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP CAPÍTULO 1 O melhor do PHP Este livro levou bastante tempo para ser feito. Venho usando agora o PHP por muitos anos e o meu amor por ele aumenta cada vez mais por sua abordagem simplista, sua flexibilidade

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

2 Conceitos Gerais de Classificação de Documentos na Web

2 Conceitos Gerais de Classificação de Documentos na Web Conceitos Gerais de Classificação de Documentos na Web 13 2 Conceitos Gerais de Classificação de Documentos na Web 2.1. Páginas, Sites e Outras Terminologias É importante distinguir uma página de um site.

Leia mais

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo: Manual da Turma Virtual: MATERIAIS Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo: MENU TURMA VIRTUAL MENU MATERIAIS CONTEÚDO/PÁGINA WEB Esta operação possibilita que

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

Wireshark Lab: Iniciando

Wireshark Lab: Iniciando Wireshark Lab: Iniciando Versão 1.1 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Conte-me e esqueço. Mostre-me e eu lembro. Envolva-me

Leia mais

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário VisPublica Visualização de Dados Públicos Desenvolvido por: Instituto

Leia mais

Manual Ambiente Virtual de Aprendizagem Moodle-ESPMG 2.0

Manual Ambiente Virtual de Aprendizagem Moodle-ESPMG 2.0 Manual Ambiente Virtual de Aprendizagem Moodle-ESPMG 2.0 Adriano Lima Belo Horizonte 2011 SUMÁRIO Apresentação... 3 Acesso ao Ambiente Virtual de Aprendizagem AVA ESP-MG... 3 Programação do curso no AVA-ESPMG

Leia mais

Complemento II Noções Introdutória em Redes Neurais

Complemento II Noções Introdutória em Redes Neurais Complemento II Noções Introdutória em Redes Neurais Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

Temas para a Primeira Avalição

Temas para a Primeira Avalição Temas 1. Envio de E-Mail Anônimo Quando um usuário deseja enviar uma mensagem de correio eletrônico pela Internet, ele utiliza um programa cliente Simple Mail Transfer Protocol (SMTP), tal como o Thunderbird,

Leia mais

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos. Wireshark Lab: HTTP Versão 1.1 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Tendo molhado os nossos pés com o Wireshark no laboratório

Leia mais

Web Design. Prof. Felippe

Web Design. Prof. Felippe Web Design Prof. Felippe 2015 Sobre a disciplina Fornecer ao aluno subsídios para o projeto e desenvolvimento de interfaces de sistemas Web eficientes, amigáveis e intuitivas. Conceitos fundamentais sobre

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Ambiente Web É o ambiente formado

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Ambiente Web É o ambiente

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta 1 SELENIUM 28/03/2011 Márcio Delamaro Harry Trinta O que é a Selenium? Selenium é uma ferramenta desenvolvida para a automação de testes em aplicações Web Suporta diversos browsers: Firefox Internet Explorer

Leia mais

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 3.4 1º de julho de 2013 Novell Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho

Leia mais

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Anexo III Funcionamento detalhado do Sistema Montador de Autoria 1 Sumário Anexo III Funcionamento detalhado do Sistema Montador de Autoria Anexo III Funcionamento detalhado do Sistema Montador de Autoria... 1 1 Sumário... 1 2 Lista de Figuras... 5 3 A Janela principal...

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Características do PHP. Começando a programar

Características do PHP. Começando a programar PHP Introdução Olá pessoal. Desculpe o atraso na publicação da aula. Pude perceber pelas respostas (poucas) ao fórum que a realização da atividade do módulo I foi relativamente tranquila. Assistam ao vídeo

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3

CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 CONHECENDO O AMBIENTE VIRTUAL DE APRENDIZAGEM Moodle - Learning Management System Versão 1.3 Este tutorial não tem como finalidade esgotar todas as funcionalidades do Ambiente, ele aborda de forma prática

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais