การแบ่งตาราง (Database) ออกเป็นหลายๆตารางเพื่อลดขนาดของตารางลง by tosawat

31
Dec
0

เคยประสบปัญหาอย่างนี้ไหม “เคยออกแบบ Database ไว้เป็นตารางเดียวแต่มี field เยอะแยะ รวมถึง field ที่เป็นประเภท Text หรือ Longtext ไว้หลาย field พอในตารางมีจำนวน row เยอะมากๆๆ หรือข้อมูลที่เก็บใน field Text มีขนาดใหญ่มาก จึงเจอปัญหาขนาดของข้อมูลใหญ่มากตอนโหลดหรือเซฟ” วิธีแก้ก็ทำอย่างงี้ครับ เราก็สร้างตารางย่อยที่มี field 3 field คือ 1. field ที่เป็น key ของตารางหลักเอาไว้เป็น key ของตารางย่อยเช่นกัน 2. field ที่เป็น ประเภท Text หรือ Longtext ที่เป็นปัญหาของตารางหลัก 3. อันนี้มีหรือไม่มีก็ได้นั่นก็คือ timestamp นั่นเอง ทีนี้เราก็แก้ code ของเราให้เวลา load หรือ save ก้อมาทำที่ตารางย่อยนี้เลยไงครับ

วิธี upgrade php 5.2 >> 5.3 (ไม่ทั้งหมดหรอกนะ เฉพาะที่ใช้ในโปรเจคเราเท่านั้นล่ะ) by tosawat

30
Nov
0

- เวลาจะ new อะไรขึ้นมาใช้ก๊ไม่ต้องใส่ & ข้างหน้าอีกต่อไป เช่น
$a = &new $b; -> $a = new $b;

- เอา & ตอนส่ง parameter ให้ function ออกแล้ว ไปเติม & ตอนประกาศ function แทน เช่น
func(&$param); -> func($param);
function func($param){} -> function func(&$param){}
PS. ถ้าเป็น function มาตรฐาน php เช่น shuffle( &$opp_all ); ก็ไม่ต้องทำไร ลบ & ออกอย่างเดียว

- เปลี่ยน function split เป็น explode เช่น
$a = split(’ ‘,$b,2); แก้เป็น $a = explode(’ ‘,$b,2);

- เปลี่ยน function ereg และ eregi เป็น preg_match และเปลี่ยน parameter ตัวแรกเป็น Regular Expression เช่น
ereg(’_model$’, $model); -> preg_match(’/_model$/’, $model);
eregi(’^(.+):([0-9]+)$’, $hosts[$index], $hostinfo); -> preg_match(’/^(.+):([0-9]+)$/i’, $hosts[$index], $hostinfo);

- เปลี่ยน function ereg_replace และ eregi_replace เป็น preg_replace และเปลี่ยน parameter ตัวแรกเป็น Regular Expression เช่น
ereg_replace(”,$”, “”, $insert); -> preg_replace(”/,$/”, “”, $insert);
eregi_replace(’_form$’, ”, $form); -> preg_replace(’/_form$/i’, ”, $form);

เคยมีปัญหากับข้อมูลจำนวนมากมายมหาศาลที่ต้องเอาใส่จัดใส่ database ไหม?? by tosawat

30
Sep
0

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

วิธีการก็แค่ เอาข้อมูลที่ว่าไปจัดเรียงใส่ excel ใส่หัวตารางเป็นชื่อตัวแปรที่จะต้องเอาไปใช้ใน code แล้ว save ออกมาเป็น .csv ก้อเสร็จขั้นตอนของการเตรียมข้อมูล
ต่อมาเป็นขั้นตอนของการเขียน code กันมั่ง
ก่อนอื่นจะต้องโหลด library ก่อน
แล้วก้อ new ขึ้นมาใช้
จากนั้นก้อเรียก path ที่ไฟล์ .csv ที่เรา save ไว้เมื่อกี้ตั้งอยู่
ต่อจากนั้นก้อวน loop เอาไปใช้งานได้เลยโดยที่ใช้ชื่อของหัวตารางเป็น index ของ array ที่เราใช้วน loop อ่านมาคงจะงงสินะ(ก็แน่ล่ะ คนเขียนก้องงเหมือนกัน ในตอนแรก) งั้นเรามาดูตัวอย่างกันดีกว่า

