An introduction to JavaScript Programming Language.

Do You Know?

  • HTML
  • CSS

When Your Start JavaScript then before should requiring knowledge of HTML & CSS. After that, you can use JavaScript.

What is JavaScript ?

JavaScript is the programming language of HTML and the Web. It makes web page dynamic. It is an interpreted programming language with object-oriented capabilities

JavaScript History

1995 by Brendan Eich (NetScape)
• Mocha
• LiveScript
• JavaScript
• ECMAScript

Tools

Where You use Javascript means editor

  • Notepad
  • Notepad ++
  • Any Text Editor

JavaScript and Java Same?

Tagged : / / / / / /

An Introduction To HTML. How many types of pages in html?

WHAT IS HTML?

HTML provides a way of displaying Web pages with text and images or multimedia content. HTML is not a programming language, but a markup language. An HTML file is a text file containing small markup tags. The markup tags tell the Web browser, such as Mozila Firefox or Google Chrome, how to display the page. An HTML file must have an htm or html file extension. HTML stands for HyperText Markup Language.

HTML pages are of two types:

Static Pages – Static pages, as the name indicates, comprise static content (text or images). So you can only see the contents of a web page without being able to have any interaction with it.

Dynamic Pages – Dynamic pages are those where the content of the web page depend on user input. So interaction with the user is required in order to display the web page. For example, consider a web page which requires a number to be entered from the user in order to find out if it is even or odd. When the user enters the number and clicks on the appropriate button, the number is sent to the web server, which in turn returns the result to the user in an HTML page.

Tagged : / / /

Introduction of Apache Ant

Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects.

The most immediately noticeable difference between Ant and Make is that Ant uses XML to describe the build process and its dependencies, whereas Make has its Makefile format. By default the XML file is named build.xml.

Ant is an Apache project. It is open source software, and is released under the Apache Software License.

Tagged : / / / / / / / /

Agile Software Development Methodology

What is Agile Software Development Methodology?

Agile development practices increase the velocity at which software teams deliver customer value by improving everyone’s visibility into project features, quality and status.

BROAD DEFINITION: 
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 generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.

General Definition
There are many specific agile development methods. Most promote development, teamwork, collaboration, and process adaptability throughout the life-cycle of the project.

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.

 

image

Specification

This helps minimize overall risk, and lets the project adapt to changes quickly. Stakeholders produce documentation as required. An iteration may not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.[1] Multiple iterations may be required to release a product or new features.

Team composition in an agile project is usually cross-functional and self-organizing without consideration for any existing corporate hierarchy or the corporate roles of team members. Team members normally take responsibility for tasks that deliver the functionality an iteration requires. They decide individually how to meet an iteration’s requirements.

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.

Most agile teams work in a single open office (called bullpen), which facilitates such communication. Team size is typically small (5-9 people) to help make team communication and team collaboration easier. Larger development efforts may be delivered by multiple teams working toward a common goal or different parts of an effort. This may also require a coordination of priorities across teams.

No matter what development disciplines are required, each agile team will contain a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions. At the end of each iteration, stakeholders and the customer representative review progress and re-evaluate priorities with a view to optimizing the return on investment and ensuring alignment with customer needs and company goals.

Most agile implementations use a routine and formal daily face-to-face communication among team members. This specifically includes the customer representative and any interested stakeholders as observers. In a brief session, team members report to each other what they did yesterday, what they intend to do today, and what their roadblocks are. This standing face-to-face communication prevents problems from being hidden.

Specific tools and techniques such as continuous integration, automated or xUnit test, pair programming, test driven development, design patterns, domain-driven design, code refactoring and other techniques are often used to improve quality and enhance project agility.

 

image

Some of the principles behind the Agile Manifesto are:

* Customer satisfaction by rapid, continuous delivery of useful software
* Working software is delivered frequently (weeks rather than months)
* Working software is the principal measure of progress
* Even late changes in requirements are welcomed
* Close, daily cooperation between business people and developers
* Face-to-face conversation is the best form of communication (co-location)
* Projects are built around motivated individuals, who should be trusted
* Continuous attention to technical excellence and good design
* Simplicity
* Self-organizing teams
* Regular adaptation to changing circumstances

