Skip to Content

Category Archives: Blog

Code Smell & Refactoring ตอนที่ 4

Code Smell & Refactoring ตอนที่ 3
จากครั้งที่แล้ว เรารู้จัก ประเภทของ Code Smells ไป 4 ประเภทแล้วนะครับ ในครั้งนี้เราจะมาเล่าเกี่ยวกับประเภทของ Code Smell ประเภทสุดท้ายกัน

5. Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers)

 

sqs-and-loose-coupling-17-638

หลักการพื่้นฐานในการออกแบบส่วนประกอบของซอฟแวร์ ศัพท์ที่จำเป็นต้องทราบมีสองตัวคือ  Coupling และ Cohesion
Cohesion คือ เป็นการบอกถึงความสอดคล้องกัน นั้นหมายความว่า ใน Class หนึ่่งคลา่ส Method ในคลาสนั้นๆควรจะต้องทำงานให้มีความสอดคล้องกัน การทำงานต่างๆที่ควรจะเป็นไปในทางเดียวกัน
Coupling คือ ระดับความเกี่ยวข้อง หรือ พึ่งพากันของ Object ต่างๆในระบบ  หากระบบใดมีความเกี่ยวข้องกันของ Object ที่สูงก็จะทำให้ระบบนั้นมีความอิสระนั้นต่ำ
สรุปอย่างตรงมาตรงไป การออกแบบส่วนประกอบของซอฟแวร์ที่ดี ต้อง Strong cohesion , loosely coupling นั้นก็คือ  พยายามเขียนโปแกรมให้สัมพันธ์สอดคล้องกันภายในคลาสให้มากที่สุด และพยายามลดความสัมพันธ์ระหว่าง class ให้น้อยที่สุด
Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers) ก็เช่นเดียวกัน  คือ ความเกี่ยวข้องกันของ Class ต่างๆในระบบมีความเกี่ยวข้องกันมากเกินไป อาจจะทำให้เวลาทำการย้าย หรือ แก้ไข ก็ทำได้ลำบาก และเมื่อทำการแก้ไขส่วนใดส่วนหนึ่งของระบบ ก็อาจจะไปกระทบกับส่วนอื่นๆ ที่เกี่ยวข้องครับ Class ไม่เป็นอิสระต่อกัน

 

Bad-code-smells

สรุปหัวข้อประเภทของ Code Smell 

สรุปหัวข้อประเภทของ Code Smell ที่จะพูดถึงรายละเอียดในครั้งหน้าครับ
1. Code Smell แบบบวมๆ(Bloaters)

  • Long Method
  • Large Class
  • Primitive Obsession
  • Long Parameter List
  • Data Clumps

2. Code Smell แบบใช้ OO แบบผิดๆ(Object-Orientation Abusers)

  • Switch Statements
  • Temporary Field
  • Refused Bequest
  • Alternative Classes with Different Interfaces

3. Code Smell แบบเด็ดดอกไม้สะเทือนถึงดวงดาว (Change Preventers)

  • Divergent Change
  • Shotgun Surgery
  • Parallel Inheritance Hierarchies

4. Code Smell แบบเอาไว้ก่อน (Dispensables)

  • Comments
  • Duplicate Code
  • Lazy Class
  • Data Class
  • Dead Code
  • Speculative Generality

5. Code Smell แบบน้ําพึ่งเรือเสือพึ่งป่า (Couplers)

  • Feature Envy
  • Inappropriate Intimacy
  • Message Chains
  • Middle Man
  • Incomplete Library Class

จบ เนื้อหา ประเภทของ Code Smell แล้วครับในครั้งหน้าเราจะลงรายละเอียดต่อไปครับ

 

Stream Magento ทีม Code คุณภาพ

Sources

  • Refactoring: Improving the Design of Existing Code – Martin Fowler
  • Mäntylä, M. V. and Lassenius, C. “Subjective Evaluation of Software Evolvability Using Code Smells: An Empirical Study”. Journal of Empirical Software Engineering, vol. 11, no. 3, 2006, pp. 395-431.
0 1 Continue Reading →

มูลค่ายอดขาย E-Commerce ในประเทศไทย – ภาคธุรกิจอาหาร,เครื่องสำอาง,ยาและเวชภัณฑ์

ในบทความนี้เราจะเจาะมูลค่ายอดขายของภาคธุรกิจอาหารและเครื่องดื่ม,เครื่องสำอาง ยาและเวชภัณฑ์จะแบ่งออกเป็น 2 ส่วน ได้แก่

1.อาหารและเครื่องดื่ม (ไม่รวมอาหารสำหรับเด็กทารก)  ในกลุ่มนี้เราจะเห็นว่ามีการแข่งขันกันหลายเจ้าในบ้านเรา ไม่ว่าจะเป็น KFC, Pizza, MK, BURGER KING เป็นต้น

2.เครื่องสำอาง ยาและเวชภัณฑ์ ซึ่งในกลุ่มนี้มีผู้เล่นหลายเจ้า เช่น Watson, Boot  เป็นต้น

เรามาดูว่ายอดขายประมาณการณ์ของภาคธุรกิจนี้ตั้งแต่ปี 2014-2020 เป็นอย่างไรR1

*ข้อมูลมูลค่ายอดขายนี้เป็นตัวเลขประมาณการณ์โดยสำรวจจากการซื้อขายสินค้าที่จับต้องได้(physical goods)และมีลักษณะ B2C ที่มีการซื้อขายผ่าน คอมพิวเตอร์ และ Mobile Devices

จากรูปด้านบน ภาพรวมมูลค่ายอดขายสินค้าผ่าน E-Commerce ในประเทศไทยของภาคธุรกิจนี้มีแนวโน้มเพิ่มขึ้นอย่างต่อเนื่อง ในปี 2014 มีมูลค่าสูงถึง 124 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 4,340 ล้านบาท และในปี 2015 ที่ผ่านมา 5,530 ล้านบาท มูลค่าเพิ่มขึ้นถึง 27.4%  ในปี 2016 คาดการณ์ว่าเพิ่มขึ้น 58% จากปี 2014 และเพิ่มขึ้นอย่างต่อเนื่องไปจนถึงปี 2020 ซึ่งคิดเป็นมูลค่า 395 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 13,825 ล้านบาท ถึงแม้ว่าภาคธุรกิจนี้ยอดขายจะไม่สูงเท่าธุรกิจอื่น แต่มีอัตราการเพิ่มขึ้นของยอดขายเพิ่มขึ้นประมาณ 20% ทุกปี

