RSSAmplifier

Blog

Lost in IRC

dygalo.devRSS feed ↗8 posts

Latest posts

Generating Open API specs with Hypothesis

Recently, while looking for ways to improve Schemathesis' test suite I found an old issue titled "Test with generated schemas". The idea is to generate random Open API specs and verify that Schemathesis does not fail with internal errors, to ensure it will work with a wider range of real-life API schemas. Initially, I considered using hypothesis-jsonschema with Open API's official meta…

Blazingly Fast Linked Lists

© Tomas Castelazo, www.tomascastelazo.com / Wikimedia Commons / CC BY-SA 4.0 Linked lists are taught as fundamental data structures in programming courses, but they are more commonly encountered in tech interviews than in real-world projects. In this post, I'll demonstrate a practical use case where a linked list significantly outperforms Vec . We will build a simple data validation…

Schemathesis progress report

Photo by tommy boudreau on Unsplash Its been slightly more than a year since I started working on Schemathesis , and in this article, I want to give a summary of what we accomplished during this year and what you can expect from this project in the future. Target audience : People curious about effective ways to test web APIs and willing to spend less time writing tests.

Rust for a Pythonista #3: Python bindings

Sometimes we need to extend existing Python projects with other languages to solve performance issues or to include some functionality already written in another language. In this chapter, we will create a full-featured Python integration for a Rust crate we built in the previous article. As the primary goal, I want to focus on a pleasant end-user experience and share tips on improving the…

Rust for a Pythonista #2: Building a Rust crate for CSS inlining

It is the second part of a series about Rust for Python users. In this article, we will build a foundation for a Rust-powered Python library - a crate that implements CSS inlining. It is a process of moving CSS rules from style tags to the corresponding spots in the HTML body. This approach to including styles is crucial for sending HTML emails or embedding HTML pages into 3rd party resources. Our…

Rust for a Pythonista #1: Why and when?

Rust is getting more popular among software developers, and the Python community is no exception. I started learning Rust a few years ago, but after some point, I began to lose motivation because most of my exercises were toy examples and far away from the real applications. So I questioned myself: Can I use Rust in my day-to-day job as a Python developer? Can I build something that will benefit…

Schemathesis: property-based testing for API schemas

Photo by Chris Keats on Unsplash Many companies have moved from monoliths to microservices for better scalability and faster development cycles and so have we at Kiwi.com. We still have monolithic applications, however they are melting away over time and a swarm of shiny microservices is gradually replacing them. These new microservices use Open API schemas to declare their contracts and be…

Insert everything at once: A short story about CTE

Common Table Expressions is a powerful feature that came with SQL:1999. It allows users to specify auxiliary statements to be used in a larger query. I'll share a few thoughts about its data-modifying version since it allows you to do many things within a single query.