$this->load->library(’base/parsecsv’);
$csv = new parseCSV();
$csv->parse( ตรงนี้ใส่ path ของไฟล์นะ );
foreach ($csv->data as $row){
ตรงนี้อยากทำอะไรก้อเขียน code ใส่ไปเลย
อ้างถึงตัวแปรก็แบบนี้ $row[ชื่อหัวตารางที่เราตั้งไว้]
}
เป็นไงครับ เขียน code แปปเดียวก็จัดการใส่ข้อมูลมากมายไว้ใน database ได้แล้ว!!

ถ้าต้องส่งค่าผ่าน form โดยไม่ใช้ from ทำยังไง?? by tosawat

30
Sep
0

บางทีเวลาเราอยากจะส่งค่าตัวแปรผ่าน from ไปยังหน้า page อื่นๆ ที่ส่งไปทาง form ปกติไม่ได้นั้น เราจะทำอย่างไรล่ะ??
วิธีแก้นั้นก้อง่ายๆ(แต่ตอนแรกคิดไม่ออกแฮะ) เราก้อทำตัวเป็น form ส่งค่าแทนมันเลยสิ อยากส่งอะไรก้อใส่ ?ชื่อตัวแปร1=ค่าตัวแปร1&ชื่อตัวแปร2=ค่าตัวแปร2…
เมื่อส่งไปแล้วอยากเอามาใช้ก้อ $_GET[ชื่อตัวแปร1],$_GET[ชื่อตัวแปร2]… ก้อเรียบร้อย ห้าห้าห้า!!

ทดสอบ Web Browser ตัวใดจะเร็วที่สุด by tosawat

31
Jul
0

Which is fastest, most standards compliant web browser - IE9, Chrome 12, Firefox 5.0.1, Safari 5.0.5, Opera 11.50 Comparison
IE9 vs Chrome 12 vs Firefox 5.0.1 vs Safari 5.0.5 vs Opera 11.50 โปรแกรมเบราเซอร์ใดเร็วที่สุดและเป็นมาตรฐานที่สุด
เว็บเบราเซอร์เป็นหนึ่งในโปรแกรมที่มีการแข่งขันกันพัฒนาอย่างดุเดือด ซึ่งแม้ว่า Internet Explorer (IE) ของบริษัทยักษ์ใหญ่ด้านซอฟต์แวร์อย่างไมโครซอฟท์จะยังคงครองส่วนแบ่งผู้ใช้มากที่สุดแต่ก็มีแนวโน้มลดลงอย่างต่อเนื่อง ในขณะที่ Chrome ของกูเกิลผู้ให้บริการเสริชเอนจิ้นอันดับหนึ่งนั้นมีส่วนแบ่งเพิ่มขึ้นอย่างต่อเนื่อง ส่วน Firefox ของโมซิลลาก็ยังคงมีจำนวนผู้ใช้เป็นจำนวนมากแม้ว่าในช่วงหลังส่วนแบ่งผู้ใช้ไอาจจะลดลง (ไปให้กับ Chrome ของกูเกิล) แต่ก็เป็นเพียงส่วนน้อย ในขณะที่ผู้พัฒนารายอื่นๆ ทั้งแอปเปิลเจ้าของโปรแกรม Safari, โอเปร่าเจ้าของ Opera ก็ยังมีการออกเวอร์ชันใหม่อย่างต่อเนื่อง โดยผู้พัฒนาแต่ละรายพยายามปรับปรุงและเพิ่มคุณสมบัติใหม่ในโปรแกรมเบราเซอร์ของตนเองเพื่อให้เป็นที่ถูกใจผู้ใช้มากที่สุด ซึ่งนับว่าเป็นผลดีกับผู้ใช้ที่จะได้ใช้โปรแกรมที่ดียิ่งๆ ขึ้น

สำหรับบทความนี้ ขอนำเสนอผลการทดสอบเว็บเบราเซอร์ทั้ง 5 ตัวที่กล่าวมาซึ่งทดสอบโดย Beta News เพื่อหาว่า “โปรแกรมเบราเซอร์ใดเร็วที่สุดและเป็นมาตรฐานที่สุด” โดยทำการทดสอบใน 15 รูปแบบซึ่งครอบคลุมทั้งทางด้านสมรรถนะการทำงาน (Performance)
ความเร็วในการประมวลผล (Rendering speeds), การประมวลผล JavaScript และ DOM operations, การรองรับมาตรฐานเว็บ (Standards compliance) รวมถึงการทดสอบในสภาพแวดล้อมของการใช้งานจริง อย่างเช่น ความเร็วในการเปิดโปรแกรม (Startup time) ความเร็วในการโหลดหน้าเว็บ (Page load time), จำนวนการใช้ซีพียู (CPU usage), จำนวนการใช้หน่วยความ (Memory use), การรองรับมาตรฐานเว็บ (standards compliance )

