วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

5
เวลาเริ่มต้นของเว็บแอปพลิเคชันนั้นสำคัญจริง ๆ หรือไม่
มีการสนทนากับใครบางคนเกี่ยวกับการเพิ่มรหัสเริ่มต้นในการเริ่มต้นแอปพลิเคชันและเขาบ่นเกี่ยวกับสิ่งนั้นทำให้เวลาเริ่มต้นเพิ่มขึ้น เขาไม่สามารถระบุเหตุผลได้จริง ๆ (ความรู้สึกหรืออะไรที่ไม่รู้) นี่ไม่ใช่แอปพลิเคชันที่ใช้งานหนักและเริ่มประมาณหนึ่งนาทีหรือมากกว่านั้นเราปรับใช้สองสามครั้งต่อปี ฉันจำได้ว่าอ่านคำแนะนำดังกล่าวเกี่ยวกับคำถามเกี่ยวกับ SO ดังนั้นเมื่อเร็ว ๆ นี้ผู้คนแนะนำให้เริ่มต้นเมื่อเริ่มต้นแทนการเข้าถึงหน้าด้วยการประทับตรา "ถ้าคุณสามารถจ่ายค่าปรับ" ได้ ฉันทำงานกับเว็บแอพที่เริ่มต้นจาก 30 วินาทีถึง 4-5 นาที แต่เมื่อออนไลน์พวกเขาก็สั่นสะเทือน แล้วฉันจะพลาดอะไรไป? ถ้ามันเป็นแอพพลิเคชั่นที่สำคัญอย่างเช่น ... ฉันไม่รู้ ... สำหรับตลาดการเงินแอพพลิเคชั่นทางการแพทย์การสำรวจอวกาศและอื่น ๆ มันสำคัญจริง ๆ หรือไม่ที่เวลาเริ่มต้น ป.ล. ฉันหมายถึงเว็บแอปอย่างเคร่งครัดแอปเดสก์ท็อปถูกผูกไว้เพื่อเริ่มต้นอย่างรวดเร็ว

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

6
“ ความเสื่อมโทรมที่สง่างาม” คืออะไร?
ฉันได้ยินมามากมายเกี่ยวกับคำนี้ ตัวอย่างเช่น , "An application server should gracefully degrage when it is under heavy load " "Graceful degradation of user interfaces.... " คำดูเหมือนนามธรรมสำหรับฉัน ตัวอย่างที่เป็นรูปธรรมของความหมายคืออะไร?

5
แนวคิดของความซับซ้อนในการคำนวณสำคัญสำหรับนักพัฒนาซอฟต์แวร์หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันรู้สึกว่าแนวคิดเรื่องเวลาและความซับซ้อนของความจำเป็นสิ่งจำเป็นสำหรับผู้สำเร็จการศึกษาหลักสูตร compsci แต่เมื่อเรียนวิศวกรรมฉันไม่มีความรู้หากเป็นเช่นนั้น ฉันเพิ่งประหลาดใจเมื่อต้องสัมภาษณ์ผู้สำเร็จการศึกษาจากวิทยาลัยท้องถิ่นที่ไม่รู้แนวคิด ฉันเดาคำถามของฉันคือ: แนวคิดของความซับซ้อนในการคำนวณสำคัญสำหรับนักพัฒนาซอฟต์แวร์หรือไม่? และควรสอนในหลักสูตรระดับปริญญาตรีหรือไม่

6
คุณต้องการอะไรที่จะประสบความสำเร็จกับ Agile?
การยอมรับแบบ Agile อาจล้มเหลวในบางองค์กรฉันยังทำงานให้กับ บริษัท ที่มีน้ำตกเป็นวิธีเดียว (จริง) แต่เพียงเพราะพวกเขาลองใช้ Agile ในโครงการและล้มเหลว เมื่อฉันถามคนที่ยังจำได้ว่า (ฉันเป็นรุ่นน้อง) ฉันถูกปิดตัวลงอย่างหนักราวกับว่าฉันกำลังเตือนพวกเขาถึงฝันร้ายที่เกิดขึ้นจริง ฉันไม่รู้ว่าทำไมโครงการล้มเหลว มีแหล่งข้อมูลที่ค้นพบบนเว็บว่าเหตุใด Agile จึงล้มเหลวเป็นบาง บริษัท แต่เหตุผลส่วนใหญ่ทางเศรษฐกิจ ดังนั้นฉันคิดว่าฉันถามที่นี่ก่อนความคิดเห็น อะไรคือสาเหตุที่การยอมรับแบบ Agile ล้มเหลวในบางองค์กร หรือวิธีอื่นในการวาง .. คุณต้องการประสบความสำเร็จกับ Agile อย่างไร?

