OOZOU
ติดต่อเรา
ข้อมูลเชิงลึก

สิ่งที่เรียนรู้วันนี้

บันทึกสั้น ๆ ที่ใช้ได้จริงจากทีม OOZOU บทเรียนเล็ก ๆ จากงานวิศวกรรมและการออกแบบในแต่ละวัน

ทุกหัวข้อshell 30ruby on rails 22ruby 12macos 10vim 7figma 4cli 3javascript 3heroku 1elixir 1
cli16 กุมภาพันธ์ 2569

รัน Claude Code แบบอัตโนมัติเต็มรูปแบบด้วย alias ชื่อ YOLO

flag --dangerously-skip-permissions ช่วยให้ Claude Code รันคำสั่งและแก้ไขไฟล์ได้โดยไม่ต้องมี prompt ยืนยัน แต่การพิมพ์มันทุกครั้งก็เบื่อเร็วอยู่เหมือนกัน

cli20 มีนาคม 2567

รันคำสั่งบน GPU Nvidia แบบ dedicated ของคุณบน GNU/Linux (เช่น ollama)

เพื่อให้แน่ใจว่าคำสั่ง (CLI) ใช้ NVIDIA GPU ของคุณบน GNU/Linux คุณสามารถใส่ environment variable \\NV\PRIME\RENDER\OFFLOAD=1 และ \\GLX\VENDOR\LIBRARY\NAME=nvidia ไว้ข้างหน้าคำสั่งของคุณได้

ruby on rails10 กุมภาพันธ์ 2565

ใช้ Pundit Policy จัดการ permitted parameters ทั้งค่า default และแยกราย action

ในการจัดการ permitted params คุณสามารถเพิ่ม permitted\attributes และ permitted\attributes\for\#{action} ใน policy ของคุณได้ เช่น

ruby on rails31 มกราคม 2565

ใช้ `requestSubmit` สำหรับการ submit form ร่วมกับ Turbo

Turbo คอยฟัง event submit ที่เกิดขึ้นบน form ดังนั้นให้ใช้ requestSubmit เสมอเมื่อจะ submit form ด้วย JS

ruby on rails19 มกราคม 2565

ให้ Rubocop และ ESLint ignore gem ที่ bundle ไว้ใน GitHub Actions

โปรเจกต์ Rails มักติดตั้ง gem ลงใน vendor directory ใน GitHub actions เพื่อให้ cache ไว้ใช้ในรอบถัด ๆ ไปได้

macos20 สิงหาคม 2564

เพิ่ม drop shadow สไตล์ macOS ให้ภาพแคปหน้าจอแบบ "บางส่วน" หรือภาพขอบเรียบของคุณ

โดยค่าเริ่มต้น ไม่ว่าคุณจะชอบหรือไม่ก็ตาม คีย์ลัดของ macOS สำหรับแคปหน้าจอแอปแบบเต็ม (⇧- ⌘- 5) จะเพิ่ม drop shadow จาง ๆ รอบภาพที่บันทึกไว้ ซึ่งช่วยให้ภาพดูสวยงามขึ้นเมื่อ…

figma22 มิถุนายน 2564

สร้างหน้าจอโทนสีเดียวด้วยเลเยอร์ overlay ที่ใส่เอฟเฟกต์ hue fill

สร้างหน้าจอโทนสีเดียวด้วยเลเยอร์ overlay ที่ใส่เอฟเฟกต์ hue fill

figma18 มิถุนายน 2564

กด ⌥option ค้างไว้แล้วคลิกลากตาม input field เพื่อปรับขนาด

กด ⌥option ค้างไว้แล้วคลิกลากตาม input field เพื่อปรับขนาด

cli25 พฤษภาคม 2564

git check-ignore

คำสั่งนี้ช่วยให้ debug ได้ว่าไฟล์หรือ path หนึ่ง ๆ ถูก ignore หรือไม่ และถ้าใส่ flag -v ก็จะแสดง exclude pattern ที่ match ให้ดูด้วย (Docs)

ruby30 เมษายน 2564

