Friday, August 31, 2012

PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 4)


       บทความสุดท้ายแล้วนะครับในเรื่องการทำปฏิทิน โดยก่อนหน้านี้เราได้ทำปฏิทินที่สามารถเลื่อนเปลี่ยนเดือนได้มาแล้ว ในบทความเรื่อง


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



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

       ไฟล์ที่ต้องใช้

1. ไฟล์ calendar_4.php สำหรับเป็นส่วนของการแสดงผลปฏิทิน

2. ไฟล์ ajaxCalendar.php สำหรับเป็นส่วนของ ระบบที่ใช้สร้างปฏิทิน

3. ไฟล์ styles.css เป็นส่วนของ CSS ใช้สำหรับกำหนดการแสดงผลในหน้าเว็บไซต์

4. ไฟล์ ajax_framework.js ใช้สำหรับเป็นเฟรมเวิร์คของ A่jax

       เริ่มกันเลยนะครับ ก่อนอื่นก็ขอให้คัดลอกโค้ดจากไฟล์ต่างๆตามนี้ไปบันทึกไว้ให้ครบครันกันก่อน แล้วมาอธิบายกันหลังจากนี้ครับ (บันทึกไว้ที่เดียวกันนะครับ)

ไฟล์ calendar_4.php
<html>
<head>
<title>ปฏิทินเบื้องต้น</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="ajax_framework.js"></script>
<script>
function calendar(now){
 var data= "now=" + now;
 var url = "ajaxCalendar.php";
 ajaxLoad('get',url,data,'mk_calendar');
}
</script>
</head>
<body>
<span id=mk_calendar><script>calendar('');</script></span>
<br />
<span id=sh_time>หน้านี้โหลดเมื่อ : <?echo(date('j F Y') . " @ " . date('G:i:s'));?></span>
</body>
</html>

Wednesday, August 29, 2012

PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 3)

       สวัสดีครับวันนี้เรามาทำปฏิทินต่อจากบทความที่ผ่านมา ซึ่งบทความตอนที่แล้วนั้นเราได้ใส่สีสันให้กับปฏิทินเราด้วยเทคนิค CSS จนมีหน้าตาสวยงามไปแล้วนะครับ ดูได้จาบทความนี้นะครับ


       สำหรับวันนี้เราก็จะมาทำการเพิ่มเติมรูปแบบปฏิทินของเราให้มีฟังก์ชั่นที่น่าใช้งานมากยิ่งขึ้นอีก นั่นคือการเพิ่มการเลื่อนแสดงปฏิทินไปเดือนที่ผ่านมา / เดือนก่อนหน้านะครับ 

       หลักการทำงานของเราก็ง่ายๆเพียงเราเพิ่มลิงค์ที่ใช้สำหรับการเลื่อนดูปฏิทินที่ส่วนหัวของตาราง แล้วก็เก็บค่า Timestamp ของเดือนนั้นๆไว้มาทำงานต่อในส่วนของการสร้างปฏิทินนะครับ เรามาลุยกันเลย


เริ่มต้นก็ขอให้คัดลอกโค้ดนี้ไปก่อนนะครับ แล้วเรามาอธิบายโค้ดคำสั่งต่างๆกัน

ไฟล์ calendar_3.php