10
วิธีการเขียนโปรแกรมใดจะเหมาะกับเรา
น่าเสียดายที่มีคนสอนผู้บริหารระดับสูงของเราเกี่ยวกับคำว่า "Agile" และตอนนี้พวกเขาต้องการให้เราก้าวไปข้างหน้า ฉันมีความเข้าใจรอบด้านเกี่ยวกับความคล่องตัว (โดยหลักการ) แต่ไม่เคยใช้มันในทางปฏิบัติ จากสิ่งที่ฉันรู้มันจะไม่เหมาะสมสำหรับองค์กรของเรา ตอนนี้สิ่งต่าง ๆ ก็สวยกรันจ์ นี่คือวิธี; เราเป็นทีมขนาดเล็กมาก - นักพัฒนาสองคนหนึ่ง DBA หนึ่งคนนักออกแบบหนึ่งคน บริษัท ที่ฉันทำงานเพื่อสร้างรายได้เป็นจำนวนมากเมื่อเทียบกับขนาดของมันและเกือบ 95% ของยอดขายออนไลน์นั้นบริสุทธิ์ จากมุมมองของการพัฒนาเราต้องเผชิญกับการรุกรานของโต๊ะทำงานหลายวันในช่วงวันธรรมดา (เราให้การสนับสนุนด้านเทคนิคและ dev) การทำงานเป็นประจำสามารถหลุดออกมาจากท้องฟ้าได้ในช่วงเวลาหนึ่งหากสมาชิกทีมขายสัญญาอะไรกับใครบางคน . เราทำโครงการขนาดใหญ่เช่นกันและพวกเขาก็เป็นฝันร้ายด้วยการหยุดชะงักอย่างต่อเนื่อง พวกเราบางคนเริ่มที่จะฉีกผมของเรา! แผนการโครงการถูกวาดขึ้นโดยผู้จัดการด้านเทคนิคในสเปรดชีต excel ที่พวกเขาลองและแบ่งงานออกเป็นประโยคขนาดกัดที่พวกเขาสามารถเข้าใจและวางวันที่อยู่ข้าง ๆ กัน วันที่เหล่านี้มักจะไม่สมจริงอย่างน่ากลัวและมักพลาดและการประชุมของเรา (ซึ่งเรามีประมาณสัปดาห์) เต็มไปด้วยช่วงเวลาที่น่าอึดอัดใจกับคนที่ถามว่า "ทำไมยังไม่เสร็จ ฉันค่อนข้างมั่นใจว่า Agile ไม่ใช่คนของเรา ตอนนี้ (และฉันได้ลอง) บริษัท นี้จะไม่เปลี่ยนวิธีการและมีเพียงทีม dev เท่านั้นที่ยินดีที่จะเปลี่ยนแปลงมีวิธีการพัฒนาที่เราสามารถนำมาใช้ซึ่งเป็นแบบที่ดีสำหรับการประหยัดสติ

2
ฉันจะเผยแพร่มาตรฐานแบบเปิดของฉันได้อย่างไรและที่ไหน
ฉันได้เขียนมาตรฐานแบบเปิดสำหรับโปรโตคอลที่ฉันกำลังพัฒนา เท่าที่เขียนความกังวลฉันมีมันภายใต้การควบคุม แต่คำถามหลักคือฉันสามารถเผยแพร่เอกสารดังกล่าวได้ที่ไหน ฉันค้นหาบนอินเทอร์เน็ตแล้วและไม่พบไซต์ดังกล่าวที่ฉันสามารถอัปโหลดไฟล์ TXT หรือ PDF ฉันไม่มีความตั้งใจในการเก็บความลับและฉันต้องการให้ผู้คนอ่านสิ่งนี้และหากเป็นไปได้ให้ทำโปรโตคอลให้ดีขึ้น
11 standards 

