System Development Life Cycle

System Development Life Cycle คืออะไร –  ในการพัฒนาระบบนั้น ได้มีการกำหนดให้เป็นไปในทิศทางเดียวกัน และกำหนดขั้นตอนที่เป็นแนวทางในการวิเคราห์ระบบโดยพยายามให้มีข้อบกพร่องน้อยที่สุดเพราะงานการวิเคราะห์ระบบในปัจจุบันมีความซันซ้อนของงานมากกว่าสมัยก่อนนักวิเคราะห์ระบบจึงต้องมาตรฐานในการพัฒนาระบบงานดังกล่าว จึงได้มีการคิดค้นวงจรการพัฒนาระบบขึ้นเพื่อตอบสนองความต้องการของนักวิเคราะห์ระบบ เราเรียกว่า วงจรการพัฒนาระบบงาน (System Development Life Cycle : SDLC) โดยทางบริษัท 4Xtreme นั้นก็มีวางระบบงานดังนี้ Study and Discovery – การศึกษา และเรียนรู้ปัญหาจากที่ได้รับมา เพื่อค้นหาแนวทางที่เป็นไปได้ ที่จะแก้ปัญหาให้ออกมาให้เป็นผลลัพธ์ที่ดีที่สุด Analysis – วิเคราะห์ระบบ ตามความต้องการของลูกค้า พร้อมกับปัญหาที่ได้รับมา จัดการทำขอบเขตของระบบว่าอะไรที่จะทำหรือไม่ทำ เพื่อไปนำเสนอต่อลูกค้า และตกลงกันจนได้ไปเป็นผลสรุป ที่พึงพอใจที่สุด Design – ออกแบบ หน้าตาของระบบ ให้มีความสวยงาม ง่าย และตอบสนองต่อการใช้งานของผู้ใช้ (User Interface/UI) รวมไปถึงการออกแบบระบบการทำงาน ฐานข้อมูล(Database) และเครือข่าย(Network) Development – พัฒนาซอฟต์แวร์ตามที่ ออกแบบไว้ พร้อมทดสอบไปในตัว […]

nich

16 September 2019

Backend Frontend คืออะไร

สาย IT คงรู้อยู่แล้วหละว่า Backend Frontend คืออะไร และแน่นอนว่าบางคนคงยังไม่รู้ หรือว่า ไม่รู้จะเริ่มต้นยังไง มันแตกต่างกันตรงไหน เราจะพาไปทำความรู้จักกันว่า ทั้งสองอย่างนี้คืออะไร เกี่ยวกันยังไง มีความสัมพันธ์กันมากแค่ไหน ถ้าจะสมมุติให้เห็นภาพ ก็ลองคิดว่า เว็บไซต์ เปรียบเสมือนบ้านหลังหนึ่ง บ้านจะสวยได้ ก็ต้องแต่ง และแน่นอนคนที่ตกแต่งบ้านนั้นก็คือ Frontend หรือที่เรามักจะเรียกว่า ‘หน้าบ้าน’ โดยเจ้าหน้าบ้านนี่ จะเป็นคนที่คอยออกแบบตกแต่งหน้าตาให้สวยงาม เข้าใจง่าย ดึงดูดสายตาต่อผู้ที่เข้ามารับชม ตอบสนองกับผู้ใช้งาน และยังออกแบบเพื่อป้องให้ผู้อื่นไม่สามารถเข้ามาดูส่วนข้อมูลข้างในโปรแกรม เป็นต้น ได้เมื่อเรามีหน้าบ้านแล้ว เราก็ต้องมีหลังบ้าน หรือ ‘Backend‘ โดยหลังบ้าน โดยหลังบ้านนี้ จะเป็นคนที่ออกแบบการทำงาน โครงสร้าง การส่งข้อมูล การรักษาความปลอดภัยข้อมูล การออกแบบฐานข้อมูล ต่างๆนาๆ แน่นอนว่าที่พูดมาถึงขนาดนี้ หลังบ้านต้องสำคัญแน่นอน เพราะถ้าหลังบ้านทำงานไม่ดี ย่อมส่งผลเสียแน่นอน เช่น ข้อมูลที่สำคัญรั่วไหล การแสดงผลช้า และทุกๆอย่างก็จะค่อยๆตามมากันเรื่อยๆ จนสุดท้ายพังไปในที่สุด ถ้าจะถามความสัมพันธ์ของ Frontend กับ […]

nich

13 September 2019

Microservices คืออะไร

