Akka.Net 101 - an Open Source introductory course to Akka.Net

In the recent years I had a chance to work with highly concurrent systems using several development practices and patterns, like DDD, Event Sourcing, CQRS and the Actor Model, just to name a few. I tested and worked with some Actor Frameworks in the .NET world: Akk.Net and Proto.Actor. I used to have a private project with the source code of an Akka.Net Introductory Course I’ve elaborated over the months. With the occasion of the “Un Actor (Model) per amico - Multithreading made easy” DevMarche User Group event we held in the last week of February, I’ve decided to “reshape”...

Journey to the .NET Core - Application Types & Distribution Strategies

An important concept when it comes to .NET Core is Application Portability, in short where and how we are able to distribute and run our applications. .NET Core has two types of applications: Portable applications. Self Contained Applications. To illustrate the difference between these two let’s start creating a “multiple projects solution” to use with Visual Studio Code: Create a new folder which will contain the project hierarchy. Create a “global.json” file in the folder with this content: { "projects": [ "PortableApp", "SelfContainedApp" ] } This file will be used by the dotnet utility to work on all the projects...

Journey to the .NET Core - Frameworks, TFM and Dependencies

When you deal with .NET projects you should keep the following concepts in mind: Framework: it’s a stand alone implementation exposing a well-defined Runtime environment, an API and utility functions. Several versions of the .NET framework exist each or them adding new feature and breaking changes over the previous one. Target Framework Moniker: it’s a short name to identify a specific version of the framework. Dependency: with this term we typically intend a part of the features exposed by the framework (or by a library) and packaged together as a whole. The package is then made available with a package...

Journey to the .NET Core - Windows Development Environment Setup

On the journey to learn .NET Core our entry point should be this link: .NET Core There we’ll find some very easy to follow tutorials on how to install it and get started using our OS of choice. To start developing your .NET Core application on a Windows machine we basically have two choices: The Command Line tool (dotnet.exe) and our favorite editor - this approach is very lightweight and useful for small projects and on systems that do not have Visual Studio. Visual Studio 2015 (and up) - if you like to use a fully featured IDE loaded with...

Migrate from SVN to GIT

I know there are plenty of articles on the subject, but I needed to keep track how I did it. To migrate my current SVN repositories to Git I started to look around for some documentation and ended up with this process in mind: Clone the SVN repository to a local Git Repository while filtering the data and converting the users. Create a Remote (bare) Git repository that will be my new ‘master’ repository. Choose which branches of the local repository push to the new remote Git repository. These are the steps I followed: Step 1 - Install Install Git...

TypeScript - Visual Studio / MSBuild conditional compilation

Conditional Compilation is not yet available in TypeScript, some requests and proposals have been made: Support conditional compilation Proposal: Conditional Compilation Proposal: Preprocessor Directives If you are using Visual Studio and MSBuild there’s however a very simple workaround to completely exclude some TypeScript files from being compiled. The solution is to use MSBuild Conditions and/or MSBuild Conditional Constructs, it all depends on how complex your conditional logic will be. In the simplest case you just have to open your .csproj (or .vbproj) file in a text editor and add the proper Condition attribute to the TypeScriptCompile entry; something like: ......