Search the Community
Showing results for tags 'revista programar'.
-
60 edições. Gostámos do número 60! É um número interessante! Há 60 segundos num 1 minuto. Há 60 minutos numa hora. Na tabela ANSI de proteção, 60 equivale ao relé de balanço de tensão. E para nós, aqui na PROGRAMAR, 60 edições são a continuidade de um projeto. Segmentation Fault é o tema deste editorial, porque em teoria poderia acontecer em qualquer contexto! Uma vez que se trata de uma tentativa de acesso “não autorizado” a algo! Ler mais…
-
Hoje em dia, muito se tem falado do conceito de casa inteligente através de IoT. Isto é, tornar a nossa casa inteligente através de pequenos projectos. Se pesquisarmos um pouco, facilmente temos acesso aos mais variados exemplos de passos a seguir para de facto conseguimos ter, de forma fácil e económica, a tecnologia do nosso lado, a fazer as coisas que queremos. Mas por vezes “fazer o click” não é assim tão simples… A ideia deste artigo surgiu para responder a um pedido de “várias famílias”… porque apesar de haver tutoriais e mais tutoriais acerca deste assunto, às vezes é preciso um elo de ligação. E aqui na PROGRAMAR, nesta edição comemorativa, tentámos criar esse pequeno elo de ligação. Este artigo é então dedicado aos leitores que querem iniciar a descoberta da “casa inteligente”, mas que ainda são assolados por dúvidas. Porque às vezes essas pequenas dúvidas são a diferença entre “Ii e funcionou!” e “Mas porque raio isto não funciona se fiz todos os passos?!” Ler mais…
-
Neste artigo, vou apresentar um dos modelos de deep learning mais utilizados para o reconhecimento e classificação de imagens: a Convolution Neural Network (CNN), cujo objetivo é aprender a reconhecer objetos, através de um processo de treino de visualização sucessiva de imagens pré-classificadas. As aplicações de um algoritmo capaz de classificar imagens, são fáceis de encontrar, desde o reconhecimento de escrita, condução autónoma, diagnóstico médico por imagem, etc. Assim, uma CNN é uma Artificial Neural Network (ANN ou rede neuronal), tal como apresentada no artigo da edição anterior, cuja leitura é recomendada para uma melhor compreensão do presente artigo: Deep Learning passo a passo; onde os dados de entrada da rede, em vez de serem variáveis independentes são antes uma imagem pré-processada. Ler mais…
-
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. Ler mais…
-
SEO e Desenvolvedores: unindo esforços para o desenvolvimento
staff posted a blog entry in Revista PROGRAMAR
É 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! Ler mais… -
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. Ler mais…
-
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. Ler mais…
-
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. Ler mais…
-
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! Ler mais…
-
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. Ler mais…
-
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… Ler mais…
-
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. Ler mais…
-
Business Intelligence – Da Informação ao Conhecimento
staff posted a blog entry in Revista PROGRAMAR
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. Ler mais… -
Nesta edição, trazemos até vós leitores um livro de uma temática cada vez mais actual, uma vez que cada vez mais usamos a internet “em todo o lado”! Cada vez mais a responsiveness de um site se tornou essencial ao sucesso de qualquer site, uma vez que a variedade de plataformas utilizadas para aceder, é cada vez maior e em constante mudança. A framework de front-end Bootstrap, dispensa grandes apresentações, e neste momento é a mais popular framework de front-end, o que torna o livro ainda mais pertinente! Ler mais…
-
A tecnologia blockchain ainda é um tópico incrivelmente quente e tem sido assim há algum tempo, devido em grande parte à riqueza que as criptomoedas – principalmente Bitcoin – geraram, de um dia para o outro, para os primeiros investidores. Juntando a isto as novas possibilidades económicas, percebe-se o porquê do interesse. No entanto, o blockchain pode ser usado para muito mais do que criptomoedas. A sua natureza distribuída e capacidade de verificar transações para efetuar registos à prova de falsificação, fazem desta tecnologia uma ferramenta ideal para aplicativos de IoT. O que é empolgante na plataforma Ethereum é que esta vai para além da simples criptomoeda e da proteção de transações, podendo chegar a ser uma plataforma de computação distribuída. Ler mais…
-
Atualmente o tráfego web começa a adotar um protocolo padrão e generalizado — o HTTPS. No passado era comum associar ligações seguras (HTTPSecure) a transações financeiras, compras online, páginas de autenticação, acima de tudo usado em operações desta natureza. Na época os web-designers defendiam que não existia a necessidade de sobrecarregar uma ligação TCP com criptografia quando “a informação trocada” apenas consistia numa página baseada em HTML e sem qualquer tipo de informação sensível. Ler mais…
-
Como Surge o RGPD e Quem é o Data Protection Officer?
staff posted a blog entry in Revista PROGRAMAR
A 25 de maio de 2018 entrou em vigor o Regulamento Geral de Proteção dos Dados Pessoais (RGPD). São procedimentos que terão de ser observados pelas empresas no âmbito das atividades que envolvem o tratamento de dados pessoais. Desde cedo que que existem diretivas que visam a proteção dos dados na internet. Por exemplo: Em 1990, a Comissão Europeia apresenta a primeira diretiva relativa a proteção dos dados que viria a ser aprovada em 1995. Em 1991, em Portugal, foi criada a Lei no. 10/91 de 29 de abril, “Lei da Proteção de Dados Pessoais face à Informática”. Esta lei deu também origem à Comissão Nacional de Proteção de Dados (CNPD). Em 1995, é aprovada a diretiva 95/46/CE do Parlamento Europeu e do Conselho de 24 de outubro. Em 1998 surge a transposição da diretiva 95/46/CE pelo Estado Português e consequente aprovação da Lei no 67/98 de 26 de outubro. Ler mais… -
O processo de desenvolvimento de software pode ser entendido, segundo Macoratti (2014) como “um conjunto de atividades, métodos, ferramentas e práticas que são utilizadas para construir um produto de software”. Esta prática leva a produção de uma série de documentos que ao final são traduzidos em um programa executável que seja satisfatório (RAMOS, 2014, p. 4). Neste contexto, entende-se como satisfatório um produto de software que atenda as reais necessidades de um cliente sem apresentar defeitos, uma vez que o software é parte fundamental da tecnologia da informação (ISO/IEC/IEEE 12207:2017(E), p. 1). Ler mais…
-
Embora a qualidade de um produto ou serviço seja fundamental, até há pouco tempo muitas empresas tendiam a dedicar muito grande parte do tempo disponível para entregar a desenvolver o maior número de requisitos possíveis (tentado cumprindo prazos) mas descurando a qualidade dos mesmos. Ou seja, trabalhava-se em quantidade e não em qualidade. Com um mercado cada vez mais competitivo e clientes finais mais exigentes, as empresas começaram a exigir aos seus fornecedores de produtos e serviços mais qualidade ao invés de quantidade, ou seja, aceitavam que fossem entregues menos funcionalidades novas mas que as mesmas tivessem garantia de menos problemas e mais satisfação e credibilidade junto dos seus próprios clientes. Estas alterações trouxeram a necessidade de prioritização, implementação efectiva de metodologias de trabalho em equipa, etc. Ler mais…
-
Revista PROGRAMAR (RP): Fale-nos um pouco de si e do seu percurso na tecnologia. Ler mais…
-
A Revista PROGRAMAR está de volta com mais uma edição. Desta vez temos como tema de capa o artigo CRaspberry + ESP8266 = “Light”, da autoria de António C. Santos e Rita Peres. Adicionalmente, nesta edição poderá encontrar mais 19 artigos, que listamos de seguida: IAtravés dos Olhos de uma rede Neuronal – Sérgio Saraiva Introdução ao SonarQube – Nuno Cancelo SEO e Desenvolvedores: Unindo esforços para o desenvolvimento – Aline Rossi Blockchain – Bernardo Vieira ASP.NET Core, Angular 5 – CRUD com Entity Framework – António Santos Classes de infraestrutura: a classe Using – Nuno Picado C# – Windows ML (ML.NET C#) – Rita Peres Maker – Água fresca, scooby! – António Santos Kernel Panic – Os Geeks “herdarão” o mundo! – António Santos Core Dump – Pessoas, Dados & Privacidade : – Fernando Martins Retro Computing – Imperial March [BASIC] – António Santos Review do livro: Business Intelligence – Da Informação ao Conhecimento 3. Edição Atualizada – Vitor Veiga Review do livro: Criação Rápida de Sites Responsivos com Bootstrap – António Santos Comunidades: DesignSpark – DesignSpark – Explorar Ethereum com Raspberry Pi Vulnerabilidades Web em 2017 – Pedro Tavares CRYPTO-JACKING VIA ARP POISONING EM REDES WI-FI – Pedro Tavares HTTPS – QUE INFORMAÇÃO É PROTEGIDA – Pedro Tavares COMO SURGE O RGPD E QUEM É O DATA PROTECTION OFFICER? – Pedro Tavares PROCESSO DE DESENVOLVIMENTO DE SOFTWARE, O CICLO DE VIDA CLÁSSICO SOBRE A ÓTICA DA NORMA ISO/IEC/IEEE 12207:2017 – Augusto Manzano Quality Assurance – mas afinal do que se trata? – Patricia Mateus CRM – Plataforma ou Customizado – Pedro Azevedo Entrevista a: Prof. Nuno Garcia Clique aqui para fazer o download desta Edição!
-
Existem diversas expressões para se referirem a “horas negras”, locais temíveis, etc… etc… etc… Mas entre todos os adeptos de tecnologia, o mais universal e conhecido, creio que seja o “vale da sombra do ponto-e-vírgula”, por onde, todos aqueles que escrevem código, acabam por passar, uma e outra vez, seja a “voar” no ANSI-C, passando pelo Java, o C++, o PHP e o C#, para não falar em todas as outras linguagens… Verdade se diga que algures, em algum momento na nossa vida de tecnologia, passaremos por esse “vale profundo”, onde reina a escuridão da sombra do ponto-e-vírgula e dos erros de compilação, onde a linha apontada pelo compilador nada tem a ver com a linha onde verdadeiramente falta o dito cujo mal-afamado ponto-e-vírgula! Ler mais…
-
Ao longo de diversas edições fui escrevendo sobre clusters recorrendo ao SBC (single board computer) Raspberry Pi. Tendo em conta que cada vez existem mais dispositivos inteligentes (smart devices), dei por mim a pensar no eventual uso de tais dispositivos, que passam uma parte substancial do seu tempo de “vida útil” em “idle” (sem utilização, mas ainda assim ligados), para tarefas de computação. Algo parecido com o SETI@Home, de há uns anos atrás, quando eu era bem mais novo e a internet por cá, ainda chegava por “dial-up”. É resumidamente isso que vos apresento neste artigo! Uma plataforma simples de instalar e utilizar, dedicada à computação distribuída, utilizando diversas plataformas e diversos dispositivos, aproveitando o tempo destes equipamentos, quando estão por exemplo parados a carregar baterias ou ligados à corrente mas inactivos. Ler mais…
-
Há algum tempo atrás, enfrentei um desafio ao gerir/ manter um projeto de software. Porque o cliente em que estava trabalhava na altura, tinha múltiplas equipas de desenvolvimento a trabalhar em múltiplas tecnologias e, admitamos, trabalhar com equipas que não tem estrutura e organização é um desespero. Então, vagueei pela internet em busca de uma infraestrutura onde fosse possível guardar todos os artefactos dos “projetos”, independentemente da tecnologia utilizada. Foi então que me deparei com alguns, mas a minha predileção foi para Nexus Repository OSS versão 3.x. Ler mais…
-
Adobe PhoneGap Build: para construção de aplicações móveis híbridas
staff posted a blog entry in Revista PROGRAMAR
Introdução No artigo Criar uma aplicação móvel com jQuery Mobile [Programar #58] vimos como usar a framework jQuery Mobile para programar uma aplicação Web direcionada a dispositivos móveis. Neste artigo, vamos ver como usar o serviço PhoneGap Build da Adobe para gerar uma aplicação para Android. Adobe PhoneGap PhoneGap é uma framework de desenvolvimento de aplicações móveis híbridas. Aplicações híbridas são aplicações que combinam componentes nativos e componentes web. Do ponto de vista do utilizador e da plataforma móvel, uma aplicação híbrida é indistinguível de uma aplicação nativa. No entanto, internamente, uma aplicação híbrida utiliza um componente web view que contém a maioria do conteúdo e lógica da aplicação – ou seja, a aplicação é essencialmente programada como se de um aplicação web se tratasse. A framework PhoneGap, baseada em Apache Cordova, permite que as aplicações híbridas tenham acesso a funcionalidades nativas através de componentes específicos para cada plataforma móvel (e.g., Android, iOS, Windows) mas cuja interface é exposta em JavaScript (o programador não se preocupa com a plataforma). Ler mais…