รู้จักกับ config ที่น่าสนใจของ php ในไฟล์ php.ini by heha

26
Nov
0

PHP มี config ต่างๆ มากมาย หากอยากรู้ว่า server ของเราเซ็ต config อะไรไว้อยู่บ้างให้ทดสอบด้วยการสั่ง phpinfo(); ในไฟล์ php ไฟล์ใดก็ได้ ระบบจะแสดง config ออกมาให้เห็นทั้งหมด รวมไปถึงหากต้องการทราบว่าไฟล์ php.ini อยู่ที่ไหนก็ดูได้จาก phpinfo(); เช่นกัน

ตัวอย่าง phpinfo()

ตัวอย่าง phpinfo()

สำหรับการ setup php ตั้งแต่เวอร์ชั่น 5.3 เป็นต้นไป จะมีไฟล์ php.ini-development เอาไว้เป็น sample ให้ copy เป็น php.ini ถ้าต้องการใช้ทดสอบโปรแกรมเฉยๆ และไฟล์ php.ini-production เอาไว้ใช้ใน server ที่ให้บริการกับลูกค้าจริง

วิธี Invite Friend หรือส่ง Request ใน Facebook ด้วย Javascript SDK by heha

31
Oct
0

ก่อนจะอ่านต่อ แนะนำให้ไปอ่านการใช้งาน Facebook Javascript SDK เบื้องต้นที่บทความเก่าของผมอันนี้ก่อนครับ คือต้องสั่ง FB.init ก่อนจะใช้งานครับ จากนั้นเรามาดูรูปแบบคำสั่งกันเลยดีกว่าครับ (ถ้าใครใช้กับ app เก่าที่มีอยู่แล้ว ให้ปรับที่หน้า developer ของ app tab Advanced ให้ Requests 2.0 Efficient เป็น enable เอาไว้ด้วยครับ)

Request Dialog 2.0

Request Dialog 2.0

[Tips] เปิด Skype แล้ว Start Apache ไม่ได้? by Ziah

31
Oct
0
เปิด Skype แล้วทำให้ Start Apache ไม่ได้

เปิด Skype แล้วทำให้ Start Apache ไม่ได้

เปิด Skype แล้ว Start Apache ไม่ได้ เป็นปัญหาที่แก้ไขได้ง่ายแต่คนส่วนมากมักคาดไม่ถึง เมื่อเราทำการเปิดโปรแกรม Skype มาก่อนการ Start Apache จะทำให้ Apache ไม่ทำงาน เนื่องจาก Skype มีการใช้พอร์ทสำรอง ซึ่งก็คือ 80 และ 433 ซึ่งทำให้ไปชนกับพอร์ทของ Apache โดยวิธีการแก้ง่ายๆก็คือทำการ Start Apache ก่อนที่จะที่จะเปิด Skype และมีอีกวิธีการแก้อย่างถาวรคือไปปิดพอร์ทสำรองของ Skype ซะ ตามนี้ครับ

เข้า Skype ไปที่ Tools -> Options...

เข้า Skype ไปที่ Tools -> Options...

ไปที่แท็บ Advanced -> Connection จากนั้นก็ทำการติ๊ก "Use port 80 and 433 as alternatives for incoming connections" ออกซะครับ

ไปที่แท็บ Advanced -> Connection จากนั้นก็ทำการติ๊ก "Use port 80 and 433 as alternatives for incoming connections" ออกซะครับ

ใช้งานพร้อมกันได้แล้ว :)

ใช้งานพร้อมกันได้แล้ว :)

ปรับสีงานขั้นสุดท้ายด้วย Adjustment Layer by akara

