Deep Learning Passo a Passo

Muito se tem falado ultimamente no tema da Inteligência Artificial (IA) respetivas ramificações, razão pela qual decidi trazer um exemplo prático sobre o tema, nomeadamente um caso de uso de uma rede neuronal artificial (RNA), que através de um processo de treino (análise sucessiva de observações), infere/aprende correlações existentes num conjunto de dados (dataset). Mas primeiro vamos definir os conceitos de: Inteligência Artificial, Machine Learning, Deep Learning, sendo artigo relativo a este último.Deep Learning: definições

Caso de uso

Mais do que os dados em si, o objetivo é apresentar na prática o funcionamento de uma RNA. Para o efeito, foram utilizados dados reais extraídos da base de dados pública do INE dos censos populacionais de 2011 (disponível online), onde a partir de um conjunto de variáveis não relacionados se vai tentar inferir se determinada zona populacional (subsecção estatística), tem mais mulheres ou homens (resposta binária).

Continuar a ler

Introdução ao Sass

Introdução

O desenvolvimento para a web está a mudar! Hoje em dia é incontornável que um programador web frontend não domine apenas a tríade HTML+CSS+JavaScript, mas que tenha um conhecimento (nem que seja básico) do que são pré-processadores, gestor de dependências, ferramentas de automatização de tarefas de building e de geração de estrutura de código, transpiladores, compiladores, minificadores, etc. Na verdade, estas ferramentas começam, cada vez mais, a fazer parte do workflow de desenvolvimento das nossas aplicações web. Mesmo não sendo uma exigência para o desenvolvimento, estas ferramentas podem economizar muito o tempo de um programador.

Quando uma página Web começa a ficar mais complexa, é frequente vermos vários ficheiros CSS com inúmeras regras e com um nível razoável de redundância. Uma forma de economizar tempo, e de manter todas essas regras de uma forma mais flexível, é através do uso de pré-processadores de CSS. Estas ferramentas usam recursos até aqui indisponíveis no contexto da criação de folhas de estilo. Desta forma, o código torna-se mais organizado, permitindo que os programadores trabalhem mais rapidamente e cometam menos erros.

Continuar a ler

C# – Excel

Ainda é muito usual depararmos-mos com ficheiros de processamento Excel, ou não fosse o Excel a mais famosa folha de cálculo até aos dias de hoje. Neste artigo, procuramos de uma forma simples mostrar ao caro leitor como podemos tirar partido do processamento do Excel, fazendo um pequeno programa que nos permite facilmente processar e criar novos ficheiros resultado partindo do Excel.

Para este artigo proponho algo simples, imaginemos uma empresa que produz vários tipos de brindes e merchandising. Os comerciais ao longo do mês vão criando encomendas dos vários clientes. A nossa empresa trabalha com dois armazéns distintos, mas o responsável pelo setor do armazém ao longo do mês recebe esses mesmos pedidos e regista os pedidos numa folha de Excel para lhes dar despacho. No final do período de processamento, o departamento financeiro precisa de saber ao certo qual o numero de encomendas efetuadas para poder emitir a fatura ao cliente final. Para este exemplo vamos considerar que vendemos três tipos de canetas. Azuis, pretas e vermelhas. Consideramos também que temos três clientes (somos uma pequena empresa) e que como é normal para cada cliente acordamos um valor específico de cada cor de caneta, sendo esse valor diferente para cada cliente.

Continuar a ler

Como Configurar o Wi-Fi no ESP8266

O nosso famoso ESP8266 veio para ficar, cada vez mais este microcontrolador é utilizado para desenvolver dispositivos fantásticos, é verdade que o ESP pode ser utilizado como um simples MCU, mas é a sua capacidade de se ligar a uma rede Wi-Fi, faz dele a escolha perfeita no que toca dispositivos IoT.

Este artigo tem foco em três diferentes soluções que permitem programar o ESP de forma a que este se consiga ligar a uma rede Wi-Fi. É sabido que da primeira vez que o ESP é energizado este tem de conhecer ou vir a conhecer o SSID e a password configurada no access point ao qual o queremos conectar de forma a fazer para da rede e ter acesso à internet se assim for necessário.

Continuar a ler

Cifras e mais Cifras

Neste artigo decidi “revisitar” um tema que sempre me despertou interesse e que tive de abordar num projecto que fiz em 2015. O objectivo era encriptar, de forma a que fosse possível desencriptar, dados, bastando para tal saber um conjunto de informações (identificador, chave e chave-mestra), uma vez que a cada dado, apenas corresponde um identificador (fechadura) e para se chegar à chave que acabará por abrir, são precisas duas chaves (chave e a chave-mestra). Quase como a caixa forte do tio patinhas e os irmãos metralha a tentar abrir, mas um pouco mais complexo!

Para fazer executar esta tarefa, o utilizador deve inserir um identificador, neste caso “porta”, um código a ser cifrado, uma chave para o cifrar e a respectiva chave par (chave-mestra). Quando pressionar o botão para cifrar, os dados introduzidos, serão utilizados para cifrar o “código” usando a chave e a chave-mestra, devolvendo o valor do código, cifrado.

Continuar a ler

Business Intelligence no SQL Server

Nesta edição trazemos até vós, caros leitores, a review acerca do novo livro da FCA do autor Alberto Magalhães – Business Intelligence no SQL Server.

Na sua essência as bases de dados são simplesmente contentores de informação. Quando um determinado sistema permanece durante anos sem grandes alterações, todos nós sabemos que acrescentar mais uma feature ou outra facilmente implica quase sempre a adição de mais uma tabelinha para facilmente termos dados “à mão”, tornando-se mais uns “pontos” para o “contentor” guardar. E hoje em dia é cada vez mais importante usarmos os dados que armazenamos na BD para tomar decisões acerca dos caminhos a seguir e a implementar. Seja a nível de negócio, seja a nível de vida útil do próprio sistema.

Continuar a ler

Segurança Prática em Sistemas e Redes Com Linux

Um livro destinado a professores, estudantes, profissionais e interessados nesta temática, mais actual que nunca, aborda de forma concisa e prática os conceitos teóricos subjacentes ao tema, de forma bastante sintética, mas sem perder a essência do que é mais relevante, para quem se “aventura” nesta temática, bem como para quem pretende consultar informação.

Ao longo de onze capítulos, são abordados temas como encriptação, recorrendo a PGP (Pretty Good Privacy), certificados digitais (x.509), acessos remotos utilizado SSH, evoluindo para temáticas mais abrangentes como segurança em servidores HTTP, protecção de servidores, recorrendo a mecanismos e firewall, protecção de redes, segurança em redes sem fios, redes privadas virtuais (VPN), detecção e prevenção de intrusões, terminando na temática da auditoria, que apesar de abordada e forma breve (em cerca de 30 páginas), é abordada, tendo em conta a delicadeza do tema.

Continuar a ler

Vulnerabilidades Web em 2017

Foi registado um número recorde de vulnerabilidades em 2017 nas aplicações web, incluindo categorias bem conhecidas, como XSS, mas também novas categorias, como desserialização insegura. O número de vulnerabilidades na IoT também cresceu descontroladamente e com um impacto extremamente severo. Também o PHP e o WordPress continuam de mãos dadas no que toca a vulnerabilidades em CMS e server-side. Por fim, uma vulnerabilidade de dia zero (zero day vulnerability) afetou o Apache Struts e que contou com uma das maiores violações de segurança do ano.

Continuar a ler