Property-based testing is a technique for ensuring application correctness by generating tests based on a set of properties. In this presentation, we'll delve into the world of property-based testing in TypeScript. We'll explore how it enhances code quality and reliability, discuss the principles behind property-based testing, and showcase real-world examples of how it can uncover bugs and edge cases that traditional testing may miss.
Mulit-tenancy is tough. Sharing resources fairly and effectively as well as ensuring secure code execution are just some of the challenges faced when dealing with the problem. But what if we approach it with single-tenant, isolated VMs mutating single-tenant database instances? Like, if a tenant's request hits the system it gets routed to an exclusive tenant VM that uses an exclusive tenant's database. The talk explores an unconventional architecture of homogenous Node.js servers running on top of single-tenant Fly Machines hosting single-tenant SQLite databases stored in globally replicated Tigris buckets.
During the presentation we will look at the type system in TypeScript approaching it as an independent programming language. I will show how we can use types to express mechanisms known from other languages, such as loops, functions, conditional expressions, etc. Are you curious about how crazy things the type system in TypeScript allows you to do and how you can use its full potential for your everyday work? After my presentation, the possibilities of the type system will become clear to you, and you will learn how you can further expand your knowledge towards programming on types.
Let's create technology that leads us to love instead of destruction.
In my talk, I delve into the misconception that shorter code is always superior, highlighting the potential drawbacks of favoring brevity over clarity and efficiency. By exploring real-world examples, I will illustrate how seemingly elegant one-liners can inadvertently lead to slower, more convoluted codebases. On the presentation, I want to present solutions for achieving optimal balance, demonstrating how deliberate code structure and expansion can lead to improved speed and maintainability without sacrificing succinctness.