For better coding


  • PGHero: A performance dashboard for Postgres
  • Skylight: To understand and act on your app’s performance data
  • Bullet
  • RubyCritic


Uploading Files

  • Active Storage: Facilitates uploading files to a cloud storage service.
  • CarrierWave: Provides a simple and extremely flexible way to upload files from Ruby applications
  • Minimagick


  • Elasticsearch-model , elasticsearch-rails



  • Will_paginate
  • Kaminari: A Scope & Engine based, clean, powerful, customizable and sophisticated paginator.

In most of the application, it requires to send email through the app itself like sending email to the user after registration, forgot password, sending feedback, etc. In most cases, we used to have a development, staging, and production server.

To test email functionality in the development server we can use letter_opener gem. And to test in the staging server we really need to send an email to the user. This could be a risk because it can send a test email to a real user. …

Latest version: Ruby 3.0.0 Dec 25, 2020

Ruby is an open-source pure object-oriented programming language developed by Yukihiro Matsumoto. The first version of the language (0.95) was released in 1995, and in 2011, version 1.9.3 was released.

What is the difference between a class and a module?

  • Basically, a class can be instantiated but a module cannot. A module will never be anything other than a library of methods. A class can be so much more — it can hold its state (by keeping track of instance variables) and be duplicated as many times as you want. It’s all about objects.
  • If you need to instantiate something or otherwise have…

Deep copy

A deep copy means that all of the values of the new variable are copied and disconnected from the original variable.

var a = 5;
var b = a; // 5
b = 6;
console.log(a); // 5
console.log(b); // 6

Shallow copy

A shallow copy means that certain (sub-)values are still connected to the original variable.

var user = { name: 'Kishan', gender: 'M' };
var user2= user; = 'Kishan Patel';
// Since 'user2' is reference of 'user'
console.log(user); // { name: 'Kishan Patel', gender: 'M' };
console.log(user2); // { name: 'Kishan Patel', gender: 'M' };
--Same applies…

The latest stable version is 2.6.11, released this on 14 Dec 2019.

What is VueJS?

  • Vue.js is an open-source Javascript framework for building user interfaces.

How to create a Vue project

Check out here for more information.

Simple documentation on how to clone GitHub repository into your system through ssh key.

First of all, you need to generate ssh key, check out to generate ssh key.

$ ssh-keygen -t rsa -b 4096 -C ""
$ cd ~/.ssh
$ ls
$ mv id_rsa* /Document
$ rm id_rsa

In the Dialogflow chatbot integration Part-I, you learned how to create a chatbot with provided Training phrases and output response, in this blog you will learn how to connect Dialogflow to your server, send a request to the server from Dialogflow, and receive a response from your server.

Let’s get started,

Suppose you want to find the email address of a user from your DB.

You can ask your bot in many ways, e.g.

> What is Jhon’s email? or
> Jhon’s email

and you can expect a response from your bot something like,

< Jhon’s email address is

To do so, you have to follow below steps

A simple Blog application using Ruby on Rails.


  • Rails
  • Ruby
  • PostgreSQL database
  • RVM
  • Scaffolding
  • Model
  • Migration
  • Route
  • Controller
$ gem install railsIt will install the latest rails on your machine$ rvm install ruby-2.7.0
It will install Ruby 2.7.0 in rvm.
You can see the rvm list by
$ rvm list
To see the available gemset inside the ruby type
rvm gemset list
$ gpg - keyserver hkp:// - recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB$ source ~/.rvm/scripts/rvm
$ rails new Blog…

Benefits of using Heroku

  • It helps you to focus on innovation, not operations.
  • A developer can easily deploy their Rails app without knowledge of dev ops.
  • Easy setup: as a PaaS, you don’t need to know how to install and configure Apache, nginx, unicorn, passenger, MySQL, Postgres, etc.
  • Simple Horizontal & Vertical Scalability.
  • It offers a powerful dashboard and CLI.
  • You can create 5 application without any cost.



A simple blog to configure ESLint on VSCode for Vue JS developer.

To write good codes we need to remember many things, what if our code editor will highlight our bad codes and fixed those warnings automatically. Don’t worry this is possible by ESLint.

Advantages of using ESLint

  • No need to remember rules to write good codes and focus on the logic.
  • It will improve the readability of your code.
  • You will be able to find the syntax error before execution.
  • You will spend less time testing new features.
  • Your code will be more consistent.

Steps to install and configure ESLint

  • Open VS Code
  • Click on…

Kishan Patel

A full stack developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store