February 20, 2013

Differences Between

Sharing differences between many terminologies related to general concepts, database concepts, programming terminology and others. With the rest of time, post dynamically grow.

Agile vs Scrum

Agile:
Agile methodology is an alternative and traditional project management (waterfall or traditional equential development), typically use in software development. It helps teams respond to unpredictability through incremental and iterative word cadences called “sprint”

Scrum:
Scrum is the most popular way of introducing Agility due to its simplicity and flexibility. Scrum emphasis empirical feedback, team self management and striving to build popular tested product increments within short iterations. Scrum has three roles. Product Owner, Team and Scrum Master.



Web Site vs Web Application

Web Site:

  • Web Site is just one folder which contains the files and resources
  • Web Site is open using browser from Visual Studio


Web Application:

  • Web Application creates one solution file which may contain multiple projects in it
  • If you are working on 3-tier or n-tier application then this type is good
  • It is easy to maintain, its movable and it contain file in DLL format
  • All files are compiled in .dll file on time of deployment


Asp.Net State Management

Application:
Stored on the server and shared for all users. Does not expire(Deprecated by Cache)

Cache:
Stored on the server and shared for all users. Can expire


Session:
Stored on the server.  Unique for each user.  Can expire.

ViewState:
Stored in a hidden page input (by default).  Does not expire.


Cookies:
Stored at the client. Can expire.

Query Strings:
Passed in the URL.  Must be maintained with each request.


Context.Items:
Only lasts for one request's lifetime.  More.

Profile:
Stores the data in the database. Can be used to retain user data over multiple request and session.



Imperative vs Declarative

Imperative:
You describe how to accomplish the task by indicating each step in code.

Declarative:
You describe the final result needed, leaving the steps up to the query language.


IEnumerable vs IQuerable

IEnumerable:

  • IEnumerable exposes the enumerator, which supports a simple iteration over a non-generic collection.
  • IEnumerable exists in System.Collections Namespace.
  • IEnumerable is a forward only collection, it can’t move backward and between the items.
  • IEnumerable is best to query data from in-memory collections like List, Array etc
  • While query data from database, IEnumerable execute select query on server side, load data in-memory on client side and then filter data.
  • IEnumerable is suitable for LINQ to Object and LINQ to XML queries
  • IEnumerable doesn’t supports custom query.
  • IEnumerable doesn’t support lazy loading. Hence not suitable for paging like scenarios.
  • Extension methods supports by IEnumerable takes functional objects.


IQuerable:

  • IQueryable provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified
  • IQueryable exists in System.Linq Namespace.
  • IQueryable is a forward only collection, it can’t move backward and between the items.
  • IQueryable is best to query data from out-memory (like remote database, service) collections.
  • While query data from database, IQueryable execute select query on server side with all filters.
  • IQueryable is suitable for LINQ to SQL queries
  • IQueryable supports custom query using CreateQuery and Execute methods.
  • IQueryable support lazy loading. Hence it is suitable for paging like scenarios.
  • Extension methods supports by IQueryable takes expression objects means expression tree.


JavaScript vs jQuery

JavaScript:

  • JavaScript is client scripting language for which you don't require anything. Javascript is the source, the actual scripts that browser responds to.
  • It is incredibly useful and overused, but that if you really need it, a framework is the way to go.


jQuery:

  • jQuery is JavaScript library and you need to add reference before using it.
  • Its less your code rather than using JavaScript. In complex situation Jquery will be more helpfull due to less code written and easily manageable.
CV vs Resume

CV:

  • A curriculum vitae is a longer (two pages) and more detail synopsis.
  • It includes a summary of your educational backgrounds as well as teaching and research experience, publication, presentations, honours and awards with other details. 
Resume:

  • Resume is one or two page summary of your skills, experience and education.
  • Resume should be brief and concise, no more than a page or two.