Introdução ao SonarQube

Na edição 56 falei sobre a gestão da qualidade do código e introduzi o SonarQube e algumas das suas funcionalidades. Neste artigo, vou configurar uma instância de SonarQube e como configurar diversos scanners para analisar os projetos Java e C# no meu Macbook.

Let’s start

Uma chamada de atenção antes de começar a usar a imagem Docker do SonarQube:

By default, the image will use an embedded H2 database that is not suited for production.

Continuar a ler

SEO e Desenvolvedores: unindo esforços para o desenvolvimento

É comum haver estresse entre SEOs e programadores. Como profissional SEO que está em contato com outros profissionais da área em todo o mundo e constantemente ouvindo as mesmas queixas, percebi que o motivo é muito simples: falta de diálogo entre profissionais e equipas.

De um lado, programadores que percebem muito de código e pouco de SEO. De outro, SEOs que percebem de performance e, por vezes, pouco de código. O SEO trabalhará sobre o site e o backoffice construído antes pelo programador, logo, qualquer falha no processo anterior causará falhas no trabalho do SEO.

Por outro lado, há muitos programadores que trabalham autonomamente ou em empresas cujo foco não é SEO, mas que compreendem a necessidade de algum conhecimento no assunto seja para entregar um melhor trabalho para o cliente ou para destacarem o próprio serviço. E, na realidade, o ideal é que essas duas áreas andassem de mãos dadas. Vejamos como integrá-las!

Continuar a ler

Blockchain

Muitos dizem que vai mudar o mundo, outros acreditam que pode vir a ser um problema. A verdade é que está a revolucionar a forma como se fazem e pensam algumas coisas, mas é um tecnologia tão recente que ainda faz com que haja pouca informação. Blockchain é um conceito, um conceito definido como “base de dados descentralizada”. A primeira implementação deste conceito foi o bitcoin e desde então muita coisa aconteceu.

Mas sobre isso não me vou alongar muito porque a internet está repleta destas definições. Onde me pretendo alongar um pouco mais é mostrando ao leitor como pode fazer para criar/desenvolver algo.

Existem muitas implementações do conceito de blockchain, mas o que vai ser usado aqui é a ethereum, que foi a primeira a trazer smart contracts. De forma muito breve, os smart contracts permitem desenvolver ações dentro da blockchain.

Continuar a ler

ASP.NET Core, Angular 5 – CRUD com Entity Framework

Ao longo deste artigo, que espero ser o primeiro de uma série, irá ser abordado como criar uma aplicação web, com apenas um form, recorrendo a ASP.NET Core, Angular 5 e Entity Framework, seguindo a abordagem de base de dados primeiro “database first” suportando as operações básicas de uma base de dados (create, read, update e delete, CRUD).

O exemplo do artigo foi feito no Visual Studio 2017 Community, com .NET Core 2.1, Node.JS LTS e a base de dados em SQL Server 2017. Poderia ter sido feito o mesmo com ADO.NET, mas no caso optou-se por Entity Framework. De igual modo, poderia ter sido feito o mesmo exemplo com ReduxJS, mas novamente a opção prendeu-se com a framework Angular, pelo seu vasto suporte e utilização, bem como a facilidade com que se desenvolve de forma a suportar diversas plataformas.

Continuar a ler

Classes de infraestrutura: a classe Using

Em Object Oriented Programming (OOP), classes utilitárias são de evitar. O mesmo se pode dizer de métodos estáticos.
Um bom design OOP deve procurar que cada objeto represente uma entidade real, uma parte do todo que é o software, com uma responsabilidade bem definida e uma vida útil determinada pelo exercício dessa responsabilidade, e não mais do que isso. Uma classe utilitária ou um método estático acabam por ir contra o exercício desse objetivo.

No entanto, podemos separar o nosso design em duas partes distintas: domínio do problema e infraestrutura.

Continuar a ler

Água Fresca, Scooby!

Ao longo deste artigo vai ser construído um projecto bastante simples que tenta resolver um problema igualmente simples! O dos animais de estimação e o calor! Quem tem cão, sabem bem que a água fresca é a melhor forma de o nosso amigo de quatro patas se refrescar! Isto pela simples razão dos cães não transpirarem, como outros mamíferos! Os cães perdem temperatura principalmente pela respiração e pela ingestão de líquidos. Se não estivermos em casa o dia todo, e partindo do princípio que o cão não sabe abrir a torneira, a água no recipiente aquece e deixa de estar fresca!

O objectivo deste “projecto”, por assim dizer, é simples, vamos disponibilizar água fresca ao animal, de forma automática e evitando desperdícios!

Continuar a ler

Windows ML (ML.NET C#)

Agora que a época das férias está praticamente terminada, trazemos para os leitores mais distraídos, um tema que aqui na Programar achámos que não deveria passar em branco… No passado mês de Maio, foi lançada pela Fundação .NET a biblioteca ML.NET.

Vamos por partes… ML significa Machine Learning… ou seja a aprendizagem da máquina, o que nos leva para a área da inteligência artificial, que nos dias de hoje está cada vez mais ativa.

Continuar a ler

Os Geeks “herdarão” o mundo!

O título parece agressivo, mas não é de todo essa a minha intenção! Dito isto vamos ao artigo propriamente dito!

Em 2008, nos EUA foi eleito o primeiro presidente “Trekkie” (fã da série O caminho das estrelas (original Star Trek), uma serie de ficção muito popular entre os “geeks”). A verdade é que os outrora “náufragos” da popularidade e da cultura pop, começaram a sua ascensão, rumo ao “topo da hierarquia”! Na verdade existem geeks notáveis na história, da tecnologia, como o caso de Steve Wozniack, também conhecido como “wizard of woz”, Bill Gates, Kevin Mitnick, Larry Page e Sergey Brin, etc…

Continuar a ler

Pessoas, Dados & Privacidade

O tema da privacidade está na ordem do dia, devido essencialmente ao escândalo da Cambridge Analytica com os dados do Facebook e ao Regulamento Geral de Proteção de Dados da União Europeia.

A bem da verdade, o regulamento não é propriamente novo uma vez que já existe há dois anos, embora as organizações europeias só agora lhe estejam a dar a devida atenção.

Este regulamento, grosso modo, é a evolução natural no que toca à proteção de dados pessoais e tem como grande passo o maior controlo dos dados pessoais por parte dos seus legítimos detentores. A partir de agora vai ser mais fácil cada um de nós pedir para ser esquecido ou saber como uma empresa obteve os nossos dados e a quem esta os cedeu.

Continuar a ler

Business Intelligence – Da Informação ao Conhecimento

Sendo esta a primeira review para a Revista Programar, queria desde já agradecer ao António Santos e à FCA pela oportunidade e pelo envio do livro.

O António foi meu aluno há alguns anos atrás e deixa-me orgulhoso o facto de um antigo aluno se lembrar de mim para a review deste livro, tenho acompanhado o seu trabalho mesmo que à distancia na Revista Programar, sendo assim não podia deixar de aceitar este convite. Em boa hora o fiz e já vão perceber porquê.

Na minha curta ligação à academia muitas vezes fui crítico de alguns livros, escritos por académicos, pois o seu conteúdo nem sempre era adequado e acessível à maioria dos leitores. O livro Business Intelligence – da informação ao conhecimento é em toda a sua extensão, um verdadeiro manual de conhecimento, que aborda vários conceitos importantes, para quem tem conhecimentos da tecnologia e não tem conhecimentos de negócios e vice versa.

Continuar a ler