[TITLE PIC] C# and .NET Most people usually confuse .NET with C#. What is the difference between those two? It is actually pretty simple. C# is a programming language, and .NET is a platform for building various types of apps (websites, desktop/server/console/gaming apps and more) using C#, F#, or Visual Basic. An important thing to know about .NET is that there are two similar implementations of…

Keep Reading →

GIF BINARY OR BITWISE Bitwise operations, shifting bits, two's complement, and other similar terms related to bit manipulation seem like a scary topic people always try to avoid. However, they still come up a lot when dealing with code that requires precision and performance. Even though this topic is old and has been around for a long time, it is worth brushing up on this field once in a while to…

Keep Reading →

[HEADER IMAGE] Outline Architecture Overview Modules Components Directives Services and Dependency injection Routing There are a bunch of tutorials out there on Angular that covers too little or too much of the framework. In this article, we will try to discuss just the right amount of it so that our readers with low attention span do not lose patience and skip to the next blog on google. But we…

Keep Reading →

Outline Intro Generic classes Generic constraints Generic methods Generics is a powerful feature of C#, which was introduced in version 2.0 to allow creating type-safe classes, interfaces, or methods without actually committing to a specific data type. Generics is a concept. It is a particular way of creating data structures that can be reused more often. The crucial part of generics is the idea…

Keep Reading →

Outline Delegates Action vs. Func Events Anonymous methods Lambdas Delegates According to the oxford dictionary, the word delegate means the following: a person sent or authorized to represent others, in particular an elected representative sent to a conference. And in C# it is interpreted a little bit differently: Delegate - is a reference type variable, just like class or interface, that holds…

Keep Reading →

git flow TL;DR Command Description Initialize Git and create working directory Add changes to git staging area Add changes from the staging area to repository Connecting local repo with remote repo Pushing local changes to master branch in the remote repo Pushing changes to remote after establishing connection 1. Initial configuration Whether you are trying to version control your project on…

Keep Reading →

Steps for caching function returns Create a memoizer function which accepts a function as a parameter returns another function with some logic Create an object (cache) to store function returns That function would have some arguments (or no argument at all). We can access those arguments by using the Object that comes with JS. Next we add the caching logic to the function that we want to return…

Keep Reading →

Algorithmic Complexity In previous post about algorithms (Algorithms Intro), we briefly discussed the notion of algorithms and saw couple of examples. In this post, let us dive in little deeper. Besides the modularity, user friendliness and security of an algorithm, we have to consider the performance of an algorithm. Let's discuss the ways to analyze this matter here to write better and faster…

Keep Reading →

Just enough TypeScript for Angular Angular Framework is written in TypeScript. All of the pre-generated scripts and code samples are also in TypeScript. So, it makes total sense to get little bit familiar with TypeScript before we dive in to the world of Angular. 1. What is TypeScript? TypeScript is a superset of Javascript, which means it is built on top of Javascript and fully supports…

Keep Reading →

Sets Definitions Set - is an unordered collection of objects. Usually sets are denoted by capital letters. A set contains its elements. In the example above, the special character means that the lower case letter is an element of the set . If is not an element of , we write . When two sets contain the same elements, they are said to be equal. = {e}, = {e} means that or provided that…

Keep Reading →

Rules of Inference Inference - is a process of drawing conclusion based on the evidence and reasoning. It holds a certain level of probability relative to the premises. It could also be an educated guess. Premise - a (previous) propositional statement supporting a conclusion. Proof - is a valid argument that establishes the truth of a statement. Argument in logic is a sequence of propositions. An…

Keep Reading →

Set Operations Frequently we need to combine sets to produce new sets. For instance, say we have a set of animals that live under the water and another set of animals that live on the ground. We could make a new set of animals that can live both, under water and on the ground. Or a set of animals that cannot live in water. There are a few ways of combining sets. 1. Intersections Let's say that we…

Keep Reading →

1. What is an Algorithm? Algorithm - is a well-defined set of instructions to solve a problem. In other words, an algorithm is a computational procedure that takes in an input, processes it and then spits out an output. There are certain properties an algorithm must have to be considered as valid. Input - an algorithm is provided with input or set of inputs Output - an algorithm produces an output…

Keep Reading →