เคยมีปัญหากับข้อมูลจำนวนมากมายมหาศาลที่ต้องเอาใส่จัดใส่ 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

เทคนิคการเขียน PHP ให้เร็วและ ถูกต้อง by tosawat

30
Jun
0

1. echo เร็วกว่า print
2.เวลาใส่ตัวหนังสือ หรือข้อความให้ใส่ใน ‘ ‘ จะเร็วกว่า ใส่ใน ” ” เพราะว่าเครื่องหมาย “…” มันจะทำการค้นหาตัวแปรที่อยู่ภายในก่อน
3.ใช้คำสั่ง sprintf แทนที่จะยัดตัวแปรลงไปตรงๆ จะทำให้เร็วขึ้น 10เท่า!!
4.เรียกใช้ echo หลายครั้ง จะเร็วกว่าการเสียเวลาเพื่อเชื่อมตัวหนังสือก่อนเรียก echo ครั้งเดียว
5.ในกระบวนการ loop ควรคำนวนค่าต่างๆเอาไว้ก่อนเท่าที่ทำได้ เช่น
for($x=0;$x < count($array);$x)
เราควรเปลี่ยนมาใช้
$max = count($array);
ก่อน ค่อยเอาค่า$max ไปใช้ เพราะว่ามันจะเสียเวลาคำนวนรอบเดียวเท่านั้น
6.พยายามตรวจสอบตัวแปร array ถ้ามีค่าไหนไม่ได้ใช้ก็ unset ทิ้งไปบ้าง
7.พยายามอย่าเรียกใช้ function พิเศษ เช่น __get, __set, __autoload
8.เรียกใช้ require() แทนที่จะใช้ require_once() เท่าที่จะเป็นไปได้
9.ใช้ Full path ในการ include หรือ require เพื่อลดเวลาการค้นหา path ของ OS ที่รัน
10. require() และ include() มันทำงานได้เหมือนกันเลือกใช้ให้ตรงตามความต้องการ มันต่างตรงที่ว่า require() ถ้าไม่พบไฟล์ มันก็หยุดทำงานเลย ความเร็วที่ได้แทบไม่ต่าง
11. ตั้งแต่ PHP5 เวลาจุดเริ่มต้นของการ ประมวลผล จะเรียกได้จาก $_SERVER[?REQUEST_TIME?] ไม่ต้องเรียกใช้ time() หรือ microtime()
12. PCRE regex ทำงานได้เร็วกว่า EREG แต่จะเห็นผลเมื่อใช้ในแบบ native function
13.เมื่อจะประมวลผล XML ใน php ใช้ xml2array จะเป็นการเรียกใช้ PHP XML function และสำหรับ HTML สามารถเรียกใช้ PHP’s DOM document หรือ DOM XML ใน PHP4
14.str_replace ทำงานได้เร็วกว่า preg_replace แต่บางครั้ง strtr ก็ทำงานได้เร็วกว่าถ้าต้องใช้กันตัวหนังสือเยอะๆ และเราจะใช้ array() ในการทำงานของ str_replace จะทำให้ทำงานได้เร็วกว่าการเรียก str_replace หลายรอบ
15. statement else if ทำงานได้เร็วกว่า select statement หรือว่า case/switch
16.การปิด error ด้วย @ ทำให้ทำงานได้ช้ามาก
17.การจะลด bandwidth ให้เรียกใช้ mod_deflate ใน apache 2 และ mod_gzip ใน apache1
18.ปิดการเชื่อมต่อกับ database เมื่อทำงานเสร็จทุกอย่าง
19.$row['id'] เร็วกว่า $row[id] 7เท่า เพราะว่าถ้าเราไม่ใส่เครื่องหมาย มันจะเสียเวลาทำความเข้าใจ index ว่าหมายความว่าอะไร
20.ใช้ tag เมื่อเราจะใช้ PHP แทนการเรียกใช้แบบอื่นๆ รวมทั้งการใช้ short tag ด้วย
21.เขียนโค้ดให้ถูกต้องตามไวยากรณ์ เพื่อลด error ที่จะเกิดขึ้น ซึ่งหลายครั้งมันเป็นเพียง notice หรือ warning เท่านั้น จะทำให้ลด over head ไปได้ หรือว่าลองเปิด error_reporting(E_ALL) เพื่อให้เห็น error แบบเต็มๆ
*เปิดไว้เถอะครับ เขียนให้ถูกต้องเสมอ อย่าซ่อนขยะใต้พรม
22.การแสดงผลแบบ PHP ทำให้หน้าเว็บช้ากว่า static page 2-10 เท่า (ใน apache httpd) ดังนั้น ใช้ php เท่าที่จำเป็น
23.PHP script จะต้องถูกประมวลผลทุกๆครั้งที่มีการเรียกใช้หน้าเว็บ ถ้าไม่มี cache ดังนั้นควรหาระบบ cache มาใช้(เช่น memcached, eAccelerator , Turck MMCache) เพื่อเพิ่มประสิทธิภาพการทำงานได้ 25-100% เพราะว่าจะลดเวลาการประมวลผลลงได้
24.ใช้เทคนิคการทำ cache แบบอื่นๆสำหรับหน้าเว็บที่ไม่ได้มีการเปลี่ยนแปลงมากนัก การทำ cache มันจะเหมือนการแสดงผล HTML ออกหน้าเว็บธรรมดา ลองใช้พวก Smarty หรือ Cache Lite ดู
25.พยายามใช้ isset แทนการใช้ strlen เช่น
if (strlen($foo) prop++) ช้าเป็น 3 เท่าเมื่อเทียบกับ local variable
44.การเพิ่มค่าให้กับตัวแปร local ที่ไม่ได้ประกาศไว้ก่อน ทำให้ช้ากว่าปกติ 9-10 เท่าเมื่อเทียบกับการประกาศไว้ก่อน
45.การสร้างตัวแปร global แม้ว่าจะไม่ได้เอาไปใช้ใน function ก็ทำให้ช้าลง เพราะว่า php จะออกไปเช็คตัวแปร global ที่มีอยู่เสมอ
46.จำนวน method ที่เพิ่มขึ้น ไม่ส่งผลต่อ performance (ถ้าใช้งานเท่าเดิม)
47.method ใน derived classes ทำงานได้เร็วกว่า base class
48.function ที่รับ 1 parameter แต่ใน function ว่างเปล่ามีลักษณะเหมือน การทำงาน $localvar++ 7-8 ครั้ง และถ้าเป็น method ลักษณะนี้ ก็เปรียบกับ $localvar++ 15 ครั้ง
49.ไม่จำเป็นต้องทำทุกอย่างเป็น OOP มันจะทำให้เกิด overhead และ method, object จะทำให้เปลือง memory
50.อย่าวางใจ ข้อมูลที่ได้มาจากการป้อนของ user เช่น form $_POST ให้ใช้ mysql_real_escape_string แทนการใช้ mysql_escape_string หรือ addslashs แต่ถ้า เปิด magic_quotes_gpc ไว้ ก็ให้ใช้ stripslashes ไว้ก่อน
51.ระวังโดน header injection กับ function mail()
52.unset ตัวแปรของ database (อย่างน้อยที่สุดก็ password) ไม่จำเป็นตั้งใช้ หลังจากการเชื่อมต่อ เรียบร้อยแล้ว

