วันเสาร์ที่ 6 กรกฎาคม พ.ศ. 2556

โปรแกรมการถอนเลขจำนวนเงิน (ภาษาจาวา)

โปรแกรมการถอนเลขจำนวนเงิน
import javax.swing.JOptionPane;

public class HW02 {

    public static void main(String[] args) {
        int m1000 = 0;
        int m500 = 0;
        int m100=0;
        int m50=0;
        int m20=0;
        int m10=0;
        int m5=0;
        int m2=0;
        int m1=0;
        
        int m = Integer.parseInt(JOptionPane.showInputDialog(null, "ระบุจำนวนเงิน", "Information", JOptionPane.INFORMATION_MESSAGE));
        String mStr = "จำนวนเงินที่ต้องระบุ: " + m;
        if (m > 0) {
            if (m >= 1000){
                m1000 = m / 1000;
                m %= 1000;
            }
            if (m >= 500) {
                m500 = m / 500;
                m %= 500;
            }
            if (m >= 100) {
                m100 = m / 100;
                m %= 100;
            }
            if (m >= 50) {
                m50 = m / 50;
                m %= 50;
           }
            if (m >= 20) {
                m20 = m / 20;
                m %= 20;
            }
            if (m >= 10) {
                m10 = m / 10;
                m %= 10;
            }
            if (m >= 5) {
                m5 = m / 5;
                m %= 5;
            }
            if (m >= 2) {
                m2 = m / 2;
                m %= 2;
            }
            m1 = m;
            
            mStr += "\n1,000 = " + m1000 + "\n500 = " + m500;
            mStr += "\n100 = " + m100 + "\n50 = " + m50;
            mStr += "\n20 = " + m20 + "\n10 = " + m10;
            mStr += "\n5 = " + m5 + "\n2 = " + m2;
            mStr += "\n1 = " + m1;
            JOptionPane.showMessageDialog(null, mStr, "Information", JOptionPane.INFORMATION_MESSAGE);
        } else
            JOptionPane.showMessageDialog(null, "ต้องระบุจำนวนเงินมากกว่า 0", "Information", JOptionPane.INFORMATION_MESSAGE);
    }
}

การแสดงข้อมูลโดยใช้ JOptionPane (ภาษาจาวา)

การแสดงข้อมูลโดยใช้ JOptionPane โดยใช้เมธอด (method) showMessageDialog
import javax.swing.JOptionPane;

public class HW01 {

    public static void main(String[] args) {
        String name = "Warawut";
        String surname = "Khangkhan";
        String department = "Information";
        
        JOptionPane.showMessageDialog(null, "Name: " + name + "  " + surname + "\nDepartment: " + department, "Information", JOptionPane.INFORMATION_MESSAGE);
    }
}

วันเสาร์ที่ 25 สิงหาคม พ.ศ. 2555

PHP: แปลงข้อความให้เป็นตัวเลข

การแสดงผลลัพธ์ที่เป็นตัวเลขในภาษา PHP สามารถจัดรูปแบบของตัวเลขได้ด้วยคำสั่ง number_format( ) โดยมีรูปแบบการใช้ ดังนี้

รูปแบบ:
     number_format(ตัวเลข, จำนวนทศนิยม, จุดทศนิยม, สัญญลักษณ์หลักพัน)

ตัวอย่างที่ 1:
<?php
     $number = 1234.5;
     echo number_format($number, 2, '.', ',');
?>
ผลลัพธ์ที่ 1: 1,234.50

ตัวอย่างที่ 2:
<?php
     $number = 1234;
     echo number_format($number, 0, '', ',');
?>
ผลลัพธ์ที่ 2: 1,234

วันอังคารที่ 5 ตุลาคม พ.ศ. 2553

CodeIgnitor: Model-View-Controller (MVC)

CodeIgniter ถูกสร้างบนพื้นฐานการพัฒนาแบบ Model-View-Controller (MVC) ซึ่งก็คือ วิธีการทางซอฟต์แวร์ที่แยกระบบการใช้เหตุผลของแอพพลิเคชั่นจากส่วนแสดงผล ในทางปฏิบัติมันอนุญาตให้หน้าเว็บของคุณมีสคริปเล็กๆ เนื่องจากส่วนแสดงต้องแยกออกจากสคริป PHP รายละเอียดเกี่ยวกับ MVC มีดังนี้

