หนังสือ/วีดีโอ สอน Ruby on Rails สร้าง API ตั้งแต่เตรียมเครื่อง ยันเขียนเป็น

ใครสนใจเขียน Ruby on Rails ลองเข้ามาอ่านดูครับ

เนื้อหาของหนังสือมีดังนี้ครับ

  1. Introduction
  2. เตรียมเครื่อง
    1. RVM
    2. Ruby
    3. NVM (optional)
    4. NodeJS (optional)
    5. Text Editor Atom Sublime VSCode
    6. Postman / Hoppscotch
  3. Creating Ruby on Rails Project
  4. Folder structure
    1. .ruby-version
    2. .ruby-gemset (new)
    3. Gemfile & Gemfile.lock
    4. config folder config/database.yml config/Environments files
    5. app folder app/controllers/application_controller.rb app/models/application_record.rb
    6. อื่นๆ
  5. Ruby
    1. Numbers
    2. BigDecimal (Rails only)
    3. Strings
    4. Comment
    5. Print
    6. Object Methods
    7. Array
    8. Hash
    9. Blocks
    10. Modify Built-in Class
  6. Controllers for Beginner
    1. HTTP Request / Actions
    2. Static GET API Cross origin request (rack-cors)
    3. POST PUT DELETE for Static
  7. Models and Migration
    1. Creating Model
    2. Migrating Database
  8. Rails Console
    1. The power of Rails console
    2. Rails powered by Ruby is fun
  9. CRUD ​API ใช้งานได้จริง
    1. Review บทก่อนหน้า
    2. RESTful APIs
    3. API GET users
    4. API GET users/:id
    5. API POST /users create
    6. API PATCH /users/:id update
    7. API DELETE /users/:id destroy
    8. Resourceful routes
    9. สรุปบท CRUD API
  10. The Power of Scaffolding
    1. rails g scaffold
    2. Controller from scaffold
  11. Model Relationship
    1. ER Diagram
    2. Starting small project
    3. Scaffold APIs
    4. The Missing APIs
    5. Model’s Relationship
    6. Testing Model’s Relationship
    7. Add missing API
    8. อื่นๆเกี่ยวกับ API
  12. Sending Emails
    1. Action Mailer Basic
    2. Email Template Layouts
    3. Test sending email
  13. Errors Rescue
    1. Ruby Rescue
    2. (API) ApplicationController Rescue Error Class (StandardError) rescue_from
    3. Example Classes to rescue
  14. Authenticating API with JWT
    1. Devise Gem
    2. JWT for User model
    3. Session Controller
    4. Sign up API
    5. Sign in API
    6. User profile API (from JWT)
    7. Sign out API
  15. Model Validation
    1. Simple Presence Validation
    2. Validating Inclusion
    3. Validating Length
    4. Validate Numbers
    5. Custom Validation
  16. Active Record Query Interfaces
    1. Date query
    2. Where NOT
    3. Scope
    4. Scope with function
    5. Ordering
    6. Relationship Ordering
    7. Readonly Objects
    8. Querying Relationship
    9. Eager Loading n+1 query
    10. Selecting Fields to Query
    11. Calculations .count .sum .average .minimum .maximum Others
  17. Caching with Rails
    1. Installing Redis
    2. การ Config Cache Store on Rails
    3. Simple Key Caching
    4. Model Caching
  18. Upload File / Image
    1. Setup ActiveStorage
    2. Adding ActiveStorage to Model
    3. Adding Upload Image API
    4. Storage Location Config Disk Storage Amazon S3 Storage Google Cloud Storage AzureStorage ข้อควรระวัง
  19. Managing Status with State Machine
    1. Act as state machine (aasm)
    2. AASM Events
    3. AASM Callbacks
  20. Unit tests
    1. Using rails test
    2. Test Driven Development (TDD)
    3. Unit test with fixtures and setup feature
  21. Deploying Rails
    1. Requirements
    2. Setting New User in ubuntu
    3. Setting ubuntu for rails
    4. nginx passenger
    5. Cloning Project
    6. Config Nginx Passenger

สำหรับ Video สอน

ผมพยายามทำและรวบรวมวีดีโอที่ผมทำเอง และ ถ้าเป็นไปได้จะพยายามเอาวีดีโออื่นๆที่เกี่ยวข้องมารวมด้วยครับ (ข้ามไปดูวีดีโอด้านล่างสุดได้เลยครับ สำหรับคนใจร้อน)