Microservices คือ สถาปัตยกรรมซอฟต์แวร์แบบหนึ่งที่ถูกออกแบบโดยการ นำ service ต่างๆ แยกออกมาเป็น service ของตัวเองเพื่อให้ service นั้นทำงานอย่างใดอย่างหนึ่งไปเลย และยังเป็นอิสระ สามารถมีฐานข้อมูลเป็นของตัวเอง ถ้าต้องการข้อมูลจาก service อื่น ก็สามารถเรียกใช้ผ่าน API ได้ มันคงจะดีเลยหละ การที่ทีมหลายๆทีม สามารถทำงานได้โดยไม่ต้องรอกัน จากคำกล่าวข้างต้น ก็เริ่มสงสัยแล้วสิ ว่ามันเป็นยังไง เรามาดูรูปต่อไปกันดีกว่า โดย James Lewis และ Martin Fowler ให้คำจำกัดความของ Microservices ว่า เป็นรูปแบบการพัฒนา Application โดยการแบ่ง service ออกเป็นชิ้นเล็กๆ service สามารถทำงานจนจบกระบวนการได้ด้วยตนเอง แต่ละ service ไม่จำเป็นที่จะต้องเขียนด้วยภาษาโปรแกรมแบบเดียวกัน สามารถแยกใช้วิธีการเก็บข้อมูลที่แตกต่างกันได้ สมมุติว่า เราพัฒนาระบบ E-Wallet ก็จะสามารถ แยก ฟังชั่น ต่างๆ ออกเป็นระบบเล็กๆ ดังนี้ […]

nich

10 September 2019

RESTful API คืออะไร

เคยได้ยินกันไหม เดี๋ยวก็ REST API เดี๋ยวก็ RESTful API วันนี้เราจะมาดูกันว่าทั้งสองมันคืออะไร Rest (Representational state transfer) – เป็นรูปแบบสถาปัตยกรรมซอฟต์แวร์(architecture) ที่ใช้ประโยชน์จากเทคโนโลยี Web Protocol เพื่อใช้ในการสร้าง Web Service ซึ่งเจ้าตัว Rest ถูกพัฒนาโดย Roy Fielding Ph.d ตั้งแต่ปี ค.ศ.2000 Architectural properties ข้อกำหนดของ REST architectural style ทั้ง 7 ประกอบไปด้วย Performance: ประสิทธิภาพในการโต้ตอบ Scalability: มีความสามารถในการปรับขยายได้ทำให้สามารถรองรับส่วนประกอบจำนวนมาก Simplicity: ความเรียบง่ายของอินเตอร์เฟซที่เหมือนกัน Modifiability: ความสามารถในการปรับเปลี่ยนส่วนประกอบเพื่อตอบสนองความต้องการที่เปลี่ยนแปลง (แม้ในขณะที่แอปพลิเคชันทำงานอยู่) Visibility: การมองเห็นการสื่อสารระหว่าง Component ผ่าน Service agents Portability: ง่ายต่อการโยกย้ายในส่วนของ Program […]

nich

10 September 2019

HTTP vs. HTTPS

http vs. https เอ๊ะ มันคืออะไร บางเว็บไซต์ก็มี บางเว็บไซต์ก็ไม่มี แต่ถึงจะยังไงก็ยังเข้าเว็บไซต์ได้อยู่ ไม่ต้องสนใจก็ได้มั้ง จากคำกล่าวข้างต้นนี่ เรามาทำความรู้จักกับ http และ https กัน HTTP (Hypertext Transport Protocol) – เป็นโปรโตคอลสำหรับสื่อสารจะใช้เมื่อเรียกโปรแกรมบนเบราว์เซอร์อย่าง Chrome, Firefox, Internet Explorer เพื่อเรียกดูข้อมูลหรือเว็บนั้นๆ เบราว์เซอร์จะใช้ HTTP เป็นตัวเรียกให้เซิร์ฟเวอร์ส่งข้อมูลมาให้เพื่อแสดงผลบนหน้าจอได้อย่างถูกต้อง โดยเป็นการส่งข้อมูลแบบ Clear text ไม่ได้ทำการเข้ารหัส ทำให้สามารถถูกดักจับและอ่านข้อมูลได้ง่าย HTTPS (Hypertext Transfer Protocol over Secure Socket Layer หรือ Http over SSL) – โปรโตรคอลที่สื่อสารด้วยการเข้ารหัสบนระบบ network โดยใช้กันแพร่หลายบน internet โดย HTTPS ประกอบไปด้วย HTTP […]