4
สภาพแวดล้อมการพัฒนาแบบเสมือนจริงในเครือข่ายองค์กร
เราพยายามที่จะใช้สภาพแวดล้อมการพัฒนาโดยใช้ระบบเสมือนจริงสำหรับทีมเล็ก ๆ ของ 4 นักพัฒนาภายในองค์กรองค์กร สิ่งนี้จะช่วยให้เราสามารถตั้งค่าการพัฒนาทดสอบและสภาพแวดล้อมแบบแยกต่างหากรวมถึงการอนุญาตให้เข้าถึงระบบปฏิบัติการใหม่ที่เป็นข้อกำหนดสำหรับระบบหรือเครื่องมือที่เรากำลังประเมินอยู่ เรานำเสนอเครื่องเวิร์คสเตชั่นที่มีอยู่เดิมอีกครั้งโดยโยนในหน่วยความจำ 24GB และ RAID-10 และทำได้ดีจนกระทั่งเราพยายามเพิ่มเครื่องในโดเมน ตอนนี้เรากำลังเริ่มสงครามที่นักพัฒนาองค์กรทุกคนตั้งแต่เริ่มต้นต้องต่อสู้ - การต่อสู้เพื่อการควบคุมท้องถิ่นของสภาพแวดล้อมการพัฒนาและการทดสอบ เครือข่ายและผู้ดูแลระบบไอทีได้หยิบยกข้อกังวลต่าง ๆ ตั้งแต่ "ESX Server เป็นมาตรฐานขององค์กร" ถึง "เซิร์ฟเวอร์ไม่ได้รับอนุญาตบนไคลเอนต์ VLAN" ถึง "[กรอกแบบเติมเปล่า] ไม่ใช่ทักษะที่ตั้งอยู่ในท้องถิ่น หรือองค์กรไอทีขององค์กร " เราสามารถปรับระดับฮาร์ดแวร์ระดับการผลิตและการสนับสนุนด้านไอทีอย่างเป็นทางการหากเราจำเป็นต้องใช้ แต่ต้องใช้เวลาและมีอาการปวดหัวทั้งหมด แม้ว่าจะใช้เวลาหลายเดือนกว่าจะได้รับทรัพยากรไอทีอย่างเป็นทางการจากการปฏิบัติเช่นนี้ในฐานะระบบการผลิต - และแม้ว่าเราจะทำก็ตามเราอาจสูญเสียการควบคุมในท้องถิ่นที่เราต้องการ ฉันจินตนาการว่าคุณหลายคนมีความลำบากคล้ายกันในการควบคุมนักพัฒนาของสภาพแวดล้อมที่ไม่ใช่การผลิต - และการจำลองเสมือนโดยเฉพาะ - ดังนั้นคำถามของฉันมีดังนี้: กลยุทธ์และข้อโต้แย้งใดที่ช่วยให้คุณชนะโครงสร้างพื้นฐาน (IT & เครือข่าย) เพื่อให้ไซโลประเภทนี้มีอยู่ในองค์กรที่มีเครือข่ายมาตรฐานและนโยบายความปลอดภัยในสถานที่ซึ่งโดยทั่วไป (และเข้าใจได้) ห้ามประเภทนี้ โครงสร้างส่วนกลางที่มีการจัดการ? คุณพบสิ่งนี้เป็นเรื่องของเหตุผลทางเทคนิคหรือมากกว่าของการต่อสู้ทางการเมืองเพื่อการควบคุมและความเป็นเจ้าของ? หากคุณลงเอยด้วยสภาพแวดล้อมการพัฒนาที่จัดการโดย IT สิ่งกีดขวางบนถนนนั้นมีไว้สำหรับการพัฒนาและทดสอบในแต่ละวันเป็นอย่างไร …

3
ทำความเข้าใจกับความซับซ้อนของวัฏจักร
ฉันเพิ่งเจอCyclomatic Complexityและฉันต้องการพยายามทำความเข้าใจให้ดีขึ้น อะไรคือตัวอย่างการเขียนโปรแกรมเชิงปฏิบัติของปัจจัยต่าง ๆ ที่นำไปสู่การคำนวณความซับซ้อน โดยเฉพาะสำหรับสมการวิกิพีเดียM = E − N + 2Pฉันต้องการเข้าใจความหมายของคำศัพท์แต่ละข้อต่อไปนี้ให้ดีขึ้น: E = จำนวนขอบของกราฟ N = จำนวนโหนดของกราฟ P = จำนวนขององค์ประกอบที่เชื่อมต่อ ฉันสงสัยว่าทั้งEหรือNอาจเป็นจำนวนคะแนนการตัดสินใจ (ถ้า, ถ้า, สำหรับ, foreach, ฯลฯ ) ในบล็อกของรหัส แต่ฉันไม่แน่ใจว่าที่ใดหรือสิ่งอื่น ๆ ที่มีความหมาย ฉันเดาด้วยว่าPหมายถึงการเรียกใช้ฟังก์ชั่นและอินสแตนซ์ของคลาส แต่ไม่มีคำจำกัดความที่ชัดเจนที่ฉันเห็น หากใครบางคนสามารถส่องแสงเพิ่มอีกนิดด้วยตัวอย่างโค้ดที่ชัดเจนของแต่ละอันมันจะช่วยได้ จากการติดตาม Cyclomatic Complexity มีความสัมพันธ์โดยตรงกับจำนวนการทดสอบหน่วยที่จำเป็นสำหรับการครอบคลุมเส้นทาง 100% หรือไม่? ตัวอย่างเช่นวิธีการที่มีความซับซ้อน 4 บ่งบอกว่าจำเป็นต้องมีการทดสอบ 4 บทเพื่อครอบคลุมวิธีการดังกล่าวหรือไม่? ในที่สุดการแสดงออกปกติส่งผลกระทบต่อความซับซ้อนของวัฏจักรและถ้าเป็นเช่นนั้นได้อย่างไร

