Multiple node js same machine

Installation of NVM

Windows

Download the latest version of NVM

https://github.com/coreybutler/nvm-windows/releases/latest

Download nvm-setup.zip and install on the windows

Verify Installation

nvm version

MacOs/Linux
Using curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Using Wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Verify Installation
command -v nvm

Usage
Get a List of all available NodeJs versions
nvm  ls available //windows

nvm ls-remote //MacOs/Linux

Install latest NodeJs version

nvm install node

Install latest LTS Release

nvm install --lts

Install particular NodeJs version

Multiple NodeJs version can be installed using the below command.

nvm install 8.11.1 // to install the 8.11.1 version

nvm install 12.13.1 //to install the 12.13.1 version

UnInstall the multiple NodeJs version

nvm uninstall 8.11.1

Switching the NodeJs version

Get a List of installed NodeJs version

nvm list  //for windows

nvm ls //for MacOs/linux


nvm list

Switching Between installed NodeJs Versions

nvm use 8.11.1  //To enable 8.11.1

nvm use 12.13.1 //To enable 12.13.1


Use Custom alias for installed NodeJs versions

We can create an alias as per the Project basis or the group of projects using the same NodeJs version.

nvm alias awesome-project 12.13.1

After creating an alias, then switch to the alias

nvm use awesome-project

Remove the Alias

nvm unalias awesome-project

Run to specific NodeJs version, without switching

nvm run 8.11.1 app.js

or can be used below command

nvm exec 8.11.1 node app.js

Other Commands

To use installed nodeJs version in the system

nvm use system

To completely remove nvm from the system.

nvm unload 


Prawn Font family

อยากใช้ font ไทย ใน prawn แล้วอยากใช้ inline format ด้วย

prawn คืออะไร plugin ruby เอาไว้เขียน pdf
inline format คืออะไร ก็แบบ ใส่ <b></b> แล้วได้ตัวหน้า ใส่ <i></i> ได้ตัวเอียง

ก็เพิ่ม font family สิครับ


    pdf = Prawn::Document.new :page_size => 'A4', :margin => [margin_top, margin_right, margin_bottom, margin_left]
    
    pdf.font_families.update("THSarabun" => {
      :normal => File.join("public", "fonts", "THSarabun.ttf"),
      :italic => File.join("public", "fonts", "THSarabunItalic.ttf"),
      :bold => File.join("public", "fonts", "THSarabunBold.ttf"),
      :bold_italic => File.join("public", "fonts", "THSarabunBoldItalic.ttf")
    })
   
    pdf.font "THSarabun", size: 14   
   
    pdf.text "แบบฟอร์ม", align: :center
    pdf.text "<b>1. ชื่อโครงการ</b> #{@project.name}", inline_format: true
    pdf.text "#{@project.code}"
 

Net::SMTPFatalError: 553 5.1.2 The address specified is not a valid RFC-5321 address.

โอ้ววว เมลไม่ออก ตั้งแต่วันอังคาร

Net::SMTPFatalError: 553 5.1.2 The address specified is not a valid RFC-5321 address. - gsmtp

จากเดิมใน xxx_mailer.rb
mail(from: "ibatt.in.th@gmail.com", to: "to@email.com", subject: 'สวัสดีมนุษย์')

แก้เป็น
mail(from: "I'm BATT <ibatt.in.th@gmail.com>", to: "to@email.com", subject: 'สวัสดีมนุษย์')

Relocate iOS device backups (ย้ายที่เก็บ backup ios บน windows)

  1. ย้าย folder backup ที่ C:\Users\<User>\AppData\Roaming\Apple Computer\MobileSync\Backup  (<User> แก้ตามชื่อที่ตัวเองใช้)
    ไปที่ ตามที่ต้องการ สมมติจะย้ายไปที่ X:\Backup
    *** ย้ายทั้ง folder backup เลยนะ คือ ไม่ให้มี folder backup อยู่ใน mobilesync อีกต่อไป ***

  2. ขั้นต่อไปทำให้ iTunes เห็น folder ใหม่ที่เราจะใช้ โดยเปิด command line พิมพ์ว่า MkLink /J "C:\Users\<User>\AppData\Roaming\Apple Computer\MobileSync\Backup" "X:\Backup" แล้วกด enter




สรุปง่ายๆ คือ ทำ link ไป folder ใหม่นั่นเอง ในข้อ 1 เลยต้องย้ายทั้ง folder

Send backup by email with crontab


echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com


So probably the approach to follow will be something like,

tar -zcf /home/blah/backup.tgz /home/blah/
echo "Please find attached the backup file" | mutt -a "/home/blah/backup.tgz" -s "File attached" -- recipient@domain.com


I will save the above script as backup_email.sh and schedule the cron job as,

0 1 * * * /path/to/backup_email.sh