minseo's avatar
minseo
mikkipastel@siamstr.com
npub1h9ls...q9qf
👩‍💻 Full-time Android Developer 🌐 Part-time Content Creator 📖 Sub-Mod, Tripster ⚡ Zentry Ambassador #siamstr
minseo's avatar
minseo 2 months ago
ทำความรู้จักฟังก์ชั่นปัดเศษ ปัดยังไงไม่ให้เพี้ยน? ในเรื่องเกี่ยวกับตัวเลข และการเขียนโค้ดนั้น สิ่งที่หลาย ๆ คนเจอกันบ่อย คงหนีไม่พ้นเรื่องการปัดเศษ ที่ใช้ในบาง business logic จาก requirement ที่ได้รับ image แล้วการปัดเศษมันมีอะไรแบบไหนให้ใช้บ้าง? พบกับ 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
minseo's avatar
minseo 3 months ago
กลับมาอีกครั้งกับงาน contribute ประจำปีของชาว developer อย่าง Hacktoberfest 2025 ที่ปีนี้กลับมาแจกเสื้ออีกรอบ โดยกติไก่ เอ้ย กติกา คือ ต้อง contribute ใน Github หรือ Gitlab ก็ได้ 6 accept PR/MR ซึ่งจะเป็น 10,000 คนแรกเท่านั้น! และยังได้รักโลกกับ treenation อีกเช่นเคยด้วยล่ะ สมัครได้วันนี้ ซึ่งกิจกรรมจะเริ่มวันที่ 1 ตุลาคมไปจนจบเดือนเลย . ใครอยากฝากร้านให้เพื่อน ๆ เข้าไป contribute สำหรับ Hacktoberfest ปีนี้ ฝากได้ในเม้นเลยยยยยย
minseo's avatar
minseo 3 months ago
ใช้ AI ในงานเดฟยังไง ให้ไม่พัง! แล้วทุกคนไม่เหนื่อย เพราะการใช้ AI ในการเขียนโค้ดให้เรา มันมี cost เสมอ image เก็บตกไฮไลต์จากงาน #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
minseo's avatar
minseo 3 months ago
มาแล้วกับบล็อกเต็มงาน #LINEDEVCONF2025 ที่จัดใหญ่กว่าทุกปี มีคนมาร่วมงาน 1,200 คน! ความพิเศษ นอกจากกลับมาจัดที่ Bitec แล้ว ก็น่าจะเป็นไอติมฟรีสำหรับคนที่มาเข้างาน 500 คนแรก เราที่ไม่พลาดในเรื่องของกิน 😂 เอ้ยยย ได้ลองใช้ Coupon API อะไรงี้ ภายในงานมีอะไรบ้างไปดูกัน #siamstr
minseo's avatar
minseo 3 months ago
จัด event แต่ละครั้ง จะต้องเตรียมอะไรเยอะแยะตั้งแต่สร้าง event ทำระบบลงทะเบียน ในงานต้องมีอะไรบ้าง ให้ผู้ร่วมงานทำกิจกรรมอะไรดี จนไปถึงทำ feedback form แล้วเอามาวิเคราะห์ในการจัดงานครั้งถัดไป เหนื่อยเนาะ 😓 image แต่ปัญหานี้จะหมดไป เมื่อมีตัวช่วยอย่าง 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
minseo's avatar
minseo 3 months ago
มาอัพเดต LINE API ในปีนี้ พร้อมข่าวดีสำหรับ LINE MINI App! เปิดรับ LINE Developer Partner และงาน LINE Hack ในปีนี้ image สรุป 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
minseo's avatar
minseo 3 months ago
งานใหญ่อีกงานกำลังจะมา 👀 กับงาน BITKUB SUMMIT 2025 ในวันที่ 25 - 26 ตุลาคม 2568 ที่ Hall 3 - 4 ศูนย์การประชุมแห่งชาติสิริกิติ์ ซึ่งอยู่ที่ชั้น G น้า แปดโมงเช้าถึงสองทุ่มเลย ✨ ตีมปีนี้เขาจะเป็น Financial Literacy, Digital Literacy, & Longevity image ⭐ แล้วปีนี้มี 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 เลย แล้วแม่หมอแน็ตตี้ชมว่าสวยมากกกก ซึ่งในรูปสวยจริง ปีนี้ต้องมาเช้าหน่อยล่ะจะได้ไม่พลาด 🤣 ใครสนใจจิ้มลิ้งนี้ได้เลยจ้า #BITKUBSUMMIT2025 #siamstr
minseo's avatar
minseo 3 months ago
สูตรลับ! รู้สิ่งนี้แล้วใช้ AI ตัวไหนก็ได้ ง่ายนิดเดียว! . บอกเลย ถ้าเข้าใจพื้นฐานว่ามันคืออะไร? และมันทำงานยังไง? ทำให้เราใช้งาน AI ง่ายขึ้นเยอะ โดยไม่ต้องไปตามหา prompt จากคนอื่นเลย จะเป็นยังไงมาอ่านกันจ้า #siamstr
minseo's avatar
minseo 3 months ago
พี่ค้าบ ๆ commit message บน Git ต้องเขียนอะไรบ้างครับ? คำถามของน้อง Software Developer มือใหม่ที่ยังไม่รู้จะเขียนสิ่งนี้ยังไงดี ได้ถามพี่ senior ในทีมว่าจะเขียนยังไงดี ซึ่งเวลาเราทำงาน เราต้อง push code ขึ้น Git แล้วต้องเขียน commit message ด้วยใช่ม่ะ ต่างคนต่างเขียนเราก็จะทำงานกันยาก เพราะไม่รู้ว่าเราทำอะไรไป หรือทำไมมีโค้ดอันนี้เพิ่มเข้ามา ก็สามารถย้อนกลับไปดูได้ แล้วทำยังไงให้การทำงานร่วมกันเป็นทีมมีประสิทธิภาพมากกว่าเดิม? มาทำความรู้จัก git convention commit กัน #siamstr image 👩‍💻 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] [2] [3]
minseo's avatar
minseo 4 months ago
มาทบทวนแนวคิดพื้นฐานเรื่อง Margin และ Padding กัน เมื่อตอนเป็น Android Developer มือใหม่ มีเรื่องนึงที่สับสน คือเรื่อง margin และ padding แยกไม่ค่อยออก แต่จะแยกออกได้จากการใช้งานบ่อย ๆ นั่นเอง 🤣 นอกจาก Android Developer แล้ว iOS Developer และ Web Developer ก็ต้องใช้ margin และ padding เช่นกัน เพราะเป็นพื้นฐานสำคัญในการจัดวาง UI ได้สวยมากและมีประสิทธิภาพมากขึ้น และยังทำให้แอพมี UX ที่ดีขึ้นด้วยนะ image ✨ 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
minseo's avatar
minseo 4 months ago
🤖 อยากรู้ไหมว่า AI ตัวไหนเก่งจริง? แน่นอนว่าเป็นคำถามในใจคนใช้งาน AI ทุกคน! และวันนี้เรามีคำตอบที่มาจาก “คะแนนโหวตของผู้ใช้งานจริงทั่วโลก” มาฝากกัน นั่นคือ LMArena.ai แพลตฟอร์มที่ให้เราได้ทดสอบและเปรียบเทียบโมเดล AI ต่างๆ ในโหมด "Battle" ที่น่าสนใจมาก ๆ image ✨ 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 แล้วหรือยัง? ชอบโมเดลตัวไหนเป็นพิเศษ หรือได้ค้นพบตัวใหม่ ๆ ที่ประทับใจ มาแชร์กันได้นะ! 👇 ลองเข้าไปดูและโหวตกันได้เลยที่ https://lmarena.ai/
minseo's avatar
minseo 4 months ago
วิธีการหน่วงเวลายอดฮิต บนโค้ด Android . เคยไหมที่ได้รับ requirement ว่า ต้องการให้ view นี้ แสดงหน้านี้ 2 วินาทีแล้วไปหน้าใหม่ หรือแสดง item ห่างกันในเวลาที่เรากำหนด? แล้วทำแบบนี้ได้ยังไง ก็ต้องใช้การหน่วงเวลา หรือ delay ใช่ม้า . แล้วการหน่วงเวลาบน Android มีกี่วิธีกันนะ? เปรียบเทียบ 3 วิธียอดฮิตแบบเข้าใจง่าย พร้อมตัวอย่างโค้ด . แล้วเพื่อน ๆ ใช้วิธีไหนกันบ้างนะ หรือมีท่าอื่น ก็ comment มาบอกได้เลยน้า #siamstr
minseo's avatar
minseo 4 months ago
Android Emulator ใช้กล้องจากที่อื่นได้ไหม? ตอนแรกดันตอบน้องในทีมอย่างรวดเร็วว่าไม่ได้ แต่จริง ๆ ได้นะทุกคน เราอาจจะหลงลืมเอง แหะ ๆ โดยกล้องที่สามารถเปิดได้ คือ กล้อง webcam ที่มากับคอมนี่แหละ image ก่อนอื่นเลย ก็ต้องมี 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
minseo's avatar
minseo 4 months ago
รู้ไหมว่า model บ้าน Google นอกจาก Gemini ยังมีอีกตัวอย่าง Gemma ด้วยนะ! image ทำความรู้จัก 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: colab: [ ONNX: more research - [1] - [2] - [3] - [4] - [5]
minseo's avatar
minseo 4 months ago
โพยตั้งเวลาทำงาน Cron job ด้วย Crontab (หรือชื่อเต็ม Cron Table) อ่านจบ ใส่ Crontab ได้เอง ไม่ต้องง้อ tool ดูรูปนี้ก็พอ! image หลาย ๆ คนคงจะใช้ 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
minseo's avatar
minseo 4 months ago
บล็อกทุก session ของงาน Google I/O Extended Bangkok 2025 เมื่อเสาร์ที่แล้ว เผื่อใครรอ session อื่น ๆ ในงาน บอกเลยว่าปีนี้ AI เกือบทุก session เลย . session ในงาน 🔵 Google I/O Recap 2025 🔵 The Power Couple: Flutter & Native 🔵 Building customer support with n8n and Gemini — สรุปแล้วที่หน้าเพจ 🔵 Unleashing Gemini superpower with Chrome Extension 🔵 What Chrome's Built-in AI Does and the Future of AI on the Browser 🔵 From Live Coding to Vibe Coding with Firebase Studio — สรุปแล้วที่หน้าเพจ 🔵 Agent Development Kit 🔵 On Device ML & AI on Android 🔵 Gemini in Android Studio — สรุปแล้วที่หน้าเพจ . บล็อกอยู่ตรงนี้น้า #siamstr
minseo's avatar
minseo 5 months ago
Google ประกาศเป็นผู้นำด้าน AI มีครบจบในที่เดียว แถมยืนหนึ่งเรื่องคุณภาพและราคา! Highlight งาน Google Cloud Next '2025 มีอะไรอัพเดตบ้าง? จดสรุปจาก session “Spark the Next Big Thing: AI at Google Cloud Next '2025” ของงาน Cloud Next Extended Bangkok 2025 จากพี่ต้า Virot Chiraphadhanakul image . งาน Google Cloud Next นอกจากเรื่อง developer แล้วยังมีเรื่อง business ที่เอาไปใช้งานในองค์กรด้วย สิ่งที่ถูกประกาศในงาน แบ่งเป็น 4 Layer ใหญ่ คือ Agents, Vertex AI, Research and Model, AI Hypercomputer โดย agent เนี่ย เป็น keyword หลักที่ Google เน้นเยอะมาก ๆ และถูกพูดถึงในสื่อต่าง ๆ คนเริ่มเอา AI มาทำงานแทนเรา 🔑 Key Message: Google ส่งสัญญาณว่าเป็น platform ที่พร้อมที่สุด platform นึง ตั้งแต่ platform, model มีงานวิจัยหลายอย่างเกิดขึ้นที่ Google ซึ่ง LLM ที่เราใช้กันอยู่ทุกวันน้านนน เกิดจาก paper ที่ชื่อว่า Attention is All You Need ในเรื่อง cloud ก็มี Vertex AI เป็นแกนหลักในการ build model, deploy model ต่าง ๆ และมี industry แยกตาม usecase ต่าง ๆ มากกว่า 500 usecase เลยทีเดียว! ใน session นี้จะเน้นที่ model, Vertex AI และ agent . 🔵 AI Model Innovation - model Gemini มีการเรียกบน Vertex AI มีการเติบโต 40 เท่า! มีการ adoption มากขึ้นเรื่อย ๆ - เปิดตัว Gemini 2.5 Flash และ Pro ใช้งานบน Vertex AI - media generative model ใช้ในการสร้างเสียง สร้างเพลง สร้างรูปภาพ สร้างวิดีโอ ซึ่ง Google I/O ปีนี้ เปิดตัว Veo3 ออกมาแล้ว (เราเห็นมีหลายเพจรีวิวกันอยู่) - Gemini 2.5 Pro เน้นเรื่อง quality และทำเรื่องของ thinking ได้ค่อนข้างเยอะและดี ผลคะแนนจากผู้ใช้งานที่ Chatbot Arena ยังคงยืนหนึ่งอยู่ และอีก benchmark นึงที่ใช้วัดความฉลาด คือ Humanity’s Last Exam ได้คะแนนท้อปกว่าทุกตัวที่เคยออกมาก่อนหน้านี้ - Gemini 2.5 Flash จุดขาย คือ เราอยากได้ตัวที่เล็กลง ไม่แพงมาก ตัวนี้ไม่ตัด reasoning capability อยู่ ควบคุมการคิดเยอะคิดน้อยได้ ความฉลาด per dollar ดีกว่าตัว GPT-4o 24 เท่า และ Deepseek R1 5 เท่า - การเลือกใช้ model สำหรับงาน software developer มี trade-off ที่ต้องเลือก เราอาจจะไม่ได้ใช้ตัวที่ดีที่สุด ตัวที่ใหม่ที่สุด ตัวที่ถูกที่สุด เราต้อง balance ให้ดี ซึ่งตัว Gemini 2.5 Pro เข้ามาแก้ pain point ตรงนี้ สามารถปิด thinking mode และมี thinking budget งบประมาณในการคิด สามารถ set ให้ถูกหน่อยได้ถ้าอยากให้คิดนิดนึง ถ้าอยากให้คิดเยอะก็ใส่เงินไปเยอะ ก็จะได้คำตอบที่ดีมากขึ้น - จากงาน Google I/O ที่ผ่านมา เขาประกาศว่า quality และ cost model ของ Google อยู่ขอบจากทุกด้าน คิดจาก Arena Score และราคา - คุณไทเอา model LLM หลาย ๆ เจ้า ไปทำข้อสอบ O-NET ตัว top ยังเป็น Gemini ที่ใช้ cost น้อย แต่ความถูกต้องมาก ในการใช้ต้องดู usecase ที่ใช้ อาจจะจ่ายถูกลงมาแต่ยังได้คะแนนดีอยู่ก็ได้ (หน้าเว็บล่าสุดตอนนี้ Gemini 2.5 Pro ยังคงยืนหนึ่ง แต่ใช้ cost ถูกกว่าในสไลด์พี่ต้า ตอนนี้ใช้ประมาณ 10 บาทก็สอบได้ที่หนึ่งแล้ว) - อีกหนึ่งจุดขายของ Gemini คือ content context ยาวมาก 1 ล้าน token เช่น หนังสือ 1 เล่ม หรือวิดีโอ 1 ชั่วโมง ซึ่งพี่ต้าบอกว่า ยัดได้ ไม่เท่ากับควรยัด เดฟควรมี consider ในการ optimise ไม่ใช่อัดทุกอย่างใน model เราเลือกข้อมูลที่เกี่ยวข้องในการทำ RAG ทำให้ค่าใช้จ่ายถูกกว่า และมีประสิทธิภาพมากกว่า - Live API โต้ตอบเหมือนคุยกับมนุษย์มากขึ้น ตอนนี้เป็น preview เปลี่ยนวิธี connect กับ API จากเดิม request เป็นครั้ง ๆ เพื่อเอาคำตอบกลับไป show user เป็นการโต้ตอบผ่าน web socket ทำให้คุยกันอยู่ตลอดเวลา ตัวอย่าง usecase เราแชร์จอแล้ว AI แนะนำเรา - เปิดตัว model ใหม่ ในซีรีส์ media generation มี Imagen เป็น text-to-image, Veo เป็น text-to-video และ image-to-video, Lyria เป็น text-to-music พวกดนตรีประกอบใด ๆ, Chirp เป็น speech-to-text และตัวที่ปรับปรุงใหมอีก 2 ตัว คือ translation ของเดิมแปลคำต่อคำ แปลผิดแปลถูกอยู่ มี AI ช่วยให้เข้าใจบริบทมากขึ้น และ Embedded สามารถแสดงพวกข้อความ เสียง วิดีโอ เป็น vector ทำให้เขาเข้าใจพวกนี้ และ map แต่ละจุดให้มี semantic insight ทำให้ได้ใช้ multimedia ที่มีในฐานข้อมูล ให้เราเข้าใจรายละเอียดมากขึ้น เอาไปทำพวกแนะนำสินค้าได้ เช่น Etsy platform ขายของ handmade เอามาให้เข้าใจ product ต่าง ๆ ใน platform มากขึ้น - Google บอกว่า Vertex AI มี generative media ครบทุกโหมด ทั้งเสียง รูปภาพ วิดีโอ อยากเจนอะไร เจนได้หมด อีกหน่อยการทำหนังโฆษณาจะเปลี่ยนไป เริ่มจาก storyboard ที่ใช้ Gemini หรือ LLM ตัวอื่นช่วยคิด ออกมาเป็นซีน และแต่ละซีนอยากเห็นอะไร ก็ใช้ Imagen ก็จะได้รูปตั้งต้นมาในแต่ละซีน และใช้ Veo ในการ animate รูปเหล่านั้น จบด้วยใส่เสียงประกอบด้วย Lyria และเสียงพากย์ด้วย Chirp ในตอนนี้ง่ายขึ้น แต่ยังใช้เงินเยอะอยู่ แต่ถูกกว่าถ่ายทำโดยจ้าง production house คลิปตัวอย่าง 23 วินาที เป็นหลักพัน สามารถลองเล่นได้ที่ Google AI Studio - Veo3 เปิดตัวเรียบร้อยแล้ว ที่งาน Google I/O ที่ผ่านมา เราสามารถบอกได้ว่าอยากได้วิดีโออะไร เดี๋ยวมันทำให้หมดเลย ไม่ต้องไปเริ่มแบบข้อมะกี้ พร้อมเสียงพูด voice over เพลงประกอบ sound effect ตัวอย่างคือคลิปที่พี่ต้าเต้น ดูได้ที่หน้าเพจ Skooldio . 🔵 AI Agents & Platforms อยู่ level บนสุด ประกาศ 3 อันเด่น ๆ - Google Agentspace: เป็น agent ให้ทุกคนในองค์กรเข้าถึงได้ง่าย ๆ - Open Source Agent Development Kit and Agent Engine: สร้าง agent เป็นของตัวเองได้ง่ายขึ้น รวมถึงการ deploy ด้วย - Agent Interoperability Protocol: อยากทำงานกับ agent ต้องคุยยังไง ด้วยความที่ศัพท์มันเยอะมาก มาแยกด้วยวัถตุประสงค์กันก่อนเลย 📍 Agentspace: เป็นพื้นที่ให้คนในองค์กร เข้ามาใช้งานในที่สร้างมา ไม่ว่าจะเป็น model, agent 📍 Vertex AI: เป็น AI platform ที่ให้เรา build และ deploy model และ agent ต่าง ๆ แบ่งเป็น 3 theme 1️⃣ Model Garden: มี LLM หรือ Generative AI model ซึ่ง Google จะ provide model ในบ้านตัวเอง, open source ต่าง ๆ จะมี Gamma, deepseek, Meta (Llama) รวมไปถึง partner ที่เป็น model ปิด เราต้องจ่ายเงินใช้ก่อน เช่น Anthropic Claude 2️⃣ Model Builder: สร้าง model เป็นของตัวเอง เขาอัพเดตเรื่องของการ evaluate การ run operation ต่าง ๆ ในการทำ LLM 3️⃣ Agent Builder: เป็นอันใหม่ที่ประกาศออกมา ตอนสร้าง agent จะมี - ADK (Agent Development Kit) เป็น Python library ช่วยให้เราสร้าง agent ได้ง่าย - Agent Engine ให้เรา deploy ได้ง่าย มันเป็นเหมือนตัว orchestrate คือ agent จะทำงานได้ดี เมื่อมีตัว model ตัว orchestrate มีตัวที่ลิ้งไปใช้เครื่องมือต่าง ๆ ข้างนอก และมี process ตรงกลาง ว่าทุกอย่างยังทำงานโอเคไหม ช่วยจัดการพวกนี้ใน agent จุดขายคือ connect กับทุกอย่างที่ Google Cloud มีอยู่แล้ว - A2A (Agent to Agent) เป็น protocol ที่ให้ agent คุยกันได้ง่าย ๆ ทำงานคุยกันรู้เรื่อง มีคนเปรียบเทียบกับ MCP ซึ่งมันเติมเต็มซึ่งกันแล้วกัน โดย MCP ช่วยต่อกับ tool และ API และ A2A ให้ agent สองตัวคุยกัน ที่ Google ประกาศออกมา คือทำให้เรามีตัวเลือกในการเลือกใช้งาน model ในแอพของเราให้มากที่สุด องค์กรไม่อยากถูก lock กับ model ใด model นึง อยากให้ switch เปลี่ยนตัว model ได้ง่าย ๆ เลือกได้จาก Model Garden ในตัว Agentspace ก็เช่นกัน . ⭐ Google Agentspace เป็นพื้นที่ที่องค์กรอยากให้พนักงาน เข้าถึง agent ต่าง ๆ แล้วเอาไปใช้งานได้ เลยมี connector เยอะมาก เช่น Dropbox, SAP, Slack, Gmail Agentspace Agent Gallery มี agent หลายหมวดให้เราเลือกใช้ ทั้งของ Google และขององค์กร ส่วน marketplace ยังไม่เปิด สามารถไปช้อปได้ในอนาคต ตัวที่ Google บิ้วเอง และคิดว่าต้องได้ใช้ usecase นี้เยอะแน่ ๆ ในองค์กร คือ Idea Generation Agent ช่วยคิดไอเดียและให้คะแนนว่าอันไหนดีกว่ากัน รวมไอเดียกันต่อยอดได้ และ Deep Research Agent ก็อย่างที่ทุกคนเล่นกันใน LLM แต่ละบ้าน Agentspace Agent Designer อยากให้พนักงานสร้าง agent ง่าย ๆ เป็นของตัวเอง เขาช่วย generate plan การทำงานของ agent ให้ มี step อะไรบ้าง และสร้างเป็น agent ไว้ใช้ได้ . คนพูดถึง agent กันในวงกว้าง จริง ๆ เราอาจจะไม่ได้ต้องการ agent ในงานของเราขนาดนั้น หลายงานเราอยากได้ predictability เราอยากทำงานประมาณนี้นะ อยากให้แต่ละ step เป็นแบบนี้นะ ส่วน agent เหมาะกับงานที่เป็นปลายเปิดนิดนึง ให้มันทำซํ้า เปรียบเทียบ ทำหลายรอบ ผลลัพธ์ดีขึ้นเรื่อย ๆ ข้อดีคือเราได้ผลลัพธ์ที่ดีขึ้นในทุกรอบได้ ข้อเสียคือใช้ resource เยอะ หรือออกทะเลไปแต่แรกถ้าเราตั้งเป้าหมายไม่ถูก ดังนั้นเราอยากให้มันช่วยคิดขนาดไหน หรือกำหนด workflow เอง และมี human-in-the-loop มีคนช่วยตรวจความถูกต้อง และ workflow มีความเฉพาะเจาะจงมากขึ้น #siamstr
minseo's avatar
minseo 5 months ago
รีวิว Github Copilot Business จากผู้ใช้ทำงานจริง! บอกเลยใช้แล้วหายห่วงโค้ดไม่หลุดแน่นอน . ยุคสมัยที่ AI เข้ามามีบทบาทในชีวิตประจำวันมากขึ้น แม้แต่การทำงานก็เช่นกัน หลาย ๆ คนก็อยากจะเอามาใช้ทำงาน ซึ่งหลาย ๆ บริษัทมีการ research พวก security และ policy ต่าง ๆ ก่อนให้คนในองค์กรเข้ามาใช้งาน เพื่อไม่ให้ความลับในบริษัทรั่วไหล และแน่นอนเจ้าที่ตอบโจทย์บริษัทเราคงหนีไม่พ้น Copilot ของ Microsoft เพราะ เขาไม่เอาข้อมูลของเราไปเทรนต่อนั่นเอง นั่นก็หมายความว่าโค้ดของเราจะไม่หลุดไปนั่นเอง ในที่นี้เราจะ review การใช้งานบน Android Studio เป็นหลักเลย หลังจากใช้มาระยะนึง ซึ่งทางนี้เคยเล่นกับ VS Code มาบ้างแล้ว และใช้กับตัว Github Codespace ได้ด้วยสำหรับ side project เล็ก ๆ และช่วงต้นปีที่ผ่านมา ทางบริษัทซื้อ license ตัว Github Copilot Business มา ไม่รอช้า ขอ access เพื่อเอามาใช้งานไม่ว่าจะเป็นการทำงาน หรือ side project ใด ๆ ที่อยากเอาไปเล่นด้วย ว่ามันทำอะไรได้บ้างนะ หลังจากที่เราได้เรียนรู้ผ่านโครงการของ Microsoft กันไปบ้างแล้ว 😆 ปล. ภาพประกอบมาจากตัว site project ที่เป็น Compose Multiplatform นะ ตัวโปรเจกต์จะมาเล่าอีกทีนึง #siamstr