18 พฤศจิกายน, 2552

Python : ตรวจสอบว่าเป็นจำนวนเฉพาะหรือไม่ (Prime Number)

จำนวนเฉพาะคือ เลขที่น้อยกว่าหรือเท่ากับ รากที่สองของจำนวนที่ต้องการหา และหารเลขจำนวนนั้นไม่ลงตัว




def is_prime(n):
import math
n = abs(n)
i = 2
while i <= math.sqrt(n): # เช็คว่าน้อยกว่าหรือเท่ากับรากที่สองของจำนวนที่ต้องการหา
if n % i == 0: # ถ้าหารลงตัวก็แสดงว่าไม่ใช่จำนวนเฉพาะ
return False
i += 1 # เพิ่มค่าไปเรื่อยๆจนกว่าจะผิดเงื่อนไข
return True



ที่มา: http://pthree.org/2007/09/05/prime-numbers-in-python/

06 พฤศจิกายน, 2552

ใช้ lighttpd + php5 ใน Ubuntu

ติดตั้งแพกเกจ
# apt-get install lighttpd php5-cgi

แก้ไขไฟล์ php.ini (ในที่นี้มันอยู่ใน /etc/php5/cgi/php.ini)
โดยเพิ่ม
cgi.fix_pathinfo = 1

และไฟล์ lighttpd.conf (/etc/lighttpd/lighttpd.conf)
เพิ่ม
server.modules = (
......................,
"mod_fastcgi",
......................,
)

และ
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi, # พาธที่ชี้ไปยัง php-cgi
"socket" => "/tmp/php.socket"
)))

จบ!

หา UUID แต่ละพาร์ทิชัน

ดูจาก

ls -l /dev/disk/by-uuid/

จบ!

Make a bootable GRUB2 CD-ROM : จะเอาไฟล์ grub_eltorito

คำสั่งที่ใช้

grub-mkrescue --overlay=/boot/grub GRUB2CD.iso

จากนี้จะ mount ไฟล์ หรือใช้ mc เข้าไปดึงไฟล์ออกมาก็ได้

ไฟล์จะอยู่ที่ boot/grub/grub_eltorito

28 ตุลาคม, 2552

นับบรรทัด

นอกจากจะใช้
wc -l
แล้ว

ยังสามารถใช้
grep -c ... (จุดสามจุดติดกันจริงๆนะเออ)
ได้อีกด้วย


เพิ่งรู้นี่แหละ

27 ตุลาคม, 2552

ดึง dependencies ที่แพกเกจต้องใช้ในการ build

นั่งถึก ดึงดีเพนทีละตัวอย่างกับคนบ้ามานาน มาเจอคำสั่งนี้เข้าไป
$ apt-get build-dep ชื่อแพกเกจที่ต้องการ
จบ

08 ตุลาคม, 2552

Import and Export GnuPG key

Listing the key.

$ gpg --list-keys
/home/user/.gnupg/pubring.gpg
--------------------------------
pub 1024D/ABCDFE01 2008-04-13
uid firstname lastname (description)
sub 2048g/DEFABC01 2008-04-13


Export key

$ gpg --output mygpgkey_pub.gpg --armor --export ABCDFE01
$ gpg --output mygpgkey_sec.gpg --armor --export-secret-key ABCDFE01


Import key

$ gpg --import mygpgkey_pub.gpg
$ gpg --allow-secret-key-import --import mygpgkey_sec.gpg

07 ตุลาคม, 2552

แก้ปัญหาตัวอักษรเพี้ยน อันเนื่องมาจาก ปัญหาของ รหัสอักขระในลินุกซ์

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

มีคำสั่งในการแปลงรหัสอักขระ นั่นคือ

iconv --from-code=windows-874 --to-code=UTF-8 test.txt > test-utf.txt

ง่ายโพด

ที่มา: http://mediakey.dk/~cc/howto-convert-text-file-from-utf-8-to-iso-8859-1-encoding/

