Upgrade rails from 4.2 to 5.0

Upgrading rails to a new major version can be tricky because there might be many breaking changes from the framework itself or from many gems used in project that will become either deprecated or unsupported. However, it can also go smooth if done in a right procedural way. This post shares the procedure based on my recent hands-on experience in upgrading rails from 4.2.11 to 5.0.7.2 for our API server. Please be kindly noted that depending on project configuration or dependencies, the upgrading steps might be slightly different for various projects.

Ruby rack

Rack is the gem that provides the interface between web frameworks (ruby on rails, sinatra) and web servers (webrick, puma, unicorn) in ruby world.

Ruby rake

Rake is a Make-like task runner in Ruby. First define a list of tasks in ruby syntax in a Rakefile and then invoke the task with rake command.

Ruby bundler

Bundler is for dependency management in ruby projects.

Ruby gems

A ruby gem is a software package that contains a reusable ruby application or library.

Ruby rbenv

rbenv is for managing multiple Ruby versions and here are some of its commonly used commands summarized for quick reference.

Nodenv quick commands cheatsheet

nodenv is a great tool to manage multiple NodeJS versions and here are some of its commonly used commands summarized for quick reference.

React-csv issue in async data and rendering

In frontend development sometimes you need to export the data (usually in JSON format) as downloadable csv format, and for those working on ReactJS related web applications, there is a package named react-csv that can save you from breaking the DRY… However, you may also encounter issues when applying this package in some specific scenarios, such as the one I’m writing down soon which involves in data being loaded asyncronously but needed for initial UI rendering.

Python topics of interest

List of python topics of interest.

Install docker on ubuntu

Command list to install docker ce on ubuntu (17.10).