26.11.09

Google Wave ของเล่นใหม่จาก Google มีกันหรือยัง

เพิ่งได้รับเมล์จาก Google ว่าท่านได้รับสิทธิให้เข้าใช้ Google Wave หลังจากที่ผมได้เข้าไปเขียนๆๆ บอกถึงสิ่งที่เราอยากจะเข้าไปทดลองใช้ Google wave แล้วก็รอๆๆๆ ในที่สุด ก็ได้ account ได้เข้าไปใช้ google wave แล้ว ถ้าเพื่อนๆสนใจอยากทดลองใช้ Google wave ก็ให้เข้าไปเขียนข้อความส่งไปที่ google ได้ที่นี่ Sign up  รอไม่ถึงสามวันก็น่าจะได้รับเมล์ส่งมาบอก

Google wave mail accept

หลังจากคลิกไปตามลิ้งค์ที่เค้าส่งให้มา ก็ถึงเวลาเข้าไปใช้ Google Wave แล้ว แต๊น แตน แต้น………นี่งัย Google Wave

Google Wave 

หลังจากเราได้มาแล้ว เราสามารถ invite เพื่อนๆของเราได้อีก 8 คน

ตอนนี้ก็ยังไม่รู้เลยว่ามันเอาไว้ใช้อะไร แต่รับรองได้เลยว่า Google ออก Application อะไรออกมารับรองไม่ผิดหวัง ฮือฮากันไปตามๆกันครับ

เพื่อนๆสามารถเข้าไปอ่านวิธีใช้งาน Google Wave ได้ ที่นี่ ครับ เดี๋ยวขอตัวไปลองเล่นก่อนนะ บาย

มาอัพเดทเพิ่มนิดหนึ่ง

หลังจากที่เราได้ invite เพื่อนๆเข้ามาแล้ว  แต่ว่า เพื่อนก็ยังต้องไป Sign up เพื่อสมัครขอเข้าใช้ที่ Google Wave เหมือนเดิมนะครับ แต่พอหลังจากที่เพื่อนเราได้ sign up เป็นที่เรียบร้อยแล้ว เราก็จะมองเห็นเพื่อนที่เรา invite ไป มาโผล่ที่ Google Wave application จากนั้นก็ลุยเลยครับ

จากที่ได้ลองเล่นดู ก็คล้ายๆเหมือนกับ web board ผสมกับ Email + Chating room ซึ่งเราสามารถที่จะทิ้งข้อความไว้ให้เพื่อนได้ เหมือนส่ง email นอกจากนี้เรายังสามารถดึงเพื่อนอีกคน เข้ามาในบทสนทนาที่เรากำลังสนทนากับอีกคนอยู่ก็ได้ นอกจากนี้ มันยังเก็บบทสนทนาเป็นหัวข้อๆ เพื่อให้เรากลับมาต่อเติม หรือตอบกลับในภายหลังได้ จะว่าไปแล้ว ก็เหมือน chating room ที่เอาไว้สนทนากัน โดยแบ่งหัวข้อสนทนาเป็นห้องๆนั่นเอง ส่วน feature อื่นๆยังไม่ได้ลองครับ คิดว่าน่าจะทำอะไรได้มากกว่านั้น เดี๋ยวจะพยายาม invite เพื่อนๆที่เรียนในห้องเดียวกันหันมาใช้ Google wave กันดีกว่า อย่างน้อย จะได้แลกเปลี่ยนความรู้ และเป็นแหล่งชุมชน ที่เราได้สนทนากัน ซึ่งมันจะทำให้เกิดความต่อเนื่อง และเป็นสังคมออนไลน์อย่างแท้จริง

Google Wave

อ่านเพิ่มเติม...

13.11.09

py2exe แปลง python ให้เป็น exe file

