• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
P ort80 bkk-codeigniter
 

P ort80 bkk-codeigniter

on

  • 1,703 views

 

Statistics

Views

Total Views
1,703
Views on SlideShare
1,553
Embed Views
150

Actions

Likes
1
Downloads
18
Comments
0

1 Embed 150

http://www.108blog.net 150

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    P ort80 bkk-codeigniter P ort80 bkk-codeigniter Presentation Transcript

    •  
    • <?php echo ‘ [pOrt80 BKK]’ ?> Hash tag : #NTT8 This is our NTT8.9 8 for 8 th year & 9 is 9 th month
    • “ แนะนำการพัฒนาระบบ e-Commerce ด้วย CodeIgniter ” สมเกียรติ ปุ๋ยสูงเนิน [Narisa.com: Up1]
    • “ I am JAVA developer”
    • แนะนำอะไรบ้าง
      • CodeIgniter หรือ CI
      • รูปแบบและแนวทางในการพัฒนา
      • Continuous Integration Tools หรือ CI
    • CodeIgniter ( โค้ด – อิ๊ก – ไนท์ - เตอร์ ) คืออะไร
      • เรียกสั้นๆ ว่า CI
      • MVC ( Model-View-Controller ) Framework พัฒนาด้วยภาษา PHP
      • OpenSource
      • Free
      • Simple
      • Small
      • Fast
      • Flexible
      • Loose Coupling
      • Good Document
      • Good Communities
    • โครงสร้างการทำงาน
    • โครงสร้างการทำงาน ใน Version 2.0 ถูกตัดออกไป
    • โครงสร้างการพัฒนาแบบทั่วไป Controller View Model DB Request Response
    • โครงสร้างการพัฒนาแบบปรับปรุง Controller View Model DB Request Response Library
    • Libraries ต่างๆ ที่น่าสนใจของ CodeIgniter
      • OAuth
      • REST
      • Caching
      • Benchmark
      • Social
        • Twitter
        • Facebook
      • Testing
        • SimpleTest
        • phpUnit
    • CodeIgniter + Zend
    • โครงสร้างการพัฒนาแบบยึดหยุ่น
      • นำแนวคิด plug-in, modular มาใช้
        • Separation of Concern
    • รูปแบบการพัฒนา
    • รูปแบบการพัฒนา
    • รูปแบบการพัฒนา C DB V L M
    • แยกการพัฒนาออกเป็น 2 ส่วนหลัก Web APIs HTTP/TCP IP DB
    • นำแนวคิดต่างๆ ข้างต้น มาพัฒนาระบบ e-Commerce
    • โครงสร้างของระบบ e-Commerce
    • โครงสร้างของระบบ e-Commerce
    • แรงบันดาลใจ
    • ทำให้เกิดแนวคิดใหม่ๆ เพื่อเปลี่ยนแปลงและปรับปรุง ระบบ e-Commerce ในไทย STORAGE CORE SYSTEM APIs Plug-In BACKEND FRONTEND
    • Core System และ Backend STORAGE CORE SYSTEM APIs Plug-In BACKEND FRONTEND
      • User Management
      • Security Management
      • Plug-in/Modular Management
      • Interface/ Theme Management
      • Product Management
      • Order Management
      • Shipping Management
      • Inventory Management
      • Search
    • Front-End STORAGE CORE SYSTEM APIs Plug-In BACKEND FRONTEND
    • APIs STORAGE CORE SYSTEM APIs Plug-In BACKEND FRONTEND
      • User APIs
      • Product APIs
      • Order APIs
      • Shipping APIs
      • Invoice APIs
      • Inventory APIs
      • etc..
    • Plug-ins STORAGE CORE SYSTEM APIs Plug-In BACKEND FRONTEND
      • Interface/ Theme/ Layout
      • Payment Channel
      • Shipping Channel
      • New Features of Product
      • Blog
      • Search System
      • Facebook Connect
      • Twitter Anywhere
      • etc ..
    • โดยทั้งหมดนี้พัฒนาอยู่บน CodeIgniter
    • เป้าหมายที่แท้จริง คือ การแจกจ่ายออกไปเพื่อสร้าง Communities ขึ้นมา
    • แต่ … ยังไม่จบครับ
    • ผมมีของฝากนิดหน่อย
    • Continuous Integration Tool in PHP
    • Continuous Integration คืออะไร
      • เรียกสั้นๆ ว่า CI
      • เป็นแนวคิด ไม่ใช่เครื่องมือ
      • เป้าหมายเพื่อ
        • ปรับปรุงกระบวนการพัฒนาระบบงาน ทั้งการ build และ deployment ให้ดียิ่งขึ้น
        • เมื่อมีการเปลี่ยนแปลงต่างๆ แล้วไม่ส่งผลกระทบหรือกระทบต่อระบบให้น้อยที่สุด
    • แล้ว Integration อะไรบ้าง
      • Sourcecode
      • Database
      • Resource ต่างๆ
    • แล้วนำมาใช้งานเมื่อไร
      • เมื่อมีการเปลี่ยนแปลง แล้วส่งผลให้ระบบไม่ทำงาน หรือทำงานผิดพลาด
      • เมื่อมีผู้ร่วมพัฒนาจำนวนมาก มีส่วนประกอบต่างๆ จำนวนมาก ซึ่งจะเกิดความซับซ้อนมาก
    • ขั้นตอนการพัฒนาปกติ
      • พัฒนางานในส่วนที่รับผิดชอบ
      • ทำการ checkout และ update sourcecode ต่างๆ ผ่าน Control Version System เช่น SubVersion, Git เป็นต้น
      • ทำการเขียน code
      • ทำการทดสอบงานที่เขียนเสร็จ
      • เมื่อทดสอบผ่าน ทำการ commit code
      • แต่ไม่มีการทำ Integration Test
    • ขั้นตอนการพัฒนาโดยนำ Continuous Integration มาใช้
      • การพัฒนาแบบปกติ
      • Continuous Integration Server เริ่มทำงานดังนี้
        • ทำการ Checkout หรือ Update sourccode
        • ทำการทดสอบระบบ
        • ระบบทำการบันทึกผลการทำงาน เป็น suceess หรือ failure
    • ผลของการนำ Continuous Integration มาใช้ Before After
    • แตกต่างจากวิธีปกติอย่างไร
      • เป็นการทดสอบแบบ Integration Test คือทดสอบรวมกับส่วนการทำงานอื่นๆ
      • ทำให้เราต้องเขียน Test สำหรับทดสอบ sourcecode ที่พัฒนาขึ้นมาเสมอ
      • ทำให้รู้ defect ต่างๆ อย่างรวดเร็ว ซึ่งแตกต่างจากการพัฒนาในรูปแบบเดิมๆ
    • ประโยชน์ที่ได้รับ
      • ลดเวลาสำหรับการ integrate หรือ deploy ระบบงาน
      • ลดเวลาการค้นหาและแก้ไข BUGs
      • ลดความเสี่ยงของการ failure ของระบบ
    • การทดสอบและเครื่องมือในแต่ละส่วน
      • Unit Test
        • SimpleTest, phpUnit
      • End-to-End Test
        • Selenium
      • Database Test
      • QA
        • Software Matric
          • PHPmd, PHPDepend
        • Code duplication
          • PHPcpd
        • Coding standard
          • Php_CodeSniffer
    • เครื่องมือที่มีให้ใช้งาน
      • CruiseControl ( phpUnderControl )
      • Xinc
      • Hudson
      • Bamboo ( Commercial )
    • เลือกตัวไหนดี
      • เลือกตามความต้องการ
      • ทดสอบใช้เครื่องมือต่างๆ
      • ประเมินผล
      • นำไปใช้งาน
    • การนำมาใช้งานในโลกความเป็นจริงในไทย
      • ยาก แต่ไม่ใช่ว่าเป็นไปไม่ได้
      • ปรับเปลี่ยนทัศนคติในการพัฒนา
      • ปรับเปลี่ยนรูปแบบการพัฒนาแบบค่อยเป็นค่อยไป
    • ผมเชื่อว่า สามารถนำมาใช้ได้อย่างแน่นอน
    • คำแนะนำก่อนจบ
      • ทุกๆ คน ควรจะ Update Sourcecode จาก Control Version System ทุกๆ เช้า ก่อนเริ่มทำงาน
      • ทุกๆ คน ควรจะ Commit Sourcecode จาก Control Version System ทุกๆ เย็น ก่อนกลับบ้าน
    • วันนี้คุณ Update และ Commit Sourcecode แล้วหรือยัง !!
    • ขอบคุณมากครับ
    • Links
      • http://www.codeigniter.com
      • http://www.codeigniter.in.th
      • http://www.magentocommerce.com
      • http://www.prestashop.com
      • http://www.pyrocms.com
    • Q&A
      • ช่วงเวลาของคำถาม ครับ
      <?php echo ‘ [pOrt80 BKK]’ ?>
    •