Wednesday, 21 December 2016

SQL Server v.Next CTP 1.1

Key SQL Server v.Next on Windows and Linux CTP 1.1 database engine enhancements include
  • Language and performance enhancements to natively compiled T-SQL modules, including support for OPENJSON, FOR JSON, JSON built ins as well as memory-optimized tables support for computed columns.
  • Improved the performance of updates to non-clustered columnstore indexes in the case when the row is in the delta store.
  • Batch mode queries now support “memory grant feedback loops,” which learn from memory used during query execution and adjusts on subsequent query executions; this can allow more queries to run on systems that are otherwise blocking on memory.
New T-SQL language features:
  • Introducing three new string functions: TRIM, CONCAT_WS, and TRANSLATE
  • BULK IMPORT supports CSV format and Azure Blob Storage as file source STRING_AGG supports WITHIN GROUP (ORDER BY)s

Key enhancements in SQL Server v.Next on Windows CTP 1.1 for Analysis Services

  • New infrastructure for data connectivity and ingestion into tabular models with support for TOM APIs and TMSL scripting. This infrastructure enables:
    •  Support for additional data sources, such as MySQL. Additional data sources are planned in upcoming CTPs.

    • Data transformation and data mashup capabilities.
  • Support for BI tools such as Microsoft Excel enable drill-down to detailed data from an aggregated report. For example, when end-users view total sales for a region and month, they can view the associated order details.
  • Support for ragged hierarchies in reports, such as organizational and account charts.
  • Enhanced security for tabular models, including the ability to set permissions to help secure individual tables.

Thursday, 27 October 2016

Node.js v7- specification

Now Node.js release its new version Node.js v7

Now latest version of Node.js introduce: V8 5.4 javascript Engine which brings along with 98% coverage of ES6 language features, improved reliability and performance, and a new experimental URL parser based on the URL Standard defines URLs, domains, IP addresses, the application/x-www-form-urlencoded format, and their API.

V8 5.4 delivers a number of key improvements in memory footprint and startup speed. These primarily help accelerate initial script execution and reduce page load in Chrome.

The general rule for deciding which version of Node.js to use is:

Stay on Node.js v4 or upgrade to Node.js v6 if you need stability and have a complex production environment, e.g. you are a medium or large enterprise.
Upgrade to Node.js v7 if you have the ability to upgrade versions quickly and easily without disrupting your environment and want to play with the latest features as they arrive.

Because this new version of Node.js is shipping with a new version of V8, existing native addons will need to be recompiled or runtime errors will occur when trying to load them. Use npm rebuild or simply remove your node_modules and npm install from scratch.


  •  This makes buffer.byteLength() throw if the first argument passed to it is not a Buffer/TypedArray/etc. or string, instead of converting the value to string and calculating the length of that string.
          If other values are being passed, IMHO that could signal a programming error. For example, if           an undefined value is passed in, I would not expect to get 'undefined'.length returned. If            
         undefined is passed in, it probably means I have a bug in my code somewhere where a variable            isn't being set (properly).

  • We want to make Buffer a class so that it can be subclassed. However, instantiating a class requires new. This hard-deprecates calling Buffer without new.

  •  Add a check for size < 0 to assertSize(), as passing a negative value almost certainly indicates a programming error.

        This also lines up the behaviour of .allocUnsafe() with the ones of .alloc() and .    
        allocUnsafeSlow() (which previously threw errors from the Uint8Array constructor).

Child Process
The fork and execFile methods now have stronger argument validation.

The worker.suicide method is deprecated and will emit a process warning.

V8 has been updated to 5.4.500.36 .
NODE_MODULE_VERSION has been updated to 51 .

File System
A process warning is emitted if a callback is not passed to async file system methods.

Intl.v8BreakIterator constructor has been deprecated and will emit a process warning.

Unhandled Promise rejections have been deprecated and will emit a process warning.

The punycode module has been deprecated.

An Experimental WHATWG URL Parser has been introduced.


As an odd numbered release, in accordance with our Long Term Support plan, Node.js v7 will be supported only until about June, 2017, with Node.js v8 currently scheduled for release in April, 2017.

Tuesday, 18 October 2016

Microsoft server 2016-System Requirements

Latest windows server or windows server latest version is Microsoft server 2016

This topic addresses the minimum system requirements to run latest version of windows server / Windows Server® 2016(Microsoft server 2016).

Review system requirements

The following are estimated system requirements Windows Server 2016. If your computer has less than the "minimum" requirements, you will not be able to install this product correctly. Actual requirements will vary based on your system configuration and the applications and features you install.

Unless otherwise specified, these minimum system requirements apply to all installation options (Server Core, Server with Desktop Experience, and Nano Server) and both Standard and Datacenter editions.


Processor performance depends not only on the clock frequency of the processor, but also on the number of processor cores and the size of the processor cache. The following are the processor requirements for this product:


1.4 GHz 64-bit processor
Compatible with x64 instruction set
Supports NX and DEP
Supports CMPXCHG16b, LAHF/SAHF, and PrefetchW
Supports Second Level Address Translation (EPT or NPT)
Coreinfo is a tool you can use to confirm which of these capabilities you CPU has.


The following are the estimated RAM requirements for this product:


512 MB (2 GB for Server with Desktop Experience installation option)
ECC (Error Correcting Code) type or similar technology

Storage controller and disk space requirements