nich

10 September 2019

Visual Studio 2019

เมื่อวันที่ 2 เมษายนที่ผ่านมา Microsoft ได้ออก Visual Studio 2019 เราจะมาดูว่ามีฟีเจอร์อะไรเพิ่มมาใหม่บ้าง หน้าจอเริ่มต้นแบบใหม่ ใช้งานง่ายยิ่งขึ้น Pull Request ได้จาก Visual Studio โดยตรง LiveShare เขียนโค้ดพร้อมกันระหว่างเพื่อนร่วมงาน ปรับธีมใหม่ทั้งตัว ฟีเจอร์ค้นหาปรับปรุงใหม่ สามารถเปิดโซลูชัน โดยไม่ต้องโหลดโปรเจกต์ ช่วยให้เปิดโซลูชันขนาดใหญ่ๆ เร็วขึ้นมาก อัพเดตเวอร์ชันภาษาที่รองรับเป็นรุ่นล่าสุด ได้แก่ C# 8.0 Preview, F# 4.6 Preview   Cr. blognone 4Xtreme

nich

6 September 2019

Open Source

Open Source คือ โปรแกรมคอมพิวเตอร์ที่ผู้พัฒนาอนุญาต ให้นำไปใช้ได้ ไม่ว่าเราจะนำไปต่อยอดงานส่วนอื่นๆ พัฒนาโปรแกรมต่อ และแน่นอนว่าเมื่อพัฒนาแล้วก็ต้องเปิดเผยให้ผู้อื่นนำไปใช้ได้ และสามารถพัฒนาต่อได้เช่นกัน ทำไมถึงต้องใช้ด้วยหละ สำหรับ software บางตัว จะใช้ก็ต้องย่อมเสียค่าใช้จ่าย ซึ่งมีราคาค่อนข้างแพงอยู่แล้ว ถ้าเกิดเรานำมาใช้โดยไม่ได้ซื้อ แน่นอนว่าต้องละเมิดลิขสิทธิ์แน่ๆ ซึ่งแน่นอนว่ามันไม่คุ้ม การเลือกที่จะใช้ software นั้นมันก็ต้องดูอะไรหลายๆอย่าง มาเป็นองค์ประกอบ ถ้าธุรกิจขนาดเล็กมาก จะซื้อ software ราคาแพงมาใช้ ก็คงจะไม่คุ้มเสียซักเท่าไหร่ ถ้าจะให้พูดถึงคำว่า ลิขสิทธิ์ แน่นอนว่า ทุกคนย่อมที่จะหลีกเลี่ยงใช้ของที่มันมีลิขสิทธิ์อยู่แล้ว ถ้าเกิดยังดื้อดึงที่จะใช้อยู่ แน่นอนว่าผลเสียต่างๆ ก็จะตามมาอย่างคาดไม่ถึงเลยเชียว เช่น การฟ้องร้อง ซึ่งทำให้เกิดค่าเสียหายต่างๆนาๆ อีกทั้งยังผิดกฏหมายอีกด้วย ซึ่งก็ไม่พ้นพวกซอฟต์แวร์คอมพิวเตอร์ต่างๆ ซึ่งซอฟต์แวร์สำเร็จรูป บางอย่างก็มีค่าใช้จ่ายที่ค่อนข้างจะแพง และแน่นอนว่า ซอฟต์แวร์สำเร็จรูปบางตัวก็อาจจะละเมิดลิขสิทธิ์อยู่ แน่นอนว่าทางเลือกที่จะหลีกเลี่ยงปัญหาที่กล่าวมาข้างต้นนั้นมีแน่ ซึ่งนั่นก็คือ โอเพนซอร์ส นี่เอง The Open Source Initiative (OSI) ได้ให้คำจำกัดความของโอเพนซอร์สตามหลักเกณฑ์ ดังนี้ การเผยแพร่ซ้ำโดยเสรี […]

nich

6 September 2019

Software House คือ