Reference: http://en.wikipedia.org/wiki/Agile_software_development

Tagged : / / / / / /

Introducing Team Foundation Build 2010 | TFS 2010 Training

Introducing Team Foundation Build 2010
  • Introduction
  • Build Automation
  • Flickr’s Continuous Deployment
  • Why Automate the Build?
  • Team Build Overview
  • Demo: Team Build Overview
  • Machines, Controllers, and Agents
  • Build System Topologies
  • Build Agent Software Installation
  • New in 20102
  • Build Status and Notification
  • Demo: Build Alerts
  • Demo: Build Notification Application4m 44s
  • The End Game
  • Summary
The Build Environment
  • Introduction
  • Installation and Configuration
  • Topology and Restrictions
  • Installing the Build Service
  • Demo: Installing the Build Service
  • Demo: Configuring Controller and Agents
  • Demo: Creating the Build Drop folder
  • Demo: Installing a Test Agent Instance
  • Installing and Configuration Summary
  • Demo: Creating and Running a Simple Build
  • Demo: Managing Build Artifacts
  • Summary
Simple Build Automation
  • Introduction
  • Build Definitions Options
  • Demo: General Options
  • Demo: Trigger Options
  • Demo: Workspace Mapping
  • Demo: Build Defaults Options
  • Demo: Process Options
  • Demo: Private or Buddy Builds
  • Gated Check In
  • Demo: Gated Check In
  • Build Reports
  • Summary
Working with Build Process Templates (Scripts)
  • Introduction
  • Build Process Templates
  • Demo: Hello World
  • Demo: Execution Scope
  • Demo: Build Script Arguments
  • Demo: Build Script Variables
  • Demo: InvokeProcess Activity
    Summary
Migrating from TFS 2008 
  • Introduction
  • Overview
  • Build Automation in TFS 2008
  • Demo: Using the Upgrade Script4
  • Demo: Calling MSBuild from 2010 Build3
  • Demo: Custom MSBuild Tasks4
  • Summary
Tagged : / / / / / / / / / / / /

Software Development with Team Foundation Server 2015

Introduction
  • Understanding the Feature Path from TFS 2013
  • Introduction
  • Overview
  • TFS 2013 Update Timeline
  • Agile Tools
  • Demo: Agile Tools
  • Git
  • Demo: Git Improvements
  • Demo: Git CodeLens
  • Demo: Pull Requests
  • Testing
  • Demo: Testing Features
  • Summary
Installing and Configuring TFS 2015
  • Introduction
  • Install Options
  • TFS Pre-upgrade Tool
  • Demo: Pre-upgrade Process
  • Upgrading to TFS 2015
  • Demo: Upgrade from TFS 2013 to TFS 2015 Update2
  • Demo: Verify the Upgrade
  • Demo: Project Rename
  • Summary
Working with New Kanban Board Features
  • Introduction
  • Portfolio Management
  • Demo: Epics
  • Demo: Features
  • Product Backlog
  • Demo: Product Backlog
  • Kanban
  • Demo: Kanban Board Intro
  • Demo: Kanban Columns
  • Demo: Kanban Swimlanes
  • Demo: Kanban – Working with Tasks
  • Customizations
  • Demo: Customizing the Cumulative Flow Diagram
  • Demo: Customizing Working Days
  • Demo: Customizing Bugs on the Backlog
  • Productivity
  • Demo: Creating Work Item Templates
  • Demo: Quick Search
  • Sprint Planning
  • Demo: Capacity Planning
  • Demo: Sprint Planning
  • Demo: Sprint Progress
  • Tracking Work
  • Demo: Charts and Alerts
  • Dashboards
  • Demo: Working with Dashboards
  • Summary
Working with New Version Control Features
  • Introduction
  • Version Control Enhancements
  • Demo: Git Branching Enhancements
  • Demo: Working with Git Branches
  • Git Rebase
  • Demo: Git Rebase
  • Git Branch Policies
  • Demo: Configure Branch Policies
  • Demo: Create a Pull Request
  • Demo: Resolve Branch Policy Issues
  • Quick Code Edit
  • Demo: Quick Code Edit
  • Summary
