Posts

คูลกว่าใคร จ่ายเงินแบบ Contactless ด้วยมือถือ Android

Image
พัฒนาการของการใช้จ่ายสินค้าและบริการมีมาเรื่อยๆ โดยในปัจจุบันในบ้านเรามีวิธีการจ่ายเงินดังนี้ เงินสด (Cash) การจ่ายเงินแบบไร้เงินสด (Cashless) บัตรเดบิต/บัตรเครดิต  ใช้แอปธนาคารบนมือถือแสกน QR Code เพื่อโอนเงิน การจ่ายเงินแบบไร้สัมผัส ( Contactless ) บัตรเดบิต/บัตรเครดิต แบบ payWave ใช้มือถือที่รองรับ NFC จ่ายผ่านระบบ payWave โดยบทความในวันนี้จะมาเล่าถึงเทคโนโลยีการจ่ายเงินล่าสุด ซึ่งก็คือการใช้มือถือที่รองรับ NFC จ่ายผ่าน payWave หลักการง่ายๆ คือเพิ่มบัตรเครดิตเข้าไปในแอปฯ Google Wallet จากนั้นก็ใช้มือถือของเราแทนบัตรนั้นๆ ไปได้เลย Google Wallet  คืออะไร Google Wallet  เป็นแอปฯ ที่เสมือนเป็นกระเป๋าสตางค์ของเรา บางคนมีบัตรเยอะแยะไปหมดจนใส่กันไม่พอ พออยู่ในรูปแบบของแอปฯ ก็จะทำให้เรามีพื้นที่ไม่จำกัด และใช้เพียงมือถือของเราแตะเพื่อจ่ายสินค้าและบริการต่างๆได้เลย โดยอาศัยเทคโนโลยี NFC ของมือถือและทำงานร่วมกับเครื่องจ่ายเงินแบบไร้สัมผัส (payWave)     จ่ายที่ไหนได้บ้างล่ะ ? เราสามารถมองหาสัญลักษณ์ payWave ได้เลยเนื่องจากเป็นมาตรฐานสากล เช่นเดียวกับบัตรและเครื่องที่รองรับการจ่ายเงินแบบ payWa

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

Image
โครงสร้างของ links  Link   ที่เรากำลังพูดถึงก็คงจะไม่แปลกตาเท่าไร ซึ่งหลายคนคงเข้าใจดีว่าถ้าเราเปิด link ก็จะสามารถเข้าสู่ website ใดๆ ทันที เมื่อ mobile app ได้รับความนิยมมากขึ้นการเปิดแอปฯ ด้วย link เพียงตัวเดียวก็คงจะสะดวกไม่น้อย จึงเกิดสิ่งที่เรียกว่า Deeplink ขึ้นมา Deeplink   เป็นการ custom URL Scheme ซึ่งในยุคนึงมันเคยมีหน้าที่เฉพาะระบุ protocol ตัวอย่างเช่น https:// smtp:// ftp:// ssh:// เป็นต้น แต่ในปัจจุบันมีการยกระดับให้ high-level มากขึ้น นักพัฒนาสามารถกำหนดเอง บน mobile app. นักพัฒนาสามารถกำหนด deeplink ได้เอง เช่น myapp:// เมื่อ user กด link นี้จากที่ไหนก็ตามบนมือถือ ก็จะเด้งไปเปิดแอปฯ ได้ทันที  กรณีที่มีหลายแอปฯ register deeplink เหมือนกันติดตั้งอยู่ ข้อเสียของ deeplink มีโอกาสซ้ำ  ใช้ได้เฉพาะแอปฯ มือถือ ต้องมีแอปฯ ก่อน - แอปฯ​ ที่ใช้ deeplink ต้องอยู่บนเครื่องเท่านั้น ไม่ปลอดภัย - ใครก็เรียกแอปเราได้ ถ้ารู้ deeplink  Share ไม่ได้ - มันจะเหมือนการ share text ธรรมดา (ไม่มี preview) ความแตกต่างระหว่าง deeplink กับ public link พัฒนาการของ link ยังคงมีภาคต่อคือ... Universa

