Skip to main content

Posts

Run CSS specific to Internet Explorer - Browser Hack

Run CSS specific to Internet Explorer - Browser Hack Referencing to the following blog post, we are going to make CSS targeting exclusively to IE browser, to make it work first we should know what are media queries. A media query consists of a media type and at least one expression that limits the style sheets' scope by using media features, such as width, height, and color. Media queries, added in CSS3, let the presentation of content be tailored to a specific range of output devices without having to change the content itself. For Ex: < style > @media (max-width : 600px) { .facet_sidebar { display : none ; } } So below we will wrap the IE specific CSS rules in @media blocks and trick IE into rendering @media blocks that use media queries. Targeting only IE browsers Style rules defined in the following blocks will only be applied in IE, other browsers will ignore them. IE 6 and 7  @media screen\9 {     body { background: red; ...

Disconnected Architecture

Being a .Net Developer and using the open technologies, I have lots of options of taking the advantage of the framework but once you started growing in your career, more then What technology you use? the question become How the technology is used ? and that is Architecture. An architecture of a something you are implementing is very important once you start writing the code. If you are writing a mobile application that needs to be cross browser compatible and can work on on any mobile device, you need to follow the modern architecture that is getting common across all the application. The architecture should use SPA (Single Page Application) and REST api's and should be devoid of any stored proc to avoid complexity. Let's start with why to use SPA, A SPA is written in HTML5, JS, CSS3 and lots of other JS libraries. The other JS libraries has some basic needed libraries like .less or .sass for css maintenance, Require JS for correct Integration of code and ofcourse ...

Extending Object Oriented Programming concepts further with abstraction and interfaces

Few days back I wrote for Solid and Grasp principles for oops http://www.developerscloud.org/2014/08/oops-beyond-four-pillars-solid-and-grasp.html . Now I am again extending it to make it more matured way to write code. Let start with coupling and cohesion. Loose/Low Coupling low dependency between classes; low impact in a class of changes in other classes high reuse potential High Cohesion measure of how strongly-related or focused the responsibilities of a single module are If methods of a class tend to be similar in many aspects, then the class have high cohesion In highly-cohesive system, code readability and the likelihood of reuse is increased, while complexity is kept manageable. Also check Encapsulate what varies Favor Composition over Inheritance Program to interface not implementation Strive for loosely coupled design between objects that interact For Interfaces Like an abstract base class: any non-abstract type inhe...

OOPs beyond the Four Pillars - SOLID and GRASP

As we know  Object oriented programming is a type of programming paradigm based around programming  classes  and instances of classes called  objects . These can be objects that appear on the screen (e.g., pictures, textboxes, etc.) or are part of the programming (e.g. actors, connections, particles, etc as mentioned in my post  http://www.developerscloud.org/2013/02/what-is-oop-basic-concepts.html   written ages ago. Here we are going to extend the oops beyond its four pillars i.e. Abstraction Encapsulation Polymorphism  and Interfaces i.e.  Inheritance So first we will go through  SOLID and then GRASP SOLID Principles are principles of class design. • S RP: Single Responsibility Principle – An object should have only a single responsibility & all the responsibility should be entirely encapsulated by the class. – There should never be more than one reason for a class to change • O CP: Open/Closed Principle ...

Unit Testing, In a right way.

This blog is aimed at those developer who have little development and unit testing experience. Please refrain yourself to proceed if you don't know development. What is Unit Testing ? By Definition, In computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual function or procedure. Unit tests are created by programmers or occasionally by white box testers. Some Benefits of Unit Testing: Bug Tracking Code Maintenance Understandable code How the above things help in actual scenario ? Suppose you have developed a code from scratch and it went to maintenance. Now you left the company, there are no unit test written and a bug came via customer. The app went for a hot fix and some other guy fix it, and  his fix created another which in turn creates another issue. So the creation of i...

Decoding the date sorting in Javascript, efficient faster and native way.

Coming from the previous post  (   http://www.developerscloud.org/2014/05/decoding-underscore-js-sortby-sorting.html ) ,  where we have used the underscore to sort the array, with the limitation of sorting in descending order, I will show you in below post how to sort effectively using javascript native functionality. Lets use the same array we have in the previous post. var datesArray = ['6-01-2014','2-01-2014', '4-01-2014', '5-01-2014', '3-01-2014', '1-01-2014']; datesArray is now [" 6-01-2014 ", " 2-01-2014 ", " 4-01-2014 ", " 5-01-2014 ", " 3-01-2014 ", " 1-01-2014 "] Running the for loop making each item of array a date type object. for(var i = 0; i< datesArray.length; i++){ datesArray[i] = new Date(datesArray [i]); } After which datesArray will become [Sun Jun 01 2014 00:00:00 GMT+0530 (India Standard Time), Sat Feb 01 2014 00:...

Decoding underscore js SortBy - Sorting in javascript

Sorting can be the developers worst nightmare especially if it is done in more then one field. So what can help, recently doing research on it I came across underscore js sortBy (underscorejs.org/#sortBy) function which will help you to sort the array very effectively. So I was going through the documentation and found it very useful, but there are one drawback of it. Will let you know that: How to order in Ascending Order _.sortBy([6, 2, 4, 5, 3, 1], function(num){ return num }); [ 1 , 2 , 3 , 4 , 5 , 6 ] How to order in Descending Order _.sortBy([6, 2, 4, 5, 3, 1], function(num){ return -num }); [ 6 , 5 , 4 , 3 , 2 , 1 ] The underscore sort by will also work with string literals Ascending _.sortBy(['6','2', '4', '5', '3', '1'], function(num){ return num }); [ " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " ] Descending _.sortBy(['6','2'...