อัตราการเติบโตยอดขายภาคธุรกิจอาหารและเครื่องดื่ม,เครื่องสำอาง ยาและเวชภัณฑ์(คิดเป็น%)

R2

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2015 – 2020 สินค้าจำพวกอาหารและเครื่องดื่มตกลงจากปี 2015 ประมาณ 22.1% และแผ่วลงเล็กน้อยในปีต่อๆไป และมีอัตราการโตโดยเฉลี่ย 20% ทุกปี

ส่วนสินค้าพวก เครื่องสำอาง ยาและเวชภัณฑ์จากปี 2015 เพิ่มขึ้นเล็กน้อยประมาณ 4% และตกลงเรื่อยๆ แต่ยังคงเป็นบวก

จำนวน User ที่ซื้อสินค้าต่อปี

U1

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2014 – 2020 จำนวน user ที่ซื้อสินค้าทั้ง อาหาร เครื่องดื่ม เครื่องสำอาง ยาและเวชภัณฑ์เพิ่มขึ้นอย่างต่อเนื่องที่น่าสนใจคือ สินค้าพวก อาหารและเครื่องดื่ม มีจำนวน User เพิ่มขึ้น 2 เท่าจากปี 2014 ถึง 2020 เป็นไปได้ว่าลูกค้ามีความนิยมที่จะซื้ออาหารหรือเครื่องดื่มผ่านทางออนไลน์แทนที่จะไปซื้อถึงที่ร้าน

ค่าใช้จ่ายเฉลี่ยต่อ User ในการซื้อสินค้าต่อปี (Average revenue per user)

A1

กราฟก่อนหน้าแสดงให้เห็นว่ามีจำนวน User ต่อปีที่เท่าไรที่ซื้อสินค้า คราวนี้มาดูว่าแต่ละ User มีการใช้จ่ายเท่าไรบ้าง

จากกราฟด้านบนตั้งแต่ปี 2014-2020 ค่าใช้จ่ายเฉลี่ยต่อ User ที่ซื้อสินค้าอาหารและเครื่องดื่มเพิ่มขึ้นเรื่อยๆจากปี 2014 จนถึงปี 2020 เพิ่มขึ้นมา 2 เท่าตัว ส่วนสินค้าเครื่องสำอาง ยาและเวชภัณฑ์มีการใช้จ่ายเพิ่มขึ้นเล็กน้อยในแต่ละปี

อัตราการเติบโตของภาคสินค้าอาหารและเครื่องดื่ม เครื่องสำอาง ยาและเวชภัณฑ์ส่งผลให้มูลค่ายอดขายเพิ่มมากขึ้นอย่างต่อเนื่อง สาเหตุหลักๆ มาจากอัตราการเข้าถึงของผู้ใช้ Internet ในประเทศเพิ่มมากขึ้นและอุปกรณ์ IT ต่างๆ มีราคาลดลงและคนรุ่นใหม่ยุค Gen Y,Z ที่เติบโตมาพร้อมกับเทคโนโลยีสมัยใหม่จะเป็นกลุ่มลูกค้าที่มีกำลังซื้อและมีศักยภาพในการผลักดัน E-Commerce ในอนาคต

Picture Credit: www.statista.com/

_______________________________________________________________________

ไปต่อกับบทความ ยอดขาย  E-Commerce ในประเทศไทยแยกตามภาคธุรกิจ

_______________________________________________________________________

จากข้อมูลทั้งหมด ทาง Stream IT Consulting มี Solution ที่ตอบโจทย์ E-Commerce ทุกภาคธุรกิจ ได้อย่างครบถ้วน อย่างแน่นอน

banner

สนใจที่จะใช้บริการ สามารถติดต่อได้ที่ฝ่ายขายของเรา marketing@stream.co.th เราเป็น Magento Partner หนึ่งเดียวในประเทศไทย

เขียนและเรียบเรียงโดย Kittiphat Dumrongprat

Business Analyst

0 0 Continue Reading →

ช่องทางการชำระเงินออนไลน์ระดับ B2B

ในบทความนี้เราจะมาดูว่าระดับลูกค้า B2B เลือกการชำระเงินออนไลน์แบบไหนมากกว่ากัน

b2bPayment

Source: Forrester Consulting, on behalf of Accenture and hybris Software

อันดับหนึ่ง 50%  นิยมการชำระเงินแบบ credit หรือ debit ซึ่งเป็นช่องทางที่สะดวกและมีความปลอดภัยระดับสูง น่าเชื่อถือ สามารถแบ่งจ่ายเป็นงวดๆได้ ได้คะแนนสะสมในการชำระเงิน จึงไม่น่าแปลกที่ลูกค้าระดับ ฺB2B จะเลือกช่องทางนี้มาเป็นอันดับหนึ่ง

อันดับสอง 28% ยังคงเป็นลักษณะ traditional โดยการส่งคำสั่งซื้อ(PO)และใบแจ้งหนี้ ต่อไปลักษณะแบบนี้จะเริ่มถดถอยลงไปและเปลี่ยนไปใช้แบบเอกสาร digital โดยมีการใช้ digital signature มาแทน

อันดับสาม 19% ชำระผ่านผู้ให้บริการการชำระเงิน ซึ่งกำลังเป็นที่นิยมในปัจจุบันเนื่องจากมีหลากหลายช่องทางให้ชำระเงิน โดยผู้ให้บริการจะเก็บค่าธรรมเนียมในอัตราต่างๆ ของแต่ละช่องทาง ในต่างประเทศผู้ให้บริการที่เป็นที่นิยม คงนี้ไม่พ้น PayPal, Google Wallet, 2CheckOut ส่วนในประเทศไทยก็มีผู้ให้บริการมากมาย เช่น paysbuy,line pay,pay@all,omise,123 payment service เป็นต้น

