Matheus Marabesi website, sharing ideas about software development - Listing posts on page 5

Thoughts on REST API's

The architecture pattern REST was introduced by Roy Thomas Fielding in 2000 [1], since then, developers address the REST pattern as something related to the type of requests, such as GET, POST, PUT and PATCH, eventhough the dissertation presented goes deeper in the architectural style, rather than implementation details. This...

Tips for writting docker files

Docker has revolutionized how developers build and deploy applications, being one of the most popular container engine [1]. Docker has support for different programming languages and runs natively on linux, as opposed to virtual machines that mimics an entire operational system, docker containers run on linux namespaces, removing the overhead...

PHP import checker - VScode extension to support PHP developers

Vscode is one of the most used editors for web development [1], which supports various programming languages, including PHP. As its goal is not to be a full featured PHP IDE, it lacks a few characteristics that help PHP developers to be more productive. In that list, we can name...

Configuring reactjs and relay 2019 version

Recently GraphQL started to gain attention from the open source community as a production ready platform focused on the communication between client and server. One of the advantages of GraphQL over REST is how the data is fetched from server to client, avoiding over fetching as well as under fetching....

MySQL 5.7 on Ubuntu 19.04 and 19.10

Ubuntu 19.04/19.10 as default comes with MySQL 8.0 as it’s default version to work with. Projects that need to use a 5.* version might run into problems in the downgrade process. This post aims to guide the installation of MySQL 5.7 on ubuntu 19.04 and ubuntu 19.10. After trying to...

e2e testing with Cypress, ReactJs and Firebase

Cypress is a e2e testing tool that interacts with chrome based browsers (and electron) to execute its test suite [1]. E2e testing is known by its complexity, and often it is related to the top in the test pyramid [2]. The complexity comes from the amount of work and setup...

Introduction to OOP with PHP (Classes, Encapsulation, Inheritance)

The following content aims to introduce the concepts of OOP, complementing these concepts the PHP language is used to demonstrate practical examples, but can be written in any programming language. Introduction Object-oriented programming is a paradigm used in programming to approximate reality. In comparison to structured programming where each line...

Strategies to test legacy code - PART 1

Often developers have to deal with code base without test, which might lead to disconfort in maintaining the code base. In one hand there is the business that needs a new feature or a bug fix ready for the users to use, and in the other hand there is the...

Errors compiling PHP from source on a Raspberry Pi

The PHP version used is 7.2 directly from the git reository from github. Newer version might not work as expected. The version used to compile is the Raspbian (Raspbian Stretch with desktop and recommended software): Version: November 2018 Release date: 2018-11-13 Kernel version: 4.14 Getting the source code git clone...