จริงๆแล้ว py2exe เป็น module ทีแยกออกมาจาก Distribution Utilities “disutils”  (เพราะฉะนั้นจะไม่มีมากับ python ที่เรา install เข้าไป ต้อง download แยกมาต่างหาก) ซึ่งเจ้าตัว py2exe จะทำหน้าที่แปลงโค๊ดที่เราเขียนเป็นภาษา python ให้เป็นไฟล์ exe ซึ่งสามารถนำไปรันบนวินโดวน์เครื่องไหนๆก็ได้ตามที่ต้องการ โดยที่เครื่องนั้นๆ ไม่จำเป็นต้องลงตัวแปลภาษา python แต่อย่างใด

ก่อนจะพาไปสู่การติดตั้งและการใช้งาน py2exe ผมอยากจะเล่าเหตุผลที่ผมสนใจเจ้าตัว python ก็เพราะว่ามันสามารถทำงานได้เกือบจะครอบคลุมทั้งหมดเลยก็ว่าได้ เช่น มีอยู่ครั้งหนึ่งที่ผมพยายามที่จะเขียนหน้าเว็บด้วย PHP แล้วให้ user ทำการ คลิกนู่น คลิกนี่ บนหน้าเว็บแล้วให้มีการส่งคำสั่งไปยัง hardware ที่ต่ออยู่กับเครื่องคอมพิวเตอร์ ลำพังเพียง PHP อย่างเดียวไม่สามารถทำได้แน่นอน จะต้องใช้ PHP ไปเรียกโปรแกรมอื่นๆอีก อาจจะเป็นโปรแกรมที่เราเขียนด้วย Visual basic หรือไม่ก็เขียนด้วยภาษา C หรืออะไรก็ตามแต่ จะเห็นได้ว่า เพื่อนๆจะต้องศึกษา PHP แล้วก้ไปศึกษาโปรแกรมอื่นๆอีก นอกจากนี้ เพื่อนๆยังอาจจะพบปัญหาถึงความที่สองโปรแกรมเข้ากันไม่ได้อีก ก็เลยเป็นที่มาที่ผมอยากจะนำเสนอภาษา python ที่พร้อมสรรพสำหรับทุกเรื่อง มาว่ากันต่อ

อันดับแรกเลยของการใช้ py2exe ก็ให้เพื่อนๆไปดาวน์โหลดตัวโปรแกรมนี้มาก่อนจากที่นี่ โดยเราต้องเลือก version ที่มัน support ตรงกับ python ที่เราได้ติดตั้งไว้แล้วที่เครื่องของเรา เมื่อได้มาแล้ว ก็ทำการติดตั้งโปรแกรมตามสัญชาตญาณดั้งเดิม Nextๆๆๆๆ แล้วก็ Next lol หลังจากติดตั้งเรียบร้อยแล้ว อย่าลืมไป set path ด้วยนะครับ จะได้เรียกใช้ไฟล์ได้ง่ายๆ

C:\Python26\Lib\site-packages\py2exe

set parh py2exe

ในตัวอย่างนี้ ผมก็เอามาจากในเว็บ http://www.py2exe.org/index.cgi/Tutorial นั่นแหละ เป็นตัวอย่างง่ายๆ เพื่อให้เกิดความเข้าใจก่อน หลังจากนั้นก็ค่อยไปประยุกต์เอาเอง เริ่มจากการสร้งโค๊ด python ง่ายๆขึ้นมาก่อน

แล้ว save เป็น ไฟล์ hello.py ลองรันดูด้วยว่าได้ Hello World ออกมาไหม

 



C:\Tutorial>python hello.py
Hello World!

C:\Tutorial>



 


ก่อนที่จะไปขั้นตอนการแปลงไฟล์ python ให้เป็นไฟล์ exe เพื่อนๆจะต้องทำการสร้างไฟล์สำหรับติดตั้งก่อน โดยสร้างไฟล์ดังต่อไปนี้




from distutils.core import setup
import py2exe

setup(console=['hello.py'])



 


แล้ว save เป็นไฟล์ setup.py เอาไว้ที่เดียวกันกะไฟล์ที่บันทึกก่อนหน้านี้