31
Oct
0
เคยเจอปัญหานี้ไหมครับ วาดรูปลงสีจนเสร็จละ ปรากฎว่าอยากปรับสีงานซะหน่อย
แต่จะให้นั่งปรับงานทุก layer ที่อุตส่าห์แบ่งไว้ ก็ยังไงๆอยู่ เดี๋ยวปรับไปปรับมาหลาย layer ก็เพี้ยนอีก
Adjustment Layer ช่วยท่านได้ครับ
Note: วิธีนี้ผมได้พี่ @gumustdo จาก X10studio สอนมาอีกทีครับ
นายแบบของเรา Dark Dragon จากเกม Kingdoms Quest ครับ
1. คลิกที่ปุ่ม Adjustment Layer มุมล่างๆของกล่อง Layer
2. จะมี Adjustment ที่ใช้ในการปรับสีหลายๆแบบมาให้เลือกครับ เช่น Levels, Curves, Brightness/Contrast
3.ปรับแต่งตามต้องการ หรือจะใช้ Preset ของที่มีก็ได้ครับ
เท่านี้ก็เรียบร้อยแล้วครับ
ทำไมต้องใ้ช้วิธีนี้ดียังไง? ใช้วิธีปรับสีธรรมดาๆ ไม่ได้หรอ?
  1. รูป Original ยังอยู่ เผื่อคุณเปลี่ยนใจอยากกลับมาแก้สีเป็นแบบเดิม ก็แค่ลบ Layer ทิ้งครับ
  2. ไม่ต้องมานั่งแก้ทุกๆ Layer ของงาน หรือต้อง Merge Layer ทั้งหมด เดี๋ยวอยากกลับมาแก้งาน จะแก้ไม่ได้นะครับ
  3. ใ่ส่ Adjustment Layer ได้หลายๆ Layer ด้วยนะเอ้อ
  4. ปรับ Opacity ได้้ด้วย

หยุดลูปไม่รู้จบ จากการแรนดอม by dekunderkover

27
Oct
0

จากการแรนดอมเพื่อเรียงตัวเลขใหม่ที่จะใช้ในการสับเปลี่ยนอาร์เรย์


นี่คือการเขียนแบบตรงๆ ดิบๆ เถื่อนๆ ไม่แนะนำให้ทำตาม!!! var intArray:Array = new Array(); var i:int = 50; var j:int = 0; while (i > 0){ var rand:int = Math.floor(Math.random()); for (var k:int = 0; k < intArray.length; k++){ if (rand != intArray[k]){ intArray[j] = rand; i–; j++; } } }
ดูเยอะแยะ วุ่นวายมาก ลูปซ้อนลูป
นี่ยังเขียนไม่เสร็จเลยนะ ได้แค่ตัวเลข 0-49 ที่แรนดอมแล้ว ต้องนำไปดึงอาร์เรย์ตัวเก่ามาเรียงใหม่อีกที


แค่ตรงส่วนนี้ ทำให้เกิดปัญหาหลายอย่าง
1. เกิดการวนลูปซ้ำๆ จากการแรนดอมหลายครั้ง แต่ตัวเลขซ้ำๆกับที่เคยแรนดอมมาในช่วงท้ายๆ
2. หลังจากแรนดอมนานจนเกินไปทำให้เกิด error timeout ซึ่ง timeout โดยทั่วไปจะอยู่ที่ 15 วินาที แล้วทำให้โปรแกรมหยุดการทำงานไปเลย


แต่……..






นี่คือหนทางใหม่ ที่จะไม่เกิดปัญหาเดิมๆนั้น // arr คือ อาร์เรย์ที่มีข้อมูลอยู่แล้ว ต้องการนำมา shuffle ลำดับใหม่ var randomArray:Array = new Array(); while (arr.length > 0){ var tmp:Array = arr.splice(Math.floor(Math.random()*arr.length), 1); randomArray.push(tmp[0]); }
ห๊ะ!!! เสร็จแล้วเหรอ ได้อาร์เรย์ที่สับเปลี่ยนลำดับกันแล้วในอาร์เรย์ที่ชื่อ randomArray


หลักการทำงานคือ นำ arr มา splice ออก ในจุดที่เราแรนดอมออกมา 1 ตัว ได้ออกมาเป็น tmp แล้วเราจึงนำไปใส่ในอาร์เรย์ randomArray


อธิบายง่ายกว่านั้นได้อีกคือ เราเอา arr มาแรนดอมหยิบออกทีละอัน มาโยนใส่ randomArray


ตามโค้ดด้านต้น ท้ายสุด arr จะไม่มีข้อมูลเหลือ ถ้าอยากเก็บข้อมูลแบบเก่าไว้ด้วย อย่าลืมโคลนเก็บไว้ก่อนนะ ;)