ค้นหาบล็อกนี้

วันจันทร์ที่ 29 มีนาคม พ.ศ. 2553

Rails

ไม่ได้ีupdate มาเป็นชาติเลย วันนี้จะพูดถึง Rails ตอนติตดั้ง database mysql เนื่องจาก instant railsที่ลงนั้นมันจะมาพร้อม กับ sqllite3 แล้วใช้ mongrel เป็น web server แต่เราจะมาดูวิธีติดตั้ง Mysql กับRials กัน เริ่มตั้งแต่ลงinstant rails เลยแล้วกัน
1.download Instant Rails-2.0-win.zip ได้จาก http://rubyforge.org/frs/?group_id=904
2.unzip ไว้ที่ c:\InstantRails-2.0-win

3.ไปที่ InstantRails-2.0-win แล้วเลือก icon .exe(รูปตัว I สีแดง)แล้วคลิ๊กOK ดูให้ไฟเขียวตรง Apache กับ mysql

4.ไปที่ Rails Application ->open Ruby console Window

5. c:\InstantRails-2.0-win\rails_apps> gem update --system -p

6. ดาวน์โหลด rubygems-update-1.3.5.gem ที่ http://rubyforge.org/projects/rubygems ไว้ใน ...\rails_apps

7. c:\InstantRails-2.0-win\rails_apps>gem install rubygems-update-1.3.5.gem

8. c:\InstantRails-2.0-win\rails_apps>update_rubygems

9.c:\InstantRails-2.0-win\rails_apps>gem cleanup

10.c:\InstantRails-2.0-win\rails_apps>rails -d mysql projectname

11.ไปที่ I(icon.exe) ดูที่ Database(via phpMyadmin)

12.ดู browser ที่ http://localhost:3000

13.c:\InstantRails-2.0-win\rails_apps\projectname> ruby script\generate scaffold student name:string content:text

เป็นการสร้างเนื้อหา ในเว็บเช่นพวก db model controller และ routes,ที่มีการ create,retrieve,update,delete

14.c:\InstantRails-2.0-win\rails_apps\projectname>rake db:create

15. สร้างฐานข้อมูลใน Phpmyadmin ใน browser ตามชื่อเช่น student_development หรือไปแก้
ในdatabase.yml แทน

16.c:\InstantRails-2.0-win\rails_apps\projectname>rake db:migrate

17.c:\InstantRails-2.0-win\rails_apps\projectname>ruby script\server

18. ไปที่ http:\\localhost:3000

วันจันทร์ที่ 7 ธันวาคม พ.ศ. 2552

How to install scala on Ubuntu

แหะๆ หยุด เขียน บล็อกไปตั้งหลายวัน แหนะ วันนี้ จะมาเขียนเรื่องวิธีการลง interpreter ภาษา scalar
พิมพ์
sudo apt-get install scala บน terminal
สร้างไฟล์ ทดสอบ การ compile โดย พิมพ์
$ pico test.scala //เรียกใช้งาน command line editor
โดยตั้งชื่อไฟล์เป็น test.scala

แล้ว copy code ไปวางบน terminal


object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}
กด Ctrl เพื่อเซฟ
กด Ctrl ออกจาก โปรแกรม
จากนั้น พิมพ์ $ scalac test.scala จะได้ ไฟล์มา 2 อันคือ
HelloWorld.class กับ HelloWorld$.class
พิมพ์
$ scala HelloWorld

-> Hello,World! ออกมา
หรือ หากเราต้องการพิมพ์ใน scala shell script ให้ทำดังนี้
$scala
จะปรากฏ

Welcome to Scala version 2.7.5final (OpenJDK Client VM, Java 1.6.0_0).
Type in expressions to have them evaluated.
Type :help for more information.
จากนั้นก็พิมพ์ ตามใจชอบเลย
scala>
ลองcopyไปวางแล้วEnter>

object HelloWorld {
def main(args: Array[String]) {
println("Hello, world!")
}
}

defined module HelloWorld
scala> HelloWorld.main(null)
Hello, world!

// เรียกใช้ ฟังก์ชัน main ของ object HelloWorld

