กระทู้เก่าบอร์ด อ.Yeadram
1,736 2
URL.หัวข้อ /
URL
นอกเรื่อง - Real Time WebSite
มีโอกาสได้ให้คำปรึกษา กับครูท่านหนึ่ง ทาง เอ็มเอสเอ็น แต่เนื้อที่มันไม่พอกับตัวหนังสือทั้งหมด ผมเลยไปเขียนใส่ text file พอได้เขียน แล้วมันก็เพลิน ก็เลยยาวไปหน่อย อ่านทวนแล้วก็น่าจะเป็นข้อความที่พอจะมีประโยชน์กับท่านอื่นๆ ได้บ้าง จึงขอเอามาลงไว้ในเว็บบอร์ดแห่งนี้ด้วยครับ
หัวข้อศึกษา "ถ้าผมมีเว็บเป็นของตัวเอง ผมสามารถให้เว็บของผม แสดงข้อมูลเป็นแบบ real time ได้หรือไม่ อย่างไร"
- บนเว็บมีฐานข้อมูลของมันเอง แสดงผลผ่านหน้าเว็บโดยดึงข้อมูลจาก db ตัวนั้นเลย
ถ้าข้อมูลมันอัพเดตตลอด มันก็แสดงผล real time ได้แน่ล่ะครับ แต่ผู้ที่จะทำการอัพเดตข้อมูล ควรจะทำอย่างไร หรือทำด้วยวิธีอะไร มีหลักการพิจารณาทางเลือกอย่างไรได้บ้าง
ลองอ่านความเห็นของผมดูครับ
( * กรุณาอย่านำไปใช้อ้างอิงใดๆ เพราะเป็นความเห็นที่ได้จากการสังเกตและทดลองด้วยประสบการณ์ของผมเองทั้งสิ้น ไม่มีหลักวิชาใดๆ สถาบันใดๆ หรือผู้รู้ใดๆ รองรับถึงความเป็นมาตรฐานนะครับ)
- การบันทึก อัพเดตข้อมูล แบ่งแนวทางเป็น
1 เขียนเว็บเพจเพื่อรองรับการทำงานดังกล่าว
- ต้องต่อเน็ตตลอดเวลา ต้องติดต่อได้ทั้งทางโฮสต์ (ตัวรันสคริปต์เว็บเพจ) ทั้งทางเซิรฟเวอร์ (ตัวรันดาต้าเบส) ในเวลาเดียวกัน ถ้าการเชื่อมต่ออย่างใดอย่างหนึ่งหลุด การทำงานก็มีปัญหา
(* ผู้ให้บริการส่วนใหญ่ใช้ HDD เดียวกัน CPU เดียวกัน บนเครื่องฝั่งเซิร์ฟเวอร์ จึงไม่ค่อยมีปัญหา แต่ผู้ให้บริการบางที่
จะจัดสองอย่างนี้ไว้คนละ HDD หรือคนละเครื่องเลย เพื่อความสะดวกในการจัดการของเขาเอง)
- บันทึกหรือแก้ไขได้ทีละเรคคอร์ด
- ทุกๆ คำสั่งจะมีการประมวลผล ฝั่ง server จะต้องต่อเน็ตตลอดเวลา ถ้าเน็ตหลุด ไฟดับ server ล่ม อย่างน้อยๆ เรคคอร์ดนั้นเสียหาย
อย่างมากขึ้น เสียหายทั้งตาราง อย่างมากสุดๆ เสียหายทั้ง ดาต้าเบส
2 เขียนโปรแกรมให้รันทางฝั่ง client กรอกผ่านโปรแกรมของเรา แต่ให้บันทึกลงฐานข้อมูลบนโฮสต์ทันที
2.1 การบันทึกแบบทีละคำสั่ง ใช้คำสั่ง คอนเน็คทุกครั้งที่บันทึกสั่งรัน SQL ทุกๆ จังหวะ
- ข้อดี Real Time แบบข้อมูลต่อข้อมูล ทันทีที่คีย์คะแนน 400 เลข 400 สามารถแสดงผลหน้าเว็บทันที
- ข้อเสียเหมือนข้อ 1 และช้า เพราะต้องตัดและเชื่อมต่อ การคอนเน็คบ่อยๆ
2.2 การลิงค์ตารางจากฐานข้อมูลลงมา สั่งคอนเน็คเมื่อเริ่มโปรแกรม สั่งตัดการคอนเน็คเมื่อปิดโปรแกรม
- ข้อดีเหมือนข้อ 1
- และไม่ต้องร้องขอการเชื่อมต่อไปที่โฮสต์บ่อยๆ ทำให้โฮสต์ไม่ทำงานหนัก
- อาจมีการ lock record ที่เรากำลังทำงาน ทำให้สคริปต์ทางเว็บ อาจเข้าไม่ถึงข้อมูลนั้นๆ ได้ จึงไม่สามารถนำข้อมูลไปแสดงผลหน้าเว็บได้ในบางจังหวะ
- โปรแกรมที่ทำงานฝั่ง client อาจกระตุก (ช้า อืด) บ้าง ในบางจังหวะ เพราะอาจมีการ รีเฟรช ตารางลิงค์เหล่านั้น
3 จัดเตรียมข้อมูล ในทางฝั่ง client ให้เรียบร้อยก่อนแล้ว ค่อยส่งเข้าไป ฐานข้อมูลบนโฮสต์
3.1 การส่งเข้าไปเฉพาะข้อมูล
3.1.1 ใช้เมนูการ import - export ของแต่ละโปรแกรม
(* เหมาะสำหรับกรณี ข้อมูลทาง Client และทาง host อยู่ในรูปแบบเดียวกัน หรือในฐานข้อมูลชนิดเดียวกัน เช่น บนโฮสต์ใช้ MS SQL ข้อมูลที่เตรียมไว้ก็อยู่ใน ฐานข้อมูล MS SQL เช่นกัน)
3.1.2 การเรียงข้อมูลให้ออกมาเป็นประโยคคำสั่ง SQL แล้วเอาไปให้ สคริปต์บนโฮสต์ รัน
(* ใช้ในกรณี ที่ข้อมูลทาง host กับทาง client อยู่ในรูปแบบคนละรูปแบบ จึงต้องใช้ SQL Statement เข้ามาเป็นตัวกลาง เช่น บนโฮสต์เก็บข้อมูลด้วย MySQL แต่ข้อมูลที่เตรียมไว้ เป็น text หรือ csv)
3.2 การส่งเข้าไปใหม่หมด รวมทั้งโครงสร้าง เช่นการใช้ Access (mdb ทั้งก้อนเลย) อัพก้อนใหม่ไปวางทับก้อนเก่า ง่ายดี
- จะอัพเดตได้ Real Time แค่ไหนขึ้นอยู่กับเรา ผู้ทำงานฝั่ง client ว่าจะทยอยส่งข้อมูลถี่แค่ไหน
- ใช้เวลาอัพเดตที่แน่นอน เป็นช่วงเวลา ทำให้วางแผนได้คร่าวๆ ว่าช่วงไหนเหมาะกับการส่งข้อมูล ลดโอกาสความเสี่ยงที่ข้อมูลจะเสียหายระหว่างทาง ซึ่งอาจจะเกิดขึ้นได้กรณี เน็ตหลุด ไฟดับ host ล่ม
- มีเวลาที่จะตรวจสอบข้อมูลให้ถี่ถ้วนก่อนจะเอาข้อมูลไปประจาน (เอ้ย โชว์ หน้าเว็บให้คนทั้งโลกได้มีโอกาสเห็น)
- การจัดเตรียมข้อมูล สามารถให้ผู้อื่นช่วยจัดเตรียมได้ โดยที่คนผู้นั้นไม่จำเป็นต้องรู้ ข้อมูลการล็อกอิน หรือข้อมูลการเชื่อมต่อบนโฮสต์ของเรา
- การจัดเตรียมข้อมูล สามารถเขียนเป็นโปรแกรม แบบ ออฟไลน์ เพื่อให้ผู้ที่ช่วยจัดเตรียม ได้ทำงานอย่างสะดวก (มีฟอร์ม มีฟีเจอร์ที่สะดวกใช้)
------------------- yeadram @ thai-access.com ------------------
2 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R07014
ยาวครับ อิอิ
อันดับแรก คำถามวัดความเข้าใจเรื่อง ดาต้าเบส
1 ข้อมูลอากาศของคุณจัดเก็บไว้ในรูปแบบใด (นั่นคือฐานข้อมูลของคุณ หรือ back-end)
2 ปกติแล้วคุณดูข้อมูลของคุณเองได้อย่างไร (สิ่งที่ช่วยนำข้อมูลมาแสดงนั่นแหละเรียกว่า front-end)
3 เวลาคุณต้องการปรับเปลี่ยน เพิ่มเติม แก้ไข ลบ ล้างข้อมูลของคุณ คุณทำได้อย่างไร ด้วยอะไร (อันนี้ก็เป็นการจัดการผ่าน front-end)
อันดับสอง คำถามวัดความรู้ ความเข้าใจเรื่อง website
1 คุณมีเว็บไซต์เป็นของตัวเองหรือยัง เว็บไซต์ของคุณตั้งอยู่ที่ใด ของคุณเอง ของหน่วยงานคุณ หรือเช่า
2 host ของคุณรองรับสคริปต์ภาษาใดบ้าง
3 คุณเคยแสดงข้อมูลอื่นๆ หรือผลงานอื่นๆ ที่ไม่เกี่ยวข้องกับ ดาต้าเบส ผ่านเว็บไซต์ของคุณบ้างหรือยัง
4 เครื่องที่ติดตั้ง host ของคุณ มีโปรแกรมฐานข้อมูลแล้วหรือยัง หรือสามารถรองรับฐานข้อมูลชนิดใดได้บ้าง
5 ฐานข้อมูลบนโฮสต์ของคุณมีไว้แล้วหรือยัง เป็นฐานข้อมูลชนิดใด คุณเคยเข้าไปจัดการกับมันแล้วหรือยัง คุณใช้มันเป็นหรือไม่ คล่องเพียงใด คุณมีสิทธิ์ขั้นใดในการจัดการกับมัน
6 คุณรู้จักกับสคริปต์ภาษา html หรือไม่ เคยเขียนบ้างหรือเปล่า ใช้เครื่องมือใดช่วยเขียน
7 คุณรู้จักสคริปต์ภาษาอื่นนอกเหนือจาก html หรือไม่ เช่น java, c++.net, asp, asp.net, php ฯลฯ คุณเคยเขียนบ้างหรือไม่ ใช้เครื่องมือใดช่วยเขียน
อันดับสาม คำถามวัดความเข้าใจเรื่องการเขียนโปรแกรม
1 คุณเคยเขียนโปรแกรมอะไรบ้างแล้วหรือไม่
2 โปรแกรมที่คุณเคยเขียนเกี่ยวข้องกับฐานข้อมูลหรือไม่
3 ภาษาใด ที่คุณเคยใช้เขียนโปรแกรม
4 โปรแกรมที่คุณเคยเขียน ใช้งานผ่านเน็ตเวิร์คได้หรือไม่
อันดับสี่ คำถามวัดความพร้อมก่อนเริ่มต้น
1 งานของคุณเป็นงานที่ต้องทำคนเดียวหรือเป็นกลุ่ม หากจะติดตั้งดัดแปลงโปรแกรมใดๆ เช่น ตั้งค่าต่างๆ ของ host, ตั้งค่าต่างๆ ของฐานข้อมูล คุณสามารถทำได้ด้วยตัวเองหรือต้องติดต่อผ่านคนอื่น หรือหน่วยงานอื่นหรือไม่
2 งานของคุณเป็นงานฝึกหัดเพื่อหาความรู้ หรืองานที่ต้องทำจริงๆ เพื่อหน้าที่การงาน
3 คุณมีเวลาจำกัด ในการลงมือทำหรือไม่
เพราะคุณถามมาน้อย แล้วลงท้ายด้วยการขอคำแนะนำ ดังนั้น จึงไม่สามารถรู้ได้ว่า คุณมีพื้นฐานมากน้อยเพียงใด คำแนะนำในระดับใดจึงจะเหมาะกับคุณ ผมก็เลยต้องตั้งคำถามย้อนกลับไป นิดหน่อย เป็นคำถามที่ผมไม่คาดหวังว่าจะได้คำตอบมากนักหรอกครับ แต่ที่ผมถาม คือถามให้คุณได้คิดว่า งานของคุณเปรียบกับความเข้าใจของคุณ เปรียบกับเวลาของคุณ ควรจะทำเองหรือจ้างคนอื่นทำ คุณจะหาความรู้จากเว็บบอร์ด หรือจะหาความรู้ในห้องเรียน หรือจะหาจากหนังสือ หรือจะดูจากตัวอย่าง อันไหนใช้เวลาน้อยกว่ากัน
สุดท้าย ลองประเมินดูครับว่า
คำตอบของผมใช้เวลานั่งคิดนั่งพิมพ์มากกว่าคำถามของคุณกี่เท่าตัว?
อันดับแรก คำถามวัดความเข้าใจเรื่อง ดาต้าเบส
1 ข้อมูลอากาศของคุณจัดเก็บไว้ในรูปแบบใด (นั่นคือฐานข้อมูลของคุณ หรือ back-end)
2 ปกติแล้วคุณดูข้อมูลของคุณเองได้อย่างไร (สิ่งที่ช่วยนำข้อมูลมาแสดงนั่นแหละเรียกว่า front-end)
3 เวลาคุณต้องการปรับเปลี่ยน เพิ่มเติม แก้ไข ลบ ล้างข้อมูลของคุณ คุณทำได้อย่างไร ด้วยอะไร (อันนี้ก็เป็นการจัดการผ่าน front-end)
อันดับสอง คำถามวัดความรู้ ความเข้าใจเรื่อง website
1 คุณมีเว็บไซต์เป็นของตัวเองหรือยัง เว็บไซต์ของคุณตั้งอยู่ที่ใด ของคุณเอง ของหน่วยงานคุณ หรือเช่า
2 host ของคุณรองรับสคริปต์ภาษาใดบ้าง
3 คุณเคยแสดงข้อมูลอื่นๆ หรือผลงานอื่นๆ ที่ไม่เกี่ยวข้องกับ ดาต้าเบส ผ่านเว็บไซต์ของคุณบ้างหรือยัง
4 เครื่องที่ติดตั้ง host ของคุณ มีโปรแกรมฐานข้อมูลแล้วหรือยัง หรือสามารถรองรับฐานข้อมูลชนิดใดได้บ้าง
5 ฐานข้อมูลบนโฮสต์ของคุณมีไว้แล้วหรือยัง เป็นฐานข้อมูลชนิดใด คุณเคยเข้าไปจัดการกับมันแล้วหรือยัง คุณใช้มันเป็นหรือไม่ คล่องเพียงใด คุณมีสิทธิ์ขั้นใดในการจัดการกับมัน
6 คุณรู้จักกับสคริปต์ภาษา html หรือไม่ เคยเขียนบ้างหรือเปล่า ใช้เครื่องมือใดช่วยเขียน
7 คุณรู้จักสคริปต์ภาษาอื่นนอกเหนือจาก html หรือไม่ เช่น java, c++.net, asp, asp.net, php ฯลฯ คุณเคยเขียนบ้างหรือไม่ ใช้เครื่องมือใดช่วยเขียน
อันดับสาม คำถามวัดความเข้าใจเรื่องการเขียนโปรแกรม
1 คุณเคยเขียนโปรแกรมอะไรบ้างแล้วหรือไม่
2 โปรแกรมที่คุณเคยเขียนเกี่ยวข้องกับฐานข้อมูลหรือไม่
3 ภาษาใด ที่คุณเคยใช้เขียนโปรแกรม
4 โปรแกรมที่คุณเคยเขียน ใช้งานผ่านเน็ตเวิร์คได้หรือไม่
อันดับสี่ คำถามวัดความพร้อมก่อนเริ่มต้น
1 งานของคุณเป็นงานที่ต้องทำคนเดียวหรือเป็นกลุ่ม หากจะติดตั้งดัดแปลงโปรแกรมใดๆ เช่น ตั้งค่าต่างๆ ของ host, ตั้งค่าต่างๆ ของฐานข้อมูล คุณสามารถทำได้ด้วยตัวเองหรือต้องติดต่อผ่านคนอื่น หรือหน่วยงานอื่นหรือไม่
2 งานของคุณเป็นงานฝึกหัดเพื่อหาความรู้ หรืองานที่ต้องทำจริงๆ เพื่อหน้าที่การงาน
3 คุณมีเวลาจำกัด ในการลงมือทำหรือไม่
เพราะคุณถามมาน้อย แล้วลงท้ายด้วยการขอคำแนะนำ ดังนั้น จึงไม่สามารถรู้ได้ว่า คุณมีพื้นฐานมากน้อยเพียงใด คำแนะนำในระดับใดจึงจะเหมาะกับคุณ ผมก็เลยต้องตั้งคำถามย้อนกลับไป นิดหน่อย เป็นคำถามที่ผมไม่คาดหวังว่าจะได้คำตอบมากนักหรอกครับ แต่ที่ผมถาม คือถามให้คุณได้คิดว่า งานของคุณเปรียบกับความเข้าใจของคุณ เปรียบกับเวลาของคุณ ควรจะทำเองหรือจ้างคนอื่นทำ คุณจะหาความรู้จากเว็บบอร์ด หรือจะหาความรู้ในห้องเรียน หรือจะหาจากหนังสือ หรือจะดูจากตัวอย่าง อันไหนใช้เวลาน้อยกว่ากัน
สุดท้าย ลองประเมินดูครับว่า
คำตอบของผมใช้เวลานั่งคิดนั่งพิมพ์มากกว่าคำถามของคุณกี่เท่าตัว?
Time: 0.2213s
ผมต้องเริ่งยังไรคับเพราะตอนนี้ผมกำลังทำโปรเจคนี้ที่จะแสดงข้อมูลอากาศ
ของเราแสดงผ่านหน้าเว็บตลอดเวลาครับ
ช่วยแนะนำหน่อยนะคับ