Skip to Content

Category Archives: Blog

Code Smell & Refactoring ตอนที่ 2

Code Smell & Refactoring ตอนที่ 2
จากครั้งที่แล้ว เรารู้จักความหมายของ Code Smell และ Refactoring กันแล้วนะครับ
วันนี้ Stream Magento ทีม Code คุณภาพ  มาพูดถึง Code Smell ในแต่ละชนิดกันครับ หากเรารู้ว่า Code Smell มีลักษณะอย่างไร เราก็จะป้องกันการเกิด Code Smell ได้ตั้งแต่ต้น และสามารถรู้จุดที่จะ Refactoring ให้ Code มีคุณภาพได้ครับ และอย่างไรก็ตามการใช้ Unit Testing Framework ตั้งแต่ต้นก็จะสามารถ Refactoring ได้ง่ายและปลอดภัย

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

1. Code Smell แบบบวมๆ(Bloaters)

pic-of-david-and-goliath

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

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

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

use-your-tools

วิธีการหรือแนวทางการเขียนโปรแกรม แม้จะมีหลากหลายแบบตามการใช้งาน แต่ก็ปฏิเสธไม่ได้ว่า การเขียนโปรแกรมเชิงวัตถุ ( Object-oriented programming, OOP) ได้รับความนิยมนำมาพัฒนาในงานธุรกิจเป็นอย่างมาก OOP คือรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป โดยหลักการ OO มีหลักการขั้นตอนที่เป็นที่ยอมรับกันในระดับสากล แต่ก็ไม่แปลกที่มีการละเมิดหลักการเหล่านั้น หรือการใช้งานแบบผิด เนื่องจากผู้เขียนเองไม่ทราบหลักการนั้นๆ หรือขี้เกียจ หรือสุดแท้แล้วแต่เหตุผล ดังนั้น Object-Orientation Abusers ก็คือ โปรแกรมที่ไม่สมบูรณ์ตามหลักการ หรือผิดหลักการการเขียนโปรแกรมเชิงวัตถุนั้นเองครับ

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

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 0 Continue Reading →

การตั้งค่า Shipping method ใน Magento 2

Magento 2 นั้น เราสามารถตั้งค่า rate การจัดส่งสินค้าได้ ทั้งหมด 4 แบบ

  1. Free Shipping
  2. Flat Rate
  3. Table Rates
  4. Dimensional Weight

 

อันแรกที่จะอธิบายคือการตั้งค่าแบบ Free Shipping เราสามาถตั้งค่าเพื่อดึงดูดลูกค้าของเราได้อย่างแน่นอน แล้วส่วนมากลูกค้าก็จะชอบเงื่อนไขแบบนี้มาก ตัวอย่างเช่น ถ้าเราซื้อสินค้าครบ  500 บาท ค่าจัดส่งสินค้าฟรี เป็นต้น

ขั้นตอนแรกในการตั้งค่า Free Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Free Shipping
  2. ตั้งค่า Enable เป็น Yes
  • ตั้งชื่อ Title
  • หลังจากเพิ่ม Title แล้วก็ต้องใส่ Method Name เข้าไปด้วย
  • กำหนด Minimum Order Amount
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. กรอกข้อมูลเสร็จแล้วให้ไปที่ Save Config

 

1

2

 

2. Flat Rate Shipping 

เจ้าของร้านค้าบนเว็บไซต์สามารถ fix ค่า ของการจัดส่งสินค้าในสินค้าแต่ละอันได้

ขั้นตอนในการกำหนดค่า Flat Rate Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Flat Rate
  2. ตั้งค่า Enable เป็น Yes
  • กรอก Method name
  • Type ขึ้นอยู่กับตัวเจ้าของร้านเองเลยว่าจะกำหนด รูปแบบของ Type เป็น Per Order หรือ Per Item
  • ตั้งราคาที่เจ้าของร้านต้องการจะเก็บค่าขนส่งสินค้าจากลูกค้า
  • ในการคำนวนค่าธรรมเนียมค่าจัดส่งสินค้า Calculate Handing Fee สามารถกำหนดเป็นค่าคงที่ไปเลยก็ได้หรือจะกำหนดให้คิดเป็น Percent ก็ได้
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. โดยกรอกข้อมูลตามช่องที่กำหนดให้มาแล้ว กด Save config

 

3

5

3.Table Rate Shipping

การคิดค่าขนส่งแบบ Table rate จะเป็นการคิดค่าขนส่งตามน้ำหนัก, ปลายทางที่ส่ง หรือ ราคาสินค้าที่ลูกค้าซื้อ