อันดับสี่  3% จัดซื้อผ่านออนไลน์ โดยนำขบวนการจัดซื้อทั้งหมดตั้งแต่มี RFQ (request for quotation) ออกใบ PO การชำระเงิน จนไปถึงออก invoice ทุกขบวนการอยู่บนออนไลน์ทั้งสิ้น ซึ่งลักษณะแบบนี้กำลังเป็นที่นิยมในปัจจุบัน ผู้ขายทำแค่ catalog สินค้าวางลงบน marketplace ระบบจะทำการประมวลผลและส่งข้อมูลสินค้าไปยังผู้ซื้อและเริ่มดำเนินการจัดซื้อกัน เป็นความสะดวกและน่าเชื่อถือ โมเดลนี้ Alibaba ได้นำมาใช้และสามารถเพิ่มยอดขายให้กับทางผู้ขายได้จำนวนมหาศาลเลยทีเดียว

“From concept to Commerce

   “Can it really happen in less than 120 days ?”

        Cost-Effectively And Better Online store are made with Our Stream Solution.

banner

สนใจที่จะใช้บริการ สามารถติดต่อได้ที่ฝ่ายขายของเรา marketing@stream.co.th เราเป็น Magento Partner หนึ่งเดียวในประเทศไทย

เขียนและเรียบเรียงโดย Kittiphat Dumrongprat

Business Analyst

 

0 0 Continue Reading →

Code Smell & Refactoring ตอนที่ 3

Code Smell & Refactoring ตอนที่ 3
จากครั้งที่แล้ว เรารู้จัก ประเภทของ Code Smell ไป 2 ประเภทแล้วนะครับ ในครั้งนี้เราจะมาเล่าเกี่ยวกับประเภทของ Code Smell ที่เหลือกัน

3. Code Smell แบบเด็ดดอกไม้สะเทือนถึงดวงดาว (Change Preventers)

Dewy_spider_web

หลายท่านคงเคยได้ยินคำว่า Butterfly Effect ซึ่งคำนี้มันคือส่วนหนึ่งของทฤษฎีความยุ่งเหยิง (chaos theory) ถูกเสนอโดย ศาสตราจารย์เอ็ดเวิร์ด ลอเรนซ์ ได้เคยตั้งคำถามว่า   การกระพือปีกของผีเสื้อในประเทศบราซิลก่อให้เกิดพายุทอร์นาโดในรัฐเท็กซัสได้หรือไม่? อันเป็นที่มาของแนวคิดที่โด่งดังไปทั่วโลกในนาม “ปรากฏการณ์ผีเสื้อขยับปีก”(Butterfly Effect) แต่คนไทยจะคุ้นเคยกับสำนวนของ พอล ดิแรก นักฟิสิกส์รางวัลโนเบลว่า เด็ดดอกไม้สะเทือนถึงดวงดาว นั่นแหละครับ ซึ่งมีความหมายเดียวกัน แต่แนวคิดเช่นนี้ไม่ใช่เพิ่งถูกคิดแค่ในปัจจุบัน ในอดีตสำนักปรัชญาในอินเดียโบราณเสนอ ตาข่ายของพระอินทร์(Indra’s net) กล่าวถึงตาข่ายของพระอินทร์  ซึ่งถักไว้ด้วยแก้วมณีต่างๆ แต่ละเมล็ดสะท้อนให้เห็นแสงของกันและกันโยงใยเป็นปัจจัยต่อกัน  โดยตาข่ายของพระอินทร์นี้ใช้ ใยแมงมุงที่ถูกน้ำค้างในตอนเช้าเป็นสัญลักษณ์

จากทั้งหมดทั้งมวลสรุปได้ว่า การเปลี่ยนเล็กน้อยของระบบที่เชื่อมโยงกันเป็นทอดๆ อาจส่งผลกระทบขนาดใหญ่ของระบบได้ Code Smell เหล่านี้ก็เช่นกัน ซึ่งมีลักษณะคือ หากคุณต้องการที่จะแก้ไขเปลี่ยนแปลง Code ณ ที่ใดที่หนึ่ง Code ในส่วนอื่นๆจะได้รับผลกระทบด้วย ดังนั้นคุณจำเป็นต้องแก้ไข Code ในที่อื่น ๆ ด้วย การพัฒนาโปรแกรมจึงกลายเป็นความซับซ้อนมากขึ้น งานมากขึ้น ใช้เวลามากขึ้น และมีราคาแพง

4. Code Smell แบบเอาไว้ก่อน (Dispensables)

108014530

สมมุติ มีบริษัทแห่งหนึ่ง มีพนักงาน 3 คน พนักงานคนแรกไม่มาทำงานตลอด อีกคนหนึ่งตายไปแล้ว เหลือพนักงานทำงานอยู่คนเดียว แต่คุณก็ยังจ่ายเงินเดือนให้พนักงานทั้งสามคนเหมือนเดิม ถ้าคุณเป็นนายจ้าง คุณควรจัดการอย่างไรดีครับ ย้อนกลับมาที่ พนักงานคนที่ทำงานเพียงคนเดียวของคุณ ลักษณะการทำงานของพนักงานคนนี้ คือทุกวันๆเค้าต้องมาฟังวิธีการทำงานกับนายจ้างทุกวัน วันละหลายชั่วโมงก่อนทำงานจริง เวลาทำงานเค้าต้องใช้เอกสารต่างๆที่เก็บไว้รวมกับกองหนังสือการ์ตูน เอกสารงานนั้นก็มักพิมพ์มามากกว่าหนึ่งฉบับ ถ้าคุณเป็นนายจ้าง คุณควรจัดการกับวิธีการทำงานของพนักงานคนนี้อย่างไรดีครับ
เรื่องดังกล่าวก็เพียงจะอุปมาให้เข้าใจ Code Smell แบบเอาไว้ก่อนไม่เป็นไร (Dispensables) มันก็คือลักษณะ Code ที่มีสิ่งที่ไม่จำเป็นหรือ เขียนมาโดยไม่มีจุดหมาย หรือเพื่อทดลองอะไรบางอย่าง หรือไม่ได้ใช้แล้ว เมื่อใช้งานจริงไม่ได้ถูกเรียกใช้งาน และไม่ได้มีการลบทิ้งหรือ Code มีลักษณะซ้ำช้อนกันมาก หรือมี Comment จำนวนมากเกินความจำเป็น Code ในลักษณะนี้อาจจะไม่ได้สร้างปัญหาให้ในกระบวนการอื่น แต่ในการทำงาน เราอาจจะต้องเสียเวลากับมันมากโดยไม่ได้ประโยชน์อะไร ดังนั้น เราควรหมั่นทำความสะอาดโปรแกรม มีประสิทธิภาพมากขึ้นและง่ายต่อการเข้าใจ

