ข้ามไปที่เนื้อหาหลัก

ทำความรู้จักกับ Rabbit Connect

 

สวัสดีเหล่านักอ่านไม่ว่าจะเป็นสายไหน จะเป็น dev หรือ คนทั่วไป ผมเชื่อว่าหลายคน อาจจะไม่เคยได้ยิน หรือไม่รู้จัก Rabbit Connect มาก่อน แต่ถ้าพูดถึง Rabbit RewardsRabbit Line PayMy Rabbit หรือ Rabbit Selection หลายๆ คนน่าจะรู้จักหรือเคยผ่านตามาบ้าง

Rabbit LINE Pay

ภาพแรกที่คนส่วนใหญ่นึกถึง Rabbit ก็คงเป็นบัตร Rabbit ลายสวยๆ สำหรับไว้ใช้โดยสารกับรถไฟฟ้า BTS รวมถึงการนำบัตรไป ซื้อ-จ่าย ตามร้านค้าต่างๆ แต่จริงๆ แล้ว Rabbit ยังมีบริการที่เกี่ยวข้องกับงาน Online ต่างๆ อยู่อีกมากมาย บางท่าน อาจจะรู้จัก Rabbit Rewards โปรแกรมสะสมคะแนนของทาง Rabbit ที่สามารถนำคะแนนไปแลกเที่ยวโดยสาร แลกดีล หรือส่วนลดสินค้าบริการต่างๆ

Rabbit Rewards
My Rabbit Application

บริการต่างๆ เหล่านี้ ถูกพัฒนา และดูแลโดยทีมพัฒนาที่สังกัดอยู่ในบริษัทต่างๆ ในเครือ Rabbit ดังนั้น เพื่อที่จะให้ตอบโจทย์ในแง่ของผู้ใช้บริการ คำถาม คือ แล้วบริการต่างๆ เหล่านี้ จะเชื่อมโยงกันยังไงเพื่อให้พวกเขาได้ประโยชน์และความสะดวกที่สุด ?

Rabbit member เป็นระบบสมาชิกกลางของเครือ Rabbit โดยข้อมูลในส่วนนี้ถูกนำไปใช้เชื่อมโยงบริการต่างๆ ในเครือ BTS Group ทุกวันที่เรานั่งรถไฟฟ้า ไปกลับ แล้วได้สะสมคะแนน ข้อมูลสมาชิกนี้ จะถูกนำไปใช้ดึงคะแนน จากระบบ Loyalty อีกที บริการทั้งหมด

Rabbit Selection

Rabbit Connect คืออะไร?

เป็นการต่อยอดของระบบสมาชิกที่มีอยู่ก่อนแล้ว ซึ่งแต่เดิมถูกพัฒนาด้วย concept Single Sign On เพิ่มเติมในส่วนของ OAuth เข้ามา และตามด้วย OpenID ที่ช่วยให้ profile ของลูกค้าถูกจัดเก็บในรูปแบบ decentralized ได้อีกด้วย

การอัพเดทข้อมูล ทำที่ไหนได้บ้าง?

การอัพเดทข้อมูลต่างๆ สามารถทำได้จากตัวแอพในเครือ หรือผ่านเว็บไซต์ id.rabbit.co.th

id.rabbit.co.th

ไช่แล้ว นี่ไง Rabbit Connect

พอมาถึงตรงนี้ หลายคนที่เคยใช้แอพ Rabbit Rewards หรือ My Rabbit ก็จะร้องอ๋อ เพิ่งจะรู้ว่า มันคือ บัญชีเดียวกัน “มิน่าล่ะ สมัครใช้งาน Rabbit Rewards แล้วบอกว่าเคยสมัครไปแล้ว”

ทำไมต้อง Rabbit Connect?

จริงๆ แล้ว ชื่อนี้เป็นเป็นชื่อแรก ที่พี่ Product ตั้งไว้ให้ตอนสมัยที่ยังไม่ได้นำ OAuth เข้ามาปรับใช้ เป็นความตั้งใจว่าอยากจะทำ Login with Rabbit เพื่อให้ง่ายต่อการนำไปต่อยอดในส่วนต่างๆ ของบริษัท หรือแม้แต่กระทั่งกับ พาร์ทเนอร์ด้วย ซึ่งจริงๆ แล้ว ชื่อนี้ก็เคยถูกนำมาใช้แล้ว เมื่อหลายปีก่อน แต่จะเป็นคนละ project

Rabbit Connect ชื่อเดิมที่ถูกใช้ในโปรเจ็คอื่น

ช่วงแรกๆ นั้น จะมีแค่ในส่วนของ API หลังบ้านเวลาทำพวก Authentication ให้กับลูกค้า ทีมอื่นๆ จะต้องทำหน้า Front-end เอง แล้วค่อยเรียก API มาซึ่งค่อนข้างที่จะไม่ปลอดภัย และในแง่ของการ Keep concept ของ Single Sign-On นั้นเป็นไปได้ยากอีกด้วย

บทส่งท้าย

สุดท้ายนี้ เป้าหมายของ Rabbit Connect คือการช่วยให้สมาชิก Rabbit เข้าถึงแอพพลิเคชันในเครือของ BTS Group ได้ง่าย และเร็ว และได้เข้าใจถึงเบื้องหลังของระบบ ไม่สับสน

