Archive for the ‘Web’ Category

CodeIgniter Routes Trick – Removing Controller Names from the URI to Keep URLs Short.

ช่วงนี้ บริการจำพวก URL Shortener Service กำลังมาแรง เช่น bit.ly goog.gl  youtu.be fb.me เป็นต้น ผมก็อยากจะลองทำเวบพวกนี้ บน Codeigniter เหมือนกัน สำหรับคนที่เคยใช้ codeigniter จะรู้ว่าระบบ URI ของ CI จะต้องมีรูปแบบดังนี้ http://localhost/controller/function/parameters นั่นหมายถึง มันยาวมากเลย แต่ผมต้องการ http://localhost/parameters เลยอ่ะคับ ไปลอง Google เลยมาโน๊ตเก็บไว้หน่อย เด๋วพอจะใช้แล้วหาไม่เจออีก
เปิดไฟล์ application/config/routes.php
เติมคำสั่งนี้ลงไป
$route['^(?!video|url).*'] = ‘controller/function/$0′;
คำอธิบาย หมายถึงให้ Route URI ที่ไม่ได้ขึ้นต้นด้วยคำว่า video หรือ url ไปที่ๆ ต้องการ
ที่มา http://bizwidgets.biz/web-design/codeigniter-routes-trick-removing-controller-names-from-the-uri-to-keep-urls-short/

[Apache] Create subdomain on localhost

ปกติแล้ว คนที่ทำเวบ ก็สร้าง subdomain ผ่าน direct admin ง่ายมาก แต่ถ้าอยากลองบน localhost จะทำยังไงดีหละ นั่งหาๆเหมือนกัน เลยจดไว้ดีกว่า กันลืม ลองดูวิธีนี้ละกันนะ ง่ายดี
สำหรับตัวอย่างนี้ สมมติว่าสร้าง subdomain ชื่อว่า sub โดยมีไดเรคทอรี่อยู่ที่ /var/www/sub
เริ่มจาก

$ sudo vi /etc/apache2/sites-enabled/000-default

เติมข้อความนี้ลงไป

ServerAdmin admin@localhost
DocumentRoot /var/www/sub
ServerName sub.localhost

ตามด้วยคำสั่ง

$ sudo vi /etc/hosts

เติมข้อความนี้ลงไป

127.0.0.1 localhost
127.0.0.1 sub.localhost

ลองทดสอบดู ถ้าไม่ได้ให้ restart apache service ก่อนครับ

$ sudo /etc/init.d/apache2 restart

เสร็จแล้วๆๆๆ อิอิ

[PHP] Delete Apache owned files and folders