ทำให้วางโค้ด Ruby หลายบรรทัดใน Pry ได้เมื่อใช้ leading dot notation

ตอนนี้เราใช้ leading dot notation กันบ่อยมาก เช่น

ruby on rails18 เมษายน 2564

Rails 6, Ruby 3, Bootstrap 5 และ Hotwire

ต่อยอด blogpost ของ Bootrails ด้วย Hotwire: ของใหม่สุดเท่ทั้งหมด (ณ ตอนที่เขียน TIL นี้):

figma17 กุมภาพันธ์ 2564

แปลง Text Object เป็น Title Case ใน Figma

คุณสามารถตั้งค่า property ของ Text box ให้แปลงข้อความทั้งหมดเป็น Title Case โดยอัตโนมัติ (รวมถึงรูปแบบตัวพิมพ์ทั่วไปแบบอื่นด้วย)

heroku6 มกราคม 2564

ลดขนาด Slug ของ Heroku

ขั้นแรก ติดตั้ง plugin Heroku Repo:

shell8 ธันวาคม 2563

รันคำสั่งแบบ incognito/ส่วนตัวสำหรับ Bash และ Zsh

แค่ใส่ space ไว้หน้าคำสั่ง คำสั่งนั้นก็จะไม่ถูกบันทึกลง ~/.bash\_history เช่น qrencode -o out.png "Some secret text"

macos7 พฤศจิกายน 2563

แปลง SVG เป็น PNG

บน MacOS ให้ติดตั้ง inkscape (ผ่าน brew) แล้วใช้งานแบบนี้:

figma31 ตุลาคม 2563

พฤติกรรมของ CMD+Click ใน Figma

การกด ⌘CMD ค้างไว้แล้วคลิกซ้ายใน Designer mode จะเลือกเลเยอร์ที่ลึกที่สุดที่อยู่ใน frame/group นั้น ขณะที่ทำแบบเดียวกันใน inspector/developer mode จะเลือก object/frame/group ชั้นนอกสุด…

ruby on rails27 ตุลาคม 2563

Rails Cache-Control

สำหรับเปิดการตั้งค่า header cache-control ของ static asset และการใช้ CDN บน Heroku:

shell22 ตุลาคม 2563

อัปเกรดฐานข้อมูล postgres ด้วย homebrew

การอัปเกรด postgres ทำได้โดยรัน

ruby on rails14 ตุลาคม 2563

แก้ปัญหา input ใน rails console บน Heroku

ถ้าคุณวางโค้ดหลายบรรทัดลงใน rails console บน Heroku (หรือที่อื่น) อาจเจอปัญหาบรรทัด "เบียด" ทับกัน

ruby14 ตุลาคม 2563

Heredoc แบบไม่มี interpolation

บางครั้งคุณอาจอยากใช้ Heredoc ของ Ruby แบบไม่มี interpolation ('#{....}') ซึ่งทำได้โดยใส่ dash เดี่ยวรอบ keyword ของคุณ:

ruby on rails14 ตุลาคม 2563

ID ที่ไม่ซ้ำกันสำหรับ DOM ใน Rails

Rails มี view helper ดี ๆ อยู่มากมาย หนึ่งในนั้นคือ dom\id:*

ruby on rails13 ตุลาคม 2563

เพิ่ม type ใหม่ให้กับ attributes API ของ Rails 5

attributes API ของ Rails 5 ช่วยให้เราสร้าง form object ได้ง่ายมาก

macos13 ตุลาคม 2563

เพิ่ม spacer ใน Dock ของ macOS เพื่อจัดกลุ่มแอป

เปิด term (หรือโปรแกรมที่คล้ายกัน) แล้ววางคำสั่งบรรทัดเดียวต่อไปนี้:

shell13 ตุลาคม 2563

คัดลอกไฟล์ด้วย Amazon AWS S3 CLI พร้อมกำหนดสิทธิ์

เปิด term (หรือโปรแกรมที่คล้ายกัน) แล้ววางคำสั่งต่อไปนี้:

shell13 ตุลาคม 2563

