Kotlin Multiplatform (KMP): One Codebase, Many Platforms
Kotlin Multiplatform (KMP) enables sharing business logic, networking, and data layers across Android, iOS, web, and desktop — while keeping native UIs.
Category
Engineering has always been of enormous importance to Sixt, and we strive to excel in it every day. Articles in this category describe advanced engineering principles, fascinating research and learnings made at Sixt, and general best practices for software development. This includes the software development lifecycle, architecture, coding, and more.
Kotlin Multiplatform (KMP) enables sharing business logic, networking, and data layers across Android, iOS, web, and desktop — while keeping native UIs.
ReactiveSpring: Building Scalable and Responsive Applications with Spring Reactive Programming
A Basic Introduction to dask and how we can optimize workflows with it
Deep-Dive into CQRS systems
A deep dive into the universe of alerting and monitoring and its importance in unlocking codebase excellence
Jetpack Compose is a modern Android UI toolkit introduced by Google to revolutionize the way developers design and build user interfaces for Android applications.
In today's digital age, for various purposes like travel, banking, shopping, socializing, entertainment, learning and many more, we rely on mobile apps. However, with the increased dependency on mobile apps, there is an equally growing concern about the security of these applications. A single breach to the application can lead to compromise of user data, financial loss, and this can damage the brand's reputation. To mitigate these risks, it is essential to plan and execute thorough security testing for mobile applications. Based on my experience, outlined below are the best practices to be followed while planning and strategizing security testing of mobile applications.
Comparing performance of java virtual threads with platform threads under high load environment.
Dive into the world of BDD and TDD, exploring their fundamental principles, benefits, and practical implementation techniques
What is Bug Bash?: A bug bash is a collaborative effort aimed at uncovering a large number of bugs within a short time interval. During a bug bash, various participants beyond testers, such as developers, product managers, engineering managers, designers, marketers, solution engineers, writers, customer support representatives, and even executives like the CTO and CEO, can also join in.
Introduction: Automation testing plays a crucial role in ensuring the delivery of a high-quality product. While the significance of automation tests is widely acknowledged, it is important to determine how to quantify their impact, assess their value in terms of effort and resources, and measure the success of test automation. Outlined below are metrics that can be employed to evaluate the effect of automation on the overall application quality, along with some best practices to generate data for these metrics.
Introduction: In most web applications, we would have come across a requirement to filter, sort, and paginate the data by joining multiple tables. If you are using Spring JPA then there are multiple ways to retrieve and paginate the data on joined table. 1. Writing native queries. 2. Using JPQL query. 3. Using inbuilt repository methods. These options are good for the use case where we will have to construct the query based on a fixed set of conditions/where clauses. We can't add where clause at runtime using these options. Spring JPA also provides the capability to generate dynamic SQL queries with help of Criteria API and Specification. In this article, we will see how we can leverage JPA Criteria query support to build generic specifications which can retrieve rows from joins on multiple tables with sorting and pagination.
This article describes how to write a performance test using Gatling which is an open source tool with support for http protocol making it suitable to test any http server.
Clustering is a popular technique in machine learning used for grouping data points based on their similarities. It is a type of unsupervised learning method where there is no predefined output variable or label. Instead, the algorithm attempts to discover patterns and structure within the data by grouping similar data points.
A Basic Introduction to Object Relational Mapping in Java with Springboot
React Query is a lightweight library for fetching, caching, and updating asynchronous data in React applications. It is designed to work with a variety of data sources, including REST APIs and GraphQL endpoints. It is used for managing, caching, and synchronizing asynchronous data in React applications. It makes it easy to work with asynchronous data and API requests in React.
In this article, we discuss the Swagger: why it’s needed (the benefits), what it is, and how it works.
System design is the process of defining the architecture, interfaces, and data for a system that satisfies specific requirements
How to mock using Mockery in Golang
Drag and Drop (DnD) is a user interface concept using which one can select an object/element in the viewport and can move it (ie drag) to a desired location on the view port (ie drop). Drag and Drop (DnD) makes it easy to copy, move, reorder and delete items with the help of mouse clicks. It is much more intuitive from the point of user experience than other user actions which may require clicking, typing etc. Often, the UI gets simpler and cleaner on account of using drag & drop. Some of the different use-cases include uploading files, rearranging data in a table/section like in a Trello board, matching values in one section to an other value in another section.
How to get started with Provider for state management in Flutter
Best practices to follow while logging in distributed systems
A blog on different locking concepts in postgres and some applications
New hooks introduced as part of React 18 which are based on the most important concept which is Concurrency. These hooks help in improving the user experience and performance.
A hibernate project that helps you audit persistent entities in an application
CSS combinator is a type of CSS selector, which combines two CSS selectors by including a relationship/combinator between them, to uniquely select element(s) in an HTML document.
Web Workers! In JavaScript, you can utilize parallel programming to perform multiple operations simultaneously using web workers.
How to go about creating an Elasticsearch rollover index
Getting started with test-containers to write better integration tests
We can achieve test automation within the sprint, if we plan in the right direction.
Automate dependency updates using a brilliant tool Dependabot and how to handle its limitations.
Golang is a highly concurrent language and the atomic package is one of its most valuable and unknown synchronization mechanisms.