31 พฤษภาคม, 2552

Gestures in Epiphany

ปกติใช้แต่ Firefox วันไหนเบื่อๆ ก็ใช้ Epiphany อันนี้เป็นการใช้ extension ของ Epiphany ชื่อ Gestures น่ะ ลากเมาส์ให้ตรงเงื่อนไข แล้วมันจะทำตามค่าที่เราตั้งไว้ ฟังแล้วงงๆ ดูรูปเลยละกัน



28 เมษายน, 2552

เว็บสอนลินุกซ์จ๊าบๆ มีทั้งรูปและวิดิโอ

เว็บ LINUXCONFIG.ORG เป็นเว็บที่ค่อนข้างแจ่ม เหมาะสำหรับทุกประสบการณ์ ไม่ว่าจะมาก จะน้อย หรือ ไม่มีเลย (โครตจะเวอร์)

ที่บอกว่าแจ่มคือ เกือบจะทุก(สงสัยจะทุกอันนั่นล่ะ)บทความ จะมีรูปที่สามารถเข้าใจได้ง่ายๆ บางอันจะมีเหมือนสกรีนแคสต์(screen cast) ให้ลองทำตามได้เลย

ยกตัวอย่างสักรูป

Linux Filesystem basics



หมายเหตุ ไม่ได้ค่าโฆษณาแต่อย่างใด

02 มีนาคม, 2552

โรงเรียนกัลยาณวัตร

ได้มีโอกาสไปที่โรงเรียน กัลยาณวัตร จังหวัดขอนแก่น พอดีเพื่อน @pandarianz ให้ไปช่วยดูเครื่อง server ที่โรงเรียนนี้ ซึ่งเพื่อนมันเอาระบบมาทดสอบที่นี่ เพื่อนมันมาหลายรอบละ ติดปัญหาไม่ผ่านการตรวจของผู้ตรวจซะที มาคราวนี้เห็นบอกว่าปรับโค้ดมาเยอะพอสมควร(เป็น php) ได้เดินทางมาก่อนวันทดสอบจริงหนึ่งวัน เอาเครื่องสำรองมาฝากไว้ พอเข้ามาในห้องพักของอาจารย์คอมฯที่นี่ ก็เจอเครื่อง server ที่ว่า ที่นี่ค่อนข้างจะสนับสนุนด้าน IT พอสมควร เนื่องจากในห้องนี้เต็มไปด้วย ประกาศนียบัตรต่างๆ ที่นักเรียนโรงเรียนนี้ได้รับ อาจารย์ของที่นี่ก็เป็นกันเอง support ดีมากๆ นอนค้างโรงแรมไปคืนนึงที่โฆษะ รุ่งขึ้นก็ไปโรงเรียนแต่เช้า(ง่วงมาก) แต่มารู้ทีหลังว่า กรรมการจะมาตรวจก็บ่ายสามโน่น เพื่อนมันก็เลยเซ็ตเรื่องระบบไปหน่อยนึง แล้วอาจารย์ก็ชวนไปกินข้าวเที่ยงที่ร้านปลาอะไรซักอย่างนี่แหละ พอถึงเวลาตรวจ ทุกอย่างก็เป็นไปได้ด้วยดี ตัว server (ใช้ linux ของ มอ)ก็ใช้คำสั่ง top เพื่อดูประสิทธิภาพการทำงานของระบบ ก็ไม่มีปัญหาแต่อย่างใด แต่พลาดไปอย่างนึง ก็คือ ไม่รู้คำสั่งที่จะใช้ดูว่ามีเครื่องลูกต่อเข้ามากี่เครื่อง(ปกติไม่เคย monitor&set server อยู่แล้ว) คนที่มาตรวจถามมาก็เลยตอบไปไม่ได้ รู้แต่ว่าเครื่องมันโอเค รับโหลดจากเครื่องลูกไหว ผลสุดท้ายกรรมการก็ให้ผ่าน(ซะที) แต่ไม่ท้ายสุด ตัวโปรแกรมที่เอามาทดสอบ(OBECLMS) ต้องไปเพิ่มเติมฟังก์ชันต่างๆอีก ตามความต้องการของกรรมการ เพราะต้องเอาไปใช้ในโรงเรียนหลายแห่ง สงสัยต้องหาความรู้ด้าน server และ monitoring ใส่ตัวเยอะๆแล้วสิ