จบเนื้อหาครั้งนี้ไว้เท่านี้ก่อนครับ    ในครั้งต่อไปเราจะมาพูดถึงประเภทของ Code Smell ประเภทสุดท้าย สรุป Code Smell แต่ละประเภท เพื่อเกริ่นนำก่อนจะลงรายละเอียดต่อไปครับ ว่ามีอะไรบ้างครับ

Stream Magento ทีม Code คุณภาพ

Sources

  • Refactoring: Improving the Design of Existing Code – Martin Fowler
  • Mäntylä, M. V. and Lassenius, C. “Subjective Evaluation of Software Evolvability Using Code Smells: An Empirical Study”. Journal of Empirical Software Engineering, vol. 11, no. 3, 2006, pp. 395-431.
0 1 Continue Reading →

การทดสอบ ionic framework ผ่านทาง application ionic view ทั้ง android และ ios


Ionic View คืออะไร ?

ตัวช่วยที่ทำให้การ test งานของเราให้ง่ายขึ้นผ่านหลาย device เพียงแค่ download app ionic view มาทั้ง ios และ android

วิธีการใช้งาน Ionic View

หลังจาก เราติดตั้ง ionic app แล้วไม่ว่าจะเป็น android หรือ ios  ให้กดปุ่ม sign up ในกรณีที่ยังไม่มี account ถ้ามี account อยู่แล้วก็สามารถเข้าได้เลย
ionic1                                          ionic2                                       signup-page

ถ้าล๊อกอินเข้ามาเเล้วยังไม่ได้อัพโหลดอะไรขึ้นไป หน้าจอจะเเสดงผลเเบบนี้ขึ้นมา

empty-state-page

เราจะทำยังไงถึงอัพโหลดงานที่เราสร้างไว้เข้ามา Test ในแอพได้ล่ะ ?

1. เข้าไปที่ไฟล์โปรเจค ionic framework ของเราที่ต้องการจะอัพโหลด

2. เปิด cmd ขึ้นมาตาม path ที่ไฟล์เราเก็บไว้

3. เสร็จเเล้ว run ionic login

4. กรอก E-mail password ที่ใช้เข้าใน ionic view

5. Run ionic upload

6. ไฟล์เราก็จะเข้าไปใน ionic view app เราสามารถดูได้เลยผ่าน app ใน device

ionic3

apps-list-page

หลังจากที่ผู้เขียนได้ลองใช้ ionic view แล้วคิดว่าเป็นโปรแกรม test  hybrid app ที่ดีเลยทีเดียว เพราะมันสามารถดูแอพได้ก่อน build app จริง เพียงเเค่คลิ๊กแอพที่เราอยากดูขึ้นมา แล้วกด view app เท่านั้น สำหรับ ios แต่สำหรับ android วิธีการดูต่างกันนิดเดียวคือ กดแอพที่อยากดูขึ้นมาเสร็จแล้วกด download และกด view app เพียงแค่นี้เราก็สามารถดูแอพที่เราสร้างมาได้เเล้ว

Reference: http://docs.ionic.io/docs/view-usage

Kanyarat Povorasin

 

0 3 Continue Reading →

มาทำความรู้จักกับ Google Analytics (ตอนที่ 1 Register & Install)

Hero-Circle_74579c96-7aa5-41b1-8742-99148b31f745_2048x2048

 

หากพูดถึงบริการของ Google  ซึ่งมีอยู่มากมายครับ มีทั้งฟรีและเสียตังค์  สำหรับเนื้อหาในบทนี้จะขอพูดเกี่ยวกับบริการของ Google ที่ชื่อว่า  Google Analytics  สำหรับคนที่พัฒนาเว็บไซต์จะรู้จักบริการตัวนี้เป็นอย่างดี  เพราะว่ามันเป็นเครื่องมือที่ใช้ในการเก็บข้อมูลและวิเคราะห์ข้อมูลแบบละเอียดได้เป็นอย่างดี เกี่ยวกับการเข้ามาใช้งานเว็บไซต์ของเรา ทำให้เราสามารถติดตามผู้ใช้งานได้ง่ายขึ้น


เราจะใช้งานบริการ Google analytics ได้อย่างไร ?

ก่อนอื่นต้องมี Email Account ของ Gmail กันก่อนครับ  หากใครยังไม่มีก็รีบๆ สมัครกันก่อนนะครับ  จากนั้นไปที่เว็บไซต์นี้ได้เลยครับ  คลิกเพื่อไปยัง Google analytics  หลังจากที่เรา Sign in เข้าสู่ระบบและมี Account เป็นของตัวเองแล้ว  เราจะมีขั้นตอนที่จะต้องปฏิบัติตามอยู่ 3 ขั้นตอนดังนี้ครับ


เริ่มสมัครใช้งาน Google Analytics

การสมัครบัญชีผู้ใช้งาน จะสามารถติดตามได้ 2 แบบได้แก่  เว็บไซต์  และ แอพบนอุปกรณ์เคลื่อนที่  โดยการกรอกรายละเอียดจะแตกต่างกันออกไป

  • เว็บไซต์  ผู้สมัครจะต้องกรอกรายละเอียดดังนี้
    • ชื่อบัญชีผู้ใช้งาน ให้ใส่เป็นชื่อองค์กรของคุณครับ
    • ชื่อเว็บไซต์
    • เลือกหมวดหมู่ของเว็บไซต์
    • URL ของเว็บไซต์ โดยมีให้เลือกทั้ง http, https
    • เขตเวลาการรายงาน ผมเลือกเป็น ไทย : (GMT+07:00) กรุงเทพ
    • การตั้งค่าการเปิดเผยข้อมูล  ตรงนี้ระบบจะเลือกไว้ให้อยู่แล้วครับ หากผู้ใช้งานไม่ต้องการบริการเพิ่มเติมก็สามารถเลือกออกก็ได้ครับ
    • จากนั้นกดปุ่ม รับรหัสการติดตามครับ โดย Google จะให้เราอ่านเงื่อนไขให้การใช้บริการที่มีบอกไว้อย่างละเอียดครับ เมื่ออ่านครบแล้วก็กดยินยอมเงื่อนไขไปครับ ประมาณ 16 เงื่อนไขแล้วระบบจะเข้าสู่เพจ  ผู้ดูแลระบบเพื่อตั้งค่าต่อไป

 