ขั้นตอนการตั้งค่า Table Rate Shipping

  1. ไปที่ Stores -> Configuration-> Sale -> Shipping Methods -> Table Rate
  2. ตั้งค่า Enable เป็น Yes
  • กรอก Method name ชื่อที่ตั้งนี้จะไปแสดงที่หน้า Checkout ด้วย
  • ขั้นตอนนี้เป็นขั้นตอนที่สำคัญนั้นก็คือเลือกคำนวณค่าจัดส่ง การคำนวณค่าจัดส่งจะถูกแบ่งเป็น 3 วิธีที่แตกต่างกัน
  • 1. Weight VS Destination
  • 2. Price VS Destination
  • 3. No. of Items VS Destination
  • ในการคำนวนค่าธรรมเนียมค่าจัดส่งสินค้า Calculate Handing Fee สามารถกำหนดเป็นค่าคงที่ไปเลยก็ได้หรือจะกำหนดให้คิดเป็น Percent ก็ได้
  • ในกรณีที่เกิดข้อผิดพลาดเราสามารถกำหนดข้อความที่ต้องการแสดงได้ผ่านทาง Displayed Error Message
  • กำหนดพื้นที่การจัดส่งได้ว่าจะเลือกอนุญาตทุกประเทศเลยหรือเลือกเฉพาะบางประเทศ(All Allow Countries or Specific Countries)
  1. โดยกรอกข้อมูลตามช่องที่กำหนดให้มาแล้ว กด Save config

 

7

8

 

4. Dimensional Weight

วิธีการนี้คือการคิดค่าขนส่งสินค้าตาม rate ของบริษัทส่งสินค้า เช่น FedEx ,DHL, UPS

สุดท้ายนี้ในการกำหนดค่าshipping method สำหรับร้านค้าออนไลน์ที่ใช้ magento 2 ผู้ใช้งานสามารถเลือกใช้ function ที่เหมาะสมกับธุรกิจของคุณได้ เพื่อเพิ่มยอดขายให้แก่ร้านค้าของคุณ ผู้เขียนได้ทดลองใช้ shipping method ระหว่าง magento 1 และ magento 2 ผู้เขียนได้เห็นว่ามีความแตกต่างกันเพียงเล็กน้อยในเรื่องของ interface แต่โดยส่วนตัวผู้เขียนชอบ interface ของ magento 2 มากกว่า

Kanyarat Povorasin

0 0 Continue Reading →

มูลค่ายอดขาย E-Commerce ในประเทศไทย – ภาคธุรกิจอิเล็กทรอนิกส์

มูลค่ายอดขาย E-Commerce ในประเทศไทย – ภาคธุรกิจอิเล็กทรอนิกส์

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

1.Consumer electronic ที่ครอบคลุมสินค้าจำพวกอิเล็กทรอนิกส์ทั้งหลาย เช่น TV, Notebook, Laptops, Smartphone, Tablet  ในกลุ่มนี้เราจะเห็นว่ามีการแข่งขันกันหลายเจ้าที่โด่งดังในบ้านเรา ไม่ว่าจะเป็น J.I.B. , Advice, BaNANA IT, IT City, AIS, True, Dtac ที่แข่งขันกันอย่างดุเดือด

2.Physical media ที่ครอบคลุมสินค้าจำพวก หนังสือ,DVD ,CD ,Blu-ray Disc ซึ่งในกลุ่มนี้มีผู้เล่นหลายเจ้า เช่น ร้านนายอินทร์, Se-ed, B2S ,ร้านหนังสือจุฬา เป็นต้น

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

R1

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

จากรูปด้านบน ภาพรวมมูลค่ายอดขายสินค้าผ่าน E-Commerce ในประเทศไทยของภาคธุรกิจอิเล็กทรอนิกส์มีแนวโน้มเพิ่มขึ้นอย่างต่อเนื่อง ในปี 2014 มีมูลค่าสูงถึง 1,076 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 37,660 ล้านบาท และในปี 2015 ที่ผ่านมา 40,775 ล้านบาท มูลค่าเพิ่มขึ้นถึง 8.3%  ในปี 2016 คาดการณ์ว่าเพิ่มขึ้น 26% จากปี 2014 และเพิ่มขึ้นอย่างต่อเนื่องไปจนถึงปี 2020 ซึ่งคิดเป็นมูลค่า 1,909 ล้านดอลลาร์สหรัฐ คิดเป็นเงินไทยถึง 66,815 ล้านบาท ในภาคธุรกิจนี้มีปริมาณยอดขายที่สูงที่สุดของ E-Commerce

 

อัตราการเติบโตยอดขายภาคธุรกิจอิเล็กทรอนิกส์(คิดเป็น%)