สำหรับโปรแกรมเบราเซอร์ที่ทำการทดสอบครั้งนี้มีรายละเอียดดังนี้

Chrome 12 (12.0.742.122)

Firefox 5.0.1

IE9 (9.0.8112.16421)

Opera 11.50

Safari 5.0.5

เกณฑ์การให้คะแนน

การทดสอบนี้กำหนดเกณฑ์การให้คะแนนกับโปรแกรมเบราเซอร์ในแต่ละการทดสอบ ดังนี้

โปรแกรมเบราเซอร์ใที่ได้อันดับ 1 ได้ 5 คะแนน

โปรแกรมเบราเซอร์ใที่ได้อันดับ 2 ได้ 4 คะแนน

โปรแกรมเบราเซอร์ใที่ได้อันดับ 3 ได้ 3 คะแนน

โปรแกรมเบราเซอร์ใที่ได้อันดับ 4 ได้ 2 คะแนน

โปรแกรมเบราเซอร์ใที่ได้อันดับ 5 ได้ 1 คะแนน

เครื่องคอมพิวเตอร์ที่ใช้ในการทดสอบ

เครื่องคอมพิวเตอร์ที่ใช้ทำการทดสอบในครั้งนี้ใช้ระบบปฏิบัติการ Windows 32-bit, ใช้ซีพียู Intel Core i7-920, มีหน่วยความจำหลัก (RAM) จำนวน 4GB, ติดตั้งกราฟิกการ์ด nVIDIA GeForce GTX 285, มีฮาร์ดดิสก์ Samsung HD103SJ ความจุ 1TB และได้ทำการปิดระบบประหยัดพลังงาน, ยกเลิกการทำงานของโปรแกรมเบื้องหลังรวมถึงแอพพลิเคชันต่างๆ ที่อาจจะรบกวนการทดสอบออกทั้งหมดก่อนการทดสอบ

1. ผลการทดสอบด้วย SunSpider 0.9.1

การทดสอบด้วย SunSpider 0.9.1 เป็นการวัดประสิทธิภาพของการประมวลผล JavaScript ของโปรแกรมเบราเซอร์ ซึ่งโปรแกรมที่ใช้เวลาทำงานน้อยกว่าแสดงว่ามีประสิทธิภาพดีกว่า ผลการทดสอบปรากฏว่าโปรแกรมเบราเซอร์ที่ได้อันดับที่ 1 ได้แก่ IE9 สามารถทำได้ 219.3 สำหรับผลการทดสอบมีรายละเอียดดังนี้

อันดับที่ 1 IE9 ได้ 219.3

อันดับที่ 2 Firefox 5.0.1 ได้ 243.9

อันดับที่ 3 Opera 11.50 ได้ 252.3

อันดับที่ 4 Chrome 12 ได้ 255

อันดับที่ 5 Safari 5.0.5 ได้ 330.5

SunSpider 0.9.1 (ต่ำกว่า = ดีกว่า)

2. ผลการทดสอบด้วย V8

การทดสอบด้วย V8 เป็นการวัดประสิทธิภาพของการประมวลผล JavaScript ของโปรแกรมเบราเซอร์ ซึ่งโปรแกรมที่ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า ผลการทดสอบปรากฏว่าโปรแกรมเบราเซอร์ที่ได้อันดับที่ 1 ได้แก่ Chrome สามารถทำได้ 8817 สำหรับผลการทดสอบมีรายละเอียดดังนี้

อันดับที่ 1 Chrome ได้ 8817

อันดับที่ 2 Firefox 5.0.1 ได้ 4287

อันดับที่ 3 Opera 11.50 ได้ 4094

อันดับที่ 4 Safari 5.0.5 ได้ 2824

อันดับที่ 5 IE9 ได้ 2598

3. ผลการทดสอบด้วย Kraken 1.1

การทดสอบด้วย Kraken 1.1 เป็นการวัดประสิทธิภาพของการประมวลผล JavaScript ของโปรแกรมเบราเซอร์ ซึ่งโปรแกรมที่ใช้เวลาทำงานน้อยกว่าแสดงว่ามีประสิทธิภาพดีกว่า ผลการทดสอบปรากฏว่าโปรแกรมเบราเซอร์ที่ได้อันดับที่ 1 ได้แก่ Chrome สามารถทำได้ 4179.1 สำหรับผลการทดสอบมีรายละเอียดดังนี้