เนื่องจากผมใช้ Doku wiki แล้ว Apache มันสร้าง cache ขึ้นมาเอง แล้วผมอยากจะลบมัน ปรากฏว่าผมลบไฟล์ไม่ได้ เนื่องจากผมไม่ใช่ Root แล้วเป็นไฟล์ที่ Apache สร้างขึ้นด้วย
นั่งขุดคุ้ยหา script php มาลบให้มันละกัน ทำตามนี้โลด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function SureRemoveDir($dir) {
if(!$dh = @opendir($dir)) return;
while (($obj = readdir($dh))) {
if($obj==‘.’ || $obj==‘..’) continue;
[...]

[Happy New Year 2010] Twitter Countdown

มาดู Twitter Trend สำหรับปีใหม่ปีนี้ดีกว่า

คนทั่วโลก Tweet หนักมาก #fail

[Ubuntu] Enabled Mod_Rewrite and htaccess on LAMP

วิธีการดังกล่าว เหมาะสำหรับ ผู้ที่ต้องการ Deploy Web Framework จำพวก codeigniter, cakephp, zend framework เป็นต้น ซึ่งต้องใช้ Mod_Rewrite และ htaccess
Web Server Installation
วิธีที่ 1
1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย

$ sudo apt-get install apache2 mysql-server-5.0 libapache2-mod-php5

2. restart apache ครั้งนึง

$ sudo /etc/init.d/apache2 restart

หรือ วิธีที่ 2
1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย

$ sudo tasksel

2. เลือก Web Server กับ OpenSSH Server
3. restart apache ครั้งนึง

$ sudo /etc/init.d/apache2 restart

3. เพิ่มเติม Apache Directory จะอยู่ที่ [...]

[KlaInFo] Internet Connectivity in Thailand (2009) by NECTEC

Internet Bandwidth

National Internet Exchage (NIX)  251 Gb/s
International Internet Gateway (IIG)  62 Gb/s

Internet User

(สถิติปี 2008) จำนวผู้ใช้ internet16,100,000 คน
(สถิติปี 1998) จำนวผู้ใช้ internet 670,000 คน

Internet Map

เคยสังเกตุไหมว่า ทำไมเราถึงเข้าเวบ google.com yahoo.com microsoft.com ได้เร็วนักหนา ทั้งๆที่ Bandwidth ออกต่างประเทศมันช้ากว่าในประเทศ จากแผนภาพดังกล่าว พบว่า CAT ได้เชื่อมต่อ gateway ไปยัง Internet Provider ดังๆ ในต่างประเทศ เช่น Microsoft(HK), Microsoft(SG), Microsoft(US), Imeem, Yahoo.com, Coogle.com,
จากรูปจะพบว่า ประเทศไทยมี ISP อีกหลายเจ้าเรยแฮะ เห็นชัดเจนว่า Bandwidth ที่ไหน แรงกว่ากัน [...]

[Web] HTML 5 Cheat Sheet Release Now!

Dowload Here : html5-cheat-sheet

credits: http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/

[Wordpress] Using Permalinks with htaccess

หลายคนที่ได้ลง wordpress แล้ว url ของ entry ต่างๆ โดย default แล้วจะเป็นแบบแรก

Default: http://blog.klainfo.com/press/?=123
Date and name based: http://blog.klainfo.com/press/index.php/2006/06/14/sample-post/
Numeric: http://blog.klainfo.com/press/index.php/archives/123
Custom

ถ้าต้องการให้ url ดังกล่าว ดูสวยงามมากขึ้น หรือด้วยเหตุผลเพื่อ SEO (Searh Engine Optimization) เป็นแบบที่ 2 หรือ 3 ดังนี้

http://example.com/category/post-name/
or http://example.com/year/month/day/post-name

เมื่อเข้าไปแก้ไขใน Wordpress Admin -> Settings -> Permalinks แล้ว เลือกแบบ 2 หรือ 3 จะยังใช้งานไม่ได้
วิธีแก้ไข

Enhancing your html layout!

ตามมาตรฐาน W3C ซึ่งเป็น 1 ใน web standard ใหญ่ๆที่รู้จักกัน
วันนี้จะมาแนะนำ tag ใหม่ คือ abbr กับ acronym ครับ
โดยลักษณะการใช้งาน จะดูคล้ายๆกัน ซึ่งพบได้บ่อยครั้งใน Wikipedia
ความคล้าย : acronym และ abbr เพิ่มความหมายใ้ห้ตัวอักษรย่อต่างๆ ซึ่งทำงานเหมือนกัน
เช่น [CSS = Cascading Style Sheets] เป็นต้น
ความต่าง คือ
acronyme อ่านออกเสียงเป็นคำๆ เช่น RADAR (เร-ดาร์) หรือ NATO(นาโต้)
abbr : อ่านออกเสียงทุกตัวอักษร เช่น CSS(ซี-เอส-เอส) หรือ URI(ยู-อาร์-ไอ)
ตัวอย่าง

1
2
<acronym title="Radio Detecting And Ranging">radar</acronym>
<abbr title="Cascading Style Sheets">CSS</abbr>

ผลลัพท์ได้เป็นดังนี้

1
2
3
<abbr title="Really Simple Syndication">RSS</abbr>
<abbr title="Uniform Resource [...]

How different between id and class?

หลายๆคนที่เขียน CSS ไปซักพัก แล้วโดนไซโคให้นิยมชมชอบ tag div เป็นชีวิตจิตใจ ^^ อาจจะสงสัยกันว่า แล้ว id กับ class นั้น แตกต่างกันอย่างไร ผมเองก็เคยสงสัยครับ
ความแตกต่างมันอยู่ตรงที่
ID

Once times in your html layout.
มีใช้แค่ครั้งเดียวใน 1 page เช่น header content sidebar footer etc.
วิธีใช้ เช่น <div id=”header”></div> เป็นต้น
ID is the first priority.
เมื่อมี ID กับ CLASS อยู่พร้อมกัน เช่น <div id=”aaa” class”bbb”>
CSS จะเรียกใช้ id เป็นหลัก หมายถึงจะไปเรียกใช้ #aaa

CLASS

Several times in your html layout.
ใช้หลายครั้งใน [...]

Session and Cookies

หลักการทั่วๆไปแล้ว จะใช้ cookies เก็บ session id ไว้ แล้วใช้ session เก็บข้อมูลพวก user_id หรือ username เป็นต้น
โดย cookies นั้นจะเป็นตัวกำหนดว่ามีอายุนานเท่าไหร่ เช่น 1hr 5hr หรือ 20 year(^^)
ข้อเสียของ session

hacker สามารถขโมย session ของเราได้
เมื่อ restart server ปุ๊ป session id ของ client ก็จะหายไปหมด
ไม่สามารถทำงานข้าม platform ได้ เช่น ส่งข้อมูลจาก .net framework ไปยัง php

ข้อเสียของ cookie

ถ้า client ไม่ได้ enable cookie ไว้ จะไม่สามารถเก็บข้อมูลได้อีกเลย
ข้อมูลส่วนตัวของ user อาจถูกขโมยไปได้
ไม่มี security เรยซักนิด

สมมติเหตุการณ์ว่ามี linux 2 [...]