Dockerize Development với Javascript MERN Stack

Setup máy Mac cho developer trong vòng một nốt nhạc

Tú viết

Nếu chỉ cần setup để code những trang static cơ bản, thì chỉ cần Chrome và Notepad là đủ emoji-smile, tuy nhiên mình làm việc khá nhiều với các build script, build tools và terminal nữa, việc setup máy sẽ phức tạp hơn tí.

brew install neofetch

macterm

Life on terminal… Mọi thao tác trong việc cài đặt đều được thực hiện trên terminal nhé. emoji-smiley

[Updated Nov 21 2019]

HomeBrew

Nếu đã quen với những apt hay yum bên Linux rồi thì với macOS chúng ta có brew, giúp cài, update và xoá các software package một cách dễ dàng và nhanh chóng thông qua bộ CLI của nó.

Cài đặt HomeBrew (brew):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Terminal

iTerm2

Terminal là cái tiếp theo mà mình nghĩ đầu tiên khi setup máy mới, terminal cần tất cả các thao tác liên quan tới Git, các lệnh chạy build task. Vì cái terminal mặc định của Mac khá là sida nên mình sẽ quyết định cài 2 cái terminal shell khác ở đây là iTerm2 (cái này khá là phổ biến rồi).

brew cask install iterm2

Alacritty

Ngoài ra các thao tác với neovim hơi nặng một tí mình sẽ dùng Alacritty - đây là một cái terminal emulator viết bằng Rust (nghe là biết chạy nhanh rồi emoji-sweat_smile), dùng GPU để tăng tốc render, vì thế nếu xài với neovim sẽ rất nhanh. Thằng này thì tính custom khá cao, tuy nhiên thiếu đi mất vài tính năng cơ bản như Tab, vì thế nếu muốn dùng tab trong này thì phải xài Tmux emoji-smirk, hơi lằng nhằng một tí.

brew cask install alacritty
brew install tmux

Shell: ZSH với Oh My Zsh

Cài đặt ZSH bằng HomeBrew:

brew install zsh

Xài terminal mà không có Zsh/Fish thì chán lắm, ở dây mình xài với Oh My Zsh, cũng khá phổ biến thôi. Xài zsh làm cho việc gõ command trên terminal nhanh hơn, tiện hơn với nhiều utils hay và alias nữa, ngoài ra cũng giúp bạn gõ lệnh trông ngầu hơn emoji-smirk.

Ngoài ra, mình xài chung Oh My Zsh với theme SpaceShip và một số plugin cơ bản khác.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Xài theme custom thì cài thêm font SourceCode Pro nữa, có thể cài qua HomeBrew:

brew tap homebrew/cask-fonts && brew cask install font-source-code-pro

zsh

Sau đó sửa config zsh tại ~/.zshrc, đây là phần custom của tui, có xài thêm 1 số plugin khác như suggestion và auto complete:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
vim ~/.zshrc
plugins=(zsh-autosuggestions)
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
vim ~/.zshrc
ZSH_THEME="spaceship"

Auto Jump

git clone git://github.com/wting/autojump.git
cd autojump
./install.py

Nerd Fonts

brew tap homebrew/cask-fonts
brew cask install font-hack-nerd-font

Git, Docker, Node.js, Java và Go

Đương nhiên để code thì phải có 4 thằng này rồi emoji-smile, quá ez với brew:

brew install git
brew install docker
brew install node
brew tap homebrew/cask-versions
brew cask install java
brew install go

Cài thêm yarn và một số lib global hay dùng bên Node.js đễ xài khi cần thiết

npm install yarn -g
npm install serve -g

Code Editor

Visual Studio Code

mình chọn xài VSCode vì nó nhanh (tất nhiên không nhanh bằng Sublime Text hay Vim), có nhiều utils, plugin và được support tốt từ community, update đều đặn. Integrate tốt với hầu hết mọi ngôn ngữ (mình đang xài VSCode để code JS, TS và Go luôn, Java cũng được nhé emoji-smile).

brew cask install visual-studio-code

Vim: NeoVim

Cài đặt NeoVim:

brew install neovim

Cài đặt vim-plug cho NeoVim:

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

File init.vim đã config sẵn: Gist

vim ~/.config/nvim/init.nvim

nvim

Browser

Safari Firefox Google Chrome với Chrome Dev Tool vẫn là ngon nhất emoji-smile.

brew cask install google-chrome

Một số tools khác cho việc dev và communicate

brew cask install postman

brew tap caskroom/cask
brew cask install mysqlworkbench

brew cask install slack 
brew cask install skype
brew cask install caprine

Dotfile

Ngoài ra để cho nhanh (khỏi phải config), các bạn có thể tìm và xài các bộ dotfile đã được viết sẵn tại đây.

done