15 กุมภาพันธ์, 2552

Debian GNU/Linux 5.0 ออกแล้ว


ตารางเปรียบเทียบ ระหว่าง เวอร์ชัน 4.0 และ 5.0

PackageVersion in 4.0 (etch)Version in 5.0 (lenny)
Apache2.2.32.2.9
BIND DNS Server9.3.49.5.0
Cherokee web server0.5.50.7.2
Courier MTA0.53.30.60.0
Dia0.95.00.96.1
Ekiga VoIP Client2.0.32.0.12
Exim default email server4.634.69
GNU Compiler Collection as default compiler4.1.14.3.2
GIMP2.2.132.4.7
the GNU C library2.3.62.7
lighttpd1.4.131.4.19
maradns1.2.12.041.3.07.09
MySQL5.0.325.0.51a
OpenLDAP2.3.302.4.11
OpenSSH4.35.1p1
PHP5.2.05.2.6
Postfix MTA2.3.82.5.5
PostgreSQL8.1.158.3.5
Python2.4.42.5.2
Tomcat5.5.205.5.26


ที่มา http://www.debian.org/releases/lenny/i386/release-notes/ch-whats-new.en.html

http://www.debianclub.org/node/416

09 กุมภาพันธ์, 2552

หัดเขียน Perl

ไม่รู้ว่าทำไมถึงอยากลองดู อาจจะได้ใช้(มั้ง)
จริงๆแล้ว แม้แต่ shell script ก็เขียนไม่เป็น แต่ไหงอยากมาเขียน Perl ซะได้
พอดีในห้องสมุดมันมีหนังสืออยู่น่ะ Learning Perl 4th edition (ตอนนี้มันมี edition 5 ออกมาละ) ก็เลยสอยมาอ่านๆดู อ่านไปได้ประมาณบทกว่าๆละ ก็พอจะเข้าใจพื้นฐานคร่าวๆของภาษานี้บ้าง

HelloWorld ของ Perl (การประกาศส่วนหัว จะคล้ายๆ shell script)
hello.pl (จริงๆไม่ต้องใส่นามสกุลก็ได้นะ ใส่ไว้ให้เข้าใจว่าเป็นไฟล์ perl script เท่านั้นแหละ)
#!/usr/bin/perl
print "Hello World\n";

พอเสร็จแล้วเอาไป chmod ให้มัน execute ได้ เวลารันอาจจะ

$ ./hello.pl
หรือ
$ perl hello.pl


ตั้งแต่อ่านมาได้เท่านี้แหละ เอาไว้คราวหน้าละกัน

23 มกราคม, 2552

ขอบันทึกไว้ซะหน่อย

พอดีได้ติดตามอ่านเว็บล็อคของคุณ(พี่) thep มานานแล้ว ได้อะไรกลับมาก็ค่อนข้างมาก(ซึ่งส่วนใหญ่จะไม่ค่อยรู้เรื่องเท่าไหร่) วันนี้ไปอ่านเจอ ที่นี่ ก็เลยจะขอเมมไว้ในนี้ซะหน่อย ที่พูดถึงก็คือแพกเกจที่ชื่อ "command-not-found" ซึ่งเมื่อเราป้อนคำสั่งลงไปในเทอมินัลแล้วเกิดคำสั่งนั้นมันไม่มีอยู่ในระบบเรา ตัวนี้จะช่วยบอกประมาณว่า "คุณอยากใช้คำสั่งนี้เหรอ ถ้าอยากใช้ก็ต้องติดตั้งแพกเกจนี้ก่อนน๊า" มันไม่เหมือนกับที่เคยใช้ใน ubuntu ซึ่งมันมีมาให้แล้วตั้งแต่ตอนติดตั้งเสร็จ เอาไว้หาเจออะไรใหม่ๆ(ที่ตัวเองยังไม่รู้)แล้วจะมาเพิ่มทีหลังละกัน