ล้าง Docker แบบถอนรากถอนโคน

ถ้าคุณเจอ error No Space left บน Docker นี่คือวิธีแก้แบบ brute force:

ruby on rails13 ตุลาคม 2563

แนบไฟล์เข้า ActiveStorage โดยไม่ผ่าน HTTP

ถ้าคุณต้องการแนบไฟล์ที่สร้างไว้บนดิสก์ หรือไฟล์ที่ดาวน์โหลดมาจาก URL ที่ผู้ใช้ส่งเข้ามา ทำได้แบบนี้

ruby13 ตุลาคม 2563

สร้าง hashtable ระดับกลางให้อัตโนมัติใน Ruby

hashtable ระดับกลางทั้งหมดจะถูกสร้างขึ้นให้เองโดยอัตโนมัติ

shell13 ตุลาคม 2563

แบ็กอัปไฟล์ด้วยชื่อเดิม + ส่วนต่อท้าย

หมายเหตุ: จริง ๆ แล้วคุณใช้ !#:1 ได้กับทุกคำสั่ง เพราะมันคือ argument สุดท้ายที่ส่งให้คำสั่งนั้น

shell13 ตุลาคม 2563

Bash alias และเวทมนตร์เล็ก ๆ

เรามีไฟล์แยกต่างหากในโฟลเดอร์ผู้ใช้ชื่อ ~/.aliases ใช้เก็บ bash alias ทั้งหมด เราใช้ alias บ่อยและเพิ่ม alias ใหม่อยู่เป็นประจำ เลยสร้างฟังก์ชัน bash สำหรับเพิ่ม alias ใหม่…

elixir13 ตุลาคม 2563

คำนวณ anagram ใน Elixir

ตัวอย่างเช่น:

ruby13 ตุลาคม 2563

เปลี่ยนเวอร์ชัน Ruby สำหรับรันคำสั่งเดียวด้วย rbenv

คุณสามารถสลับเวอร์ชัน Ruby ชั่วคราวได้ด้วย rbenv local

macos13 ตุลาคม 2563

เปลี่ยนชื่อระบบต่าง ๆ บน macOS

จาก term (หรือโปรแกรมที่คล้ายกัน) คัดลอกและวางคำสั่งต่อไปนี้:

ruby13 ตุลาคม 2563

เปลี่ยน Go to definition ของ VS Code ให้เป็น Cmd+Click

แค่เปิดไฟล์ user settings แบบ JSON แล้วใส่ตัวเลือกนี้:

shell13 ตุลาคม 2563

เช็คว่าสินค้า IKEA มีของหรือยัง

ถ้าคุณกำลังรอสินค้า IKEA มาเติมสต็อก นี่คือวิธีที่ใช้ได้จริงในการติดตามสถานะแบบอัตโนมัติ บทความนี้จะอธิบายวิธีใช้ shell script เช็คสต็อกของ IKEA และรับ…

shell13 ตุลาคม 2563

เช็คว่ามีคำสั่งอยู่หรือไม่ด้วย shell script

เช็คว่ามีคำสั่งอยู่หรือไม่ด้วย shell script

macos13 ตุลาคม 2563

จัดการแท็บใน Chrome

บางครั้งเราอยากย้อนกลับไปหน้าที่ดูล่าสุด โดยที่ยังเปิดหน้าปัจจุบันค้างไว้ ซึ่งทำได้ง่ายมากด้วยคีย์ลัด

macos13 ตุลาคม 2563

ล้าง formula เก่า ๆ บน brew

ใช้ brew cleanup เพื่อเรียกคืนพื้นที่ว่างกลับมา!

ruby on rails13 ตุลาคม 2563

สร้าง Hash จาก Enumerable (Rails 6.0)

method ใหม่ที่ช่วยให้คุณสร้าง Hash จาก Enumerable ได้:

ruby on rails13 ตุลาคม 2563

เขียน migration ให้เป็น idempotent

