Thursday, August 31, 2017

Mongo DB Environment Set Up

  1. Download MongoDB this link link.
  2. Review MongoDB folder.

    In MongoDB, it contains only executable files 10 Plus(exe) in the bin folder. This is true, and That are the required files to MongoDB, it's really hard to believe for a developer like me Who eats from a relation database background.
    path:- Files under $MongoDB/bin folder
  3. Configuration File

    Create a MongoDB config file, it’s just a text file, for example C:\mongodb\mongo.config:
    #store data here
    dbpath=C:\mongodb\data
    
    \\all output go here
    logpath=C:\mongodb\log\mongo.log
    
    \\log read and write operations
    diaglog=3
  4. Run MongoDB server

    Use mongod.exe --config C:\mongodb\mongo.config to start MongoDB server.
    C:\mongodb\bin>mongod --config C:\mongodb\mongo.config
    All output going to: C:\mongodb\log\mongo.log
  5. Connect to MongoDB

    Uses mongo.exe to connect to the started MongoDB server.
    C:\mongodb\bin>mongo MongoDB shell version: 2.2.3 connecting to: test
    //mongodb shell
  6. MongoDB as Windows Service

    Add MongoDB as Windows Service, so that MongoDB will start automatically following each system restart. Install as Windows Service with --install.
    C:\mongodb\bin> mongod --config C:\mongodb\mongo.config --install
    A Windows service named “MongoDB” is created.
    To start MongoDB Service:
    net start MongoDB
    To stop MongoDB Service
    net stop MongoDB
    To remove MongoDB Service
    C:\mongodb\bin>mongod --remove

Wednesday, August 30, 2017

Steps to Becoming a Successful Programmer

Steps to Becoming a Successful Programmer

1. Willingness to Learn New Technologies

What we have learned and implemented can quickly become obsolete as technology is always changing. So, as a programmer, you just have to update your skills accordingly and stay up to date. When a new technology comes on the market, it's typically made up of a few process and syntax changes, but the logic is the same so you can grasp it very fast.

2. Debugging Skills

Programmers create code, but when the software does not work as expected, the programmer should be able to root out the problem quickly and effectively.
So, instead of making changes to all your code, make a proper flow document while creating your program so that you can investigate your code very quickly and find the issue as soon as possible. By making a proper document, you can debug your program quickly without wasting much time.

3. Problem-Solving Skills

When an average programmer gets a project/module, they just start coding. But successful programmers try to find the root of the problem that their code is addressing and inform their team leader or project leader. Because sometimes after a project requirement is documented and the project is started, or even after it's completed, we get some issue in the project. So find the issue before it arises.
Also, find a way to solve the issue very quickly.

4. Passion for the Work

Your job time may be nine to five but when you have a passion for doing the job, don’t just walk away when the workday is over. Work until your work is done. I don’t mean to say that if you are not getting the solution then you should sit around frustrated the whole day, but if you're getting close, then just complete it.
Your manager or the higher-ups will appreciate your work, and when you find a good environment your passion will increase.
Also, don’t just sit around when there is no work. Try to build some new application like a game, puzzle, chatting app, etc., which will help to make you more passionate about your work.

5. Grace Under Fire

Programming can be a stressful profession due to tight deadlines. And then there are those times we can’t seem to get anything working. A poor programmer just freezes up and stops working. But a great programmer handles the stressful situation calmly and just keeps on working.

6. Laziness... I Mean Efficiency! 

When there are a lot of tasks and time is running out to complete your project, then only the lazy programmer will find the better and quickest solution for completing the project because he knows very well how to work less and do more.
If you want to find the best way to do something then just ask the lazy person; chances are the lazy person will find the best, quickest, and most efficient way to do it because the lazy person always tries to find a more efficient way.

7. Ability to Handle Failure

As a programmer, you will rarely have success on the first try, so failure is almost a certainty. So take this as a challenge rather than as a sign of defeat. Having patience and persistence is very important to having success in programming. 

