ผมได้งานสร้างเว็บลักษณะ Query ฐานข้อมูล (มีประมวลผลด้วยเล็กน้อย) ไม่รู้ว่าจะเรียกว่าเว็บแอพได้หรือเปล่า มีลักษณะประมาณนี้
- หน้าเว็บไม่ได้มีอะไรหวือหวา แบ่งเป็นสามส่วนหลัก คือ 1.ด้านบน เป็นชื่อเว็บ (และโลโก้) และการล็อคอิน 2.ด้านซ้ายเป็นแถบเมนู ถ้าทำได้อยากให้ยุบ-แยกได้ 3.ตัวเนื้อหา อันนี้จะหลากหลายหน่อย ขึ้นอยู่กับเลือกเมนูอะไรอยู่ มีทั้งตาราง รูปภาพ ปุ่มนู่น นี่ นั่น (ปุ่มที่สั่งให้เอาข้อมูลมาประมวลผลก็อยู่ในนี้แหละ)
- การประมวลผล ประมวลที่ Server เพราะงานมันเล็ก ๆ วนลูปเพื่อทำ Trial & Error ไปเรื่อย ๆ จนได้ค่าไกล้เคียง คิดว่าไม่น่าเกินพันลูป นอกนั้น Query แล้วเอามาแสดงผลล้วน ๆ
- ฐานข้อมูลเบื้องหลัง ไม่ใหญ่อะไรมาก คิดว่าอยู่ราว ๆ 30 กว่าตาราง ตารางที่ข้อมูลเยอะสุดราว ๆ หลักพันข้อมูล
- ผู้ใช้งาน peak สุดไม่น่าเกินร้อยคน
ผมเข้าใจว่าเครื่อง Server นี่ไม่ต้องกังวลเลย ใช้ PC ถูก ๆ สมัยนี้ (ไม่เกิน 20,000 ทั้งชุด ไม่รวมซอฟต์แวร์) ก็รับ Load ได้สบาย ๆ ผมออกแบบฐานข้อมูลไว้คร่าว ๆ แล้ว (ตารางความสัมพันธ์ธรรมดา ๆ) รวมทั้งหน้าตาโดยรวมคร่าว ๆ ของเว็บด้วย
ทีนี้มาถึงคำถาม
- ข้างบนนี้ผมเข้าใจถูกหรือเปล่า?
- สำหรับผมที่มีความรู้ทำได้แค่เท่าที่เล่าให้ฟัง รู้จัก html อยู่บ้าง เคยอ่านเรื่องฐานข้อมูลมา (แต่ไม่เคยทำจริงครั้งนี้ครั้งแรกเลย) เคยเขียนโปรแกรมแต่ไม่เคยเขียนเว็บ (โปรแกรมที่เขียนก็เล็กจนรู้สึกกระดากถ้าจะเรียกมันว่าโปรแกรม -*-) พอจะรู้อยู่บ้างว่าจะเขียนเว็บต้องมีตัวจัดการฐานข้อมูล มี server มี UI เป็นหน้ากากส่งคำสั่งไปคุยกับตัวจัดการฐานข้อมูล ฯลฯ (แต่ไม่เคยทำเอง) ไม่ทราบว่าจะแนะนำให้ผมลุยต่อหรือจ้างคนทำดีครับ (มีเวลา 2 เดือนให้ได้ prototype ออกมา)
- ถ้าแนะให้ลุยต่อ รบกวนขอแผนที่หน่อยครับ ผมควรจะใช้ DBMS เจ้าไหนดี ทำ server ยังไงดี ทำเว็บด้วยอะไรดี ถึงจะพอเหมาะกับงาน (คือไม่ต้องมากเกิน เดี๋ยวศึกษาไม่ไหวครับ = =a)
- ถ้าแนะให้จ้างเถอะ คิดว่างานแบบนี้จะประมาณเท่าไหร่ครับ (แนะนำคนทำให้ด้วยก็ดีนะครับ อิอิ)
ขอบคุณทุกท่านล่วงหน้าเลยครับ q^/|^p
on
ถ้าเพิ่งเคยทำครั้งแรก
Balll Thu, 19/09/2013 - 00:37
ถ้าเพิ่งเคยทำครั้งแรก มีเวลาจำกัด และคิดว่าไม่น่าจะศึกษาทันจนตอนจบเขียนออกมาได้ด้วยดี แนะนำให้จ้างไปก่อนครับ
สำหรับเรื่อง server ถ้าระบบไม่เยอะไม่ต้องซื้อเครื่องก็ได้ครับ ใช้พวก vps ไปก่อนน่าจะไหว แล้วค่อยหาโอกาสขยับขยายทีหลังครับ
ทำเว็บ ถ้าเอาศึกษาง่ายๆ คนใช้เยอะ เดี๋ยวนี้สูตรสำเร็จก็ php + mysql ครับผม
ส่วนค่าจ้าง แนะนำให้เขียน spec อย่างละเอียด ทาง dev จะได้ประเมิน manday + ราคาให้ถูกครับ
ขอบคุณครับสำหรับคำตอบ มีแนวโ
-Rookies- Thu, 19/09/2013 - 11:52
In reply to ถ้าเพิ่งเคยทำครั้งแรก by Balll
ขอบคุณครับสำหรับคำตอบ
แนวนี้แนะนำซื้อ Admin
supersuphot Thu, 19/09/2013 - 05:13
แนวนี้แนะนำซื้อ Admin Template มาทำต่อเร็วดี ไม่ต้องออกแบบเยอะ
http://themeforest.net/category/site-templates/admin-templates
ผมคิดว่าไม่ไหวนะครับ
-Rookies- Thu, 19/09/2013 - 11:54
In reply to แนวนี้แนะนำซื้อ Admin by supersuphot
ผมคิดว่าไม่ไหวนะครับ (หมายถึงผมน่ะไม่ไหว - -)
ดูเหมือนจะใช้ภายในบริษัท ข้อ
mementototem Thu, 19/09/2013 - 15:21
ดูเหมือนจะใช้ภายในบริษัท
ภายในเวลาสั้น ๆ คุณมีเวลาเรียนรู้พวก PHP, SQL, HTML, CSS จนพอจะเข้าใจคอนเซ็ปท์ รูปแบบคำสั่ง และผลที่ออกมาได้ไหม? ถ้าได้ คุณสามารถใช้ Google หาวิธีการเรียกใช้/เขียน code บางส่วนจากอินเทอร์เน็ตได้ (stackoverflow) ลองดูโค้ด ลองดูรูปแบบ ดูว่าเอามาประยุกต์กับงานได้ไหม (ว่าแต่ตอนนี้เห็นภาพรวมของงานที่จะออกมาหรือยังครับ ว่าอะไรควรจะเป็นแบบไหนยังไง?)
ถ้าโอเคก็ลองทำดูได้นะครับ แต่งานที่ได้อาจจะไม่ได้ดีอะไรมาก และคุณอาจจะต้องปรับแก้มันอยู่เรื่อย ๆ กว่ามันจะเข้าที่เข้าทาง
อย่าลืมพิจารณาความเสี่ยง/เสียโอกาสด้วยนะครับ (ถ้าเป็นงานสำคัญ ๆ)
PHP + SQL ผมรู้จัก
-Rookies- Thu, 19/09/2013 - 19:32
In reply to ดูเหมือนจะใช้ภายในบริษัท ข้อ by mementototem
ขอบคุณสำหรับคำนะนำครับ ^^
จ้างดีกว่า
likhi1 Fri, 20/09/2013 - 09:31
In reply to PHP + SQL ผมรู้จัก by -Rookies-
จ้างดีกว่า เชื่อผมเวลาน้อยไป...
เข้าใจว่ามีเบสิคโปรแกรมมิ่ง แต่ถ้ามีเวลา 4-6 เดือนอาจทัน
(จากประสบการณ์เคยหัดเขียน PHP โปรเจคเล็กๆ สามสีเดือน มานานแล้ว
พอมาเขียนระบบใหญ่ของจริง เกือบหกเดือนกว่าจะเขียนได้ดั่งใจและเข้าใจระบบ )
หากมีคำสั่งต้องการลูกเล่นเพิ่มเติมคุณต้องมารีเสริชหาวิธีอีก
เครียดสร้างความกดดันป่าวๆ
จ้างแล้วค่อยมาแกะโค๊ดศึกษาเอาดีกว่า
อืม
-Rookies- Fri, 20/09/2013 - 16:29
In reply to จ้างดีกว่า by likhi1
อืม ขอบคุณมากที่แชร์ประสลการณ์ครับ ผมก็คิดว่าคงจะจ้างแล้วล่ะ แต่ก็คงอ่าน ๆ ไปด้วย จะได้คุยกันรู้เรื่อง ^^
การประมวลผล ประมวลที่ Server
McKay Thu, 19/09/2013 - 22:04
การประมวลผล ประมวลที่ Server เพราะงานมันเล็ก ๆ วนลูปเพื่อทำ Trial & Error ไปเรื่อย ๆ จนได้ค่าไกล้เคียง คิดว่าไม่น่าเกินพันลูป นอกนั้น Query แล้วเอามาแสดงผลล้วน ๆ
ลองกำหนด scope ของงานดูหน่อยครับ อย่าง
-'วนลูปเพื่อทำ Trial & Error ไปเรื่อย ๆ จนได้ค่าไกล้เคียง คิดว่าไม่น่าเกินพันลูป' ต้องเสร็จภายในเวลาเท่าใด เกิดจากการทำงานกี่ตาราง/เรคคอร์ด การคำนวนซับซ้อนมากขนาดไหน สามารถใช้ function ง่ายๆเช่น SUM คำนวนได้ไหม หรือจำเป็นต้องเขียนโปรแกรมเพื่อนำมาคำนวนต่างหาก (เพราะถ้านำไปคำนวนใน interpreter อย่าง PHP ตรงๆการคำนวนบางอย่างจะช้ามาก)
-'ผู้ใช้งาน peak สุดไม่น่าเกินร้อยคน' ทั้งหมดคือ concurrent ใช่ไหมครับ แต่ละคนต้อง 'วนลูปเพื่อทำ Trial & Error ไปเรื่อย ๆ จนได้ค่าไกล้เคียง คิดว่าไม่น่าเกินพันลูป' ทุกคนหรือไม่ ถ้าใช่ ทำบ่อยแค่ไหน หรือ cache ค่าได้ไหม
-etc. เช่น การขยายตัวของข้อมูล
คือหลักๆมันติดตรงคำว่าการคำนวนนี่แหละครับ ถ้าเป็น RDBMS เก็บ transaction แล้วนำไปแสดงผลธรรมดาๆมีคำนวนนิดๆหน่อยๆนี่ง่ายมั่กๆ
เสร็จในเวลาระดับ "หลายวินาที"
-Rookies- Fri, 20/09/2013 - 16:41
In reply to การประมวลผล ประมวลที่ Server by McKay
ถ้าแบบนั้นจะเอาแบบไหนก็สบายเล
McKay Fri, 20/09/2013 - 21:43
In reply to เสร็จในเวลาระดับ "หลายวินาที" by -Rookies-
ถ้าแบบนั้นจะเอาแบบไหนก็สบายเลยครับ ^^ ปัญหาเรื่อง performance น่าจะน้อย
แล้วแต่การออกแบบครับ เช่น Category มี record จำนวนเท่าไหร่ เวลานำไปคำนวนต้องใช้มากขนาดไหน ส่วนเรื่องข้อมูลถ้ามันไม่โตไปถึงหลักแสนหลักล้าน record ก็ยังไม่ต้องเป็นห่วงครับกับการ query ธรรมดา การทำ index ปกติก็น่าจะช่วยได้
ส่วนการแตกไปเป็น table ใหม่ๆต้องดูด้วยครับว่าเวลาเรา query มาคำนวนตัวที่หนักๆ เราต้อง query table แยกย่อยมาด้วยหรือเปล่า table แยกย่อยมีจำนวนกี่ record (ตรงนี้อยู่ที่การออกแบบ อย่าลืมว่าทุกการ join คือการคูณกัน แต่ถ้าข้อมูลยังค้างอยู่ใน cache อยู่ก็จะไม่เป็นไปัญหาเท่าไหร่)
เรื่องนี้มันมีเน้นสองแบบก็คือความไวในการ read กับความไวในการ write
ตรงนี้มันขึ้นอยู่กับการออกแบบหน่ะครับ ผมคงช่วยอะไรไม่ได้มาก -0-;;
แค่นี้ก็ช่วยได้มากแล้วครับ
-Rookies- Mon, 23/09/2013 - 12:33
In reply to ถ้าแบบนั้นจะเอาแบบไหนก็สบายเล by McKay
แค่นี้ก็ช่วยได้มากแล้วครับ ขอบคุณมาก ๆ ^^