เมื่อต้องเขียน migration แบบทำลายข้อมูล ให้ใช้ if_exists: true ตอนที่จะลบตาราง และตรวจสอบก่อนว่าตารางมีอยู่จริงเมื่อต้องการเพิ่มหรือลบคอลัมน์…

shell13 ตุลาคม 2563

สร้างคำสั่ง git ของคุณเอง (aliases)

เคยอยากย่อคำสั่ง git ให้สั้นลงไหม? จะใช้ shell alias ก็ได้อยู่ แต่คุณต้องใส่บริบทกำกับไว้เสมอเพื่อไม่ให้ลืมว่า alias แต่ละตัวย่อมาจากอะไร แต่จริง ๆ แล้วคุณสามารถกำหนดคำสั่งของตัวเอง…

shell13 ตุลาคม 2563

ลบ branch ที่ merge ไปแล้วใน Git

คุณสามารถเพิ่ม branch ที่ไม่ต้องการให้ลบได้ใน egrep -v 'master|develop|foo|bar'

shell13 ตุลาคม 2563

ลบ git branch ที่ merge ไปแล้ว

คำสั่ง git สุดสะดวกสำหรับลบ local git branch ทั้งหมดที่ merge ไปแล้ว git branch --merged | egrep -v "(^\\|master|dev)" | xargs git branch -d*

javascript13 ตุลาคม 2563

Destructuring assignment ใน JS

แบบง่าย ๆ javascript const [a, b, ...c] = [10, 20, 100,200] // a= 10, b=20, c=[100,200] const { first, second } = { first: 1, second: 2 } // first = 1, second = 2

shell13 ตุลาคม 2563

เทียบ diff ไฟล์ local กับเวอร์ชันบน remote ใน Git

แค่รันคำสั่งด้านล่างก็ได้ diff เทียบกับเวอร์ชันบน remote แล้ว

shell13 ตุลาคม 2563

หา branch จาก commit

c198bb715 Make default expired description logic pretty `

shell13 ตุลาคม 2563

Force push commit ก่อนหน้าขึ้น repo

ถ้า push โค้ดไปแล้วและอยากจะ force push commit ก่อนหน้า ทำได้ด้วย shell git push origin +commit\sha^:branch\name

shell13 ตุลาคม 2563

ดูชื่อ branch ปัจจุบันของ git

ดูชื่อ branch ปัจจุบันของ git

macos13 ตุลาคม 2563

ดูรหัสผ่านของ wifi ที่เชื่อมต่ออยู่

password: "!forHackers" `

shell13 ตุลาคม 2563

ไล่ดู Git history ของไฟล์ (GUI)

ไล่ดู Git history ของไฟล์ (GUI)

javascript13 ตุลาคม 2563

วิธีสร้าง HTML Element พร้อม Attribute ในบรรทัดเดียวด้วย JavaScript

เวลาทำโปรเจกต์ JavaScript การสร้าง HTML element แบบ dynamic เป็นเรื่องปกติ ตามวิธีดั้งเดิม คุณอาจต้องใช้โค้ดหลายบรรทัดเพื่อสร้าง element แล้วตั้งค่า attribute ทีละตัว…

ruby on rails13 ตุลาคม 2563

วิธีหา god object ในโปรเจกต์ของคุณ (Rails)

ไปที่ root ของโปรเจกต์แล้ว cd เข้าไปที่ app/models (ผ่าน CLI แน่นอน) จากนั้นรัน wc -lw \ | sort -u*

vim13 ตุลาคม 2563

วิธีออกจาก Vim

1. ติดตั้ง Vim เวอร์ชันล่าสุด 2. เปิดไฟล์ใน Vim 3. ⌘-Q แล้วปิด terminal 4. เปิด terminal ขึ้นมาใหม่

vim13 ตุลาคม 2563

วิธีออกจาก vim แบบจริง ๆ!!

ใน terminal

vim13 ตุลาคม 2563

วิธีเซฟไฟล์ด้วย sudo ใน VIM

วิธีเซฟไฟล์ด้วย sudo ใน VIM

ruby on rails13 ตุลาคม 2563

HTML form ที่ submit ไปยัง action อื่น