ในขั้นตอนนี้ เราจะทำการ complie โค๊ดที่เราเขีนให้เป็น ไฟล์ exe เพื่อพร้อมไปใช้งาน โดยพิมพ์คำสั่งนี้ที่ command line (




C:\Tutorial>python setup.py py2exe



จะได้ ข้อความขึ้นมาเพียบเลย



C:\Tutorial>python setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'zlib'
creating python loader for extension 'unicodedata'
creating python loader for extension 'bz2'
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\bz2.py to bz2.pyc
byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\unicodedata.py to unicodedata.pyc
byte-compiling C:\Tutorial\build\bdist.win32\winexe\temp\zlib.py to zlib.pyc
skipping byte-compilation of c:\Python24\lib\StringIO.py to StringIO.pyc

[skipping many lines for brevity]

skipping byte-compilation of c:\Python24\lib\warnings.py to warnings.pyc
*** copy extensions ***
*** copy dlls ***
copying c:\Python24\lib\site-packages\py2exe\run.exe -> C:\Tutorial\dist\hello.exe

*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.

Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.

ADVAPI32.dll - C:\WINDOWS\system32\ADVAPI32.dll
USER32.dll - C:\WINDOWS\system32\USER32.dll
SHELL32.dll - C:\WINDOWS\system32\SHELL32.dll
KERNEL32.dll - C:\WINDOWS\system32\KERNEL32.dll

C:\Tutorial>


พอเข้าไปดูใน C:\Tutorial> จะมี folder เพิ่มขึ้นมา 2 folder คื build และ dist ซึ่ง folder build เราสามารถลบทิ้งได้หลังจากสร้าง package เสร็จเรียบร้อยได้เลย ลองทดสอบโปรแกรมที่ได้




C:\Tutorial>cd dist

C:\Tutorial\dist>hello.exe
Hello World



 


ก็พอได้แนวทางกันแล้วนะครับ ลองๆเล่นกันดูนะครับ วันหลังผมจะมาแนะนำการติดตั้งตัวเสริม python อีกตัวหนึ่งที่จะทำให้เพื่อนๆสามารถเขียน python แบบ GUI ได้สะดวกยิ่งขึ้น  วันนี้พอเท่านี้ก่อน เหนื่อยแล้ว สวัสดีครับ

อ่านเพิ่มเติม...

12.11.09

ทำ Python ให้เป็น CGI (Apache+Python)

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

โดยส่วนตัวแล้ว ผมค่อนข้างที่จะถนัดการเขียนโปรแกรมแนว web base ซะมากกว่า windows base วันนี้ผมก็เลยตั้งใจว่าจะทำการ config apache web server ให้สามารถเข้าใจตัวแปลภาษา python สักหน่อย เพื่อที่เราจะได้ลองเขียนภาษา python ให้สามารถทำงานบนเว็บ page ได้ ตอนแรกนั้นผมพยายามที่จะติดตั้งโมดูลตัวหนึ่งที่ชื่อ mod_python แต่ก็ไม่สามารถทำได้สักที

 

 

Mod_python คือ โมดูลที่เอาไว้สำหรับรวมต้วแปลภาษาไพธอนเข้ากับเว็บเซอร์วิส (ในที่นี้คือ Apache) ซึ่งจะทำให้เราสามารถเขียนเว็บ CGI ด้วยภาษาไพธอนได้นั่นเอง

 

หลังจากที่ได้พยายามนานมากหมดไปครึ่งวัน ทั้ง search หาในอินเตอร์เนต ก็พบว่าฝรั่งเค้าก็มีปัญหาเหมือนๆกันกับเรา ปัญหาที่เจอก็คือหลังจากติดตั้งโมดู mod_python นั้น เราไม่พบไฟล์ mod_python.so ซึ่งจริงๆไฟล์นี้น่าจะไปอยู่ใน folder C:\AppServ\Apache2.2\modules ซึ่งในตอนติดตั้งมันก็ถามเราอยู่นะ ว่า folder ที่เราติดตั้ง Apache อยู่ตรงไหน แต่ไหงพอเลือกแล้ว พี่แก error ขึ้นมาเฉยๆ เซ็งเลย

 mod_python

mod_python_error 

สุดท้ายก็มาจบที่วิธีที่ง่ายมากๆ (เวงกรรม แล้ว mod_python ใครคนคิดขึ้นมาเนี่ย!!!) แค่ติดตั้ง python เสร็จ แล้วเข้าไป config ที่ไฟล์ httpd.conf แค่เนี้ย

AddHandler cgi-script .cgi .py .pl

ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"

แล้วก็เขียน code ด้วย python ขึ้นมาแล้วไปวางไว้ที่ C:\AppServ\www\cgi-bin (เค้าบอกว่าด้วยเหตุผล security)

 

#!C:\Python24\python.exe -u

import cgi
import cgitb; cgitb.enable()  # for troubleshooting

print "Content-type: text/html"
print

print """
<html>

<head><title>Sample CGI Script</title></head>

<body>

  <h3> Sample CGI Script </h3>
"""

form = cgi.FieldStorage()
message = form.getvalue("message", "(no message)")

print """

  <p>Previous message: %s</p>

  <p>form

  <form method="post" action="index.cgi">
    <p>message: <input type="text" name="message"/></p>
  </form>

</body>

</html>
""" % message

 

แล้วก็ทดลอง run ดู

python web programming test

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

เพิ่มเติมอีกนิดครับ

หากเพื่อนๆต้องการที่จะ config apache เพื่อให้เราสามารถที่จะบันทึกไฟล์ python cgi script อยู่นอก cgi-bin ให้ทำการปรับแต่งไฟล์ httpd.conf ดังนี้

  • ให้ทำการมองหา #AddHandler cgi-script .cgi แล้วเอา comment ออก คือเครื่อง “#” ออกนั่นเอง
  • แล้วทำการปรับแต่ง SSL เพื่อให้สามารถวาง directory โค๊ดของเราที่ก็ได้ใน www directory โดยมองหาบรรทัดนี้ #AddType text/html .shtml และบรรทัดนี้ #AddOutputFilter INCLUDES .shtml โดยให้เราเอาเครื่องหมาย comment ออก “#”
  • ทำการบันทึกไฟล์ httpd.conf แล้ว restart apache
  • ทดลอง เขียนไฟล์ cgi แล้ว save แล้วลองทดสอบที่ browser ดูครับ

#!C:\Python24\python.exe
print "Content-Type: text/html\n\n"
print "Hello, world!"

python cgi script

ถ้าปรากฏแต่คำว่า Hello, World! แสดงว่าสำเร็จแล้วครับ

 

“….The first step is always the hardest
การเริ่มต้นทำสิ่งใดสิ่งที่ยากที่สุดก็คือตอนเริ่มต้นทำ…….”

อ่านเพิ่มเติม...
 

เกี่ยวกับฉัน(ไหมเนี้ย)

My photo

สวัสดีครับ ชื่อเปิ้ลนะครับ ถ้ามีอะไรให้ช่วยเหลือได้ ก็จะช่วยครับ
ผมได้สร้างบล๊อกไว้ เพื่อเก็บรวบรวมความรู้ และประสบการณ์ในการทำงานครับ แวะไปเยี่ยมชมกันได้ครับ http://mechacity.blogspot.com และบล๊อก http://faker-programmer.blogspot.com ครับ

รายการบล๊อกอื่นๆ

  • Solved: error: 'TKD2' was not declared in this scope, LIFA_Base compile error - วันนี้ จะมาเล่าถึงปัญหาที่เจอในการเบิร์นโค๊ด LIFA_Base ที่เราใช้ในการทำให้ Arduino ของเราสามารถรับคำสั่งจาก LabVIEW ได้ ปัญหานี้ เริ่มเกิดขึ้นตอนที่ Ard...
  • Type-Fu : Typing practice game online - หากใครที่สนใจ หรือจะต้องทำงานเกี่ยวกับคอมพิวเตอร์ หนึ่งในความจำเป็นก็คือ จะต้องเรียนรู้ที่พิมพ์สัมผัสได้ เพราะการที่พิมพ์สัมผ้สได้ มันได้ประโยชน์หลายๆ อย...

Blog อื่นๆ ที่น่าติดตาม

เหล่าบรรดา Blogger