ติดตั้ง โค๊ดติดตาม อย่างถูกวิธีให้กับแอพิเคชั่นของคุณ

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

  • JavaScript :  อันนี้จะเป็น script ที่เราสามารถ copy ไปติดตั้งที่ เพจของแอพิเคชั่นหรือเว็บไซต์ได้เลยครับ

บริการอื่นๆ ที่ Google เตรียมไว้ให้ และสามารถลิงค์เข้ามาใช้งานได้เลย !
  • Google AdWords
      • AdSense ช่วยคุณสร้างรายได้ด้วยการแสดงโฆษณาที่เกี่ยวข้องกับผู้ชมของคุณบนเว็บไซต์ของคุณเอง เชื่อมโยงความสัมพันธ์เมตริกหลักๆ ของ AdSense อย่าง eCPM กับการแสดงหน่วย โดยใช้ข้อมูลเพิ่มเติมจาก Analytics

     

  • Google AdSense
      • AdWords คือโปรแกรมโฆษณาออนไลน์ที่ช่วยให้คุณเข้าถึงลูกค้าและทำให้ธุรกิจเติบโตขึ้น ปรับปรุงแคมเปญโฆษณาของคุณและวิเคราะห์การเดินทางของลูกค้าตลอดทั้งเส้นทาง ตั้งแต่การคลิกโฆษณาไปจนถึงการทำ Conversion

     

  • Google Ad Exchange
      • Ad Exchange ช่วยคุณสร้างรายได้ด้วยการแสดงโฆษณาที่เกี่ยวข้องกับผู้ชมบนเว็บไซต์ของคุณเอง เชื่อมโยงเมตริก Ad Exchange ที่สำคัญ เช่น eCPM และการแสดงผลหน่วย กับข้อมูลเพิ่มเติมจาก Analytics

     

  • BitQuery
    • Google BigQuery เป็นเครื่องมือจาก Google Developers ที่ทำให้สามารถทำการสืบค้นในชุดข้อมูลขนาดใหญ่ได้อย่างรวดเร็วเป็นพิเศษ คุณสามารถส่งออกข้อมูล Session และ Hit จากบัญชี Google Analytics Premium ไปยัง Google BigQuery เพื่อที่จะเรียกใช้การสืบค้นในข้อมูล Analytics ทั้งหมดของคุณได้

     

  • Search Console
      • Search Console สามารถช่วยให้คุณเข้าใจว่าผู้ใช้พบเว็บไซต์ของคุณผ่านการค้นหาของ Google ได้อย่างไร ค้นหาวิธีที่จะดึงดูดความสนใจมายังเว็บไซต์มากขึ้นและจัดลำดับความสำคัญของ งานพัฒนาซอฟต์แวร์

     

    สำหรับตอนที่ 1 เราได้เรียนรู้การสมัครและการติดตั้งโค๊ดติดตามให้กับเว็บไซต์ไปแล้วครับ ทีนี้ Google Analytics ก็เข้าไปเก็บข้อมูลการเข้าใช้งานของ User ได้แล้วครับ เมื่อ User เข้าไปใช้งานเว็บไซต์เราและเปิดไปแต่หน้าเพจ  Script ที่ถูกติดตั้งไว้แต่ละหน้าก็จะส่งข้อมูลมาเก็บไว้ที่ Google Analytics ครับ  และ Admin สามารถมาดูรายงานนั้นได้ภายหลังซึ่งได้เลยว่าละเอียดมาก แต่ต้องตามไปอ่านในบทความตอนที่ 2 นะครับ สำหรับวันนี้พอแค่นี้ก่อนครับ  ขอบคุณมากนะครับสำหรับการเข้ามาอ่าน 🙂

 

 

0 1 Continue Reading →

เขียน Script ใน Robot framework อย่างไร?
เมื่อใน 1 case มีมากกว่า 1 Scenario

หลังจากที่เราสามารถ ถอด Test Script ให้เป็น Robot Script และรัน Automate Test เป็นผลสำเร็จ เย้!!! \^O^/

แล้ว….ถ้าเกิดกรณีใน Test case มันดันมี Test scenario มากกว่า 1 Scenario ล่ะ เราจะเขียน Script ใน Robot framework อย่างไร?

 

ตัวอย่าง Test case ที่มี มากกว่า 1 Scenario

Case 2 : ลงชื่อเข้าสู่ระบบ Facebook  ถ้าระบุ Email Address หรือ Password ไม่ถูกต้อง ระบบจะแสดงข้อความแจ้งเตือนเพื่อให้ระบุค่าให้ถูกต้อง

31

 

Process การทำงานของแต่ละ Scenario ใน Test case จะมีลักษณะดังนี้

32

 

ทีนี้มาเริ่มเขียน Script กันเลย

33

 

คำอธิบาย :

**ใน Part นี้ขออธิบายตามโครงสร้างแต่ละส่วนละกันนะจ๊ะ

  1. Settings

ใน Part นี้นอกจากเราจะเอาไว้เรียก Library แล้ว ยังมีคีย์เวิร์ดเพิ่มขึ้นมา 2 ตัวนั่นคือ Test Setup และ Test Teardown

Test Setup กับ Test Teardown จะเหมือนเป็นการ Start – End process  เอาไว้ใช้ในกรณีที่ใน Test case มีหลาย ๆ Test Scenario แล้วในแต่ละ Scenario ต้องใช้คีย์เวิร์ดเหมือน ๆ กัน เช่นในกรณีนี้คือ แต่ละ Scenario ต้องทำการเปิดเว็บไซต์ขึ้นมาเพื่อกระทำ และ ปิดเว็บไซต์ทุกครั้ง ดังนั้น เราจึงนำ Test Setup และ Test Teardown มาใช้เพื่อจะได้ไม่ต้องพิมพ์คีย์เวิร์ด Open Browser และ Close Browser หลาย ๆ ครั้งให้ยืดยาว เปลืองเนื้อที่