รู้มานานแล้วว่าเราส่งค่าไปพร้อมกับปุ่ม submit ได้ ทำให้ track ได้ว่า form ถูก submit ด้วยปุ่มไหน เช่น

ruby on rails13 ตุลาคม 2563

ถ้าอยาก override order ที่ตั้งไว้ก่อนหน้า

ถ้าอยาก override order ที่ตั้งไว้ก่อนหน้า (แม้จะถูกตั้งผ่าน default\_scope) ให้ใช้ reorder() แทน

ruby13 ตุลาคม 2563

เพิ่มประสิทธิภาพ Bundler

ยกระดับประสิทธิภาพ bundler ของคุณด้วยการรัน task ของ bundler แบบขนานหลาย jobs:

shell13 ตุลาคม 2563

Kill rails ที่ค้าง

อยาก kill rails ที่รันอยู่บน port ที่ต้องการ (เครื่องรัน rails server อยู่หลายตัว)

shell13 ตุลาคม 2563

Kill SSH session ที่ไม่ตอบสนอง

บางครั้ง SSH session ก็ไม่ตอบสนอง ซึ่งถ้าพักเครื่องแล้วปลุกขึ้นมา อาการนี้จะเกิดค่อนข้างบ่อย แทนที่จะปิด tab ทิ้ง เราใช้ SSH Escape Characters เพื่อ kill session ได้

ruby on rails13 ตุลาคม 2563

จำกัดจำนวน has_many association

จำกัดจำนวน has_many association

shell13 ตุลาคม 2563

แสดงโครงสร้าง directory โดยยกเว้นบาง dir

เคยอยากแสดงโครงสร้างของ directory ปัจจุบันโดยยกเว้นสักหนึ่งหรือสอง directory ไหม?

ruby on rails13 ตุลาคม 2563

ลิสต์ชื่อ model ทั้งหมดของคุณ

หมายเหตุ: RUBYOPT=-W0 ช่วยลดความ verbose ตอนรันคำสั่ง rails เพราะมันจะ suppress warning

shell13 ตุลาคม 2563

สร้าง pr จาก command line ด้วย hub

ติดตั้ง hub ด้วย brew ก่อน: brew install hub จากนั้นใช้คำสั่งง่าย ๆ ตามตัวอย่างด้านล่าง: hub pull-request -m "best pr ever" -b oozou:develop -h feature/awesome-improvements

macos13 ตุลาคม 2563

Slack shortcut ที่ใช้บ่อยที่สุด

⌘-K (หรือ T) เปิด channel switcher (ปกติจะสลับ channel ด้วย shortcut นี้อย่างเดียว และตั้งค่า slack ให้ซ่อน channel ที่ไม่มีข้อความใหม่ทั้งหมด)

ruby13 ตุลาคม 2563

optional relation + RSpec กับ shoulda-matchers

User 1 - 0..1 Laptop

ruby on rails13 ตุลาคม 2563

ฟังก์ชัน Postgres กับ Query แบบ Non-sargable

การใช้ฟังก์ชันของ postgres ใน where clause อาจทำให้ query กลายเป็น non-sargable

ruby on rails13 ตุลาคม 2563

PostgreSQL UPDATE Join

query นี้แสดงวิธีใช้ syntax UPDATE join ของ PostgreSQL เพื่ออัปเดตข้อมูลในตารางหนึ่งโดยอิงจากค่าในอีกตารางหนึ่ง ตัวอย่างเช่น

vim13 ตุลาคม 2563

ย้ายบรรทัดขึ้นลงอย่างรวดเร็วใน Vim ได้ทุก mode

เนื่องจากต้องย้ายบรรทัดไปมาใน vim บ่อย เลยสร้าง mapping ไว้ให้ทำได้ง่ายขึ้น โดย map เป็น ⌘-j สำหรับย้ายลง และ ⌘-k สำหรับย้ายขึ้น ใช้ได้ทั้ง normal, insert และ visual mode vim nnoremap <D-j> :m…

ruby13 ตุลาคม 2563

ลบ bundler ที่มากับ ruby 2.6