<html>
<head>
<title>ปฏิทินเบื้องต้น</title>
<style>
     .sunday{color: white;background-color:red;}
     .saturday{color: white;background-color:#9900CC;}
     .default{color: black;background-color:white;}
     .today{color: blue;background-color:yellow;}
</style>
</head>
<body>
<?
$now = strtotime("now");

if(isset($_GET['now']) && !empty($_GET['now'])){
 $now = $_GET['now'];
}

$month = date('n',$now);
$year = date('Y',$now);
$first = strtotime("$year-$month-1");
$first_day = date('w',$first);
$num_day = date('t',$now);
$today = date("Y-n-j");
$TH_Day = array("อา.","จ.","อ.","พ.","พฤ.","ศ.","ส.");
$TH_Month = array(1 => "มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน",
"กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$TH_Year = $year+543;

$class = "default";

$url_togo = $_SERVER['PHP_SELF'] . "?now=";
$last_month = strtotime("-1 month $year-$month");
$next_month = strtotime("+1 month $year-$month");

$url_lastMonth = "<a href=\"" . $url_togo . $last_month . "\">&laquo;</a>";
$url_nextMonth = "<a href=\"" . $url_togo . $next_month . "\">&raquo;</a>";

echo("<table border=0 cellspacing=1 cellpadding=7 bgcolor=#FFCC99>
<tr>
 <th>$url_lastMonth</th>
 <th colspan=5>พุทธศักราช  $TH_Year<p>$TH_Month[$month]</th>
 <th>$url_nextMonth</th>
</tr>
<tr bgcolor=#FFFACD><th>" . implode("</th><th>",$TH_Day) . "</th></tr>");

$start = 1 - $first_day;
$w = 1;
for($d = $start; ;$d++){
     $class = "default";
     $date = "$year-$month-$d";

     if($w == 1){
          $class = "sunday";
          echo("<tr align=center class=$class>");
     }else if($w == 7){
          $class = "saturday";
     }else{
          $class = "default";
     }

     if($d < 1){
          echo("<td class=$class>&nbsp;</td>");
     }else if($d >= $num_day){
          if($d == $num_day){
                 if($today == $date){
                        $class = "today";
                 }
                 echo("<td align=center class=$class>$d</td>");
         }else{
                 if($w == 7){
                        $class = "saturday";
                 }else{
                        $class = "default";
                 }
                 echo("<td class=$class>&nbsp;</td>");
        }
        if($w == 7){
             echo("</tr>");
             break;
        }
    }else{
         if($today == $date){
              $class = "today";
         }
         echo("<td align=center class=$class>$d</td>");
    }

    if($w == 7){
        echo("</tr>");
        $w = 1;
    }else{
        $w++;
    }

}
?>
</table>
</body>
</html>



อธิบายการทำงาน

       ผมได้นำไฟล์เดิมจาก calendar_2.php ในบทความตอนที่แล้วมาทำการแก้ไขเพิ่มเติมนะครับ โดยผมขออธิบายในส่วนที่เพิ่มเติมเข้ามานะครับ (ผมปรับปรุงการแสดงผลนิดหน่อย หาดูเองนะไม่ยาก อิอิ)

       ขั้นแรกเวลาเราจะสร้างปฏิทินโดยสามารถเลื่อนไปเดือนก่อนหน้า และเดือนถัดไปได้นั้น เราจะต้องมีตัวแปรตัวหนึ่งมาเก็บค่า Timestamp ของเดือนนั้นๆได้ 
$now = strtotime("now");

if(isset($_GET['now']) && !empty($_GET['now'])){
 $now = $_GET['now'];
}

Saturday, August 25, 2012

ความรู้ทั่วไป : เรื่องของสถานีบริการน้ำมัน (ตอนที่ 1 : เด็กปั๊ม ป.ตรี ขอบ่น)

       เมื่อช่วงบ่ายวันนี้ (วันที่ 25 สิงหาคม 2555) ผมถึงกับตกใจกับคอลัมน์หนึ่งของเว็บไซต์หนังสือพิมพ์ไทยรัฐ เว็บไซต์นี้ครับ

http://www.thairath.co.th/content/life/286043

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




       ผมขออนุญาตนำภาพที่ผมได้จากการ PrintScreen หน้าเว็บไซต์มาอ้างอิงด้วยนะครับ

1.

       ผมตลกกับข้อแรกก่อนเลย ส่วนใหญ่สถานีบริการจะปรับราคาน้ำมันขึ้้นหรือลง ได้นั้นต้องมีการแจ้งจากทางหน่วยงานที่เกี่ยวข้องเช่น บริษัทค้าน้ำมันยี่ห้อต่างๆ หรือรัฐบาลที่ประกาศชดเชยราคาน้ำมัน โดยที่จะต้องมีเวลาแจ้งกำกับมาด้วยทุกครั้ง อาจจะเป็นหลังเที่ยงคืน ประกาศทันที โดยส่วนใหญ่จะมีผลหลังเที่ยงคืนของวันที่ประกาศ เพราะจะทำให้มีผลบังคับใช้ในวันถัดไป แต่สาเหตุที่มีการปรับกันช่วงตี 5 เพราะเป็นช่วงที่สถานีบริการเปิดทำการ ใครจะตื่นมาปรับราคาน้ำมันช่วง "เที่ยงคืน"
       แต่ที่ผมตลกไปมากกว่านั้น คือเหตุผลที่ต้องเติมน้ำมันช่วงเช้าเพราะเชื่อว่าจะได้ปริมาณน้ำมันที่มากกว่า ห๊า.... อธิบายเป็นวิทยาศาสตร์ง่ายๆนะครับ สสารใดๆที่ได้รับพลังงานจนอุณหภูมิสูงขึ้นมันจะขยายตัว ถูกต้องที่เมื่ออุณหภูมิโดยรอบค่อนข้างต่ำ น้ำมันจะอยู่ในลักษณะที่ไม่พองตัว แต่อย่าลืมนะครับว่าน้ำมันไม่ได้ออกจากถังแล้วออกสู่หัวจ่ายเลยโดยตรง มันผ่านการตวงลิตรมาก่อนที่เรียกว่า Flow Meter ที่อยู่ในตู้หัวจ่ายทุกตู้ โดยเป็นลักษณะพู 4 พูทำหน้าที่ในการตรวจสอบน้ำมันในแต่ละครั้งที่เติมว่า ผู้บริโภคจะได้น้ำมันเต็มลิตรในลักษณะที่ยอมรับได้  ลักษณะที่ยอมรับได้คืออะไร คือลักษณะที่น้ำมันที่เราได้รับอยู่ในช่วง +,- ของปริมาณที่ทางหน่วยงานที่เกี่ยวข้องกำหนด โดยการวัดแบบนี้ที่เรียกว่า การตวงลิตร จะมีหน่วยงานราชการที่เกี่ยวข้องมากำกับดูแลโดยเฉพาะคือ สำนักชั่งตวงวัดในแต่ละเขตุพื้นที่ที่รับผิดชอบ จะมาทำการตรวจสอบทุกปี เพื่อให้มีมาตรฐานที่สุดจึงต้องมีการทดสอบโดยการใช้อุปกรณ์ชั่งตวงวัดน้ำมันเชื้อเพลิง ดังภาพ

Friday, August 24, 2012

Python : Replace ข้อมูลในไฟล์แบบตามสั่ง



       เจ้างูน้อยน่ารักในชื่อ Python นี้หลายคนคงสงสัยนะครับว่ามันเป็นโปรแกรมภาษาแบบไหน มันดีอย่างไร มันคืออะไร เอาเป็นว่าไปศึกษาที่นี่เลย Python.org ไม่ขอบอกในที่นี้ แต่บอกใบ้ให้นิดๆว่า Google ที่เราใช้กันประจำๆ ก็เกิดมาจาก Python นี่หล่ะครับ

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


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

2. ใช้วิธีแปลงข้อมูลเป็นไบนารี่แล้วถอดมาแก้ไข โอ้ววววววว...เมพ
ข้อดึ : ตามฉบับไบนารี่ข้อมูลที่ถูกถอดออกมาจะกระจางแจ้งแดงแจ๋ จะดูส่วนไหน แก้ไขส่วนไหนละเอาเลย ไม่ว่าไฟล์ประเภทไหนอย่างไร รู้หมด
ข้อเสีย : ยุ่งยากแน่ๆหากข้อมูลที่เราต้องการเปลี่ยนแปลงมันซับซ้อนเราต้องมานั่งหาอินเด็กไฟล์ หาตำแหน่งที่ถูกต้อง อีกยังต้องมานั่งเทียบ Hash ไฟล์อีก ไม่นะ..

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

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

Wednesday, August 22, 2012

PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 2)

       ในบทความนี่เรามาปรับปรุงปฏิทินต่อจากบทความที่แล้วกันนะครับ ซึ่งการปรับแต่ปฏิทินในครั้งนี้เราจะใช้ เทคนิคการจัดรูปแบบเอกสารตามมาตรฐานของ WWW แบบใหม่นั่นก็คือ CSS หรือเรียกชื่อเต็มๆว่า Cascading Style Sheets โดยในส่วนของรายละเอียดในการจัดรูปแบบต่างๆนั้นขอแนะนำให้ไปศึกษาเพิ่มเติมเองนะครับ
       ทำไมถึงต้องเป็น CSS นั่นก็เพราะรูปแบบ CSS นั้นถูกนำมาใช้เพื่อเสริมการทำงานของ HTML ให้มีประสิทธิภาพมากยิ่งขึ้น โดยเน้นไปที่การจัดรูปแบบและโครงร่างของเอกสารเป็นหลัก ทำให้เราสามารถที่จะกำหนดรูปแบบเอกสารให้หลากหลายมากยิ่งขึ้น แก้ไขง่าย จัดการง่าย ควบคุมง่าย ตามสไตล์ของ CSS นั่นเอง
       สำหรับการจัดรูปแบบปฏิทินในวันนี้เราจะมาตกแต่งใส่สีสันลงไปเพื่อเพิ่มความสวยงาม โดยมีส่วนที่ต้องตกแต่งอยู่ 5 ส่วนด้วยกัน คือ

  1. ส่วนหัวปฏิทิน
  2. ส่วนหัวสัปดาห์
  3. ส่วนที่แสดงเป็นวันอาทิตย์
  4. ส่วนที่แสดงเป็นวันเสาร์
  5. ส่วนแสดงวันที่ปัจจุบัน

       เนื่องจากเราต้องจัดการกำหนดรูปแบบที่หลากหลายเช่นนี้ CSS จึงเหมาะกับการทำงานดังกล่าว เรามาลองเริ่มจัดรูปแบบปฏิทินกันเลยครับ

Sunday, August 19, 2012

Ubuntu : ฟอร์แมตพาร์ติชั่นด้วย Disk Utility

       ปัจจุบันเรามีการเก็บข้อมูลบนคอมพิวเตอร์ด้วยวิธีต่างๆมากมายทั้งการบันทึกลงฮาร์ดดิส ใส่แผ่นซีดี/ดีวีดี ใส่แฟลชไดร์ฟ หรือบันทึกใส่สื่อบันทึกดิจิตอลต่างๆ หลายท่านที่บันทึกลงฮาร์ดดิสแบบพกพาหรือที่เรียกกันว่า Portable Harddisk (Hard Drive) คงจะมีการแบ่งพื้นที่ฮาร์ดดิสออกเป็นหลายๆส่วนที่เรียกว่า พาร์ติชั่น(Partition) บางครั้งอาจจะอยากปรับปรุงเปลี่ยนแปลงพาร์ติชั่นดังกล่าว ในบทความนี้ผมจะนำเสนอเฉพาะการ ฟอร์แมตพาร์ติชั่น บนระบบปฏิบัติการ Ubuntu โดยใช้เครื่องมือพื้นฐานอย่าง Disk Utility ที่มีมาให้อยู่แล้ว




       ขั้นแรกก็ให้เรานำเจ้าฮาร์ดดิสแบบพกพาของเราต่อเข้ากับคอมพิวเตอร์เราซะก่อนเราจะเห็นว่ามันมีพาร์ติชั่นมากมายถูกเมาท์ขึ้นมาที่แถบด้านข้าง (Side Panel)  จากนั้นก็ให้คุณเข้าเมนูพิมพ์ว่า disk ดังภาพก็พอจะมีโปรแกรมมาให้เลือก ให้เราเลือก Disk Utility ดังภาพ




Saturday, August 18, 2012

PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 1)

       หลายคนคงเคยเห็นปฏิทินที่แสดงบนหน้าเว็บไซต์ต่างๆมาแล้ว อาจเกิดความสงสัยกันนะครับว่าปฏิทินที่เราเห็นกันนั้นมันทำได้อย่างไรกันนะ ผมก็อดสงสัยไม่ได้เช่นกันก็เลยนำความสงสัยนั้นมาลองทำเล่นๆดูจนได้เป็นบทความนี้นั่นเอง ฮ่าๆๆ  สำหรับบทความนี้จะมีเนื้อหาต่อจากบทความที่แล้วนะครับ ในเนื้อหาเรื่อง



ซึ่งลองเข้าไปอ่านดูกันก่อนนะครับจะได้มีพื้นฐานเบื้องต้นก่อน




       เริ่มกันเลยนะครับ

Monday, August 13, 2012

Ubuntu : แก้ไข Grub2 Boot Menu


     หลายท่านคงประสบกับปัญหาการจัดการการ Boot ที่เรียกว่า Grub ของระบบปฏิบัติการ Ubuntu อยู่ไม่น้อย เช่น มีระบบปฏิบัติการหลายตัวในเครื่องเดียวกัน อยากให้ระบบปฏิบัติการ B เป็นระบบปฏิบัติการแรก ฯ เป็นต้น สำหรับการแก้ไขปัญหาดังกล่าว เราจำเป็นที่จะต้องเข้าไปยุ่งวุ่นวายกับระบบอีกทั้งยังจัดการยากเพราะต้องเข้าไปทำงานผ่าน Command Line บน Terminal อีก ซึ่งไฟล์ที่เราจะแก้ไขนั้นหากเราทำผิด มีหวังเครื่องบูตไม่ขึ้นเปิดทำงานไม่ได้แน่



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

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer


Sunday, August 12, 2012

Android : Application เติมเงินออนไลน์

       
       หน่วยเติมเงินออนไลน์ของ 1-2-call ทั้งหลาย คุณเคยเกิดอาการแบบนี้หรือปล่าว ต้องเติมเงินในขณะที่กำลังวุ่นวาย ต้องกดตัวเลขเยอะแยะมากมาย เบื่อไหมที่ต้องคอยกด 

*123*CODE*หมายเลขโทรศัพท์*จำนวนเงิน#



สามารถทดสอบแอพพลิเคชั่นดังกล่าวได้ที่นี่ครับ https://play.google.com/store/apps/details?id=com.mondaro.easytopup
ในแอพพลิเคชั่นนี้สามารถเติมได้ทั้งระบบ 1-2-Call , DTAC และ Truemove-H นะครับ

       บทความนี้ต้องบอกว่าคงถูกใจใครหลายๆคนที่รับเติมเงินออนไลน์ของค่าย 1-2-call โดยเฉพาะผู้ที่ใช้มือถือระบบปฏิบัติการ Android เป็นอย่างแน่นอนเพราะวันนี้เราจะมาทำ แอพพลิเคชั่นระบบเติมเงินออนไลน์กัน


       สำหรับเครื่องมือที่เราจะใช้กันวันนี้ก็มีดังต่อไปนี้

1.  โทรศัพท์มือถือระบบปฏิบัติการ Android จะเวอร์ชั่นไหนก็ได้ขอให้มี ซิมการ์ดที่เราได้ลงทะเบียนเป็นหน่วยเติมเงินออนไลน์ไว้ก็พอ

2.  โปรแกรม Eclipse สำหรับผมใช้ Eclipse : โค้ดเนม JUNO for Java EE ก็ไปหาดาวน์โหลดมาใช้กันเองได้ ที่นี่

3.  Android SDK สำหรับไว้ทำ Emulator จำลองโทรศัพท์เพื่อที่เราจะได้ทดสอบโปรแกรมเบื้องต้นก่อน ไปหามาได้ ที่นี่

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

     เรามาเริ่มกันเลยนะครับก่อนอื่นก็ขอให้ทุกท่านบรรจงเปิดโปรแกรม Eclipse ขึ้นมาก่อนจากนั้นก็ทำตามขั้นตอนดังต่อไปนี้

Friday, August 10, 2012

PHP : ฟังก์ชั่น date() กับวันที่แบบไทยๆ

        สำหรับบทความนี้ก็ต่อยอดมาจากบทความที่แล้วในเรื่อง


นะครับติดตามอ่านการใช้งานเบื้องต้นก่อนได้เลย ส่วนวันนี้เรามาใช้ฟังก์ชั่น date() ที่ใช้สำหรับแสดงค่าวันที่และเวลา มาทำวันที่แบบไทยๆกันเพราะว่าเดิมผลลัพธ์ที่ได้นั้นจะเป็นภาษาอังกฤษ เราก็เลยจับมาทำใหม่กัน ตามโค้ดนี่เลยครับ

Thursday, August 9, 2012

PHP : การใช้งานกลุ่มฟังก์ชั่นวัน - เวลา

          วัสดีครับท่านผู้อ่านทุกๆท่าน สำหรับบทความนี้ต่อเนื่องมาจากบทความที่แล้วในเรื่อง ความรู้ทั่วไป : เรื่องของระบบวันเวลา นะครับอย่างไรก็ติดตามดูย้อนหลังกันได้นะครับจะได้มีพื้นฐานเรื่องระบบวันเวลามาก่อน สำหรับในภาษา PHP นั้นก็จะมีฟังก์ชั่นเกี่ยวกับวันเวลาตามตารางข้างล่างเลยครับ


ตารางแสดงฟังก์ชั่นเกี่ยวกับวันเวลาใน PHP

 ฟังก์ชั่น
 การใช้งาน
ตรวจสอบข้อมูลวันที่
ตรวจสอบ default time zone
ตั้งค่า default time zone
แสดงเวลาพระอาทิตย์ขึ้น
แสดงเวลาพระอาทิตย์ตก
แสดงค่าวันที่และเวลา
แสดงรายละเอียดของวันที่และเวลา
แสดงค่าเวลาปัจจุบันเทียบกับวันที่ 1 มกราคม ค.ศ.1970
แสดงวันเวลาตามมาตรฐาน GMT
สร้างวันเวลาตามมาตรฐาน GMT
แสดงค่าวันเวลาตามมาตรฐาน GMT/UTC 
แสดงค่าวันที่และเวลาบนอินเตอร์เน็ต
แสดงค่าวันเวลาท้องถิ่น
แสดงค่าเวลาปัจจุบันแบบไมโครวินาทีและวินาที
แสดงวันเวลาตามค่าที่กำหนด
กำหนดรูปแบบการแสดงวันเวลาท้องถิ่น
แปลงค่าวันเวลาจากเวลาท้องถิ่น
แปลงค่าสตริงเป็นเวลา timestamp
แสดงค่าเวลาปัจจุบันเป็นแบบ timestamp

Wednesday, August 8, 2012

ความรู้ทั่วไป : เรื่องของระบบวันเวลา


   

   ทความวันนี้เป็นเรื่องของ ระบบวันเวลา ที่เราใช้กันอยู่ในปัจจุบัน คาดว่าหลายท่านยังไม่ทราบอย่างแน่นอน  มนุษย์เรานั้นใช้การนับเวลามาตั้งแต่โบราณ เช่นการนับช่วงเวลาตั้งแต่พระอาทิตย์ขึ้นจนถึงช่วงพระอาทิตย์ตกว่า กลางวัน ช่วงเวลาตั้งแต่พระอาทิตย์ตกจนถึงพระอาทิตย์ขึ้นว่า กลางคืน นอกจากนี้ยังมีการนับวันเวลาโดยดูจากการโคจรของพระจันทร์เป็นเกณฑ์ เช่นการนับ ข้างขึ้น ข้างแรม เดือนอ้าย เดือนยี่ ปีชวด ฉลู ฯ อย่างในที่ประเทศไทยใช้กัน ซึ่งเราเรียกการนับเวลาที่ดวงจันทร์เต็มดวงครบ 12 ครั้งว่า 1 ปี จึงเป็นที่มาของคำว่า ปีจันทรคติ (Lunar Month) ซึ่งปีจันทรคติปกติจริงๆแล้วมี 354 วันต่อมาเมื่อผ่านไปหลายร้อยปี จึงมีการสังเกตุแล้วพบความเปลี่ยนแปลงว่าฤดูกาลที่กำหนดไม่ตรงกัน คือเดือนที่เป็นฤดูหนาวตรงกับเดือนของฤดูร้อน จึงได้มีการทดเวลาเพิ่มเพื่อให้มีความเที่ยงตรงกับฤดูกาลตามความเป็นจริง โดยปีที่เป็นอธิกวารจะมี 355 วัน (อธิก = เพิ่ม / วาร = วัน) และปีที่เป็นอธิมาสจะมี เดือนแปดสองหน ดังนั้นจึงมี 384 วัน (มาส = เดือน)

    ประวัติการนับวันเวลาของแต่ละประเทศจะแตกต่างกันอย่างประเทศไทยจะมีการเพิ่มเดือนแปดมาอีก 1 เดือนในทุกๆ 4 ปี คนแก่ๆมักเรียกว่าแปดสองหน
    ต่อมามีการนับวันตามสุริยคติ (Solar Month) อย่างที่ใช้กันในปัจจุบันคือการนับแบบวัน  เดือน ปีโดยใช้การโคจรของพระอาทิตย์เป็นเกณฑ์ ซึ่งแต่ละรอบจะใช้เวลา 365.25 วัน


Tuesday, August 7, 2012

PHP : สนุกกับการใช้ฟังก์ชัน srand()


     

    สวัสดียามเย็นย่ำค่ำ (ขณะเขียน) วันนี้ผมมีฟังก์ชันสนุกๆของ php มานำเสนอให้ทุกๆคนได้ลองเล่นลองทำตามกันนะครับ ก่อนอื่นก็ดาวโหลดไฟล์งานไปก่อนเลย

Download เป็นไฟล์นามสกุล .tar นะครับ ลองใช้วิธีในการคลายไฟล์อย่างที่เคยสอนไว้แล้วที่

การใช้งานคำสั่ง Unix/Linux เบื้องต้น

อิอิ (หากินกันง่ายๆแบบนี้เลย ฮ่าๆๆ)


   ครับสำหรับฟังก์ชันที่จะสอนวันนี้คือ ฟังก์ชัน srand() นั่นเองสำหรับฟังก์ชันนี้คร่าวๆนะครับ เป็นฟังก์ชันสำหรับสร้างตัวเลขสุ่มขึ้นมา ซึ่งการทำงานต้องใช้ร่วมกันกับฟังก์ชัน rand() และ getrandmax() ด้วย มีรูปแบบการเขียนดังนี้ครับ

       void srand(int seed)        โดยที่ seed คือเลขจำนวนเต็มสูงสุดที่จะใช้ในการสุ่มค่านะครับ

ตัวอย่างการใช้งานคำสั่ง

<?
srand((double)microtime()*1000000);
$seed = rand(1000000,9999999);
echo $seed ."<br>";
srand((double)microtime()*$seed);
echo rand(1,100);
?>


Monday, August 6, 2012

Ubuntu : คำสั่งการใช้งาน Unix/Linux เบื้องต้น

   สำหรับบทความนี้จะเป็นการรวบรวมคำสั่งและตัวอย่างการใช้งานคำสั่ง บนระบบปฏิบัติการ Unix/Linux นะครับซึ่งการใช้งานคำสั่งต่างๆจะมีประโยชน์มากต่อผู้ใช้งานทั้งผู้ใช้ที่เริ่มต้นกับ Linux ไปจนถึงผู้เชีั่ยวชาญเลยทีเดียว เรามาดูกันครับว่าคำสั่งต่างๆนั้นมีอะไรกันบ้าง ผมขอแยกเป็นหมวดหมู่ให้ง่ายต่อการอ่านและค้นหานะครับ

1. คำสั่งเกี่ยวกับการจัดการไดเรกทอรี่ คำสั่งในหมวดนี้ ได้แก่

  • cd
  • pwd
  • mkdir
  • rmdir

2. คำสั่งเกี่ยวกับการจัดการแฟ้มข้อมูล คำสั่งในหมวดนี้ ได้แก่

  • ls
  • cp
  • mv
  • rm
  • tar
  • gzip
  • gunzip


Saturday, August 4, 2012

Ubuntu : การใช้งาน Transmission Bittorrent Client ฉบับสมบรูณ์



   ปัญหาที่สำคัญของหลายๆคนที่ชอบใช้งาน Bittorrent จนเคยชินบนระบบปฏิบัติการ Windows ด้วยโปรแกรมที่คุ้นเคยเช่น uTorrent, Bitcomet เป็นต้น อาจหมดไปบนระบบปฏิบัตการ Ubuntu เพราะเรามีพระเอกขี่ม้าขาวของเรามาช่วยแล้วนั่นก็คือโปรแกรม Transmission Bittorrent Client ที่มาพร้อมระบบปฏิบัติการเบื้องต้น ไม่ต้องติดตั้งเพิ่มเติมให้เมื่อแขน ให้ปวดขา ให้ขัดลูกกะตาแต่อย่างใด ว่าแล้วเรามาเริ่มกันเลย ก่อนอื่นเรามาหาพระเอกเราก่อนโดยกดเข้า Menu แล้วพิมพ์ว่า Transmission ดังภาพ

Friday, August 3, 2012

C : เริ่มต้นพัฒนาภาษา C ง่ายๆบน Ubuntu



 

   ในการเขียนโปรแกรมภาษา C บนระบบปฏิบัติการ Ubuntu นั้นง่ายแสนง่ายเพราะใช้เพียงแค่เครื่องมือพื้นฐานที่มีอยู่แล้วนั้น ก็สามารถที่จะพัฒนาโปรแกรมต่างๆได้แล้ว โอ้ววว.. มันง่ายขนาดนั้นเลยหรอจอร์จ ใช่แล้ว!!มันง่ายขนาดนั้นเลยหล่ะซาร่าห์ เพียงแค่คุณมีเครื่องมือดังต่อไปนี้



  1. คอมพิวเตอร์ที่มีระบบปฏิบัติการ Ubuntu (ตัวอย่างใช้ Ubuntu 12.04 LTS ล่าสุดๆๆ)
  2. โปรแกรม Gedit (ไม่ต้องไปหาที่ไหนมีมาให้ในระบบปฏิบัติการอยู่แล้ว)
  3. โปรแกรม Terminal ลองกด Ctrl + Alt + T ดูสิ ความมหัศจรรย์ก็จะบังเกิดขึ้นโดยพลัน
เมื่อเครื่องมือพร้อมเราก็ลุยกันเลยขั้นแรกก็เปิดโปรแกรม Gedit ซะ ซะแว๊บ...