Sunday 18 October 2009

Dojo

Dojo Toolkit is an open source modular JavaScript library (or more specifically JavaScript toolkit) designed to ease the rapid development of cross platform, JavaScript/Ajax based applications and web sites.

Tuesday 11 August 2009

SEO


Search engine optimization (SEO) is the process of improving the volume or quality of traffic to a web site from search engines via "natural" or un-paid ("organic" or "algorithmic") search results as opposed to search engine marketing (SEM) which deals with paid inclusion.



Methods:



Getting indexed


The leading search engines, such as Google and Yahoo!, use crawlers to find pages for their algorithmic search results. Pages that are linked from other search engine indexed pages do not need to be submitted because they are found automatically.


Google offers Google Webmaster Tools, for which an XML Sitemap feed can be created and submitted for free to ensure that all pages are found, especially pages that aren't discoverable by automatically following links.




Preventing crawling


To avoid undesirable content in the search indexes, webmasters can instruct spiders not to crawl certain files or directories through the standard robots.txt file in the root directory of the domain. Additionally, a page can be explicitly excluded from a search engine's database by using a meta tag specific to robots. When a search engine visits a site, the robots.txt located in the root directory is the first file crawled. The robots.txt file is then parsed, and will instruct the robot as to which pages are not to be crawled. As a search engine crawler may keep a cached copy of this file, it may on occasion crawl pages a webmaster does not wish crawled. Pages typically prevented from being crawled include login specific pages such as shopping carts and user-specific content such as search results from internal searches.


Increasing prominence


A variety of other methods are employed to get a webpage shown up at the search results. These include:


§ Cross linking between pages of the same website. Giving more links to main pages of the website, to increase PageRank used by search engines.[35] Linking from other websites, including link farming and comment spam. However, link spamming can also have a bad impact on your search result position.


§ Writing content that includes frequently searched keyword phrase, so as to be relevant to a wide variety of search queries.[36] Adding relevant keywords to a web page meta tags, including keyword stuffing.



§ URL normalization of web pages accessible via multiple urls, using the "canonical" meta tag.




White hat vs Black hat


SEO techniques can be classified into two broad categories: techniques that search engines recommend as part of good design, and those techniques of which search engines do not approve. The search engines attempt to minimize the effect of the latter, among them spamdexing. Some industry commentators have classified these methods, and the practitioners who employ them, as either white hat SEO, or black hat SEO.[38] White hats tend to produce results that last a long time, whereas black hats anticipate that their sites may eventually be banned either temporarily or permanently once the search engines discover what they are doing.[39]



A search engine optimization technique is considered white hat SEO if it conforms to the search engines' guidelines and involves no deception. We can say the legal SEO is a white hat SEO. Black hat SEO attempts to improve rankings in ways that are disapproved of by the search engines, or involve deception.






Affiliate Marketing is an Internet-based marketing practice in which a business rewards one or more affiliates for each visitor or customer brought about by the affiliate's marketing efforts. It is an application ofcrowdsourcing.[citation needed] Examples include rewards sites, where users are rewarded with cash or gifts, for the completion of an offer, and the referral of others to the site.


Affiliate marketing—using one website to drive traffic to another—is a form of online marketing, which is frequently overlooked by advertisers. While search engines, e-mail, and website syndication capture much of the attention of online retailers, affiliate marketing carries a much lower profile. Still, affiliates continue to play a significant role in e-retailers' marketing strategies.





Pay per click (PPC) is an Internet advertising model used on websites, in which advertisers pay their host only when their ad is clicked.



SQL Server

Friday 17 July 2009

E-Commerse Application Developement

 

1. configuring ASP.NET with IIS.

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

aspnet_regiis.exe –i

2. Even if u use 3.5 version go for v2.0.50727 and run aspnet_regiis.exe because there is no executable with the name aspnet_regiis.exe in 3.5.