การ generate แอป rails 6 ด้วย ruby 2.6+ ในเครื่องที่ติดตั้ง bundler v2 ไว้ จะสร้าง binstub ที่ใช้งานไม่ได้ ถ้าคุณเจอ error You must use Bundler 2 or greater with this lockfile. สามารถลบ…

shell13 ตุลาคม 2563

ลบ commit ที่ไม่ต้องการออกจาก branch ของคุณ

ลบ commit ที่ไม่ต้องการออกจาก branch ของคุณ

vim13 ตุลาคม 2563

เปลี่ยนชื่อไฟล์ใน VIM

นี่คือฟังก์ชันสุดสะดวกที่ใช้เปลี่ยนชื่อไฟล์ใน VIM (ใช้งานได้ทั้งใน MacVIM และ Neovim ด้วย)

macos13 ตุลาคม 2563

รีเซ็ต sequence ของตาราง Postgres หลังการ DELETE

เมื่อลบ record ล่าสุดออกจากตาราง คุณสามารถรีเซ็ตตัวนับ sequence ของตารางนั้นได้ ถ้าความต่อเนื่องของฟิลด์ auto-increment เป็นเรื่องสำคัญสำหรับคุณ ลองดูการทำงานกับตารางต่อไปนี้ users:

shell13 ตุลาคม 2563

กู้คืนไฟล์ที่ถูกลบใน Git

กู้คืนไฟล์ที่ถูกลบใน Git

ruby13 ตุลาคม 2563

รัน rubocop กับ branch ปัจจุบันของคุณ

รัน rubocop กับ branch ปัจจุบันของคุณ

ruby13 ตุลาคม 2563

รัน rubocop ก่อน commit

Git hooks ทรงพลังมากสำหรับการทำงานแบบอัตโนมัติและการบังคับใช้มาตรฐานการเขียนโค้ดใน Git repository หนึ่งใน use case ที่พบบ่อยของ Git hooks คือการรัน test อัตโนมัติและเครื่องมือวิเคราะห์โค้ดก่อน...

shell13 ตุลาคม 2563

รันคำสั่งเดิมกับ input ที่แตกต่างกัน

ถ้าคุณต้องรันคำสั่งเดิมซ้ำ ๆ กับ input ที่แตกต่างกัน

ruby on rails13 ตุลาคม 2563

Scope or scope ใน Rails