G1

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2015 – 2020 สินค้าจำพวก Consumer electronic พุ่งจากปี 2015 ถึง 21.9% แต่จะแผวลงในปีต่อๆไป แต่ยังคงเป็นบวกอยู่ ในทางกลับกัน สินค้าพวก Physical media จากปี 2015 ตกลงไปเหลือ 3.9% แต่ในปีต่อๆไปเพิ่มขึ้นแต่ไม่มากนัก

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

U1

จากกราฟจะเห็นได้ว่าตั้งแต่ปี 2014 – 2020 จำนวน user ที่ซื้อสินค้าทั้ง Consumer electronic และ Physical media เพิ่มขึ้นอย่างต่อเนื่องที่น่าสนใจคือ สินค้าพวก Physical media มีจำนวน User เพิ่มขึ้น 2 เท่าจากปี 2014 ถึง 2020 เป็นไปได้ว่าลูกค้าเปลี่ยนพฤติกรรมจากการอ่านพวก Hard Copy มาเป็นรูปแบบอิเล็กทรอนิกส์แทน ซึ่งในปัจจุบันจะเห็นได้จากธุรกิจนิตยสาร image ได้เปลี่ยนจากหนังสือนิตยสารมาเป็น e-magazine อย่างเต็มตัวเพื่อตอบพฤติกรรมของลูกค้า

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

A1

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

จากกราฟด้านบนตั้งแต่ปี 2014-2020 ค่าใช้จ่ายเฉลี่ยต่อ User ที่ซื้อสินค้า Consumer electronic แทบจะไม่เปลี่ยนแปลงเลยจะอยู่ในช่วง 3,500 – 4,000 บาท ซึ่งคล้ายคลึงกับสินค้า Physical media ที่ไม่ค่อยเปลี่ยนเช่นกัน อยู่ประมาณ 1,100 บาท

อัตราการเติบโตของภาคธุรกิจอิเล็กทรอนิกส์ ส่งผลให้มูลค่ายอดขายเพิ่มมากขึ้นอย่างต่อเนื่อง สาเหตุหลักๆ มาจากผู้ใช้สามารถเข้าถึง 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 1 Continue Reading →

TeCS 2016 : “How to engage your customers with facebook and line”
By 425Degree.com

11

          จากงาน TeCS : Thailand eCommerce Summit 2016 จัดที่โรงแรม Grand Hyatt Erawan เมื่อวันที่ 22 มิถุนายน ที่ผ่านมา มีธุรกิจ eCommerce ชั้นนำมากมายที่เข้ามาร่วมพูดคุยแลกเปลี่ยนมุมมอง และแนวคิดในการทำธุรกิจให้ประสบความสำเร็จ

ธุรกิจหนึ่งที่น่าสนใจอย่าง 425Degree.com เว็บไซต์จำหน่ายเคสโทรศัพท์และ Accesseries อื่น ๆ  ซึ่งมีช่องทางการจัดจำหน่ายผ่าน Social Network อย่าง Facebook และ Line โดยคุณ Vee Lertsaroj ทีมาพูดคุย Workshop ในหัวข้อ “How to Engage your Customers with Facebook and Line” ทั้งนี้คุณ Vee ได้พูดถึงแนวคิดที่น่าสนใจในการดึงดูดลูกค้าให้เข้ามาชมสินค้าใน Facebook Fanpage และทำอย่างไรไม่ให้เกิดการ Reject Page

 

คุณ Vee กล่าวว่า “Bad content is Picture and price

การขายแบบ Hard sale ถือว่าเป็น Bad content เมื่อโพสต์ในลักษณะนี้มากเกินไป ลูกค้าจะรู้สึกเบื่อ ผลสุดท้าย ก็จะเกิดการ Reject page

12

          และยังพบว่า แนวโน้ม ความสนใจของลูกค้าต่อโพสต์ในเพจ วิเคราะห์จากยอดกดไลค์และกดแชร์โพสต์พบว่า

13

          หากโพสต์เนื้อหาข่าว หรือบทความที่น่าสนใจ จะมียอดไลค์และแชร์เป็นจำนวนมาก แต่หากโพสต์ในลักษณะของการขาย ยอดไลค์และแชร์จะน้อย ทั้งนี้ วิธีการโพสต์ของเพจ 425Degree คือการสอดแทรกความรู้และข่าวสารประจำวันอื่น ๆ หรือข้อมูลที่เกี่ยวกับสินค้า เป็นการให้ข้อมูลความรู้แก่ลูกค้าไม่ให้ดูเป็น Hard sale มากเกินไป

