TQ
dev.com

Blog about software development

Subscribe

How mature is your REST API?

13 Nov 2019 - by 'Maurits van der Schee'

In my career I have seen many REST APIs. They all implement Create Read Update and Delete (CRUD) on single entities with verbs as described by the REST standard. All of them do the same 4 (additional) things: column filtering, row filtering, authorization and...

Continue reading...

TreeQL and PathQL compared

02 Nov 2019 - by 'Maurits van der Schee'

TreeQL (see: TreeQL.org) and PathQL (see: PathQL.org) are two API query languages that I have designed and implemented. These implementations can save you time implementing your queries and CRUD operations on database models as REST API's...

Continue reading...

Sorting JSON for unit testing

26 Oct 2019 - by 'Maurits van der Schee'

When you are creating unit tests for things that produce JSON, you will quickly find that you need to compare two JSON strings for equality. The order of key/value pairs within a JSON object is not defined, while the order within JSON arrays is. The spec (RFC 7159) says...

Continue reading...

Automatic REST API for SlimPHP 4 (minimal)

26 Sep 2019 - by 'Maurits van der Schee'

Last month we showed how to use PHP-CRUD-API (2k stars) as a library executed on an endpoint in the SlimPHP 4 framework (10k stars). In the previous post we used the recommended way to set up a SlimPHP 4 project and in this post we take a minimal approach...

Continue reading...

GopherCon 2019: videos online

28 Aug 2019 - by 'Maurits van der Schee'

GopherCon is the original Go conference. It debuted in 2014 and was celebrating it's five-year anniversary last year. Like every year it was held in the Colorado Convention Center in Denver and it had...

Continue reading...

Automatic REST API for SlimPHP 4

16 Aug 2019 - by 'Maurits van der Schee'

Today, about 4 years after the initial commit, the promise of "upload a single PHP file to add a REST API to your database" is still very much alive. It is now possible to use PHP-CRUD-API (2k stars) as a library executed on an endpoint in the SlimPHP 4 framework...

Continue reading...

Script to undelete all files in Git

13 Aug 2019 - by 'Maurits van der Schee'

I have written a Bash script to quickly undelete all files that are deleted in a Git repository (on any previous commit). The script only recovers the last known state of files of which the filename is not currently in use. It is optimized so that it executes quickly...

Continue reading...

API authorization strategy: use the DB

29 Jul 2019 - by 'Maurits van der Schee'

When building an API you may find the need to implement authorization in a generic way. Using the authorization implementation of your (relational) database is a well-documented, simple and proven strategy. The user that is used for the database connection...

Continue reading...

Database multi-tenancy strategies

28 Jul 2019 - by 'Maurits van der Schee'

When you are building a SaaS software product you need to chose a way to store the data of your customers. You can store everything in one database or you can create multiple databases. There are roughly four main approaches...

Continue reading...

Handling GeoJSON tiles in Leaflet

20 Jul 2019 - by 'Maurits van der Schee'

Leaflet is world's most popular open-source JavaScript "Tiled web map" library offering Google maps like functionality on your own (or public) data. In the past weeks I have implemented a GeoJSON vector tile plugin for Leaflet...

Continue reading...