Software House – บริษัทที่จัดทำ software เฉพาะด้าน เพื่อตอบสนองความต้องการเฉพาะด้านตามความต้องการองค์กร เพราะแต่ละองค์กรมีความต้องการทางด้าน software ที่แตกต่างกันไป และยังต้องการช่วยให้การทำงานในองค์กรนั้นมีความสะดวกสบายในการใช้งานมากยิ่งขึ้น โดยส่วนใหญ่แล้ว Software House จะพัฒนา software ตามผู้ว่าจ้างในระยะเวลาสั้นๆ ซึ่งก็ถือว่าเป็นข้อดี ของ บริษัท Software House เลยทีเดียว และแน่นอน บางบริษัทที่เป็น software house ก็เป็น Partner กับบริษัทใหญ่ๆ แน่นอนถ้าจะให้พูดถึงขนาดของ Software House ย่อมต้องเป็นขนาดเล็ก เพราะคำว่า House นั่นแปลว่าบ้านอยู่แล้ว ซึ่งก็คือ เป็นบริษัทขนาดเล็ก ที่ทำงาน Software เฉพาะด้าน มีความคล่องตัว สามารถตอบสนองความต้องการของลูกค้าได้รวดเร็ว ไม่ว่าจะเป็นการรับ Requirement การปรับปรุงแก้ไขงานตามความต้องการ และยังสามารถพูดคุยกับลูกค้าได้ตลอดเวลา ซึ่งทำให้เราได้ใกล้ชิดกับลูกค้ามากยิ่งขึ้น อีกทั้งยังมีทุน และค่าบริการที่น้อยกว่า บริษัทใหญ่ๆ ทางเรา 4Xtreme ก็เป็น […]

nich

6 September 2019

Big Data(กรมฝนหลวง)

Big Data(กรมฝนหลวง) – เก็บข้อมูลสภาพอากาศจากเซนเซอร์ทั่วประเทศ เพื่อนำข้อมูลมาวิเคราะห์กำหนดนโยบาย ยุทธศาสตร์ และวางแผนในการบริหารจัดการน้ำในชั้นบรรยากาศ และบริหารจัดการทรัพยากรน้ำแบบบูรณาการของประเทศ รวมทั้งนำข้อมูลมาวิจัย และพัฒนาเทคโนโลยีการทำฝนและการดัดแปรสภาพอากาศ เทคโนโลยีที่ใช้ Hortonworks Hadoop                                                                                     […]

nich

16 August 2019

Let’s Encrypt คืออะไร

Let’s Encrypt หรือเรียกสั้นๆ ว่า LE (แอลอี) เป็นระบบหน่วยงานออกใบรับรอง (Certification Authority (เซอร์ทิฟิเคชั่น ออโทรริตี้) หรือ CA (ซีเอ)) ที่สามารถใช้งานได้ฟรีและใช้ระบบอัตโนมัติในการจัดการใบรับรองความปลอดภัยสำหรับเว็บไซต์เข้ารหัส โดยผู้ใช้งานจะใช้งานผ่าน client (ไคลแอนต์) ที่มีให้ และมีจุดมุ่งหมายเพื่อสาธารณประโยชน์ ระบบของ LE ให้บริการโดย Internet Security Research Group (อินเตอร์เน็ต ซิเคียวริตี้ รีเซิร์จ กรุ๊ป) หรือ ISRG (ไอเอสอาร์จี) ใบรับรองที่ออกโดย LE จะมีอายุเพียงแค่ 90 วันเท่านั้น ซึ่งดูเป็นช่วงเวลาที่สั้นสำหรับผู้ดูแลระบบหลายๆคนที่ใช้งานใบรับรองที่มีอายุ1ปี ซึ่งทาง LE ให้เหตุผลในการออกใบรับรองที่มีอายุเพียงแค่ 90 วันไว้ดังนี้ เพื่อลดความเสียหายที่จะเกิดขึ้นหากกุญแจที่ใช้ยืนยันใบรับรองถูกเข้าถึงโดยผู้ไม่ประสงค์ดี กุญแจที่ถูกขโมยไปจะสามารถใช้ได้เพียงในช่วงระยะเวลาสั้นๆเท่านั้น มันจะกระตุ้นให้ใช้ระบบอัตโนมัติ ซึ่งทำให้การใช้งานสะดวกมากขึ้น การที่พวกเราจะทำให้เว็บไซต์ทั้งหมดนั้นใช้ HTTPS (แฮชทีทีพีเอส) พวกเราไม่สามารถรอให้ผู้ดูแลระบบมาติดตั้งหรือต่ออายุใบรับรองเองได้อยู่ตลอดเวลา ซึ่งถ้าระบบทั้งหมดนั้นเป็นระบบอัตโนมัติ การที่ใบรับรองจะมีอายุการใช้งานสั้นก็ไม่ส่งผลกระทบใดๆ […]

nich

8 August 2019
1 4 5 6