A few days ago (November 13, 2019) GitHub announced the general availability of GitHub Actions. CI/CD solution from GitHub. I tested it with two of my projects and I have to say I’m impressed. But first thing first.

I will describe below how I configured two of my projects (Angular 8 and .NET Core 3) with GitHub Actions.

Continuous Integration

After each commit we would like to have a feedback about build result, linter and unit/e2e tests etc. For that reason we have to create yml files in folder: .github/workflows (for example: .github/workflows/build.yml) with steps definition.

Angular 8

For angular application our…


In my previous articles (part 1, part 2) I described how Apple built dynamic wallpapers in macOS 10.14. In the latest macOS beta (beta 5) Apple introduced some small improvements in that area. First of all you can notice changes in desktop settings screen.


In my previous article I described how dynamic wallpapers works. I didn’t know then what some of the properties in metadata means. I asked if somebody else knows what that properties means, and I’ve got a response really quickly. On Twitter @zwaldowski wrote to me explanation what all properties stands for.


How Apple built dynamic wallpapers? And is it possible to create your own dynamic wallpaper for macOS? I spent some time because I would like to answer to the both above questions.

In Mojave we can choose new type of wallpaper: dynamic.


Which Swift framework for handling JSON encoding/decoding is the fastest? Is there any faster then built in algorithms which operates on Codable protocol? And how we compare them to the .NET Core implementations?

As you may know I’m trying to figure out how can I build, in most efficient way, server side application in Swift. I chose Perfect framework for my application and I have already built some example project. I wanted to know how I can compare performance between that solution and very similar written in .NET Core. I expected that application created in programming language which is compiling…


Click here to share this article on LinkedIn »

Before you choose language/platform for your server side application you should know if it fulfills your requirements. For that kind of application performance it’s especially important. I spent a few last weeks for building server side Swift application (example project which I described in my previous articles). But is it fast enough? And how fast is Perfect/Swift compared to more mature platforms like .NET? Can we choose Swift as a solution for server application which requires extraordinary performance?

There are benchmarks which compares server side Swift frameworks and Node.js. …


REST API is very popular and common way to expose APIs to software applications. However, besides undeniable advantages it also has disadvantages. One of them is lack of common interface for retrieving information about API endpoints (list of endpoints, request/response object’s metadata, possible status codes, authorization etc.).

Of course nature abhors a vacuum and developers create frameworks and specifications which are very helpful here. Most common solution was created by OpenAPI Initiative. Here you can find detailed description of OpenAPI specification. We also have great tools which can present API in readable for humans format:


Click here to share this article on LinkedIn »

What is continuous integration? On Wikipedia we can read:

In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.[1] Grady Booch first named and proposed CI in his 1991 method,[2] although he did not advocate integrating several times a day. Extreme programming (XP) adopted the concept of CI and did advocate integrating more than once per day — perhaps as many as tens of times per day.[3]

Thus basically CI from our source code can build target application…


My previous articles described how I realized MVC pattern in server side Swift HTTP application. Previous articles from that serie:

  1. Server side Swift — MVC
  2. Server side Swift — MVC (unit tests)
  3. Server side Swift — Configuration files
  4. Server side Swift — Object-relational mapping (ORM)
  5. Server side Swift — Services, Repositories & Data validation
  6. Server side Swift — Authentication & authorization

Now we will add resource based authorization (authorization to specific resource/object) to our API.

Authorization described in current article is very similar to resource based authorization implemented by Microsoft in ASP.NET Core. Here you can read more about it:

Marcin Czachurski

#iOS/#dotNET developer, #Apple  fanboy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store