Thursday, December 8, 2011

Implement a Data Access Layer for Your App with ADO.NET

Implementing data access functionality is a core activity of most developers working with the .NET Framework, and the data access layers they build are an essential part of their applications. This article outlines five ideas to consider when building a data access layer with Visual Studio .NET and the .NET Framework. The tips include taking advantage of object-oriented techniques and the .NET Framework infrastructure by using base classes, making classes easily inheritable by following guidelines, and carefully examining your needs before deciding on a presentation method and external interface.

 Rule 1: Use Object-oriented Features
Rule 2: Adhere to the Design Guidelines
Rule 3: Take Advantage of the Infrastructure
Rule 4: Choose Your External Interface Carefully
Rule 5: Abstract .NET Framework Data Providers 



If you're developing a data-centric application targeting the Microsoft® .NET Framework, you'll eventually need to create a data access layer (DAL). You probably know that there are benefits of building your code in the .NET Framework. Because it supports both implementation and interface inheritance, your code can be more reusable, especially by developers across your organization using different Framework-compliant languages. In this article, I'll present five rules for developing a DAL for your .NET Framework-based applications.
Before I begin, I should note that any DAL you build based on the rules discussed in this article will be compatible to the traditional multitier or n-tier application favored by developers on the Windows® platform. In this architecture, the presentation layer consists of Web Forms, Windows Forms, or XML Web Services code that makes calls to a business layer that coordinates the work of the data access layer. This layer consists of multiple data access classes. Alternatively, the presentation layer may make calls directly to the DAL in cases where business process coordination is not required. This architecture is a variant of the traditional Model-View-Controller (MVC) pattern and in many ways is assumed by Visual Studio® .NET and the controls that it exposes.
 
 

Saturday, October 29, 2011

Windows Phone 7.5 (codenamed 'Mango')


Windows Phone 7.5 (codenamed 'Mango') is a major software update for Windows Phone, the mobile operating system by Microsoft. Although the OS internally identifies itself as version 7.1, it is marketed as version 7.5 in all published materials intended for end-users. The update was formally announced in New York on May 24, 2011, when Microsoft gave an in-depth preview of the update, shortly before which Steve Ballmer had disclosed that there would be over 500 features.
Microsoft started rolling out Windows Phone 7.5 to both the United States and International markets on September 27, 2011. The first phones that will come pre-loaded with Windows Phone 7.5 have been slated for release sometime in the fall and/or winter 2011.

Tuesday, September 27, 2011

HTML 5

HTML5-logo.svg
Filename extension .html, .htm
Internet media type text/html
Type code TEXT
Uniform Type Identifier public.html
Developed by World Wide Web Consortium and WHATWG
Type of format Markup language
Extended from SGML
Extended to XHTML5
Open format? Yes
Website whatwg.org/html
w3.org/TR/html5/
HTML5 is a language for structuring and presenting content for the World Wide Web, a core technology of the Internet. It is the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as of 1997) and as of September 2011 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (web browsers, parsers, etc.). HTML5 is intended to subsume not only HTML4, but XHTML1 and DOM2HTML (particularly JavaScript) as well.
Following its immediate predecessors HTML 4.01 and XHTML 1.1, HTML5 is a response to the observation that the HTML and XHTML in common use on the World Wide Web is a mixture of features introduced by various specifications, along with those introduced by software products such as web browsers, those established by common practice, and the many syntax errors in existing web documents. It is also an attempt to define a single markup language that can be written in either HTML or XHTML syntax. It includes detailed processing models to encourage more interoperable implementations; it extends, improves and rationalises the markup available for documents, and introduces markup and application programming interfaces (API)s for complex web applications.
In particular, HTML5 adds many new syntactical features. These include the <video>, <audio>, <header> and <canvas> elements, as well as the integration of SVG content. These features are designed to make it easy to include and handle multimedia and graphical content on the web without having to resort to proprietary plugins and APIs. Other new elements, such as <section>, <article>, <header>, and <nav>, are designed to enrich the semantic content of documents. New attributes have been introduced for the same purpose, while some elements and attributes have been removed. Some elements, such as <a>, <cite> and <menu> have been changed, redefined or standardized. The APIs and document object model (DOM) are no longer afterthoughts, but are fundamental parts of the HTML5 specification.[2] HTML5 also defines in some detail the required processing for invalid documents, so that syntax errors will be treated uniformly by all conforming browsers and other user agents.

