Creating Java JPA entities with a JSON field
1. Introduction
In this tutorial we will explore how you can persist a JSON field in your JPA entity.
We use a number of technologies:
- Spring Data JPA
- Spring Data REST
- Hibernate ORM
- Jackson
- PostgreSQL
2. Our Goal
Our goal is to be able to...Continue Reading
Creating Java JPA entities with an XML field
1. Introduction
In this article we explore how you can store an XML field in your JPA entities. We use a number of technologies:- Spring Data
- Hibernate ORM
- JAXB
- PostgreSQL
2. Our Goal
Our goal is to be able to perform create, read, update and delete (CRUD) operations on a JPA entity that contains a field which uses PostgreSQL's native XML column type. To illustrate how...Continue ReadingUsing Emacs to edit files within Docker containers
Introduction
This article explores how you can use an Emacs package docker-tramp, which extends the built-in TRAMP mode, to remote into your Docker containers and make changes to files from within Emacs. In a previous article, how to edit files within docker containers, we discussed how you could make changes to files within a running container by opening a shell and using the command line program sed. If you are an Emacs user you will find the method in this article much more convenient than opening a shell within a running...Continue ReadingHow to edit files within docker containers
Disclaimer
You have probably heard countless times that you should never edit a docker container's state, or editing container state is an anti-pattern, or if you need to edit a container's state you should use volumes. That advice is good advice and so this article starts with a disclaimer. If you really need to edit file(s) within a docker container you most likely should do it in one of two ways:- Use a docker volume; or
- Make any edits to the file(s) part of the image's DOCKERFILE
How to start a shell in a running Docker container
Introduction
There are a number of reasons for wanting to open a shell within a running container, including:- To see the contents of any number of configuration files.
- To make a quick change to a file which is not part of any of the container's mounted volumes.
- It should be noted that this is most likely an anti-pattern. However, it could also be argued that it is harmless if the change is minor and is made only in development environments for debugging and tweaking.
- If the change you are making is intended to be permanent you should consider capturing it...Continue Reading
The creation of LigerLearn
Today marks LigerLearn's day of creation. As of now the front page is simply a black screen with the text, "Coming Soon" as shown in Figure 1. Our current aim for LigerLearn is to produce the initial infrastructure required for any new website. A number of website features will be built and implemented over the next few weeks including:
- Using https and HTTP 2.0 (where available) by default
- A sleek and intuitive user interface for navigation
- The usual pages - about us, contact us, etc.
- Ideas for future content and immediate priorities