4
มีกฎทั่วไปหรือไม่เมื่อคุณควรใช้ 'ทำให้สะอาด' แทนที่จะ 'ทำ'
ฉันกำลังเขียนโปรแกรมที่มีหลายไฟล์ในตอนนี้และเห็นได้ชัดว่าใช้งานเพียง 'ทำ' (เพราะคนเราคิดว่าจะต้องทำในสถานการณ์ส่วนใหญ่อย่างสังหรณ์ใจ) ด้วยเหตุผลบางอย่างทำให้โปรแกรมของฉันล้มเหลว ฉันเดาว่าฉันสามารถให้รายละเอียดเพิ่มเติมของปัญหา แต่สิ่งสำคัญคือมันทำงานเมื่อใช้ 'ทำความสะอาด' ดังนั้นฉันจึงสงสัยว่าถ้าใครรู้กฎทั่วไปของหัวแม่มือสำหรับการทำงาน 'ทำความสะอาด' แทนที่จะ 'ทำ'
11 c++  builds  make 

2
โดยทั่วไปการทำ bubbling ของเหตุการณ์ทำงานอย่างไรและมีความหมายเหมือนกันกับการเผยแพร่เหตุการณ์
ฉันพยายามล้อมรอบงานทั่วไปและหลักการของการจัดกิจกรรมในระบบที่ขับเคลื่อนด้วยเหตุการณ์ (ย่อย) แม้ว่าฉันจะใช้มันในบางครั้งเช่น Javascript, Flash (Actionscript 2 และ 3) และได้สร้างระบบการส่งเหตุการณ์อย่างง่ายใน PHP สำหรับตัวเองในครั้งเดียวฉันไม่เคยเข้าใจการทำ bubbling และ / หรือ การขยายพันธุ์ที่ดี คำถามแรก: การ พ้องเหตุการณ์หมายถึงการเผยแพร่เหตุการณ์หรือไม่ คำถามที่สอง: ฉันถูกต้องในการทำความเข้าใจของฉันว่าเมื่อเหตุการณ์ "ฟองสบู่" นี้หมายความว่ามันได้รับ "ย้าย" ขึ้นลำดับชั้นของวัตถุ? คำถามที่สามและสำคัญที่สุด: หากความเข้าใจในคำถาม 2 ถูกต้อง; สิ่งนี้คือ "การเคลื่อนย้าย" ถึงลำดับชั้นของวัตถุที่นำมาใช้โดยทั่วไป? โดยทั่วไปแล้วมันหมายความว่าวัตถุแม่ "redispatches" เหตุการณ์เดียวกันกับผู้ปกครองของมัน (จนกว่าจะถึงวัตถุราก)? และถ้าเป็นเช่นนั้น วัตถุเหล่านี้ทั้งหมดในลำดับชั้นจำเป็นต้องฟังลูก ๆ ของพวกเขาสำหรับเหตุการณ์เหล่านี้หรือฉันขาดสิ่งสำคัญในการทำความเข้าใจเกี่ยวกับเหตุการณ์เดือดร้อนซึ่งไม่มีความจำเป็นที่จะต้องให้วัตถุแม่ลงทะเบียนด้วยตนเองในฐานะผู้ฟังเหตุการณ์วัตถุเด็ก หากคุณสามารถแสดงให้เห็นถึงหลักการพื้นฐานเหล่านี้โดยใช้รหัสหลอกๆบางอย่างฉันจะขอบคุณมาก ๆ