3. While creating new website in ASP.NET, If you choose an HTTP location (such as http://www.example.com), the web application will be executed through IIS.

If you choose the file system, you need to choose a physical location on your disk, application is executed using Visual Studio’s integrated web server.

4. After making a column an identity column, SQL Server will not allow you, by default, to add values to that column manually. This is why you’ll find, typically in SQL table creation scripts, commands like the following, which are used to temporarily enable inserting custom data to the identity column:

SET IDENTITY_INSERT Departments ON

5. The generated values for identity columns are unique over the life of your table. A value that was generated once will never be generated again, even if you delete all the rows from the table. If you want SQL Server to restart numbering from the initial value, you need to either delete and re-create the table or truncate the table using the TRUNCATE SQL command. Truncating a table has the same effect as deleting and creating it again.

6. indexes speed up table reads, but they slow down insert, delete, and update operations—because on those operations, the database server needs to alter not only the table, but also the additional structures created by its index (or indexes).

7. The INTO keyword in INSERT is optional, but including it makes the statement easier to read.

8. Database Connection:

// Create the connection object

SqlConnection connection = new SqlConnection();

// Set the connection string

connection.ConnectionString = "Server=(local)\SqlExpress; " +"User ID=username; Password=password;" +

"Database=dbname"; ---------------------SQL Server Authentication

// Open the connection

connection.Open();

Integrated Security=True

(or Integrated Security=SSPI) instead of User ID=username; Password=password. For Windows Authentication,

9. readonly is different from const The major similarity between the readonly and const fields is that you aren’t allowed to change their values

inside class methods or properties. The main difference is that whereas for constants you need to set their value at

the time you write the code (their values must be known at compile-time), with readonly fields you are allowed to dynamically set their values in the class constructor.

10. string is an alias for System.String. They compile to the same code, so at execution time there is no difference whatsoever. This is just one of the aliases in C#. The complete list is:

• object: System.Object

• string: System.String

• bool: System.Boolean

• byte: System.Byte

• sbyte: System.SByte

• short: System.Int16

• ushort: System.UInt16

• int: System.Int32

• uint: System.UInt32

• long: System.Int64

• ulong: System.UInt64

• float: System.Single

• double: System.Double

• decimal: System.Decimal

• char: System.Char

Apart from string and object, the aliases are all to value types.

Apart from string, object and decimal, the aliases are all to value types. The only primitive type which doesn't have an alias is System.IntPtr.

11. This process of converting various forms of a URL to a

standard form is called URL canonicalization.

11. For typical URL rewriting scenarios, it makes sense to use one of the existing URL rewriting products—such as ISAPI_Rewrite by Helicon Tech (http://www.isapirewrite.com/) or UrlRewriter.NET (http://urlrewriter.net).

UrlRewriter.NET : This tool is an opensource

component that implements URL rewriting at the ASP.NET level, and for this reason it’s very

easy to integrate into your project. ISAPI_Rewrite, on the other hand, is implemented as an ISAPI

filter and it performs the rewrite at the IIS level. This offers great performance but it also requires

access to the server machine in order to install it.

12. the question mark (?) metacharacter specifies that the preceding character is optional. So if you want to match “color” and “colour,” your regular expression would be colou?r.

13.

The problem with ViewState is that it’s transferred between the client and the server on

every request. With pages that contain a large number of controls, the ViewState information

can grow significantly, causing a lot of network traffic. The ViewState information can be disabled

for an entire page, or just for specific controls on a page. However, when disabling ViewState

for a control, you need to fill it with data even during postback events; otherwise, its contents

1. will disappear

When you know the exact length of the strings you’re storing in a table field, it’s better to use the Char

data type than VarChar.

TryParse. This static method of the Int32 class (you can find it in other similar classes, too) is similar to

Parse, but doesn’t throw an exception if the conversion cannot be done—which can easily happen if the visitor

enters a letter instead of a number in the quantity box, for example.

TryParse returns a bool value representing the success of the operation and returns the converted value as an

out parameter:

// Get the quantity, guarding against bogus values

if (Int32.TryParse(quantityTextBox.Text, out quantity))

INSERT INTO Orders DEFAULT VALUES

set EnableViewState property to False, so its value will be cleared after a successful command executes.

Hashing is a one-way system, but to store credit card details securely, you’ll need to use a

more advanced, bidirectional form of encryption.

System.Security.Cryptography namespace in .NET contains several classes for hashing

SHA1 (Secure Hash Algorithm) generates a 160-bit hash

MD5 (Message Digest). generates a 128-bit hash

// convert password to byte array

byte[] passwordBytes =

System.Text.ASCIIEncoding.ASCII.GetBytes(password);

// generate hash from byte array of password

byte[] passwordHash = hasher.ComputeHash(passwordBytes);

// convert hash to string

return Convert.ToBase64String(passwordHash, 0, passwordHash.Length);

The two available asymmetric algorithms are DSA (Digital Signature Algorithm) and RSA

(Rivest-Shamir-Adleman, from the names of its inventors: Ronald Rivest, Adi Shamir, and

Leonard Adleman). Of these, DSA can only be used to “sign” data so that its authenticity can be

verified, whereas RSA is more versatile (although slower than DSA when used to generate digital

signatures). DSA is the current standard for digital authentication used by the U.S. government.

The symmetric algorithms found in the .NET Framework are DES (Data Encryption Standard),

Triple DES (3DES), RC2 (“Ron’s Code,” or “Rivest’s Cipher” depending on who you ask,

also from Ronald Rivest), and Rijndael (from the names of its inventors, John Daemen and

Vincent Rijman)

  1. Prevent Cross-Site Scripting,XSS Vulnerabilities in ASP.NET, use the floowinf in the controls that have text property

HttpUtility.HtmlEncode Method (System.Web)

  1. Any Data that can be serialised can be added to viewstate.

SqlMetal.exe -à to generate both dbml and O/R Code for a given database.

Sqlmetal “......\*.mdf” /language:cs /dbml:SomeName.dbml

Sqlmetal “......\*.mdf” /language:cs /dbml:SomeName.cs

Sunday 22 February 2009

Important

 

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning.Iterations are short time frames that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders. This helps minimize overall risk, and lets the project adapt to changes quickly.

Agile methods emphasize face-to-face communication over written documents when the team is all in the same location. When a team works in different locations, they maintain daily contact through videoconferencing, voice, e-mail, etc.

The waterfall model is the most structured of the methods, stepping through requirements-capture, analysis, design, coding, and testing in a strict, pre-planned sequence. Progress is generally measured in terms of deliverable artifacts: requirement specifications, design documents, test plans, code reviews and the like.

A common criticism of the waterfall model is its inflexible division of a project into separate stages, where commitments are made early on, making it difficult to react to changes in requirements as the project executes. Iterations are expensive. This means that the waterfall model is likely to be unsuitable if requirements are not well understood or are likely to change in the course of the project.

Agile methods, in contrast, produce completely developed and tested features (but a very small subset of the whole) every few weeks. The emphasis is on obtaining the smallest workable piece of functionality to deliver business value early, and continually improving it and adding further functionality throughout the life of the project. If a project being delivered under the waterfall method is cancelled at any point up to the end, there is nothing to show for it beyond a huge resources bill. With the agile method, being cancelled at any point will still leave the customer with some worthwhile code that has likely already been put into live operation.

Test Driven Development : When sitting down to create an application, many developers start by writing the code. Test Driven Development emphasizes the opposite, stressing the need to prepare test scenarios or test cases before writing the code itself. This seemingly backwards approach has some benefits. First of all, it requires that the programmer be very clear about what tests the program should pass and what test it should fail, bringing such concerns to the forefront of the software design process. Furthermore, by meticulously detailing what tests a system should pass and fail we can use tools to automate most of our tests. An automated job is one that's always very, very easy to do. These automated tests are meant to be run every time there's a code change and are referred to as unit tests.

NUnit is a free, open-source tool for .NET that is developed as a framework which can help automate unit testing. (The same unit test framework was already available for Java and was named jUnit.) NUnit can be downloaded from NUnit site or the SourceForge NUnit page.

http://www.4guysfromrolla.com/articles/011905-1.aspx

http://www.codeproject.com/KB/dotnet/tdd_in_dotnet.aspx#h2

TortoiseSVN : In software development, Subversion (SVN) is a version-control system initiated in 1999 by CollabNet Inc. Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used Concurrent Versions System (CVS).

A Subversion client, implemented as a windows shell extension.

TortoiseSVN is a really easy to use Revision control / version control / source control software for Windows.
Since it's not an integration for a specific IDE you can use it with whatever development tools you like.
TortoiseSVN is free to use. You don't need to get a loan or pay a full years salary to use it.

Windows services are applications that run outside of any particular user context in Windows NT, Windows 2000, or Windows XP.