Search
Write a publication
Pull to refresh
107.17

.NET *

A hub about .NET

Show first
Period
Level of difficulty

.NET Core Workers as Windows Services

Reading time3 min
Views13K
In .NET Core 3.0 we are introducing a new type of application template called Worker Service. This template is intended to give you a starting point for writing long running services in .NET Core. In this walkthrough we will create a worker and run it as a Windows Service.

Read more →

Wie ich ein einfaches Monitoring von Kanälen mit Benachrichtigungen an Slack ohne Erfahrung gemacht habe

Level of difficultyEasy
Reading time3 min
Views670

Arbeiten im technischen Support brachte zusätzlich zu allen Aufgaben die Pflicht mit sich, die Kommunikationskanäle zu überwachen. Dies wurde über den Grafana-Dienst realisiert, der die erforderlichen Metriken aus Zabbix bezog. Da die Art der Arbeit jedoch bedeutete, dass man nicht immer an seinem Arbeitsplatz sitzt, kam mir die Idee, dies ein wenig zu automatisieren und Benachrichtigungen auf das Telefon oder zum Beispiel in einen Messenger zu erhalten, falls ein Kommunikationskanal ausfällt. Allerdings hatte ich keinen Zugriff auf das Zabbix-System und auch keinen erweiterten Zugriff auf Grafana.

Read more

AngouriMath 1.3 update

Reading time5 min
Views4.4K

Four months of awesome work together with a few new contributors finally result in a new major release, which I'm happy to announce about.

Now we get completely new matrices, improved parser, a lot of new functions, almost rewritten interactive package (for working in Jupyter) and many more.

This article about a big update in a FOSS symbolic algebra library for .NET, I hope it may be interesting for someone!

Read more

How to be good in hackathons as a developer? Practice creating simple pet projects

Reading time6 min
Views3.5K

Hackathons could be very intimidating and stressful. The key to getting better is doing simple projects. In this article, we will look at an example of a web app that can be used for sharpening your skills when you prepare for a hackathon. We will use a powerful Google API based on Machine Learning and apply the following technologies: ASP.NET, HTML, Docker, Heroku, and Git.

Read more

How WCF Shoots Itself in the Foot With TraceSource

Reading time11 min
Views1K

We don't often get the chance to write something on parallel programming issues. This time we "got lucky". The TraceEvent standard method has some implementation peculiarities. They resulted in an error with multiple threads blocking. So we'd like to warn users about this nuance and cover this interesting case from our users support practice. Why was our support involved? Keep reading to find out. Enjoy the reading!

Read more

Announcing PowerShell 7.0

Reading time5 min
Views1.9K
Today, we’re happy to announce the Generally Available (GA) release of PowerShell 7.0! Before anything else, we’d like to thank our many, many open-source contributors for making this release possible by submitting code, tests, documentation, and issue feedback. PowerShell 7 would not have been possible without your help.



What is PowerShell 7?


For those unfamiliar, PowerShell 7 is the latest major update to PowerShell, a cross-platform (Windows, Linux, and macOS) automation tool and configuration framework optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. PowerShell includes a command-line shell, object-oriented scripting language, and a set of tools for executing scripts/cmdlets and managing modules.
Read more →

.NET docs what's new (December 2019)

Reading time2 min
Views1.1K
Welcome to what's new in .NET docs for December 2019. Listed below are some of the recent docs we've published. Find more in the full article below.

.NET Core


New articles



Read more →

A Second Year of Q#

Reading time3 min
Views1K
You can see all of the release notes for the year here.

Remember How We Started


Our first release of our second year, 0.4, was a triumph! we got a customer request for a big integer type on January 1st, and were able to respond by shipping a new BigInt data type just 29 short days later!!! Remember, we’re outside Seattle, pretty far north, so our winter days are really short.

Our secret? We had started working on the BigInt type in December.

We also decided to change our release cadence for our second year of Q#. Our first year, we had shipped releases sporadically, when we had some major feature to share, or possibly just a fix to an annoying bug. For our second year, we moved to a more regular release cadence, putting out a new release every month. We hoped that this would make things more predictable for our users and easier for us to manage.

Read more →

.NET – Tools for working with multithreading and asynchrony – Part 2

Reading time13 min
Views7.9K
I have originally posted this article in CodingSight blog.
It's also available in Russian here.


This article comprises the second part of my speech at the multithreading meetup. You can have a look at the first part here and here. In the first part, I focused on the basic set of tools used to start a thread or a Task, the ways to track their state, and some additional neat things such as PLinq. In this part, I will fix on the issues you may encounter in a multi-threaded environment and some of the ways to resolve them.

Contents



Read more →

Build Visual Studio templates with tags, for efficient user search and grouping

Reading time3 min
Views3.8K

Visual Studio’s project templates enable you, the developer, to create multiple similar projects more efficiently by defining a common set of starter files. The project templates can be fully customized to meet the needs of a development team, or a group, and can be published to the Visual Studio Marketplace for others to download and use too! Once published, developers can install and access the template through Visual Studio’s New Project Dialog.


The newly designed New Project Dialog for Visual Studio 2019 was built to help developers get to their code faster. Using a search and filter focused experience, we are aiming to provide better discoverability for specific templates to start your application development

 