[Youtube Channel SaKKosama 🐶 กดติดตามหน่อยนะครับ] (https://www.youtube.com/channel/UC1Jindq-cR4nryXJF2gybbQ?sub_confirmation=1&fbclid=IwAR2hQSaMSUnXp-9uIjFkSSdSucovYHenEOmIpRBnAfyX_yFH5PWO-zSLmQM)

เป้าหมายคือ อยากให้เป็นประโยชน์กับทุกๆคน ไม่ว่าจะพนักงานของผมเอง หรือ จะเป็นคนที่มีความสนใจศึกษา Ruby on Rails และอยากให้มี Developer ชาวไทยหันมาใช้งาน Ruby on Rails กันให้เยอะขึ้นครับ

ปล. Web dev.to นี้ก็เขียนด้วย Ruby on Rails นะครับ

List ข้อดีของ Ruby on Rails

  1. Ruby เป็นภาษาที่ สามารถอ่านได้ง่าย เข้าใจง่าย
  2. Rails เป็น Framework ที่มี High standard และ Convention ที่ดีมากๆ ดีขนาดที่ทุกๆ Framework พยายามนำไปเปรียบเทียบ
  3. คนชอบบอกว่า High Learning Curve แต่สำหรับผม มันขึ้นอยู่กับว่า เริ่มอย่างไรมากกว่า
  4. Rails เป็น Framework ที่มีครบเกือบจะทุกอย่างที่ Developer ต้องการสำหรับ Web Development
  5. Rails เป็น Framework ที่ทำให้สามารถพัฒนาระบบอะไรก็ตามได้อย่างรวดเร็ว และ สามารถทำการเปลี่ยนแปลง feature ต่างๆ ได้โดยง่าย
  6. Rails ตั้งแต่ Rails 5 ขึ้นมา มีการใส่ Test Driven Development ได้โดยง่าย ไม่ว่าจะเป็น Unit test, Integration test ในทุกๆเรื่อง โดยที่มีการกำหนดวิธีเขียนมี standard อย่างชัดเจน
  7. Rails มี Security Standard ที่ชัดเจน หากทำตามที่ Framework กำหนด มีความปลอดภัยในการทำสูงมาก
  8. Rails caching mechanism ดีมากๆ ไม่ว่าจะเป็น Query Cache, Redis Cache รับรองว่าใช้แล้วจะแปลกใจทำไมภาษาอื่นไม่มี

List ข้อด้อยของ Ruby on Rails ที่คนชอบบ่นกัน

  1. หลักๆเลยคือ ช้า... คนบ่นทุกคน แต่มันก็พอๆกะ Python (Django)
  2. Scale ยาก เพราะว่ามันช้า มันเลย Require scaling เยอะกว่าคนอื่น
  3. พึ่งพา gem เยอะ และอาจจะทำให้ไม่ค่อย Flexible หากเลือกไม่ดี (เป็นเหมือนกันทุกภาษา)
  4. Learning curve / Learning Material เอาจริงๆ ผมว่าขึ้นอยู่กะคน

สรุปความคิดเห็นส่วนตัว

  • ภาษาที่เขียนง่าย อ่านง่าย จะทำให้ Maintain ง่ายขึ้น ผมเปิดบริษัทมาร่วมสิบปี Maintain Rails เป็นอะไรที่สบายที่สุด แต่ NodeJS เป็นอะไรที่ทรมานที่สุด
  • ภาษาที่เขียนง่าย ทำให้สามารถเขียน function ยากๆได้ง่ายขึ้น ภาษาที่เร็วๆ เขียนไม่ดีมันก็ช้าได้
  • Function ไหนอยากให้เร็วขึ้น
    • หาทางทำ Caching
    • Optimize query
    • ย้ายไปทำ Microservice แยก เอาก็ได้

พิมมาเยอะ ใครเห็นด้วยไม่เห็นด้วยก็ติชมได้ครับ จะพยายามปรับให้ดีขึ้นเรื่อยๆครับ ขอบคุณครับ

วิีดีโอ

@geekstart LINE QR

วิธีการซื้อหนังสือ

ราคา 349 บาท
สั่งซื้อหนังสือออนไลน์
หรือ
โอนเงินได้ที่
ธ.กรุงเทพ 8600070596
นาย ธนศักดิ์ ตันติธารทอง
แจ้งโอนเงินได้ที่
LINE: @geekstart
หนังสืออัพเดทฟรีผ่าน leanpub ตลอดครับผม