และอีกหนึ่งจุดแข็งของเพจ 425Degree ก็คือ การทำวิดีโอรีวิวสินค้าแบบเจาะลึก ทำให้สินค้าดูมีความน่าสนใจและดึงดูดลูกค้าได้เป็นจำนวนมาก ซึ่ง ณ ขณะนี้มียอดกดติดตามเพจกว่า 1.3 ล้านคน!!

เรียกได้ว่าเป็นเป็นธุรกิจของคนรุ่นใหม่ที่ประสบความสำเร็จด้วย Social Commerce อย่างแท้จริง

ชมบรรยากาศในงาน TeCS 2016 เพิ่มเติมได้ที่นี่

 

 

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

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

Quality Assurance

 

 

0 0 Continue Reading →

บรรยากาศภายในงาน TeCS :Thailand eCommerce Summit 2016

บรรยากาศภายในงาน TeCS :Thailand eCommerce Summit 2016

เมื่อวันที่  22 มิถุนายน  2559 ทาง บริษัท สตรีมไอที คอนซัลติ้ง ได้เข้าร่วมงานสัมนา Thailand eCommerce Summit (TeCS)

ซึ่งถูกจัดขึ้นโดย Bangkok Entrepreneurs Co Ltd ณ โรงแรม Grand Hyatt Erawan Bangkok

งานนี้ ผู้ที่มีส่วนเกี่ยวข้องในงานด้าน eCommerce ให้การสนใจเป็นอย่างดีและได้เข้าร่วมงานกันอย่างเนื่องแน่น

โดยมีผู้เชื่ยวชาญที่ประสบความสำเร็จในด้าน eCommerce มาแชร์ประสบการณ์ อาทิ เช่น Lazada, Zalora, Facebook, Line, Google, Ascend, WeLoveShopping, Braintree (by Paypal), Nielsen, aCommerce, 2C2P, Sendit, WearYouWant และอื่นๆ

ทำให้ทาง บริษัท ได้เรียนรู้แนวทางในการพัฒนางาน eCommerce ให้ประสบความสำเร็จต่อไป

ภาพบรรยากาศภายในงาน

ถ่ายรูปทีมงานกันก่อนเข้างาน

ถ่ายรูปทีมงานกันก่อนเข้างาน

ต่อแถวลงทะเบียนเข้างาน คนร่วมงานเยอะมาก

ต่อแถวลงทะเบียนเข้างาน คนร่วมงานเยอะมาก

จุดลงทะเบียน

จุดลงทะเบียน

ห้องประชุมฟังผู้บริหารบรรยายเกี่ยวกับธุรกิจของตัวเองและการเติบโตของธุรกิจในปัจจุบัน

ห้องประชุมฟังผู้บริหารบรรยายเกี่ยวกับธุรกิจของตัวเองและการเติบโตของธุรกิจในปัจจุบัน

ห้อง workshop ในหัวข้อ "Elevate Your Sales with the New Facebook Page Shop" โดย facebook

ห้อง workshop ในหัวข้อ “Elevate Your Sales with the New Facebook Page Shop” โดย facebook

ห้อง workshop การบรรยายหัวข้อ "How to engage your customers with facebook and line" โดย 425 degree.com

ห้อง workshop การบรรยายหัวข้อ  “How to engage your customers with facebook and line” โดย 425 degree.com

Sendit

Sendit
ด้วยเทคโนโลยีติดตามสินค้าแบบ real-time และบริการเก็บเงินปลายทาง ที่ช่วยให้คุณขายออนไลน์ได้ง่ายขึ้น

Tapsey

บรรยากาศบูธ Tapsey
หามืออาชีพที่ใช่ ในราคาที่ชอบ

Omise

บูธ Omise
Payment Gateway คุณภาพสูง

Kanyarat Povorasin

0 0 Continue Reading →

Trends In B2B E-Commerce (Part 2)

 

Trends In B2B E-Commerce (Part 2)

ต่อจาก Blog ที่แล้ว จากผล Survey แนวคิดการลงทุนของผู้บริหารในปี 2016 นี้ อันดับจะเปลี่ยนไปอย่างไร มาดูกันครับ

b2bbuyer2.jpg

จากข้อมูลการ Survey ผู้บริหารที่คาดว่าลงทุนในด้าน Technology ของปี 2016

ที่มา Source: Forrester Research Inc., Internet Retailer

จากผลการ survey จะเห็นแนวโน้มในปี 2016 ของผู้บริหารว่า ธุรกิจ B2B อันดับ 1 ยังคงต้องการที่จะมี ระบบ E-commerce ถึง 58% และที่เลื่อนอันดับขึ้นมา คือ ต้องการให้ระบบนั้นสามารถ Integrate กับ ระบบบริหารจัดการหลังบ้าน ( ระบบคลังสินค้า  ระบบการเงิน  ระบบจัดการคำสั่งซื้อ ระบบ CRM ) ที่มีอยู่แล้ว ถึง 54 %  ซึ่งขึ้นมาจากอันดับที่ 3 ของปี 2015