วันพฤหัสบดีที่ 30 กันยายน พ.ศ. 2553

CodeIgnitor: ขั้นตอนการทำงานของแอพพลิเคชั่น

ขั้นตอนการทำงานของแอพพลิเคชั่น สามารถแสดงได้จากรูปภาพ

clip_image001

  • Index.php เป็นตัวควบคุมส่วนหน้า, สร้างทรัพยากรพื้นฐานที่ต้องการในการรัน CodeIgniter
  • Routing: ตัว Router ทำการตรวจสอบ HTTP request กำหนดว่าควรจะทำอะไรกับมัน
  • Caching: ถ้ามีไฟล์แคชอยู่ ตัวมันจะถูกส่งกลับทันทีไปยังบราวเซอร์ โดยไม่ผ่านการทำงานปกติของระบบ
  • Security: ก่อนที่จะโหลดตัวควบคุมของแอพพลิเคชั่น (Application Controller) HTTP request และผู้ใช้ใดๆ ที่ส่งข้อมูลมาจะถูกกรองข้อมูลเพื่อความปลอดภัย
  • Application Controller: โหลดแบบจำลอง (Model), ไลบรารี่หลัก (Libraries), Plugins, ผู้ช่วย (Helpers) และทรัพยากรอื่นๆ ที่จำเป็นในการทำงานที่ถูกร้องขอมา
  • View: ปฏิบัติงานและถูกส่งกลับไปยังบราวเซอร์เพื่อโชว์หน้าจอ ถ้าระบบแคชถูกใช้งาน หน้าจอจะถูกแคชก่อนแล้วจึงค่อยส่งสิ่งที่ร้องขอมาเป็นลำดับถัดไป

อ้างอิงจาก: http://codeigniter.in.th/user_guide/overview/appflow.html

ทำความรู้จักกับ CodeIgniter (CI)

CodeIgniter (CI) เป็น PHP Framework ที่ใช้ในการพัฒนาเว็บแอพพลิเคชั่น โดยมีคุณสมบัติในด้านการพัฒนาให้รวดเร็วยิ่งขึ้น เมื่อเปรียบเทียบการพัฒนาแบบเดิมๆ ที่เราต้องนั่งเขียนโค้ดเองตั้งแต่เริ่มต้น ซึ่ง CI จะมี library ต่างๆ จัดเตียมไว้ให้เราใช้งานทั่วไปและยังทำให้ลดจำนวนโค้ดที่เราเขียนน้อยลง และมาพร้อมกับ library ที่สมบูรณ์ ซึ่งใช้ทำงานส่วนใหญ่ในการพัฒนาเว็บไซต์ เช่น ติดต่อฐานข้อมูล, ส่งอีเมล์, ตรวจสอบรูปแบบข้อมูล, ดำรงช่วงเวลาการสื่อสาร, จัดการกับรูปภาพ, ทำงานกับข้อมูล XML-RPC ฯลฯ อีกมากมาย อีกทั้งเรายังสามารถขยายการทำงานได้ โดยผ่าน library plugins หรือ helper หรือผ่านการต่อเติม class หรือระบบตะขอ (Hook)

CI สามารถทำงานได้ทั้ง PHP 4 และ PHP 5 ซึ่งแน่นอนว่า CI จะต้องเป็น Open Source (Free) ที่อยู่ภายใต้เงื่อนไข Apache/BSD และทรัพยากรน้อยกว่า Framework ตัวอื่นๆ เนื่องจาก CI ต้องการเพียง library เพียงเล็กน้อยเท่านั้น (หลักๆ) จึงทำให้มีขนาดเล็กและรวดเร็วในการทำงาน

CI ใช้ Model-View-Controller (MVC) ช่วยในการแบ่งแยกการทำงานของระบบออกเป็นส่วนๆ เพื่อง่ายต่อการพัฒนา และยังสร้าง URL ที่สะอาดและเป็นมิตรกับกลไกการค้นหา (Search Engine) เช่น Google, Yahoo ตรงข้ามกับการวิธีการใช้ "query string" กับ URL ซึ่งมีความหมายเหมือนกันกับระบบการเคลื่อนที่ CodeIgniter ใช้วิธีการแบ่งเป็นกลุ่ม เช่น example.com/news/article/345 เป็นต้น

