Posts

AirDrop, QuickShare ไม่ได้จำกัดแค่ ecosystem ของตัวเองอีกต่อไป

Image
AirDrop เป็นฟีเจอร์ที่ทำให้ผู้ใช้ iOS สามารถรับ-ส่งไฟล์กันได้อย่างสะดวก ในขณะที่ Android ก็มี Quick Share ที่ทำงานในลักษณะเดียวกัน เพียงแต่จะส่งได้ระหว่างระบบปฏิบัติการของตัวเองเท่านั้น ซึ่งทำให้ผู้ใช้ส่วนใหญ่เลือกใช้ทางอื่นไปเลย เช่น LINE หรือแอปทางเลือกอื่นๆ เช่น  LINE Keep Memo ,  Snapdrop ,  SHAREit ,  NearDrop  ซึ่งแต่ละเจ้าก็แตกต่างกันไป ส่ง LINE ไม่ดียังไง ถ้าเป็นเพื่อนๆ ที่แอดกันแล้วมันก็สะดวก หรือแชร์กันเป็นกลุ่มมันก็ดี แต่ถ้าเป็นไฟล์ใหญ่ๆ วีดีโอ หรือต้องการไฟล์ต้นฉบับอาจจะไม่ตอบโจทย์ หลายครั้งที่เจอปัญหาโหลดมาแล้ววันที่ไม่ตรง บางครั้งย้อนดูภาพเก่าๆไม่ได้ ไหนจะอินเตอร์เน็ตที่ไม่ได้เร็วแรงเหมือนกันทุกคน  AirDrop (iOS) / QuickShare (Android) ทั้งสองอย่างเป็นการส่งไฟล์โดยใช้เทคโนโลยี bluetooth หรือ wifi-direct โดยไม่จำเป็นต้องมี internet เป็นการส่งจากเครื่องถึงเครื่อง ส่งไฟล์จริงๆ โดยไม่มีตัวกลางเลยไม่จำเป็นต้องแอดกันก่อน ข้อเสียก็คือคนไกลจะใช้วิธีนี้ไม่ได้ หากโฟกัสเรื่องการส่งรูปหากันกับกลุ่มเพื่อนผมว่ายังไง LINE ก็ชนะ...

[Flutter] การทำ bridging function (method channel) ไปยัง native iOS, Android