อันดับที่ 3 ระบบต้องรองรับการใช้งานผ่านทาง Mobile หรือเป็น Native Application ที่รองรับ IOS หรือ Android ประมาณ 44% เลื่อนมาจากอันดับที่ 4

อันดับที่ 4 ระบบต้องมีการ Integrate กับ Channel ต่างๆ ไม่ว่าจะเป็นผ่าน Social Commerce (Face book, Line, Whatsapp) , Web Site, Telemarketing และอื่นๆ ถึง  39% ขึ้นมาจากอันดับที่ 6 ของปี 2015 จะเห็นจากการขยายตัวของการใช้งาน Social ด้านต่างๆ จึงทำให้เข้าถึงกลุ่มผู้ใช้ได้มากยิ่งขึ้น

อันดับที่ 5 ระบบต้องมีการจัดการ Content สามารถทำ CMS(Content Management System) ได้ ถึง 38%  เนื่องจากการทำ Content E-Commerce ส่วนใหญ่ทางแผนกการตลาดและการขายเป็นผู้จัดทำ จึงควรมี CMS เพื่ออำนวยความสะดวก โดยไม่ต้องพึ่งแผนก IT

อันดับที่ 6 ระบบต้องมีการจัดการข้อมูลสินค้า เช่น การตั้งราคา ,จัดตั้งโปรโมชั่น, ข้อมูลรายละเอียดสินค้า , Cross Sell, Up Sell, Related Product  ได้ถึง  35%

อันดับที่ 7  ระบบต้องมีเนื้อหานโยบายให้ถูกต้องตามกฏหมาย  เช่น  มีนโยบายการคืนสินค้า , การชำระเงิน , บริการหลังการขาย, วิธีการติดต่อ เป็นต้น ถึง 24%

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

“From concept to Commerce

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

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

mProfile

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

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

Business Analyst

0 0 Continue Reading →

Code Smell & Refactoring ตอนที่ 1

Code Smell & Refactoring ตอนที่ 1 

วันนี้ Stream Magento ทีม Code คุณภาพ  จะมาแบ่งปันประสบการณ์พัฒนาระบบในเรื่อง Code Smell และ Refactoring  เบื้องต้นเรามารู้จักความหมายของคำทั้งสองก่อน

ในการพัฒนาหรือการบำรุงรักษาซอฟแวร์นั้น สิ่งที่นักพัฒนาส่วนมากต้องการ :ความทนทานซอฟต์แวร์( robustness คือ เมื่อเกิดข้อผิดพลาดขึ้น เราจะยอมให้โปรแกรมทำงานต่อไป ), ใช้ง่าย-เรียบง่าย,นำกลับมาใช้ได้อีกครั้ง, ปรับเปลี่ยนได้ แต่ในการพัฒนาหรือการบำรุงรักษาซอฟแวร์นั้น นักพัฒนาส่วนมากจะมักพบคือ : ความเปราะบาง, ซับซ้อน, ไม่ยืดหยุ่น, และโค้ดอ่านไม่รู้เรื่อง ซึ่งทำให้ยากต่อการแก้ไข ยากต่อการนำมาใช้ใหม่ Code อ่านไม่ออกยุ่งเหยิง Code ซ้ำๆ Code ซับซ้อน ซึ่งมักเรียกว่า Legacy Code หรือ Spaghetti Code ใน Code เหล่านี้มี Code Smells มากมาย และผู้พัฒนาส่วนมากไม่รู้ว่า Code Smell คืออะไร

when-and-why-your-code-starts-to-smell-bad-3-638

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

architectural-refactoring-5-638

Refactoring คือ การจัดองค์ประกอบและโครงสร้างภายในของซอฟแวร์ใหม่ โดยทำการปรับปรุงส่วนที่เป็น Code Smell หรือโครงสร้างของซอฟแวร์ให้มีความเป็นมาตรฐาน โดยที่การเปลี่ยนแปลงนั้น ไม่มีผลกระทบต่อผลลัพธ์เดิมของซอฟแวร์และการทำ refactoring ที่ดีและปลอดภัยนั้นมักทำร่วมกับการทำ Unit Testing Framework อย่างครอบคลุม ซึ่งจะการันตีได้ว่าผลลัพท์จะไม่ถูกเปลี่ยนแปลงไป
ซึ่งซอฟต์แวร์มีการพัฒนาไปนานๆ ก็มักจะมีการเพิ่มความซับซ้อน ซึ่งการทำ refactoring จะช่วยให้การออกแบบดีขึ้นและสามารถเข้าถึงปัญหาได้ง่ายกรณีที่ซอฟแวร์เกิดปัญหาขึ้น

