When your Ruby on Rails is an old version and PostgreSQL is new, you will get the panic error since PostgreSQL 12 doesn’t allow the panic value.

Image by pasja1000 from Pixabay

For example, we’re using Rails v4.2.1 and try to rake db:create

PG::InvalidParameterValue: ERROR:  invalid value for parameter "client_min_messages": "panic"
HINT: Available values: debug5, debug4, debug3, debug2, debug1, log, notice, warning, error.
: SET client_min_messages TO 'panic'

The panic will be at line 313

https://github.com/rails/rails/blob/v4.2.1/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L313

It’s fixed from panic to warning since Rails v4.2.5 and above.

https://github.com/rails/rails/blob/v4.2.5/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L673

So, our purpose is to fix warning level for client_min_messages avoid error if Rails < 4.2.5


มอบตัวลูกหลานเข้าเรียนทีก็จะมีค่าใช้จ่ายทีหนึ่ง จะดีกว่ามั้ยถ้าเราเก็บเงินไว้แต่เนินๆ ด้วยเครื่องมือทางการเงินสักตัว

Image by 3D Animation Production Company from Pixabay

คำเตือน: การลงทุนมีความเสี่ยง ผู้ลงทุนควรศึกษาข้อมูลก่อนตัดสินใจลงทุน

จริงๆ ออมผ่านบัญชีฝากประจำก็ได้นะ ความเสี่ยงต่ำมาก เงินต้นอยู่ครบ ดอกเบี้ยขึ้นอยู่กับระยะเวลาและวินัยการฝากเงิน

ทำไมถึงออมเงินผ่านกองทุน?

  1. มีบัญชีกองทุนรวมอยู่แล้ว
  2. ต้องการแยกเงินออกจากกันตามจุดประสงค์ แยกออกมาเก็บจะดูแลง่ายกว่า ไม่เผลอเอาไปใช้นอกเรื่อง
  3. กองทุนรวมบางกองทุนสามารถซื้อครั้งแรกขั้นต่ำและครั้งถัดไปได้ในราคา 1 บาท ต่างจากฝากประจำที่จะมีขั้นต่ำส่วนใหญ่อยู่ที่ 1,000 บาท
  4. กองทุนรวมบางกองทุนมีต้องการความคล่องตัวในการนำเงินเข้าออกมากกว่าบัญชีฝากประจำ
  5. ตัดเงินบัญชีอัตโนมัติไปซื้อกองทุนได้ทุกเดือน
  6. ขี้เกียจไปเปิดบัญชีเงินฝากใหม่ที่สาขา
  7. อยากลองว่าจะได้มากกว่าฝากประจำมั้ย

เลือกกองทุนรวมประเภทไหน?

  1. ดูจุดประสงค์การออมเงินของเราก่อน กรณีนี้เพื่อเก็บเงินส่งวันมอบตัวนักเรียนให้กับสถานศึกษา
  2. ระยะเวลาที่จะลงทุน กรณีนี้จะเป็นระยะสั้น คือประมาณไม่เกิน 1 ปี
  3. จำนวนเงินที่ต้องการจะเก็บ อันนี้เราไปดูประกาศของสถานศึกษาจากเฟซบุ๊คปีก่อนๆ ก็ได้ว่าปีที่แล้วใช้เงินประมาณเท่าไหร่

ผมเลือกกองทุนรวมตราสารหนี้ระยะสั้น เพราะระยะเวลาที่เราจะเก็บเงินไม่ถึง 1 ปี…


กอช. หรือกองทุนการออมแห่งชาติมีวิธีจ่ายได้หลายแบบครับ การจ่ายด้วย QR Code ผ่านแอปกอช.และแอปธนาคาร เป็นอีกทางเลือกหนึ่งที่สะดวก(?)

สำหรับวิธีส่งเงินไปกอช.วิธีอื่นๆ สามารถคลิกอ่านได้ตรงนี้เลย

สิ่งที่ต้องเตรียม

  • เงิน (ขั้นต่ำ 50 บาท)
  • ต้องเป็นสมาชิกของกอช.
  • มีแอปกอช. และเคยสมัครสมาชิกบนแอปแล้ว
  • มีแอปธนาคาร

ขั้นตอนคร่าวๆ

  1. เข้าแอปกอช.
  2. สร้างใบนำส่งเงินสะสม (Bill Payment)
  3. บันทึกใบนำส่ง
  4. เปิดแอปธนาคาร
  5. เลือก สแกนบิล หรือ จ่ายด้วยคิวอาร์โค้ด หรือ บาร์โค้ด
  6. เลือกใบนำส่ง (ข้อ 3) จากคลังภาพ
  7. ตรวจสอบข้อมูล
  8. ยืนยันการชำระเงิน


Sometimes curl doesn’t show up an error with response

Image by Andrew Martin from Pixabay

To show error detail