ทีนี้หลายคนคงจะได้รู้แล้ว่า บัญชีของเพื่อนๆ ในวันนี้ คือ บัญชีเดียวกัน ที่สามารถใช้ได้ทั้งเครือ เพราะที่ผ่านมาลูกค้าหลายๆ คน อาจจะไม่รู้ และเกิดความสับสนมาโดยตลอด จากนี้ไปหวังว่าบทความนี้จะช่วยให้หลายๆ คนเข้าใจมากยิ่งขึ้น และทีม Rabbit Digital (Rabbit Group IT) เองก็จะพัฒนาต่อยอดระบบอื่นๆ ให้ดียิ่งขึ้น ขอบคุณทุกๆ คนที่สนับสนุนทีมตลอดมาครับ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเพิ่ม Font ภาษาไทยอื่นๆ เข้าไปใช้งานใน MPDF

เนื่องมาจากผมได้มีโอกาสจับงานที่ต้องแปลงหน้าเว็บให้เป็น PDF ลองๆ หาข้อมูลก็ไปเจอเจ้าตัวนี้ MPDF  ซึ่งจริงๆ แล้วก็มีให้ใช้งานอีกหลายๆ ตัว สาเหตุที่เลือกใช้งานตัวนี้เพราะมัน ค่อนข้างจะติดตั้ง และใช้งานง่าย และยังสามารถอ้างอิง CSS เข้ามาช่วยจัดหน้าตาใน PDF ได้อีกด้วย ซึ่งผลที่ได้เพี้ยนไปจากตัวจริงไม่มากครับ แต่ที่ทำให้เลือกใช้งานเพราะการเพิ่มฟ้อนท์ภาษาไทย เข้าไปนั้นค่อนข้างง่ายครับ เลยจะขอมาแนะนำดังนี้

การใช้งาน คำสั่ง file_exists() อย่างเข้าใจ

นี่อาจจะไม่เรื่องใหม่อะไรสำหรับ Professional ทั้งหลาย แต่ว่าสำหรับผมที่เข้าใจ และใช้งานอย่างผิดๆ มาตลอด จนบางทีก็เข้าใจว่า เราเขียนผิด หรือ คำสั่งมันใช้งานไม่ได้ วันนี้จะขอมาพูดถึงเรื่องของคำสั่ง PHP ที่ชื่อ file_exists เป็นคำสั่งที่ใช้สำหรับตรวจสอบไฟล์ว่ามีอยู่จริงหรือไม่? ตัวอย่างการใช้งานแบบผิดๆ ที่ผมใช้ก็คือ file_exists('/images/news/helloworld.jpg'); ผลลัพธ์ที่ได้คือ FALSE ถึงแม้ว้าจะมีไฟล์นั้นอยู่จริงก็ตาม ซึ่งในความเป็นจริงแล้ว การใช้งานที่ถูกต้องคือ file_exists($_SERVER['DOCUMENT_ROOT'] . '/images/news/helloworld.jpg'); จากตัวอย่างที่ถูกต้อง ทำให้เข้าใจแบบง่ายๆ ว่าคำสั่ง file_exists นั้นใช้สำหรับเช็ค path ในโฟลเดอร์จริงๆ เท่านั้น ไม่สามารถเช็คจาก URL ได้ อันนี้เป็นเรื่องง่ายๆ ที่ผมเข้าใจผิดมาอยู่นานเลยทีเดียวเลยต้องขอลงบันทึกเตือนตัวเองไว้อีกที :3

มาเข้าใจ และใช้ Datatable ดึงข้อมูลแบบ Server-side ด้วย PHP, MySQL กันเถอะ

มีช่วงหนึงผมเคยนำ datatable มาพัฒนาในงานแต่เกิดปัญหาเนื่องจากมีข้อมูลขนาดใหญ่ ทำให้เกิดการโหลดในครั้งแรกที่โหลดหน้าเพจนั้นๆ เนื่องจากผมใช้ Ajax ในการโหลดข้อมูลทั้งหมดมาในครั้งเดียวด้วยจำนวนข้อมูล 1000 ขึ้น ซึ่งตอนนั้นผมคิดว่าการทำ preload น่าจะช่วยได้ แต่ว่าถ้า user เกิดเผลอไปกด refesh หรือแก้ไขข้อมูลเวลากลับมาที่หน้าข้อมูลก็ต้องโหลดใหม่อีก ทำให้ผมเลิกใช้ datatable ไปเลย เพราะคิดว่ามันคงไม่เหมาะ แต่ในความจริงแล้ว datatable ก็ได้มีสิ่งที่มาแก้ในจุดนั้นได้ ซึ่งเรียกว่า server-side โดยการที่อนุญาตให้เรา query ข้อมูลออกมาก่อนแล้วส่งมาให้ datatable อ่านข้อมูลในจำนวนที่น้อยลง หลักการก็เหมือนๆ กับบทความการทำสร้าง XML จากข้อมูลขนาดใหญ่นั่นแหละครับ แต่มีเงื่อนไขเพียงแต่ว่า ต้อง Filter และส่งข้อมูลออกมาในรูปแบบที่ตรงตามหลักของ datatable เท่านั้น ( บางครั้งเวลาเข้าไปอ่าน Document หรือดู Example จะงงๆ ว่าอะไรเยอะแยะ ) โดยวันนี้จะมาแนะนำการใช้งานแบบง่ายๆ กันเลย :D