Sharing PDF Free Download URL. This will help to download all books in the pdf format.


Happy Learning!!

Get glued to know more updates.

Have a nice day 🙂

Leave a comment

Posted by on November 23, 2019 in Uncategorized


Salesforce Learning Off

Hi friends,

Here are the few resources which will help to learn CRM Salesforce.

Free CRM Salesforce Training Tutorials-Salesforce Tutorials

How a beginner should start with Sales-force Learning?

Salesforce Archive – opencodez


The best way to learn Salesforce quickly

Journey to Salesforce ecosystem

Salesforce Administrator Tutorial & Training

mindmajix – Salesforce

Salesforce Admin Training Playlist

trailmix 50+ quiz-only trailhead modules – easy to take on Trailhead Go

Salesforce Developer Tutorial

How to Establish a Many to Many Relationship in Salesforce

Will keep posting more information on CRM Salesforce, Apex, etc… in the coming posts.

Happy Learning!!

Keep watching this space for more updates

Have a nice day 🙂

Leave a comment

Posted by on November 23, 2019 in Uncategorized


GIT Useful Info

Hi folks,

Today i am sharing some useful information on GIT and commands.

Hope this article will helps .

When to fork and when to branch: –

Forking is done if you want to create a new flavor of the original repo.  It is naturally divergent in nature. Forks are not meant to be merged like the case of Linux and its flavors. This is the standard model in open source world.

Branching is done with the idea of converging the code base at some point in future. This is better fit for private repos in enterprise businesses. This lends better to convergent evolution of the code.

To get repo and branch information
git remote show — gives the list of remote repos
git remote show origin — shows the git repository (origin in this case) URL from which the code is cloned
git remote -v — shows all the remote repos with names you have configured locally on your system
git branch –remotes – gives the list of branches in the remote repo or the origin
git branch — gives the list of branches in your local repo

Credential configuration (will be one time if you are using Git Shell) – 2 ways to do it – either store the credentials in file or store it in cache for x time after which it needs to be again given. 2 option is more secure

File based

Local for the current git project

Inside the repository where you want the credentials to be stored – git config credential.helper store

git pull – This will ask for username/password for the first time and store the same in a file (.git-credentials)
git pull – now the username/password will not be asked
Global for the entire sytem

git config –global credential.helper store
Step 2 and 3 will be same as for local
Cache based:
git config –global “your-user-name”
git config –global “your-email-id”
git config –global credential.helper “cache –timeout=36000” – this caches the credentials for 10 hours

git config core.longpaths true – enable this flag if you get this error – Cannot save the current worktree state+Filename too long

In case the certifcate is not picked properly, point it to the actual cert location using below command

git config –system http.sslcainfo “C:\Users\212607238\AppData\Local

Clone a repo
git clone -b security_scan – you will be prompted to enter username and password, Here the brach and repo url is specified

Branch operations
git branch – create a new branch
git checkout – to switch branch under the same git head. Code is automatically updated
git branch -d – delete a branch once prupose is achieved

Managing local changes
git add subfolder/filename.txt – staging new files
git rm subfolder/filename.txt – staging files to be deleted
git stash show – shows the staged local changed files
git stash – save local changes to stash
git stash -u – discard all local changes
git checkout –file.txt – undoes any local changes by getting the latest from remote repo
git reset subfolder/filename.txt – unstaging file

Sync code
git push origin master — push local committed changes to remote github repository. origin is the remote repo name that git gives by default to your repo, master is the branch name both in your local repo fork and remote origin repo. the syntax is git push :. but if only one branch name is specified then git assumes that both the local and remote branches are of the same name.
git pull origin master – for updating local repo

Commit Code
git commit -m “Removing files” – before committing ensure that there are no untracked files. either add the untracked files to be staged or put them in .gitignore

Revert a commit in remote
git pull origin branch-name — always pull before revert, if local does not have the changes that need to be reverted you get fatal: bad object error
git revert -m 1 d8dc9c0332d0c038784902c2f260ea24cd0f6238 — revert the commit from parent branch 1, which usually will be master. m is the option to refer parent branch and 1 tells which parent branch
git push origin master