CI ไม่ต้องการกลไก Template ถึงแม้ว่า CodeIgniter จะมาพร้อมกับ Template Parser แบบง่าย ซึ่งเป็นทางเลือกที่สามารถใช้ได้ โดยไม่ได้บังคับให้คุณต้องใช้มัน กลไก Template อย่างง่ายไม่สามารถมีประสิทธิภาพเท่ากับ PHP ตามธรรมชาติ และคุณต้องเรียนรู้ไวยากรณ์ (Syntax) เพื่อใช้กลไก Template ซึ่งปกติแล้วมีขอบเขตการใช้งานที่ง่ายกว่าการเรียนพื้นฐานของ PHP ลองพิจารณาโค้ดต่อไปนี้

<ul>
<?php foreach ($addressbook as $name): ?>
<li><?=$name?></li>
<?php endforeach; ?>
</ul>

เปรียบเทียบสิ่งนี้กับ Pseudo-Code (รหัสเทียม) ซึ่งถูกใช้ในกลไก Template

<ul>
{foreach from=$addressbook item="name"}
<li>{$name}</li>
{/foreach}
</ul>

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

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

คุณสมบัติหลักที่มีใน CodeIgniter

  • ระบบบนพื้นฐาน Model-View-Controller (MVC)
  • รองรับ PHP 4
  • แอพพลิเคชั่นเบาสุดขีด
  • คุณสมบัติครบถ้วนสำหรับฐานข้อมูลและสนับสนุนหลายแพลตฟอร์ม
  • สนับสนุนการใช้ฐานข้อมูลแบบ Active Record
  • การตรวจสอบฟอร์มและข้อมูล
  • ความปลอดภัยและระบบกลั่นกรอง XSS (Cross Site Scripting)
  • การจัดการ Session
  • คลาสส่งอีเมล์
    สนับสนุนการแนบไฟล์, อีเมล์แบบ HTML/Text,
    รองรับหลายโปรโตคอลพร้อมกัน (ส่งเมล์, SMTP
    และ Mail)
    และอีกมาก
  • ไลบรารี่จัดการรูปภาพ (ตัด, ย่อ, หมุน, ฯลฯ). สนับสนุน GD, ImageMagick และ NetPBM
  • คลาสอัพโหลดไฟล์ (File Uploading Class)
  • FTP Class (คลาส FTP)
  • Localization (หรือการทำหลายภาษา)
  • Pagination (หมายเลขหน้า)
  • Data Encryption (การเ้ข้ารหัสข้อมูล)
  • Benchmarking (การทดสอบเพื่อวัดความสามารถในการประมวลผล)
  • Full Page Caching (การเก็บหน้าทั้งหน้าอยู่ในแคช)
  • Error Logging (การบันทึกข้อผิดพลาด)
  • Application Profiling (การรวบรวมรายละเอียดของแอพพลิเคชั่น)
  • Scaffolding (การทำโครงยกพื้น)
  • Calendaring Class (คลาสปฎิทิน)
  • User Agent Class (คลาสตัวแทนผู้ใช้)
  • Zip Encoding Class (คลาสเข้ารหัส zip)
  • Template Engine (คลาสกลไลแม่แบบ)
  • Trackback Class (คลาสระบบติดตามลิงค์กลับ)
  • XML-RPC Library (ไลบรารี่ XML-RPC)
  • Unit Testing Class (คลาสทดสอบเฉพาะหน่วย)
  • URL ที่เป็นมิตรกับเซิร์ชเอนจิ้น
  • เส้นทาง URI
    ที่ยืดหยุ่น
  • สนับสนุนสำหรับ Hooks - (ตะขอ), สอบขยายคลาสและ Plugins
  • ไลบรารี่ขนาดใหญ่สำหรับฟังก์ชั่น "ผู้ช่วย"


อ้างอิงจาก: http://codeigniter.in.th/user_guide/index.html

วันพฤหัสบดีที่ 16 กันยายน พ.ศ. 2553

จำลอง Web Server ด้วย XAMPP

xampp-for-windows-00 

XAMPP เป็นโปรแกรมจำลอง Web Server ตัวหนึ่งที่ได้รับความนิยม ซึ่งนำมาใช้ทดสอบการใช้ Script ที่เกี่ยวกับ PHP และ MySQL และที่สำคัญก็คือ ฟรี ครับ

คุณสามารถ Download โปรแกรมนี้ได้จาก http://www.apachefriends.org/ ซึ่งจะก็ต้องเลือกใช้ให้ตรงกับระบบปฏิบัติการ (Operating System: OS) โดยทั่วไปแล้วนิยมใช้ระบบปฏิบัติการ Windows ก็ต้องเลือก XAMPP for Windows