Compile it
คำสั่ง scalac จะใช้ compile source file Scala และสร้าง java byte code ซึ่งจะรันได้ทุกๆ standard JVM
ซึ่งจะทำงาน คล้าย กับ javac ในjava compiler ของ Java SDK
> scalac HelloWorld.scala

โดยปกติแล้ว scalac จะสร้าง class file ใน directory เดียวกับ ไฟล์ scala ซึ่งสามารถกำหนด directory ได้
ด้วยคำสั่ง -d
> scalac -d classes HelloWorld.scala

Execute it !

คำสั่ง scala จะ execute byte code ที่สร้างขึ้น

> scala HelloWorld

scala .ให้เราสามารถกำหนด ตัวเลือกในการ compile ได้เช่น -classpath (or -cp) option:

> scala -classpath classes HelloWorld

ถ้าหาก object ตามด้วย extends Application แล้วทุก statements contained จะถูกรับ ในทางกลับกันจะต้องเพิ่ม Method main เพื่อเป็นจุดรวมในการทำโปรแกรม
สามารถเขียนได้คือ : object HelloWorld2 extends Application { println("Hello, world!") }
ปล. ส่วนเรื่อง syntax เอาไว้ไปศึกษามาก่อนแล้วค่อยเขียนต่อแล้ว




วันจันทร์ที่ 30 พฤศจิกายน พ.ศ. 2552

ตอน เปลี่ยนสิทธิการใช้งาน ใน ubuntu

ท้าวความไปตอนที่ผมได้ฮาร์ดดิส 500 จิ๊ก อันใหม่แกะกล่อง ซึ่งก่อนที่มันจะใช้ได้นั้นก็ไหม้ไปก่อนทีนึง ก็เลยเอาไปเคลม เค้าเลยเปลี่ยนใหม่มาให้ ทีนี้ ฮาร์ดดิสมันเยอะจัด ก็เลยแบ่งพาทิชันเอาไว้ 4 พาทิชันเลย Window 7 ,Mac Hack 10.5.2 ,Ubuntu 9.10 ,Window Xp (เอาไว้ boot) คราวนี้ ก็เลย อยากเล่น Ubuntu ที่เพิ่งลงใหม่ขึ้นมา เพราะต้องการหนีจากการดำรงตำแหน่งเป็น ผอ.ไวรัส แห่งชาติ ใน windows ซึ่งผมตอนนี้ผมกำลังลง drupal อยู่ ปรากฎว่า โยกย้ายลง Moduleต่างๆ ไม่ค่อยสะดวก เนื่องจาก permission denied บ่อย ก็เลยไปถาม เพื่อนตั้ม ดู ก็เลยได้ความรู้ในเรื่องการ เปลี่ยน permission สำหรับการใช้งาน ใน Ubuntu มา
(แล้วท้าวความทามมัยตั้งยืดยาว ฟระเนี่ย .... ก็อยากเล่าอ่ะ)



โดยที่
ตัวอักษร drwxr-xr-x หรืออะไรทำนองนี้หน้าชื่อแฟ้ม ซึ่งเป็นการกำหนด สิทธิของแต่ละแฟ้ม ว่า อ่านได้ เขียนได้ และประมวลผลได้ โดยแยกเป็นส่วนของ เจ้าของ กลุ่ม คนอื่น
กล่าวคือ คำสั่ง chmod 777 /var/www/drupal6
คำสั่ง chmod นี้ ใช้เปลี่ยนสิทธิของแฟ้ม เจ้าของ(Owner),คนในกลุ่ม(group),คนอื่น(other)
หากเราลองพิมพ์ ตามตัวอย่าง
benz@benz-desktop:/var/www$ ls -l ก็จะพบ

total 980
-rw-r--r-- 1 root root 991798 Nov 25 16:13 drupal-6.0-beta2.tar.gz
drwxrwsrwx 9 1080 1080 4096 Nov 30 20:40 drupal6
-rw-r--r-- 1 root root 177 Nov 24 23:28 index.html


ซึ่งตัวที่มีสีนั้นจะมีความหมายดังนี้
ในแต่ละกลุ่มจะมีการกำหนดสิทธิได้ 3 แบบ
ตัวอักษร R มาจาก Read หมายถึง อ่าน
ตัวอักษร W มาจาก Write หมายถึง เขียน
ตัวอักษร X มาจาก Execute หมายถึง ประมวลผล

