---
title: Learn Computing from the Experts | The Rheinwerk Computing Blog | Rheinwerk Computing (27)
description: Rheinwerk Computing is an imprint of Rheinwerk Publishing and publishes books by leading experts in the fields of programming, administration, security, analytics, and more. (27)
---

[![Rheinwerk Computing Logo](https://blog.rheinwerk-computing.com/hubfs/computing_logo-header.svg)](https://blog.rheinwerk-computing.com/) [Blog](https://blog.rheinwerk-computing.com)

- Books 
    - Get an overview of our wide selection of books on every relevant computing topic. 
          - [General Computing](https://www.sap-press.com/rheinwerk-computing/general-computing/)
          - [DevOps](https://www.sap-press.com/rheinwerk-computing/devops/)
          - [Programming Languages](https://www.sap-press.com/rheinwerk-computing/programming-languages/)
          - [Security](https://www.sap-press.com/rheinwerk-computing/security/)
          - [Software Development](https://www.sap-press.com/rheinwerk-computing/software-development/)
- Book Subscription 
    - Get unlimited access to all Rheinwerk Computing books! 
          - [Programming Subscription](https://sap-press.com/subscriptions/)

![](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Write%20Your%20Own%20Python%20Functions.jpg?width=1000&name=How%20to%20Write%20Your%20Own%20Python%20Functions.jpg)

[Featured](https://blog.rheinwerk-computing.com/tag/featured) | Featured article

## [How to Write Your Own Python Functions](https://blog.rheinwerk-computing.com/how-to-write-your-own-python-functions)

Functions in Python provide functionality that you or someone else has already pro­grammed. In this post, we’ll teach you how to write your own Python functions.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-write-your-own-python-functions)

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png)

**Rheinwerk Computing**

Rheinwerk Computing is an imprint of Rheinwerk Publishing and publishes books by leading experts in the fields of programming, administration, security, analytics, and more.

# Blogs by Rheinwerk Computing

[![Java Programming with Docker](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Java%20Programming%20with%20Docker.png?height=600&name=Java%20Programming%20with%20Docker.png)](https://blog.rheinwerk-computing.com/java-programming-with-docker)

[Java](https://blog.rheinwerk-computing.com/tag/java)

## [Java Programming with Docker](https://blog.rheinwerk-computing.com/java-programming-with-docker)

For many years, Java has been the number one in the *TIOBE index* of the most commonly used programming languages.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/java-programming-with-docker)

[![Tools for Full Stack Developers](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Tools%20for%20Full%20Stack%20Developers.png?height=600&name=Tools%20for%20Full%20Stack%20Developers.png)](https://blog.rheinwerk-computing.com/tools-for-full-stack-developers)

[Web Development](https://blog.rheinwerk-computing.com/tag/web-development)

## [Tools for Full Stack Developers](https://blog.rheinwerk-computing.com/tools-for-full-stack-developers)

For web application development, you need the right tools to make your work easier. Without the right tools, development would be a lot more time...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/tools-for-full-stack-developers)

[![How to Create Link-Sensitive Graphics Like Image Maps with HTML](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Create%20Link-Sensitive%20Graphics%20Like%20Image%20Maps%20with%20HTML.png?height=600&name=How%20to%20Create%20Link-Sensitive%20Graphics%20Like%20Image%20Maps%20with%20HTML.png)](https://blog.rheinwerk-computing.com/how-to-create-link-sensitive-graphics-like-image-maps-with-html)

[HTML & CSS](https://blog.rheinwerk-computing.com/tag/html-css)

## [How to Create Link-Sensitive Graphics Like Image Maps with HTML](https://blog.rheinwerk-computing.com/how-to-create-link-sensitive-graphics-like-image-maps-with-html)

Link-sensitive graphics (also called *image maps*) are just links embedded within a graphic. Such an image map defined in HTML consists of three parts.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-create-link-sensitive-graphics-like-image-maps-with-html)

[![Securing Linux Using 2FA with Google Authenticator](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Securing%20Linux%20Using%202FA%20with%20Google%20Authenticator.png?height=600&name=Securing%20Linux%20Using%202FA%20with%20Google%20Authenticator.png)](https://blog.rheinwerk-computing.com/securing-linux-using-2fa-with-google-authenticator)

[Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)

## [Securing Linux Using 2FA with Google Authenticator](https://blog.rheinwerk-computing.com/securing-linux-using-2fa-with-google-authenticator)

In this blog post, we’ll show you how you can implement two-factor authentication for SSH on a Linux system.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/securing-linux-using-2fa-with-google-authenticator)

[![How to Install Node.js on Windows, Mac, and Linux Systems](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Install%20Node.js%20on%20Windows%2c%20Mac%2c%20and%20Linux%20Systems.png?height=600&name=How%20to%20Install%20Node.js%20on%20Windows,%20Mac,%20and%20Linux%20Systems.png)](https://blog.rheinwerk-computing.com/how-to-install-node.js-on-windows-mac-and-linux-systems)

[JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)

## [How to Install Node.js on Windows, Mac, and Linux Systems](https://blog.rheinwerk-computing.com/how-to-install-node.js-on-windows-mac-and-linux-systems)

The easiest way to install Node.js on your system is to use existing packages for your system.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-install-node.js-on-windows-mac-and-linux-systems)

[![How to Get Started with HTML for Web Design](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Get%20Started%20with%20HTML%20for%20Web%20Design.png?height=600&name=How%20to%20Get%20Started%20with%20HTML%20for%20Web%20Design.png)](https://blog.rheinwerk-computing.com/how-to-get-started-with-html-for-web-design)

[Video](https://blog.rheinwerk-computing.com/tag/video)

## [How to Get Started with HTML for Web Design](https://blog.rheinwerk-computing.com/how-to-get-started-with-html-for-web-design)

Beginners often wonder what is needed to create web pages and learn HTML. This post will answer that question.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-get-started-with-html-for-web-design)

[![Merge and Pull Requests in Git](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Merge%20and%20Pull%20Requests%20in%20Git.png?height=600&name=Merge%20and%20Pull%20Requests%20in%20Git.png)](https://blog.rheinwerk-computing.com/merge-and-pull-requests-in-git)

[DevOps](https://blog.rheinwerk-computing.com/tag/devops)

## [Merge and Pull Requests in Git](https://blog.rheinwerk-computing.com/merge-and-pull-requests-in-git)

Based on the feature branch model, the major Git platforms have extended the workflow to include merge/pull requests as integral parts.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/merge-and-pull-requests-in-git)

[![How to Install Docker on Windows, Mac, and Linux Systems](https://blog.rheinwerk-computing.com/hs-fs/hubfs/How%20to%20Install%20Docker%20on%20Windows%2c%20Mac%2c%20and%20Linux%20Systems.png?height=600&name=How%20to%20Install%20Docker%20on%20Windows,%20Mac,%20and%20Linux%20Systems.png)](https://blog.rheinwerk-computing.com/how-to-install-docker-on-windows-mac-and-linux-systems)

[DevOps](https://blog.rheinwerk-computing.com/tag/devops)

## [How to Install Docker on Windows, Mac, and Linux Systems](https://blog.rheinwerk-computing.com/how-to-install-docker-on-windows-mac-and-linux-systems)

In this blog post, we’ll teach you how to install Docker on a Windows, Mac, or Linux system.

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/how-to-install-docker-on-windows-mac-and-linux-systems)

[![The Principle of Ajax in JavaScript](https://blog.rheinwerk-computing.com/hs-fs/hubfs/The%20Principle%20of%20Ajax%20in%20JavaScript.png?height=600&name=The%20Principle%20of%20Ajax%20in%20JavaScript.png)](https://blog.rheinwerk-computing.com/the-principle-of-ajax-in-javascript)

[JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)

## [The Principle of Ajax in JavaScript](https://blog.rheinwerk-computing.com/the-principle-of-ajax-in-javascript)

The name Ajax was first coined in 2005 by Jesse James Garrett in his essay "A New Approach to Web Applications." The idea is to use JavaScript for...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/the-principle-of-ajax-in-javascript)

[![Twelve-Factor App Principles for Developers](https://blog.rheinwerk-computing.com/hs-fs/hubfs/Twelve-Factor%20App%20Principles%20for%20Developers.png?height=600&name=Twelve-Factor%20App%20Principles%20for%20Developers.png)](https://blog.rheinwerk-computing.com/twelve-factor-app-principles-for-developers)

[HTML & CSS](https://blog.rheinwerk-computing.com/tag/html-css)

## [Twelve-Factor App Principles for Developers](https://blog.rheinwerk-computing.com/twelve-factor-app-principles-for-developers)

As web applications became popular in the past two decades, many best practices and principles have emerged to develop and maintain web applications,...

![Rheinwerk Computing](https://blog.rheinwerk-computing.com/hubfs/RW-logo-300x300.png) by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing) 

[Read More](https://blog.rheinwerk-computing.com/twelve-factor-app-principles-for-developers)

- <https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/26>
- [1](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/1)
- [...](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/22)
- [25](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/25)
- [26](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/26)
- [27](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/27)
- [28](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/28)
- [29](https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/29)
- <https://blog.rheinwerk-computing.com/author/rheinwerk-computing/page/28>

### Blog Topics

- [All Topics](https://blog.rheinwerk-computing.com)
- [Programming Languages](https://blog.rheinwerk-computing.com/tag/programming-languages)
- [How To](https://blog.rheinwerk-computing.com/tag/how-to)
- [DevOps](https://blog.rheinwerk-computing.com/tag/devops)
- [Featured](https://blog.rheinwerk-computing.com/tag/featured)
- [JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)
- [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)
- [What Is?](https://blog.rheinwerk-computing.com/tag/what-is)
- [Artificial Intelligence](https://blog.rheinwerk-computing.com/tag/artificial-intelligence)
- [Web Development](https://blog.rheinwerk-computing.com/tag/web-development)
- [Software Development](https://blog.rheinwerk-computing.com/tag/software-development)

**Subscribe to our blog!**Get notified about future blog updates.

- <https://www.linkedin.com/showcase/rheinwerk-computing/>
- <https://www.youtube.com/channel/UChj-U-uWGM7qRlHXSFU93ew>
- <https://blog.rheinwerk-computing.com/rss.xml>

### Most Popular Blog Posts

1. [What Is?](https://blog.rheinwerk-computing.com/tag/what-is) [What Is the Basic Structure of a Python Program?](https://blog.rheinwerk-computing.com/what-is-the-basic-structure-of-a-python-program)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
2. [HTML & CSS](https://blog.rheinwerk-computing.com/tag/html-css) [Twelve-Factor App Principles for Developers](https://blog.rheinwerk-computing.com/twelve-factor-app-principles-for-developers)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
3. [Java](https://blog.rheinwerk-computing.com/tag/java) [Elements of the Java Programming Language](https://blog.rheinwerk-computing.com/elements-of-the-java-programming-language)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
4. [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity) [11 Linux Shell Commands for Hacking and Security](https://blog.rheinwerk-computing.com/11-linux-shell-commands-for-hacking-and-security)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)
5. [User Experience](https://blog.rheinwerk-computing.com/tag/user-experience) [How to "Do" UX Design: A Guide to the ISO 9241-210 Standard](https://blog.rheinwerk-computing.com/how-to-do-ux-design-a-guide-to-the-iso-9241-210-standard)
   
   by [Rheinwerk Computing](https://blog.rheinwerk-computing.com/author/rheinwerk-computing)

**Subscribe to our blog!**Get notified about future blog updates.

- <https://www.linkedin.com/showcase/rheinwerk-computing/>
- <https://www.youtube.com/channel/UChj-U-uWGM7qRlHXSFU93ew>
- <https://blog.rheinwerk-computing.com/rss.xml>

### The official Rheinwerk Computing Blog

Rheinwerk Computing is an imprint of Rheinwerk Publishing and publishes resources that will help you accelerate your computing journey. The Rheinwerk Computing Blog is designed to provide helpful, actionable information on a variety of topics, including programming, administration, security, and analytics!

### Blog Topics

- [All Topics](https://blog.rheinwerk-computing.com)
- [Programming Languages](https://blog.rheinwerk-computing.com/tag/programming-languages)
- [How To](https://blog.rheinwerk-computing.com/tag/how-to)
- [DevOps](https://blog.rheinwerk-computing.com/tag/devops)
- [Featured](https://blog.rheinwerk-computing.com/tag/featured)
- [JavaScript](https://blog.rheinwerk-computing.com/tag/javascript)
- [Cybersecurity](https://blog.rheinwerk-computing.com/tag/cybersecurity)
- [What Is?](https://blog.rheinwerk-computing.com/tag/what-is)
- [Artificial Intelligence](https://blog.rheinwerk-computing.com/tag/artificial-intelligence)
- [Web Development](https://blog.rheinwerk-computing.com/tag/web-development)
- [Software Development](https://blog.rheinwerk-computing.com/tag/software-development)

### Blog curated by

[![Rheinwerk Computing Logo](https://blog.rheinwerk-computing.com/hubfs/computing_logo-header.svg)](https://www.sap-press.com/rheinwerk-computing/) [Visit Rheinwerk Computing Store](https://www.sap-press.com/rheinwerk-computing/)

### About

- [Home](https://sap-press.com/)
- [About Us](https://sap-press.com/the-publisher/)
- [Contact](mailto:info@rheinwerk-publishing.com)
- [Legal Notes](https://sap-press.com/legal-notes/)
- [Privacy Policy](https://sap-press.com/privacy/)
- [Terms of Use](https://sap-press.com/terms/)

© 2026 Rheinwerk Publishing, Inc. | Change Privacy Options