8. Willingness to Research

A programming language is just part of the picture. A good and successful programmer always tries to make code which works for their employers and helps to solve business problems. And, sometimes, this requires you to do a little digging. 

9. Teamwork Mentality

As you are a developer, you always work with a team because with the help of team members like the designers, business staff, analysts, and sales staff you can achieve your desired results very effectively.
You will never meet your goals until you work with the team.

10. A Business Perspective

It is easy to work as a programmer in an IT company, but the ideal programmer always focuses on business goals. This allows you to move beyond just working on application ideas that get handed down from on high. Only a business focused programmer can suggest ideas for a new project that may improve efficiency and operations.
Let me know in the comments which point motivates you to become a successful programmer and if you enjoyed this article share it on social media so that every programmer can get the tips for becoming a success in their career.

Monday, August 7, 2017

AWS components

AWS Training Course Objectives

  • Compute (EC2)
  • Storage (S3, EBS, EFS, Storage Gateway & Snowball)
  • Database (RDS, DMS, Redshift)
  • Network and Content Delivery (Route53 VPC &CloudFront)
  • Management Tools (CloudWatch Cloud Formation Trusted Advisor)
  • Security & Identity Compliance (IAM)
  • Application Services (SWF, Elastic Transcoder, Cloud Formation)
  • Messaging (SNS, SQL & SES)
  • Developer tools (Code Pipeline, Code Commit, Code Build and Code Deploy) 

AWS Training Course Prerequisites

  • Absolute Beginners. No prior AWS experience is necessary.
  • Previous System Administration/ Development knowledge would be added advantage.
  • System Administrators Interested in Deploying Applications on AWS
  • Cloud Computing Enthusiasts 

Setup Requirements

  • Need to set up an AWS Account
  • (Most of the Services comes with AWS free tier eligibility)
  • Windows: Putty, Putty KeyGen and Web Browser with Internet connectivity.
  • Linux/Mac : DefaultTerminal

AWS Training Course Overview

Introduction to Cloud Computing

  • Introduction to cloud computing
  • Essential Characteristics of Cloud Computing
  • Service Models in Cloud computing
  • Deployment models in Cloud Computing
  • Introduction to AWS
  • AWS Account creation &free tier limitations overview 

Identity Access Management

  • Root Account Vs IAM user
  • Multi Factor Authentication for Users
  • Password Policies 

Storage

  • What is Simple Storage Service (S3)
  • Storage Classes
  • Versioning
  • Life Cycle Management &
  • Content Delivery Networks (Cloud Front)
  • Security & Encryption
  • Static Webhosting with S3 bucket
  • Storage Gateway 

Compute

  • Launch EC2 Instances
  • EC2 Instance Types
  • Security groups
  • Volumes and Snapshots
  • RAID Overview and RAID Configuration on windows
  • Creating an Amazon Machine Images
  • Bootstrap scripting
  • ElasticLoad Balancers & Health Checks
  • Auto Scaling Groups
  • Cloud Watch
  • AWS CLI
  • EC2 Roles
  • Metadata
  • Elastic File System
  • AWS Lightsail
  • Elastic Beanstalk 

Route 53

  • DNS Records overview
  • Routing Policies
  • Hosting sample Website

Databases

  • Launching a RDS Instance
  • Backups, Multi-AZ & Read Replicas
  • DynamoDB
  • Redshift
  • Elastichache
  • Amazon Aurora

Networking

  • Basics of Networking
  • Creating custom VPC 

Application Services

  • Simple Email Service
  • Simple Queue Service
  • Simple Workflow Service
  • Simple Notification Service
  • ElasticTranscoder
  • Trusted Advisor 

AWS Services &Backups 

  • Disaster Recovery 

Developer Tools Overview (Optional)

  • Code Pipeline, Code Commit, Code Build and Code Deploy.
  • Cloud Formation
  • Lambda