ภายใน XAMPP นี้จะมีการรวมโปรแกรมที่เกี่ยวข้อง (เวอร์ชั่นที่ใช้อาจจะไม่ตรง ก็ขึ้นอยู่กับที่เรา download มา) ดังนี้

  • Apache HTTPD 2.2.9 + Openssl 0.9.8i
  • MySQL 5.0.67
  • PHP 5.2.6
  • PHP 4.4.9
  • phpMyAdmin 2.11.9.2
  • FileZilla FTP Server 0.9.27
  • Mercury Mail Transport System 4.52

ขั้นตอนการติดตั้ง

  1. Double Click ไฟล์ที่เราได้ทำการ download เสร็จเรียบร้อยแล้ว
  2. ให้ทำการเลือกภาษา ในที่นี่เราเลือก English และกด OK
    xammp-01
  3. กด Next >
    xammp-02
  4. ระบุ path ที่เราต้องการจัดเก็บ ซึ่งโดยปกติแล้วจัดเก็บที่ c:\xampp เมื่อระบุเสร็จเรียบร้อยแล้วให้กด Next >
    xammp-03
  5. เลือกติดตั้ง Service ทั้งหมด และกด Install
    xammp-04
  6. เริ่มทำการติดตั้ง รอสักครู่
    xammp-05
  7. ทำการติดตั้งเสร็จเรียบร้อย กด Finish
    xammp-06
  8. ถ้าเราทำการติดตั้งโปรแกรมเกี่ยวกับ Apache เป็นครั้งแรก (ในเครื่อง) จะมีข้อความแจ้งให้เราทราบ กด OK
    xammp-07
  9. แจ้งข้อความเกี่ยวกับการติดตั้ง XAMPP control Panel กด OK
    xammp-08
  10. แจ้งข้อความเกี่ยวกับการแสดงความยินดีในการติดตั้งเสร็จเรียบร้อย และมีการถามเกี่ยวการเริ่มต้นการทำงาน XAMPP Control Panel กด Yes (ต้องการเริ่มต้นทำงาน)
    xammp-09
  11. ทำการเครื่องหมายที่รายการ Svc ใน Modules ทุกตัว เพื่อทำการติดตั้งเพิ่มเติม (โดยเฉพาะ Apache)
     xammp-16
  12. กด Start ทั้ง 3 ตัว คือ Apache MySQL และ FileZilla
    xammp-17
  13. ให้ทำการทดสอบ โดยเข้า Browser แล้วพิมพ์ http://localhost เลือกภาษาที่จะใช้งาน
    xammp-11
  14. หลังจากเลือกภาษาที่เราต้องการจะเข้าสู่การต้อนรับของโปรแกรม XAMPP
     xammp-18
  15. เลือกรายการ Security เพื่อกำหนดความปลอดภัยของฐานข้อมูล และเลือก http://localhost/security/xamppsecurity.php (อยู่ด้านล่าง)
    xammp-19
  16. ในส่วนนี้เป็นส่วนรหัสผ่านให้กับ SuperUser ชื่อว่า root ถ้ายังไม่ได้กำหนดจะมีรายการให้ทำอยู่ 2 รายการ คือ รหัสผ่าน และการยืนยันรหัสผ่านอีกครั้ง แต่ถ้ามีการกำหนดแล้ว และมีการเข้ามาแก้ไขจะมีรายการเลือก 3 รายการ คือ รหัสผ่านของเดิม รหัสผ่านใหม่ และการยืนยันรหัสผ่านใหม่อีกครั้ง หลังจากนั้น กด Password changing
    xammp-20

จากขั้นตอนติดตั้งเป็นเพียงติดตั้งง่ายๆ เท่านั้น แต่ถ้าต้องการความสามารถเสริม จะต้องมีการกำหนดเพิ่มเติม ซึ่งขอไม่อธิบายขั้นตอนเพิ่มเติม เพียงเท่านี้เราก็สามารถทำการทดสอบโปรแกรมเกี่ยวกับ PHP และ MySQL ได้แล้ว

หมายเหตุ: ไฟล์ทั้งหมดจะเก็บไว้ที่โฟลเดอร์ c:\xampp\htdocs\

Technorati Tags: ,