นอกจากนี้ยังมี Test Template , Suite Setup , Suite Teardown ซึ่งเป็น Keyword ที่ทำงานในลักษณะคล้าย ๆ กัน ไว้จะมาอธิบายคราวหลังเนอะ

  1. Keywords

ตามตัวอย่างมีการสร้าง Keyword ขึ้นมา 2 ตัว คือ

Open facebook สร้างไว้สำหรับเรียกใช้ใน Test Setup เนื่องจาก เราไม่สามารถที่จะเอา Keyword ที่มี Argument ไปใส่โดด ๆ ตรงนั้น เราจึงจำเป็นต้องสร้าง Keyword ขึ้นมาก่อน

Log in   ปกติสคริปต์ที่เราเขียนเมื่อจะ Log in เข้าสู่ระบบของ facebook จะเป็นดังนี้

 34

ต้องพิมพ์ถึง 3 บรรทัดเลยทีเดียว ในกรณีที่ใน Test case มีหลาย Scenario เราต้องพิมพ์คีย์เวิร์ดชุดนี้ซ้ำ ๆ ดังนั้นจึงนำมาสร้างเป็นคีย์เวิร์ดและทำการกำหนด Argument ไว้สำหรับรับค่า

  1. Test cases

ทีนี้เราก็เพียงแค่เรียกคีย์เวิร์ดที่เราสร้างมาใช้ แล้วกำหนดสิ่งที่เราคาดหวัง หรือผลลัพธ์ที่จะต้องปรากฎ ด้วยคีย์เวิร์ดWait Until Page Contains หรือ Wait Until Page Contains Element

เสร็จแล้วก็สั่งรันกด Ctrl+B

35

 

36

37

ผลการรันใน Sublime

39

ไฟล์ log.html

40

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

เรียบเรียงโดย

ทัศนีย์ คัดเจริญ
Quality Assurance

0 0 Continue Reading →

Facebook Shop ฟีเจอร์ใหม่ที่พ่อค้าแม่ค้าออนไลน์ควรทราบ

Facebook - Shop

สวัสดีครับ หลังจากที่เราได้มีโอกาสไปร่วมงาน  TeCS: Thailand eCommerce Summit 2016  ที่จัดขึ้นเมื่อวัน พุธ ที่ 22 เดือนมิถุนายน พ.ศ. 2556  ที่ Grand Hyatt Erawan Hotel, กทม.  ภายในงานก็จะมีการเชิญเหล่าเจ้าพ่อ eCommerce ของเมืองไทยมาพูดคุยแลกเปลี่ยนแชร์ประสบการณ์ที่ทำให้เกิดผลสำเร็จ แบ่งออกเป็น 2 ส่วนใหญ่ ๆ  ได้แก่ Conference Room, Workshop Room  หากใครที่ยังไม่เข้าไปในห้องก็สามารถเดินดูบูธของบริษัทต่างๆ ที่นำสินค้าของตัวเองมาจัดแสดง และสามารถถามข้อสงสัยกับเจ้าหน้าที่ประจำบูทได้  แต่ในบทความนี้เราจะขอพูดถึง  Workshop Room

Workshop Room จะเป็นห้องเหล่าเจ้าพ่อ eCommerce มาแนะนำและแชร์ประสบการณ์ของตัวเองที่ได้ปฏิบัติมาจนทำให้เกิดความสำเร็จกับธุริจในปัจจุบัน ซึ่งจะมี Workshop  อยู่มากมาย แต่เราจะขอพูดถึง Workshop  ที่เป็น Session  ของ Facebook ครับ ซึ่งเขาจะพูดเกี่ยวกับเนื้อหาของ Social Commerce (S-Commerce) และ Elevate your sales with the new facebook page shop ซึ่งเป็นเนื้อหาที่น่าสนใจเลยทีเดียวครับ  สำหรับ Social Commerce  เราจะไม่ขอยกมาพูดในบทนี้ ซึ่งผู้อ่านสามารถเข้าไปอ่านได้จาก [ Blog ของคุณ Thanakrit Promsiri คลิกเพื่ออ่าน ]


Facebook Shop ?

 

shop

ตอนนี้เทรนตลาด eCommerce กำลังมาแรงครับ  Facebook ได้พัฒนา New Feature สำคัญที่ช่วยให้พ่อค้าแม่ค้า ขายของบน Facebook ได้ดียิ่งขึ้นซึ่งเดิมที่จะสามารถเปิด  Fan page, Group  เพื่อขายสินค้าออนไลน์  เมื่อได้รับความนิยมจากผู้ใช้งานทั่วโลก  Facebook จึงได้ขยับมาเล่นในตลาดแพลตฟอร์มสำหรับธุรกิจออนไลน์อย่างเต็มตัว  จึงพัฒนาระบบดูแล page,group ที่มีประสิทธิภาพคือ  Facebook Shop  จัดเป็นกลุ่ม  Facebook for Business  ซึ่งเสริมฟังก์ชั่นให้ Facebook group, Fanpage ให้สามารถประกาศขายของภายในกลุ่มได้ และสามารถเลือกสั่งซื้อสินค้าและส่ง message ถึงเจ้าของร้านค้าได้อย่างง่ายดายครับ  จะมีเมนู  Shop  แสดงขึ้นมาที่  facebook fan page ครับ

 

Facebook Shop มีจุดเด่นอย่างไร ?

faceboo-shop
1. หมดปัญหาโพสต์ใหม่ดันโพสต์เก่าลงไปข้างล่าง การโพสต์ผ่าน “เมนู Shop” จะทำใช้ลูกค้าเห็นสินค้าในลักษณะแคทตาล็อกอยู่บนสุดของเพจอยู่เสมอ แล้วใช้วิธีสไลด์ภาพสินค้าจากซ้ายไปขวา ซึ่งเป็นวิธีที่นิยมในการสไลด์ดูรูปบน Facebook อยู่แล้ว

2. ในแคตาล็อกสินค้า มีปุ่มให้ Message หาผู้ขายได้โดยตรง ทำให้เพิ่มโอกาสลูกค้าติดต่อเข้ามาที่ร้านโดยตรงมากขึ้น โอกาสขายสินค้าเพิ่มก็มีมากขึ้น

