Artigos

Busque por assunto, explore as tags e as categorias ou navegue por todos os artigos. Se preferir uma ordem de leitura, veja as Trilhas.

Por assunto

algoritmos análise de dados análise qualitativa análise quantitativa api arduino avaliação banco de dados busca c++ ciência de dados cliente-servidor dados desenvolvimento web design design system devops direitos autorais educação enade engenharia de software estatística estruturas de dados express git github inteligência artificial interação humano-computador javascript listas llm machine learning metodologia científica modelagem lógica mysql normalização opensuse padrões de projeto programação projetos propriedade industrial propriedade intelectual python redes neurais artificiais regressão resenha sistemas distribuídos sistemas operacionais software SOLID sql série TADS teste de hipóteses testes unitários tipos de variáveis tumbleweed user experience user interface valor-p

Por categoria

Todos os artigos

  • Modelagem lógica em bancos de dados relacionais

    A modelagem lógica de banco de dados é uma etapa do projeto de bancos de dados responsável por transformar a representação conceitual das informações em estruturas organizadas de acordo com um modelo de dados, como o modelo relacional. Seu principal objetivo é definir como os dados serão estruturados, identificados e relacionados, preservando as regras de…

  • Normalização em bancos de dados relacionais: da 1FN à 3FN

    Normalização em bancos de dados relacionais é o processo de organizar atributos em relações para representar dependências entre dados com menos redundância e menos anomalias de inserção, atualização e exclusão. Sua aplicação exige compreender as regras do domínio e identificar chaves e dependências funcionais. Um conceito bem importante durante a normalização é o das Formas…

  • Modelagem, segurança e transferência de dados usando DTOs

    Aplicações corporativas raramente trabalham com uma única representação dos dados. Um sistema pode possuir uma representação adequada ao banco de dados, outra voltada às regras de negócio e uma terceira especificamente projetada para a comunicação com uma API ou interface de usuário. Essa separação permite que diferentes partes do software evoluam de maneira relativamente independente,…

  • Padrões de Projeto (Design Patterns): conceitos, classificações e implementações em C#

    No desenvolvimento de software, é comum encontrarmos problemas semelhantes em diferentes projetos. Um sistema de comércio eletrônico precisa organizar pagamentos, enquanto um sistema hospitalar deve gerenciar atendimentos e notificações. Embora sejam aplicações distintas, ambas podem apresentar desafios relacionados à criação de objetos, à organização de responsabilidades e à comunicação entre componentes. Os padrões de projeto,…

  • Fundamentos e aplicações dos princípios SOLID com Python

    O desenvolvimento de software não consiste apenas em escrever algoritmos capazes de produzir resultados corretos. Também envolve a construção de sistemas que possam ser compreendidos, testados, corrigidos e modificados ao longo do tempo. Nesse contexto, os princípios SOLID constituem um conjunto de cinco diretrizes de projeto de software, especialmente associadas à programação orientada a objetos,…

  • Conceitos e operações em listas encadeadas

    Uma lista é uma estrutura de dados utilizada para armazenar uma sequência de elementos. Diferentemente de um vetor, em que os elementos ocupam posições indexadas e normalmente contíguas na memória, uma lista encadeada organiza seus elementos por meio de referências entre eles. Cormen et al. (2012) definem que “uma lista ligada é uma estrutura de…

  • Conceitos, operações e implementações de filas

    Uma fila (queue) é uma estrutura de dados linear utilizada para armazenar elementos segundo uma ordem específica de entrada e saída. Sua característica fundamental é que o elemento inserido primeiro tende a ser também o primeiro elemento removido. Essa política é conhecida como First In, First Out (FIFO), ou “primeiro a entrar, primeiro a sair”…

  • Análise qualitativa: análise de conteúdo e análise temática

    A pesquisa qualitativa busca compreender fenômenos a partir dos significados, interpretações, experiências, práticas e relações construídas pelos sujeitos ou registradas em documentos, discursos e outros materiais. Diferentemente de abordagens centradas principalmente na mensuração de variáveis, a investigação qualitativa procura compreender como determinados fenômenos são percebidos, produzidos e significados em seus contextos sociais e culturais. Entretanto,…

  • Conceito, operações e implementações de pilhas

    Estruturas de dados permitem organizar informações de acordo com as operações que serão realizadas sobre elas. Segundo Ziviani (2006), a escolha da representação dos dados está diretamente relacionada aos algoritmos que atuarão sobre esses dados, pois diferentes estruturas favorecem diferentes formas de acesso, inserção e remoção. Nesse contexto surge o conceito de Tipo Abstrato de…

  • Autenticação e autorização em aplicações web com Node, JWT e MySQL

    Autenticação e autorização são mecanismos distintos, embora normalmente sejam utilizados em conjunto para controlar o acesso a sistemas computacionais. Em termos simples, a autenticação procura responder à pergunta “quem é o usuário?”, enquanto a autorização determina “o que esse usuário pode fazer?”. A Open Worldwide Application Security Project (OWASP) define autenticação como o processo de…

  • Vetores dinâmicos em C++ com std::vector

    Em programação, um vetor é uma estrutura que armazena diversos valores de um mesmo tipo e permite acessá-los por meio de posições. Os vetores tradicionais de C++ possuem tamanho fixo e previamente definido. Entretanto, em muitas aplicações reais não é possível saber antecipadamente quantos elementos serão necessários. Por exemplo, imagine uma varejista de produtos eletrônicos…

  • Event Loop e Orientação a Eventos em JavaScript

    Aplicações modernas precisam responder continuamente a acontecimentos que não ocorrem em uma sequência totalmente previsível. Um usuário pode clicar em um botão, uma requisição HTTP pode terminar, um temporizador pode expirar ou novos dados podem chegar pela rede. Esse tipo de comportamento está relacionado à chamada orientação a eventos, na qual determinadas partes do sistema…

  • Programação assíncrona em JavaScript

    Programação assíncrona é um modelo de execução de programas no qual uma aplicação pode iniciar uma operação potencialmente demorada e continuar disponível enquanto aguarda sua conclusão. Esse comportamento é particularmente importante em aplicações web, pois operações de entrada e saída, tais como acesso à rede, leitura de arquivos, consultas a bancos de dados e comunicação…

  • Ponteiros em C++

    No cerne da Ciência da Computação reside o gerenciamento rigoroso dos recursos de hardware. Dentre as abstrações fundamentais fornecidas por linguagens de programação de sistemas como C e C++, os ponteiros destacam-se como o mecanismo primordial de interação direta com o subsistema de memória principal. O domínio desse conceito permite ao desenvolvedor compreender a anatomia…

  • Algoritmos clássicos de ordenação

    Ordenação é o processo de reorganizar um conjunto de dados segundo algum critério, normalmente em ordem crescente ou decrescente. Em termos computacionais, ordenar significa rearranjar os elementos de uma estrutura para facilitar operações posteriores, como busca, comparação, apresentação de relatórios e análise de dados. Ziviani (2011) define a ordenação como o processo de rearranjar objetos…