เพื่อน ๆ ชอบ Navigation Bar แบบไหนกันนะ
ทำความรู้จักกับ Navigation Bar แบบสั้น ๆ กัน
หลาย ๆ คนที่ใช้มือถือ Android จะเห็นแถบนำทางนี้อยู่ข้างล่างจอเสมอ โดยฟังก์ชั่นการทำงานของมันก็คือ
↩️ ปุ่ม back: ย้อนกลับไปหน้าก่อนหน้า จนไปออกแอพ รวมถึงปิด keyboard ด้วย (แน่นอนว่าฝั่ง iOS ไม่มี แฮร่)
⭕ ปุ่ม home: กดปิดแอพไปยังหน้าจอหลัก
🔲 ปุ่ม recent app: กดเพื่อดูแอพที่เราเปิดค้างไว้อยู่ ทำให้เราสลับไปแอพอื่นได้ และปิดแอพที่ไม่ใช้งานได้ด้วย
อยู่มาวันนึงทาง Google ได้ออกตัว Gesture navigation มาใน Android 10 แทน Navigation Bar แบบเดิม เพื่อเพิ่มพื้นที่ในการแสดงผลให้เต็มจอ เต็มตามากขึ้น
.
อ่านแล้วอยากใช้แบบใหม่?
สำหรับชาว Samsung สามารถเปลี่ยนได้นะ โดยไปที่ Settings → Display → Navigation bar ของเดิมเป็นแบบ Buttons เปลี่ยนเป็น Swipe gestures เท่านี้ก็ได้แล้ว
เราจะเห็นขีดยาว ๆ ด้านล่างจอ เรียกว่า side button
.
แล้วฟังก์ชั่นเดิมเราจะใช้ยังไงได้บ้าง?
↩️ go back: swipe จอจากซ้ายไปขวา จนขึ้น < ที่ด้านซ้าย บางแอพอาจจะไม่ขึ้นแบบนี้ เราจะเห็น animation ที่หน้าที่เราเปิดหุบเข้าไป เช่น Lemon8 หรือ swipe ไม่ได้ ให้ไปกดปุ่ม back เอา อย่าง Facebook และ TikTok ซึ่งอันนี้อยู่ที่การ implement ของแต่ละแอพเลย
⭕ go home: swipe side button ขึ้นไปแบบไว ๆ
🔲 go recent app: swipe side button ขึ้นไปบนสุดดด ๆๆ
และเราสามารถไปแอพอื่น ๆ โดยการ swipe ตรง Side button ปัดไปซ้ายขวาได้เลย
สำหรับการเรียก assistance ปกติเราจะกดปุ่ม home ค้างไว้ อันนี้เราจะกด side button ค้างแทนนะ
.
แล้วเพื่อน ๆ ชอบแบบไหน แล้วใช้แบบไหนกันบ้างนะ มาแชร์กันได้เลย #siamstr
หลาย ๆ คนที่ใช้มือถือ Android จะเห็นแถบนำทางนี้อยู่ข้างล่างจอเสมอ โดยฟังก์ชั่นการทำงานของมันก็คือ
↩️ ปุ่ม back: ย้อนกลับไปหน้าก่อนหน้า จนไปออกแอพ รวมถึงปิด keyboard ด้วย (แน่นอนว่าฝั่ง iOS ไม่มี แฮร่)
⭕ ปุ่ม home: กดปิดแอพไปยังหน้าจอหลัก
🔲 ปุ่ม recent app: กดเพื่อดูแอพที่เราเปิดค้างไว้อยู่ ทำให้เราสลับไปแอพอื่นได้ และปิดแอพที่ไม่ใช้งานได้ด้วย
อยู่มาวันนึงทาง Google ได้ออกตัว Gesture navigation มาใน Android 10 แทน Navigation Bar แบบเดิม เพื่อเพิ่มพื้นที่ในการแสดงผลให้เต็มจอ เต็มตามากขึ้น
.
อ่านแล้วอยากใช้แบบใหม่?
สำหรับชาว Samsung สามารถเปลี่ยนได้นะ โดยไปที่ Settings → Display → Navigation bar ของเดิมเป็นแบบ Buttons เปลี่ยนเป็น Swipe gestures เท่านี้ก็ได้แล้ว
เราจะเห็นขีดยาว ๆ ด้านล่างจอ เรียกว่า side button
.
แล้วฟังก์ชั่นเดิมเราจะใช้ยังไงได้บ้าง?
↩️ go back: swipe จอจากซ้ายไปขวา จนขึ้น < ที่ด้านซ้าย บางแอพอาจจะไม่ขึ้นแบบนี้ เราจะเห็น animation ที่หน้าที่เราเปิดหุบเข้าไป เช่น Lemon8 หรือ swipe ไม่ได้ ให้ไปกดปุ่ม back เอา อย่าง Facebook และ TikTok ซึ่งอันนี้อยู่ที่การ implement ของแต่ละแอพเลย
⭕ go home: swipe side button ขึ้นไปแบบไว ๆ
🔲 go recent app: swipe side button ขึ้นไปบนสุดดด ๆๆ
และเราสามารถไปแอพอื่น ๆ โดยการ swipe ตรง Side button ปัดไปซ้ายขวาได้เลย
สำหรับการเรียก assistance ปกติเราจะกดปุ่ม home ค้างไว้ อันนี้เราจะกด side button ค้างแทนนะ
.
แล้วเพื่อน ๆ ชอบแบบไหน แล้วใช้แบบไหนกันบ้างนะ มาแชร์กันได้เลย #siamstr
อยากรู้เรื่องเกี่ยวกับ blockchain อ่านเล่มไหนดี?
ตอนนี้ Bitcoin ก็ all-time high สักพักใหญ่ ๆ แล้ว หลาย ๆ คนคงจะสนใจสินทรัพย์ดิจิตอลตัวนี้กันบ้างแล้ว ว่ามันคืออะไรกันนะ อ่านทีก็เข้าใจยากจัง แล้ว blockchain มันคือยังไงกันนะ
.
โพสนี้จะมาแนะนำหนังสือเกี่ยวกับ Bitcoin & Blockchain ที่ซื้อมาอ่านบ้างไม่อ่านบ้าง แต่เนื้อหาดีงามและเข้าใจง่ายมากฝากกัน และทุกเล่มมีอยู่บน meb สามารถอ่าน sample ที่บ้านก่อนซื้อ ebook ได้ หรือถ้าอยากได้แบบเล่มก็ไม่ติด
.
🟠 Inventing Bitcoin : ไขกลไกนวัตกรรมเงินเปลี่ยนโลก
ทำความรู้จัก Bitcoin และ Blockchain เบื้องต้น เหมาะสำหรับมือใหม่ อธิบายที่มาที่ไปในเชิงเทคนิค เกี่ยวกับกลไกการทำงานเบื้องหลังอย่างละเอียด ตั้งแต่ Proof of Work, Private Key ไปจนถึงการทำงานของ blockchain
.
🟠 Bitcoin & Blockchain 101 เงินดิจิทัลเปลี่ยนโลก (ฉบับปรับปรุง)
มือใหม่ต้องอ่าน ก่อนเข้าสู่โลก web3 เนื้อหาครอบคลุมพื้นฐานทั้งหมดของ Bitcoin และเทคโนโลยี Blockchain ว่ามันคืออะไร ใช้งานยังไง ด้วยภาษาที่เข้าใจง่าย ทำให้เห็นภาพรวมว่าทำไมเงินดิจิทัลถึงกำลังจะเข้ามาเปลี่ยนโลก เป็นหนังสือที่เหมาะสำหรับปูพื้นฐานให้แน่นก่อนไปศึกษาต่อในระดับที่ลึกขึ้น
.
ถ้าสนใจเรื่อง Bitcoin เพิ่ม สามารถอ่านสองเล่มนี้ต่อได้เลยยยย
🟠 The Bitcoin Standard : ระบบการเงินทางเลือกใหม่ไร้ศูนย์กลาง
สาวก Bitcoin ต้องอ่าน เล่มนี้ไม่ได้เน้นเรื่อง technical แต่จะพาไปสำรวจประวัติศาสตร์ของเงินตราและอธิบายว่าทำไม Bitcoin ถึงมีคุณสมบัติเป็น Hard Money ที่ดีกว่าทองคำและเงินเฟียต (คือเงินที่เราใช้อยู่ในปัจจุบัน) ผู้เขียนจะแสดงให้เห็นถึงความสำคัญของระบบการเงินแบบกระจายศูนย์และศักยภาพของ Bitcoin ในการเป็นสินทรัพย์รักษามูลค่าแห่งอนาคต
.
🟠 The Fiat Standard
เล่มนี้เป็นภาคต่อของ The Bitcoin Standard ที่จะพาไปเจาะลึกระบบการเงินปัจจุบันที่เราใช้อยู่ หรือ "เงินเฟียต" อย่างถึงพริกถึงขิง หนังสือจะวิเคราะห์จุดอ่อนและปัญหาของระบบที่ควบคุมโดยรัฐบาลและธนาคารกลาง พร้อมทั้งเสนอว่า Bitcoin จะเข้ามาแก้ปัญหาเหล่านี้ได้อย่างไร เป็นการเปิดมุมมองให้เห็นว่าทำไมเราถึงต้องการทางเลือกใหม่
.
ส่วนเพื่อน ๆ ชอบเล่มไหน หรืออยากแนะนำเล่มไหน พิมพ์ไว้ใต้ comment ได้เลย #siamstr
---
Shopee
🟠 Inventing Bitcoin : ไขกลไกนวัตกรรมเงินเปลี่ยนโลก
แล้วการปัดเศษมันมีอะไรแบบไหนให้ใช้บ้าง? พบกับ 4 function หลักที่หลาย ๆ คนน่าจะใช้กัน
.
1️⃣ round(): เป็นการตัดทศนิยมแบบตรงไปตรงมาที่สุด ถ้าทศนิยมเป็น .5 ขึ้นไป จะปัดขึ้น ที่เหลือปัดลง เช่น round(2.5) ได้ 3, round(3.2) ได้ 3
การใช้งาน: ใช้ในชีวิตจริงทั่วไป เช่น การปัดเศษเงินค่าข้าวหลังจากคิดส่วนลดแล้ว
ข้อควรระวัง: round() ในบางภาษาอย่าง Python มันจะปัดเศษ .5 ขึ้นไปหาจำนวนคู่ที่ใกล้ที่สุด เช่น round(2.5) ได้ 2, แต่ round(3.5) ได้ 4
.
2️⃣ ceil(): คือ ceiling หรือเพดานนั่นแหละ เป็นการปัดเศษขึ้นเสมอ เช่น ceil(2.5) ได้ 3, ceil(3.2) ได้ 4
การใช้งาน: ใช้ในสถานการณ์ที่ผลลัพธ์ต้องไม่น้อยกว่ากำหนด เช่น man-hours เราจะใช้เป็นคนครึ่งไม่ได้ ต้องใช้สองคน
.
3️⃣ floor(): คือ floor หรือพื้น ทำตรงข้ามกับ ceil คือเป็นการปัดเศษลงเสมอ เช่น floor(2.5) ได้ 2, floor(3.2) ได้ 3
การใช้งาน: เหมาะกับการคำนวณที่ต้องการค่าต่ำสุด เช่น เอาขนมทั้งหมดใส่ถุงได้ทั้งหมดกี่ถุง
.
4️⃣ truncate(): เป็นการตัดทศนิยมทิ้งทั้งหมด เช่น truncate(2.5) ได้ 2, truncate(3.2) ได้ 3
การใช้งาน: เหมาะสำหรับการแสดงผลลัพธ์แบบหยาบ ๆ หรือการทำงานกับข้อมูลที่เป็นจำนวนเต็มเท่านั้น เช่น การแสดงอายุ
.
สรุปก็คือ การใช้ให้ถูกตัวเนี่ยสำคัญมาก ๆ เพราะมันคือหัวใจของ Business Logic ที่เกี่ยวกับตัวเลขเลยทีเดียว อีกทั้งภาษาส่วนใหญ่เนี่ยมี 4 function นี้เหมือนกัน ทั้งภาษา Kotlin, JavaScript ส่วน Python จะมีเรื่องของ round() ที่แตกต่างจากเพื่อน ๆ หน่อย แล้ว Java ก็ไม่มี truncate() ให้ใช้โดยตรง ยังไงก็อย่าลืมเข้าไป check limitation ของภาษานั้น ๆ ก่อนใช้งานด้วยน้า #siamstr
เก็บตกไฮไลต์จากงาน #LINEDEVCONF2025 ที่เขามาแชร์เทคนิคเด็ดเรื่อง Vibe Coding หรือการใช้ AI ช่วยเขียนโค้ด! กับ session “Spec > Spell: Write It Clearly, and Let AI Do the Magic” และ workshop “Effective Vibe Coding”
.
หลาย ๆ คนใช้ AI ในการ Vibe Coding แล้วประสบปัญหา หลัก ๆ คือ
- ใช้ AI เขียนโค้ดแบบคิดปุ๊บ พิมพ์ปั๊บ
- ได้โค้ด ได้ของออกมาจริง แต่ quality code ไม่ค่อยดี
- Maintain ยาก แก้ก็ลำบาก มีแต่พระเจ้าเท่านั้นที่เข้าใจ อ้าวผิด session 555
💡 ทางแก้ คือ 'Engineering Mindset' และ 'Context Engineering'
.
📌 Engineering Mindset
ก่อนที่จะลงมือเขียนโค้ดได้นั้น มีขั้นตอนอื่น ๆ ไม่ว่าจะเป็นการ planning การ design เขียนโค้ดเสร็จก็ต้อง test ด้วย และบางครั้งต้อง refactor code เพื่อให้การทำงานของเรานั้นมีคุณภาพอยู่เสมอ
.
📌 Context Engineering
เป็นการนำเจ้า LLM มาใช้งานอย่างจริงจัง โดยให้ AI เนี่ยมีความรู้ความเข้าใจเกี่ยวกับ project ของเรา ซึ่งเป็น context นี่แหละ เพื่อสามารถ onboard เพื่อนใหม่ได้ และสามารถอธิบายระบบของเราให้คนอื่นเข้าใจได้ด้วย
ประกอบด้วย 3 ส่วน คือ
1. System Prompt: เหมือนการสร้าง Rules หรือคู่มือให้ AI รู้ว่าต้องทำอะไรในโปรเจกต์นี้ เรียกว่า instruction file เราสามารถสร้างได้ ให้อยู่ในนี้ `/.github/copilot-insturctions.md`
2. Available Tools: เชื่อมต่อ AI กับ Tools อื่น ๆ เพื่อเพิ่มประสิทธิภาพในการทำงาน สามารถเอา config ต่าง ๆ ไปใส่ไว้ใน `/.vscode/mcp.json` ซึ่งอันนี้ก็แล้วแต่ศรัทธา เพราะตอน workshop ไม่ได้มีตรงนี้ 😆
3. User Prompt: คำสั่งที่เราสั่งให้ AI ทำงาน ซึ่งต้องชัดเจนเหมือนหยิบ Task จาก Jira มาทำ
.
👩💻 ลงมือทำจริง
ใน workshop session จะเริ่มจากการที่เรา clone repo มาก่อน และ VS Code ที่ติดตั้ง Github Copilot มาแล้ว ซึ่งเขาใช้ Github Copilot Business หลาย ๆ ที่ก็ใช้กัน ทำให้โค้ดงานของเราไม่หลุดไปยังโลกภายนอกนั้นเอง ติดตั้งได้หลาย editor ไม่ว่าจะเป็น VS Code, Intelij และตัวอื่น ๆ ที่รองรับ
ที่ทำใน workshop สมมุติว่าโปรเจกต์นี้มีของอยู่แล้ว และให้ AI ช่วยทำ
- ใช้ AI เขียน API Spec ง่าย ๆ จาก feature ที่เราต้องการ
- สั่งให้ AI implement API และ Generate Type จาก Spec ที่สร้างไว้
- สร้าง Test เพื่อทดสอบการทำงาน โดยใช้ผ่าน curl (ถ้าไม่รู้ก็ถาม AI ได้)
- และสุดท้าย สร้าง Instruction File เพื่อให้ AI เข้าใจ Context ของโปรเจกต์
- เชื่อมต่อ API กับหน้าบ้าน ให้ทำงานด้วยกันได้
ใครที่กำลังใช้ AI ช่วยเขียนโค้ด ลองเอาเทคนิคนี้ไปปรับใช้ดูนะ รับรองว่างานดีขึ้น โค้ดมีคุณภาพขึ้นแน่นอน! เพราะ AI ก็ต้องรู้งานเหมือนเราด้วยแหละเนอะ 🤣 #siamstr
แต่ปัญหานี้จะหมดไป เมื่อมีตัวช่วยอย่าง TicketO ที่ทำทุกอย่างจนจบได้ผ่าน LINE แล้วมี AI มาช่วยในการสร้าง event และสรุปผล feedback รวมถึง insight อีกด้วย
.
สรุปจาก session “TicketO: Reinventing the event experience with AI on MINI App” โดยคุณ Thepnatee Phojan และคุณ Supakarn Laorattanakul ทั้งสองท่านเป็น LINE API Expert
.
ในช่วงที่ผ่านมา event ประเภทต่าง ๆ เติบโตเป็นอย่างมาก โดยประเภทที่เติบโตมากที่สุด คือ concert และ fan meet รองลงมาก็ conference ต่าง ๆ ที่เป็นหัวข้อ AI เยอะในตอนนี้ 😂
.
การจัด event ครั้งนึงค่อนข้างเหนื่อย จึงต้องมีระบบการจัดการต่าง ๆ และคนที่มางานต้องทำอะไรบ้าง โดยมี journey 3 ส่วนใหญ่ ๆ คือ
1. Pre-event: ก่อนคนมางาน event เราจะต้องทำการ register กันก่อน
2. On-Event: ในงานเกิดอะไรขึ้นบ้างนะ ก็ต้องมี activity ต่าง ๆ ให้ทำ เช่น การ check-in, ทำ quiz, กิจกรรม lucky draw
3. Post-Event: หลังจบงานก็ต้องมี survey ให้ทำเพื่อรับ feedback จากคนมางาน
.
ตัว TicketO (ทิกเก็ตโตะ) เป็น solution ที่ออกมาช่วยคนจัดงาน event ให้ทำงานเหนื่อยน้อยลง และสะดวกมากขึ้น ใช้ AI และ LINE MINI App ช่วยเสริมสร้างประสบการณ์ที่ดีในการร่วมงาน event นั้น ๆ
.
.
🟢 Pre-Event
คนจัด event เราต้องเริ่มที่ create event กันก่อน โดยใส่รายละเอียดต่าง ๆ ไม่ว่าจะเป็นชื่องาน รูป จัดวันเวลาไหน ที่ไหน เลือกจำนวนคนที่มา ประเภทของบัตร ช่วงอายุ ประเภทของ event
และที่สำคัญตรง detail ของงาน อันนี้สามารถ generate ด้วย AI ได้ด้วยนะ โดยใช้ข้อมูล age range ช่วงอายุ และ category ประเภทของ event เพื่อ generate detail ของงาน ให้ตรงกับกลุ่มเป้าหมายที่เรากำหนดได้ง่ายขึ้น
มาดู workflow กัน input เป็น json ที่แบ่งเป็น 2 ส่วน คือ
🗒️ รายละเอียดของ event ที่เป็น text
🖼️ และรูป poster (optional) มาแปลงเป็น base64 เข้ามากรองผ่าน guardrail ของระบบ เพื่อตรวจสอบความถูกต้อง และปลอดภัย ก่อนจะ prompt ทั้งหมดเข้าไปใน Multimodal Agent
เจ้า agent ตัวนี้เนี่ยคุยกับ MCP Server เพื่อเอา content template จาก event ต่าง ๆ เป็น template เพื่อสื่อสารได้ตรงใจมากขึ้น
ตอนจบมี output guardrail เพื่อ recheck อีกรอบว่ามีอะไรหลุดไปไหม จนได้ output ออกมาเป็น event detail ถ้าถูกใจกดปุ่ม appiled เพื่อสร้าง event ได้เลย เย้
แล้ว service message ทำงานยังไง? เริ่มจาก user มีการทำอะไรสักอย่างที่ LIFF แล้วเอา access token มา issue ได้ตัว notification token เพื่อเอาไปส่งข้อความให้ user โดยดูจากใน database ด้วย โดย service message จะมีตั้งแต่ตอนได้ตั๋ว มีการแจ้งเตือน event
.
.
🟢 On-event
พอถึงวันงานมีการ check-in ซึ่งสามารถเข้าผ่าน LINE Beacon ได้โดยติดตั้งภายในงานในระยะสัญญาณ หรือจะเปิด QR Code ให้ staff เป็นคน scan ก็ได้
และมี activity ให้ผู้เข้าร่วมงาน เพื่อให้เขาได้อะไรกลับไป ทำเป็น Quiz & Activity, Lucky Draw และ Mission ก็ได้นะ
.
.
🟢 Post-event
ทำ feedback & form ขึ้นมา ให้ผู้มาร่วมงานให้ feedback กับคนจัดงาน โดยมี AI ช่วย summarize ข้อมูล และ recommend ว่ารอบหน้าต้องทำอะไรเพิ่มบ้าง รวมถึง insight ของผู้เข้าร่วมงานด้วย ออกมาเป็น dashboard
ในระหว่าง session นั้นมีการปล่อย QR Code เพื่อให้เราลองลงทะเบียนเข้าร่วม event ของ session นี้แหละ แต่คนมางานเยอะไง น้องรับไม่ไหว เลยจะเปิดไม่ได้ในตอนแรก อาจจะต้อง refresh และรอเวลาสักหน่อยถึงจะเปิดได้ เราจะได้ message ต่าง ๆ ที่เป็น Flex Message ออกมาใน LINE OA ด้วยล่ะ
.
.
🟢 Key Takeaway
- AI เป็นผู้ช่วยที่ดีได้ แต่ใช้ทำทุกอย่างไม่ได้ สุดท้ายต้องตัดสินใจด้วยคนเสมอ
- ใครอยากทำ LINE MINI APP เริ่มลงมือทำได้เลย
- TicketO ช่วย optimize ในการจัด event ให้ดีขึ้นได้
#LINEDEVCONF2025 #siamstr
สรุป session แรกของงาน LINE DEV CONF 2025 เมื่อวาานี้ ที่แจก QR Code เพื่อเก็บแต้มแลกเสื้ออ่ะ กับ "LINE API Essential Updates for 2025" โดยพี่ตี๋ Jirawat Karanwittayakarn - Tech Evangelist และพี่แทน Warit Wanwithu - Developer Relations จาก LINE Thailand นั่นเอง
.
เปิดด้วยวันนี้เป็นวันที่ 256 ของปีนี้ จะเท่ากับ 2^8 เท่ากับจำนวน 1 byte และวันนี้เป็นวัน International Developer Day นั่นเอง
ในปี 2018 มีงาน meeting ครั้งแรก จนมาตอนนี้ มีสมาชิกทั้งหมดใน community 53,000 คนแล้ว
.
ส่วน stat ในส่วน Chatbot (Messaging API) ตอนนี้มี 680K เติบโตจากปีที่แล้ว 25% และ LIFF ตอนนี้มี 330K เติบโตจากปีที่แล้ว 30%
.
.
มาดูอัพเดตในปีนี้กัน
🟢 LINE Messaging API
- AI Agent with LINE Bot MCP Server: เชื่อมต่อ Claude เขียน prompt ให้มัน broadcast ไปหา user ได้เลย แบบไม่ต้อง code
- ทุกคนเคยประสบปัญหาหาคูปองไม่เจอ หรือไม่ก็ชำรุด ใช่ไหมล่ะ แต่ LINE มี solution นี้ที่มาช่วยร้านค้า และลูกค้าในเรื่องนี้ คือ Coupon API และ Coupon Message นั่นเอง ซึ่งหลาย ๆ คนที่มาเช้าเป็น 500 คนแรกจะได้คูปองแลกไอศครีมกินตอนเที่ยงนะ และมันสามารถเล่นกับ LINE Beacon ได้ด้วย ตัวนี้ใช้ได้กับ LINE OA Manager และที่สำคัญ ใช้ฟรี!
.
🟢 LIFF
- LINE มีอัพเดต Seamless LIFF Switching กับ v15.12.0 เวลาเรา switch ไปหน้าอื่น ข้อมูลจะยังอยู่ เช่นเรากรอกอะไรสักอย่างอยู่ ออกไปกลับมาไม่ต้องกรอกใหม่ล่ะ
- เวลาสร้าง LIFF ไม่ต้องแก้ code แล้ว deploy ใหม่ เพราะมี hot reload ใน v0.4.1 นั้น support ngrok version 3 จาก official ด้วยนะ
.
🟢 LINE MINI App
ทำให้เราสร้าง web app จากใน LINE ได้ โดยพัฒนาจาก simple code base ไปได้ที่เดียว ใช้ตรงกับ LINE ได้เลย
1️⃣ เร็วและง่ายต่อการเข้าถึง สามารถพิมพ์ search ได้เลย
2️⃣ ส่งข้อความแจ้งเตือนตามเหตุการณ์ที่เกิดขึ้นได้ เข่น จองร้านอาหาร อีก 30 นาทีจะถึงเวลานัดหมาย
3️⃣ เพิ่ม shortcut บน home screen ได้เหมือนแอพ
?แล้วมันต่างจาก LIFF ยังไง?
นอกจาก 3 ข้อข้างต้นแล้ว ยังเพิ่ม
4️⃣ allow permission การใช้ hardware เช่น กล้อง ให้สามารถเลือกแบบ always allow ได้
5️⃣ custom path ที่อยู่ต่อท้าย url ได้เอง ให้คนจำได้
เชื่อมต่อ LINE OA แบบ auto
6️⃣ ถ้าอยากใช้ LINE MINI App ให้ไปขอ verify รอทีมพิจารณา เพื่อ approve
ในไทยมีหลาย product ที่ใช้ LINE MINI App ไม่ว่าจะเป็น Finnomena, Q-Chang, TQM, MedCare และอีกมากมาย ล่าสุดก็คือ Dusit Central Park ห้างใหม่ที่เปิดขึ้นมาไม่นานมานี้ สามารถสมัครสมาชิก ดูข้อมูล รวมถึงจองสวนได้ด้วย จ่ายเงินผ่าน LINE Pay อีกทั้งมี point & reward ด้วย
และมีข่าวดีว่า ตัว LINE MINI App สามารถสร้างเองได้เลย ไม่ต้องขอ ตั้งแต่เดือนตุลาคมที่จะถึงนี้เป็นต้นไป มาตั้งแถวใหม่ไปด้วยกัน 😂
.
🇯🇵 LINE MINI App Use-cases from Japan
ส่งตรงจากเจแปนจากงาน SusHi Tech Tokyo 2025
- Souvenir-Forget Metaverse: หลาย ๆ คนคงเคยประสบปัญหาลืมซื้อของฝาก ทำยังไงดีนะ เพียงเข้าแอพนี้ สามารถซื้อของฝากที่เราลืมซื้อได้ ผ่าน metaverse เหมือนเดินไปซื้อเองที่ร้าน ใช้เทคนิค AI ในการ generate รูปสามมิติขึ้นมา แล้วนำมาผสานเข้าด้วยกัน
- HIKKY Metaverse: เพียง scan QR Code ก็เข้าไปในโลกเสมือนได้ทันที เหมือน native เลย และใช้ WebGL ในการทำ
- Digitalizing Real Stores: แล้วเขาใช้อะไรกันบ้าง หลัก ๆ มีร้านค้า ร้านทำผม ใช้จองคิว ร้านอาหารสามารถสั่งอาหารในนั้นได้ ร้านได้ data กลับมาด้วย และ membercard ต่าง ๆ
.
🤝 LINE Developer Partner
โปรรแกรมใหม่ให้กับ developer ที่ถนัดสร้างของ มาเจอกับผู้ประกอบการที่มี idea ในการพัฒนา solution มาเจอกัน แล้วทาง LINE ช่วยทำ marketing ให้
รวมถึงมี Certfied Badge 3 ระดับด้วยกัน คือ Authorized, Professional และ Expert สามารถสมัครได้ในงานนะ
.
👨💻 LINE Hack
ปีนี้กลับมาแล้ว ในวันที่ 29 - 30 พฤศจิกายน แบ่งเป็นบุคคลทั่วไป และนักเรียนนักศึกษา ชิงเงินรางวัลครึ่งล้าน เป็นงานเปลี่ยนชีวิต จากผู้แข่งขัน เป็น LINE Certified Coach เป็น LINE API Expert เป็น LINER และบางคนได้สร้าง product ที่ออกสู่ตลาดใน LINE ประเทศไทย ติดตามข่าวกันได้เร็ว ๆ นี้จ้า เผื่อใครจะได้ตั้งแถวใหม่ในงานนี้กัน
#LINEDEVCONF2025 #siamstr
⭐ แล้วปีนี้มี highlight อะไรบ้าง?
ปีนี้ไม่เหมือนปีที่แล้ว เพราะจะเป็นรูปแบบใหม่ทั้งหมด!
แถมปีนี้เขา BITKUB SUMMIT x Fastwork ด้วย จะมี 4 เวทีใหม่น่าสนใจ ที่เอา content online ออกมาเป็น offline ให้เราดูสด ๆ กันในงาน บอกเลยห้ามพลาด!
1. Ice Bath: เทและแช่นํ้าแข็ง พร้อมให้ความรู้กันแบบสด ๆ เรียกได้ว่าดู content creator หนาวสั่นต่อหน้าต่อตาคุณผู้ชมกันเลยทีเดียว
2. เคลียร์ใจ: เป็นฟีล debate กันสองขั้วที่ต่างกัน มี bodyguard พร้อม 😆
3. CK Podcast LIVE รอลุ้นแขกรับเชิญในงาน
4. Topp Table LIVE อันนี้รอลุ้นอาหาร เอ้ยยย แขกรับเชิญ
แถมได้สปอยจากจารย์คริปโตไซว่า มีบูธคริปโตยกกำลัง เสมือนงาน Fume Fest ย่อม ๆ ที่รวมอินฟลูคริปโตที่รวม KOL กันกว่า 16 ท่านเลยทีเดียว ไปร่วมจอยกันได้ สนุกแน่นอน
.
ใครไปเจอเราได้สองวันเยยยย พยายามไปให้เช้า ปีที่แล้วก็มาถึงสายหน่อยสิบโมงกว่า อดเจอคุณมิว แบรนด์แอม Bitkub เลย แล้วแม่หมอแน็ตตี้ชมว่าสวยมากกกก ซึ่งในรูปสวยจริง ปีนี้ต้องมาเช้าหน่อยล่ะจะได้ไม่พลาด 🤣
ใครสนใจจิ้มลิ้งนี้ได้เลยจ้า 

