Upload
somkiat-puisungnoen
View
1.438
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
<?php echo ‘[pOrt80 BKK]’ ?>
Hash tag : #NTT8This is our NTT8.9
8 for 8th year & 9 is 9th 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 ถู�กติด้ออกไปุ๋
โค้รงสร �งก�รพัฒน�แบบท-วไปุ๋
ControllerController
ViewView
ModelModel DB
Request
Response
โค้รงสร �งก�รพัฒน�แบบปุ๋รบปุ๋ร�ง
ControllerController
ViewView
ModelModel
DB
Request
Response
Library
Libraries ติ)�งๆ ท�-น)�สนใจของ CodeIgniter
• OAuth• REST• Caching• Benchmark• Social
– Twitter– Facebook
• Testing– SimpleTest– phpUnit
CodeIgniter + Zend
โค้รงสร �งก�รพัฒน�แบบย0ด้หย�)น • น��แนวค้�ด้ plug-in, modular ม�ใช้
– Separation of Concern
ร�ปุ๋แบบก�รพัฒน�
ร�ปุ๋แบบก�รพัฒน�
ร�ปุ๋แบบก�รพัฒน�
CC
DBVV
LL MM
แยกก�รพัฒน�ออกเปุ๋2น 2 ส)วนหลก
WebWeb APIsAPIs
HTTP/TCP IP
DB
น��แนวค้�ด้ติ)�งๆ ข �งติ นม�พัฒน�ระบบ e-Commerce
โค้รงสร �งของระบบ e-Commerce
โค้รงสร �งของระบบ e-Commerce
แรงบนด้�ลใจ
ท��ให เก�ด้แนวค้�ด้ใหม)ๆ เพั�-อเปุ๋ล�-ยนแปุ๋ลงและปุ๋รบปุ๋ร�ง
ระบบ e-Commerce ในไทย
STORAGE
CORE SYSTEM
APIs Plug-InBACKEND
FRONTEND
Core System และ Backend
STORAGE
CORE SYSTEM
APIs Plug-InBACKEND
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-InBACKEND
FRONTEND
APIs
STORAGE
CORE SYSTEM
APIs Plug-InBACKEND
FRONTEND
• User APIs• Product APIs• Order APIs• Shipping APIs• Invoice APIs• Inventory APIs• etc..
Plug-ins
STORAGE
CORE SYSTEM
APIs Plug-InBACKEND
FRONTEND
• Interface/ Theme/ Layout• Payment Channel• Shipping Channel• New Features of Product• Blog• Search System• Facebook Connect• Twitter Anywhere• etc ..
โด้ยท'งหมด้น�'พัฒน�อย�)บน CodeIgniter
เปุ๋3�หม�ยท�-แท จร�ง ค้�อ ก�รแจกจ)�ยออกไปุ๋เพั�-อสร �ง Communities
ข0'นม�
แติ) … ยงไม)จบค้รบ
ผมม�ของฝ�กน�ด้หน)อย
Continuous Integration Toolin PHP
Continuous Integration ค้�ออะไร
• เร�ยกส'นๆ ว)� CI• เปุ๋2นแนวค้�ด้ ไม)ใช้)เค้ร�-องม�อ• เปุ๋3�หม�ยเพั�-อ
– ปุ๋รบปุ๋ร�งกระบวนก�รพัฒน�ระบบง�น ท'งก�ร build และ deployment ให ด้�ย�-งข0'น
– เม�-อม�ก�รเปุ๋ล�-ยนแปุ๋ลงติ)�งๆ แล วไม)ส)งผลกระทบหร�อกระทบติ)อระบบให น อยท�-ส�ด้
แล ว Integration อะไรบ �ง • Sourcecode• Database• Resource ติ)�งๆ
แล วน��ม�ใช้ ง�นเม�-อไร • เม�-อม�ก�รเปุ๋ล�-ยนแปุ๋ลง แล วส)งผลให ระบบไม)
ท��ง�น หร�อท��ง�นผ�ด้พัล�ด้• เม�-อม�ผ� ร )วมพัฒน�จ��นวนม�ก ม�ส)วนปุ๋ระกอบ
ติ)�งๆ จ��นวนม�ก ซึ่0-งจะเก�ด้ค้ว�มซึ่บซึ่ อนม�ก
ข'นติอนก�รพัฒน�ปุ๋กติ� • พัฒน�ง�นในส)วนท�-ร บผ�ด้ช้อบ• ท��ก�ร checkout และ update
sourcecode ติ)�งๆ ผ)�น Control Version System เช้)น SubVersion, Git เปุ๋2นติ น
• ท��ก�รเข�ยน code• ท��ก�รทด้สอบง�นท�-เข�ยนเสร7จ• เม�-อทด้สอบผ)�น ท��ก�ร commit code • แติ)ไม)ม�ก�รท�� Integration Test
ข'นติอนก�รพัฒน�โด้ยน�� Continuous Integration ม�ใช้ • การพั�ฒนาแบบปกติ�• Continuous Integration Server เร�-ม
ท��ง�นด้งน�'– ท��ก�ร Checkout หร�อ Update
sourccode – ท��ก�รทด้สอบระบบ– ระบบท��ก�รบนท0กผลก�รท��ง�น เปุ๋2น
suceess หร�อ failure
ผลของก�รน�� Continuous Integration ม�ใช้
Before
After
แติกติ)�งจ�กว�ธี�ปุ๋กติ�อย)�งไร • เปุ๋2นก�รทด้สอบแบบ Integration Test ค้�อ
ทด้สอบรวมกบส)วนก�รท��ง�นอ�-นๆ• ท��ให เร�ติ องเข�ยน Test ส��หรบทด้สอบ
sourcecode ท�-พัฒน�ข0'นม�เสมอ• ท��ให ร� defect ติ)�งๆ อย)�งรวด้เร7ว ซึ่0-งแติกติ)�ง
จ�กก�รพัฒน�ในร�ปุ๋แบบเด้�มๆ
ปุ๋ระโยช้น&ท�-ได้ รบ • ลด้เวล�ส��หรบก�ร 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 )
เล�อกติวไหนด้� • เล�อกติ�มค้ว�มติ องก�ร• ทด้สอบใช้ เค้ร�-องม�อติ)�งๆ• ปุ๋ระเม�นผล• น��ไปุ๋ใช้ ง�น
ก�รน��ม�ใช้ ง�นในโลกค้ว�มเปุ๋2นจร�งในไทย
• ย�ก แติ)ไม)ใช้)ว)�เปุ๋2นไปุ๋ไม)ได้ • ปุ๋รบเปุ๋ล�-ยนทศนค้ติ�ในก�รพัฒน�• ปุ๋รบเปุ๋ล�-ยนร�ปุ๋แบบก�รพัฒน�แบบค้)อยเปุ๋2นค้)อย
ไปุ๋
ผมเช้�-อว)�
ส�ม�รถูน��ม�ใช้ ได้ อย)�งแน)นอน
ค้��แนะน��ก)อนจบ • ท�กๆ ค้น ค้วรจะ Update Sourcecode จ�ก
Control Version System ท�กๆ เช้ � ก)อนเร�-มท��ง�น
• ท�กๆ ค้น ค้วรจะ Commit Sourcecode จ�ก Control Version System ท�กๆ เย7น ก)อนกลบบ �น
วนน�'ค้�ณ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]’ ?>