$ curl GET 'https://www.yoururl.com' --show-error
$ curl GET 'https://www.yoururl.com' -S
{ "Message":"An error has occurred.","ExceptionMessage":"The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; charset=utf-8'.","ExceptionType":"System.InvalidOperationException","StackTrace":null,
...
}

To show error HTTP status

$ curl GET 'https://www.yoururl.com' --fail
$ curl GET 'https://www.yoururl.com' -f
curl: (22) The requested URL returned error: 500 Internal Server Error

To show all stuff

$ curl GET 'https://www.yoururl.com' --verbose
$ curl GET 'https://www.yoururl.com' -v

Tip 💡

Use HTTPie. It’s a lovely HTTP client. This image is a good comparison between Curl and Httpie


Image by Michal Jarmoluk from Pixabay

In Ruby on Rails, we have Bundler to handle gem. You might be stuck with an error message You must use Bundler 2 or greater with this lockfile. when our Gemfile.lock is using Bundler version 2

$ docker-compose up rails 

Recreating rails ... done
Attaching to rails
rails | Bundler::LockfileError: You must use Bundler 2 or greater with this lockfile.
...
ld-backend | bundler: failed to load command: rails (/usr/local/bundle/bin/rails)
ld-backend exited with code 1

For this example, we will use Bundler version 2.1.4 and Ruby version 2.3.1

  1. Find your bundler version at Gemfile.lock
BUNDLED WITH
2.1.4

2. Add commandsENV…


Sometimes we need to build a container and install a library from a private repository

Image by congerdesign from Pixabay

TL;DR

We will send SSH private key using --build-arg then write it to id_ed25519 or id_rsa file in the container.

Dockerfile (the important part)

# Add ssh private key into container
ARG SSH_PRIVATE_KEY
RUN mkdir ~/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > ~/.ssh/id_ed25519
RUN chmod 600 ~/.ssh/id_ed25519
RUN ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts
# Print SSH_PRIVATE_KEY (for test)
# RUN echo "${SSH_PRIVATE_KEY}"
RUN npm install

Build and run

$ docker build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_ed25519)" -t sample-project .$ docker run sample-project

Let’s create 1 project and 1 private library…


Actually, I am waiting for my workmate. He chatted back after I just start a blog. Sorry man, but I can’t stop writing 😛

Prerequisites

  • Homebrew 🍺

Let’s go!

1. Install GnuPG

$ brew install gnupg

2. Install GPG keys

$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

3. Install RVM

$ \curl -sSL https://get.rvm.io | bash

4. We will receive a thank you 🙏 message in the console.

5. Quit all Terminal

6. Lunch a new Terminal and try this

$ rvm list

7. We will get this message

# No rvm rubies installed yet. Try 'rvm help install'.

8. Install some ruby…


I’ve got the problem when I want to clean install Ubuntu from Ubuntu Official on my Dell machine. After installation, there is no driver support such as WiFi, Display, Bluetooth, …

The first thing I did is find a way to connect to the internet. I use USB tethering from my smartphone because I have no longer use the Ethernet Network.

The second is to find the URL that can install/upgrade my driver.

Finally, I found the URL and the way to add it to the apt repository.

For your information:

  • xenial is Ubuntu 16.04
  • bionic is Ubuntu 18.04

Now…


เนื่องจากทีมใช้ react router เลยต้องลงดูครับ แปะลิงก์ https://reacttraining.com/react-router

เครื่องที่ใช้อยู่พึ่งลง windows ใหม่ แบบสดๆ ร้อนๆ ยังไม่ได้ลงอะไรเพิ่มเติม นอกจาก nodejs

ผมติดตั้ง react router ผ่านทาง cmd นะครับ อย่าลืมลง nodejs ก่อน เสร็จแล้วพิมพ์คำสั่งตามนี้

$ npm install react-router-native

แต่มันไม่ง่ายแบบนั้น พบ error มากมาย โดยในระหว่างลง จะเรียก node-gyp ขึ้นมา และไม่ได้ไปต่อเพราะติดตรงที่ไม่พบ python

Error: Can't find Python executable "python", you can set the PYTHON env variable.

ซึ่งสาเหตุอาจจะเป็นเพราะยังไม่ได้ลงตัว node-gyp ผมเลยลองย้อนกลับไปลง node-gyp แต่ก็ยังติด error อีก เลยลองเข้าไปดูที่ลิงก์ https://github.com/nodejs/node-gyp

พบว่าเราต้องติดตั้งตัว windows build tools เสียก่อน

$ npm install --global --production windows-build-tools

แล้วจึงค่อยสั่งติดตั้ง node-gyp

$ npm install -g node-gyp

เมื่อเราได้อุปกรณ์ครบแล้วจึงค่อยลง react router

$ npm install react-router-native

เป็นอันเสร็จเรียบร้อย เมื่อไม่พบ error หรือ warning ใดๆ

Pagorn Phusaisakul

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