scope :human, -> { user.or(author) } scope :terminator, -> { admin.or(robot) } `

shell13 ตุลาคม 2563

ดูไฟล์ที่ถูกลบใน commit ก่อนหน้า [git]

ดูไฟล์ที่ถูกลบใน commit ก่อนหน้า [git]

shell13 ตุลาคม 2563

ส่งข้อความไปยัง Slack ด้วย cURL

Slack ให้คุณส่งข้อความผ่านบริการ Webhooks ได้

shell13 ตุลาคม 2563

Shallow clone repo เก่า

ถ้าคุณไม่ต้องการประวัติ git ทั้งหมดของ repo ที่คุณจะทำงานด้วย คุณสามารถระบุ depth ของการ clone เพื่อ clone แค่ x revision ของ repo ได้

ruby on rails13 ตุลาคม 2563

แสดง TODO และโน้ตอื่น ๆ ใน Rails app ของคุณ

รู้ไหมว่าคุณสามารถแสดง TODO/OPTIMIZE/FIXME ทั้งหมดใน rails app ของคุณได้ด้วย rails notes?

javascript13 ตุลาคม 2563

สถาปัตยกรรม Flux แบบง่ายด้วย Vue.js

สำหรับแอปเล็ก ๆ ที่ต้องการแค่ pattern จัดการ state แบบง่าย ๆ ผู้เขียนมักใช้ component เดียวเก็บ state ของแอปไว้ เรียกว่า container ซึ่งทำหน้าที่เป็น single source of truth ให้แอปใช้อ้างอิง...

ruby13 ตุลาคม 2563

ปิด warning ของ rspec

$ RUBYOPT=W0 bundle exec rspec spec/ ...

ruby on rails13 ตุลาคม 2563

Tag log ของ rails ด้วยข้อมูลที่มีประโยชน์

เพิ่งได้เรียนรู้เรื่อง tagged logging ใน rails รู้ไหมว่าคุณสามารถ tag log ได้โดยใช้

vim13 ตุลาคม 2563

ใช้ตัวอักษรพิมพ์ใหญ่ใน mapping ของ VIM

หมายเหตุ: @joe อันนี้แก้ปัญหาของคุณได้เลย :D

macos13 ตุลาคม 2563

ใช้ FFmpeg และ Apple Script บีบอัดวิดีโอ

สร้างแอปพลิเคชันที่คุณลากวิดีโอมาวางเพื่อบีบอัดให้เล็กลงได้อย่างมาก:

shell13 ตุลาคม 2563

ใช้ `host` เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับโดเมน

คุณอาจใช้ dig เพื่อหา record ประเภท A/CNAME/MX และอื่น ๆ ของโดเมนจาก DNS server แต่ถ้าแค่อยากได้ภาพรวมแบบเร็ว ๆ ให้ใช้ host:

ruby on rails13 ตุลาคม 2563

ใช้ minItems/maxItems ใน JSON schema แบบ collection

เพื่อให้ JSON schema แบบ collection ของคุณน่าเชื่อถือยิ่งขึ้น ให้ใช้ minItems และ maxItems เพื่อให้คุณไว้ใจ API ของตัวเองได้

vim13 ตุลาคม 2563

ใช้ Neovim เป็น git difftool

แค่วางโค้ดนี้ลงใน ~/.gitconfig ของคุณ

shell13 ตุลาคม 2563

ใช้ฟีเจอร์ alias ของ Git

Git ให้คุณสร้าง alias ได้ในตัวผ่าน config โดย config แบบ global ของคุณควรอยู่ที่ ~/.gitconfig

shell13 ตุลาคม 2563

เฝ้าดูสถานะ CI บน Github

ถ้าคุณติดตั้ง hub ของ Github ไว้ คุณสามารถดู ci-status ของ branch ปัจจุบันได้แบบนี้:

ruby13 ตุลาคม 2563

คุณใช้ FactoryBot กับ model ที่ไม่ใช่ ActiveRecord ได้

คุณสามารถใช้เมธอด initialize\with* ของ FactoryBot เพื่อ initialize object แบบไหนก็ได้ตามต้องการ ทำให้คุณสร้าง factory ให้กับ object ใดก็ได้ตามใจ

shell13 ตุลาคม 2563

ฟังก์ชัน Zsh สำหรับแสดง file tree

เวลาไล่ดูไดเรกทอรีบน command line การได้เห็นโครงสร้างของไดเรกทอรีและไดเรกทอรีย่อยในรูปแบบ "tree" มักช่วยได้มาก แม้จะมีเครื่องมือให้เลือกมากมาย เช่น...

มีโปรเจกต์ในใจ?

เรายินดีรับฟังสิ่งที่คุณกำลังสร้าง

เริ่มต้นสนทนาhello@oozou.com
OOZOU Logo

กรุงเทพฯ · สิงคโปร์ · ฮ่องกง

X
Facebook
Instagram
LinkedIn

บริการ

  • พัฒนาเว็บ
  • เอเจนต์ AI และ Generative AI
  • พัฒนาแอปมือถือ
  • วิศวกรรมและวิเคราะห์ข้อมูล
  • UI/UX และการออกแบบผลิตภัณฑ์
  • การเปลี่ยนผ่านสู่ดิจิทัล

บริษัท

  • เกี่ยวกับเรา
  • ร่วมงานกับเรา
  • บล็อก
  • กรณีศึกษา
  • Today I Learned
  • ติดต่อเรา

เพิ่มเติม

  • อุตสาหกรรม
  • เครือข่ายพันธมิตร
© 2026 OOZOU สงวนลิขสิทธิ์
นโยบายความเป็นส่วนตัวจรรยาบรรณนโยบาย ABAC