Ir para o conteúdo

Pesquisar na Comunidade

A mostrar resultados para tags ''revista programar''.



Mais opções de pesquisa

  • Pesquisa por Tags

    Introduza as tags separadas por vírgulas.
  • Pesquisar por Autor

Tipo de Conteúdo


Fórum

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
    • Apresentações
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • SharePoint
    • Apresentação de Software
  • Informática Extra-Programação
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Matemática
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categorias

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Procurar resultados em...

Pesquisar conteúdos que contêm...


Data de Publicação

  • Início

    Fim


Última Actualização

  • Início

    Fim


Filtrar por número de...

195 resultados

  1. 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…
  2. (clica para download) Após umas merecidas férias de Páscoa, em parte responsáveis por mais um ligeiro atraso, a nova equipa da Revista PROGRAMAR traz aos seus leitores mais uma edição. Contamos agora com as novas equipas de revisão e divulgação, que devem fazer-se notar já nesta edição. Desta vez, podem encontrar-se na revista artigos sobre o Google Web Toolkit, Linux Graphics Stack, processamento de texto usando a linguagem AWK e uma introdução prática à Windows Powershell. Mais info.
  3. (clica para download) No início deste mês de Dezembro, a equipa da Revista PROGRAMAR volta a trazer-lhe uma nova edição recheada de novidades. Com esta 26ª Edição a mudamos o design da Revista PROGRAMAR, para que lhe seja mais agradável à sua leitura. Fizemos também parcerias com várias comunidades de programação, para a publicação de mais e melhores artigos, e introduzimos colunas fixas de algumas linguagens e de opinião. Por fim, mas não menos importante, mudámos a periodicidade para bimestral, porque acreditámos que conseguimos no espaço de 2 meses trazer até si uma Revista de qualidade. Assim nesta edição trazemos até si um artigo sobre a utilização de LINQ e a implementação de alguns operadores bastante úteis, mas inexistentes. Também um segundo artigo sobre Flex e Byacc, a sexta parte do tutorial de lua, uma introdução à Entity Framework, e artigos sobre aspectos low-level em 3D, jQuery, BackgroundWorkers em WPF, programação funcional em PERL e ainda Sharepoint - Client Object Model no Silverligth. Continuamos a trabalhar para trazer até si em cada edição a Revista PROGRAMAR melhor! Mais info.
  4. (clica para download) Antes de mais temos que pedir desculpa a todos os nossos leitores pelo atraso, desta vez bastante significativo. Devido a problemas relacionados com a capa desta edição, estava fora das nossas possibilidades conseguir um lançamento mais rápido. Entretanto, esta 25ª edição inclui um artigo sobre a criação do famoso jogo pong em java com a biblioteca Slick2D, outro sobre a criação de Sistemas de Informação Geográfica com recurso a software livre. Também inclui a 5ª parte do tutorial sobre lua e outro sobre os parsers Flex e Byacc. Por fim, são analisados dois livros da FCA, um sobre VB.Net e outro sobre C#. Mais info.
  5. 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…
  6. 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…
  7. 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…
  8. O SoapUI O SoapUI é uma aplicação open source utilizada em testes de web services de arquitecturas orientadas a serviços (SOA) ou transferências de estado representacional (REST). É uma aplicação multi-plataforma desenvolvida em Java. Existe também uma versão profissional que suporta múltiplas origens de dados de testes, geração de testes automatizados, análise inteligente de pedidos, etc. Entre outras funcionalidades, o SoapUI permite: Invocação de web services Inspecção de web services Geração de testes de carga em web services Geração de testes de segurança em web services Geração de documentação de web services Ler mais…
  9. Este artigo tem como objetivo mostrar como usar efeitos no desenvolvimento de aplicações móveis usando a framework Xamarin Forms. Introdução A framework Xamarin Forms permite abstrair a camada de user interface entre as diversas plataformas, ie, através desta framework podemos escrever um único código que define toda a aplicação e que irá ter a sua representação gráfica respeitando é claro o controlos gráficos de cada plataforma. Refiro-me é claro às plataformas iOS, Android e Windows, cujo UX difere em alguns aspetos. Ler mais…
  10. staff

    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. 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). Ler mais…
  11. staff

    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. Ler mais…
  12. staff

    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. Ler mais…
  13. 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. Ler mais…
  14. staff

    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. Ler mais…
  15. staff

    A elegância da simplicidade

    UNIX is very simple, it just needs a genius to understand its simplicity. Começar um artigo por uma citação não será propriamente ortodoxo, não obstante, sendo uma coluna de opinião, de alguém que “não se importa”, não creio que seja “grave”! Ler mais…
  16. Aqui ficam mais algumas dúvidas que nos surgiram nas últimas semanas em encontros presenciais e nas redes sociais. O que é a “collation”? Uma “collation” é a forma que cada SGBD (Sistema de Gestão de Bases de Dados) tem de “ordenar” e de “comparar” um conjunto de dados. Ler mais…
  17. 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. Este é um livro indicado principalmente para os leitores que queiram dar os primeiros passos em BI mas também pode ser um apoio útil para quem já tem mais experiência neste campo e pretende alargar conhecimentos. A obra está dividida em cinco grandes capítulos, que fluem entre si não tornando a leitura deste livro tecnicamente pesada. No primeiro capítulo – Data Warehouse – encontramos uma explicação teórica sobre o tema. DW consiste em integrar, de forma consolidada, os dados de uma organização num só ponto, e, assim, fornecer dados atualizados aos decisores das empresas. E é este o mote principal a que o autor se propõe neste livro. É abordada a arquitectura de um DW, com maior incidência na arquitectura de Kimball e na arquitectura de Inmon. Neste primeiro capítulo gostaria de chamar à atenção para o ponto em que o autor compara concretamente estas duas arquitecturas DW, para que este tema seja facilmente absorvido pelos leitores menos experientes de forma a poderem tirar um maior partido do livro. Neste capítulo são ainda referenciados modelos de dados nomeadamente o esquema em estrela e o esquema em floco de neve, assim como as diferenças entre eles. O segundo capítulo – Analysis Services – apresenta-nos a explicação teórica do tema mas passa já a ser um capítulo mais técnico onde o autor nos guia pelas ferramentas disponíveis para o desenvolvimento e suporte das aplicações business intelligence: o SQL Service Reporting Services, o SQL Server Integration Services e o SQL Server Analysis Services. É apresentada uma pequena introdução às bases de dados OLAP, isto é, Online Analytical Processing. Nesta capítulo o autor demonstra ainda como criar a fonte de dados e quais os passos para a visualização da mesma. É ainda abordado como criar as dimensões e o “cubo”. Sendo este último constituído pelas dimensões e pelas métricas, julgo que este é um capítulo bastante importante para os menos experientes, pois este passo-a-passo ajuda na compreensão e consolidação da temática, uma vez que é através destes conhecimentos que conseguiremos dar “corpo” aos nossos dados. No terceiro capítulo – Análises de Dados – Alberto Magalhães leva-nos por alguns exemplos de pesquisa pelos modelos anteriormente implementados. Uma das ferramentas externas abordadas é o famoso Excel, onde facilmente obtemos gráficos dos dados que consideramos sensíveis. Neste capítulo gostaria de destacar os sub-temas Importar dados para uma tabela dinâmica do Excel, Importar dados para um relatório Power View e Explorar dados com o SQL Server Management Studio. É importante referir também que é neste capítulo que o autor aborda a Análise de Dados em Power BI Desktop – uma ferramenta de negócios da Microsoft que permitem facilmente a criação de relatórios e dashboards sem que sejam necessários conhecimentos técnicos extensos. No quarto capítulo – Integration Services – é-nos apresentada esta plataforma de extração, transformação e carregamento de dados. Como não podia deixar de ser, este é dos capítulos mais técnicos deste livro, contudo a leitura não é pesada e flui facilmente, permitindo ao leitor criar o seu próprio projeto seguindo as indicações passo-a-passo. São também abordados os componentes de Control Flow e Data Flow, assim como os event handlers. Recomenda- se uma leitura atenta a este capítulo de forma a compreender as práticas da gestão de pacotes do SQL Server Integration Services. Por fim entramos no quinto capítulo – Reporting Services. Aqui é-nos apresentada com mais pormenor esta ferramenta empresarial do SQL Server. É explicado como criar e gerar relatórios que possam ser uma mais valia para o nosso modelo de negócios de forma a facilitar a tomada de decisões. Neste capítulo gostaria de destacar a criação de um relatório simples, assim como a abordagem ao Tablix (conjugação de tabela, matrix e lista), assim como a abordagem à região de dados Gauge onde podemos facilmente obter os KPI – Key Performance Indicators (que medem o desempenho de um processo). Em suma, este é um livro que creio que seja uma mais valia na biblioteca pessoal de cada um, quer sejamos estreantes nestas andanças ou não, uma vez que apesar de iniciar com uma abordagem mais leve e teórica nos capítulos iniciais, o quarto e quinto capítulo, entram já num “mundo mais técnico” que vale a pena ler e reler. Boa leitura!
  18. 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. No primeiro capítulo, é feita uma apresentação mais teórica dos conceitos básicos, dos quais se destacam a confidencialidade, integridade, autenticação, não-repúdio, sem descorar a disponibilidade e resiliência, factores que cada vez mais são críticos, como o recente exemplo do e-factura, que dado o volume de utilizadores num curto espaço de tempo, acabou ficando involuntariamente indisponível, por, segundo a comunicação social, ter excedido a capacidade de resposta ao volume de pedidos. Ainda neste mesmo capítulo, são focados aspectos como os diversos tipos de atacantes “externos e internos”, algo que é realmente uma ameaça, dada a quantidade de meios e recursos, mais ou menos tecnológicos disponíveis, que em tese, podem ser utilizados para “atacar” um sistema. De salientar que o autor é cuidadoso na forma como apresenta o tema, deixando espaço para o leitor o aprofundar, indicando referências que podem ser consultadas no final de cada capítulo. As configurações e instalação de software dos exemplos são feitas para o sistema operativo GNU/Linux, distribuição CentOS, o que apesar de poder não ser o “preferido” de todos os leitores, é simples de instalar e bastante comum em ambientes de produção. A título de nota pessoal, prefiro distribuições “Debian based”, no entanto os exemplos são simples de executar nessas distribuições. Na temática das redes privadas virtuais (VPNs), cada vez mais actuais, uma vez que a quantidade de vectores de ataque aumenta, e cada vez se torna mais importante estar protegido, o autor aborda todos os conceitos teóricos de forma clara, simples e eficaz, de maneira a que o leitor, possa entender o funcionamento e aplicabilidade, de forma compreensível e prática, passando para os exemplos com OpenVPN, tanto servidor de VPN, como cliente de VPN, para os principais sistemas operativos, de forma igualmente prática e eficiente. Existem outros sistemas gratuitos que podem ser de maior agrado do leitor, no entanto, convém ressalvar que o OpenVPN se tornou num “standard de facto”, no que toca a redes privadas virtuais, pelo que a opção por este sistema, apresenta-se como a melhor de todas, tanto para quem lê, como para quem escreve, e para quem irá montar uma VPN. Quase no final do livro, ao abordar a temática da auditoria de segurança, o autor começa por explicar novamente os conceitos subjacentes, passando para exemplos práticos de auditoria de segurança, recorrendo a ferramentas que integram os próprios sistemas operativos, evitando inicialmente o uso de “ferramentas chave-na-mão”, que apesar de simples de utilizar para os mais iniciantes, não se traduzem uma aquisição de conhecimento nem na aplicabilidade do mesmo. Citando o velho ditado “aprende a andar, antes de correr”, convém que o leitor entenda primeiro os conceitos, antes de começar a fazer auditorias, sem entender o que lhes está subjacente. Ao longo do artigo, são abordadas ferramentas, mais elaboradas, e já com interface gráfica de utilizador, complementares às mencionadas inicialmente, que permitem realizar auditorias mais detalhadas e rápidas, bem como analisar outros vectores, para os quais são convenientes ferramentas específicas. Gostaria de deixar os meus parabéns ao autor, por uma obra de muito aprazível leitura, actual e rica em conteúdo, extremamente útil, quer para quem se inicia, como para quem já trabalha com esta temática. Um livro recomendável, a todos quantos por segurança se interessam.
  19. staff

    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. Vulnerabilidades Web 2016-2017 A seguinte imagem mostra o crescimento das vulnerabilidades web na forma mensal, entre o ano de 2016 e 2017. É possível observar um crescimento em 2017 (14 082), nomeadamente 212%, relativamente ao ano de 2016 (6 615). Estima- se ainda que, mais de 50% das vulnerabilidades possuem um exploit público para a sua exploração por parte de indivíduos mal intencionados. Além disso, mais de um terço (30%) não possuem uma resolução imediata, como por exemplo, uma actualização ou um remendo de software. Como é previsível, a injecção de código mantém-se no top de vulnerabilidades.
  20. staff

    RGPD – O Antes e o Depois

    O Regulamento Geral de Protecção de Dados (RGPD) entra em vigor a 25 de Maio de 2018, com o intuito de tornar as leis da União Europeia (UE) mais homogéneas, em termos do tratamento e processamento de dados dos cidadãos. Mas as novas normas repercutem-se em todo o mundo, já que mesmo as empresas de fora da UE terão que respeitar o RGPD, desde que lidem com dados de cidadãos europeus. O Antes A internet começou a alcançar a maioria da população já nos anos 90. O seu crescimento a larga escala levou a uma partilha de informação massiva e inicialmente descontrolada, os utilizadores não tinham regras, nem sabiam qual seria a dimensão daquela rede e o impacto que isso poderia vir a ter mais tarde. Ao longo dos anos foi partilhada para a rede informação sensível, surgiram também os primeiros websites, sistemas online, p.ex., de e-commerce, e-banking, entre outros, em geral, a internet começava por se tornar o maior canal de partilha de informação sem fronteiras. Com o evoluir e amadurecimento da tecnologia começaram também os problemas de segurança em vários planos. Dois desses planos, e que podem aqui ser enumerados, são o da segurança e design de aplicações e websites e também da não consciencialização dos utilizadores no que à partilha de informação diz respeito. Tal como no início, ainda hoje não existe uma regulamentação que proteja os dados dos cidadãos. Tornou-se viral hoje em dia falar em comprometimento de informação, p.ex., fugas de informação do LinkedIn, Uber, Equifax, são muitos os casos ao longo dos últimos anos. Este tipo de fuga de dados normalmente é disseminada por diversos canais na internet, e essa informação fica disponível durante anos. Já tentou escrever o seu nome por extenso no Google? É normal encontrar pautas da faculdade, editais de concursos públicos, informação extremamente sensível que provavelmente foi leaked de alguma plataforma onde se tenha registado ou com ela interagido. Foi-lhe comunicado que essa informação foi comprometida e disseminada na Internet? Ou até disseminada porque o sistema não protege a privacidade da informação dos utilizadores? Provavelmente, não. Podiam descrever-se milhentos exemplos de como a informação está mal estruturada na maioria dos sistemas e que levam a estas pequenas catástrofes digitais, fruto de uma regulamentação fraca, e quase inexistente nestes últimos anos. Mas o RGPD irá resolver isso? O Depois O RGPD não irá, de facto, resolver a curto prazo o problema da falta de políticas de protecção de dados, nem impedir que informação associada aos indivíduos “desapareça” por si só das pesquisas na internet. O RGPD tem como um dos objectivos “iniciar um novo ciclo”. Um ciclo onde a protecção das informações dos cidadãos passará a ser uma preocupação obrigatória pelos provedores de serviço. Este regulamento trará várias implicações, nomeadamente: Os sistemas terão que ser pensados desde o seu início e desenhados conforme aquilo que são as normas do regulamento – privacy by design; Os cidadãos terão que ser informados sobre qualquer comprometimento de dados pessoais até no máximo 72h depois do incidente; O cidadão tem o direito ao “esquecimento”, isto é, exigir ao provedor de serviço que todas a informação a ele associada seja totalmente eliminada do sistema. Mais ainda, os provedores de serviço, grandes, médias e até pequenas empresas, devem eleger um Data Protection Officer (DPO), isto é, um encarregado de protecção dos dados. O DPO terá como principais tarefas a monitorização da conformidade com o RGPD, a metodologia e quando realizar DPIA, a cooperação com o regulador, o acompanhamento do risco associado às operações de processamento de dados e o garantir do registo das evidências necessárias para demonstrar a conformidade junto do regulador. O RGPD pode não resolver os problemas com a informação dos cidadãos dos anos passados, mas marcará um novo ciclo, um caminho que vai ser seguido rigorosamente e que visa salvaguardar de uma forma mais rígida, tudo aquilo o que são dados pessoais dos utilizadores. Os nossos dados pessoais são a nossa identidade. Devemos ser nós a escolher que informação deve ser partilhada, e com quem a vamos partilhar.
  21. É comum falar-se em VPNs, de forma a que pareçam complexas, caras e difíceis de configurar, mas como veremos ao longo deste artigo, são até fáceis de configurar e de instalar, até mesmo em dispositivos móveis. O que é? Uma VPN é uma virtual private network, ou seja, uma rede virtual privada em que a comunicação dentro da mesma é encriptada ponto-a-ponto. Ler mais…
  22. Para estabelecer as estratégias dessa apresentação é fundamental considerar há grande discussão existente sobre o uso dos paradigmas de programação estruturada (PE) também chamada programação procedimental, e a programação orientada a objetos (POO). Ler mais…
  23. Introdução Os constantes ataques informáticos às organizações com o objetivo de subtrair dados ou provocar uma disrupção do negócio, levam as empresas e administradores de sistemas a ter um foco permanente na segurança e a procurar ferramentas que os ajudem a prevenir, proteger e responder a estas ameaças. A pensar nestes cenários, a Microsoft lançou recentemente um conjunto de serviços denominado Microsoft 365 (Office 365, Windows 10 e Enterprise Mobility + Security) para oferecer às pequenas e médias empresas com poucos recursos de TI e que não possuem um controlador de domínios do Active Directory, uma solução que disponibiliza aos seus funcionários as melhores funcionalidades de produtividade e colaboração, bem como soluções de segurança e gestão de dispositivos para proteger os dados e ativos empresariais em diversos equipamentos.Vejamos então nos parágrafos seguintes algumas das principais melhorias para IT no Microsoft 365. Ler mais…
  24. Neste artigo quero levantar a problemática que passa muitas vezes pela nossa cabeça: devemos utilizar uma plataforma para um determinado objetivo onde já temos muita coisa implementada, ou devemos avançar para um desenvolvimento customizado para podermos ter as coisas como queremos e não termos que pagar licenciamento? Vou explorar esta temática tendo como exemplo prático, a implementação de um CRM. Ler mais…
  25. staff

    SQL vs NoSQL

    Hoje em dia cada vez mais as bases de dados estão a ocupar um lugar de destaque no nosso mundo tecnológico. Queremos guardar os nossos dados, ter acesso aos mesmos o mais rápido possível e processá-los para termos respostas rápidas. Antigamente os dados guardados eram específicos, em “tabelas contentores”. Hoje, principalmente com Big Data, o nosso próprio telefone guarda tudo o que fazemos e praticamente tudo o que pensamos fazer. E perder “sessenta segundos” por uma resposta que queremos já se torna cada vez mais impensável. Por este motivo nesta edição decidimos recordar uma discussão antiga… SQL vs NoSQL… Para os leitores que ainda não estão familiarizados com este tema, vamos por partes… A sigla SQL significa Structured Query Language, ou seja, linguagem de consulta estruturada. Criada no início dos anos 70 na IBM, esta linguagem tem uma forte inspiração na famosa álgebra relacional e devido à sua facilidade de aprendizagem e simplicidade, é sem qualquer dúvida ainda a linguagem padrão mais utilizada quando falamos em bases de dados. As bases de dados SQL respeitam o modelo relacional, pois baseiam-se no facto de todos os dados serem guardados em tabelas. Temos como principais exemplos de bases de dados SQL, o SQL Server, o MySQL, Sybase, Oracle ou IBM DB2. Sem querer particularizar muito, podemos afirmar que no SQL temos “três grandes comandos” base… INSERT, UPDATE e DELETE. Com estes três facilmente temos acesso a qualquer registo de uma determinada tabela da base de dados uma vez que a base de dados é relacional e verticalmente escalonável. Tendo em conta que temos ao dispor chaves primárias e/ou estrangeiras, uma vantagem particular do SQL é sua cláusula JOIN simples, que nos permite facilmente recuperar dados relacionados armazenados em várias tabelas . Ainda nesta temática, com o SQL, sendo a base de dados relacional temos sempre as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade). E são estas quatro propriedades que descrevem as principais características de uma transação em SQL ou seja: Atomicidade Uma transação deve ter todas as suas operações executadas com sucesso, isto é, em caso de falha de alguma operação, é necessário proceder ao rollback. Consistência Uma transação deve respeitar a integridade dos dados. Isolamento Deve garantir-se o isolamento de uma operação para que não seja possível que dois utilizadores gravem alterações no mesmo registo ao mesmo tempo. Durabilidade As transações com sucesso devem persistir na base de dados mesmo que haja alguma anomalia externa à mesma, ou seja, devemos sempre registar as mesmas em memória não-volátil. Agora passemos ao NoSQL… NoSQL significa Not Only SQL. Estas base de dados têm características bem diferentes. São bases de dados não relacionais, e as propriedades que acabamos de referir (ACID) deixam de estar obrigatoriamente presentes. A designação NoSQL foi inicialmente utilizada no final dos anos 90 e voltou a ser reintroduzida no início do ano de 2009. Este tipo de bases de dados foi criado pois o modelo relacional apresenta algumas limitações quando o volume de dados é elevado e as cargas de trabalho são grandes. Assim ao contrário das anteriores, são escalonáveis horizontalmente e geralmente não suportam instruções e operações de junção. Como vantagens no uso do NoSQL podemos apontar: Como a base de dados não é relacional significa que as mesmas têm maior flexibilidade, sendo mais simples de gerir. Escalabilidade mais simples através do suporte para MapReduce – por norma as bases de dados são projectadas para funcionar eficazmente mesmo com hardware de baixo custo. A maior parte deste tipo de base de dados é open-source – temos como principais bases de dados NoSQL – MongoDB, MarkLogic, Couchbase, CloudDB e Dynamo DB da Amazon. Não é necessário desenvolver um modelo de dados tão detalhado como no paradigma relacional – o que nos permite poupar mais tempo no seu desenvolvimento. Contudo, temos que apontar também algumas das desvantagens do seu uso: Não tem uma comunidade ainda bem definida apesar de estar a crescer. Faltam ferramentas de relatório para análises e testes de desempenho. Falta de padronização – ainda não existe uma linguagem padrão como o SQL sendo que caso seja necessário migrar ou unificar um sistema podem existir problemas que ainda não estão documentados. Posto isto e sem querer entrar em grandes repetições… O NoSQL foi criado para ter uma performance melhor e uma escalabilidade mais horizontal para dar resposta às necessidades onde as bases de dados relacionais não são tão eficazes. Regra geral, podemos afirmar que temos 4 tipos de bancos de dados NoSQL: Documento Os dados são armazenados como documentos. Os documentos podem ser descritos como dados no formato de chave-valor, como por exemplo, o padrão JSON. (um exemplo deste tipo é o MongoDB). Colunas Os dados são armazenados em linhas particulares de uma tabela no disco, podendo suportar várias linhas e colunas. (Um exemplo deste tipo é a base de dados Cassandra.) Grafos Os dados são armazenados na forma de grafos (sim… grafos… com vértices e arestas) (Como por exemplo, a base de dados Neo4j.) Chave-valor Este é o tipo NoSQL que aguenta maior volume de dados, pois o conceito é que um determinado valor seja acessível através de uma chave identificadora única. (Um exemplo é a base de dados Riak.) Desta forma, os dados não estruturados (como artigos, fotos, dados de redes sociais, vídeos ou conteúdo dentro de um post de um blog) podem ser armazenados num único documento que pode ser facilmente encontrado, mas não é necessariamente categorizado em campos como numa base de dados relacional. Em suma, no conceito de modelo relacional (SQL) baseamo-nos em que todos os dados são guardados em tabelas. No modelo não-relacional (NoSQL) não se aplica o conceito de schema: uma chave de valor é utilizada para recuperar valores, conjunto de colunas ou documentos. Na minha opinião, a principal diferença nos bancos de dados NoSQL é que toda a informação é agrupada e guardada no mesmo registro. Já no SQL precisávamos de ter uma relação entre as várias tabelas para ter acesso toda a informação. Lá está… a diferença prática entre verticalmente escalável ou horizontalmente escalável. É importante referir que o NoSQL não veio para substituir o SQL, mas sim para oferecer uma alternativa mais flexível ao suporte de dados. Podemos sempre usar ambas as soluções para diferentes casos de uso. Por isso, o mais comum em soluções escalares de sucesso é a utilização de uma arquitetura híbrida, aproveitando o melhor dos dois modelos.
×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.