อันดับที่ 1 Chrome ได้ 4179.1

อันดับที่ 2 Firefox 5.0.1 ได้ 5191.3

อันดับที่ 3 Opera 11.50 ได้ 12077.6

อันดับที่ 4 IE9 ได้ 12778.8

อันดับที่ 5 Safari 5.0.5 ได้ 16195

การทำงานด้าน Rendering and DOM operations

การทดสอบในหัวข้อนี้จะเป็นการประเมินสถมรรถนะในการประมวลด้าน Document Object Model แบ่งการทดสอบเป็น 3 หัวข้อ คือ Asteroids HTML5 Canvas, GUIMark2 Flash, GUIMark2 HTML5 Vector, Dromaeo DOM Core และ Peacekeeper โดยแต่ละการทดสอบมีผลดังนี้

4. Asteroids HTML5 Canvas (ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า)

อันดับที่ 1 IE9 ได้ 2871

อันดับที่ 2 Chrome 12 ได้ 2146

อันดับที่ 3 Opera 11.50 ได้ 1712

อันดับที่ 4 Safari 5.0.5 ได้ 1032

อันดับที่ 5 Firefox 5.0.1 ได้ 791

5. GUIMark2 Flash (ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า)

อันดับที่ 1 Safari 5.0.5 ได้ 58.89

อันดับที่ 2 Opera 11.50 ได้ 58.63

อันดับที่ 3 IE9 ได้ 56.21

อันดับที่ 4 Firefox 5.0.1 ได้ 48.43

อันดับที่ 5 Chrome 12 ได้ 46.02

6. GUIMark2 HTML5 Vector (ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า)

อันดับที่ 1 Chrome 12 ได้ 46.1

อันดับที่ 2 Opera 11.50 ได้ 31.37

อันดับที่ 3 Safari 5.0.5 ได้ 25.08

อันดับที่ 4 Firefox 5.0.1 ได้ 20.76

อันดับที่ 5 IE9 ได้ 19.71

7. Dromaeo DOM Core (ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า)

อันดับที่ 1 Safari 5.0.5 ได้ 1415.29

อันดับที่ 2 Chrome 12 ได้ 1115.87

อันดับที่ 3 Firefox 5.0.1 ได้ 967.65

อันดับที่ 4 Opera 11.50 ได้ 613.73

อันดับที่ 5 IE9 ได้ 243.44

8. Peacekeeper (ได้คะแนนสูงกว่าแสดงว่ามีประสิทธิภาพดีกว่า)

อันดับที่ 1 Opera 11.50 ได้ 10826

อันดับที่ 2 Chrome 12 ได้ 10497

อันดับที่ 3 IE9 ได้ 6409

อันดับที่ 4 Firefox 5.0.1 ได้ 5713

อันดับที่ 5 Safari 5.0.5 ได้ 5122

9. ผลการทดสอบด้วย Acid3

การทดสอบด้วย Acid3 เป็นการวัดมาตรฐานของโปรแกรมเบราเซอร์ ซึ่งโปรแกรมที่สามารถผ่านการทดสอบได้มากกว่าแสดงว่าสามารถรองรับมาตรฐานได้ดีกว่า ผลการทดสอบปรากฏว่าโปรแกรม Chrome 12, Opera 11.50 และ Safari 5.0.5 สามารถผ่านทั้ง 100 การทดสอบ ในขณะที่ Firefox 5.0.1 ผ่านการทดสอบ 97 การทดสอบ ส่วน IE9 ผ่าน 95 การทดสอบ

Acid3 (สูงกว่า = ดีกว่า)

10. ผลการทดสอบด้วย HTML5

การทดสอบด้วย HTML5 Test เป็นการวัดการรองรับมาตรฐาน HTML5 ของโปรแกรมเบราเซอร์ ซึ่งโปรแกรมที่สามารถผ่านการทดสอบได้มากกว่าแสดงว่าสามารถรองรับมาตรฐาน HTML5 ได้ดีกว่า ผลการทดสอบปรากฏว่าโปรแกรมเบราเซอร์ที่ได้อันดับที่ 1 ได้แก่ Chrome 12 โดยสามารถทำได้ 341 สำหรับผลการทดสอบมีรายละเอียดดังนี้

อันดับที่ 1 Chrome 12 ได้ 341

อันดับที่ 2 Firefox 5.0.1 ได้ 295

อันดับที่ 3 Opera 11.50 ได้ 293

อันดับที่ 4 Safari 5.0.5 ได้ 260

อันดับที่ 5 IE9 ได้ 146

