Explore bandwidth, data rate, and throughput.
Baeldung Author
Vinicius Fulber-Garcia
I am passionate about researching Computer Science. I received my Ph.D. in Computer Science from the Informatics Department of the Federal University of Parana (UFPR – Brazil). My main research interests are computer networks, data compressing, and optimization techniques. Of course, I love a good cup of coffee!
Here's what I've written (so far):
Baeldung on Computer Science
- All
- Networking (32)
- Security (31)
- Software Architecture (10)
- Programming (10)
- OS (7)
- Algorithms (4)
- Latex (3)
- Core Concepts (3)
- Math and Logic (2)
- Concurrency (2)
- Searching (1)
- Graphs (1)
- Data Structures (1)
Routing: IGP and EGP Protocols
Filed under Networking
Explore interior and external gateway protocols.
Different Types of Firewalls
Filed under Networking, Security
Explore the types of firewalls.
Data Storage: What Does CRUD Means?
Filed under Core Concepts
Learn about CRUD in the context of data storage.
Networking: Stop-and-Wait Protocol
Filed under Networking
Explore the stop-and-wait ARQ mechanism.
Automatic Private IP Addressing Explained
Filed under Networking
Learn about automatic private IP addresses.
What Is Round Trip Time?
Filed under Networking
Learn about the Round Trip Time.
Understanding MAC Addresses
Filed under Networking
Learn about MAC addresses.
What Is Software Diversity?
Filed under Programming, Software Architecture
Explore the concept of software diversity.
Routing: Distance Vector vs. Link State
Filed under Networking
Explore two categories of dynamic routing protocols: distance vector and link state.
Requirements: Functional vs. Non-functional
Filed under Software Architecture
Explore functional and non-functional requirements.
Threat vs. Vulnerability vs. Risk
Filed under Security
Explore threats, vulnerabilities, and risks in security topics.
Understanding Honeypots
Filed under Security
Explore honeypots in security.
What Are Logic Bombs?
Filed under Security
Explore logic bombs.
Bugs and Debugging in Programming
Filed under Programming
Learn about bugs and the debugging process.
Unit vs. Integration Testing
Filed under Programming
Learn about unit and integration testing.
Cloud: Public vs. Private vs. Hybrid
Filed under Networking, Software Architecture
Study public, private, and hybrid clouds.
Granularity: Coarse-Grained vs. Fine-Grained
Filed under Core Concepts
Learn about coarse-grained and fine-grained entities in computing.
Internet vs. Intranet vs. Extranet
Filed under Networking
Learn the differences between the Internet, intranet, and extranet.
Software Engineering: White-Box vs. Black-Box Testing
Filed under Programming
Learn about white-box and black-box testing.
The XP’s Commandments of Simple Code
Filed under Programming, Software Architecture
Explore four commandments of simple design in the context of XP methodology.
The Cyber Kill Chain
Filed under Security
Study the cyber kill chain.
Underlay Network vs. Overlay Network
Filed under Networking
Learn about the underlay and overlay networks.
Differences Between Active and Passive Attacks
Filed under Security
Study the differences between active and passive attacks.
Differences Between Simulation and Emulation
Filed under Programming, Software Architecture
Learn about the simulation and emulation.
High Availability vs. Fault Tolerance
Filed under Networking
Explore the concepts of high availability and fault tolerance.
Network Management: The FCAPS Model
Filed under Networking
Explore the FCAPS model for network management.
Programming Languages: Lexicon vs. Syntax vs. Semantics
Filed under Programming
Explore the meaning of lexicon, syntax, and semantics in the context of computing, particularly programming languages.
Traffic Engineering: Shaping Vs. Policing
Filed under Networking
Explore traffic engineering through traffic shaping and policing techniques.
Network Function Virtualization Explained
Filed under Networking
Learn about the Network Function Virtualization (NFV) paradigm.
Differences Between an IDS and an IPS
Filed under Networking, Security
Study Intrusion Detection Systems (IDS) and Intrusion Prevention Systems (IPS).
Security: What Is Formjacking?
Filed under Security
Learn about formjacking attacks.
Hash Code vs. Checksum
Filed under Security
Explore hash codes and how they are related to checksums.
Security: Credential Stuffing vs. Password Spraying
Filed under Security
Learn about credential stuffing and password spraying attacks.
Caching: Cold Cache vs. Warm Cache
Filed under OS, Software Architecture
Learn about cold and warm caches.
Deterministic and Stochastic Optimization Methods
Filed under Core Concepts
Explore deterministic and stochastic optimization.
Heuristics vs. Meta-Heuristics vs. Probabilistic Algorithms
Filed under Algorithms
Learn about the differences between heuristics, metaheuristics, and probabilistic strategies.
Firewalls: Stateless vs. Stateful
Filed under Networking, Security
Learn about stateless and stateful firewalls.
Elitism in Evolutionary Algorithms
Filed under Algorithms
Explore elitism in the context of evolutionary algorithms.
Differences Between Role and Permission-based Access Control
Filed under Security
Explore permission and role-based access control mechanisms.
Algorithms and Flowcharts: Mapping Process
Filed under Algorithms
Learn how to represent relevant programming structures into a flowchart.
Private URLs vs. Password-based Authentication
Filed under Security
Learn how private URLs and password-based authentication can provide access control in networked services.
Security: What Is the CIA Triad?
Filed under Networking, Security
Learn about the security aspects of the CIA (Confidentiality, Integrity, and Availability) triad.
How to Share a Key in Symmetric Cryptography?
Filed under Security
Learn how to share symmetric keys for cryptography in a secure way.
Differences Between Key, Initialization Vector and Nonce
Filed under Security
Explore security related keys, initialization vectors, and nonces resources.
Public DMZ Network Architecture
Filed under Networking, Security
Explore the technical details and implementation architectures of demilitarized zones.
Differences Between Scalability and Elasticity
Filed under OS
Explore the scalability and elasticity of a computing system.
Cloud Computing: SaaS vs. PaaS vs. IaaS
Filed under Software Architecture
Explore the XaaS offerings of IaaS, PaaS, and SaaS.
Basic Services of an Operating System
Filed under OS
Explore the essential services of an operating system.
How Does a Zip Bomb Work?
Filed under Security
Learn about zip bombs, and how they’re created and employed in particular attacks.
Man in the Middle (MITM) Attacks Explained
Filed under Networking, Security
Learn about the man-in-the-middle attacks.
How Do DoS and DDoS Attacks Really Work?
Filed under Networking, Security
Study distributed denial of service attacks (DDoS).
Authentication: Multi-Step vs. Multi-Factor
Filed under Security, Software Architecture
Explore multi-step and multi-factor authentication schemes.
Understanding Hash Tables
Filed under Data Structures, Searching
Explore hash tables and their time complexity
Abstract Methods vs. Virtual Methods
Filed under Programming
Learn about abstract and virtual methods.
HTTP: 1.0 vs. 1.1 vs 2.0 vs. 3.0
Filed under Networking, Security
Learn about HTTP versions.
Public/Private Keys Vs. Certificates
Filed under Networking, Security
Learn about the relation between asymmetric cryptography and certificates.
Antipatterns: Magic Numbers
Filed under Algorithms, Math and Logic
Explore the antipattern called magic numbers.
Centralized Computing vs. Distributed Computing
Filed under Programming, Software Architecture
Explore the main differences and similarities between centralized and distributed systems.
Hash Collision: Weak and Strong Resistance
Filed under Security
Explore hash collision resistance.
Understanding Security by Obscurity
Filed under Security
Learn about security by obscurity in the context of computing
Supported Memory by 32 and 64-Bit Machines
Filed under OS
Learn about 32 and 64-bit architectures.
Making Presentations With LaTeX
Filed under Latex
Learn how to create presentations with LaTeX.
Graph Theory: Path vs. Cycle vs. Circuit
Filed under Graphs
Learn about sequences of graphs nodes.
Basics of Polynomial Interpolation
Filed under Math and Logic
Learn about polynomial interpolation.
How to Draw Flowcharts With LaTeX
Filed under Latex
Learn how to draw flowcharts with LaTeX/TikZ.
Simple Hashing vs. Salted Hashing
Filed under Security
Learn about simple and salted hashing.
Exporting LaTeX TikZ as Image Files
Filed under Latex
Learn how to export LaTeX/TikZ defined images to image file formats.
Non-opinionated vs. Opinionated Design
Filed under Software Architecture
Explore the concepts of non-opinionated and opinionated software design.
Rainbow Table Attacks
Filed under Security
Learn about rainbow table attacks.
Encoding vs. Signing in Asymmetric Encryption
Filed under Security
Learn about encoding and signing with asymmetric encryption.
Active vs. Passive Connection in TCP
Filed under Networking
Learn about active and passive TCP connections opening.
The Pseudo-Header in TCP
Filed under Networking
Learn about the pseudo-header in the context of modern TCP/IP.
Differences Between Core and CPU
Filed under OS
Learn about the differences between a processing core and a CPU.
Messages: Payload, Header, and Overhead
Filed under Networking
Explore the general structure of messages transmitted in computer networks.
Binary Semaphores vs. Counting Semaphores
Filed under Concurrency
Learn about binary and counting semaphores.
TCP: Differences Between FIN and RST
Filed under Networking
Learn about about FIN and RST messages of TCP.
HTTP: Differences Between PUT and PATCH
Filed under Networking, Security
Learn about the HTTP methods of PUT and PATCH.
Imperative and Declarative Programming Paradigms
Filed under Programming
Explore the imperative and declarative programming paradigms.
The Subnets in IPv4 Networks
Filed under Networking
Learn about subnets in IPv4 networks.
Multicast vs. Broadcast vs. Anycast vs. Unicast
Filed under Networking
Study different message addressing methods.
Memory Management
Filed under OS
Explore the management of Random Access Memory (RAM).
Multiprocessing and Multithreading
Filed under Concurrency
In this tutorial, we’ll see an introduction to multiprocessing and multithreading.
Introduction to Cache Memory
Filed under OS
Explore the cache memory concepts.
Two-Way Handshake and Three-Way Handshake
Filed under Networking, Security
Learn how these handshaking protocols typically work, their benefits, and their shortcomings
Socket Binding
Filed under Networking, Security
Learn how socket binding works.