ติดตามอ่านหนังสือ "เรียนรู้ด้วยตนเอง LINQ" อยู่ครับ
3 posters
หน้า 1 จาก 1
ติดตามอ่านหนังสือ "เรียนรู้ด้วยตนเอง LINQ" อยู่ครับ
ผมเป็นอีกคนหนึ่งที่ิติดตามอ่านและชอบผลงานของอาจารย์ทั้งหนังสือและบทความต่างๆ ในเว็บครับ ชอบที่ได้ความรู้แล้วก็อ่านสนุกครับ
ตอนนี้ผมกำลังศึกษาเกี่ยวกับเรื่อง LINQ และการเก็บข้อมูลในรูปแบบของ xml ซึ่งหาบทความดีๆ ที่เป็นภาษาไทยอ่านยากมากๆ ครับ
ที่เป็นภาษาอังกฤษก็พยายามอ่านอยู่แต่ก็ไม่ค่อยเข้าใจเท่าไรนัก ถ้าหากมีตำราภาษาไทยที่ดีๆ เหมือนหนังสือทั้งสองเล่มที่อาจารย์เขียนออกมาก็จะดีมากเลยครับ
และผมมีคำถามอยู่ข้อหนึ่ง คือตอนนี้ผมกำลังเปรียบเทียบการเก็บข้อมูลที่เป็น List ของ object ว่าจะเก็บใน database หรือว่า file xml ดี
เนื่องด้วยโปรแกรมของผมไม่ใหญ่และไม่จำเป็นต้องใช้ database ที่เป็นแบบ client/server ผมจึงอยากจะเก็บไว้ใน xml file ครับ
เพราะผมคิดว่ามันจะทำให้ไม่ยุ่งยากในการลงโปรแกรม (ที่เขียนเสร็จแล้ว) และไม่ต้องไปยุ่งกับ database
ส่วนเรื่องปัญหาในการคิวรีนั้นผมคิดว่า LINQ นั้นทำให้สิ่งต่างๆ สะดวกขึ้น ผมเข้าใจถูกไหมครับ
แต่ปัญหาที่ผมติดก็คือเรื่องความปลอดภัยของข้อมูล เนื่องจาำก file xml นั้นเป็น text และสามารถแก้ไขได้
ถ้าหากมีบุคคลที่สามมาเปิด file และแก้ไขข้อมูลต่างๆ ให้เป็นอย่างที่ตัวเองต้องการก็จะมีปัญหาได้
คือผมกำลังหาวิธีการที่จะทำให้ข้อมูลปลอดภัยอยู่ครับ
เนื่องจากผมประสบการณ์ยังน้อย อยากให้อาจารย์หรือผู้รู้ท่านอื่นๆ ช่วยชี้แนะด้วยครับ
ด้วยความนับถือ
ตอนนี้ผมกำลังศึกษาเกี่ยวกับเรื่อง LINQ และการเก็บข้อมูลในรูปแบบของ xml ซึ่งหาบทความดีๆ ที่เป็นภาษาไทยอ่านยากมากๆ ครับ
ที่เป็นภาษาอังกฤษก็พยายามอ่านอยู่แต่ก็ไม่ค่อยเข้าใจเท่าไรนัก ถ้าหากมีตำราภาษาไทยที่ดีๆ เหมือนหนังสือทั้งสองเล่มที่อาจารย์เขียนออกมาก็จะดีมากเลยครับ
และผมมีคำถามอยู่ข้อหนึ่ง คือตอนนี้ผมกำลังเปรียบเทียบการเก็บข้อมูลที่เป็น List ของ object ว่าจะเก็บใน database หรือว่า file xml ดี
เนื่องด้วยโปรแกรมของผมไม่ใหญ่และไม่จำเป็นต้องใช้ database ที่เป็นแบบ client/server ผมจึงอยากจะเก็บไว้ใน xml file ครับ
เพราะผมคิดว่ามันจะทำให้ไม่ยุ่งยากในการลงโปรแกรม (ที่เขียนเสร็จแล้ว) และไม่ต้องไปยุ่งกับ database
ส่วนเรื่องปัญหาในการคิวรีนั้นผมคิดว่า LINQ นั้นทำให้สิ่งต่างๆ สะดวกขึ้น ผมเข้าใจถูกไหมครับ
แต่ปัญหาที่ผมติดก็คือเรื่องความปลอดภัยของข้อมูล เนื่องจาำก file xml นั้นเป็น text และสามารถแก้ไขได้
ถ้าหากมีบุคคลที่สามมาเปิด file และแก้ไขข้อมูลต่างๆ ให้เป็นอย่างที่ตัวเองต้องการก็จะมีปัญหาได้
คือผมกำลังหาวิธีการที่จะทำให้ข้อมูลปลอดภัยอยู่ครับ
เนื่องจากผมประสบการณ์ยังน้อย อยากให้อาจารย์หรือผู้รู้ท่านอื่นๆ ช่วยชี้แนะด้วยครับ
ด้วยความนับถือ
NewWorld- จำนวนข้อความ : 5
Join date : 03/08/2010
ลองดู
ถ้าไม่ต้องการให้ใครแก้ไข data หรือไม่ต้องการให้แก้ไขไฟล์โดยตรงควรใช้ SQLite ก็ได้ครับและที่สำคัญเล็กประหยัดไม่เสียตังค์และไม่ต้องลงโปรแกรมให้วุ่นวายด้วยครับและข้อดีอีก การใช้คำสังก็ไม่ต่างจาก MS SQL เลยครับ ลองเล่นดูก่อนก็ได้ครับ
bundit- จำนวนข้อความ : 6
Join date : 18/05/2010
หากใช้ Serialization
ขอบคุณคุณ bandit ครับ
ผมอยากถามเพิ่มดังนี้คือ
หากผมใช้การ Serialization และไม่ใช้ database จะมีข้อเสียอย่างไรครับ
จะมีปัญหาเรื่องหน่วยความจำไม่พอหรือเปล่า ในกรณีที่ใช้นานๆ แล้วมีข้อมูลเพิ่มมากขึ้น
โดยปกติแล้วข้อมูลใน database จะถูกโหลดเข้าในหน่วยความจำอย่างไรบ้างครับ
ผมไม่ค่อยมีประสบการณ์เกี่ยวกับ database มากนัก และผมคิดว่าการเก็บข้อมูลใน object นั้นคล้ายกับการเก็บข้อมูลใน database
ตอนนี้โปรแกรมที่ผมทดลองเขียนยังอยู่ในช่วงพัฒนาและทดสอบ ซึ่งสามารถใช้งานได้บางส่วนโดยที่ยังไม่ได้ใช้ database
จริงๆ ถ้าไม่จำเป็นผมก็ไม่อยากใช้เลยครับเพราะผมรู้สึกว่าการเก็บข้อมูลในรูปแบบ object นั้นมันง่ายกว่ามากๆ เลยครับ
ผมอยากถามเพิ่มดังนี้คือ
หากผมใช้การ Serialization และไม่ใช้ database จะมีข้อเสียอย่างไรครับ
จะมีปัญหาเรื่องหน่วยความจำไม่พอหรือเปล่า ในกรณีที่ใช้นานๆ แล้วมีข้อมูลเพิ่มมากขึ้น
โดยปกติแล้วข้อมูลใน database จะถูกโหลดเข้าในหน่วยความจำอย่างไรบ้างครับ
ผมไม่ค่อยมีประสบการณ์เกี่ยวกับ database มากนัก และผมคิดว่าการเก็บข้อมูลใน object นั้นคล้ายกับการเก็บข้อมูลใน database
ตอนนี้โปรแกรมที่ผมทดลองเขียนยังอยู่ในช่วงพัฒนาและทดสอบ ซึ่งสามารถใช้งานได้บางส่วนโดยที่ยังไม่ได้ใช้ database
จริงๆ ถ้าไม่จำเป็นผมก็ไม่อยากใช้เลยครับเพราะผมรู้สึกว่าการเก็บข้อมูลในรูปแบบ object นั้นมันง่ายกว่ามากๆ เลยครับ
NewWorld- จำนวนข้อความ : 5
Join date : 03/08/2010
ด้วยความเข้าใจ
ก่อนอื่นผมขอออกตัวก่อนเลยนะครับว่าผมไม่เก่งเรื่องการเขียนโปรแกรมและเรื่องฐานข้อมูลมากนัก
เนื่องจากผมเองก็ไม่เรียนมาด้านนี้โดยตรงนะครับ แค่อาศัยประสบการณ์และการอ่านเท่านั้น
ส่วนเรื่องที่ถามมาผมขอตอบสั้นๆนะครับ
1.หากผมใช้การ Serialization และไม่ใช้ database จะมีข้อเสียอย่างไรครับ
ตอบ คือผมเองก็ไม่เคยใช้นะครับแต่ผมคิดว่าน่าจะเกี่ยวกับการจัดการและการดูแลครับ
เพราะการใช้ database นั้นจะดูแลรักษาง่ายกว่าครับ อ่านได้จากหนัง database ทั่วไปครับ
2.จะมีปัญหาเรื่องหน่วยความจำไม่พอหรือเปล่า ในกรณีที่ใช้นานๆ แล้วมีข้อมูลเพิ่มมากขึ้น
ตอบ คิดว่าไม่มากนะครับซึ่งส่วนมากแล้วกรณีที่เป็น database นั้นเราจะวางไว้ที่ server ตัวเดียวส่วนที่เครื่อง client นั้น
เมื่อต้องการเราข้อมูลก็ค่อยเรียกมาที่ละส่วนครับ
3.โดยปกติแล้วข้อมูลใน database จะถูกโหลดเข้าในหน่วยความจำอย่างไรบ้างครับ
ตอบ ขึ้นอยู่กับการออกแบบโปรแกรมของเราครับ และส่วนมากผมจะดึงข้อมูลมากจาก server แล้วก็ปิดทันที ส่วนข้อมูลที่จะใช้
ต่อก็จะอยู่ในรูปแบบของ DataSet หรือ Array ซึ่งจะใช้หน่วยความจำของเครื่อง client ครับ
4.ผมไม่ค่อยมีประสบการณ์เกี่ยวกับ database มากนัก และผมคิดว่าการเก็บข้อมูลใน object นั้นคล้ายกับการเก็บข้อมูลใน database
ตอนนี้โปรแกรมที่ผมทดลองเขียนยังอยู่ในช่วงพัฒนาและทดสอบ ซึ่งสามารถใช้งานได้บางส่วนโดยที่ยังไม่ได้ใช้ database
จริงๆ ถ้าไม่จำเป็นผมก็ไม่อยากใช้เลยครับเพราะผมรู้สึกว่าการเก็บข้อมูลในรูปแบบ object นั้นมันง่ายกว่ามากๆ เลยครับ[
ตอบอันนี้แล้วแต่ความถนัดของแต่ละคนครับ อย่างเช่น ผมจะบอกว่าผมไม่เห็นมันจะง่ายเลยการจัดเก็บด้วย object ดูแลรักษาก็ยาก
ปรับปรุงก็ยาก ก็เนื่องจากผมไม่เคยใช้เลย ส่วนอีกคนบอกว่า ง่ายนะไม่ต้องทำอะไรให้วุ่นวาย ไม่ต้องลง ไม่ต้องตั้งค่าอะไรเลย อย่างนี้เป็นต้นครับผม
ถ้าผมตอบผิดพลาดประการใดก็ขออภัยมาที่นี้ด้วยนะครับผม
ปล. ต้องขอให้อาจารย์มาช่วยในเรื่องการใช้ batabase ด้วยนะครับว่าดีอย่างไงและแตกต่างกันอย่างไง
เพราะผมไม่รู้ว่าผมตอบถูกมากแค่ไหนครับ ขอบคุณครับ
chokbunthit@hotmail.com
เนื่องจากผมเองก็ไม่เรียนมาด้านนี้โดยตรงนะครับ แค่อาศัยประสบการณ์และการอ่านเท่านั้น
ส่วนเรื่องที่ถามมาผมขอตอบสั้นๆนะครับ
1.หากผมใช้การ Serialization และไม่ใช้ database จะมีข้อเสียอย่างไรครับ
ตอบ คือผมเองก็ไม่เคยใช้นะครับแต่ผมคิดว่าน่าจะเกี่ยวกับการจัดการและการดูแลครับ
เพราะการใช้ database นั้นจะดูแลรักษาง่ายกว่าครับ อ่านได้จากหนัง database ทั่วไปครับ
2.จะมีปัญหาเรื่องหน่วยความจำไม่พอหรือเปล่า ในกรณีที่ใช้นานๆ แล้วมีข้อมูลเพิ่มมากขึ้น
ตอบ คิดว่าไม่มากนะครับซึ่งส่วนมากแล้วกรณีที่เป็น database นั้นเราจะวางไว้ที่ server ตัวเดียวส่วนที่เครื่อง client นั้น
เมื่อต้องการเราข้อมูลก็ค่อยเรียกมาที่ละส่วนครับ
3.โดยปกติแล้วข้อมูลใน database จะถูกโหลดเข้าในหน่วยความจำอย่างไรบ้างครับ
ตอบ ขึ้นอยู่กับการออกแบบโปรแกรมของเราครับ และส่วนมากผมจะดึงข้อมูลมากจาก server แล้วก็ปิดทันที ส่วนข้อมูลที่จะใช้
ต่อก็จะอยู่ในรูปแบบของ DataSet หรือ Array ซึ่งจะใช้หน่วยความจำของเครื่อง client ครับ
4.ผมไม่ค่อยมีประสบการณ์เกี่ยวกับ database มากนัก และผมคิดว่าการเก็บข้อมูลใน object นั้นคล้ายกับการเก็บข้อมูลใน database
ตอนนี้โปรแกรมที่ผมทดลองเขียนยังอยู่ในช่วงพัฒนาและทดสอบ ซึ่งสามารถใช้งานได้บางส่วนโดยที่ยังไม่ได้ใช้ database
จริงๆ ถ้าไม่จำเป็นผมก็ไม่อยากใช้เลยครับเพราะผมรู้สึกว่าการเก็บข้อมูลในรูปแบบ object นั้นมันง่ายกว่ามากๆ เลยครับ[
ตอบอันนี้แล้วแต่ความถนัดของแต่ละคนครับ อย่างเช่น ผมจะบอกว่าผมไม่เห็นมันจะง่ายเลยการจัดเก็บด้วย object ดูแลรักษาก็ยาก
ปรับปรุงก็ยาก ก็เนื่องจากผมไม่เคยใช้เลย ส่วนอีกคนบอกว่า ง่ายนะไม่ต้องทำอะไรให้วุ่นวาย ไม่ต้องลง ไม่ต้องตั้งค่าอะไรเลย อย่างนี้เป็นต้นครับผม
ถ้าผมตอบผิดพลาดประการใดก็ขออภัยมาที่นี้ด้วยนะครับผม
ปล. ต้องขอให้อาจารย์มาช่วยในเรื่องการใช้ batabase ด้วยนะครับว่าดีอย่างไงและแตกต่างกันอย่างไง
เพราะผมไม่รู้ว่าผมตอบถูกมากแค่ไหนครับ ขอบคุณครับ
chokbunthit@hotmail.com
bundit- จำนวนข้อความ : 6
Join date : 18/05/2010
ตั๊กแตน
ขอบคุณๆ bundit ที่กรุณามาช่วยตอบ และตอบได้ดีครับ
ขอโทษคุณ NewWorld ที่ตอบช้า สาเหตุที่ตอบช้าเพราะ (ที่ผ่านมา) ผมอยู่ในระหว่างการเดินทาง
เรื่องที่คุณ NewWorld ถามมมานีั่้นน่าสนใจ ในความเห็นของผมหากคุณสามารถหลีกเลี่ยงการใช้ database server ได้ ก็ไม่มีเหตุผลอะไรที่จะต้องไปใช้มัน ไม่อย่างนั้นก็จะกลายเป็นการขี่ช้างจับตั๊กแตนไปเสียเปล่าๆ
ขอโทษคุณ NewWorld ที่ตอบช้า สาเหตุที่ตอบช้าเพราะ (ที่ผ่านมา) ผมอยู่ในระหว่างการเดินทาง
เรื่องที่คุณ NewWorld ถามมมานีั่้นน่าสนใจ ในความเห็นของผมหากคุณสามารถหลีกเลี่ยงการใช้ database server ได้ ก็ไม่มีเหตุผลอะไรที่จะต้องไปใช้มัน ไม่อย่างนั้นก็จะกลายเป็นการขี่ช้างจับตั๊กแตนไปเสียเปล่าๆ
ขอบคุณคุณ bandit และอาจารย์
ขอบคุณคุณ bandit และอาจารย์อีกครั้งครับที่ช่วยตอบกระทู้
ตัวผมเองก็ไม่ได้เรียนมาทางด้านนี้โดยตรงครับ อาศัยการอ่านเหมือนกับคุณ bandit เลย แล้วก็ชอบเขียนโปรแกรมทั้งที่ไม่ค่อยมีความรู้เรื่องคอมพิวเตอร์ซักเท่าไร่
ผมจบคณะวิศวอุตสาหการครับ จุดเริ่มต้นในการศึกษา OOP นั้นก็มาจากเมื่อตอนเรียนมหาวิทยาลัย ผมได้ลงวิชาเลือกวิชาหนึ่ง ชื่อวิชา Computer Applications for Industrial Engineers
ผมได้ยินคำว่า OOP ครั้งแรกจากอาจารย์ท่านที่สอนวิชานี้ครับและเริ่มต้นด้วย Delphi ตอนแรกๆ ก็ไม่ได้เขียนแบบ OO หรอกครับ ออกแนวลากแปะมากกว่า เข้าใจว่า Object ก็คือพวกคอนโทรลต่างๆ ที่เราลากมาแปะนั่นแหละครับ
ในตอนนั้นผมก็ได้ลองภาษาอื่นๆด้วย เช่น VB6, PHP แต่ผมชอบรูปแบบ syntax และสภาพแวดล้อมในการทำงานของ Delphi มากที่สุด เนื่องจากมันเข้าใจง่ายและผมรู้สึกว่าเป็นภาษาที่สวยงามครับ
เวลาก็ผ่านไปและผมก็ไม่ได้เขียนโปรแกรมอีกเลย เนื่องจากงานที่ผมทำไม่ได้มีความเีกี่ยวข้องกับการเขียนโปรแกรมเลย แต่มันก็ยังอยู่ในความสนใจของผมอยู่
จนกระทั่งอยู่มาวันหนึ่งเพื่อนที่เรียนมาด้วยกันได้วานให้ผมช่วยทำโปรแกรมในการจัดการกิจการร้านที่เขาเปิดขึ้นมา ผมก็ช่่วยเขาทำครับด้วย Delphi นี่แหละจนเสร็จ และขณะนั้นได้ทราบว่าผู้ที่สร้าง Delphi ขึ้นมานั้นได้สร้างภาษาใหม่ขึ้นมาชื่อว่าภาษา C# ผมมีความเลื่อมใสในปรมาจารย์ท่านนี้อยู่แล้ว (คนที่คุณก็รู้ว่าใคร ) ก็เลยไปหาหนังสือมาอ่าน (แต่ก็หลังจากที่ภาษานี้ออกมาได้หลายปีอยู่ครับ ผมเริ่มตอนที่เป็น .net 3.5) และได้ทำความเข้าใจกับแนวความคิดเกี่ยวกับ Object มากขึ้นครับ ประจวบกับทาง Microsoft ไ้ด้มี IDE ให้โหลดใช้ได้ฟรีด้วยครับ ทำให้ผมได้ศึกษามากกว่าเดิม ผมก็เลยอยากจะเขียนโปรแกรมเดิมที่ทำให้เพื่อนนี้ขึ้นมาใหม่และปรับปรุงให้ดียิ่งขึ้นโดยการเขียนโปรแกรมแบบ OO ด้วย C# นี่แหละครับ คล้ายๆ กับจะออกเวอร์ชั่นใหม่ครับ และถ้าเป็นไปได้ในอนาคตผมก็อยากจะทำงานที่เกี่ยวกับการเขียนโปรแกรมบ้างครับ เพราะผมก็เบื่อกับงานเดิมที่ทำอยู่และก็ได้ลาออกมาแล้วครับ
ขอโทษที่ร่ายมาซะยาวเลยนะครับ
ผมมีประเด็นที่อยากแลกเปลี่ยนความคิดเห็นอยู่เล็กน้อยดังนี้ครับ
1. การ Serialization ไม่ยากเลยครับแค่ใช้คำสั่ง Serialize ข้อมูลทั้งหมดที่อยู่ในออปเจคของคุณไม่ว่าจะเป็น List ของลูกค้า, รายการสินค้าต่างๆ ฯลฯ (หรืออาจเีรียกว่า graph) ก็จะถูก save ลงใน file ที่คุณกำหนดไว้ครับ การจะดึงข้อมูลออกมาใช้งานก็ใช้คำสั่ง Deserialize ข้อมูลที่อยู่ใน file ก็จะกลับมาเป็นออปเจคให้คุณใช้งานอีกครั้งครับ จะมีปัญหาก็คือ ในภายหลังหากมีการแก้ไข, เพิ่มเติม, ลบ field หรือ properties ต่างๆ ใน object จะทำให้ Deserialize ออกมาไม่ได้ครับเนื่องจากโครงสร้างข้อมูลเปลี่ยนไป เทียบได้กับการที่เราไปเปลี่ยนชื่อ หรือลบ field ใน database ครับซึ่งจะทำให้โปรแกรมมีปัญหา
2. ปัญหาเกี่ยวกับเรื่องหน่วยความจำที่ผมกังวลก็คือ ในกรณีที่ใช้การ Serialization ในการเก็บข้อมูลนั้นแสดงว่าข้อมูลทั้งหมด (ทั้งหมดเลยจริงๆ) จะต้องถูกโหลดเข้ามาไว้ในหน่วยความจำในรูปแบบของ object แตกต่างจากการใช้ database ดังที่คุณ bandit ได้ตอบมาว่า ข้อมูลจะสามารถเีรียกมาเป็นส่วนๆ ได้โดยที่ข้อมูลส่วนใหญ่นั้นอยู่ใน harddisk ซึ่งจะทำให้ใช้หน่วยความจำน้อยกว่า นี่คือปัญหาที่ผมจึงได้พยายามเปรียบเทียบการเก็บข้อมูลในรูปแบบต่างๆ อยู่ไม่ว่าจะเป็นรูปแบบ database หรือ xml เท่าที่คิดได้ในตอนนี้ ในการเก็บข้อมูลซึ่งมีปริมาณมาก เช่น การทำรายการประจำวันต่างๆ (ซึ่งบางทีอาจเป็นปัญหาที่ผมกังวลไปเองก็เป็นได้)
ผิดถูกอย่างไรช่วยชี้แนะด้วยครับ
ตัวผมเองก็ไม่ได้เรียนมาทางด้านนี้โดยตรงครับ อาศัยการอ่านเหมือนกับคุณ bandit เลย แล้วก็ชอบเขียนโปรแกรมทั้งที่ไม่ค่อยมีความรู้เรื่องคอมพิวเตอร์ซักเท่าไร่
ผมจบคณะวิศวอุตสาหการครับ จุดเริ่มต้นในการศึกษา OOP นั้นก็มาจากเมื่อตอนเรียนมหาวิทยาลัย ผมได้ลงวิชาเลือกวิชาหนึ่ง ชื่อวิชา Computer Applications for Industrial Engineers
ผมได้ยินคำว่า OOP ครั้งแรกจากอาจารย์ท่านที่สอนวิชานี้ครับและเริ่มต้นด้วย Delphi ตอนแรกๆ ก็ไม่ได้เขียนแบบ OO หรอกครับ ออกแนวลากแปะมากกว่า เข้าใจว่า Object ก็คือพวกคอนโทรลต่างๆ ที่เราลากมาแปะนั่นแหละครับ
ในตอนนั้นผมก็ได้ลองภาษาอื่นๆด้วย เช่น VB6, PHP แต่ผมชอบรูปแบบ syntax และสภาพแวดล้อมในการทำงานของ Delphi มากที่สุด เนื่องจากมันเข้าใจง่ายและผมรู้สึกว่าเป็นภาษาที่สวยงามครับ
เวลาก็ผ่านไปและผมก็ไม่ได้เขียนโปรแกรมอีกเลย เนื่องจากงานที่ผมทำไม่ได้มีความเีกี่ยวข้องกับการเขียนโปรแกรมเลย แต่มันก็ยังอยู่ในความสนใจของผมอยู่
จนกระทั่งอยู่มาวันหนึ่งเพื่อนที่เรียนมาด้วยกันได้วานให้ผมช่วยทำโปรแกรมในการจัดการกิจการร้านที่เขาเปิดขึ้นมา ผมก็ช่่วยเขาทำครับด้วย Delphi นี่แหละจนเสร็จ และขณะนั้นได้ทราบว่าผู้ที่สร้าง Delphi ขึ้นมานั้นได้สร้างภาษาใหม่ขึ้นมาชื่อว่าภาษา C# ผมมีความเลื่อมใสในปรมาจารย์ท่านนี้อยู่แล้ว (คนที่คุณก็รู้ว่าใคร ) ก็เลยไปหาหนังสือมาอ่าน (แต่ก็หลังจากที่ภาษานี้ออกมาได้หลายปีอยู่ครับ ผมเริ่มตอนที่เป็น .net 3.5) และได้ทำความเข้าใจกับแนวความคิดเกี่ยวกับ Object มากขึ้นครับ ประจวบกับทาง Microsoft ไ้ด้มี IDE ให้โหลดใช้ได้ฟรีด้วยครับ ทำให้ผมได้ศึกษามากกว่าเดิม ผมก็เลยอยากจะเขียนโปรแกรมเดิมที่ทำให้เพื่อนนี้ขึ้นมาใหม่และปรับปรุงให้ดียิ่งขึ้นโดยการเขียนโปรแกรมแบบ OO ด้วย C# นี่แหละครับ คล้ายๆ กับจะออกเวอร์ชั่นใหม่ครับ และถ้าเป็นไปได้ในอนาคตผมก็อยากจะทำงานที่เกี่ยวกับการเขียนโปรแกรมบ้างครับ เพราะผมก็เบื่อกับงานเดิมที่ทำอยู่และก็ได้ลาออกมาแล้วครับ
ขอโทษที่ร่ายมาซะยาวเลยนะครับ
ผมมีประเด็นที่อยากแลกเปลี่ยนความคิดเห็นอยู่เล็กน้อยดังนี้ครับ
1. การ Serialization ไม่ยากเลยครับแค่ใช้คำสั่ง Serialize ข้อมูลทั้งหมดที่อยู่ในออปเจคของคุณไม่ว่าจะเป็น List ของลูกค้า, รายการสินค้าต่างๆ ฯลฯ (หรืออาจเีรียกว่า graph) ก็จะถูก save ลงใน file ที่คุณกำหนดไว้ครับ การจะดึงข้อมูลออกมาใช้งานก็ใช้คำสั่ง Deserialize ข้อมูลที่อยู่ใน file ก็จะกลับมาเป็นออปเจคให้คุณใช้งานอีกครั้งครับ จะมีปัญหาก็คือ ในภายหลังหากมีการแก้ไข, เพิ่มเติม, ลบ field หรือ properties ต่างๆ ใน object จะทำให้ Deserialize ออกมาไม่ได้ครับเนื่องจากโครงสร้างข้อมูลเปลี่ยนไป เทียบได้กับการที่เราไปเปลี่ยนชื่อ หรือลบ field ใน database ครับซึ่งจะทำให้โปรแกรมมีปัญหา
2. ปัญหาเกี่ยวกับเรื่องหน่วยความจำที่ผมกังวลก็คือ ในกรณีที่ใช้การ Serialization ในการเก็บข้อมูลนั้นแสดงว่าข้อมูลทั้งหมด (ทั้งหมดเลยจริงๆ) จะต้องถูกโหลดเข้ามาไว้ในหน่วยความจำในรูปแบบของ object แตกต่างจากการใช้ database ดังที่คุณ bandit ได้ตอบมาว่า ข้อมูลจะสามารถเีรียกมาเป็นส่วนๆ ได้โดยที่ข้อมูลส่วนใหญ่นั้นอยู่ใน harddisk ซึ่งจะทำให้ใช้หน่วยความจำน้อยกว่า นี่คือปัญหาที่ผมจึงได้พยายามเปรียบเทียบการเก็บข้อมูลในรูปแบบต่างๆ อยู่ไม่ว่าจะเป็นรูปแบบ database หรือ xml เท่าที่คิดได้ในตอนนี้ ในการเก็บข้อมูลซึ่งมีปริมาณมาก เช่น การทำรายการประจำวันต่างๆ (ซึ่งบางทีอาจเป็นปัญหาที่ผมกังวลไปเองก็เป็นได้)
ผิดถูกอย่างไรช่วยชี้แนะด้วยครับ
NewWorld- จำนวนข้อความ : 5
Join date : 03/08/2010
ผมว่าไม่ต้องห่วง
1. ครับ
2. หน่วยความจำที่คุณห่วงคือ RAM ใช่ไหม ผมว่าไม่ต้องห่วง เพราะถ้าคุณใช้ RAM มากเกินกว่าที่มี Windows จะทดข้อมูลลงในฮาร์ดดิสก์ (swap file หรือ page file)
2. หน่วยความจำที่คุณห่วงคือ RAM ใช่ไหม ผมว่าไม่ต้องห่วง เพราะถ้าคุณใช้ RAM มากเกินกว่าที่มี Windows จะทดข้อมูลลงในฮาร์ดดิสก์ (swap file หรือ page file)
โล่งใจขึ้นเยอะ
ขอบคุณทั้งอาจารย์และคุณ bandit ครับ
ผมจะเป็นกำลังใจและคอยติดตามผลงานของอาจารย์ต่อไปครับ ไม่ว่าจะเป็นเรื่องอะไร
NewWorld- จำนวนข้อความ : 5
Join date : 03/08/2010
หน้า 1 จาก 1
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ
|
|