Showing posts with label FAQ. Show all posts
Showing posts with label FAQ. Show all posts

What is XML?


  • XML stands for EXtensible Markup Language
  • XML is a markup language much like HTML
  • XML was designed to carry data, not to display data
  • XML tags are not predefined. You must define your own tags
  • XML is designed to be self-descriptive
  • XML is a W3C Recommendation


The Difference Between XML and HTML

  • XML is not a replacement for HTML.
  • XML and HTML were designed with different goals:
  • XML was designed to transport and store data, with focus on what data is
  • HTML was designed to display data, with focus on how data looks
  • HTML is about displaying information, while XML is about carrying information.
  • XML Does Not DO Anything


Maybe it is a little hard to understand, but XML does not DO anything. XML was created to structure, store, and transport information.

The following example is a note to Tove, from Jani, stored as XML:

 <note>
 <to>Tove</to>
 <from>Jani</from>
 <heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
 </note>


The note above is quite self descriptive. It has sender and receiver information, it also has a heading and a message body.

But still, this XML document does not DO anything. It is just information wrapped in tags. Someone must write a piece of software to send, receive or display it.

  • With XML You Invent Your Own Tags


The tags in the example above (like <to> and <from>) are not defined in any XML standard. These tags are "invented" by the author of the XML document.

That is because the XML language has no predefined tags.

The tags used in HTML are predefined. HTML documents can only use tags defined in the HTML standard (like <p>, <h1>, etc.).


  • XML allows the author to define his/her own tags and his/her own document structure.
  • XML is Not a Replacement for HTML
  • XML is a complement to HTML.


It is important to understand that XML is not a replacement for HTML. In most web applications, XML is used to transport data, while HTML is used to format and display the data.

My best description of XML is this:

  • XML is a software- and hardware-independent tool for carrying information.
  • XML is a W3C Recommendation
  • XML became a W3C Recommendation on February 10, 1998.
  • XML is Everywhere
  • XML is now as important for the Web as HTML was to the foundation of the Web.
  • XML is the most common tool for data transmissions between all sorts of applications.



There are 5 predefined entity references in XML:

  1. &lt; < less than
  2. &gt; > greater than
  3. &amp; & ampersand
  4. &apos; ' apostrophe
  5. &quot; " quotation mark




Valid XML Documents

A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a Document Type Definition (DTD):

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
 <note>
 <to>Tove</to>
 <from>Jani</from>
 <heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
 </note>


The DOCTYPE declaration in the example above, is a reference to an external DTD file. The content of the file is shown in the paragraph below.
XML DTD

The purpose of a DTD is to define the structure of an XML document. It defines the structure with a list of legal elements:

<!DOCTYPE note [
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT to (#PCDATA)>
 <!ELEMENT from (#PCDATA)>
 <!ELEMENT heading (#PCDATA)>
 <!ELEMENT body (#PCDATA)>
 ]>


If you want to study DTD, you will find our DTD tutorial on our homepage.
XML Schema

W3C supports an XML-based alternative to DTD, called XML Schema:

<xs:element name="note">
 <xs:complexType>
   <xs:sequence>
     <xs:element name="to" type="xs:string"/>
     <xs:element name="from" type="xs:string"/>
     <xs:element name="heading" type="xs:string"/>
     <xs:element name="body" type="xs:string"/>
   </xs:sequence>
 </xs:complexType>


 </xs:element>

Attributes in C#


In the C# programming language, attributes are metadata attached to a field or a block of code, equivalent to annotations in Java. Attributes are accessible to both the compiler and programmatically through reflection.

Users of the language see many examples where attributes are used to address cross-cutting concerns and other mechanistic or platform uses. This creates the false impression that this is their sole intended purpose.

Their specific use as meta-data is left to the developer and can cover a wide range of types of information about any given application, classes and members that is not instance specific. The decision to expose any given attribute as a property is also left to the developer as is the decision to use them as part of a larger application framework.

Attributes should be contrasted against XML Documentation which also defines meta-data but is not included in the compiled assembly and therefore cannot be accessed programmatically.

Callback

In computer programming, a callback is a reference to executable code, or a piece of executable code, that is passed as an argument to other code. This allows a lower-level software layer to call a subroutine (or function) defined in a higher-level layer.

Protect your privacy on the Internet

Your privacy on the Internet depends on your ability to control both the amount of personal information that you provide and who has access to that information. To read about how your information gets on the Internet and how it is used,

Follow the practical advice below to help increase your privacy online.

Think before you share personal information

First, read the website's privacy policy
Privacy policies should clearly explain what data the website gathers about you, how it is used, shared, and secured, and how you can edit or delete it. (For example, look at the bottom of this and every page on Microsoft.com.) No privacy statement? Take your business elsewhere.
Do not share more than you need to
  • Do not post anything online that you would not want made public.
  • Minimize details that identify you or your whereabouts.
  • Keep your account numbers, user names, and passwords secret.
  • Only share your primary email address or Instant Message (IM) name with people who you know or with reputable organizations. Avoid listing your address or name on Internet directories and job-posting sites.
  • Enter only required information—often marked with an asterisk (*)—on registration and other forms.
Choose how private you want your profile or blog to be
Modify Windows Internet Explorer or website settings or options to manage who can see your online profile or photos, how people can search for you, who can make comments on what you post, and how to block unwanted access by others.

Monitor what others post

  • Search for your name on the Internet using at least two search engines. Search for text and images. If you find sensitive information on a website about yourself, look for contact information on the website and send a request to have your information removed.
  • Regularly review what others write about you on blogs and social networking websites. Ask friends not to post photos of you or your family without your permission. If you feel uncomfortable with material such as information or photos that are posted on others' websites, ask for it to be removed.


Guard your information

Protect your computer
You can greatly reduce your risk of online identity theft by taking these three steps to protect your computer:
  1. Use an Internet firewall.
    Note Windows 7, Windows Vista, and Windows XP with Service Pack 2 and Service Pack 3 have a firewall already built in and automatically turned on.
  2. Visit Microsoft Update to verify your settings and check for security updates.
    Note Microsoft Update will also update your Microsoft Office programs.
  3. Subscribe to antivirus software and keep it current. Microsoft Security Essentials is a free download for Windows 7, Windows Vista, and Windows XP. For more information, see Help protect your PC with Microsoft Security Essentials. For more information, see How to boost your malware defense and protect your PC.
Create strong passwords
Strong passwords are at least 14 characters long and include a combination of letters (both upper and lower case), numbers, and symbols. They are easy for you to remember but difficult for others to guess.
  1. Don't share your passwords with friends.
  2. Avoid using the same password everywhere. If someone steals it, all the information that password protects is at risk.
TipTip Learn how to create strong passwords.
Save sensitive business for your home computer
Avoid paying bills, banking, and shopping on a public computer, or on any device (such as a laptop or mobile phone) over a public wireless network.
TipTip Internet Explorer can help erase your tracks on a public computer, leaving no trace of specific activity. For more information, see InPrivate: Frequently asked questions.

Protect yourself from fraud

Spot the signs of a scam
Watch for deals that sound too good to be true, phony job ads, notices that you have won a lottery, or requests to help a distant stranger transfer funds. Other clues include urgent messages ("Your account will be closed!"), misspellings, and grammatical errors.
  1. Think before you click to visit a website or call a number in a suspicious email or phone message—both could be phony.
  2. Be cautious with links to video clips and games, or open photos, songs, or other files—even if you know the sender. Check with the sender first.
Look for signs that a web page is safe
Before you enter sensitive data, check for evidence that:
  1. The site uses encryption, a security measure that scrambles data as it crosses the Internet. Good indicators that a site is encrypted include a web address with https ("s" stands for secure) and a closed padlock beside it. (The lock might also be in the lower-right corner of the window.)
    Missing
  2. You are at the correct site—for example, at your bank's website, not a phony website. If you are using Internet Explorer, one sign of trustworthiness is a green address bar like the one above.
Use a phishing filter
Find a filter that warns you of suspicious websites and blocks visits to reported phishing sites. For example, try the SmartScreen Filter included in Internet Explorer.
Help detect potential fraud
In the United States, you are entitled to one free credit report every year from each of the three major U.S. credit bureaus: Experian, Equifax, and TransUnion. Get them by visiting AnnualCreditReport.com.

Security in Internet Explorer 9

Online threats usually fall into one of three categories:

  • Attacks on you (socially engineered attacks)
  • Attacks on your computer, web browser, or add-ons to your web browser.
  • Attacks on websites (for example, cross-site scripting)
Windows Internet Explorer 9, the newest version of the Microsoft web browser software, helps better protect you from these threats. Internet Explorer 9:
  1. Provides a better warning system for potentially dangerous downloads. A new feature, Application Reputation, helps you to make safer decisions when you download content from the Internet.
    It uses available reputation data to prevent unnecessary warnings for programs with established reputations. It also shows a warning only when a download carries a higher risk of being malicious.
    Security in Internet Explorer 9 - Application Reputation
  2. Filters content that might be dangerous. The ActiveX Filtering feature allows you to choose which websites can run ActiveX controls. By allowing ActiveX controls only on the sites you trust, you can reduce the number of ways cybercriminals can harm you.
    Security in Internet Explorer 9 - ActiveX Filtering
  3. Helps you avoid phishing scams and malware. SmartScreen Filter in Internet Explorer 9 helps protect you from websites that are suspected of hosting malicious content. When the SmartScreen Filter detects that a site may be unsafe, you will see an alert that will give you recommended actions. For more information, see SmartScreen Filter: Frequently asked questions.
  4. Protects your privacy from online tracking. Many websites use technology that tracks your activities as you browse the Internet. Internet Explorer 9 introduces Tracking Protection, a feature that helps to protect your privacy from third-party online trackers.
    You can install a Tracking Protection List from a provider you trust or enable your personalized list. Internet Explorer 9 uses the Tracking Protection Lists as a guide to block or allow third-party tracking.
    Security in Internet Explorer 9 - Tracking Protection
  5. Helps protect against cross-site scripting attacks. Cybercriminals look for vulnerabilities in website code so that they can insert malicious scripts which gather private information about site visitors.
    Cross-site scripting vulnerabilities are an example of what these criminals try to find. Once they exploit the vulnerability, they can hijack your web account, monitor your keystrokes, and perform unwanted actions on your behalf. Internet Explorer 9 can identify certain types of such attacks and neutralize them by blocking their malicious code.

.NET Framework


What is it?

It is a virtual machine that includes a large class library.

Why use it?

Reuse code for basic functions
Security
Memory Management
Safe sandboxes for applications.

Servers


What is a server?
It is like a servant.
A Server is a socket “Listener” that waits for commands and then performs operations to serve up information.

It is the foundation.

There are many types of servers:

Server Operating System
Web Servers
File Servers
FTP Servers
Network Server

Server Operating Systems reside in the C:\Windows folder

Default install of IIS for each server:
Windows 2000 & XP – IIS 5.0
Windows 2003 & Vista – IIS 6.0
Windows 2008 & Windows 7 – IIS 7.0

Expert Systems


Background:
Expert Systems were very popular in the 1980's, but they are still a great idea today.

How Expert Systems Work:
Instead of giving all the information on everything to someone, ask the person about what they are trying to do, and then return the answer to that specific problem.

Example:
Expert System applications are similar to medical diagnosis programs where you describe symptoms, and the computer returns the disease.

Most Popular Programming Language

Debate over the most popular programming language can become an emotional, almost religious battle.  And sometimes there's no debate at all, such as when a developer is assigned to repair legacy software.  "It was written in COBOL?" is a popular refrain.

A programming language is just one tool in a developer's expansive collection of specialty software and hardware.  So does it really matter which programming language a developer uses, as long as he or she is meeting customer requirements on time and within budget?

Yes, yes it does.  Ford or Chevy.  Stihl or Husky.  Coke or Pepsi.  Let's face it, we all get passionate about our tools.


Most Popular?

There are a number of ways to measure the popularity of a programming language, for example, based on the number of:

  • New applications written in the language
  • Existing applications written in the language
  • Developers that use the language primarily
  • Developers that use the language ever
  • Web searches
  • Available jobs that require skills in the language
  • Developers' favorites

The following surveys attempt to rank which programming languages are most popular, each using a different measure:

 

Tiobe.com

Tiobe is a popular site for ranking programming languages.  Tiobe bases its rankings on world-wide availability of skilled engineers, courses and third party vendors.  Rankings are not about the best programming language or the language in which most lines of code have been written.  Tiobe uses Google, MSN and Yahoo! search engines to measure the Web "chatter" and hence the popularity of each programming language.  The Tiobe top 11 for May 2007 are:

1. Java – 19.1%
2. C – 15.2%
3. C++ – 10.1%
4. PHP – 8.7%
5. Visual Basic – 8.4%
6. Perl – 6.2%
7. Python – 3.8%
8. C# – 3.7%
9. JavaScript – 3.1%
10. Ruby – 2.6%
11. Delphi – 2.1%

Dice.com

A September 2006 eWeek article ranks programming languages based on nationwide queries on Dice.com, a job site for technology professionals.  Following are percentage of jobs listed on Dice.com that require skills in each programming language:

1. Java – 35.7%
2. C, C++ – 15.3%
3. C# – 12.7%
4. Perl – 11.9%
5. JavaScript – 10.9%
6. Visual Basic .NET – 5.2%
7. PHP – 2.9%
8. Ajax – 2.7%
9. Python – 2.0%
10. Ruby – 0.7%

Evans Data

Evans Data Corporation conducted a Winter 2006 developer survey that ranks programming languages based on how many developers use that language at least some of the time:

1. Java – 45%
2. C, C++ – 40%
3. C# – 32%
4. Ajax – 28%
5. Visual Basic & VB.NET – 21%

Computerworld

In early 2005, Computerworld conducted a developer survey that measured which programming languages are in use by the developer's company:

1. C# – 72%
2. Java – 66%
3. Visual Basic – 62%
4. C++ – 54%
5. JavaScript – 50%
6. Unix Shell Scripts – 42%
7. Perl – 34%
8. C – 32%
a


Host a Website on Your Home Computer for Free

This tip will show you how to host a website on your home computer for free using IIS in six easy steps. Performing these six steps will greatly help you understand ASP.NET programming in general.
 Even if you do not have a practical need to host your own website, learning how everything works is of fundamental importance, and it is a great exercise for everyone. You can view the complete post that describes the details for each step by clicking on this link: Host a Website on Your Home Computer for Free.


Step 1: Make sure you have IIS installed.

Step 2: Add a website to IIS

Step 3: Open Port 80 to Make a website Accessible from the Internet

Step 4: Determine if your home computer uses a Static or Dynamic IP Address

Step 5: Handle a Dynamic IP Internet connection (if not using Static IP)

Step 6: Register Domain Name (if you do not want to just use IP Address)


Domain Name System


Keeping track of names and information: the domain system

As we indicated earlier, the network software generally needs a 32-bit Internet address in order to open a connection or send a datagram. However users prefer to deal with computer names rather than numbers. Thus there is a database that allows the software to look up a name and find the corresponding number. When the Internet was small, this was easy. Each system would have a file that listed all of the other systems, giving both their name and number. There are now too many computers for this approach to be practical. Thus these files have been replaced by a set of name servers that keep track of host names and the corresponding Internet addresses. (In fact these servers are somewhat more general than that. This is just one kind of information stored in the domain system.)

Rise and Fall of VisualBasic


Great empires often fall from within. 
The death knell for Visual Basic is premature, but it's true that VB has deviated from its original vision as an "Application Construction Kit" for the masses and has lost significant market share as a result.  
Tim Anderson summed it up best:
It sounds like perfection.  Microsoft had perhaps the largest number of developers in the world hooked on a language which in turn was hooked to Windows.  Yet Microsoft took this asset of incalculable value and apparently tossed it aside.  Back in 2002, Microsoft announced that the language was to be replaced by something new, different and incompatible.  That caused rumblings that continue today.  Developers expressed emotions ranging from frustration to anger.  They felt betrayed.

What is Microsoft .NET?


What is Microsoft .NET?

Microsoft .NET is simply something you need on your Windows PC to run our software.

What is TCP/IP?

TCP/IP is a set of protocols developed to allow cooperating computers to share resources across a network. It was developed by a community of researchers centered around the ARPAnet (Advanced Research Projects Agency). Certainly the ARPAnet is the best-known TCP/IP network. However as of June, 87, at least 130 different vendors had products that support TCP/IP, and thousands of networks of all kinds use it.