Building Software
  • Introduction
  • Build Agent
  • Demo: Configure a Build Agent
  • Demo: Build Capabilities
  • Build Definition
  • Demo: Create a Build Definition
  • Running a Build
  • Demo: Running a Build
  • Build Customization
  • Demo: Customize a Build and View Test Results
  • Demo: Customize with Build Steps
  • Demo: Multiple Configurations and Parallel Builds
  • Demo: Build Triggers – Continuous Integration and Pull Requests
  • Demo: Capabilities and Demands
  • Demo: Build Definition History
  • Demo: Build Definition Templates
  • Summary
Testing Software
  • Introduction
  • Test Hub1
  • Demo: Create a Test Plan
  • Demo: Create Test Suites
  • Demo: Create Test Cases
  • Demo: Create Test Cases from the Grid View
  • Demo: Shared Steps
  • Demo: Test Parameters
  • Demo: Shared Parameters
  • Demo: Running Tests
  • Demo: Test Run Analysis
  • Demo: Export Test Plans
  • Exploratory Testing Extension
  • Demo: Install Exploratory Testing Extension
  • Demo: Exploratory Testing
  • Demo: Exploratory Testing Results
  • Kanban Integration
  • Demo: Creating Test Cases from the Kanban Board
  • Summary
Integrating with TFS 2015
  • Introduction
  • Marketplace
  • Demo: Installing Marketplace Extensions
  • Demo: Working with Extensions
  • Demo: Manage Extensions
  • Creating Extensions
  • Demo: Create an Extension
  • Demo: Packaging Extensions
  • Demo: Install an Extension
  • TFS 2015 API
  • Demo: TFS 2015 API
  • Service Hooks
  • Demo: Service Hooks
  • Summary
Tagged : / / / / / / / / / / /

Introduction of Windows Internal | Windows Internal Overview | Windows Internal Quick Guide

Windows Resource Kits
The Microsoft® Windows Resource Kit Tools are a set of tools to help administrators streamline management tasks such as troubleshooting operating system issues, managing Active Directory®, configuring networking and security features, and automating application deployment.

Task and Responsibilities

  • Deployment
  • System administration scripting
  • Directory services
  • Networking and internetworking
  • Internet services
  • Custom and automated installations
  • Registry
  • Security
  • Policy-based administration
  • Server management
  • Clustering and load balancing
  • Performance management
  • Troubleshooting

About the Windows Server 2003 Resource Kit
Once you have download and installed the resource kit (very easy process), you are pretty much set up, now all you need to do it work with each tool so you know what they can do, and that’s the intention of this article series.

After the installation, go to Start => All Programs => Windows Resource Kit Tools => Command Shell

Download – http://www.microsoft.com/en-us/download/confirmation.aspx?id=17657

If you do a dir, you will see the directory listing for all the files listed here. Each file has a brief description of what it does:

Clearmem.exe: Clear Memory
Compress.exe: Compress Files
Confdisk.exe: Disk Configuration Tool
Consume.exe: Memory Consumers Tool
Dh.exe: Display Heap
Delprof.exe: User Profile Deletion Utility
Diskuse.exe: User Disk Usage Tool
Gpmonitor.exe: Group Policy Monitor
Instsrv.exe: Service Installer
Memmonitor.exe: Memory Monitor
Vrfydsk.exe: Verify Disk

Reference – http://www.windowsnetworking.com/articles-tutorials/windows-2003/Windows-Server-2003-Resource-Kit.html

What is Windows Service?
Windows Service applications run for a long time and are mostly used in server environments therefore they are usually called long-running applications. Capability to create windows service is one of the powerful features of .net.

Windows Service applications do not have any user interface or they do not produce any visual output. Services can run in the background while a user is performing or executing any other task in the foreground. If any user messages are generated, they are written to the Windows Event Log.

Windows Services are controlled by the Service Control Manager that helps to start, stop or pause the windows service, as needed.

