A Arte
Programar pode ser uma arte, apesar de ser uma acção e não necessariamente uma “expressão” no sentido mais conservador. Nesse caso um programa seria “uma forma de arte” e consequentemente os developers seriam artistas.
Ainda assim, isto nem sempre é observado desta forma! Numa atitude quase que “patológica” ou “desenquadrada” pro- gramar é muitas vezes visto como um ofício, uma tarefa, um trabalho e não propriamente uma forma de arte! Por exemplo e sem divagar muito, ensinam-se
A Arte
Programar pode ser uma arte, apesar de ser uma acção e não necessariamente uma “expressão” no sentido mais conservador. Nesse caso um programa seria “uma forma de arte” e consequentemente os developers seriam artistas.
Ainda assim, isto nem sempre é observado desta forma! Numa atitude quase que “patológica” ou “desenquadrada” pro- gramar é muitas vezes visto como um ofício, uma tarefa, um trabalho e não propriamente uma forma de arte! Por exemplo e sem divagar muito, ensinam-se
Introdução
Com o passar dos anos, cada vez mais os programadores consideram o C# como sendo a linguagem da plataforma .Net. A sua evolução tem sido constante e tem contribuído para a simplificação e redução do trabalho com a escrita de código em .Net. As novidades desta nova versão não são tão impressionantes como a do aparecimento do Linq, por exemplo, mas não deixam de ser úteis para aumentar a eficiência do programador.
Este livro que revemos nesta edição é constituído
Para a review desta edição, foi-me oferecido pelo autor, o livro Introdução à Programação com Python: Algoritmos e lógica de programação para iniciantes, 2ª edição.
Dividido em 12 capítulos, o livro apresenta uma estrutura bem organizada e de leitura suave, até para os maus adversos leitores de livros técnicos. Começa por apresentar a motivação para a aprendizagem, capaz de cativar tanto iniciantes como estudantes que recorram ao livro para consolidar conhecimentos.
Ler mais…
Neste mundo moderno, tudo é um número (ou vários). Neste artigo veremos alguns exemplos de numerações utilizadas em aplicações de negócio, o seu significado, como construí-los e como validá-los. Uma explicação mais detalhada da matemática dos dígitos de controlo deixa-se para o leitor.
Um dígito de controlo (check digit), que pode ser numérico ou alfanumérico, é um valor que pode integrar ou ser separado do número original e que valida possíveis erros de introdução. O erro
A meio do passado mês de Fevereiro, nos dias 17, 18 e 19, deu lugar no pavilhão Mário Mesquita mais uma edição do SHIFT APPens, mais propriamente a 4ª edição do Evento. Como atividade principal era pedido aos participantes que durante os três dias do evento pudessem desenvolver uma aplicação à sua escolha, formando também equipas dinâmicas onde várias personalidades de programação e design se poderiam misturar. No fim dos três dias, e sendo prometido muito código e café por pa
Com o intuito de comemorar o quinto aniversário da família Raspberry Pi, o fim de Fevereiro de 2017 trouxe mais uma novidade a esta conhecida família. Como não podia deixar de ser, aqui na Programar continuamos a ser fãs desta temática, motivo pelo qual não hesitamos em dedicar-lhe algumas linhas nesta edição.
Ler mais…
Introdução
O presente release tem por finalidade abordar como a criação de interfaces avançadas propiciam novos avanços em diferentes áreas do conhecimento. Neste contexto, o foco discutido permeia questões sobre a criação e o desenvolvimento da nanotecnologia que pode estar direta ou indiretamente alterando a interação do homem com o computador.
Um ponto evidente é que o imaginário proposto nas produções cinematográficas, principalmente no que tange a ficção científica apr
A Revista PROGRAMAR está de volta com mais uma edição. Desta vez temos como tema de capa o artigo Docker: Overview, da autoria de Nuno Cancelo. Adicionalmente, nesta edição poderá encontrar mais 15 artigos, que listamos de seguida:
API Rest com Spring Boot (parte 2) (José Martins)
JavaFX: Passos Seguintes (Nuno Cancelo)
Um bot para Telegram com o Jogo da velha (Jogo do Galo) (Nilo Menezes)
Automação do Azure com Windows PowerShell Desired State Configuration (Ricardo Cabral)
O Problema
O título até parece brincadeira, mas é sério! E compila em C99! E foi assim, há muito, muito tempo, que a primeira edição da revista, foi publicada, fazia o ano de 2006, não numa “galáxia muito, muito distante”, mas num URL perto de todos nós! E assim o tempo passa! Tal qual história de ficção engraçada ou de mitologia clássica, a revista volta até aos seus leitores, como uma “fénix renascida” do famoso Albus Dumbledore, retirada de um livro conhecido de todos, ou de quase!
Não
Resumo
Neste artigo descrevemos uma forma de resolver problemas com algoritmos que se baseiam na teoria da seleção natural.
Iremos resolver o problema do caixeiro viajante, ilustrando-o com um programa em Haskell (https:// www.haskell.org/).
Ler mais…
No mundo Java, o framework open source Spring, não sendo o único, é quase um standard para quem pretende adotar um padrão de injeção de dependências / MVC, que nos facilita bastante a vida pois permite que nos concentremos essencialmente nas business rules evitando ter de desenvolver as partes mais trabalhosas as quais são geridas pelo framework. De uma forma simplificada, podemos então dizer que o Spring é um framework de injeção de dependências, capaz de gerir o ciclo de vida dos
A pilha protocolar TCP/IP
A pilha protocolar TCP/IP é considerada o standard de facto na área das comunicações informáticas, sendo praticamente obrigatório o seu uso em aplicações distribuídas. A referida pilha tem mecanismos próprios que possibilitam o envio, encaminhamento e receção de dados entre duas ou mais entidades comunicantes. Um dos elementos chaves da pilha TCP/ IP é o endereço IP que identifica um sistema computacional. Atualmente, existem dois tipos de endereços IP:
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
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 obstant
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.
Ler mais…
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 con
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 err
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).
Ler mais…
Introdução
Quando uma criança começa a dar os primeiros passos no mundo da Internet, existe uma natural preocupação dos Pais e Educadores em relação à segurança. Tendo em conta os perigos que uma navegação na Web não vigiada pode representar, é necessário consciencializar as crianças para um conjunto de práticas a evitar enquanto estão online, como por exemplo, a cedência de dados pessoais a desconhecidos que possam facilitar a identificação destes jovens, a divulgação de informações sobre
Revista PROGRAMAR – (RP): Fale-me um pouco de si e do seu percurso.
Edite Amorim- (EA): Hum… Nasci no Porto em 80, e estudei na Póvoa de Varzim, onde vivi até aos 26 anos. Era muito distraída na escola, estava sempre a mil com cem ideias e demasiada energia. Falava muito. Fiz patinagem artística 12 anos, estive para ir para a Escola Profissional de Teatro e em vez disso fiz o Secundário na área de Desporto.
Só consegui entrar na faculdade que queria – Psicologia, na Universidade do Porto – à
Com início do Ano de 2017, a Revista PROGRAMAR regressa com uma nova edição. Desta vez trouxemo-vos para tema de capa o artigo Programação Genética, da autoria de Ricardo Cristóvão Miranda. Adicionalmente, nesta edição poderão encontrar mais 18 artigos, que listamos de seguida:
API Rest com Spring Boot (parte 1) (José Martins)
Programação de aplicações cliente/servidor assentes no protocolo de transporte UDP (Sandro Patrício Domingues, Vítor Carreira, Carlos Grilo)
PHP 7 (Fáb
Todos os percalços fazem parte da “evolução”, de versão para versão! E desta feita o atraso nesta edição, foi fruto de um dos maiores percalços até agora enfrentado! Mas como sempre sobrevivemos, superamos, evoluímos! E passados 10 anos, cá estamos!
Para esta edição, estava com imensas dificuldades em escolher um título para o editorial, até que me lembrei daquilo que nos acontece, a todos nós que desenvolvemos e criamos tecnologia! Aquelas situações em que escrevemos algo, ou