Tuesday, November 30, 2010

Algorithms every software developer must know

Basics in algorithms What is Big O notation? (link Stackoverflow) It is relative representation of the complexity of an algorithm Sorting Algorithms Sorting algorithms are often classified by Computational complexity  of elements in terms of the list size of swaps  Memory usage Recursion Stability Adaptability Popular sorting algorithms Simple sorts : Insertion sort, Selection...

Tuesday, November 23, 2010

Modifiers in C#

Modifiers are used to modify declarations of types and type members. Following are the modifiers comes in C# (MSDN) sealed # In classes, sealed modifier prevents other classes from inheriting from it. Can also use sealed modifier on a method or property that overrides a virtual method or property in a base class Enables you to allow classes to derive from your class and prevent them overriding...

Saturday, September 11, 2010

Principles in Software Development

When designing a software there are various principle you should follow  to make the software better in different aspects.  In this article we'll go through some of those principles. Principle of least astonishment Basically you should not astonish people when it comes to implementing something. For example if you have a method toString() which returns a string "not implemented",...

Tuesday, August 10, 2010

Introduction to Python

Python is an interpreted, high-level, general-purpose programming language. Instagram and Google uses Python in there backend. Over the years Python has grown its territory massively.  Python can be used for server to create web applications.  can be used alongside software to create workflows.  can connect to database systems. It can also read and modify files.  can be...

Saturday, August 7, 2010

Do not break these User Interface Design Principles

Keep the following as a checklist next time when you're designing an interfaces Keep things clear without confusing the user Make user know what is preferred action is. Especially for new users Keep user interface interaction controls close to relevant content Keep good set of default settings Guide user on what they must do. Next Give feedback...

Tuesday, May 11, 2010

Creational design patterns

Factory Provides an interface to create objects. Rather than creating new objects using new keyword, we ask the factory to create and return them for us.  Factory in JavaScript : method1 (addyosmani) and method2 (carldanley) Builder http://www.oodesign.com/builder-pattern.html Lazy initialization Creation is deferred until it is first used. Useful for complex objects.  C# :...

Saturday, May 1, 2010

Introduction to Testing

Testing is a mechanism we use to evaluate whether the software we are developing satisfies the specified requirements. Testing is a very broad subject. Here we'll just look in to some high level overview of what it is. Types of testing Manual testing Takes the role of an end user and checks for unexpected behavior  There are few levels like unit testing, integration testing, system testing...

Sunday, April 4, 2010

Behavioral Design Patterns

Observer Object (subject) maintains list of its dependencies (observers). Subject will then notify observers whenever any state change occurs in it.  Related patterns are Publish-Subscribe pattern, mediator and singleton  http://weblogs.asp.net/fmarguerie/events-references-garbage-collecting-memory-leaks-and-weak-delegates Iterator http://sourcemaking.com/design_patterns/iterator Mediator Defines...

Saturday, March 27, 2010

Basics in C#

C# is a multi paradigm programming language which has, strong typing (error if argument pass to a function does not match expected type. See strong typing vs static typing) imperative (statements which changes the state in contrast to functional programming- see diff) declarative functional generic object oriented and component oriented  program disciplines. Data Types Value type Directly...

Tuesday, March 16, 2010

Structural Design Patterns

Decorator Allows behavior to be added to an individual object either statically or dynamically, without affecting the behavior of other objects from the same class. FileReader in C# is a good example for this. Also check this article from codeproject for C#. Explore the Decorator pattern in JavaScript Source Example Facade Provides simplified...

Tuesday, February 2, 2010

Web Services with ASP.NET

Web services provide infrastructure to create distributed computing applications. Simply web services resides in a web server and enables clients to invoke its methods. In .NET, clients can communicate with web services using proxies. Usually HTTP handlers are used to implement web services. Source : developer.mulesoft.com You can...
Powered by Blogger.


Software Architect at Surge Global/ Certified Scrum Master

Experienced in Product Design, Software Engineering, Team management and Practicing Agile methodologies.

Search This Blog

Facebook