Read more →

Breaking down the fundamentals of C #: allocating memory for a reference type on the stack

Reading time6 min
Views7.3K
This article will show you the basics of types internals, as of course an example in which the memory for the reference type will be allocated completely on the stack (this is because I am a full-stack programmer).



Disclaimer


This article does not contain material that should be used in real projects. It is simply an extension of the boundaries in which a programming language is perceived.

Before proceeding with the story, I strongly recommend you to read the first post about StructLayout, because there is an example that will be used in this article (However, as always).
Read more →

.NET Core Container Images now Published to Microsoft Container Registry

Reading time7 min
Views2.4K

We are now publishing .NET Core container images to Microsoft Container Registry (MCR). We have also made other changes to the images we publish, described in this post.


Important: You will need to change FROM statements in Dockerfile files and docker pull commands as a result of these changes. 3.0 references need to be changed now. Most 1.x and 2.x usages can be changed over time. The new tag scheme is decribed in this post and are provided at the microsoft-dotnet-core repo, our new home on Docker Hub.


Summary of changes:


  • .NET Core images are now published to Microsoft Container Registry.
  • Updates will continue to be published to Docker Hub, for .NET Core 1.x and 2.x.
  • .NET Core 3.0 will only be published to MCR.
  • Nano Server 2016 images are no longer supported or published.

image
Read more →

How to create a better UX design for the users of younger generations

Level of difficultyEasy
Reading time5 min
Views2K

Gen Z – a generation of young people born between the last few years of the 20th century and the first ten years of the 21st, are the primary users of a modern-day Internet. They started using technology since their early childhood, being almost constantly glued to their smartphones and tablets, which led to them being very demanding users that have their own requirements in UX. At the same time, they are known for their sense of humor and straightforwardness – which means they love using products that are both easy to navigate but full of interactive elements. Below we’ve collected a few things you should consider when creating a UX design aimed at a young audience.

Read more

Spans in C#: Your Best Friend for Efficient Coding

Level of difficultyEasy
Reading time5 min
Views3.9K

I’ve been wanting to sort it out about String memory optimization and all these ways to improve the performance and memory usage for Collections and Arrays in C#(as you remember String is an array of chars, loaded a bit differently but anyway) code. I finally managed to find some time to dive deeper into the System.Span.

I have put together this guide to share what I’ve learned. It’s filled with practical tips and examples to help you leverage Spans in your own projects. If you want to optimize your C# code, this guide is a great place to start!

Read more

Compilation of math functions into Linq.Expression

Reading time12 min
Views5.8K

Here I am going to cover my own approach to compilation of mathematical functions into Linq.Expression. What we are going to have implemented at the end:

1. Arithmetical operations, trigonometry, and other numerical functions

2. Boolean algebra (logic), less/greater and other operators

3. Arbitrary types as the function's input, output, and those intermediate

Hope it's going to be interesting!

Read more →

Developing a symbolic-expression library with C#. Differentiation, simplification, equation solving and many more

Reading time15 min
Views8.2K
Hello!

[UPD from 12.06.2021: if you're looking for a symbolic algebra library, AngouriMath is actively developed. It's on Github and has a website. Discord for questions]

Why does programming a calculator seem to be a task, which every beginner undertakes? History might have the answer — computers were created for this exact purpose. Unlike the beginners, we will develop a smart calculator, which, although won't reach the complexity of SymPy, will be able to perform such algebraic operations as differentiation, simplification, and equations solving, will have built-in latex support, and have implemented features such as compilation to speed up the computations.

What are the articles about?
It will superficially tell about assembling an expression, parsing from a string, variable substitution, analytic derivative, equation numerical solving, and definite integration, rendering to LaTeX format, complex numbers, compiling functions, simplifying, expanding brackets, and blah blah blah.
For those who urgently need to clone something, repository link.

Let's do it!
Read more →

What's new in ML.NET and Model Builder

Reading time2 min
Views1K
We are excited to announce updates to Model Builder and improvements in ML.NET. You can learn more in the «What’s new in ML.NET?.» session at .NET Conf.

ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers.

ML.NET offers Model Builder (a simple UI tool) and CLI to make it super easy to build custom ML Models using AutoML.

Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!..

Read more →

.NET: Tools for working with multi-threading and asynchrony – Part 1

Reading time18 min
Views20K
I have originally posted this article in CodingSight blog
The second part of the article is available here

The need to do things in an asynchronous way – that is, dividing big tasks between multiple working units – was present long before the appearance of computers. However, when they did appear, this need became even more obvious. It is now 2019, and I’m writing this article on a laptop powered by an 8-core Intel Core CPU which, in addition to this, is simultaneously working on hundreds of processes, with the number of threads being even larger. Next to me, there lies a slightly outdated smartphone which I bought a couple of years ago – and it also houses an 8-core processor. Specialized web resources contain a wide variety of articles praising this year’s flagship smartphones equipped with 16-core CPUs. For less then $20 per hour, MS Azure can give you access to a 128-core virtual machine with 2 TB RAM. But, unfortunately, you cannot get the most out of this power unless you know how to control interaction between threads.
Read more →

Authors' contribution