แต่การทำ Refactoring ก็มีข้อจำกัดบางประการ ตัวอย่างปัญหาของการทำ Refactoring
– Refactoring ไม่สามารถแก้ไขได้ทุกปัญหา ต้องดูตามความเหมาะสมในการใช้
– Refactoring ถ้าเกี่ยวข้องกับ Database ควรระวัง
– Refactoring มีข้อจำกัดกับ Interface , Service หรือส่วนที่ Code ยุ่งจนเกินไป และเต็มไปด้วย bug ซึ่งจะไปกระทบกับหลายๆ ส่วน
– อย่าทำ Refactoring เมื่อใกล้เวลาส่งมอบงาน เพราะการทำค่อนข้างใช้เวลาพอสมควร

อย่างไรก็ตามหากเรารู้ว่า Code Smell มีลักษณะอย่างไร เราก็จะป้องกันการเกิด Code Smell ได้ตั้งแต่ต้น และการใช้ Unit Testing Framework ตั้งแต่ต้นก็จะสามารถ Refactoring ได้ง่ายและปลอดภัย

ในครั้งต่อ ๆ ไปเราจะมาพูดถึง Code Smell และ Refactoring ในแต่ละชนิด เครืองมือในการวิเคราะห์ และการทำงานของทีม Stream Magento

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

0 0 Continue Reading →

การเชื่อมต่อIonic Framework เข้ากับMagento

 

วันนี้จะมาแนะนำการเชื่อมต่อข้อมูลของ Magento เข้ากับ Ionic Framework แต่มาดูว่า ionic framework นั้นมันคืออะไร

Ionic Framework ถูกสร้างเพื่อให้เราสามารถพัฒนา App บนมือถือเพื่อให้ได้หน้าตาใกล้เคียงกับ Native app มากที่สุด แต่เราเรียก Ionic Framework ว่าเป็นเเบบ Hybrid app โดยใช้ Angular Js Cordova ในการพัฒนา ทำให้เราสามารถเขียน app ios และ android platform ได้สะดวกขึ้น

ตอนนี้เรามาดูวิธีการเชื่อมต่อ Ionic เข้ากับ Magento กัน

1.เราต้องเปิดการใช้งาน XMLConnect ใน Magento ของคุณก่อนโดยอัพเดทฟิวส์ active เป็น True ใน Mage_XmlConnect.xml

 

2

 

2.เข้าสู่ระบบ Magento Admin คุณจะเห็นปุ่ม Mobile ขึ้นมา แต่ถ้าปุ่ม Mobile ไม่เเสดงขึ้นมาให้ Clear Cache ในระบบก่อน

 

3

 

3.ไปที่ Mobile->Manage Apps->Add App เลือก Device ที่คุณต้องการจะใช้พอเสร็จแล้วจะได้ app code มาสำหรับเชื่อมต่อกับ Ionic

 

4

 

5

 

6

 

4.ติดตั้ง Ionic Framework ตามลิงค์นี้

5.หลังจากติดตั้งเสร็จแล้วให้ไปที่ folder ที่ตั้งชื่อไว้แล้วไปที่ www->js->เปิด app.js ขึ้นมาให้นำ URL และ App Code ไปเชื่อมต่อ

ตัวอย่าง

this.url = “http://127.0.0.1/magento/index.php/”

this.appCode = “defiph4”; /

6.หลังจากนั้นให้ run ionic serve เราก็จะได้เห็นข้อมูลสินค้าที่เชื่อมต่อกับMagento

Capture1

 

Kanyarat Povorasin

 

0 0 Continue Reading →

Three developers of Stream IT have passed Magento Certified Developer Plus

STREAM PASSED CERTIFIED DEVELOPER PLUS

  • ทำไมถึงตัดสินใจไปสอบ Magento certified developer plus?

เพื่อการเรียนรู้และสร้างประสิทธิภาพในการทำงาน เพราะว่าผู้ที่ผ่าน Magento certified developer plus  จะมีความรู้ความสามารถครอบคลุมในการพัฒนาระบบได้ทั้ง Magento Community Edition และ Magento Enterprise Edition

  • แล้วข้อสอบมีประมาณกี่ข้อ?

มี 87 ข้อเป็นเเบบมีตัวเลือก ใช้เวลา 120 นาทีในการทำสอบ โดยใช้ความรู้พื้นฐานของ Magento Community Edition 1.9 และ Magento Enterprise Edition 1.14

  • ใช้เวลาในการเตรียมตัวไปสอบนานเท่าไหร่?