Examples of windows services include task scheduling, running message queues, file indexing, plug and play device detection etc.

In the source code, Windows Service extends the System.ServiceProcess.Service class.

All Windows Services that are built in .NET need to extend this class. Visual studio includes the following methods by default, which are overridden by the service when it is created.
Dispose – clean up any managed and unmanaged resources
OnStart – control the service startup
OnStop – control the service stoppage

How to create Windows Service?

  • Select a new project from File menu.
  • Expand “Visual Basic” tab and select “Windows”.
  • Then select Windows Service in it and specify the name of the service.
  • Then right click on the form and select Add Installer.
  • Project Installer gets added.
  • Select ServiceInstaller1, go to properties and set DisplayName, ServiceName and set StartType as Automatic.
  • Then select ServiceProcessInstaller1 and set Account property as LocalSystem.

Windows troubleshooting For Build Issues

  • OS Environment issues
  • Application Configuration settings
  • OS Memory Utilization
  • Disk I/O activies
  • Services running
  • Network issues

Chkdsk
The Windows Chkdsk (check disk) utility can find and fix common problems with disks and storage devices.

Disk Cleanup utility
The Disk Cleanup utility is a simple tool in Windows XP and Windows Vista that can remove temporary files from your PC, thus freeing up hard disk space.

Tagged : / / / / / / / / / / /

Different Perforce Tools and Their Short Summary | Know About Different Perforce tools

different-perforce-tools

Different Perforce Tools and Their Short Summary

Clients
P4V: Visual Client – (Included in the P4V Installer)
Provides access to versioned files through a graphical interface and also includes tools for merging and visualizing code evolution.
P4Merge: Visual Merge Tool – (Included in the P4V Installer)
Provides graphical three-way merging and side-by-side file comparisons
P4: Command-Line Client – (Included in the Perforce Server Windows Installer)
(Included in the Perforce Server Windows Installer)
P4Web: Web Client – (Included in the P4Web Installer)
Provides convenient access to versioned files through popular web browsers

Server
P4D: Server – (Included in the Perforce Server Windows Installer)
Stores and manages access to versioned files, tracks user operations and records all activity in a centralized database.
P4P: Proxy Server – (Included in the Perforce Server Windows Installer)
A self-maintaining proxy server that caches versioned files remotely on distributed networks.

Plug-ins & Integrations
P4WSAD: Plug-in for Eclipse and WebSphere Studio
Access Perforce from within the Eclipse IDE and the Rational/WebSphere Studio WorkBench family of products
P4SCC: SCC Plug-in – (Included in the P4V Installer)
Enables you to perform Perforce operations from within IDEs that support the Microsoft SCC API including Visual Studio.
P4EXP: Plug-in for Windows Explorer – (Included in the P4V Installer)
Allows Windows users direct access to Perforce.
P4DTG: Defect Tracking Gateway – (Included in the P4DTG Installer)
Allows information to be shared between Perforce’s basic defect tracking system and external defect tracking systems.
P4GT: Plug-in for Graphical Tools
Provides seamless access to version control for files from within Adobe Photoshop, SoftImage XSI, Autodesk’s 3ds max, and Maya
P4OFC: Plug-in for Microsoft Office
Allows documents to be easily stored and managed in Perforce directly from Microsoft Word, Excel, PowerPoint and Project.

Tools & Utilities
P4Report: Reporting System
Supports leading tools such as Crystal Reports, Microsoft Access, and Microsoft Excel, or any reporting
tool that interfaces with an ODBC data source.
P4Thumb: Thumbnail Generator
Creates thumbnails of graphics files managed by Perforce and stores the thumbnails in the server for presentation in P4V.
P4FTP: FTP Plug-in
Allows FTP clients like Dreamweaver, Netscape, and Internet Explorer to access files in Perforce depots.’
Links to Download: http://www.perforce.com/perforce/downloads/platform.html

Good Video Tutorial Links
http://www.perforce.com/perforce/media_library/tutorials.html
http://www.perforce.com/perforce/demo/testdrive.html

