PHP 7

Neste artigo, traremos informações a respeito do PHP 7, alguns dos novos recursos e exemplos de código que podem executar de maneiras diferentes em versões anteriores à 7. O PHP 7 foi liberado em dezembro de 2015, atualmente encontra-se na versão 7.0.11 (este artigo está sendo escrito em outubro de 2016).

A linguagem PHP surgiu na década de 1990 como uma linguagem de scripting interpretada no servidor, mas seu histórico não é o foco deste artigo e pode-se encontrar mais informações no link http://php.net/manual/history.php.

A especificação do PHP pode ser encontrada em https://github.com/php/php-langspec. Possui uma sintaxe parecida com C e Perl.

Continuar a ler

Let’s Brainfuck in Pascal!

Com os devidos créditos à originalidade do criador desta linguagem, e ainda mais pela originalidade e não menor acertividade pelo nome dado, Brainfuck é um clássico do mundo exotérico da programação. É inegável que, numa não muito usual conversa de café acerca de linguagens exotéricas, Brainfuck é comummente a primeira referida. Com o seu princípio extremamente simples e sintaxe altamente minimalista, esta linguagem consegue fazer jus ao seu nome num piscar de olhos.

Não obstante a sua alta aplicabilidade no mundo… exotérico, talvez?, Brainfuck representa um exercício bastante apetecível para a implementação de um parser. Estando disponível na Internet o código-fonte Assembly do interpretador de Brainfuck, a sua implementação noutras linguagens recorrendo a diferentes paradigmas representa um carácter didáctico inegável.

Neste artigo – ao qual referências ao calão não irão faltar por força da circunstância – será feita a implementação de um interpretador de Brainfuck em Pascal, recorrendo unicamente ao paradigma procedural. Iniciemos então esta curiosa jornada!

Continuar a ler

JavaFX : Uma Breve Introdução

Recentemente tive a necessidade de alterar a interface gráfica de uma aplicação, que tinha sido feita em Java Swing, para incluir mais uns campos. Mas a alteração, apesar de simples, revelou-se uma dor de cabeça devidos aos compromissos de código assumidos.

Aconselhei-me com outros colegas, investiguei e optei por experimentar o JavaFX e pouco tempo depois tinha uma nova interface gráfica a funcionar.

Continuar a ler

Criptografia e segurança por hardware com Arduino/Genuino ou outros sistemas por I2C

Introdução ao problema

Cada vez mais se lêem notícias sobre os perigos da internet das coisas, desde um ataque massivo de negação de serviço distribuída (Distributed Denial of Service) que excedeu larguras de banda de 799Gbps, até botnets de dispositivos IoT, etc…

Uma das preocupações de quem desenvolve produtos IoT, sejam software, hardware ou ambos, acaba por ser a segurança desses dispositivos, e até que ponto a segurança por software é suficiente num dispositivo que pode controlar por exemplo, um sistema de alarme, ou o controlo de aquecimento, etc…

Continuar a ler

Interagindo com páginas web com C#

Introdução

Algumas vezes necessitamos que o nosso programa interaja com uma página web, seja para obter alguma informação ou para testar o seu funcionamento. Normalmente, isto pode ser feito interagindo com o conteúdo da página, usando a API DOM (Document Object Model – representação dos objetos da página em forma de árvore) e obter informações ou interagir com a página (preenchendo caixas de texto ou clicando em botões pelo programa).

Isto, além de ser difícil e sujeito a erros, pode ter de funcionar de maneira diferente nos vários browsers. Uma maneira mais simples de fazer isto, além de ser compatível com a maioria dos browsers é usar uma ferramenta open source, chamada Selenium (http://www.seleniumhq.org/). Neste artigo, iremos mostrar como usar o Selenium para interagir com o Google, fazer uma pesquisa e mostrar os resultados numa Listbox WPF.

Continuar a ler

SQL Curtas — Intervalos de datas

Um dos problemas mais habituais em programação SQL é pedir dados que aconteçam no intervalo de duas datas. O tipo de dados dos campos de data/hora variam conforme o SGBD (DATE, TIME, DATETIME, DATETIME2, SMALLDATETIME, etc.), mas o problema descrito em baixo é semelhante em todos.

Problema: Necessito dos registos cujo campo CampoData está no intervalo 2016-01-01 (inclusive) a 2016-12-31 (inclusive).

Continuar a ler

WebSummit 2016

Como não podia deixar de ser, nesta edição resolvemos dedicar um espacinho ao Web Summit deste ano.

Para os leitores que não estão tão familiarizados com o mundo da tecnologia, queremos relembrar que a Web Summit é uma das maiores conferências mundiais de tecnologia.

A primeira vez que este evento teve lugar foi em 2009 em Dublin (onde se realizaram nos últimos 5 anos) e rapidamente se tornou um dos maiores eventos do género, uma vez que é dos acontecimentos anuais mais aguardados. A Web Summit foi fundada por Paddy Cosgrave, David Kelly e Daire Hickey.

Continuar a ler

Desenvolvimento Ágil de Software – Guia Prático, 1 edição

Motivados pela elevada taxa de insucesso de projetos de desenvolvimento de software, há cerca de cinquenta anos, engenheiros e desenvolvedores de software aperceberam-se da necessidade de definir e seguir um processo de desenvolvimento. Depois desse processo inicial (waterfall) muitos outros se seguiram, melhorando os processos anteriores em diversos aspetos e, com isso, melhorando a qualidade do produto de software produzido. Ainda assim, a taxa de insucesso continuava elevada. O virar do século trouxe-nos os princípios de desenvolvimento ágil, e com eles um foco no cliente, e uma exigência do seu envolvimento na equipa, a um ponto que este não estava acostumado a suportar. Este envolvimento do cliente, e a entrega frequente a este de software funcional para obter o seu feedback, trouxe muitas melhorias ao nível do alinhamento do produto final de software com os requisitos do cliente e utilizadores, no final do projeto (não necessariamente os requisitos no início do projeto!).

Continuar a ler

HTML 5 – 4a Edição Atualizada e Aumentada

Nesta edição, trazemos até vós, caros leitores, a review do livro HTML5 de Luís Abreu. Trata-se da 4ª edição atualizada e aumentada.

Dirigido a todos os programadores, estudantes e profissionais da informática, este livro é acessível a todos os entusiastas que queiram aprender e/ou aprofundar conhecimentos acerca do “novo” HTML5. Tal como o autor nos tem vindo a habituar, este livro tem uma linguagem simples, clara e acessível, sendo fácil seguir os exemplos que nos vão sendo propostos ao longo desta edição.

Continuar a ler

Wifi Air Denial

Nesta edição caro leitor, trazemos até vós um artigo acerca de uma exploit, a WIFI AIR DENIAL.

Esta exploit foi conhecida pela primeira vez em 2011. De uma forma simples, esta exploit consiste em fazer que quando um dispositivo envia um pacote de autenticação a um access point/router, antes do mesmo responder ao pedido do dispositivo – o “nosso device” responda dizendo que não aceita a autenticação impedindo-o de utilizar o wifi.

Continuar a ler