ตัวอย่างเช่น
--- : ไม่มีสิทธิอะไรเลย (เลขที่ใช้คือ 0)
--X : ประมวลผลได้อย่างเดียว (เลขที่ใช้คือ 1)
R-- : อ่านได้อย่างเดียว (เลขที่ใช้คือ 4)
RW- : อ่าน และเขียนได้ (เลขที่ใช้คือ 6)
R-X : อ่าน และประมวลผลได้ (เลขที่ใช้คือ 5)
RWX : อ่าน เขียน และประมวลผลได้ (เลขที่ใช้คือ 7)
ซึ่งข้างบนนี้มีการเปลี่ยน แทนด้วย


ตัวอย่าง ที่ 1
- rw-r--r--
แปลงเป็น เลขฐาน 2 ได้ - 110 100 100 (ตามแต่ละบิตที่on)
แปลงเป็นเลขฐาน 10 ได้ - 6 4 4


ตัวอย่าง ที่ 2
- rwxrwxrwx
แปลงเป็น เลขฐาน 2 ได้ - 111 111 111 (ตามแต่ละบิตที่on)
แปลงเป็นเลขฐาน 10 ได้ - 7 7 7

ความหมายของ RWXRWXRWX จะเห็นว่ามีอักษร 9 ตัว
3 ตัวแรกหมายถึง เจ้าของ
3 ตัวที่สองหมายถึง กลุ่ม
3 ตัวที่สามหมายถึง คนอื่น


ตัวอย่างเช่น
RWX------ : เจ้าของเท่านั้นที่มีสิทธิทุกอย่าง (เลขที่ใช้คือ 700)
RWXRWX--- : เจ้าของ และสมาชิกกลุ่มเดียวกันมีสิทธิทุกอย่าง (เลขที่ใช้คือ 770)
RWXR-XR-X : เจ้าของทำได้หมด ส่วนกลุ่มและคนอื่นอ่านและประมวลผลได้ (เลขที่ใช้คือ 755)
R--R--R-- : ทุกคนอ่านได้อย่างเดียว (เลขที่ใช้คือ 444)

ตัวอย่างคือ
sudo chmod 777 /var/www/drupal6
-sudo -> บอกว่าเราเป็น root
- chmod ->คำสั่งเปลี่ยนโหมด
-
/var/www/drupal6 -> แฟ้มที่ต้องการเปลี่ยน

หลังจากนี้ เรา สามารถลง โยกย้าย folder ต่าง ใน drupal ได้อย่าง สบายใจ วันนี้พอก่อนละกัน ....zZZ
ปล.ใช้ได้เฉพาะ แฟ้มหรือไดเรกทอรี่ที่ทามการเปลี่ยนโหมดเท่านั้นนะ

แนะนำ blog

แนะนำตัวก่อน ผมเป็นนักศึกษาcom-science (เด็ก วิดคอม ) ซึ่งกำลังศึกษาอยู่ ซึ่งยังไม่ค่อยจะมีความรู้สักเท่าไหร่ ก็เลยอยากลองเขียน blog เล่นๆดู ในสิ่งที่ตนเองได้ศึกษาค้นคว้ามา เพื่อเป็นการฝึกและพัฒนาตนเองและรวบรวมเรื่องราวเกี่ยวกับคอมพิวเตอร์ ในแต่ละวัน (ถ้าเป็นไปได้) คาดว่าน่าจะมีประโยชน์อะไรบ้างแหละ อย่างน้อยก็ฝึกทักษะการเขียนหละ..ว้า
สำหรับ สิ่งที่สนใจ ก็เป็นพวก website , graphic ต่างๆ ซึ่งตอนนี้อยู่ในช่วงกำลังเตรียมจะทามโปรเจค ในปีหน้า
ก็ถ้าเป็นไปได้ ก็อยากจะทำเกี่ยวกับ พวกgraphic แต่ก็คิดว่า จะทาม เรื่อง AR (Augmented Reality )เอาไว้เขียนอธิบายต่อไปและกัน