Revert a local commit
git reset HEAD~

Revert untracked changes locally

git clean -fd – remove untracked files or directories

Revert local changes

1. If you have not yet added the changes to the index or committed them, then you just want to use the checkout command – this will change the state of the working copy to match the repository: (– is called bare double dashes and they indicate that we are resetting a file and not a branch)

git checkout — filepath
git reset — optimax-server/config/oimContext.xml – if you are running the command from optimax folder
2. If you want to reset the complete branch and discard all staged and tracked but unstaged changes then give the following command. This can also be used to revert any local commits

reset –hard devfork/Aut17_DEV

3. If you added it to the index already, use reset:

git reset A
4. If you had committed it, then you use the revert command:

# the -n means, do not commit the revert yet
git revert -n
# now make sure we are just going to commit the revert to A
git reset B
git commit
5. To ignore the untracked files mention those files/folders in .gitignore file

Diffing files (in git native console, it opens the diffs in vi editor where all the vi commands work. –word-diff shows only the changed words instead of complete lines which is the default)

Staged files – git diff –word-diff –cached
Unstaged files – git diff –word-diff

Open a Pull Request

git request-pull [-p] []

Merge a Pull Request

refs/pull/6/head. The refs/pull/8/head contains the commits of pull request #8head.

git fetch origin refs/pull/8/head
git merge FETCH_HEAD
git commit
git push…


git pull refs/pull/8/head – pull=fetch+merge
git commit
git push…

Merge code

Always checkout into the source (branch_name below). Pull the source through git pull. Checkout the first current branch into which we want to merge.
git merge repo/ – merge everything from to current checked out branch/master.
Push the merged code into remote destination branch through git push.
Cherry-pick option is used to merge specific commits made in one branch to another. To cherry-pick commits, have the SHA hash of the commit to merge. Checkout to the branch to merge and issue the command git cherry-pick
Links: Cherry-pick GIT documentation, how to cherry-pick changes with git
Resolve Merge conflicts

after running the merge command do following
git status – along with others this also gives conflicted files in red calling it unmerged paths
open those files in notepad++
search for the beginning of conflict marker – <<<<<<< HEAD
Lines below this marker are the original lines in destination branch
Then find marker – ======= This is a divider
Below the divider marker are the changes as in origin branch from which code is merged. This branch name is mentioned in the merge command
Choose the appropriate line and delete the rest with markers
Add or stage your changes – git add
git status – ensure all the ‘unmerged paths’ section is not shown now as you staged all the changes in previous step
Commit the changes – git commit -m “Conflicts resolved”
git pull – get the latest from remote repo
git push – push local repo changes to remote repo
Repo and Fork related activities

merging code between forks (ideally you would do a pull request, but this is the shortcut if you have permission)

git remote add security
git pull security master – security is the origin repo name and master is the branch in that repo
git push –set-upstream mainrepo – mainrepo is the destination repo name with the branch in that repo

pushing a newly created branch in my fork to main repo
git remote add mainrepo – add the main repo that can be associated with your fork.

git push mainrepo – pushes the newly created  branch in the local repo to main repo

if a new branch was created in main repo and you want to pull it to fork. then workflow is you fetch it to your local machine and push it to your remote fork
git remote add mainrepo
git fetch mainrepo — origin is the main repo, spr_17 is the new branch created in origin, get that locally to your machine
git push upstream — upstream is your fork – push the fetched branch to your remote fork

List commits made by a particular author

git log –author=”Jon”

List number of commits done by all authors

git shortlog

Create patch

git format-patch -x

where -x means how many commits back from the current head and it has to be integer.

For example if i want to generate patch for last 10 commits

git format-patch -10

The above example will generate 10 file patches.

Squash multiple patches into a single file

git format-patch -x –stdout > patch-ddmmyyy.patch

Note: The generated patches work with svn also.

Apply patch:

preview the patch:
git apply –stat a_file.patch
dry run the patch to detect errors
git apply –check a_file.patch
apply the patch
git am –signoff < a_file.patch
Abort applying patch
git am –abort
git diff head
git fetch upstream
git rebase upstream
git log – file history or all the change lists in the branch checked out

git ls-remote

Side Notes:
If you forked a repository, you simply clone the fork. If you branched a repository, you clone the repository and checkout the branch.
Forking is nothing more than a clone on the GitHub server side.


Resources to learn Git

Git Branching – Basic Branching and Merging

Useful git commands for everyday use!

Become a git guru

Happy Learning!!

Get glued to know more updates.

Have a nice day 🙂

Leave a comment

Posted by on September 14, 2019 in Uncategorized


Salesforce – Create Scratch Org using Sfdx CLI

Hi folks,

Here are steps to create Scratch org using SFDX CLI Commands.

  1. Open Visual Studio IDE , go to Terminal and execute the below sfdx CLI commands.

Note: sfdx cli installation should be done.

2. Connect to the DevHub Org using the below command

sfdx force:auth:web:login -d -a devHub

Login with Username / Password

After successfully connected to DevHub Org

3. Create a salesforce project in the VS Code using the below command

Cmd + Shift + P

Create a Project with manifest

Enter the Project name


sfdx force:org:create -f config/project-scratch-def.json -a demoorg1

Once the project created successfully, will able to see the below message
Successfully created scratch org: 00D0x0000009IeHEAU, username:

4. Verify to which org, you are connected using below command
sfdx force:org:display -u

To see the list of orgs connected, execute the below command
sfdx force:org:list

5. To retrieve the metadata

sfdx force:source:retrieve -u -p force-app

6. Verify the source code folder force-app


Create and Test Our Scratch Org – trailhead

Salesforce Source-Driven Development and Scratch Org

Getting started with Salesforce @SFDX – Udemy

sfdx force:doc:commands:list
=== Commands
force:alias:list # list username aliases for sfdx
force:alias:set # set username aliases for sfdx
force:apex:class:create # create an apex class
force:apex:execute # execute anonymous apex code
force:apex:log:get # fetch a debug log
force:apex:log:list # list debug logs
force:apex:test:report # display test results
force:apex:test:run # invoke apex tests
force:auth:jwt:grant # authorize an org using the jwt flow
force:auth:sfdxurl:store # authorize an org using an sfdx auth url
force:auth:web:login # authorize an org using the web login flow
force:config:get # get config var value(s) for given name(s)
force:config:list # list config vars for sfdx
force:config:set # set config vars for sfdx
force:data:bulk:delete # bulk delete records from a csv file
force:data:bulk:status # view the status of a bulk data load job or batch
force:data:bulk:upsert # bulk upsert records from a csv file
force:data:record:create # create a record
force:data:record:delete # delete a record
force:data:record:get # view a record
force:data:record:update # update a record
force:data:soql:query # execute a soql query
force:data:tree:export # export data from an org into sobject tree format for force:data:tree:import consumption
force:data:tree:import # import data into an org using sobject tree api
force:doc:commands:display # display help for force commands
force:doc:commands:list # list the force commands
force:lightning:app:create # create a lightning app
force:lightning:component:create # create a lightning component
force:lightning:event:create # create a lightning event
force:lightning:interface:create # create a lightning interface
force:lightning:lint # Linter for Lightning Components
force:lightning:test:create # create a lightning test
force:lightning:test:run # invoke lightning component tests
force:limits:api:display # display current org’s limits
force:mdapi:convert # convert metadata api source into the sfdx source format
force:mdapi:deploy # deploys metadata to an org using metadata api
force:mdapi:retrieve # retrieves metadata from an org using metadata api
force:org:create # create a scratch org
force:org:delete # mark a scratch org for deletion
force:org:display # get org description
force:org:list # list all active orgs you’ve created or authenticated to
force:org:open # open an org in your browser
force:package1:version:create # create a new package version in the release org
force:package1:version:create:get # retrieve status of package upload request
force:package1:version:display # display details about a package version
force:package1:version:list # list package versions for the specified package or for the org
force:package:install # install a package in the target org
force:package:install:get # retrieve status of package install request
force:project:create # create a new SFDX project
force:project:upgrade # update project config files to the latest format
force:schema:sobject:describe # describe an object
force:schema:sobject:list # list all objects of a type
force:source:convert # convert sfdx source into the metadata api source format
force:source:open # edit a lightning page with lightning app builder
force:source:pull # pull source from the scratch org to the project
force:source:push # push source to an org from the project
force:source:status # list local changes and/or changes in a scratch org
force:user:password:generate # generate a password for a scratch org
force:user:permset:assign # assign a permission set to the admin user of an org
force:visualforce:component:create # create a visualforce component
force:visualforce:page:create # create a visualforce page