HTML5 Test (สูงกว่า = ดีกว่า)

ทดสอบการทำงานในสภาพแวดล้อมการใช้งานจริง

การทดสอบในหัวข้อนี้เป็นการประเมินเวลาที่ใช้ในการเปิดโปรแกรม (Start time) เวลาที่ใช้ในการโหลดหน้าเว็บไซต์ Facebook, จำนวนการใช้งานซีพียู (CPU usage) และจำนวนการใช้หน่วยความจำ (RAM use) เมื่อเปิด 1 แท็บและ 10 แท็บ โดยแต่ละการทดสอบมีผลดังนี้

11. Start time (หน่วยเป็นวินาที, ใช้เวลาน้อยกว่าดีกว่า)

อันดับที่ 1 IE9 ได้ 0.67

อันดับที่ 2 Chrome 12 ได้ 0.87

อันดับที่ 3 Firefox 5.0.1 ได้ 1.14

อันดับที่ 4 Safari 5.0.5 ได้ 1.49

อันดับที่ 5 Opera 11.50 ได้ 1.93

Start time (ต่ำกว่า = ดีกว่า)

12. Facebook load time (หน่วยเป็นวินาที, ใช้เวลาน้อยกว่าดีกว่า)

อันดับที่ 1 Chrome 12 ได้ 1.47

อันดับที่ 2 Safari 5.0.5 ได้ 1.5

อันดับที่ 3 Opera 11.50 ได้ 1.88

อันดับที่ 4 IE9 ได้ 2.25

อันดับที่ 5 Firefox 5.0.1 ได้ 2.5

13. CPU usage (หน่วยเป็นวินาที, ใช้เวลาน้อยกว่าดีกว่า)

อันดับที่ 1 Firefox 5.0.1 ได้ 115

อันดับที่ 2 Chrome 12 ได้ 136

อันดับที่ 3 IE9 ได้ 166

อันดับที่ 5 Safari 5.0.5 ได้ 167

อันดับที่ 4 Opera 11.50 ได้ 174

14. RAM use (หน่วย MB, 1 แท็บ, ค่าน้อยกว่าดีกว่า)

อันดับที่ 1 Safari 5.0.5 ได้ 58.89

อันดับที่ 2 Opera 11.50 ได้ 58.63

อันดับที่ 3 IE9 ได้ 56.21

อันดับที่ 4 Chrome 12 ได้ 46.02

อันดับที่ 5 Firefox 5.0.1 ได้ 48.43

15. RAM use (หน่วย MB, 10 แท็บ, ค่าน้อยกว่าดีกว่า)

อันดับที่ 1 Opera 11.50 ได้ 58.63

อันดับที่ 2 Safari 5.0.5 ได้ 58.89

อันดับที่ 3 Firefox 5.0.1 ได้ 48.43

อันดับที่ 4 IE9 ได้ 56.21

อันดับที่ 5 Chrome 12 ได้ 46.02

สรุปผลการทดสอบ

การหาว่าโปรแกรมเบราเซอร์ตัวใดที่ได้อันดับ 1 ในจำนวน 5 โปรแกรมที่ทดสอบนั้นจะคำนวณจากคะแนนที่โปรแกรมเบราเซอร์แต่ละตัวได้จากทั้ง 15 การทดสอบ ซึ่งผลปรากฏว่า โปรแกรมเบราเซอร์ที่ได้อันดับที่ 1 ได้แก่ Chrome 12 ของกูเกิล สามารถทำได้ถึง 60 คะแนน โดบมีอันดับคะแนนรวมดังนี้

อันดับที่ 1 Chrome 12 ได้ 60 คะแนน

อันดับที่ 2 Opera 11.50 ได้ 52 คะแนน

อันดับที่ 3 Firefox 5.0.1 ได้ 45 คะแนน

อันดับที่ 4 Safari 5.0.5 ได้ 44 คะแนน

อันดับที่ 5 IE9 ได้ 42 คะแนน

Final Score (สูงกว่า = ดีกว่า)

ความเห็นของผู้เขียน

ลางเนื้อชอบลางยา -> แต่ละคนก้อมีความชอบแตกต่างกันไป , ดังนั้น ใครอยากใช้ Web Browser ตัวไหนก็ใช้ไปเถอะ เพราะผู้พัฒนาเค้าก็พยายาม พัฒนากันเต็มที่เพื่อแข่งกันเองอยู่แล้ว ผู้ใช้มีแต่ได้กับได้อยู่แล้ว (พูดตรงไปไหม).

Credit : http://thaiwinadmin.blogspot.com