สำหรับใครที่เคยเล่นเกมตระกูล Command & Conquer: Tiberian Sun คุณรู้ไม่ว่าหลังจากที่ EA ซื้อสตูผลิดเกมนี้ไปแล้ว เราก็ปล่อยเป็น Freeware สามารถลงหาลิงค์ดาวโหลดกันได้จาก google หรือ ลิงค์นี้ Command & Conquer: Tiberian Sun + Expansion Full Free Game
ย้อนอดีตกันหน่อยสำหรับเกม Command & Conquer: Tiberian Sun นั้นเป็นเกมวางแผน (RTS) โดยใช้การแสดงผลเป็นแบบสองมิติ พัฒนาโดย Westwood Studios เกมนี้ผมเล่นตั้งแต่คอมพิวเตอร์ยังใช้เป็น AMD Duron 800 Mhz ย้อนไปตั้งสิบปีกว่าเลยทีเดียว เล่นโหมดเนื้อเรื่องสนุก ภาพสวย ถึงแม้เทียบภาพการแสดงผลกับเวอร์ชั่น Command & Conquer 4 ไม่ได้แต่รูปแบบการเล่นสนุกกว่ากันมาก ถ้าใครไม่เคยเล่นผมแนะนำว่าควรลองเล่น แล้วจะรู้ว่าเกมเก่าๆ บางเกมสนุกกว่าเกมใหม่ๆมาก
เปรียบเทียบ
Command & Conquer: Tiberian Sun
Command & Conquer 4
วันเสาร์ที่ 30 พฤศจิกายน พ.ศ. 2556
วันพฤหัสบดีที่ 24 ตุลาคม พ.ศ. 2556
แนะเครื่องมือช่วยในการเขียนโค้ดโปรแกรม IDE, Text editor
เนื่องจากโดยส่วนตัวแล้วผมเองชอบเขียนโปรแกรมหลากหลายภาษา ดังนั้นวันนี้จึงจะมาแบ่งปันเครื่องมือที่ผมชอบใช้กับการเขียนโปรแกรมภาษาต่างๆ รวมถึงเฟรมเวิร์ค
1. Notepad++
Notepad++ เป็นเครื่องมือสำหรับแก้ไขโค้ดโปรแกรม (Text Editor) แบบเน้นๆไม่มีตัวช่วยมากนัก เหมาะสำหรับคนที่ต้องการความเร็วในการทำงาน มี Syntax Highlight ให้หลากหลายภาษา โดยส่วนตัวแล้วผมจะใช้แก้โค้ดที่เกิดมีข้อผิดพลาดไม่มาก
ข้อดีโดยสรุปที่ได้ใช้งาน
1. Notepad++
Notepad++ เป็นเครื่องมือสำหรับแก้ไขโค้ดโปรแกรม (Text Editor) แบบเน้นๆไม่มีตัวช่วยมากนัก เหมาะสำหรับคนที่ต้องการความเร็วในการทำงาน มี Syntax Highlight ให้หลากหลายภาษา โดยส่วนตัวแล้วผมจะใช้แก้โค้ดที่เกิดมีข้อผิดพลาดไม่มาก
ข้อดีโดยสรุปที่ได้ใช้งาน
- ฟรีแวร์
- เปิดโปรแกรมเร็ว
- ไม่มีปัญหากับภาษาไทย (สระไม่ลอย)
- มีส่วนเสริมช่วยในการทำงานมากและฟรี
ป้ายกำกับ:
eclipse,
enide,
erlang,
erlide,
ide,
javascript,
netbeans,
notepad++,
php,
text editor
วันจันทร์ที่ 30 กันยายน พ.ศ. 2556
Netbeans 7.4 + Cordova และทำกราฟด้วย jqPlot
มีเวลาเขียนบนความแค่เดือนละครั้ง วันนี้ก็เลยจะมาแนะนำ Cordova ซึ่งเป็นแฟลตฟอร์มที่ใช้สร้างแอปพลิเคชั่นแบบ Native บนอุปกรณ์พกพา โดยใช้ภาษา HTML, CSS, Javascript สนับสนุนการทำงานบน iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, และ Symbian การติดตั้งและใช้งาน ดูได้จากลิงค์นี้ ข่าวดีตอนนี้มันกำลังรวมกับเครื่องมือพัฒนาที่ดีอีกอย่างก็คือ Netbean 7.4 ( ตอนนี้ยังเป็น NetBeans IDE 7.4 RC1 ) ลองดาวน์โหลด และดูวิธีติดตั้งเพื่อใช้งาน Cordova ได้ที่นี่
อันสุดท้ายที่จะมาแนะนำในวันนี้ก็คือ jqPlot เป็นปลั๊กอินของ jQuery ที่ช่วยในการสร้างกราฟรูปแบบต่าง ใช้งานง่าย และที่สำคัญ ซึ่งผมชอบมาก็คือสามารถบันทึกออกมาเป็นไฟล์รูปไว้ใช้ในงานในเอกสารได้ด้วย ตัวอย่างการใช้งานดูได้จากไฟล์ที่ดาวน์โหลดไปครับ
อันสุดท้ายที่จะมาแนะนำในวันนี้ก็คือ jqPlot เป็นปลั๊กอินของ jQuery ที่ช่วยในการสร้างกราฟรูปแบบต่าง ใช้งานง่าย และที่สำคัญ ซึ่งผมชอบมาก็คือสามารถบันทึกออกมาเป็นไฟล์รูปไว้ใช้ในงานในเอกสารได้ด้วย ตัวอย่างการใช้งานดูได้จากไฟล์ที่ดาวน์โหลดไปครับ
วันเสาร์ที่ 31 สิงหาคม พ.ศ. 2556
เฟรมเวิร์คและไลบรารี Javascritp พัฒนาเกมแสดงผลผ่าน HTML5
สำหรับใครที่สนใจการเขียนเกมบนเว็บไซต์ วันนี้ผมก็ขอแนะนำเฟรมเวิร์คที่น่าสนใจ ซึ่งก็คือ
Impact เป็นเกมเอ็นจิ้นตัวหนึ่งที่มีความสามารถสูง เครื่องมือพร้อมในการพัฒนาเกม รวมถึงการสนับสนุน การแสดงผลทั้งแบบ Desktop และ Mobile แต่มันไม่ฟรี สามารถลองอ่านเอกสารวิธีใช้ก่อนซื้อ หรือ ดูผลงานเกมที่ใช้ Impact ส่วนตัวผมชอบเกมนี้ CrossCode
CreateJS เป็นชุดไลบรารี ที่สร้างมาสำหรับทำงานอินเตอเรคทีฟผ่าน HTML5 ประกอบด้วย
EaselJS ไลบรารีช่วยในการแสดงภาพผ่าน Canvas ของ HTML5 ให้ง่ายขึ้น
TweenJS ช่วยสร้างการเคลื่อนไหวแบบ Tweening
SoundJS จัดการเล่นเสียง
PreloadJS จัดการโหลดสิ่งที่ต้องการ ก่อนนำไปใช้งาน ทั้งภาพ เสียง สคริป และข้อมูลอื่นๆ
ข้อดีคือฟรี และมีผู้สนับสนุนใหญ่อย่าง Adobe และ Microsoft อยู่ อีกทั้งไลบรารีนี้ Adobe ใช้เป็นไลบรารีสำหรับแสดงผล เมื่อทำการแปลงจาก Flash เป็น HTML5
Atari Arcade SDK ชุดเครื่องมือช่วยสร้างเกมที่มีพื้นฐานจาก CreateJS ตัวอย่างเกมดูได้ทางนี้ โดยเขียนสนับสนุนโดยหลักให้ใช้กับ IE และ Windows 8
enchant.js เป็นชุดไลบรารีที่ค่อนข้างครบที่สุดสำหรับการสร้างเกม สนับสนุนทั้งเว็บเบราเซอร์ทั้งบน Desktop และ Mobile สนับสนุนการพัฒนาบน Windows 8 มีตัวช่วยสร้างการเคลื่อนไหวแบบ Tweening สนับสนุนการเขียนแสดงผลทั้งบน Canvas และ DOM รวมถึงแสดงผล 3D ผ่าน WebGL และที่สำคัญฟรีในการใช้งาน พัฒนาและดูแลโดย Akihabara Research Center ของญี่ปุ่น ตัวอย่างเกม ส่วนมากเป็นของญี่ปุ่น
Impact เป็นเกมเอ็นจิ้นตัวหนึ่งที่มีความสามารถสูง เครื่องมือพร้อมในการพัฒนาเกม รวมถึงการสนับสนุน การแสดงผลทั้งแบบ Desktop และ Mobile แต่มันไม่ฟรี สามารถลองอ่านเอกสารวิธีใช้ก่อนซื้อ หรือ ดูผลงานเกมที่ใช้ Impact ส่วนตัวผมชอบเกมนี้ CrossCode
CreateJS เป็นชุดไลบรารี ที่สร้างมาสำหรับทำงานอินเตอเรคทีฟผ่าน HTML5 ประกอบด้วย
EaselJS ไลบรารีช่วยในการแสดงภาพผ่าน Canvas ของ HTML5 ให้ง่ายขึ้น
TweenJS ช่วยสร้างการเคลื่อนไหวแบบ Tweening
SoundJS จัดการเล่นเสียง
PreloadJS จัดการโหลดสิ่งที่ต้องการ ก่อนนำไปใช้งาน ทั้งภาพ เสียง สคริป และข้อมูลอื่นๆ
ข้อดีคือฟรี และมีผู้สนับสนุนใหญ่อย่าง Adobe และ Microsoft อยู่ อีกทั้งไลบรารีนี้ Adobe ใช้เป็นไลบรารีสำหรับแสดงผล เมื่อทำการแปลงจาก Flash เป็น HTML5
Atari Arcade SDK ชุดเครื่องมือช่วยสร้างเกมที่มีพื้นฐานจาก CreateJS ตัวอย่างเกมดูได้ทางนี้ โดยเขียนสนับสนุนโดยหลักให้ใช้กับ IE และ Windows 8
enchant.js เป็นชุดไลบรารีที่ค่อนข้างครบที่สุดสำหรับการสร้างเกม สนับสนุนทั้งเว็บเบราเซอร์ทั้งบน Desktop และ Mobile สนับสนุนการพัฒนาบน Windows 8 มีตัวช่วยสร้างการเคลื่อนไหวแบบ Tweening สนับสนุนการเขียนแสดงผลทั้งบน Canvas และ DOM รวมถึงแสดงผล 3D ผ่าน WebGL และที่สำคัญฟรีในการใช้งาน พัฒนาและดูแลโดย Akihabara Research Center ของญี่ปุ่น ตัวอย่างเกม ส่วนมากเป็นของญี่ปุ่น
ป้ายกำกับ:
Atari Arcade SDK,
createjs,
enchant.js,
impact
วันพุธที่ 31 กรกฎาคม พ.ศ. 2556
แนะนำเครื่องมือสร้างเกม Project Anarchy และ Unity
ปัจจุบันถ้าเราต้องการสร้างเกมให้รวดเร็ว และเล่นได้หลายแฟลทฟอร์ม ไม่ว่าจะเป็น Android, iOS, Windows หรือเครื่องแบบอื่นๆ การที่เราจะต้องมานั้นสร้างโค้ดหรือปรับแต่งกราฟฟิคต่างๆ ให้เหมาะสมกับทุกแฟลทฟอร์ม ทำให้เราเสียเวลาและโอกาสในการสร้างและเผยแพร่เกมของเรา
ดังนั้นปัจจุบันจึงมีการออกเครื่องมือมากมาย มาเป็นตัวช่วยในการสร้างเกม ซึ่งวันนี้ที่จะแนะนำก็คือ
Project Anarchy ผู้สนับสนุนหลักคือ Intel เป็นเครื่องมือสร้างเกมที่ประกอบด้วยเครื่องมือ สร้างภาพเคลื่อนไหว เอฟเฟค ฉาก เขียนการควบคุมผ่าน Lua script เกมที่สร้างขึ้นอยู่บนพื้นฐานของ Havok สามารถสร้างเกมบน Android, iOS Tizen ได้ฟรีไม่ต้องซื้อไลเซนต์เพิ่มเติ่ม ส่วนการสร้างเกมบน Windows ก็สามารถทำได้แต่ ณ ตอนนี้การที่จะขายเกมที่สร้างเพื่อเล่นบน Windows ต้องจ่ายเงินซื้อไลเซนต์เพิ่มเติม
Unity เครื่องมือสร้างเกมที่ค่อนข้างได้รับความนิยมในการนำไปใช้งานเป็นอย่างมากในปัจจุบัน มีทั้งเวอร์ชั่นฟรี และโปร ซึ่งทั้งสองสามารถสร้างเกมได้ทั้งบน Android, BlackBerry, iOS, Windows จุดเด่นคือใช้งานง่าย มีกลุ่มผู้ใช้จำนวนมากทำให้เวลาเกิดปัญหาสามารถหาทางแก้ไขได้ง่าย
ดังนั้นปัจจุบันจึงมีการออกเครื่องมือมากมาย มาเป็นตัวช่วยในการสร้างเกม ซึ่งวันนี้ที่จะแนะนำก็คือ
Project Anarchy ผู้สนับสนุนหลักคือ Intel เป็นเครื่องมือสร้างเกมที่ประกอบด้วยเครื่องมือ สร้างภาพเคลื่อนไหว เอฟเฟค ฉาก เขียนการควบคุมผ่าน Lua script เกมที่สร้างขึ้นอยู่บนพื้นฐานของ Havok สามารถสร้างเกมบน Android, iOS Tizen ได้ฟรีไม่ต้องซื้อไลเซนต์เพิ่มเติ่ม ส่วนการสร้างเกมบน Windows ก็สามารถทำได้แต่ ณ ตอนนี้การที่จะขายเกมที่สร้างเพื่อเล่นบน Windows ต้องจ่ายเงินซื้อไลเซนต์เพิ่มเติม
Unity เครื่องมือสร้างเกมที่ค่อนข้างได้รับความนิยมในการนำไปใช้งานเป็นอย่างมากในปัจจุบัน มีทั้งเวอร์ชั่นฟรี และโปร ซึ่งทั้งสองสามารถสร้างเกมได้ทั้งบน Android, BlackBerry, iOS, Windows จุดเด่นคือใช้งานง่าย มีกลุ่มผู้ใช้จำนวนมากทำให้เวลาเกิดปัญหาสามารถหาทางแก้ไขได้ง่าย
วันอาทิตย์ที่ 9 มิถุนายน พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 4
Functions
- ฟังก์ชั่นถูกจัดกลุ่มเก็บไว้ใน module
- ชื่อฟังก์ชั่นเป็น atom
- ฟังก์ชั่นประกอบด้วยส่วนหัวคือชื่อของฟังก์ชั่น และวงเล็บพารามิเตอร์
- จำนวนพารามิเตอร์เรียก arity
- ใช้เครื่องหมายลูกศร (->) เป็นตัวแยกส่วนหัวกับ ตัวของฟังก์ชั่น
ตัวอย่างฟังก์ชั่นคำนวณพื้นที่ของรูปทรง
area({square,Side})->
Side*Side;
area({cicle,Radius})->
math:pi()*Radius*Raduis;
area({triangle,A,B,C})->
S=(A+B+C)/2,
math:sqrt(S*(S-A)*(S-B)*(S-C));
area(Other)->
{error,invalid_object}.
การใช้งานฟังก์ชั่น เมื่อมีการผ่านค่าพารามิเตอร์ จะมีการตรวจสอบรูปแบบของพารามิเตอร์ว่ามีความสัมพันธ์ตรงกับฟังก์ชั่นใด
1. เทียบแล้วถ้ามีรูปแบบที่ถูกต้อง ตัวแปรถูกผูก ส่วนของคำสั่งภายในฟังก์ชั่นประมวลผล
2. ถ้าไม่ ให้เทียบกับฟังก์ชั่นถัดไป
3. ถ้าไม่มีฟังก์ชั่นใดที่รูปแบบตรงกับพารามิเตอร์ ให้ทำฟังก์ชั่น area(Other) ซึ่งเป็นฟังก์ชั่น catch-all
ตัวอย่างฟังก์ชั่น factorial แบบ recursive
factorial(0)-> 1;
factorial(N)->
N*factorial(N-1);
- ฟังก์ชั่นถูกจัดกลุ่มเก็บไว้ใน module
- ชื่อฟังก์ชั่นเป็น atom
- ฟังก์ชั่นประกอบด้วยส่วนหัวคือชื่อของฟังก์ชั่น และวงเล็บพารามิเตอร์
- จำนวนพารามิเตอร์เรียก arity
- ใช้เครื่องหมายลูกศร (->) เป็นตัวแยกส่วนหัวกับ ตัวของฟังก์ชั่น
ตัวอย่างฟังก์ชั่นคำนวณพื้นที่ของรูปทรง
area({square,Side})->
Side*Side;
area({cicle,Radius})->
math:pi()*Radius*Raduis;
area({triangle,A,B,C})->
S=(A+B+C)/2,
math:sqrt(S*(S-A)*(S-B)*(S-C));
area(Other)->
{error,invalid_object}.
การใช้งานฟังก์ชั่น เมื่อมีการผ่านค่าพารามิเตอร์ จะมีการตรวจสอบรูปแบบของพารามิเตอร์ว่ามีความสัมพันธ์ตรงกับฟังก์ชั่นใด
1. เทียบแล้วถ้ามีรูปแบบที่ถูกต้อง ตัวแปรถูกผูก ส่วนของคำสั่งภายในฟังก์ชั่นประมวลผล
2. ถ้าไม่ ให้เทียบกับฟังก์ชั่นถัดไป
3. ถ้าไม่มีฟังก์ชั่นใดที่รูปแบบตรงกับพารามิเตอร์ ให้ทำฟังก์ชั่น area(Other) ซึ่งเป็นฟังก์ชั่น catch-all
ตัวอย่างฟังก์ชั่น factorial แบบ recursive
factorial(0)-> 1;
factorial(N)->
N*factorial(N-1);
ป้ายกำกับ:
erlang
วันอังคารที่ 4 มิถุนายน พ.ศ. 2556
แนะนำการให้งานสีของ Copic กับโปรแกรมวาดรูป
สำหรับผลิตภัณฑ์ของ Copic นั้นเป็นที่นิยมให้ในงานวาด ออกแบบ และลงสีใหนังสือการ์ตูน มังงะ แต่ตัวผลิตภัณฑ์นั้นก็มีราคาค่อนข้างสูง แต่ก็มีวิธีที่จะใช้สีของโคบิคมาใช้กับโปรแกรมต่างๆบนคอมพิวเตอร์ได้ ผ่านการโหลดชุดสีที่สร้างขึ้น ซึ่งสามารถโหลดมาใช้งานได้
สำหรับ palette หรือ swatch สำหรับโปรแกรมของ Adobe
เทคนิคการเลือกใช้สี
หรือโหลด Autodesk SketchBook Copic Edition ซึ่งมีชุดสี Copic Comic 72
โหลด Palette สีแบบ gpl และ apl
Copic 358
Copic Comic 72
ไฟล์ gpl สำหรับ Gimp,Inkscape,MyPaint
สำหรับ palette หรือ swatch สำหรับโปรแกรมของ Adobe
เทคนิคการเลือกใช้สี
หรือโหลด Autodesk SketchBook Copic Edition ซึ่งมีชุดสี Copic Comic 72
โหลด Palette สีแบบ gpl และ apl
Copic 358
Copic Comic 72
ไฟล์ gpl สำหรับ Gimp,Inkscape,MyPaint
ตัวอย่างใช้กับ Inkscape
ป้ายกำกับ:
azdrawing2,
azpainter2,
Copic Marker,
Gimp,
gpl,
Inkscape
แนะนำ Git บน Windows
Git ถูกใช้เป็นเครื่องมือในการจัดการซอสโค้ดของโปรแกรม
หรือโปรเจคงานที่สร้างขึ้น ให้เป็นระเบียบสามารถติดตามการเพิ่ม ลบ แก้ไขไฟล์ต่างๆ รวมถึงย้อนกลับการแก้ไขในครั้งก่อน
ซึ่งช่วยให้โค้ดโปรแกรม หรือโปรเจคงาน มีข้อผิดพลาดที่น้อยลง สามารถทำงานร่วมกันกับบุคคลอื่น
ได้พร้อมกันเห็นการเปลี่ยนแปลงที่เกิดขึ้น และลดความซ้ำซ้อนในการทำงานง่ายในการตรวจสอบ
ป้ายกำกับ:
git
วันศุกร์ที่ 31 พฤษภาคม พ.ศ. 2556
Laravel 4 ตอนที่ 2 พื้นฐานการทำ Routing
พื้นฐานการกำหนดเส้นทาง Routing
การกำหนดเส้นทางเมื่อมีการเรียกผ่าน URIs ว่าถ้ามีการผ่านค่าเข้ามาแล้ว จะกระทำอย่างไรกับค่าที่เข้ามานั้น เรากำหนดและแก้ไขใน app/routes.phpตัวอย่างการผ่านค่า URIs ที่จะแสดงต่อไปนี้กำหนดให้มี URL หลัก http://laravel.dev/ ทำการเปิดใช้งาน rewite_module เพื่อไม่ให้แสดง index.php เช่น
http://laravel.dev/index.php/hello เป็น http://laravel.dev/hello
กำหนดเส้นทางเมื่อเรียกผ่าน GET
Route::get('/',function(){
return View::make('home.index');
});
เมื่อเรียกผ่าน http://laravel.dev/ สร้าง View จากไฟล์ที่อยู่ใน app/views/home/index.php
Route::get('hello',function()
{
return View::make('hello');
});
เมื่อเรียกผ่าน http://laravel.dev/hello สร้าง View จากไฟล์ที่อยู่ใน app/views/hello.php
Route::get('/hello/world', function()
{
return 'Hello World';
});
เมื่อเรียกผ่าน http://laravel.dev/hello/world แสดงข้อความ Hello World
วันพฤหัสบดีที่ 30 พฤษภาคม พ.ศ. 2556
Laravel 4 ตอนที่ 1 ติดตั้ง
การติดตั้งและใช้งานบน Windows
- ติดตั้ง php webserver ก่อนถ้ายังไม่มีตัวอย่างเช่น wamp
- ทำการติดตั้ง Composer
- ตั้งค่า PATH ในวินโดว์ให้ชี้ไปที่โฟลเดอร์ที่เก็บ php.exe และ composer.bat
- ทำการดาวโหลด laravel เวอร์ชั่นล่าสุด คลายซิปไว้ในไดเรกทอรีของเว็บเซิฟเวอร์
- เข้าไปในไดเรกเทอรี ทำการติดตั้ง framework อื่นโดยการใช้งาน Composer โดยใช้คำสั่ง composer.bat install หลังจากติดตั้งแล้วเราสามารถทำการอัพเดต framework ของเราผ่านการใช้คำสั่ง composer.bat update
- หรือติดตั้งโดยสร้างโปรเจคให้ใหม่ โดยใช้คำสั่ง
composer create-project laravel/laravel your-project-name --prefer-dist
ปัญหาที่เกิดขึ้นคือ เมื่อ Composer มีการฟ้องข้อผิดพลาด ว่าไม่มีการเปิดการใช้งาน SSL ใน PHP ทำให้โหลดไฟล์ติดตั้งไม่ได้
ตรวจสอบผ่านคอนโซล ซึ่งต้องมี "https" โดยให้คำสั่ง
php -r var_dump(stream_get_wrappers());
ถ้าไม่มีวิธีแก้คือให้ไปเปิดใช้ openssl ใน php.ini โดยตรงที่ C:\path\to\wamp\bin\php\php(version)\php.ini
เปิดใช้งาน extension=php_openssl.dll
และควรติดตั้ง Git ด้วยเพราะไฟล์บางตัวดึงข้อมูลจาก Github ซึ่งบางครั้งต้องให้คำสั่ง git ในการดาวโหลดไฟล์ลงมาติดตั้ง
การสร้าง Application Key
Application key เป็นรหัสที่กำหนดไว้เพื่อเข้ารหัสในการส่งข้อมูลเพื่อความปลอดภัยให้กับ เว็บที่สร้างขึ้นบนเฟรมเวิร์ค Laravel ซึ่งแก้ไขที่ไฟล์ app/config/app.php โดยใช้เครื่องมือ artisan ที่สร้างมาให้ซึ่งอยู่ในโฟลเดอร์ ใช้คำสั่งphp artisan key:generate
สำหรับคำสั่ง artisan ดูเพิ่มเติมได้จาก
php artisan list
การตั้งค่า mysql server
เราจะทำการตั้งค่า mysql server ของเราให้สนับสนุนการใช้งาน utf8 เป็นค่า default โดยแก้ไขในไฟล์ my.ini โดยเพิ่มค่าใต้แท็ก [mysqld] เป็นcharacter-set-server=utf8
collation-server=utf8_general_ci
ทำการ restart เซิร์ฟเวอร์ถ้าเปิดค้างไว้ขณะที่ตั้งค่าในไฟล์ my.ini
วันอังคารที่ 30 เมษายน พ.ศ. 2556
ทำให้ Wacom Tablet ใช้งานบนวินโดว์แบบลื่นๆ
สำหรับคนที่เคยใช้ Wacom Tablet เวลาทำงานบนวินโดว์ อาจจะเคยพบปัญหาเวลาวาดภาพแล้วเกิดอาการกระตุก เนื่องฟีเจอร์พิเศษบางอย่างที่ไม่เหมาะกับคนที่ใช้ tablet เพื่อการวาดรูปอย่างจริงจัง ฟีเจอร์เหล่านั้นคือ
วิธีแก้แนะนำดูตามลิงค์ครับ
The Ultimate Guide to Making Your Wacom Tablet Work on Windows 7 แก้เองโดยไล่ปิดฟีเจอร์
Fix My Pen Makes your Wacom Tablet JUST WORK on Windows 7 ใช้โปรแกรมช่วยไล่ปิดฟีเจอร์ให้
Windows 8 RTM and Wacom Tablets - Even More Flawed Than Before แก้ปัญหาบน Windows 8
ป.ล. สำหรับการตั้งค่าของผมก็ไล่ปิดทุกฟิเจอร์ ยกเว้น Tablet PC input panel เพราะเวลาใช้เครื่องอยู่ในโหมดแท็บเลต มันกดคีย์บอร์ดลำบาก (เครื่องที่ใช้ Toshiba Portege M700,Fujitsu T4220)
- rings วงแหวนที่ปรากฎเวลาให้งานปากกา
- dynamic feedback วงแหวนกระเพื่อมเวลากดปากกา
- flicks ตวัดลากปากกาตามรูปแบบ เพื่อเรียกใช้คำสั่ง
- Tablet PC input panel แสดงคีย์บอร์ดเสมือนบนจอภาพ
- press and hold กดปากาค้างเรียกคำสั่งที่กำหนดไว้
วิธีแก้แนะนำดูตามลิงค์ครับ
The Ultimate Guide to Making Your Wacom Tablet Work on Windows 7 แก้เองโดยไล่ปิดฟีเจอร์
Fix My Pen Makes your Wacom Tablet JUST WORK on Windows 7 ใช้โปรแกรมช่วยไล่ปิดฟีเจอร์ให้
Windows 8 RTM and Wacom Tablets - Even More Flawed Than Before แก้ปัญหาบน Windows 8
ป.ล. สำหรับการตั้งค่าของผมก็ไล่ปิดทุกฟิเจอร์ ยกเว้น Tablet PC input panel เพราะเวลาใช้เครื่องอยู่ในโหมดแท็บเลต มันกดคีย์บอร์ดลำบาก (เครื่องที่ใช้ Toshiba Portege M700,Fujitsu T4220)
วันพุธที่ 17 เมษายน พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 3
Variables
A_Long_Variable_Name
Vname
T2animation
Db2Connect
Result = Ten*Ten.
- ตัวแปรใช้เก็บค่าพื้นฐานใน Erlang
- ขึ้นต้นด้วยตัวพิมพ์ใหญ่ ตามด้วยตัวพิมพ์ใหญ่หรือเล็ก ตัวเลข และขีดล่าง (_ underscore) โดยไม่มีอักษรพิเศษอื่นๆ
A_Long_Variable_Name
Vname
T2animation
Db2Connect
- ตัวแปรเมื่อมีการผูกค่าแล้ว เปลี่ยนแปลงค่าไม่ได้ (single assignment)
- ถ้าต้องการประมวลผลลัพธ์จากตัวแปร ต้องสร้างตัวแปรใหม่มาเก็บผลลัพธ์
Result = Ten*Ten.
- การเรียกตัวแปรใน Erlang เป็นแบบ Call by value
- อากิวเมนต์ที่จะผ่านเข้าสู่ฟังก์ชั่น จะต้องมีการผูกค่า ก่อนที่ฟังก์ชั่นจะทำการประมวลผล
- ใน Erlang ไม่มีการเรียกแบบอ้างอิง Call by reference does not exist
- ตัวแปรเป็นแบบ local อยู่กับฟังก์ชั่นที่มันอยู่
- ไม่มีตัวแปรแบบ Global ใน Erlang
- ตัวแปรไม่ต้องประกาศก่อน ใช้เมื่อต้องการใช้มัน
- ตัวแปรใน Erlang เป็นแบบ dynamic type system (Erlang type system)
- ตัวแปรที่ถูกค่าแล้วสามารถยกเลิกการผูกค่าโดยใช้ฟังก์ชั่น f() มีรูปแบบคือ f(Variable).
ป้ายกำกับ:
erlang
วันเสาร์ที่ 30 มีนาคม พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 2
Atoms and Strings
ความแตกต่างของ Atoms และ Strings
- atom ทำการประมวลผลได้เฉพาะนำมาเปรียบเทียบกันเอง
- string ประมวลผลได้หลายแบบ เช่นการนำสตริงมาแยก
ตัวอย่าง
สตริง "Hello World" สามารถแยกได้เป็น ["Hello","World"] แต่ในกรณีของอะตอม 'Hello World' ไม่สามารถแยกได้
- เราสามารถใช้สตริงแทนอะตอมในรูปแบบของตัวแปรคงที่แต่ ประสิทธิภาพที่ได้มีความแตกต่างกัน เพราะว่า
สตริง ใช้พื้นที่เก็บเท่ากับความยาวของข้อความ
อะตอม ใช้พื้นที่เก็บขนาด 2 ไบต์ในการอ้างอิง
ถ้ามีการเปรียบเทียบ สตริงต้องวิ่งเปรียบเทียบทีละตัวอักษร ส่วนอะตอมเปรียบเทียบในขั้นตอนเดียว
Building and Processing Lists
- เราสามารถแยก list ได้ออกเป็นส่วนหัว (head) และหาง (tail) ตราบเท่าที่ลิสต์ไม่ว่า
- หัวคือส่วนแรกในลิสต์ หางคือลิสต์ที่ภายในประกอบด้วยส่วนที่เหลือ
รูปแบบ
List = [Element|List] หรือ []
ป้ายกำกับ:
erlang
วันอังคารที่ 26 กุมภาพันธ์ พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 1
หลังจากที่ได้อ่านหนังสือเกี่ยว Erlang Programming ของ Francesco Cesarini และ Simon Thompson วันนี้ก็มีโอกาสว่างๆ อัพเดตบล็อกเกี่ยวกับพื้นฐานการเขียนโปรแกรมภาษา Erlang เพื่อเอาไว้ช่วยบันทึกความจำของผมเองว่าเรียนรู้ไปถึงไหนบ้างแล้ว
สำหรับใครที่ต้องการรู้ประวัติของ Erlang ถ้าต้องการ Download
เริ่มต้นกันก่อนที่ Erlang Shell
คำสั่งพื้นฐานที่จำเป็นใช้ใน Erlang Shell
help(). เรียกดูคำสั่งที่ของ Erlang Shell ทั้งหมด
q(). ออกจาก Erlang Shell
pwd(). ดูว่าเรากำลังทำงานอยู่ในไดเรกทรอรีไหน
cd("C:/Users/Me/WorkingDir"). เปลี่ยนไดเรกทรอรีที่ทำงานไปที่ C:/Users/Me/WorkingDir
ls(). ดูรายการในไดเรกทรอรี
os:cmd("notepad myprog.erl"). เรียกใช้คำสั่งเฉพาะของ OS
c(myprog). คอมไพล์ Module ต้องมีไฟล์ชื่อ myprog.erl อยู่ในไดเรกทรอรีที่ทำงานอยู่ก่อนคอมไพล์
m(myprog). ดูรายการ public function ใน Module นี้
myprog:function(arguments). เรียกในฟังก์ชั่นใน Module
2 + 3 * 4. ตัวอย่างการเขียน Expression
Variable = expression. ผูกตัวแปรเข้ากับนิพจน์ ผูกได้เพียงครั้งเดียวเท่านั้น
f(Variable). ยกเลิกการผูกค่าตัวแปร
f(). ยกเลิกการผูกค่าตัวแปรทั้งหมด
สำหรับใครที่ต้องการรู้ประวัติของ Erlang ถ้าต้องการ Download
เริ่มต้นกันก่อนที่ Erlang Shell
คำสั่งพื้นฐานที่จำเป็นใช้ใน Erlang Shell
help(). เรียกดูคำสั่งที่ของ Erlang Shell ทั้งหมด
q(). ออกจาก Erlang Shell
pwd(). ดูว่าเรากำลังทำงานอยู่ในไดเรกทรอรีไหน
cd("C:/Users/Me/WorkingDir"). เปลี่ยนไดเรกทรอรีที่ทำงานไปที่ C:/Users/Me/WorkingDir
ls(). ดูรายการในไดเรกทรอรี
os:cmd("notepad myprog.erl"). เรียกใช้คำสั่งเฉพาะของ OS
c(myprog). คอมไพล์ Module ต้องมีไฟล์ชื่อ myprog.erl อยู่ในไดเรกทรอรีที่ทำงานอยู่ก่อนคอมไพล์
m(myprog). ดูรายการ public function ใน Module นี้
myprog:function(arguments). เรียกในฟังก์ชั่นใน Module
2 + 3 * 4. ตัวอย่างการเขียน Expression
Variable = expression. ผูกตัวแปรเข้ากับนิพจน์ ผูกได้เพียงครั้งเดียวเท่านั้น
f(Variable). ยกเลิกการผูกค่าตัวแปร
f(). ยกเลิกการผูกค่าตัวแปรทั้งหมด
ป้ายกำกับ:
erlang
วันพฤหัสบดีที่ 31 มกราคม พ.ศ. 2556
Review Lenovo C225 All-In-One Desktop
หลายคนมีความคิดที่แตกต่างกันในการเลือกซื้อคอมพิวเตอร์ตั้งโต๊ะ ว่าทำไมต้องเครื่องประกอบ หรือเครื่องแบร์นแนม โดยส่วนตัวของผมเองแบ่งแนวคิดไว้ง่ายๆคือ
เครื่องคอมพิวเตอร์ตั้งโต๊ะ แบบประกอบเอง
ข้อดี เลือกสเปกเครื่องทั้งนอก ทั้งในของเครื่องได้เอง รวมถึงอุปกรณ์ต่อพ่วงอื่นเช่น เมาส์ คีย์บอร์ด ทำให้เครื่องของคุณจะแปลกแตกต่างกับคนอื่น ถ้าจัดสเปกไม่เหมือนกัน รวมถึงการประมาณค่าใช้จ่ายต่อเครื่องได้เอง
ข้อเสีย การรับประกันของเครื่องที่ประกอบนั้นแยกเป็นชิ้นๆ บางทีเครมที่เดียวกันไม่ได้ หรือไม่เอาไปให้ร้านที่เราซื้อมาเครมให้ก็นาน กว่าศูนย์โดยตรง เครื่องคอมพิวเตอร์ของคุณดูไม่กลมกลืนกันเป็นหนึ่งเดียวเพราะมีอุปกรณ์หลากหลายยี่ห้ออยู่รวมกัน
เครื่องคอมพิวเตอร์ตั้งโต๊ะ แบบแบร์นแนม
ข้อดี การรับประกันของเครื่องส่งศูนย์โดยตรง เครื่องคอมพิวเตอร์ของดูกลมกลืนกันเป็นหนึ่งเดียวเพราะอุปกรณ์ทั้งหมดถูกออกแบบให้มีรูปลักษณ์ภายนอกที่เป็นไปในทิศทางเดียวกัน
ข้อเสีย สเปกเครื่องทั้งนอก ทั้งในของเครื่องเลือกเองได้น้อยเป็นบางชิ้น ราคาเครื่องสูงกว่าเครื่องประกอบเอง
เกริ่นมายาวแล้ว และในบทความนี้ก็จะมารีวิวเล็กๆเครื่องคอมพิวเตอร์แบบแบร์นแนมกันดูว่า รูปลักษณ์ภายนอก สเปคเครื่องภายใน และราคาเหมาะสม กับใครบ้าง หรือผู้ที่เข้ามาอ่านบทความนี้สนใจไหม กับเครื่องคอมพิวเตอร์ Lenovo C225 All-In-One Desktop ที่ผมได้มีโอกาสได้ลองใช้งานตั้งแต่ต้นปี แต่มาเพิ่งเขียนบทความเอาปลายเดือน สำหรับเครื่องนี้ซื้อที่ advice ครับ สำหรับผู้ที่สนใจอยากลองไปดูเครื่องจริง สำหรับราคาก็ประมาณ 11,XXX บาท
ป้ายกำกับ:
lenovo C225,
Review
สมัครสมาชิก:
บทความ (Atom)