For More Details Visit: http://en.wikipedia.org/wiki/HTML5




Friday, September 23, 2011

Website wireframe

A website wireframe, also known as a page schematic or screen blueprint, is a visual guide that represents the skeletal framework of a website. The wireframe depicts the page layout or arrangement of the website’s content, including interface elements and navigational systems, and how they work together. The wireframe usually lacks typographic style, color, or graphics, since the main focus lies in functionality, behavior, and priority of content. In other words, it focuses on “what a screen does, not what it looks like.”
Wireframes focus on
  • The kinds of information displayed
  • The range of functions available
  • The relative priorities of the information and functions
  • The rules for displaying certain kinds of information
  • The effect of different scenarios on the display
Brown, Dan M. Communicating Design: Developing Web Site Documentation for Design and Planning, Second Edition. New Riders, 2011, p. 169.
The website wireframe connects the underlying conceptual structure, or information architecture, to the surface, or visual design of the website. Wireframes help establish functionality, and the relationships between different screen templates of a website. An iterative process, creating wireframes is an effective way to make rapid prototypes of pages, while measuring the practicality of a design concept. Wireframing typically begins between “high-level structural work—like flowcharts or site maps—and screen designs.” Within the process of building a website, wireframing is where thinking becomes tangible.

For More Information Visit: http://en.wikipedia.org/wiki/Website_wireframe#Uses_of_wireframes



Sunday, September 18, 2011

Dynamic Language Runtime

Dynamic Language Runtime
Developer(s) Microsoft Dynamic Language Runtime Team
Stable release 1.0 / April 16, 2010
Operating system Microsoft Windows, Debian, Ubuntu
Platform .NET, Mono
Type System platform
License Apache License, v2.0
Website dlr.codeplex.com


The Dynamic Language Runtime (DLR) from Microsoft is an ongoing effort to bring a set of services that run on top of the Common Language Runtime (CLR) and provides language services for several different dynamic languages. These services include:
The DLR is used to implement dynamic languages like Python and Ruby on the .NET Framework.
By having several dynamic language implementations share a common underlying system, it should be easier to let these implementations interact with one another. For example, it should be possible to use libraries from any dynamic language in any other dynamic language. In addition, the hosting API allows interoperability with statically typed CLI languages like C#.


For More Info Visit: http://en.wikipedia.org/wiki/Dynamic_Language_Runtime

Thursday, September 15, 2011

100Gbit/s Carrier - Grade Ethernet Transport Technologies

© Prof. Dr. Andreas Kampmann/Cologne University of Applied Science. Microchip on a finger.© Prof. Dr. Andreas Kampmann/Cologne University of Applied
Modern information and communication technology has found its way over the last 15 years into practically all areas of business, society, and politics and continues to provide impetus for dramatic change. This is especially noticeable with the development of the data oriented Internet, which originally used classical line switched transport networks. The rapidly growing volumes of data traffic resulted in the last 10 years in a traffic load increase by more than 30 % per year. Thus, in 4 years the Internet will require a transport network capacity by a factor of 10 higher than today.
This traffic will be generated by new Internet services and new data oriented applications. Resulting from this trend higher bitrates e.g. 100 Gbit/s and very high requirements on the performance of the underlying network and transmission technologies are necessary. Especially, a high degree of security and availability of the network gets into the focus of future development and new concepts for secure data transport are needed.

For more details please visit: http://www.research-in-germany.de/main/research-areas/information-and-communication-technologies/research-projects/42314/3-nr-3-100gbits-carrier.html

Friday, September 9, 2011

FB has changed without any notification.

FB has changed without any notification. Take a look at your URL (top box on your screen.) If you see "http" or just "www" instead of "https" you DO NOT have a secure session & can be hacked.

Go to Account - Account Settings - Security ( left side - after General) - Security browsing click edit - enable https - click Save.

FB has automatically set it on the non-secure setting! Do everyone a huge favor, Share It with others

Monday, September 5, 2011

Array in C# 3.5

Web 2.0