3. โฆษณาสินค้าได้น่าสนใจและคุ้มค่ามากขึ้น ไม่เหมือนแต่ก่อนจะต้องลงแรงทำ Boost Post กันหน่อย

4. วิเคราะห์พฤติกรรมลูกค้าง่ายขึ้น – การลงโฆษณาด้วยโพสต์แบบ “เมนู Shop” จะทำให้เจ้าของร้านเห็น Insight หรือข้อมูลสติถิทางพฤติกรรมได้ชัดเจนขึ้น รู้ว่าสินค้าตัวไหนในแคทตาล็อกได้รับความสนใจมากที่สุด ตัวไหนทำให้คนตัดสินใจทักข้อความมาหาเจ้าของร้านมากที่สุด เป็นต้น

 

Add Shop menu  ให้กับ  Facebook  กันดีกว่า

 add-shop-facebook

  1. ในเพจจะมีปุ่มคำว่า “+ Add Shop Section”  ที่มุมขวาบนของเพจ หากต้องการเพิ่ม Shop ก็สามารถคลิกเข้าไปได้เลยเลยครับ จากนั้นจะมี Pop up  แสดงขึ้นมา จากนั้นคลิกที่ปุ่ม  Add Shop Section
  2. จากนั้นเพิ่มสินค้าให้กับ Shop ครับ
    add product to shop
  3. ภายใน Shop ของเราก็สามารถสั่งซื้อสินค้าได้อย่างง่ายดายแล้วครับ
    macbook proเขียนและเรียบเรียงโดย
    Prawit Saraphan
0 0 Continue Reading →

ถอด Test Script ให้เป็น Robot Script (Robot Framework)

หลังจากที่ทำความเข้าใจกับ Requirement ของระบบงานแล้ว ต่อมา ก็คือการเขียน Test script พอเขียนเสร็จ ก็จะเป็นขั้นตอนของการลงมือ Test ระบบตาม Step ที่เขียนใน Test script ซีงในส่วนของวิธีการที่ทำจะ Test ก็แล้วแต่ว่า Case ไหนเราสามารถทำ Automate test ได้ หรือ Case ไหนที่เราควร Manual Test

โดยในบทความนี้เราจะกล่าวถึงการทำ Automate Test โดยใช้ Robot framework ค่ะ

          “ Robot Framework คือซอฟต์แวร์ Open Source ที่ใช้สำหรับการทำ Acceptance Testing และ ATDD (Acceptance Test-Driven Development) โดยมีรูปแบบ Syntax ที่เป็นภาษาเขียนธรรมดาทำให้การ Test ระบบไม่น่าเบื่ออีกต่อไป ”

 

ตัวอย่างประโยคในการเขียน Test Script

Case 1 : ลงชื่อเข้าสู่ระบบ Facebook  กรณีระบุ Username  และ Password ถูกต้อง ระบบจะแสดงหน้าหลักของเว็บไซต์ Facebook

11

 

จากตัวอย่าง case ข้างต้นเราก็จะเห็น Process การทำงานที่เรียงเป็นลำดับได้ดังนี้

12

 

จาก Process ดังกล่าว เราสามารถนำมาเขียนเป็น Script ใน Robot framework ได้ดังนี้

  1. เริ่มที่การวางโครงสร้างโดยใน sublime สามารถเรียกโครงสร้างของ Robot ได้โดยคลิกขวา > Robot Framework > Snippets

ก็จะปรากฎโครงสร้างส่วนต่าง ๆ ของ Robot ให้เลือกโดยที่เราไม่ต้องพิมพ์เองเลย

13

          บันทึกไฟล์ชื่อ case-1-facebook-login.txt ไว้ในโฟล์เดอร์ที่ต้องการ

14

  1. เมื่อสร้างโครงสร้างเรียบร้อยแล้วก็เริ่มเขียน Test case ได้เลย ในกรอบสี่เหลี่ยมสีชมพูคือคีย์เวิร์ด ที่สั่งให้สคริปทำงานนั่นเองค่ะ สามารถเข้าไปดู Keyword ใน Selenium2Library ได้ที่นี่

15

คำอธิบาย :

Note : ช่องว่างระหว่าง Keyword กับ Argument ต้องห่างกัน 2 วรรคขึ้นไป ไม่เช่นนั้น Robot จะถือว่าเป็น Keyword เดียวกัน

 

  • Open Browser https://www.facebook.com/    gc

คำสั่งเปิดเว็บไซต์ facebook  จากตัวอย่างจะเขียนตามด้วย  gc  คือจะเป็นการกำหนดเว็บบราวเซอร์เปิดโดยเว็บบราวเซอร์ Google Chrome แต่ถ้าไม่มีการกำหนด ก็จะเปิดเว็บไซต์ด้วย Default web browser นั่นคือ Firefox

  • Wait Until Page Contains โลโก้ Facebook

Wait Until Page Contains เป็นคำสั่งที่ตรวจสอบว่า เจอสิ่งที่เราคาดหวังหรือไม่ จากตัวอย่างคือ เมื่อเปิดเว็บไซต์ facebook ขึ้นมาจะต้องเจอ “โลโก้ Facebook” ซึ่งสิ่งที่เราคาดหวังเราจะหาได้โดยการกด inspec ในหน้าเว็บไซต์

16

          ทั้งนี้สิ่งที่เราคาดหวังอาจจะเป็นได้ทั้งข้อความ, รูปภาพ, Text box หรือ Element อื่น ๆ ก็ได้ แต่ Wait Until Page Contains จะใช้ในกรณีสิ่งที่เราคาดหวังเป็น Text เท่านั้น ถ้าสิ่งที่เราคาดหวังเป็นรูปภาพอาจจะใช้คีย์เวิร์ดอื่นแทน เช่น

Wait Until Page Contains Element    <<Element locator>>

          ซึ่ง Element locator ได้แก่

17

เป็นคำสั่งให้กรอกค่าลงไปใน Text box หรือ Text area ซึ่งระบุ Text box ที่ต้องการให้กรอกด้วย Element locator นั่นเอง

  • Input Password pass    xxx

คำสั่งนี้ลักษณะการทำงานจะเหมือนกับ Input Text แต่ค่าข้อมูลที่ระบุลงไปจะเป็นลักษณะของการกรอก Password

