วันเสาร์ที่ 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] หรือ []

วันอังคารที่ 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().    ยกเลิกการผูกค่าตัวแปรทั้งหมด

วันพฤหัสบดีที่ 31 มกราคม พ.ศ. 2556

Review Lenovo C225 All-In-One Desktop

 สมัยก่อนหาซื้อคอมพิวเตอร์ตั้งโต๊ะซักหนึ่งเครื่อง เป็นเรื่องยากพอควร โดยเฉพาะเครื่องแบร์นแนมด้วยแล้วแค่เห็นราคาเครื่องหลายคนก็เปลี่ยนใจไปซื้อเครื่องคอมประกอบตามสั่ง จากร้านคอมพิวเตอร์เล็กๆ ตามห้างกันแทน แต่ ณ ปัจจุบันตลาดคอมพิวเตอร์ที่แข่งขันจากผู้ผลิตหลายๆค่าย ช่วยทำให้เครื่องคอมพิวเตอร์แบร์นแนมสามารถหาซื้อได้ง่าย และราคาถูกลง
 หลายคนมีความคิดที่แตกต่างกันในการเลือกซื้อคอมพิวเตอร์ตั้งโต๊ะ ว่าทำไมต้องเครื่องประกอบ หรือเครื่องแบร์นแนม โดยส่วนตัวของผมเองแบ่งแนวคิดไว้ง่ายๆคือ

 เครื่องคอมพิวเตอร์ตั้งโต๊ะ แบบประกอบเอง
ข้อดี เลือกสเปกเครื่องทั้งนอก ทั้งในของเครื่องได้เอง รวมถึงอุปกรณ์ต่อพ่วงอื่นเช่น เมาส์ คีย์บอร์ด ทำให้เครื่องของคุณจะแปลกแตกต่างกับคนอื่น ถ้าจัดสเปกไม่เหมือนกัน รวมถึงการประมาณค่าใช้จ่ายต่อเครื่องได้เอง
ข้อเสีย การรับประกันของเครื่องที่ประกอบนั้นแยกเป็นชิ้นๆ บางทีเครมที่เดียวกันไม่ได้ หรือไม่เอาไปให้ร้านที่เราซื้อมาเครมให้ก็นาน กว่าศูนย์โดยตรง เครื่องคอมพิวเตอร์ของคุณดูไม่กลมกลืนกันเป็นหนึ่งเดียวเพราะมีอุปกรณ์หลากหลายยี่ห้ออยู่รวมกัน

เครื่องคอมพิวเตอร์ตั้งโต๊ะ แบบแบร์นแนม
ข้อดี การรับประกันของเครื่องส่งศูนย์โดยตรง เครื่องคอมพิวเตอร์ของดูกลมกลืนกันเป็นหนึ่งเดียวเพราะอุปกรณ์ทั้งหมดถูกออกแบบให้มีรูปลักษณ์ภายนอกที่เป็นไปในทิศทางเดียวกัน
ข้อเสีย สเปกเครื่องทั้งนอก ทั้งในของเครื่องเลือกเองได้น้อยเป็นบางชิ้น ราคาเครื่องสูงกว่าเครื่องประกอบเอง


เกริ่นมายาวแล้ว และในบทความนี้ก็จะมารีวิวเล็กๆเครื่องคอมพิวเตอร์แบบแบร์นแนมกันดูว่า รูปลักษณ์ภายนอก สเปคเครื่องภายใน และราคาเหมาะสม กับใครบ้าง หรือผู้ที่เข้ามาอ่านบทความนี้สนใจไหม กับเครื่องคอมพิวเตอร์ Lenovo C225 All-In-One Desktop ที่ผมได้มีโอกาสได้ลองใช้งานตั้งแต่ต้นปี แต่มาเพิ่งเขียนบทความเอาปลายเดือน สำหรับเครื่องนี้ซื้อที่ advice ครับ สำหรับผู้ที่สนใจอยากลองไปดูเครื่องจริง สำหรับราคาก็ประมาณ 11,XXX บาท


วันพฤหัสบดีที่ 13 ธันวาคม พ.ศ. 2555

คู่มือ CodeIgniter และ Backbone.js แบบ epub mobi epub

  ช่วงนี้กำลังศึกษา CodeIgniter กับ Backbone.js อยู่ ลองหาหนังสือเพื่ออ่านบน Kindle ก็เจอที่โหลดอยู่สองเว็บใครสนใจลองไปโหลดอ่านดู เป็นคู่มือภาษาอังกฤษ

CodeIgniter User Guide in epub, mobi and PDF format
Backbone Tutorials

สุดท้ายฝากเฟรมเวิร์คอีกอัน ใหม่หน่อย Laravel เพิ่มเจอ อ่านคร่าวๆแล้วน่าสนใจดี แต่ยังไม่ได้ลอง ใครสนใจลองติดตามข้อมูลแบบภาษาไทยได้ที่ laravel.in.th