View at

Happy Learning!!

Keep watching this space for more updates

Have a nice day 🙂

1 Comment

Posted by on August 23, 2019 in Uncategorized


Salesforce Development with Visual Studio Code

Hi Folks,

Salesforce IDE MavensMate is no longer being developed and supported by Salesforce.

So as a developer, which IDE we should choose instead of MavensMate?

Salesforce recommended the IDE Visual Studio Code, which has an extension like Mavensmate named ForceCode and a Salesforce’s official Visual Studio Code plugin for using Salesforce DX.

Today i am going to share the steps, to create Salesforce Project in VS Code IDE.

> Download and Installing Visual Studio Code from the below site

Download VS Code

> Refer below URL, to Install the Salesforce CLI

SFDX Setup Install CLI

> Open VS Code and verify sfdx installed successfully using terminal

execute sfdx force –help

> Install Java Platform, Standard Edition Development Kit

> Install Salesforce Extensions for VS Code Plugin

Refer below site for more information

> Open Visual Studio code, press cmd+shift+p and type sfdx: and select Create project from manifest option

> Select location (create new folder and select ) in your local machine to create salesforce project

> Check package.json is available under manifest

> Create Scratch Org for development

> Type cmd+shift+p and type Auth, select Authorize an Org option. This will redirect to the salesforce login page, login using scratch org credentials.

> After successfully authenticated, Go to VS Code and right click on package.json and select the option Retrieve Source in manifest from Org. This will retrieve the org codebase in to VS code.

> Verify the code base under force-app —> main —> manifest folder

Congratulation, now able to connect to your org from Visual Studio Code IDE.

Reference URL’s

Salesforce Extensions for VS Code – What is it?

Install Salesforce Extensions for Visual Studio Code – Trailhead

how do i connect visual studio code to my free developer org?

Using VS Code and connecting to Salesforce

Org Development Model with VS Code

Salesforce DX: Useful CLI Commands

VS Code Setup with ForceCode

Happy Learning !!

Get glued to know more updates.

Have a nice day 🙂

Leave a comment

Posted by on July 27, 2019 in Uncategorized


React/Redux Performance and Optimization

Hi Friends,

Today i am sharing few of the useful information / articles on how to increase the  performance and optimization of React/Redux application.

React Performance Tools

React/Redux Performance and Optimization

How does React decide to re-render a component?

How to Benchmark React Components: The Quick and Dirty Guide

Use the React Profiler for Performance

React, Reselect and Redux

Optimizing Performance

The most unknown redux performance trick

The best place to deep dive in to connect api of redux

Performance Engineering with React (Part-1 & Part-2)

Redux FAQ: Performance

Hope this information will helps.

Happy Learning !!

Keep watching this space for more updates

Have a nice day 🙂

Leave a comment

Posted by on July 25, 2019 in Uncategorized


Learn React – Redux | Thunk

Hi Folks,

Redux helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.

As per Wikipedia,

Redux is an open-source JavaScript library for managing application state. It is most commonly used with libraries such as React or Angular for building user interfaces. Similar to Facebook’s Flux architecture, it was created by Dan Abramov and Andrew Clark

Sharing some useful information of React – Redux.

Redux Intro

reduxjs/redux: Predictable state container for JavaScript apps – GitHub

Redux Basics


Redux – Devdcos

Getting Started with Redux

Redux – egghead

React Redux Tutorial for Beginners [2019]

