Artigos // Lista de publicações

Autor: Diogo Matheus

  • Introdução ao Node.js

    Node.js é um interpretador de código JavaScript, criado por Ryan Dahl em 2009, com base no V8 JavaScript Engine do Google. Um dos principais diferenciais do Node.js é sua arquitetura baseada em eventos, desenvolvida para trabalhar com tarefas assíncronas de forma não obstrutiva (i.e., para que nenhuma tarefa interrompa uma aplicação) . Este diferencial melhora o rendimento e a escalabilidade de aplicações com operações de I/O, tempo real, etc.

    Este artigo tem como objetivo apresentar os principais benefícios do Node.js, bem como abordar boas práticas e pacotes utilizados para o desenvolvimento de aplicações.

    Principais benefícios

    Quando desenvolvemos com Node.js utilizamos uma abordagem orientada a eventos, o que exige identificar/mapear/generalizar quais eventos podem ocorrer, bem como disponibilizar uma interface para ouvi-los, possibilitando executar operações específicas.

    Estar melhor preparado para trabalhar com interações de tempo real entre cliente e servidor é um diferencial interessante do Node.js. Neste ponto, destacam-se os pacotes SockJS, Socket.IO e Engine.IO. Estes pacotes são compatíveis com o protocolo WebSockets e permitem trafegar dados por meio de uma conexão bi-direcional, tratando as mensagens via eventos no JavaScript.

    Por ser uma linguagem single-threaded, o JavaScript acaba tendo benefícios (e.g., ausência de deadlocks), mas também existem limitações quando executamos blocos de …

    , arquivado em JavaScript.
    Comentário(s) 1
  • De primatas a astronautas

    De primatas a astronautas do autor Leonard Mlodinow apresenta um odisseia com várias descobertas e personagens que conduziram nossa espécie, desde suas origens na savana africana até os dias de hoje. Através de uma narrativa agradável, Mlodinow apresenta uma visão compilada dos desafios e conquistas, que motivados pela sede de conhecimento, possibilitaram nosso cenário atual.…

    , arquivado em Resenha.
    Comentário(s) 1
  • Produtividade no Eclipse

    Quem trabalha com desenvolvimento de software, em algum momento já se pegou realizando uma tarefa repetitiva ou massante na hora de codificar, porém, as ferramentas de IDE (Integrated Development Environment) disponíveis estão cada vez mais avançadas, sendo inadmissível ficar parado no tempo. Neste artigo irei falar um pouco sobre produtividade no Eclipse, que suporta diversas linguagens de programação. Caso você ainda esteja codificando em editores de texto convencionais, faça um favor para você mesmo, adote uma ferramenta que tenha pelo menos os recursos básicos para organização de projeto e código-fonte, visando trabalhar em equipe.…

    , arquivado em Ferramentas.
    Comentário(s) 0
  • Taxonomia de defeitos na engenharia de software

    Defeitos estão presente em projetos de software por anos e apesar de todo esforço investido para apoiar sua identificação e eliminação, continuam sendo um desafio para os engenheiros de software. De acordo com IEEE Std. 1044-2009 defeito é uma imperfeição ou deficiência em um produto de trabalho, onde esse produto de trabalho não cumpre suas exigências ou especificações e precisa ser reparado ou substituído.

    O combate aos defeitos de software é dificultado por fatores como complexidade implícita no desenvolvimento de software, prazos curtos, etc. Na indústria, quando adotado, este combate não ocorre de forma sistemática na maioria dos casos, o que dificulta seu entendimento.

    Para combater os defeitos de software de forma sistemática, criar ou adotar uma taxonomia de defeito é uma das atividades mais relevantes para o sucesso deste combate, taxonomia essa que será o pilar para classificação dos defeitos encontrados no processo de desenvolvimento, possibilitando um melhor entendimento sobre os principais defeitos presente nos projetos de software.

    Este artigo não visa apresentar as taxonomias de defeitos existentes, seu foco está na apresentação do conceito e papel da taxonomia visando combate sistemático aos defeitos.

    Definição de taxonomia

    Taxonomia é uma ciência que estuda e define grupos com base em …

    , arquivado em Engenharia de Software.
    Comentário(s) 0
  • Top 10 – Livros para programadores

    Recentemente um amigo e antigo companheiro de trabalho me solicitou uma lista com livros que acredito ser essencial para formação de um bom programador, não no sentido de uma linguagem específica, mas no pensamento e preocupações que este deve ter. Esse artigo será o primeiro de uma série, que terá foco na indicação de livros para profissionais em busca de boas referências.

    Particurlarmente acredito que um bom programador gera soluções computacionais legíveis que sejam reutilizáveis sempre que possível. Em caso de problema indefinido, leia-se mal especificado, este deve ter condições de reenquadrar o problema para ter certeza que sua solução está resolvendo de fato uma necessidade relevante. Pode-se perceber que não se trata de decorar recursos de uma linguagem, mas, entender o contexto do problema, solucionar e pensar no futuro levando em conta manutenção e evolução do código criado.…

    , arquivado em Resenha.
    Comentário(s) 1