credit  http://www.hm2k.com/posts/50-php-optimisation-tips-revisited

เริ่มต้นกับ Redis by tosawat

30
May
0

ก่อนที่จะนำ Redis มาใช้ในระบบงาน เราควรที่จะทำความรู้จักและทำความเข้าใจกับเจ้า Redis ซะก่อน

Redis คือ key-value database เหมือนกับ Memcache แต่ต่างกันตรงที่ Redis นั้นจะมีการบันทึกข้อมูลต่างๆ ลง storage เก็บไว้หากมีการ Restart Server หรือไฟดับ Redis จะสามารถนำข้อมูลที่บันทึกลง storage ไว้กลับมาใน Ram เพื่อให้งานต่อได้ทันที และ Redis มี Libraries หลายภาษาเช่น php, java ,C ,C# เป็นต้น

Data types ต่างๆ ที่สามารถจัดเก็บใน Redis ได้ ประกอบไปด้วย

  • String
  • List
  • Set
  • Sorted sets

ชุดคำสั่งของ Redis แบ่งออกเป็นกลุ่มได้ดังนี้

  • Connection handling
  • Commands operating on all the kind of values
  • Commands operating on string values
  • Commands operating on lists
  • Commands operating on sets
  • Sorting
  • Persistence control commands
  • Remote server control commands

ศึกษาเพิ่มเติมได้ที่ http://www.redis.io/