Article overview
In this second part of the article, I’m going to show you what the anonymous functions are and what is their role in the Integrated Query Language. If you want to know more about the difference between anonymous functions and lambda expressions, keep reading. ;) Read more…
Google+
The performance of the Object Relational Mappers
In the world of Object Relational Mappers, there is one topic that have always been on the table: Performance.
We have automatic configuration, generation and mapping. We have LINQ to Entities doing a great deal of the work for us, including generating the SQL and allowing us to use the built-in CLR functionality in order to produce working queries relatively easily.
The main problem, of course, is that all of this goodness comes with a price in terms of performance. All object relational mappers produce a well-known overhead and many companies, which are developing high-performance applications, ask themselves: “Is it worth it? Aren't they too slow or too heavy?”
The answer is, "Yes, they are". But that’s why we, the engineers, are here – to make it work faster and keep the benefits measured in production time. If you just install Entity Framework and start it, you’ll certainly need to make a nice refactor sooner or later. Read more…
Google+
Do you find your job interesting ?
Few months ago I started thinking about that. I had been working on a big Asp.Net project for an year and a half at that time, I had read few books on my current technologies, and I was quite fluent at doing my tasks. Unfortunately, most of them were quite similar. You know that moment with big projects, when there are not many new things, all the tasks are quite similar, the technologies are the same, most of the important architectural decisions had been made long time ago, so you are just doing what you usually do and everyone is happy. Read more…
Google+
Preface
I wanted to write something on the topic long time ago. Simply because I have read and I have seen too many developers arguing, most of them convinced that getting a certificate is not worth the time, money and effort spent. To tell you the truth, I think most of us are generally missing the point here.
In this article, I’m going to tell you why. Read more…
Google+
Article overview
In this article series, I’m going to review the basic features and techniques used behind the Language Integrated Query (LINQ), including :
-
Delegates
-
Events (which are not directly related to LINQ, but are very closely related to delegates)
-
Lambda expressions (Anonymous functions)
-
Extension methods
At the end, I’ll summarize them and, hopefully, you will possess a better understanding of how LINQ works. ;)
Read more…
Google+
Working with SNMP under QT
Four years ago I worked on a multi-platform desktop application, which main purpose was to observe and control various devices on the local network using SNMP. The main questions that had to be solved were :
-
How to write an application that can run on multiple platforms (like Windows, Linux, Mac OS)
-
How to communicate with the SNMP devices
The client didn't want a web app, so I had to think of other variants. And because I'm a big C++ fan, I decided to utilize a C++ based solution.
Read more…
Google+
Motivation for writing
Few days ago I noticed that my blog is not shown correctly under Internet Explorer.I was quite sure that it wasn’t the case 1 month ago, because I would have noticed such a problem. It looked like this :
Read more…
Google+
Motivation for writing
Two weeks ago a friend of mine asked me if I knew someone who can help him create his website. I usually delegate such requests to designers that I know, but this time I decided to be a little bit more… creative. By doing that myself. For the sake of experience.
So these days I’ve been working on a static website utilizing HTML5 and CSS3. In this article, I’m going to share few observations of issues that I worked around. From a developer perspective. ;)
Read more…
Google+
Motivation for writing
As professional developers, we create products. We implement ideas, which are usually driven from some business craving for acceptance in the global market, from their target group. We try to deliver elegant, fast and reliable solutions and, quite honestly, we hate when someone use our work without at least saying "thanks, you've really made a great thing". That is why we need to protect our work. And in order to do that, we should be aware of the common vectors used by crackers to hack our software.
In this article, I'm gonna show you how to disassemble and decompile pure executable written in C++, among other interesting things related to managed and unmanaged environments.
First, we’ll need a little bit of a theory so we can really understand what we are doing and why.
Read more…
Google+
Editing the hosts file
The hosts configuration file on Windows is used to manually specify DNS records.As easy it may seem, editing the hosts file can be a little bit tricky. You don’t believe me ? Try and edit your file. It’s located here
%systemroot%\system32\drivers\etc\
Read more…
Google+
Motivation for writing
Right now I am working on an article related to delegates in C# and lambda internals. I wanted to explain their inner workings and the general motivation behind them, but I quickly realized that in order to do that, I should first provide some insights on the functional programming background, the difference between imperative and declarative programming, the concept of clojures, etc. I soon realized that it might be best if I write a separate article on that topic, mainly due to the fact it could quickly become overwhelming.
The information related to this topic on the internet is quite fragmented, which makes it difficult for assimilation. In the sections below I’ll try to describe concepts like Structural, Imperative, Declarative, Procedural, Object-Oriented, Functional and Domain-Specific programming, which are few of the basic types of programming paradigms.
Before you continue reading, please note that the following text is my own interpretation of these terms (pretty much like everything else on this blog), based on my experience and my knowledge. Like I said, the information on the topic in the internet is very fragmented and frankly – quite often contradictory.
Read more…
Google+
Why were the generics introduced ?
The generics are yet another mechanism to reduce code duplication. They allow us to specify a class only once, and use it later with different parameters, maintaining one codebase. A main example would be the data structures in C# and Java. Nowadays, most of the data structure implementations are generic, meaning that you are not required to do any boxing/casting. They just work and they are strongly typed, given all the sugar syntax you would expect from it.
But have you ever wondered why your favourite Java IDE just can’t give you enough debug information when working with generic lists ? This article is about the differences in generic’s implementation in C#, Java and C++ (where they are called templates, actually). Keep reading and you’ll figure out why.
Read more…
Google+
What is the Asp.Net Web API ?
Asp.Net WebAPI is the new web services framework released by Microsoft. As I already mentioned in one of my previous articles, it’s based on Asp.Net MVC with the core RESTful principles in mind. It’s basically an alternative to WCF which utilizes all the built-in HTTP functionalities, without the need of additional wrapping inside the body of the packet.
Read more…
Google+
Introduction
In this VLAN tutorial, I'm going to cover the basic theory and terminology related to the Virtual Local Area Networks (VLANs).
-
When to use VLANs
-
Benefits of using VLANs
-
How do VLANs work
-
What are the different types of VLANs
-
Configuring an intra and inter VLAN on a Cisco switch
-
Configuring a VLAN with Voice over IP (VoIP)
-
Cisco's 3-layered architecture
-
Configuring the VLAN trunking protocol (VTP)
Read more…
Google+
Introduction
In the last 2 years I’ve been working on a complex Asp.Net MVC 3 based solution, utilizing the whole Asp.Netstack, a hybrid application, combination of desktop and mobile experience and a tremendous amount of javascript. And I liked it. That's why I decided to create a series of articles related to Asp.Net MVC, starting with this one.
So what’s new in (the not-so-new) version 4 of the framework ? Let’s check the most interesting features.
Read more…
Google+