The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design,  and collaboration on the World Wide Web. A Web 2.0 site allows users to interact and collaborate with each other in a social media dialogue as creators (prosumers) of user-generated content in a virtual community, in contrast to websites where users (consumers) are limited to the passive viewing of content that was created for them. Examples of Web 2.0 include social networking sites, blogs, wikis, video sharing sites, hosted services, web applications, mashups and folksonomies.
The term is closely associated with Tim O'Reilly because of the O'Reilly Media Web 2.0 conference in late 2004. Although the term suggests a new version of the World Wide Web, it does not refer to an update to any technical specification, but rather to cumulative changes in the ways software developers and end-users use the Web. Whether Web 2.0 is qualitatively different from prior web technologies has been challenged by World Wide Web inventor Tim Berners-Lee, who called the term a "piece of jargon", precisely because he intended the Web in his vision as "a collaborative medium, a place where we [could] all meet and read and write". He called it the "Read/Write Web".

For More Details visit: http://en.wikipedia.org/wiki/Web_2.0

Friday, August 26, 2011

Agile Principles and Values For Development


Agile Principles and Values For Development

Agile development is a term that was derived from the Agile Manifesto, which was written in 2001 by a group that included the creators of Scrum, Extreme Programming (XP), Dynamic Systems Development Method (DSDM), and Crystal; a representative of feature-driven development; and several other thought leaders in the software industry. The Agile Manifesto established a common set of overarching values and principles for all of the individual agile methodologies at the time. It details four core values for enabling high-performing teams.
  • Individuals and their interactions
  • Delivering working software
  • Customer collaboration
  • Responding to change
These core values are supported by 12 principles, which you can find at the following Web site: Manifesto for Agile Software Development.
These values are not just something the creators of the Agile Manifesto intended to give lip service to and then forget. They are working values. Each individual agile methodology approaches these values in a slightly different way, but all of these methodologies have specific processes and practices that foster one or more of these values.
Individuals and interactions are essential to high-performing teams. Studies of "communication saturation" during one project showed that, when no communication problems exist, teams can perform 50 times better than the industry average. To facilitate communication, agile methods rely on frequent inspect-and-adapt cycles. These cycles can range from every few minutes with pair programming, to every few hours with continuous integration, to every day with a daily standup meeting, to every iteration with a review and retrospective.
Just increasing the frequency of feedback and communication, however, is not enough to eliminate communication problems. These inspect-and-adapt cycles work well only when team members exhibit several key behaviors:
  • respect for the worth of every person
  • truth in every communication
  • transparency of all data, actions, and decisions
  • trust that each person will support the team
  • commitment to the team and to the team’s goals
To foster these types of behavior, agile management must provide a supportive environment, team coaches must facilitate their inclusion, and team members must exhibit them. Only then can teams achieve their full potential.
Moving toward these types of behavior is more difficult than it might appear. Most teams avoid truth, transparency, and trust because of cultural norms or past negative experiences from conflict that was generated by honest communications. To combat these tendencies, leadership and team members must facilitate positive conflict. Doing so not only helps create productive behavior but also has several other benefits:
  • Process improvement depends on the team to generate a list of impediments or problems in the organization, to face them squarely, and then to systematically eliminate them in priority order.
  • Innovation occurs only with the free interchange of conflicting ideas, a phenomenon that was studied and documented by Takeuchi and Nonaka, the godfathers of Scrum.
  • Aligning the team toward a common goal requires the team to surface and resolve conflicting agendas.
  • Commitment to work together happens only when people agree on common goals and then struggle to improve both personally and as a team.
This last bullet, about commitment, is especially important. It is only when individuals and teams are committed that they feel accountable for delivering high value, which is the bottom line for software development teams. Agile methodologies facilitate commitment by encouraging teams to pull from a prioritized work list, manage their own work, and focus on improving their work practices. This practice is the basis of self-organization, which is the driving force for achieving results in an agile team.
To create high-performing teams, agile methodologies value individuals and interactions over processes and tools. Practically speaking, all of the agile methodologies seek to increase communication and collaboration through frequent inspect-and-adapt cycles. However, these cycles work only when agile leaders encourage the positive conflict that is needed to build a solid foundation of truth, transparency, trust, respect, and commitment on their agile teams.

For more details Visit: http://msdn.microsoft.com/library/dd997578.aspx

Monday, August 22, 2011

Microsoft Visual SourceSafe

Microsoft Visual SourceSafe (VSS) is a source control software package oriented towards small software development projects. Like most source control systems, SourceSafe creates a virtual library of computer files. While most commonly used for source code, SourceSafe can actually handle any type of file in its database, but prior versions have been shown to be unstable when confronted with large amounts of non-textual data (images, binary executables, etc.).

 

History