sudo apt-file update
แล้ว
sudo update-command-not-found


22 มกราคม, 2552

Mainboard ใหม่?

วันนี้ได้ Mainboard มาใหม่(แต่ไม่ใหม่) จากอาจารย์

เรื่องของเรื่องก็คือ ที่ห้องอาจารย์มีเคสอยู่ตัวนึงที่เป็น Celeron ซึ่งวันนี้อาจารย์ได้เปลี่ยนห้องเครื่องข้างในเป็น CPU AMD AthlonX2 5200+ กับแรม 2 กิ๊ก นอกนั้นเหมือนเดิม ทำให้บอร์ดตัวเดิมซึ่งก็คือ บอร์ด ASROCK กะแรมอีก 2 ตัว ว่างงานทันที จริงๆผมบอกอาจารย์ไว้แล้วล่ะว่าอยากได้ไปลองเล่น ตอนนี้บอร์ดก็อยู่ที่บ้านละ แต่ปัญหาก็คือ ไม่มีเคส,power supply,hdd ก็นั่นล่ะนะ ถ้าวันไหนมีอาวุธครบ ก็คงได้เริ่มลุยกัน ก็กะว่าจะเอามาลง Debian แล้วก็ทำ server คั่นระหว่างโน๊ตบุ๊กกับตัวจ่ายเน็ตที่บ้าน ต้องขอบคุณอาจารย์มา ณ ที่นี้ด้วยนะครับ

21 มกราคม, 2552

Lab Computer Network.

เทอมนี้ได้มีโอกาสช่วยงานอาจารย์ซึ่งก็คุมแล็บ วิชา Computer Network ซึ่งเทอมนี้มี รุ่นพี่ เป็น T.A. อยู่แล้ว แล็บจะแบ่งออกเป็น 2 ส่วนใหญ่ๆ คือ ส่วนของการคอนฟิกใน windows server (ซึ่งเทอมนี้คือ windows server 2003) กับ ส่วนของการคอนฟิกใน Linux (ซึ่งจะใช้ SUTinsServer)ปีนี้จะต่างจากปีอื่นๆ ซึ่งแต่ก่อน จะให้นักศึกษาลง Windows Server 2003 ลงไปในเครื่องคอมพิวเตอร์ในห้องแล็บเลย แต่มาปีนี้ ได้ปรับเปลี่ยน โดยให้นักศึกษา(ซึ่งก็คือรุ่นน้องของผม)ทำการลง Windows Server 2003 ลงในโปรแกรม VirtualBox ที่อยู่บน Linux แทน ตอนนี้ก็ผ่านมาได้ 3 แล็บแล้ว ก็ได้มองเห็นปัญหาหลายๆอย่างที่เกิดขึ้นในห้องแล็บ ส่วนใหญ่เกิดมาจากการที่นักศึกษา ไม่คุ้นเคยกับการใช้ระบบที่เป็น Linux ทำให้เกิดความไม่เข้าใจในทั้งเรื่องระบบไฟล์,สิทธิ์ต่างๆ,คำสั่งพื้นฐานของ Linux ซึ่งทำให้กินเวลามาก ทั้งในการติดตั้ง Linux ทั้งการติดตั้งโปรแกรมต่างๆที่จำเป็น กว่าจะได้ทำกันจริงๆก็ปาเข้าไปแล็บที่ 3 แล้ว(ซึ่งก็คือวันนี้) ครั้งต่อๆไป จะเป็นการคอนฟิก server ใน Linux ทั้งหมด

20 มกราคม, 2552

Welcome to my first blog.

ยินดีต้อนรับ

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