ประมาณ 2-3 เดือน ในการเตรียมตัว ประกอบกับการทำแบบฝึกหัดในแต่ละบทที่เรียน เพราะว่าผู้พัฒนาจะต้องมีความรู้เรื่องโครงสร้างของ Magento และต้องผ่านการพัฒนา Module ที่ต้องการขึ้นมาด้วยตัวเอง โดยใช้ความรู้ที่ได้จากการเรียนที่ผ่านมาของ Magento

  • หัวข้อไหนที่คุณคิดว่ามันยากสำหรับคุณ?

คิดว่าเป็นหัวข้อแรกเพราะเราต้องเรียนรู้โครงสร้างต่างๆ ของ Magento eCommerce Platform ใหม่หมด เนื่องจากถูกออกแบบให้รองรับการทำงานที่มีขอบเขตใหญ่ระดับโลก ทำให้โครงสร้างของระบบมีความซับซ้อนมากยากต่อการเรียนรู้สำหรับมือใหม่ เเต่ถ้าเราเข้าใจมันเเล้วก็จะทำให้เราเข้าใจหัวข้ออื่นๆได้ง่ายขึ้น.

  • Magento Certified Developer Plus นี้ช่วยอะไรในการทำงานของคุณและองค์กรบ้าง?

นักพัฒนาที่ผ่านการสอบ Certified ของ Magento จะมีความรู้และความสามารถในการพัฒนาระบบได้อย่างถูกวิธี มีแบบแผนตามมาตรฐานสากลของ Magento และช่วยทำให้ลูกค้าที่ต้องการให้เราพัฒนา Magento Platform มั่นใจมากขึ้นว่าเราจะทำงานให้ได้อย่างมีประสิทธิภาพอย่างแน่นอน

  • คุณคิดว่าใครที่ควรจะผ่าน Magento certificate?

ทุกๆ คนที่ต้องการทำงานกับ Magento eCommerce platform อยากเพิ่มศักยภาพในการทำงานของตัวเองและทีมให้มากขึ้น รักในการเรียนรู้ในสิ่งใหม่ๆ และนำความรู้ที่ได้มาพัฒนา Solution ดีๆ เพื่อให้ตอบโจทย์ลูกค้ามากที่สุด

Kanyarat PovorasinPrawit Saraphan

 

 

0 1 Continue Reading →

เรื่องงง ๆ ของ Tester มือใหม่

บุคคลหนึ่งที่เรียกกันโดยทั่วไปว่า “Tester” ก็คือ ผู้ทดสอบระบบ ผู้ทดลองใช้งานระบบที่พัฒนาโดยโปรแกรมเมอร์ ฟังดูแล้วก็เหมือนไม่มีอะไรที่ยุ่งยากซับซ้อนสักเท่าไหร่ (มั้ง) ในความเข้าใจของผู้เขียนเมื่อตอนยังเป็นบัณฑิตจบใหม่ต๊อกต๋อยนั้น ก็คงจะเหมือนที่คนอื่น ๆ เข้าใจว่า “Tester” มีหน้าที่ทดลองใช้งานระบบว่าใช้งานได้หรือไม่ หรือคอยจับผิดโปรแกรมเมอร์ว่าซุก Bug อะไรไว้หรือเปล่า (หึหึ) จนกระทั่งกาลครั้งหนึ่งเมื่อผู้เขียนได้มาเป็น “Tester” ถึงได้รู้ว่าจริง ๆ งานทดสอบระบบนั้น ก็มีขั้นตอนกระบวนการทำงานต่าง ๆ รวมถึงเรื่องราวชวนงงของคุณ “Tester” เช่น….

Test script  | Test case  | Test scenario

          Test case คือ กรณีที่ใช้ในการทดสอบ ซึ่ง Test case จะอิงกับ Busines requirement ที่ได้จากลูกค้า ตัวอย่างเช่น การเขียน Test case สำหรับทดสอบระบบ Log in  จะสามารถเขียนได้ดังนี้

 

กรณีระบุ Username และ Password ถูกต้อง ระบบจะแสดงหน้า My Dashbord

22

ภาพที่ 1 ตัวอย่าง Test case

 

 

          ทั้งนี้การเขียน Test case จะต้องมีการกำหนดสถานการณ์จำลองที่จะต้องเกิด ซึ่งต้องครอบคลุมถึงกรณีที่เป็น Negative หรือกรณีที่ทำรายการผิด กรอกข้อมูลผิดพลาดเพื่อทดสอบ Response ที่ระบบจะแจ้งเตือนแก่ user สถานการณ์ดังกล่าวเราเรียกว่า Test scenario ตัวอย่างของการเขียน Test case ที่เป็น Negative case ได้แก่

 