👩💻 Git convention commit คืออะไร?
เป็น format ในการเขียน commit message เพื่อให้ทุกคนเข้าใจว่า commit นี้มีอะไรเกิดขึ้นบ้าง โดยไม่ต้องเข้าไปดูโค้ดทั้งหมด ดูแค่เฉพาะที่เปลี่ยนแปลงก็ได้
.
📝 แล้วเขียนยังไง?
แบบเบสิคที่นิยมใช้กัน สามารถดูจากเว็บ Conventional Commits 1.0.0 [1] กับของ Angular [2] โดยมีหน้าตาเป็นแบบนี้
```
<type>(scope): <description>
```
🔴 type คือประเภทของ commit type จะมีหลัก ๆ คือ
- feat: เพิ่ม feature ใหม่ในโค้ดของเรา
- fix: แก้ bug
- pref: ปรับ performance ให้เร็วขึ้น
- refactor: แก้ไขโค้ดที่ไม่ได้เกี่ยวกับ bug เช่น ทำให้สั้นลง
- test: เกี่ยวกับพวกไฟล์ test เช่นเพิ่ม test case ใหม่, แก้ unit test
- docs: แก้ไขเกี่ยวกับ document หรือเอกสาร
🔴 description บอกรายละเอียด commit นี้ว่าทำอะไรไป
🔴 scope สามารถใส่เป็น optional ใน document ของ Angular บอกว่าเกี่ยวกับพวก npm package affected จริง ๆ สำหรับหน้าบ้านสามารถใส่เป็นชื่อ feature ได้นะ
.
📄 ตัวอย่าง: มี feature โอนเงิน เพิ่ม logic ในการ check input amount ถ้า invalid ให้ show inline error ที่ EditText หรือ TextField
ดังนั้น commit message ที่ถูกต้องควรเป็น
feat(transfer): add logic to check min and max amount
💡 ถ้าใครใช้ AI ช่วยคิด commit message แนะนำให้ลอง commit ตาม format ที่เราต้องการก่อน มันจะรู้ล่ะว่าควรใส่อะไร
.
⭐ อีกแบบนึงที่เคยได้ยิน แต่ไม่เคยใช้ คือ แบบใช้ emoji [3] เพราะว่าดูใช้ยาก
ส่วน type จะใช้ emoji แทน และยังใส่ `description` เหมือนเดิม เช่น
✨: add logic to check min and max amount
.
👩💻 แล้วมี git convention commit ไปเพื่ออะไร?
- การสื่อสารภายในทีม: ทำให้รู้ว่า commit นี้ทำอะไร โดยไม่ต้องไล่ดูโค้ดทั้งหมด
- ดูการเปลี่ยนแปลงของโค้ด: สามารถดูจาก Git Blame ได้ว่าโค้ดนี้มาจากอะไร
- ช่วยสร้างหัวข้อของ PR: ทำให้การเปิด Pull Request ดูง่ายขึ้น ว่าเราทำอะไรไปบ้างใน branch นั้น ๆ
.
โพสต์นี้เป็นการแนะนำแนวทางให้กับคนที่จะมาทำงาน Software Developer และเอาไปใช้กับโปรเจกต์ส่วนตัว หรือเอาไปปรับใช้ในทีมก็ไม่ติดน้า
และเราเข้าใจว่าแต่ละทีมมี format ของ commit message เป็นของตัวเองอยู่แล้ว ของแต่ละคนใช้แบบไหนกันบ้าง มาแชร์กันได้นะ
ref:
[1] 
✨ Margin
เป็นระยะห่างระหว่าง Element หรือ View นั้น ๆ กับ Element หรือ View ข้างเคียง กับ Parent View หรือ Container ที่มันอยู่
✨ Padding
เป็นระยะห่างระหว่าง content ของ Element หรือ View นั้น กับ ขอบของตัว Element หรือ View เอง ก็คือ พื้นที่ว่างด้านใน ที่ช่วยให้เนื้อหาไม่ชิดติดขอบจนเกินไป
.
🖥️ การ Implementation
สมมุติว่าเราสร้าง Button แล้วกัน ปุ่มนึง มี margin 16dp สำหรับ Android นั้น ถ้าแบบดั้งเดิมที่ใช้ XML การใช้งานจะเป็น `android:layout_margin="16dp"` และภายในปุ่มมี padding ขยายภายใน 8dp จะเป็น `android:padding="8dp"`
และถ้าเป็น Jetpack Compose ใช้แค่ padding อย่างเดียว กับทั้ง margin และ padding เลย ใน Modifier เป็น `Modifier.padding(all = 16.dp)` กับ `Modifier.padding(all = 8.dp)` ซึ่งลำดับก็มีผลเช่นกันนะ
ส่วน iOS เขามี UIKit ซึ่งเราก็ถาม AI มา ก็จะงง ๆ นิดหน่อย แต่ SwiftUI ใช้ padding อย่างเดียวเหมือน Jetpack Compose `.padding(16)` กับ `.padding(8)`
สำหรับ website เหมือนส่วน Android XML เลย เราสามารถ set ที่ตัว CSS นี่แหละ โดย margin จะเป็น `margin: 16px;` และ padding จะเป็น `padding: 8px;`
ปล. หน่วยของ Android เป็น dp ที่แปลงจาก px อีกที ส่วนของ web ใช้ px โดยตรง
.
🗒️ Use Case ที่พบบ่อย
เมื่อก่อนโดนหลายคนบ่นบ่อย เพราะว่าปุ่ม close หรือกากบาท ที่มักอยู่มุมขวาบนเล็กไป แล้ว designer ตอนนั้นเขา set margin เป็น 16dp ใช่ม้า ดังนั้นเราเลยขยายพื้นที่กด เป็น padding 8dp และลด margin ลงเหลือ 8dp
ถ้ามองด้วยตาเนี่ยมองว่าขนาดปุ่มกากบาทเท่าเดิม แต่ในความจริงแล้วขนาดมันใหญ่ขึ้นนิดนึงจากการเพิ่ม padding ทำให้ทุกคนกดปุ่มนี้สะดวกมากขึ้นนั่นเอง
.
📌 สรุป
- margin = ระยะห่างภายนอก Element หรือ View
- padding = ระยะห่างภายใน Element หรือ View และมีผลต่อขนาด Element หรือ View นั้นด้วยนะ
หวังว่าโพสนี้จะเป็นประโยชน์กับทุกคนน้า หรือถ้าชาว iOS Developer ผ่านมาก็มาให้ข้อมูลเพิ่มได้น้า #siamstr
✨ LMArena ทำงานยังไง? ✨
เมื่อเข้าไปที่เว็บไซต์หลัก เราสามารถพิมพ์ prompt เพื่อใช้งานในการพิมพ์ถาม การค้นหาข้อมูล รวมไปถึงการสร้างรูปภาพด้วย อีกทั้งสามารถ upload รูปเข้าไปได้ด้วยนะ
เราสามารถลองใช้ AI ที่เป็น Large Language Models (LLMs) 2 ตัวด้วยกัน เป็นผู้ช่วย A และผู้ช่วย B
จากนั้นคุณก็โหวตได้เลยว่าชอบคำตอบของ AI ตัวไหนมากกว่า โดยที่เราจะยังไม่รู้ว่าแต่ละตัวคือโมเดลอะไร ทำให้เราให้คะแนนอย่างเป็นธรรม และเป็นกลาง พอโหวตเสร็จจะมาเฉลยว่าผู้ช่วยแต่ละคนคือ AI ตัวไหน
ผลโหวตทั้งหมดจะถูกนำไปจัดอันดับเป็น Leaderboard ที่บอกให้เรารู้ว่าโมเดลไหนใช้งานได้ดีในสถานการณ์จริง และไม่ใช่แค่โมเดลข้อความเท่านั้น แต่ยังแบ่งเป็นหลายประเภท เช่น:
- Text: โมเดลสำหรับการตอบคำถามทั่วไป - Gemini 2.5 Pro ยังคงยืนหนึ่ง
- WebDev: โมเดลสำหรับเขียนโค้ดและพัฒนาเว็บ - GPT-5 แซง Gemini 2.5 Pro ไปแล้วอ่ะ
- Vision: โมเดลสำหรับวิเคราะห์ภาพ - Gemini 2.5 Pro ยังคงยืนหนึ่ง
- Text-to-Image: โมเดลสร้างภาพจากข้อความ
- Image Edit: โมเดลสำหรับแก้ไขภาพ
- Search: โมเดลที่มีความสามารถในการค้นหาข้อมูล
- Copilot: โมเดลผู้ช่วยเขียนโค้ด - อันนี้เราก็เลือกมาใช้ Claude ใน Github Copilot เลย แต่ข้อมูลไม่อัพเดตนานแล้ว rank น่าจะเปลี่ยน
.
นอกจากโหมด Battle แล้ว คุณยังเลือกเปรียบเทียบโมเดลที่เราสนใจได้เองด้วยนะ ด้วยโหมด Side by Side หรือจะลองคุยกับ model ตัวอื่น ๆ ตัวเดียว ด้วยโหมด Direct Chat ก็ได้นะ ที่สำคัญใช้ฟรีด้วยนะ
แล้วเพื่อน ๆ ลองใช้ LMArena.ai แล้วหรือยัง? ชอบโมเดลตัวไหนเป็นพิเศษ หรือได้ค้นพบตัวใหม่ ๆ ที่ประทับใจ มาแชร์กันได้นะ! 👇
ลองเข้าไปดูและโหวตกันได้เลยที่ 
ก่อนอื่นเลย ก็ต้องมี Android Studio ก่อนอ่ะเนอะ สำหรับเครื่อง emulator ที่มีอยู่แล้วไปที่ Device Manager แล้วเลือกอุปกรณ์ emulator ที่เราต้องการ จากนั้นกด Edit หรือถ้าสร้างใหม่ ก็ไปที่ Create Virtual Device แล้วเลือก device ที่เราต้องการ แล้วกด Next
จากนั้นมันจะไปที่หน้าต่าง Edit Device ที่มี title ว่า Configure virtual device เหมือนกัน ไปที่แท็บ Additional settings ดูในส่วน Camera มีให้เลือก 2 อันเนอะ
- Front: default เป็น Emulated สามารถเลือก None หรือ Webcam0 ได้
- Rear: หรือกล้องหลัง default เป็น VirtualScene สามารถเลือก None, Emulated และ Webcam0 ได้
ในที่นี้เลือกกล้องหน้าเป็น Webcam0 ก็แล้วกันเนอะ
เมื่อเลือกเรียบร้อยกด Finish แล้ว restart เครื่องใหม่ 1 รอบ สำหรับเครื่องที่มีอยู่แล้ว ก็ใช้ได้แล้วล่ะ ในรูปมันจะไม่เห็นอะไรเพราะติดสติ๊กเกอร์ที่กล้องไว้แหละ เท่านี้ใช้กล้องจริงใน Android Emulator ได้ล่ะ แต่ส่วนใหญ่ใช้กล้องจากเครื่องจริงกันหมดแหละ 🤣 #siamstr
ทำความรู้จัก model ที่นอกเหนือจาก Gemini อย่าง Gemma กัน จาก session “Evolution of Gemma 3n for Deploying Local Models on Every Device” โดยคุณ Witthawin Sripheanpol จากงาน Cloud Next Extended Bangkok 2025
.
⭐ What’s Gemma?
Gemini เป็น AI as a service เข้าไปที่เว็บเรียกใช้งานได้ ผลิตโดยบริษัท DeepMind บริษัทลูกของ Google ที่ทำด้าน AI พัฒนาให้เข้าถึงมากขึ้นเรื่อย ๆ
ส่วน Gemma เป็น open-source model base on Gemini ทุกคนเอาไปใช้งานได้บนเครื่องของตัวเองได้ โดยไม่ต้องเปิด internet! คือใช้งานบน local ไม่มีปัญหาในการเชื่อมต่อ internet เพราะมันเป็นแบบ on-device นั่นเอง จุดเด่นคือ เป็น model ที่มีขนาดเล็ก แต่ฉลาด
ในสาย model open source จะมี DeepSeek, Qwen, Llama, Phi ประมาณนี้เนอะ
Gemma ก็มีลูกหลานหลายตัว เอาไป fine-tune พัฒนาความสามารถต่าง ๆ เช่น MedGemma เป็น LLM ในเรื่องการแพทย์, ShieldGemma เป็น guardrail สามารถ detect ข้อความที่เข้ามา เป็น timeless หรือมีความ sensitive ไหม
แล้ว Gemma 3 กับ Gemma 3n ต่างกันยังไง?
Gemma 3 provide multimodal รับ input ได้ทั้งข้อความ รูปภาพ เสียง วิดีโอ และมี sizing ที่เข้าถึงได้ ไม่ต้องหา server มารัน AI ส่วน Gemma 3n สามารถรันได้บนมือถือ เช่นทำแอพ หรืออุปกรณ์ตัวเล็ก ๆ อย่าง robotic, IoT
.
⭐ Evolution from Gemma to Gemma3n
ถ้าเห็นชื่อ AI แปลก ๆเราอ่านกันยังไง?
Gemma-3n-eXb-it
3 คือ version, n คือ nano series, e คือ effective parameter, X คือ model size หน่วยเป็น billion พันล้าน, it บอกว่าเป็น model instruction-tuning ไหม ถูก train เป็น conversation base ไหม ถ้าเป็นเอาไปทำ agent base ได้
ตัว e เมื่อกี้คือ memory efficiency with PLE บอกว่า model นี้สามารถ split ส่วนไปใช้งาน model ไหน ทำให้ GPU ใช้ memory ตามที่เราใช้งาน มือถือ RAM จำกัด ROM เล็ก จึงคัดบางส่วนมาประมวลผล
Gemma เข้าใจ 140 ภาษาสำหรับ text และ 35 ภาษาสำหรับ multimodal และ support Multimodal และ Long-term conversation
เขาบอกว่า Gemma 3n ใช้ MobileNet-v5-300 แล้วเราสามารถถ่ายรูปใส่ข้อความ ใส่ prompt แล้วเข้าใจข้อความและ vision เหล่านั้นได้เร็ว
ข้อดีของ Gemma 3n
- Optimized on-device performance: เก่งในแง่การทำงานบน on-device และ
- Privacy-first, offline-ready: privacy-first เป็น offline สามารถใช้งานได้เลย
- Multimodal understanding: เข้าใจตัวหนังสือ รูป เสียง วิดีโอ ได้ดี
- Dynamic resource usage: ขนาดเล็ก scale ง่าย แล้วยังถูกกว่ามาก ๆ
.
⭐ How to use Gemma3n
ตอนนี้มี 4 version มี instruction base 2 ตัวบน ใช้งานในส่วนของ chat ใด ๆ และ model base 2 ตัวล่าง
- gemma-3n-E4B-it
- gemma-3n-E2B-it
- googlegemma-3n-E2B
- gemma-3n-E4B
สามารถ download ได้ทั้ง 4 ที่ คือ Hugging Face, kaggle, Ollama, LM Studio
และลองเล่นได้หลายที่ เช่น Hugging Face, Google AI Studio ซึ่งใน session นี้ทำผ่าน Colab ในนั้นมีการ install Python, load model และเอามาใช้งาน ซึ่งถ้ามันไม่มี text มันเข้าใจ image และ audio ได้ด้วยนะ เพราะมี encoder ที่เก่ง มันเลยสามารถจับคู่กันได้
.
⭐ How to deploy Gemma3n on local device
เอา model 8 GB ย่ออีกเป็น 3 - 4 GB ได้ไหม ก็พอใช้กับ mobile app ได้อยู่ ถ้าเครื่อง RAM เกิน 8 GB ด้วย ONNX library ที่ support ในการใช้ model ตัวเล็ก มาไว้ใน front-end ทั้ง website และ mobile การใช้งานดูใน Hugging Face ได้ มีตัวอย่างฝั่ง web front-end ให้ดู ใช้ gemma-3n-E2B-it และ support แค่ CPU ส่วน WebGPU รอต่อไป
ซึ่งเขาบอกว่าฝั่ง Android ใช้ตัว onnx ได้เนี่ยยย คิดว่าในตัว Hugging Face น่าจะเป็นโทน React Native มากกว่า เพราะเราไม่ได้ใช้ npm ใด ๆ แหะ ๆ
ยิ่ง model ใหญ่ ยิ่งเปลืองการ์ดจอ และยิ่งเปลืองเงิน ถ้าย้ายมา CPU ได้ จะลดค่าใช้จ่ายลงประมาณ 6 เท่า ทำให้ scale ได้ง่ายขึ้น
.
.
⭐ แล้วมัน matter กับ Android Developer ไหมนะ?
แน่นอนว่าฝั่ง Android Developer ก็มีทางเลือกอื่น ๆ เช่น ใช้ model ที่เทรนเอง เป็น Tensorflow Lite, MediaPipe, ML Kit แล้วก็มี Gemini Nano มาเพิ่มด้วย
ในตัว document Google AI for Developers นั้นจะมีส่วน Solution ที่เป็น MediaPipe ซึ่งมันจะมี solution อื่น ๆ เยอะมาก โดยส่วนที่เกี่ยวข้องเป็นส่วนของ LLM Inference API เป็ย Generative AI ที่รองรับทั้ง web, Android และ iOS เลย รวมถึง customize model ด้วย และ model ที่ใช้ก็คือ Gemma-3 1B และ Gemma-2 2B เป็น open-source model ที่สามารถ download ได้ผ่าน Hugging Face [1]
ฝั่ง Android สามารถลองเล่นได้ที่ Google AI Edge Gallery ว่ามันทำอะไรยังไงได้บ้าง [2] ถ้าอยากลองทำก็ลองสร้าง project ใหม่ แล้วเขียนโค้ดเพื่อให้ download model มาก่อนใช้งานในแอพ [3]
ส่วน ONNX น้านนนน ลองดูคร่าว ๆ แล้วงง ๆ คนไม่ค่อยได้แตะ Android NDK กันด้วย คงใช้วิธีปกติกันมากกว่านะ 😆
.
แล้วเพื่อน ๆ ใช้วิธีไหนกันในการนำ AI ไปใช้ในโปรเจกต์ มาเม้นบอกกันได้น้า #siamstr
session:
slide: 
หลาย ๆ คนคงจะใช้ Cron job เป็นโปรแกรมที่ใช้ตั้งเวลาในการทำงาน automation ตามเวลาที่เรากำหนดไว้ เช่น พวก CI/CD อะไรงี้ แล้วถ้าเราตั้งเวลาในการทำงาน เราก็ต้องใช้ Crontab เพื่อบอกว่าให้ทำงานอันนี้เมื่อไหร่
⏰ โดยการตั้งเวลาโดยการใช้ Crontab นั้น จะมี 5 field ที่ใช้ในการตั้งเวลา คือ
1. minute: นาที ค่าที่ใส่ได้คือ 0 - 59
2. hour: ชั่วโมง ใส่ 0 - 23
3. day of month: อันนี้เป็นวันที่ในปฎิทิน เช่น วันที่ 1 งี้ ค่าที่ใส่ได้จะเป็น 1 - 31
4. month: เดือน แน่นอนมี 12 เดือน ใส่ 1 - 12
5. day of week: วันในสัปดาห์ เช่น วันจันทร์ ค่าที่ใส่ได้ 0 - 6 เริ่มจากวันอาทิตย์ จะเป็นค่า 0 วันจันทร์เป็นค่า 1 จนถึงวันเสาร์เป็นค่า 6 และค่า 7 จะเป็นวันอาทิตย์ในบางระบบ
.
การใส่ค่าเวลา นอกจากใส่ตัวเลขไปตรง ๆ แล้ว
สามารถใส่ syntax อื่น ๆ ได้ด้วย
- *: ทุก ๆ เช่น ถ้าอยู่ใน field minute หมายถึงทุกนาที
- ,: ใช้คั่นบอกสำหรับเคสที่ต้องการใส่มากกว่า 1 ค่าใน field เช่น วันธรรมดา ใส่ 1,2,3,4,5
- -: สามารถใส่ค่าเป็นช่วงได้ด้วย เช่น วันธรรมดา ใส่ 1-5
- */n: คือทุก ๆ n ครั้ง โดย n ต้องหารลงตัวด้วยนะ เช่น ถ้าใส่ใน field นาที ต้องหาร 60 ลงตัว ส่วนชั่วโมงต้องหาร 24 ลงตัว โดย n คือ ตัวหาร 60 (สำหรับนาที) หรือ 24 (สำหรับชั่วโมง)
.
การใช้งานหน้าตาจะเป็นแบบนี้
`<minute> <hour> <day of month> <month> <day of week> <command to execute>`
.
⭐ ตัวอย่างแบบ basic
- ทุกวันตอน 6 โมงเย็น `0 18 * * *`
- ทุกวันจันทร์ตอน 6 โมงเย็น `0 18 * * 1`
- วันที่ 3 ตอน 6 โมงเย็น ของทุกเดือน `0 18 3 * *`
⭐ ตัวอย่างแบบยากขึ้นมาหน่อย
- ทุกวันเสาร์ตอน 5 ทุ่ม 50 นาที `50 23 * * 6`
- ทุกวันที่ 1 และ 16 ของทุกเดือน เวลาบ่ายสามโมงครึ่ง `30 15 1,16 * *`
- ทุกวันธรรมดาตอน 7 โมงครึ่ง `30 7 * * 1,2,3,4,5` หรือจะเป็น `30 7 * * 1-5` ก็ได้
- ทุก 30 นาที ของทุกวันทำงาน `*/30 * * * 1,2,3,4,5` หรือจะเป็น `*/30 * * * 1-5` ก็ได้เช่นกัน
- ทุก 4 ชั่วโมง นาทีที่ 0 `0 */4 * * *`
- ทุก 2 ชั่วโมง ตั้งแต่ 9:30 ถึง 18:30 `30 9-18/2 * * *`
- นาทีแรกของปีใหม่ของทุกปี `0 0 1 1 *`
- ทุกชั่วโมงตั้งแต่ 10 โมงเช้า ถึงหกโมงเย็น ในวันเสาร์อาทิตย์ `0 10-18 * * 6-7`
- ทุกนาทีที่มีเธอ `* * * * *`
.
ไม่แน่ใจว่าเพื่อน ๆ ใช้ทำอะไรกันบ้างน้า หรือมีตัวอย่างอะไรน่าสนใจ มาบอกกันได้น้า ทางเราไม่ได้ใช้นานแล้ว แหะ ๆ #siamstr