SourceSafe was originally created by a company called One Tree Software. One Tree SourceSafe had gone through several releases in their 1.x to 2.x cycles, supporting DOS, OS/2 (with a Presentation Manager GUI), Windows, Windows NT, Mac, and Unix. When Microsoft bought OneTree in 1994,[3] they immediately ceased development on all versions except for Windows. Microsoft "Visual SourceSafe 3.1", a Windows 16-bit-only, rebranded One Tree 3.0 version, was briefly available before Microsoft released a Version 4.0.


Overview

SourceSafe was initially not a client/server SCM, but rather a local only SCM. Architecturally, this serves as both a strength and weakness of design, depending on the environment it is used in. It allows a single user system to be set up with less configuration than that of some other SCM systems. In addition, the process of backing up can be as simple as copying all of the contents of a single directory tree. For multi-user environments, however, it lacks many important features found in other SCM products, including support for atomic commits of multiple files (CVS has the same problem as it is built upon the original RCS). SourceSafe inherits its shared functionality using direct remote file system access to all the files in the repository. This, together with a bug where the code is using old memory after a call to reallocate, are contributing factors to why SS databases sometimes go bad.


Starting with VSS 2005, Microsoft has added a client–server mode. In this mode, clients do not need write access to an SMB share where they can potentially damage the SS database. Instead, files must be accessed through the VSS client tools - the VSS windows client, the VSS command-line tool, or some application that integrates with or emulates these client tools.

For more details visit: http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe
Practice Questions for Exam 70-536 (MCTS - Microsoft Certified Technology Specialist)

QUESTIONS Technology Focus: Developing applications that use system types and collections


1. You are developing a text processing application by using the .NET Framework. You write the following code to iterate over a collection of strings and populate a ListBox control with the values it contains (line numbers are for reference only). The GetStrings function returns an array of strings.


C#
01: StringCollection myStrCol = new StringCollection();
02: myStrCol.AddRange(GetStrings());
03: StringEnumerator myEnumerator = myStrCol.GetEnumerator();

Visual Basic
01: Dim myStrCol As StringCollection = New StringCollection()
02: myStrCol.AddRange(GetStrings())
03: Dim myEnumerator As StringEnumerator = myStrCol.GetEnumerator()
You need to add code to populate the ListBox control. What code should you add?


 
Option A

C#
while (myEnumerator.MoveNext())
      lstStrings.Items.Add(myEnumerator.Current);

Visual Basic
While (myEnumerator.MoveNext())
   lstStrings.Items.Add(myEnumerator.Current)
End While
Option B

C#
do
{
   lstStrings.items.Add(myEnumerator.Current)
} while (myEnumerator.MoveNext())

Visual Basic
Do
   lstStrings.items.Add(myEnumerator.Current)
Loop While (myEnumerator.MoveNext())
 
Option C

C#
myEnumerator.Reset();
do
{
   lstStrings.items.Add(myEnumerator.Current)
} while (myEnumerator.MoveNext())

Visual Basic
myEnumerator.Reset()
Do
   lstStrings.items.Add(myEnumerator.Current)
Loop While (myEnumerator.MoveNext())
 
Option D

C#
do
{
   lstStrings.items.Add(myEnumerator.Current)
   myEnumerator.Reset();
} while (myEnumerator.MoveNext())

Visual Basic
myEnumerator.Reset()
Do
   lstStrings.items.Add(myEnumerator.Current)
Loop Until (myEnumerator.MoveNext())

Sunday, August 21, 2011

Microsoft Student Partner

Now's your time to shine!

  • the program
    As a Microsoft Student Partner, you’ll be challenged to use your enthusiasm and knowledge to lead the technology discussion on your campus. You’ll demo the latest and greatest technologies, host events, and connect with other students and faculty to inspire them to create what’s next.
  • the perks
    Sure, you'll get access to Microsoft software, training and swag, but we think the real perks are the intangible ones. We're talking about the skills, connections and portfolio you'll build in this role. You'll get the inside scoop to our latest products and job opportunities, meet like-minded individuals from around the world, and boost your resume with invaluable real world skills.
  • the people (YOU!)
    You'll need to be part technology guru, part trendsetter, and full on student. We select top young minds from around the world that are passionate about technology, marketing and entrepreneurship. If your eyes light up every time you get your hands on the hottest technology gadget and you can't wait to show the world, then this is the role for you!​
    For More Details Visit: https://www.microsoftstudentpartners.com/