Tagged : / / / / / / / / / / / / / / / / / /

Perforce Replication – What is Perforce Replication ?

perforce-replication

Perforce Replication

Replication is the duplication of server data from one Perforce Server to another Perforce Server, ideally in real time. You can use replication to:

  • A replica server can function as an up-to-date warm standby system, to be used if the master server fails. Such a replica server requires that both server metadata and versioned files are replicated.
  • Reduce load and downtime on a primary server by Long-running queries and reports, builds, and checkpoints can be run against a replica server, reducing lock contention.
  • Perforce administrators can configure the Perforce Broker to redirect commands to read-only replica servers to balance load efficiently across an arbitrary number of replica servers.

NOTES:

  • For checkpoints and some reporting tasks, only metadata needs to be replicated.
  • For reporting and builds, replica servers will need access to both metadata and versioned files.
  • With the 2010.2 release, the Perforce Server now replication between Perforce servers of both metadata and versioned files.

Limitation:

  • Replication is unidrectional, and replica servers are intended for read-only purposes
  • Bidirectional replication is not supported, because any changes made to a replica server can be overwritten by changes made to the master Perforce server.

System Requirement:

  • All replica servers must be at the same release level as the master server. Prefebalily 2010.2 to use both command (p4 pull and p4 replicate).
  • All replica servers must have the same Unicode setting as the master server.
  • All replica servers must be hosted on a filesystem with the same case-sensitivity behavior as the master server’s filesystem.
  • All replica servers must be hosted on a filesystem with the same case-sensitivity behavior as the master server’s filesystem
  • p4 replicate and p4 pull (when replicating metadata) do not read compressed journals. Therefore, the master server must not compress rotated journals until the replica server has fetched all journal records from older journals
  • The master and replica servers must have the same time zone setting.

Challenge
Issues 1: The master and replica servers must have the same time zone setting

Today I was just going through P4 replication features with the correspondence of Disaster recovery(Replication), as well as bbalance load efficiently using p4 broker and p4 replica.

We can have cross-geo Disaster recovery(Replication) setup as soon as, we have same time zone setting in both (master and replica) server.  Replica server is unidirectional (read-only) so making same time zone in two difference location would not make any difference since all development activities will be happening though master servers/proxies only.

But
I learned that if we go replication with cross geo then we will not be able to take advantage of balance load efficiently as follows.

  • We will not be able to take advantage of using replica server to reduce load and downtime on a primary server by Long-running queries, builds, and checkpoints in distributed geo environment.
  • Perforce Broker to redirect commands to read-only replica servers to balance load efficiently across an arbitrary number of replica servers will not be having any advantage due to long distance and command will take more time to process in distributed geo environment.

Issues 2: p4 replicate and p4 pull (when replicating metadata) do not read compressed journals. Therefore, the master server must not compress rotated journals until the replica server has fetched all journal records from older journals

The replication process is designed to have as little latency as possible between the replica and the master; the compression/decompression of the journal
and manipulation of compressed data introduces additional delay and complexity which in turn increases the potential difference between the state of the master and the replica.

To Setup Replication
p4d -r $P4ROOT “-cset replica1#startup.1=p4 pull -i 2”

p4d -r $P4ROOT “-cset replica1#startup.1=p4 pull -u -i 2”

To unset Replication
p4d -r $P4ROOT "-cunset  replica1#startup.1"
To list all server configuration variables, 

use –cshow:

p4d -r $P4ROOT -cshow

This blog work still in progress…Still in Progress…

Reference

http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html
http://www.perforce.com/perforce/doc.current/manuals/cmdref/pull.html
http://www.perforce.com/perforce/doc.current/manuals/cmdref/configure.html#1040665
http://www.perforce.com/perforce/doc.current/manuals/cmdref/replicate.html#1046521
http://kb.perforce.com/article/1099
http://kb.perforce.com/article/1352/accessing-server-configuration-variables
http://kb.perforce.com/article/1099
http://www.perforce.com/perforce/r10.2/manuals/p4sag/10_replication.html

Tagged : / / / / / / / / / / / / / /