2
วิธีเผยแพร่แอพ Android ที่ต้องชำระเงินหากคุณไม่ได้มาจาก US / UK
ฉันค่อนข้างตื่นเต้นในขณะที่สร้างแอพของฉัน แต่ดูเหมือนว่าคุณไม่สามารถลงชื่อสมัครใช้ Google Checkout ได้หากคุณไม่ได้อยู่ที่สหรัฐอเมริกาหรือในสหราชอาณาจักร และเนื่องจาก Google Checkout เป็นหนทางเดียวที่ Android Market จะจ่ายให้คุณความพยายามทั้งหมดของฉันดูเหมือนจะไร้ประโยชน์ ดังนั้นเพราะฉันอาศัยอยู่ในอินเดียฉันจึงไม่สามารถขายแอพของฉันได้ ฉันพยายามติดต่อ Google ด้วยวิธีการต่าง ๆ แต่ก็ยังไม่ได้รับการตอบกลับใด ๆ ฉันพยายามค้นหาเว็บเพื่อค้นหาว่าไม่สามารถชำระเงินด้วยวิธีอื่น ฉันค่อนข้างมั่นใจว่าหลายคนที่นี่อาจประสบปัญหาเดียวกัน คุณแก้ปัญหาอย่างไร ฉันมีบัญชี PayPal และบัญชี AdSense ด้วย พวกเขาสามารถช่วยในทางใด? และถ้าไม่มีอะไรออกมาฉันจะขายแอพของฉันได้อย่างไร?

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

6
วิธีกำหนดกฎเกณฑ์ทางธุรกิจที่ซับซ้อนโดยใช้เรื่องราวของผู้ใช้
คำจำกัดความที่รวดเร็วและสกปรกของเรื่องราวของผู้ใช้ : "As a <role>, I want <goal/desire> so that <benefit>" ในคำจำกัดความที่ยอมรับกันโดยทั่วไปนี้จะมีพื้นที่เพียงเล็กน้อยสำหรับการกำหนดกฎเกณฑ์ทางธุรกิจข้อ จำกัด หรืออินพุตของผู้ใช้ ตัวอย่างเล็กน้อยเพื่ออธิบาย: "As a <librarian>, I want to <register new books> so that <students can find their availability online>" ในตัวอย่างที่โง่นี้ใครจะกำหนดฟิลด์ที่จำเป็นเมื่อลงทะเบียนหนังสือ ควรเขียนที่ไหน? หรือควรส่งกฎธุรกิจที่จำเป็นตามคำบอกเล่าจากเจ้าของผลิตภัณฑ์?

4
สกาล่าจะเป็นทางเลือกที่ดีแทนที่จะเป็นจาวา
เราจะเริ่มโครงการใหม่ซึ่งจะเกี่ยวข้องกับการฝึกอบรมผู้พัฒนา. net ทั้งหมดใน Java (frameworks / ECO system ฯลฯ ) เรามีโค้ดจำนวนมากที่เขียนใน C # และดูเหมือนว่าทั้งหมดนี้จะสูญเปล่าเนื่องจากเราต้องเขียนใหม่ทั้งหมดใน Java ปัญหาที่ฉันเห็นคือว่าในปีแรกหรือประมาณสองปีเราจะไม่มีอะไรจะส่งมอบเพราะเราจะใช้เวลาส่วนใหญ่ในการทำซ้ำสิ่งที่เรามีมาก่อน แต่ตอนนี้ใน Java เนื่องจากทีมของเรากระจายอยู่ในสำนักงานต่าง ๆ ทั่วโลกและเรามีนักพัฒนาจาวาจำนวนมาก (20 ถึง 30) และนักพัฒนา 10 คนที่ใช้. net เราต้องการให้นักพัฒนาทั้งหมดใช้ภาษา / แพลตฟอร์มเดียวกันเพื่อให้เราสามารถเริ่ม นำส่วนประกอบ / โมดูลกลับมาใช้ใหม่ ดังนั้นฉันสามารถเข้าใจมุมมองของผู้บริหาร เมื่อวานฉันเจอ Scala และสงสัยว่ามันจะดีกว่าถ้าจะใช้กับผลิตภัณฑ์ปัจจุบัน (ซึ่งเขียนใน C #) แล้วอย่างน้อยเราก็จะมีผลิตภัณฑ์ที่ใช้งานได้ในหนึ่งปี นอกจากนี้ในหนึ่งปีเรามีโมดูลที่สามารถใช้ในโลก Java ได้ในขณะที่เราย้ายข้อมูลส่วนอื่น ๆ ของผลิตภัณฑ์ Scala จะเป็นตัวเลือกที่ดีกว่า Java …
11 java  c#  scala 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.