# Backend Development on nexocode

Recent content in Backend Development on nexocode

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Useful Tips For Getting Started With MongoDB in .NET Core

DevFeed: [Useful Tips For Getting Started With MongoDB in .NET Core](<https://devfeed.tech/articles/useful-tips-for-getting-started-with-mongodb-in-net-core-17702.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/getting-started-with-mongodb-in.net-core-applications/>)

Author: witali-stinski

Published: 2022-03-03T23:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [net core](<https://devfeed.tech/topics/net-core.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [database](<https://devfeed.tech/tags/database.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [net-core](<https://devfeed.tech/tags/net-core.md>), [nosql](<https://devfeed.tech/tags/nosql.md>)

### AI overview

A practical introduction to using MongoDB with .NET Core applications. The article recommends the official MongoDB .NET Driver instead of an ORM abstraction, explains MongoClient usage, and discusses connection strings and secure credential storage.

### Source excerpt

MongoDB database is one of the most popular NoSql solutions on the market today. Of course, it provides support for .NET Core, as well as for other popular programming languages and frameworks. In this article, I want to share my experience when I started to use Mongo as the main database with the .NET Core application. Before, I mainly used relational databases for a long time, and some NoSQL terms were confusing for me. Just like for many developers with a background in relational databases. You need to switch mindset - from relations and schema to no relations and schemaless.

## Fast Reactor Tests With Virtual Time

DevFeed: [Fast Reactor Tests With Virtual Time](<https://devfeed.tech/articles/fast-reactor-tests-with-virtual-time-17700.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/fast-reactor-tests-with-virtual-time/>)

Author: piotr-kubowicz

Published: 2021-12-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [reactive](<https://devfeed.tech/topics/reactive.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Code](<https://devfeed.tech/topics/code.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [network](<https://devfeed.tech/tags/network.md>), [programming](<https://devfeed.tech/tags/programming.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [reactive-programming](<https://devfeed.tech/tags/reactive-programming.md>), [reactive-streams](<https://devfeed.tech/tags/reactive-streams.md>), [testing](<https://devfeed.tech/tags/testing.md>), [timeout](<https://devfeed.tech/tags/timeout.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

This tutorial explains how to use Project Reactor's Virtual Time and StepVerifier to test delayed and asynchronous reactive code without waiting for real time to pass. It also discusses controlling external storage behavior and the limitations of polling-based test approaches.

### Source excerpt

Sometimes your code deals with a situation when things happen slowly. Maybe you schedule a background task that runs after some time. Or run a special action when asking for data that takes far too long. Either way, it is a tricky case that needs to be tested well. But what to do if we don't want a test that waits a lot? Project Reactor, a reactive programming library for JVM, handles concurrency in a high-level and declarative fashion. Its test utility, StepVerifier, allows using Virtual Time: 'mock' the clock and advance time in your tests faster than the system clock runs.

## Fast and Stable MongoDB-Based Tests in Spring

DevFeed: [Fast and Stable MongoDB-Based Tests in Spring](<https://devfeed.tech/articles/fast-and-stable-mongodb-based-tests-in-spring-17701.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/fast-stable-mongodb-tests-spring/>)

Author: piotr-kubowicz

Published: 2020-12-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Testcontainers](<https://devfeed.tech/topics/testcontainers.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Database](<https://devfeed.tech/topics/database.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [performance](<https://devfeed.tech/tags/performance.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring](<https://devfeed.tech/tags/spring.md>), [testcontainers](<https://devfeed.tech/tags/testcontainers.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

A tutorial for replacing Flapdoodle Embedded Mongo with Testcontainers in Spring applications. It explains problems caused by multiple embedded MongoDB instances, shows how to set up MongoDB with Testcontainers, and discusses performance measurement using Linux tools.

### Source excerpt

If your Spring application uses MongoDB, there is one question you will have to answer at some point: how to set up a database instance for your tests. Until early 2020 there was not much choice and the default was to use 'embedded Mongo' - my team was no exception. At some point, however, we realised that embedded Mongo was turning our builds into a nightmare. This ultimately prompted us to migrate our code to a tool getting much hype recently - Testcontainers.

## Using Kotlin Coroutines to Reduce Reactive Code Complexity

DevFeed: [Using Kotlin Coroutines to Reduce Reactive Code Complexity](<https://devfeed.tech/articles/coroutines-a-better-match-for-kotlin-than-reactive-streams-17704.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/reactive-streams-vs-coroutines/>)

Author: piotr-kubowicz

Published: 2020-05-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [reactive](<https://devfeed.tech/topics/reactive.md>)

Tags: [coroutines](<https://devfeed.tech/tags/coroutines.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [reactive-programming](<https://devfeed.tech/tags/reactive-programming.md>), [reactive-streams](<https://devfeed.tech/tags/reactive-streams.md>)

### AI overview

The article compares Kotlin coroutines with reactive programming for backend code. It explains that reactive streams can add complexity and hide empty-result cases, using a Reactor zip example where an empty input can cancel the resulting stream.

### Source excerpt

Using Reactive Programming is tempting because it promises to handle higher traffic on the same hardware. Yet this paradigm is also demanding: it increases code complexity and may make bugs harder to notice. Let's explore how you can use Kotlin and coroutines to reduce the cognitive load of maintaining reactive applications. Sample code Imagine you are developing a website that can be used by both logged-in and anonymous users, just like Wikipedia. At the same time, there are proper mechanisms in place to block misbehaving users. Our focus will be the back-end code returning a welcome message displayed on top of the main page:

## Spring Dependencies in Gradle Can Be Tricky

DevFeed: [Spring Dependencies in Gradle Can Be Tricky](<https://devfeed.tech/articles/spring-dependencies-in-gradle-can-be-tricky-17705.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/spring-dependencies-in-gradle/>)

Author: piotr-kubowicz

Published: 2020-01-13T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>)

Tags: [build-tool](<https://devfeed.tech/tags/build-tool.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [security](<https://devfeed.tech/tags/security.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [spring-framework](<https://devfeed.tech/tags/spring-framework.md>)

### AI overview

This article explains why managing Spring dependencies with Gradle can be difficult, especially when applications use multiple Spring projects and related libraries. It recommends importing a Spring-provided BOM instead of managing versions manually, describes the history and limitations of the Spring Dependency Management Plugin, and shows that an attempted Jackson Databind version override may leave the vulnerable version in use.

### Source excerpt

Spring is the most popular Java web framework for many years and Gradle has an established position as a build tool. You might expect it's easy to find instructions on how to set up those two together -- yet the Internet is filled with advice that will get you into trouble. The official Spring documentation does not make the situation any better in this case. Using Spring in your applications typically means your classpath contains not only Spring Framework itself, but also other Spring projects like Spring Security plus Spring dependencies that are independent libraries. It may require lots of work to get versions of dependencies right, avoiding incompatible versions being used together. So a much better solution is -- not to manage all those versions manually and choose a set suggested by Spring. Technically speaking: importing a BOM (bill of materials).

## Portable Development Environment With Docker and IntelliJ

DevFeed: [Portable Development Environment With Docker and IntelliJ](<https://devfeed.tech/articles/portable-development-environment-with-docker-and-intellij-17703.md>)

Original publisher: [Read original article](<https://nexocode.com/blog/posts/portable-development-with-docker/>)

Author: mateusz-joniak

Published: 2018-10-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Backend Development on nexocode](<https://devfeed.tech/sources/backend-development-on-nexocode.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [Dockerfile](<https://devfeed.tech/topics/dockerfile.md>), [Development](<https://devfeed.tech/topics/development.md>), [virtualization](<https://devfeed.tech/topics/virtualization.md>), [ide](<https://devfeed.tech/topics/ide.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [docker](<https://devfeed.tech/tags/docker.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [software](<https://devfeed.tech/tags/software.md>), [virtualization](<https://devfeed.tech/tags/virtualization.md>)

### AI overview

This tutorial explains how Docker can create portable development environments by packaging an application with its dependencies, configuration files, tools, and runtime. It describes Docker images and Dockerfiles, and presents using the same image across developer workstations and production to reduce configuration differences and deployment surprises.

### Source excerpt

For many developers, managing the environment required to work productively is a quite tedious task. Sure, the IDE does the lion's share of preparations for you. But still, you need to install a specific version of the database, then make sure you have the right compiler and runtime environment. In some cases, you would also have to work on a given version of the operating system. Gods help you if you find yourself in the hell of "hidden" dependencies, like libraries you're supposed to have installed separately. Configuring all of this takes hours, so forget about first-day productivity, and if you fail, all you're going to get are some cryptic error messages that you have to type into Google. Sounds familiar?