18

  • Click Button เข้าสู่ระบบ

เป็นคำสั่งให้คลิกปุ่ม

  • Wait Until Page Contains หน้าหลัก

ตรวจสอบว่าเมื่อคลิกปุ่มเข้าสู่ระบบแล้ว หากกรอกอีเมล์และรหัสผ่านถูกต้อง ระบบจะแสดงหน้าหลักของ Facebok

  • Close Browser

คำสั่งปิดบราวเซอร์ เมื่อเสร็จสิ้นการทำงาน

  1. หลังจากที่เราทำการเขียนครบทุกคีย์เวิร์ดแล้ว กดบันทึกอีกครั้งแล้วทำการรันโดยกด Ctrl+B Robot ก็จะทำงานโดยเริ่มจากคีย์เวิร์ดในบรรทัดแรกไปจนถึงบรรทัดสุดท้าย

19

20

เมื่อรันเสร็จสิ้น Sublime จะแสดงผลการรันดังนี้

21

 

นอกจากนี้ตัว Robot framework ก็จะ Generate Log file หลังจากที่เสร็จสิ้นการรันเป็น .html ไฟล์ ในโฟล์เดอร์เดียวกับไฟล์ .txt ของเราด้วยซึ่งจะมีลักษณะดังนี้

22

 

Note: คีย์เวิร์ด “Wait Until Page Contain” หรือ “Wait …”  เป็นคีย์เวิร์ดที่สำคัญและจำเป็นที่จะต้องมีหลังจากที่เกิดการกระทำกับระบบที่เราทำการ Test เช่น Mouse action ต่าง ๆ เนื่องจากเป็นการกำหนดว่า พอเกิดการกระทำจากคำสั่งใด ๆ แล้วผลลัพธ์เมื่อการกระทำนั้นเกิดขึ้นจะเป็นอย่างไร

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

เรียบเรียงโดย

ทัศนีย์ คัดเจริญ
Quality Assurance

 

0 6 Continue Reading →

การติดตั้ง Robot Framework

หลังจากที่ได้รู้จักกับ Robot Framework เบื้องไปแล้วจากบทความ มาทำความรู้จักกับ Robot Framework เบื้องต้น  ในบทความนี้จะกล่าวถึงขั้นตอนของการติดตั้งตัว Robot Framework กันนะคะ

สิ่งที่ต้องมี

  • Python version 2.xx เท่านั้น (Robot Framework ยังไม่รองรับเวอร์ชั่นที่สูงกว่า)
  • Get-pip.py
  • Sublime Text version 2 หรือ 3
  • Web Browser : Firefox

 

ขั้นตอนการติดตั้ง

  1. ดาวน์โหลดและติดตั้ง Python

เข้าไปดาวน์โหลด Python ได้ที่ https://www.python.org/download/releases/2.7.8/  หลังจากนั้นทำการติดตั้ง

  1. หลังจากนั้นทำการเซ็ต Path ของ Python ตามขั้นตอนต่อไปนี้

2.1 คลิกขวาที่ Computer

2.2 เลือก Properties

2.3 ปรากฎหน้า Advanced system settings

2.4 Environment Variables..

2.5 เลือก System Variables แล้วเลือก Path

2.6 คลิกปุ่ม Edit

2.7 จากนั้นทำการเพิ่ม Path “C:\Python27\;C:\Python27\Scripts\” ลงไป

1

  1. ดาวน์โหลดและติดตั้ง get-pip.py

3.1 ทำการดาวน์โหลด get-pip.py จาก  https://bootstrap.pypa.io/get-pip.py

3.2 หลังจากได้ไฟล์ get-pip.py แล้ว คัดลอกไฟล์ไปไว้ในโฟล์เดอร์ที่ต้องการติดตั้ง

3.3 ทำการติดตั้งโดยเข้าไปในโฟล์เดอร์ที่เก็บไฟล์ get-pip.py  ดับเบิลคลิกที่ไฟล์ ก็จะเป็นการเริ่มติดตั้ง

3.4 เปิด cmd (command prompt) เพื่อตรวจสอบเวอร์ชันของ pip ที่ทำการติดตั้ง โดยพิมพ์คำสั่งต่อไปนี้

pip –version

2

  1. ทำการติดตั้ง Robot Framework ผ่าน pip โดยพิมพ์คำสั่ง

 

pip install robotframework

  1. ทดสอบว่าติดตั้งสำเร็จและสามารถใช้งานได้ โดยพิมพ์คำสั่ง

 

pybot –version

3

  1. ติดตั้ง Library ที่จะใช้งาน โดยในที่นี้เราจะใช้งาน Selenium ก็สามารถติดตั้งโดยใช้คำสั่งต่อไปนี้

 

pip install robotframework-selenium2library

 

  1. ติดตั้ง Sublime Text Editor

7.1 ติดตั้ง Sublime Text เวอร์ชัน 2 หรือ 3 ในที่นี้เราจะติดตั้งเวอร์ชัน 2

7.2 ติดตั้ง Package Control โดยเข้าไปคัดลอกซอร์สโค๊ดจาก   https://sublime.wbond.net/installation#st2

6

        7.3 เมื่อติดตั้งเสร็จแล้ว ทำการเปิดโปรแกรม Sublime Text ขึ้นมา จากนั้นเลือก View เลือก Show Console จากนั้นนำซอร์สโค๊ดที่คัดลอกไว้ใน 7.2 มาวางใน Console รอให้มันทำการติดตั้ง Package Control สักครู่

8

        7.4 หลังจากนั้น ทำการปิดโปรแกรม Sublime แล้วเปิดอีกครั้ง เพื่อเป็นการ Restart โปรแกรม

7.5 เมื่อ Restart Sublime เรียบร้อยแล้วขั้นตอนสุดท้าย คือการ install package Robot Framework เพื่อสามารถรันผ่าน Sublime ไปที่ Preferance > Package Control

4

จากนั้นพิมพ์คำว่า install เลือก install package

5

พิมพ์ Robot Framework

9

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

เรียบเรียงโดย

ทัศนีย์ คัดเจริญ
Quality Assurance

 

 

0 0 Continue Reading →

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายการใช้คุกกี้ และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

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

Save