Today we're going to discuss how small optimizations in the right places of the application can improve its performance. Imagine: we remove the creation of an extra iterator in one place, get rid of boxing in the other. As a result, we get drastic improvements because of such small edits.
One of the ways to dynamically deserialize a part of a JSON document with an unknown structure

In this topic, I will tell you how to dynamically parse and deserialize only part of the whole JSON document. We will create an implementation for .NET Core with C# as a language.
For example, we have the next JSON as a data source for the report. Notice that we will get this JSON in the runtime and at the compile step we don't know the structure of this document. And what if you need to select only several fields for processing?
ONLYOFFICE Community Server: how bugs contribute to the emergence of security problems

Server-side network applications rarely get the chance to join the ranks of our reviews of errors found in open source software. This is probably due to their popularity. After all, we try to pay attention to the projects that readers themselves offer us. At the same time, servers often perform very important functions, but their performance and benefits remain invisible to most users. So, by chance, the code of ONLYOFFICE Community Server was checked. It turned out to be a very fun review.
Jupyter for .NET. «Like Python»
Entity
class from a symbolic algebra library:
Looks awesome. Is simple. Very enjoyable. Let's see more!
Continuous integration and deployment for desktop apps with GitHub Actions
- Catch bugs early in the development cycle
- Improve software quality and reliability
- Ensure consistent quality of builds
- Deploy new features quickly and safely, improving release cadence
- Fix issues quickly in production by rolling forward new deployments
That’s why we created a sample application in GitHub to showcase DevOps for your applications using the recently released GitHub Actions.

.NET docs: What's new for January 2020

Welcome to what's new in .NET docs for January 2020. This article lists some of the major changes to docs during this period.
Blazor WebAssembly 3.2.0 Preview 1 release now available
Here’s what’s new in this release:
- Version updated to 3.2
- Simplified startup
- Download size improvements
- Support for .NET SignalR client

Play «osu!», but Watch Out for Bugs
Hi, all of you collectors of exotic and plain bugs alike! We've got a rare specimen on our PVS-Studio test bench today – a game called «osu!», written in C#. As usual, we'll be looking for bugs, analyzing them, and playing.
Announcing free C#, .NET, and ASP.NET for beginners video courses and tutorials
There's nearly a hundred short videos (with more to come!) that will teach you topics like C# 101, .NET, making desktop apps, making ASP.NET web apps, learning containers and Dockers, or even starting with Machine Learning. There's a ton of great, slow-paced beginner videos. Most are less than 10 minutes long and all are organized into Playlists on YouTube!
If you are getting started, I'd recommend starting with these three series in this order — C#, .NET, then ASP.NET. After that, pick the topics that make you the happiest.

Top 10 Bugs Found in C# Projects in 2019

Hi to all fans of bugs! The New Year is coming soon, so it is time to take stock of the the outgoing year. By tradition, we're glad to present the top list of errors found by the PVS-Studio team in open C# projects in 2019. Ready? Then let's get going.
Demystifying the new .NET Core 3 Worker Service
.NET Core 3 introduced a new project template called Worker Service. This template is designed to give you a starting point for cross-platform services. As an alternate use case, it sets up a very nice environment for general console applications that is perfect for containers and microservices.

Some of the benefits of using this template include the following areas.

Building Modern Cloud Applications using Pulumi and .NET Core

Building Games with MonoGame
In this episode, Brian Peek comes on to talk to us about how to get started with MonoGame, and also show some interesting games that have been built with the framework.
Could async/await magic create thread, or it is always: “There is no thread”?
When we are told “There is no thread” we can easily come to an opinion that it is impossible at ALL that asynchronous operation could create thread, but it would be wrong opinion. Simple code example proves the opposite.
Those who are easy to treat the sentence as the universal rule are easy to understand. They would like to simplify the subject and to cut amount of theory they should study and remember. Besides to many it is new level of knowledge to discover there is other layer of classes to manage async-operations behavior beside the Tasks and and SynchronizationContext is only one among them.
Unity: What is a Coroutine and why is there an IEnumerator

The title of the article is a question I was asked in an interview for a Middle position. In this article, we will look at Unity coroutines, what they are, and at the same time we will capture the topic of Enumerator \ Enumerable in C # and a little secret of foreach. The article should be very useful for beginners.
Vulnerabilities due to XML files processing: XXE in C# applications in theory and in practice
How can simple XML files processing turn into a security weakness? How can a blog deployed on your machine cause a data leak? Today we'll find answers to these questions, learn what XXE is and how it looks like.
Re-checking PascalABC.NET
Welcome all fans of clean code! Today we analyze the PascalABC.NET project. In 2017, we already found errors in this project. We used two static analysis tools (more precisely, plugins for SonarQube): SonarC# and PVS-Studio. Today, we analyze this project with the latest version of the PVS-Studio analyzer for C#. Let's see what errors we can find today, especially when our analyzer has become more advanced and got new features: it can find more exquisite errors and potential vulnerabilities.
The most interesting C# / .NET blogs and websites
Let's take a look at the list of information sources that can be useful for the C# / .NET developers. Our list includes blogs, repositories with source code, standards and accounts of developers who covers the deep aspects of the C# and .NET.
Errors and suspicious code fragments in .NET 6 sources
The .NET 6 turned out to be much-awaited and major release. If you write for .NET, you could hardly miss such an event. We also couldn't pass by the new version of this platform. We decided to check what interesting things we can find in the sources of .NET libraries.
XSS: attack, defense — and C# programming

XSS - or cross-site scripting - is one of the most common vulnerabilities in web applications. It has been on the OWASP Top 10 list (the list of the most critical security risks to web applications) for a while now. So let's figure out together how your browser can acquire and execute a script from a third-party website, and what this may lead to (spoiler: your cookies could get stolen, for example). And while we're at it, we'll talk about ways you can protect yourself from XSS.
Authors' contribution
sidristij 3013.4XaocCPS 1863.6sahsAGU 1303.2olegchir 1250.6mezastel 1199.6SergVasiliev 1159.0SergeyT 1140.6phillennium 1081.6marshinov 888.2VBDUnit 864.0