Image
Flutter เป็นการเขียนโปรแกรมแบบ Hybrid หรือ Cross-platform ความจริงที่หนีไม่พ้นคือ มันมักจะตามหลัง Native อยู่บ้าง ทำให้บางครั้งอาจทำให้นักพัฒนาจำเป็นจะต้องทำให้ flutter คุยกับฝั่ง native ได้ด้วยตัวเอง และแน่นอนบทความนี้จะมาช่วยทำให้เห็นภาพมากขึ้น สิ่งที่ต้องรู้ก่อน Channel ใช้เป็นช่องทางพูดคุยกันระหว่าง flutter, native มักมีการต่อ package ID ไปด้วยเพื่อป้องกันชนกับที่อื่น Method สำหรับระบุเมธอดการทำงาน main.dart static const _channel = MethodChannel('th.in.lordgift.flutter_native_bridged/call_channel'); static Future getDeviceModel() async { try { final String model = await _channel.invokeMethod('getDeviceModel'); return "Device Model: $model"; } catch (e) { return "Error: $e"; } } AppDelegate.swift if let controller = window?.rootViewController as? FlutterViewController { // Set up the MethodChannel to listen for calls from Flutter let channel = FlutterMethodChannel(name: CHANNEL_NAME, binary...

Prompt ศัพท์ใหม่ยุค AI (2025)

Image
AI ยุคนี้ เข้าถึงคนทั่วไปมากขึ้น ไม่ได้จำกัดอยู่แค่คนในวงการ IT หรือ Geek Users เท่านั้น หลายคนคงรู้จักผ่านคำว่าอัจฉริยะทั้งหลาย โดยเฉพาะการถ่ายภาพแล้วมีการตกแต่งให้อัตโนมัติ ซึ่งหากคุณยังเข้าใจแบบนี้อยู่ก็น่าจะเริ่ม out หรือคุยกับคนอื่นไม่รู้เรื่องแล้ว Gen-AI  หรือ Generative AI เข้ามามีบทบาทอย่างมากในชีวิตประจำวัน และไปถึงขั้นการทำงานเฉพาะทางเสมือนการพูดคุยกับใครสักคนที่คุยได้ทุกเรื่อง ตั้งแต่เรื่องพื้นฐานไปถึงเชิงลึก ด้วยประโยคไม่กี่ประโยค Prompt  คีย์เวิร์ดหลักของคอนเท้นนี้ หมายถึงประโยคที่เราจะใช้คุยกับ Gen-AI นี่แหละครับ ประโยคที่ว่าก็เหมือนเวลาเราแชทคุยกับเพื่อน ซึ่งหากใครเคยเป็นนักค้นหา Google มือทอง จะรู้ว่ามันมีเทคนิคบางอย่างที่จะทำให้เราหาข้อมูลได้แม่นยำกว่าคนอื่น ซึ่ง prompt มันจะธรรมชาติกว่ามาก ๆ  "ฉันจะไปเที่ยวกาญจนบุรี ช่วยจัดแพลนเที่ยวให้หน่อยสิ" https://gemini.google.com/ หารค่าน้ำมันแบบคนขี้เกียจ (ก็แค่ส่งรูปไปป้ะ 😁) https://gemini.google.com/ ลองให้ช่วยเขียนโปรแกรมหน่อย https://gemini.google.com/ เราเคยรู้จัก AI ในฐานะนักเรียนท่านหนึ่ง คือ เราจะต้องป้อ...

[IoT] IoT ในปี 2025 เขียนง่าย โมดูลถูก คลาวด์ฟรี

Image
IoT (Internet of Things) ยุคที่อะไรๆ ก็ต้องเชื่อมต่อ internet ซึ่งยุครุ่งเรืองของ IoT น่าจะผ่านมา 5 ปีได้แล้ว (อ้างอิง:  2020 ปีทองของ IoT ) ซึ่งตอนนั้นก็มีการพูดถึงกันว่า แม้แต่อุปกรณ์เล็กๆ ก็ยังต้องสามารถเชื่อมต่อ internet ได้ ปัจจุบัน (2025) เราจะเห็นว่ามีอุปกรณ์เล็กๆ มากมายให้ซื้อในราคาไม่กี่ร้อย เช่น ปลั๊กไวไฟ สวิตซ์ไวไฟ ทั้งแบบพร้อมใช้หรือนำไปต่อพ่วงเองมากมาย และโดยส่วนมากจะมีแอปพลิเคชั่นมือถือพร้อมให้เราใช้งานได้โดยไม่เสียค่าใช้จ่ายเพิ่มเติมด้วย แต่เอาล่ะ ในวันที่เราข้ามผ่านกาลเวลามาแล้ว บทความนี้จะพามาดูกันว่าถ้าเราต้อง DIY กันวันนี้ การจะประดิษฐ์​ IoT ของเราเองมันยากง่ายแค่ไหนกัน ราคาอุปกรณ์ สิ่งแรกที่อยากพูดถึงเลยคือ ราคา  Controller ราคามีตั้งแต่หลักสิบ ถึงร้อยกว่าบาทเท่านั้น !! ซึ่งส่วนใหญ่ต่อ WiFi ได้พร้อม Module/Sensor ก็เช่นกัน เริ่มต้นที่ไม่กี่สิบบาท !! หากคุณเป็นคนนึงที่เคยซื้อ Arduino Board หรือ Raspberry Pi ในราคาหลายร้อยก็เสียใจด้วย Cloud  ระบบคลาวด์ สำหรับเก็บข้อมูล แสดงข้อมูลที่อ่านมาได้จากอุปกรณ์ ขอเชิญทัศนาสิ่งที่เรียกว่า Arduino Cloud ได้เลยครับ ...

Ngrok เผยแพร่ localhost ไปทั่วโลกกกก

Image
ngrok  เป็นเครื่องมือที่ช่วยทำให้ localhost ของเราสามารถเผยแพร่สู่สาธารณะได้ โดย ngrok เค้าจะสร้าง subdomain ให้เราเรียกใช้งานผ่าน https ได้ง่ายๆ เลย  ติดตั้ง แน่นอนว่า การใช้งานเป็น cli อยู่ละ การติดตั้งก็เช่นกัน  https://ngrok.com/docs/getting-started/ ใช้งาน  ngrok http 80 กรณีนี้ app ของผมใช้ port 80 สังเกตุว่าเค้าจะสร้าง subdomain ใช้เราแล้ว โดย forward เข้ามาที่ http://localhost:80 ของเรานี่แหละ Dashboard ngrok dashboard  ที่ทำมาให้เราเข้าไปจัดการ endpoint ของเราได้ และเนื่องจาก ngrok subdomain จะเปลี่ยนใหม่อยู่ตลอด เราสามารถไปสร้าง static domain เพื่อใช้งานแบบไม่เปลี่ยนแปลงได้  ngrok http --url baz.ngrok.dev 8080 🤑 ปัญหาของคนไม่ชอบเสียเงิน (Free Plan)  static domain สามารถสร้างได้แค่ 1 domain เท่านั้น  ไม่สามารถ ngrok พร้อมกันได้ landing page ที่น่ารำคาญ ต่อให้เค้าให้ส่ง header เพื่อหลบหน้านี้ได้ แต่ก็น่ารำคาญอยู่ดี ถ้าคุ้นเคยการใช้ cli และเครื่องมือต่างๆ ngrok ก็เป็นตัวเลือกที่ดีมากๆ นอกจากนี้ถ้าจะใช้งาน ร่วมกับ docker, kube...

iPhone Mirroring ของใหม่ที่สะดวกสำหรับ User

Image
หลังจากที่อัพเดท macOS Sequoia  ได้ปล่อยสู่สาธารณะเมื่อเดือนกันยาฯ 2024 ที่ผ่านมา สิ่งหนึ่งที่ได้รับความสนใจเป็นอย่างมากคือ iPhone Mirroring iPhone Mirroring  ใช้สำหรับแสดงหน้าจอ iPhone บน macOS และสามารถควบคุมได้ด้วย ซึ่งจะใช้งานได้จำเป็นต้องอยู่ภายใต้ wifi เดียวกัน, icloud เดียวกันเท่านั้น การใช้งาน การใช้งานครั้งแรกจำเป็นต้องเชื่อมต่อ mac และ iPhone เข้ากันก่อน ซึ่งจะทำเพียงครั้งเดียว แล้วจะมีการจดจำไว้ให้เชื่อมต่อได้โดยอัตโนมัติภายหลัง เมื่อเชื่อมต่อเรียบร้อยแล้ว เราจำเป็นต้องปิดหน้าจอ iPhone เพื่อใช้ผ่านทาง mac เท่านั้น (ไม่สามารถใช้พร้อมกันได้) เลิกใช้ iPhone Mirroring เราจำเป็นต้องลบออกด้วย iPhone โดยไปที่ -  Settings > General > AirPlay & Continuity > iPhone Mirroring มุมมอง Developer ในฐานะที่ผมต้องพัฒนา iPhone Application แอบผิดหวังเล็กน้อย เพราะการทำงานจำเป็นต้องสลับมองหน้าจอไปพร้อมๆ กัน บางครั้งก็ต้องทดสอบลองเล่นจริงๆ ด้วย ซึ่ง iPhone Mirroring ไม่ค่อยสะดวกเท่าไร ในส่วนแค่การแสดงหน้าจออย่าง QuickTime Player หรือ Vysor ก็ทำได้อยู่แล้ว ถึงตรงนี้ คิ...

Design Token คืออะไร สำคัญต่อ Designer / Developer อย่างไร

Image
การพัฒนาซอฟต์แวร์ในปัจจุบันที่ต้องการหน้าจอสวย ง่ายต่อการใช้งาน แน่นอนว่าเบื้องหลังนั้น Designer และ Developer ต้องทำงานร่วมกันอย่างหนักเพื่อให้ได้หน้าจอที่ออกมาตามความต้องการของทุกฝ่าย ก่อนอื่นขอพูดถึงเครื่องมือและวิธีการที่จะ mention ถึงในลำดับถัดไป Designing Tools Figma คงเป็นตัวเลือก top rank ในปัจจุบัน นอกจาก Designer จะใช้ออกแบบได้อย่างมีประสิทธิภาพ ยังสามารถแบ่งปันให้ Developer เข้ามาเลือก inspect เพื่อตรวจสอบ UI ที่จะนำไปพัฒนาได้อย่างละเอียด Design Standard / Design Guidelines เพื่อให้ง่ายต่อการทำงาน Standard ที่มีร่วมกันจึงสิ่งสำคัญทั้งภายในและภายนอกทีม เช่น theme ของแอป ขนาด ระยะห่างขององค์ประกอบต่างๆ ไม่ว่าจะออกมาในรูปแบบ color pallete, components ก็ถือว่าเป็นมาตรฐานร่วมกัน แต่การทำ Standard บน Figma ก็มีข้อจำกัดด้วยตัวของมันเอง การอ้างอิงไปยัง base component ก็ทำได้แหละ แต่หลายๆครั้งมันยังไม่ได้ประกอบเป็น component เลย การสื่อสารระหว่าง Developer และ Designer เลยเกิดข้อผิดพลาดค่อนข้างบ่อย

Facebook Comment

Recent Posts

Popular post of 7 days

Port Forwarding สำหรับคนใช้ AIS Fibre

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Portal คืออะไรกันนะ???

Popular

Portal คืออะไรกันนะ???

Port Forwarding สำหรับคนใช้ AIS Fibre

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

Deeplink, Universal Links คืออะไร ทำงานร่วมกับ Mobile App ได้ยังไง

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

วิธีการสมัคร Apple Developer Program และ Enterprise Program ฉบับลงมือเอง

เรื่องของ ++i กับ i++

[Android] วิธีลง Custom Rom ให้กับ Android ตัวโปรด