Appium Inspector เครื่องมือช่วยสร้าง Automated Test Script

Image
         Appium Inspector เป็นเครื่องมือช่วย Record และ Inspect element ที่เกิดขึ้นบน mobile device โดยการ Inspect นั้นก็สามารถจิ้มเอาได้เลย ไม่ต้องสนใจว่าฝั่ง developer เค้าเขียนอะไรกันมา         ก่อนจะไปดูกันต่อ ต้องมั่นใจว่า Appium ถูกติดตั้งครบถ้วน ใครที่เข้ามาอ่านโพสนี้โดยที่ยังไม่ได้ลง ต้องไปอ่านบทความนี้ก่อนครับ >>  ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ การใช้งาน  Appium Inspector ดาวน์โหลด ที่นี่ เปิดแอปฯ          เราจะพบกับหน้าจอดังนี้ เราต้องตั้งค่าเพื่อชี้ไปยัง device ที่เราจะทำการ inspect         สำหรับ Android ให้ใส่ดังนี้ { "platformName": "Android", "appium:platformVersion": "12", "appium:automationName": "uiautomator2" }         สำหรับ iOS ให้ใส่ดังนี้ { "platformName": "iOS", "automationName": "XCUITest", "deviceName": "iPhone 14 Pro" }         เนื่องจาก Appium Inspector จะทำงานผ่าน Appium เราจำเป็นจะต้อง start ทิ้

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

Image
        Multimedia บนรถยนต์ นอกจากวิทยุหรือบลูทูธที่เชื่อมต่อกับ smartphone แล้ว ยุคนี้ก็มี Android Auto และ Apple Carplay ที่เป็น official software จาก Google และ Apple เอง ค่ายรถหลาย ๆ ค่าย รองรับมาตั้งแต่โรงงาน รวมถึงมีมาตรฐานความปลอดภัยเมื่อใช้ระหว่างขับขี่รถยนต์ด้วย ทำความรู้จัก  Android Auto  และ  Apple Carplay  กันก่อน         ทั้งคู่เป็นการเชื่อมต่อมือถือของเราเข้ากับจอของรถยนต์ โดยปกติจอจะรองรับด้วยกันทั้งคู่ไม่ต้องซื้อแยก เพียงแต่ต้องเช็คมือถือของเราให้พร้อมด้วย Apple Carplay เป็นฟีเจอร์ที่ติดมากับมือถือ iOS **iPadOS ใช้ไม่ได้นะจ๊ะ Android Auto เป็นฟีเจอร์ที่ติดมากับมือถือ Android         ความสะดวกสบายหลักๆ คือใช้งานแผนที่ (Google Maps) โดยไม่ต้องซื้อตัวดูดกระจกให้เกะกะ เปิดเพลงบนแอปฯ โปรดโดยไม่ต้องหยิบมือถือขึ้นมา แถมยังได้ความต่อเนื่องจากแอปฯ มือถือที่เราใช้อยู่แล้ว Android Auto Apple Carplay รูปแบบการใช้งานที่เหมือนกันของ Android Auto และ Apple Carplay ทุกอย่างถูกรันบนมือถือ Android หรือ iOS ของเรา โดยหน้าจอขอรถเป็นเพียงการควบคุมสั่งงานเท่านั้น  Internet ก็ใช้จากมือถือ 

ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ

Image
        Automated Test คือ การทดสอบเล่นแอปฯ​ โดยอัตโนมัติ ซึ่งมีส่วนช่วยอย่างมากกับ flow ต่างๆ ที่ Tester ต้องเล่นเองซ้ำๆ (Manual Test) โดยเฉพาะ Application ปัจจุบันมักถูกออกแบบเป็น step-by-step ยิ่งการทดสอบซ้ำซากเป้นเรื่องน่าเบื่อ         บางคนอาจจะสามารถเล่น flow เดิมๆ ซ้ำๆ หลายรอบได้โดยไม่รู้สึกแปลกอะไร แต่จะดีกว่าไหมถ้ามีตัวช่วยให้ไม่ต้องเล่นเอง นอกจากจะลดข้อผิดพลาดจากมนุษย์ (human error) แล้ว ยังทำให้การเล่น flow เดิมมันเป็นแบบเดิมจริงๆ อย่างปฏิเสธไม่ได้          Robot Framework เป็นภาษาโปรแกรมภาษาหนึ่ง ที่ออกแบบมาให้อ่านเข้าใจง่าย มีความ Tester friendly สูง มีเครื่องไม้เครื่องมือ (Library) ในสำหรับการทดสอบที่แตกต่างกัน เช่น api test, ui test หรือแม้กระทั่ง recorder เจ้าดังอย่าง Selenium ที่ใช้สำหรับบันทึกการเล่นเว็บเป็น robot framework script ได้         Mobile มีการเขียนโค้ดแบบ native framework และ cross-platform framework เช่นเดียวการเขียน Test บน native Android ใช้ Espresso ส่วน iOS ใช้ XCUITest ซึ่งคนที่คุ้นเคยที่สุดคงเป็น Developer มากกว่า Tester แน่นอน 

Git clone บน SSH ทำยังไง ดีกว่า HTTPS ไหม ?

Image
        Programmer หลายคนที่ใช้ Git เป็น version control คงจะคุ้นเคยกับการ clone source code จาก repository ไม่ว่าจะเป็น GitHub หรือ Gitlab หรือเจ้าอื่นๆ ก็มีวิธีเดียวกันคือ ใช้ URL ประมาณนี้ https://github.com/lordgift/test-project.git  % git clone https://github.com/lordgift/test-project.git         การ clone แบบนี้คือ ช่องทาง HTTPS ซึ่งไม่ว่าจะใช้ cli หรือ tool อื่น ก็จะต้องการให้เรา authentication ก่อนในครั้งแรกเสมอ เช่น การกรอก username, password หรือการใช้ single sign-on จากผู้ให้บริการต่างๆ 👇🏻👇🏻👇🏻👇🏻👇🏻         เมื่อยุคสมัยเปลี่ยนไปเรื่องความปลอดภัย (Security) ก็มีความสำคัญมากขึ้น การใช้งานเพียง username, password ดูมีความเสี่ยงมากขึ้น คอนเซป 2 factors authentication (2FA) ก็เข้ามา ทำให้การแค่ clone ก็ดูยุ่งยากเพิ่มขึ้นมาอีก          การ clone ผ่าน SSH           คือท่าที่ผู้ให้บริการ git repository ต่างๆ เพิ่มความสะดวกให้เหล่า Programmer มากยิ่งขึ้น เพียงแต่ขั้นตอนของ  "ครั้งแรก" ของ SSH ก็ดุยุ่งยากหน่อยๆ แต่ก็ทำเพียงครั้งเดียว GitHub : clone via SSH        

[iOS] PHPickerViewController เครื่องมือสำหรับหยิบรูปจาก Photo Library ของใหม่บน iOS 14+

Image
         PHPickerViewController  เป็น class สำหรับเรียกใช้งาน Photo Library ซึ่งมีความสามารถเพิ่มเติมจาก UIImagePickerController ที่เป็นของเดิมที่น่าจะคุ้นเคยกันอยู่แล้ว สิ่งที่เหนือกว่าของ  PHPickerViewController รองรับการเลือกหลายไฟล์ (Muli-selection) รองรับ livePhoto  เป็นการทำงานแบบ async ไม่มีการขอ permission  การใช้งานก็ไม่ได้ยุ่งยากมากมายไปกว่ากันซะเท่าไร import PhotosUI ตั้งค่าและเรียกใช้งาน  PHPickerViewController var configuration = PHPickerConfiguration() configuration.filter = .any(of: [.images, .livePhotos, .videos]) configuration.selectionLimit = 2 let picker = PHPickerViewController(configuration: configuration) picker.delegate = self self.present(picker, animated: true)         และแน่นอนว่า การ handle response จำเป็นจะต้องใช้ delegate ตัวใหม่ เราจะต้อง implement protocol  PHPickerViewControllerDelegate ตัวใหม่ด้วย func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { for result in r

Facebook Comment

Recent Posts

Popular post of 7 days

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

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

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

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

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

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

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

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

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

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

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

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)