Shared by amir on Wed Jan 16 2019

Visual Studio Code shortcuts

Ctrl + Shift + P => Command Palette

Ctrl + Shift + X => Extenstions

Ctrl + ` => Integrated Terminal (? Ctrl + J)

Ctrl + B => Toggle Sidebar (right)

Alt + Left Arrow Key => Previous cursor location

Alt + Right Arrow Key => Next cursor location

Ctrl + P => Go to file

F12 => Go to definition

Ctrl + F12 => Go to Implmentation

Ctrl + K, S => Save All

Shared by joubin on Tue May 08 2018

Package.lock.json, NPM

package-lock.json is automatically generated for any operations where npm modifies either the node_modules tree, or package.json.

It describes the exact tree that was generated, such that subsequent installs are able to generate identical trees, regardless of intermediate dependency updates.

This file is intended to be committed into source repositories, and serves various purposes:

  • Describe a single representation of a dependency tree such that teammates, deployments, and continuous integration are guaranteed to install exactly the same dependencies.
  • Provide a facility for users to "time-travel" to previous states of node_modules without having to commit the directory itself.
  • To facilitate greater visibility of tree changes through readable source control diffs.
  • And optimize the installation process by allowing npm to skip repeated metadata resolutions for previously-installed packages.


Shared by joubin on Wed Dec 19 2018

Angular Workspace files

  • angular.json
    • Is at the root level of an Angular application.
    • This workspace file provides workspace-wide and project-specific configuration defaults for build and development tools provided by the Angular CLI.
    • It references the main entry point - "main": "src/main.ts"
  • src/main.ts
    • bootstraps "AppModule" in './app/app.module'
  • src/app/app.module.ts
    • Is a @NgModule
    • It tells the compiler which component is the root component
      • bootstrap: [AppComponent] // which is listed and import in the declaration section
  • src/app/app.component.ts
    • centre of an Angular application

Shared by joubin on Sun Dec 09 2018

Lifecycle Hooks, Angular

These are interfaces that allows you to tap into the lifecycle of directives and components as they are created, updated, and destroyed.

Each interface has a single hook method whose name is the interface name prefixed with ng. For example, the OnInit interface has a hook method named ngOnInit.

Angular calls these hook methods in the following order:

  • ngOnChanges: When an input/output binding value changes.
  • ngOnInit: After the first ngOnChanges.
  • ngDoCheck: Developer's custom change detection.
  • ngAfterContentInit: After component content initialized.
  • ngAfterContentChecked: After every check of component content.
  • ngAfterViewInit: After a component's views are initialized.
  • ngAfterViewChecked: After every check of a component's views.
  • ngOnDestroy: Just before the directive is destroyed.


Shared by joubin on Sun Dec 09 2018

Triple Equal, JavaScript

The triple equals operator ( === ) returns true if both operands are of the same type and contain the same value.

Shared by joubin on Wed Dec 05 2018

Chai (testing framework)

Chai is a BDD / TDD assertion library for node and the browser that can be paired with any javascript testing framework.

Chai is a testing framework for Javascript like NUnit for .NET.


Shared by joubin on Wed Jan 27 2016

Lazy Initialization

Lazy initialization of an object means that its creation is deferred until it is first used.

System.Lazy<T> class

  • Assemblies: System.Runtime.dll, mscorlib.dll, netstandard.dll and System.Core.dll


Shared by joubin on Mon Nov 12 2018

Big-O Cheat sheet

Asymptotic Notations are languages that allow us to analyze an algorithm’s running time by identifying its behavior as the input size for the algorithm increases. This is also known as an algorithm’s growth rate.



Shared by joubin on Wed Jun 07 2017

Forming - Storming - Norming - Performing

Tuckman's stages of group development

The forming–storming–norming–performing model of group development was first proposed by Bruce Tuckman in 1965.


Shared by joubin on Thu Oct 11 2018

Executing Dynamic SQL

Use EXEC to execute a dynamically generated SQL statement or query.

Executes a command string or character string within a Transact-SQL batch, or one of the following modules: system stored procedure, user-defined stored procedure, CLR stored procedure, scalar-valued user-defined function, or extended stored procedure.

declare @sourceDb sysname = N'[dbSource].[schema].[SourceTable]';
declare @sqlCommand varchar(max);

-- get count of source database table
SET @sqlCommand = 'select count(*) from ' + @sourceDb;
EXEC (@sqlCommand)


Shared by joubin on Mon Oct 22 2018

Temp table, TSQL

  • Syntax: Create Table #UseTempTable
  • Temporary tables are created by prefixing your table name with a #.
  • To get a list of temp tables: select * from tempdb..sysobjects;


Shared by joubin on Thu Oct 18 2018

Pivot tables, Excel

A pivot table allows for reorganizing and summarizing selected columns and rows in a data set. This data set could be from a spreadsheet or a database table to form a desired report.

A pivot table doesn't change the underlying data.

Pivoting means to turn a data set to view it from different perspectives.


Shared by joubin on Tue Oct 16 2018

Http Status Code - Redirects

  • 302 - temporary redirect
  • 301 - permanent redirect


Shared by joubin on Thu Oct 18 2018

Microsoft Graph Security API

To build intelligent security solutions correlate alerts, get additional context to speed up investigation, automate security operations, use Microsoft Graph Security API.

  • A federated system
  • Microsoft Graph Security API
  • Security API notification subscription
  • Secure Score, system wide
  • Identity security score, AD


Shared by joubin on Thu Sep 27 2018

MS Ignite, Migrate to Cosmos DB

  • GA of Cassandra API
    • Table API
    • MongoDB
  • Keyspace ?
  • CQL Query Builder
  • CQL Shell (CQLSH)
  • Cassandra Stress, to verify performance
  • Scale throughput
    • Change the throughput for any table
  • SDK access
    • org.apache.spark...

Ignite 2018 session: https://myignite.techcommunity.microsoft.com/sessions/65369?source=schedule#ignite-html-anchor

Cheatsheets: https://docs.microsoft.com/en-us/azure/cosmos-db/query-cheat-sheet

Shared by joubin on Wed Sep 26 2018


Net customer/user Satisfaction (NSAT)

NSAT is an index of net satisfaction scores across a number of segments and audiences as measured by the Global Relationship Study.

Shared by joubin on Tue Oct 02 2018

MS Ignite, Kubernetes on Azure

  • Gabe Monroy
  • Kubernetes, container orchestration
  • Portability
  • Extensible
  • Self healing
  • Kubectl
  • Etcd
  • Kubelet, heart beat back to the API server
  • Ingress
  • Kube-proxy
  • Lift and Shift application moving strategy, without refactoring your app
  • Azure managed control plane
    • Devops project, Azure resource
    • Azure Dev Spaces ?
    • Helm chart ?
    • CI/CD pipelines
    • Key Vault is used to store secrets for Kubernetes
    • Vnet ?
    • Traffic Manager, in Azure
    • ACI ?, Azure Container Instances
  • Azure Monitor for containers
  • RBAC control for fine grained Kubernetes resources access control
  • Scenarios
    • Lift and Shift to containers
    • Micro services
    • Machine Learning scenarios
    • IoT
      • Azure IoT Edge
  • Maersk
    • NSAT, customer satisfaction
  • Terraform
  • CaaS
  • OpenAI, a not for profit organization
  • Azure IoT Edge

Shared by joubin on Tue Sep 25 2018