Sistema de Recomendação Colaborativo

Introdução

Conceitos matemáticos utilizados na construção de um sistema de recomendação, utilizando filtragem colaborativa.

Objetivo

Notas do meu estudo sobre inteligência artificial, uma tentativa de explicar de forma simples e contextualizar como a distância Euclidiana é utilizada para calcular o percentual de similaridade entre usuários ou itens. Com essa abordagem responder a pergunta que todo estudante de Geometria faz ao longo do curso “pra que ou quando vou usar isso?”

Continue reading “Sistema de Recomendação Colaborativo”

Como criar uma conexão do banco de dados PostgreSQL com a linguagem C

Introdução

O PostgreSQL é um poderoso banco de dados open source, relacional, com gerenciamento multiusuário e compatível com as plataformas Linux, FreeBSD, Solaris, Microsoft Windows e Mac OS X. Ele é utilizado em pequenas, médias e grandes aplicações de diferentes tipos de soluções. Por ele ser capaz de suportar o gerenciamento de dados de grandes sistemas, muitas IDEs (Integrated Development Environment) e ambientes de desenvolvimento já possuem métodos de comunicação com este banco.

Entretanto, hoje não é comum ver soluções desenvolvidas na linguagem C e integradas com o PostgreSQL. Aqui, vou demonstrar como é simples realizar a comunicação entre um programa escrito em C e uma base de dados criada no PostgreSQL.

 

Objetivo

Na internet e na documentação do PostgreSQL você vai encontrar muitos exemplos de programas em C que usam API para realizar a comunicação com o Postgres. Mas todos eles, por terem uma finalidade didática, deixam a implementação dessa comunicação na função main e processos como conectar, criar, selecionar ou fechar a conexão não são separados em funções, o que pode dificultar um pouco a implantação para quem tem menos experiência em C.

Organizar seu software em funções e, consequentemente em bibliotecas (ou classes), é o básico a se fazer para manter um código organizado, claro e de fácil manutenção, principalmente quando falamos de programação em C, já que se torna muito mais fácil de entender. Por isso, esse artigo tem o objetivo de mostrar como criar um pequeno programa em C (de forma estruturada) fazendo uso da include libpq para se comunicar com o PostgreSQL.

O ponto mais complicado nessa tarefa é criar estruturas que possam ser dimencionadas dinâmicamente e essa tarefa não tem como ser feita sem algum dominio na manipulação de ponteiros.

Continue reading “Como criar uma conexão do banco de dados PostgreSQL com a linguagem C”