Computers that run Windows Server 2016 must include a storage adapter that is compliant with the PCI Express architecture specification. Persistent storage devices on servers classified as hard disk drives must not be PATA. Windows Server 2016 does not allow ATA/PATA/IDE/EIDE for boot, page, or data drives.

The following are the estimated minimum disk space requirements for the system partition.

Minimum: 32 GB

Network adapter requirements

Network adapters used with this release should include these features:


An Ethernet adapter capable of at least gigabit throughput
Compliant with the PCI Express architecture specification.
Supports Pre-boot Execution Environment (PXE).
A network adapter that supports network debugging (KDNet) is useful, but not a minimum requirement.

Other requirements

Computers running this release also must have the following:

DVD drive (if you intend to install the operating system from DVD media)
The following items are not strictly required, but are necessary for certain features:

UEFI 2.3.1c-based system and firmware that supports secure boot
Trusted Platform Module

Graphics device and monitor capable of Super VGA (1024 x 768) or higher-resolution

Keyboard and Microsoft® mouse (or other compatible pointing device)

Internet access (fees may apply)

with the reference of 

Monday, 23 May 2016

Extension method in c#

What are extension methods?

Extension methods enable you to add methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.

An extension method is a special kind of static method, but they are called as if they were instance methods on the extended type.

When do you use extension methods, ext. methods vs. inheritance?

Extension methods allow existing classes to be extended without relying on inheritance or having to change the class's source code. This means that if you want to add some methods into the existing String class you can do it quite easily. 

Here's a couple of rules to consider when deciding on whether or not to use extension methods:

Extension methods cannot be used to override existing methods
An extension method with the same name and signature as an instance method will not be called
The concept of extension methods cannot be applied to fields, properties or events
Use extension methods sparingly....overuse can be a bad thing!

Times to use extension methods:

when you don't control the types being extended
where you don't want to force the implementor to provide code that can be done using the existing methods
For an example of the second point; you might have an extension method on IList<T> (for example, Sort) that can be written entirely using the existing IList<T> members... so why force anybody else to write anything? This is the foundation block of LINQ, and allowed Microsoft to provide much more functionality without breaking anything.

Times to not use extension methods:

when polymorphism is critical; you cannot guarantee that your code will be the version that gets executed with an extension method, as methods directly on the type take precedence
when you need access to private/protected members

How to use extension methods?

An extension method is a static method of a static class, where the "this" modifier is applied to the first parameter. The type of the first parameter will be the type that is extended.

Extension methods are only in scope when you explicitly import the namespace into your source code with a using directive.

Benefits of extension methods

Extension methods allow existing classes to be extended without relying on inheritance or having to change the class's source code.
If the class is sealed than there in no concept of extending its functionality. For this a new concept is introduced, in other words extension methods.
This feature is important for all developers, especially if you would like to use the dynamism of the C# enhancements in your class's design.

Important points for the use of extension methods:

An extension method must be defined in a top-level static class.
An extension method with the same name and signature as an instance method will not be called.
Extension methods cannot be used to override existing methods.
The concept of extension methods cannot be applied to fields, properties or events.
Overuse of extension methods is not a good style of programming

Javascript data types

Data types in javascript

JavaScript provides different data types to hold different types of values.

There are two types of data types in JavaScript.

1) Primitive data type
2) Non-primitive (reference) data type

JavaScript is a dynamic type language, means you don't need to specify type of the variable because it is dynamically used by JavaScript engine. You need to use var here to specify the data type. It can hold any type of values such as numbers, strings etc. For example:

JavaScript primitive data types

There are five types of primitive data types in JavaScript. They are as follows:

Data Type
represents sequence of characters e.g. "hello"
represents numeric values e.g. 100
represents boolean value either false or true
represents undefined value
represents null i.e. no value at all

JavaScript non-primitive data types

The non-primitive data types are as follows:

Data Type
represents instance through which we can access members
represents group of similar values
represents regular expression

Monday, 21 March 2016

AngularJS Filters,Validation & API

AngularJS Filter

Filter Description
currency Format a number to a currency format.
date Format a date to a specified format.
filter Select a subset of items from an array.
json Format an object to a JSON string.
limitTo Limits an array, or a string, into a specified number of elements/characters.
lowercase Format a string to lower case.
number Format a number to a string.
orderBy Orders an array by an expression.
uppercase Format a string to upper case.

AngularJS Validation Properties

  • $dirty
  • $invalid
  • $erro

AngularJS Global API


API Description
angular.lowercase() Converts a string to lowercase
angular.uppercase() Converts a string to uppercase
angular.copy() Creates a deep copy of an object or an array
angular.forEach() Executes a function for each element in an object or array

API Description
angular.isArray() Returns true if the reference is an array
angular.isDate() Returns true if the reference is a date
angular.isDefined() Returns true if the reference is defined
angular.isElement() Returns true if the reference is a DOM element
angular.isFunction() Returns true if the reference is a function
angular.isNumber() Returns true if the reference is a number
angular.isObject() Returns true if the reference is an object
angular.isString() Returns true if the reference is a string
angular.isUndefined() Returns true if the reference is undefined
angular.equals() Returns true if two references are equal

Comparing Description
angular.fromJSON() Deserializes a JSON string
angular.toJSON() Serializes a JSON string
API Description
angular.bootstrap() Starts AngularJS manually
angular.element() Wraps an HTML element as an jQuery element
angular.module() Creates, registers, or retrieves an AngularJS module