The closing post of the Ktor series: reflections on moving from Android development to building a backend, and what knowledge carried over.
Write
Moving from mobile to backend development with Ktor
How to schedule jobs with Quartz on Ktor
Part of the Ktor series: setting up Quartz to schedule and persist recurring background jobs in a Ktor backend project.
Generate API documentation from Swagger on Ktor
Part of the Ktor series: auto-generating API documentation from OpenAPI/Swagger definitions with the Gradle Swagger Generator Plugin.
How to handle database migrations with Liquibase on Ktor
Part of the Ktor series: setting up Liquibase to manage and migrate a MySQL database schema safely in a Ktor backend.
How to fix the "Unable to locate a Java Runtime" error on Xcode with Kotlin Multiplatform
How to fix the 'Unable to locate a Java Runtime' error on Xcode with a Kotlin Multiplatform project, caused by how sdkman installs the JDK.
How to use an in-memory database for testing on Ktor
Part of the Ktor backend series: using an in-memory database to write fast and isolated tests for a Ktor application.
Building an XCFramework on Kotlin Multiplatform from Kotlin 1.5.30
With Kotlin 1.5.30 XCFrameworks are officially supported: how to replace the custom Gradle tasks with the official ones on Kotlin Multiplatform.
How to build an XCFramework on Kotlin Multiplatform
How to create two Gradle tasks that automate building an XCFramework for the Apple targets of a Kotlin Multiplatform project.
Connect to Open VPN during Gitlab Pipeline
How to connect to an OpenVPN network during a GitLab CI/CD pipeline so jobs can reach resources hidden behind the VPN.
How to persist Ktor logs
Part of the Ktor backend series: how to persist Ktor logs on disk so they are not lost between runs.
Structuring a Ktor project
Part one of the series on building a backend with Ktor: structuring a Ktor project in a clean and scalable way.
My audio & video setup after 4 years of remote working
A remote-working home office setup refined over years, covering the audio, video, and desk gear worth using at every price range.