กรณีระบุ Email Address หรือ Password ไม่ถูกต้อง ระบบจะแสดงข้อความแจ้งเตือนเพื่อให้ระบุค่าให้ถูกต้อง

21

ภาพที่ 2 ตัวอย่าง Test case

 

ส่วน Test script คือ ขั้นตอนในการทดสอบ หรือการบอก Step ของ Activity ต่าง ๆ ที่จะกระทำกับระบบแล้วเกิดผลลัพธ์ เช่น User ต้องกรอกข้อมูลลงในฟิลด์ก่อน แล้วคลิกปุ่ม submit ตัวอย่างเช่น

23

ภาพที่ 3 ตัวอย่าง Test script

 

ซึ่งเอกสาร Test script จะเป็นตัวที่บ่งบอกผลการทดสอบระบบทั้งหมดนั่นเอง

 

ประเภทของการทำ Test

ประเภทของการ Test มีเยอะมาก ๆ ซึ่ง “Tester” มือใหม่ที่มีประสบการณ์อันน้อยนิด ผู้เขียนขอพูดถึงเฉพาะประเภทที่ผู้เขียนเคยได้ยิน และที่ผู้เขียนเคยใช้ได้แก่

  1. Unit Test

Unit Test เป็นการทดสอบการทำงานของแต่ละ Module การทำ Unit Test นั้นต้องอาศัยความรู้ในเรื่องของ Coding และ Programming design  ซึ่งผู้ที่ทำ Unit Test คือโปรแกรมเมอร์ นั่นเอง เรียกง่าย ๆ ว่า พอโปรแกรมเมอร์พัฒนาระบบในแต่ละ Module เสร็จ ก็จะต้องทำการทดสอบการทำงานของ Module นั้น ๆ ก่อนที่จะถึงมือ “Tester” แต่!!! ถ้า Tester มีความรู้ความสามารเกี่ยวกับ Coding และ Programming design ก็สามารถร่วมมือกับโปรแกรมเมอร์ทำ Unit Test ได้นะเอออออ

  1. Integration Testing

Integration Testing ก็คือการทำเอา Module ต่าง ๆ มาประกอบกันเป็นระบบ ซึ่งการทดสอบในขั้นตอนนี้จะเป็นการทดสอบการทำงานร่วมกันของ Module หรือ Function อื่น ๆ ที่ผ่านการทำ Unit Test มาแล้ว “Tester” จะต้องทำการทดสอบตาม Test script ที่ทำไว้ ซึ่งถ้าหากเกิดข้อผิดพลาดก็จะส่ง Issue กลับไปให้โปรแกรมเมอร์แก้ไขต่อไป

  1. Acceptance Testing

หลังจากที่ได้ทำ Integration Testing ไปแล้ว ขั้นตอนนี้เป็นการทดสอบในลักษณะ End-to-End ก่อนจะนำระบบขึ้นใช้งานจริง (Go live) โดยจะส่งให้ลูกค้าเป็นผู้ทดสอบ

 

วิธีการ Test

  1. Manual Test

เป็นวิธีเก่าก่อน และยังคงยืนยาวมาถึงในปัจจุบันของการ Test ก็คือ การ Manual Test หรือจำลองว่าเราคือ User กรอกข้อมูล ทำรายการทีละขั้นตอนตาม Test Script (ถ้าเป็นระบบใหญ่ มีการทำงานเยอะล่ะก็ ถึงขั้นมือหงิกกันเลยทีเดียว)

  1. Automation Test

Automation Test คือการ Test โดยใช้ Tool สำหรับ Test ทำงานด้วยตัวของมันเอง ซึ่งจะช่วยลดเวลาในการ Manual Test แต่อาจจะต้องมีการใช้ Coding เพื่อเขียน Script ที่ใช้สำหรับ Run ซึ่ง Tool ที่ผู้เขียนใช้ได้แก่ Robot Framework จ้า!!! มาทำความรู้จักกับ Robot Framework เบื้องต้น

 

ทั้งหมดนี้ก็เป็นเพียงเรื่องราวเบื้องต้นของการทำ Testing โดยคุณ “Tester”  ซึ่งจริง ๆ แล้วยังมีเรื่องชวนงง และเรื่องน่าสนใจอื่น ๆ อีกมากมาย ดังนั้น ถ้าอยากหายงงคุณ “Tester” ก็ต้องขยันอัพเดทข้อมูลใหม่ ๆ อยู่เสนอนะจ๊ะ

 

________________________________________________________________________

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

________________________________________________________________________

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

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

0 29 Continue Reading →

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

Privacy Preferences

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

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

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

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

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

Save