React + Redux Tutorial

A Complete React Redux Tutorial for Beginners (2019)

React Redux Form

Understanding Redux Thunk

Redux-A CRUD Example

A Basic React + Redux introductory tutorial from Hackernoon

Redux: Create a Redux Store – freecodecamp

Use Redux in your React app in just 10 minutes

YouTube Vedios

Complete React Tutorial (& Redux) #35 – Redux Stores

React Redux Tutorial | Redux Tutorial for Beginners

Happy Learning!!

Get glued to know more updates.

Have a nice day 🙂

Leave a comment

Posted by on June 23, 2019 in Uncategorized



Angular.js is a javascript framework that has gained very good momentum in recent days. After exploring and working on angular, I found how powerful the framework is. It is the best option for a single page application (SPA). Angular.js allows for clear separations of concerns (MVC) and allows developer to write cleaner, efficient and maintainable code. The power of angular is many but the most important ones include, making HTML more readable and more declarative, dependency injection, MVC etc… The documentation for angular seems nice but I suggest the following resources which anyone who would like to start angular.


To start with angular.js I would suggest with thinkster as this covered almost all major topics in the framework

Testing: During one of my angular.js meetups, I came across this popular testing tool to be used with angular.js – Protractor.js . I am yet to look into the trade off on protractor vs karma vs jasmine for testing framework, but the following link acts as a starting point for protractor

Google Testing Blog: Protractor: Angular testing made easy

Design Patterns:

Thoughtworks has put up a very nice article for angular developers, listing out the `Do Not’s` when developing an angular app. It a very valuable resource for team starting angular.

Good Practices to Build Your AngularJS Applicatio…

Another article that deals on the same topic is an article by…

7 Best AngularJS Frameworks for Rapid Application Development

Reference Books:

O’Reilly Media – AngularJS by Brad Green, Shyam Seshadri

Happy Learning!.

Get glued to know more updates.

Have a nice day 🙂

Leave a comment

Posted by on June 22, 2019 in Uncategorized


Learn React

Hi Friends,

Recently, React has gained a lot of popularity among tech companies across the globe, the credit goes to its extensive nature and resourcefulness, good documentation, ever growing developer resources and support from Facebook Inc.

As per Wikipedia,

React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications, as it is optimal for fetching rapidly changing data that needs to be recorded.

Today i am sharing few of the nice React tutorials, which will helps for beginners and experienced peoples.

Tutorial: Intro to React

30 days of React

Want to Learn React from Scratch

ReactJS Tutorial – Tutorialspoint

Learn ReactJS from codecademy

Learn React – W3Schools

Learn React from YouTube Videos

Learn React – React Crash Course [2019] – React Tutorial with Examples | Mosh

Learn React.js – Full Course for Beginners – Tutorial 2019

Useful Information:

When Should We Use setState() in React?

How Virtual-DOM and diffing works in React

How to understand a component’s lifecycle methods in ReactJS

React Lifecycle Methods- how and when to use them

React 16 Lifecycle Methods: How and When to Use Them

The 2019 React Developer RoadMap – Your Guide to become a Modern FrontEnd Developer

Online – Editors

BABEL Editor

jsbin Editor

Online React compiler, Online React IDE


Happy Learning!!

Keep watching this space for more updates

Have a nice day 🙂

Leave a comment

Posted by on June 22, 2019 in Uncategorized


Learn Web Frameworks | 2019

Hi Folks.

This article is your roadmap to becoming a web developer in 2019. The below tutorials and top courses to provide a path to start a career as a frontend or backend engineer.

23 Best Free JavaScript Frameworks for Web Developers 2019

Learn Web Development in 2019 | Web Dev Tutorials

10 Frameworks Java and Web Developers Can Learn in 2019

9 Java EE Frameworks to Build Enterprise Applications

Why and How to Secure API Endpoint?


7 Best Java Blogs for Programmers of All Level

Happy Learning!!

Keep watching this space for more updates

Have a nice day 🙂

Leave a comment

Posted by on June 16, 2019 in Uncategorized