SSL Certificate

ก่อนที่จะมาทำความรู้จักกับ SSL Certificate ก็ขออธิบายคำว่า SSL ก่อน SSL หรือ Secure Sockets Layer ซึ่งปัจจุบันได้พัฒนาขึ้นมาเป็น TLS (Transport Layer Security) คือ เทคโนโลยีการเข้ารหัสข้อมูล เพื่อเพิ่มความปลอดภัยในการสื่อสารหรือส่งข้อมูลบนเครือข่ายอินเทอร์เน็ต ระหว่างเครื่องเซิร์ฟเวอร์กับเว็บเบราว์เซอร์หรือ Application ที่ใช้งาน เพื่อให้ข้อมูลของท่านปลอดภัยจากการเข้าถึงข้อมูลจากแฮกเกอร์ โดยวิธีการเรียกใช้งาน จะเรียกผ่านโปรโตคอล HTTPS หรือโปรโตคอลความปลอดภัยอื่นๆ ตามแต่วิธีการใช้งาน SSL Certificate คือใบรับรองอิเล็กทรอนิกส์ เป็นไฟล์ข้อมูลขนาดเล็ก ที่ได้มีการผูกไว้กับ Private Key ของเครื่องเซิร์ฟเวอร์ เพื่อยืนยันตัวตนและความถูกต้องในการส่งข้อมูลระหว่างเครื่องเซิร์ฟเวอร์กับเว็บเบราว์เซอร์หรือ Application ที่ใช้งาน มีการเข้ารหัสและถอดรหัสผ่านเทคโนโลยี SSL/TLS หากข้อมูลของท่านถูกดักจับไปได้ ข้อมูลก็ท่านก็ยังมีความปลอดภัย เพราะแฮกเกอร์ จะไม่สามารถถอดรหัสข้อมูลของคุณได้ เนื่องจากข้อมูลที่ได้ไป จะอยู่ในรูปแบบที่อ่านไม่ออก จะต้องมีคีย์ถอดรหัสที่เหมาะสมและตรงกันเท่านั้น ถึงจะสามารถถอดรหัสได้ แล้วเราจะรู้ได้ยังไงว่าเว็บไซต์ไหนมี SSL ? วิธีตรวจสอบนั้นก็ไม่ได้ยากอะไรเลย แค่คลิกดูที่ URL […]

nich

9 June 2020

Mobile Application Developer

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

nich

29 May 2020

Flutter คือ

Flutter คือ Framework ที่ใช้สร้าง UI สำหรับ mobile application ที่สามารถทำงานข้ามแพลตฟอร์มได้ทั้ง iOS และ Android ในเวลาเดียวกัน โดยภาษาที่ใช้ใน Flutter นั้นจะเป็นภาษา dart ซึ่งถูกพัฒนาโดย Google และที่สำคัญคือเป็น open source ที่สามารถใช้งานได้แบบฟรี ๆ อีกด้วย จุดเด่นของ Flutter คืออะไร? จุดเด่นหลัก ๆ ของ Flutter คือ ระบบ Hot Reload โดยเมื่อมีการทดสอบ, การสร้าง, การ add features หรือการกระทำต่าง ๆ กับ UI จะต้องมีการ reload เพื่อให้หน้า UI update ซึ่งระบบ Hot Reload จะเข้ามาช่วยในส่วนของการ reload […]

nich

26 March 2020

Ubuntu

อูบุนตู (Ubuntu) เป็นระบบปฏิบัติการคอมพิวเตอร์ที่เป็นระบบปฏิบัติการแบบเปิดซึ่งมีพื้นฐานบนลินุกซ์ดิสทริบิวชันที่พัฒนาต่อมาจากเดเบียน การพัฒนาสนับสนุนโดยบริษัท Canonical Ltd ซึ่งเป็นบริษัทของนายมาร์ก ชัทเทิลเวิร์ธ ชื่อของดิสทริบิวชันนั้นมาจากคำในภาษาซูลู และภาษาโคซา (ภาษาในแอฟริกาใต้) ว่า Ubuntu ซึ่งมีความหมายในภาษาอังกฤษคือ “humanity towards others” ประวัติ Ubuntu เปิดตัวเป็นครั้งแรกเมื่อวันที่ 20 ตุลาคม ค.ศ. 2004 โดยเริ่มจากการแยกตัวชั่วคราวออกมาทำจากโครงการ Debian GNU/Linux เมื่อเสร็จสิ้นคราวนั้นแล้วก็ได้มีการออกตัวใหม่ๆทุก 6 เดือน และมีการอับเดตระบบอยู่เรื่อยๆ Ubuntu เวอร์ชันใหม่ๆที่ออกมาก็ได้ใส่ GNOME เวอร์ชันล่าสุดเข้าไปด้วย โดยแผนการเปิดตัวทุกครั้งจะออกหลังจาก GNOME ออกหนึ่งเดือน ซึ่งตรงข้ามกับทางฝั่งที่แยกออกมาจาก Debian อื่นๆ เช่นพวก MEPIS, Xandros, Linspire, Progeny และ Libranet ทั้งหมดล้วนมีกรรมสิทธิ์ และไม่เปิดเผยCode ซึ่งเป็นส่วนที่อยู่ในรูปแบบธุรกิจ Ubuntu เป็นตัวปิดฉากหลักการของ Debian และมีการใช้งานฟรีมากที่สุดในเวลานี้ […]

nich

10 March 2020

CentOS

CentOS เป็นลีนุกซ์ในระดับ Enterprise ที่มีเป้าหมายหลักในเรื่องของความ stable เพื่อให้ใช้กับงานในระดับองค์กร CentOS แตกต่างจากลีนุกซ์ตัวอื่นๆ ที่ค่อนข้างจะมีการเปลี่ยนแปลงบ่อยและมักจะใส่ feature ที่ยังไม่ stable ลงไป ดังนั้นการที่ CentOS ให้ความสำคัญในเรื่องของความ stable จึงทำให้ผู้ใช้งานสามารถมุ่งความสนใจในเรื่องของ application โดยลดความกังวลในส่วนของ OS ลงไป CentOS ย่อมาจาก (Community ENTerprise Operating System) เป็นลีนุกซ์ที่พัฒนามาจากต้นฉบับ RedHat Enterprise Linux (RHEL) โดยที่ CentOS ได้นำเอาซอร์สโค้ดต้นฉบับของ RedHat มาทำการคอมไพล์ใหม่โดยการพัฒนายังเน้นพัฒนาเป็นซอฟต์แวร์ Open Source โดยเป็นลิขสิทธิ์แบบ GNU General Public License ในปัจจุบัน CentOS Linux ถูกนำมาใช้ในการทำ Web Hosting กันอย่างกว้างขวางเนื่องจากเป็นระบบปฏิบัติการที่มีต้นแบบจาก RedHat ที่มีความแข็งแกร่งสูง การติดตั้งแพ็กเกจย่อยภายในสามารถใช้ได้ทั้ง […]

nich

10 March 2020

Plotly and Dash

Plotly and Dash – ตัวช่วยในการทำ Data Visualization อันนึง ที่จะมาเติมเต็มการ plot กราฟให้สมบูรณ์แบบยิ่งขึ้น Plotly – เป็นบริการรายงานข้อมูลกราฟแบบออนไลน์และยังได้ออกโมดูล Plotly เป็นโมดูลหนึ่งที่เป็นที่นิยมกัน ในการสร้างกราฟรายงานข้อมูลทั้งแบบ 2 มิติ (รูปแท่ง,รูปวงกลม และอื่น ๆ) และ แบบ 3 มิติ ในภาษาไพทอน นิยมใช้งานกบั IPython Notebook นอกจากนั้น ยังสามารถบันทึกกราฟข้อมูลขึ้นในเว็บ Plotly account ทำให้สามารถดูกราฟแบบออนไลน์ได้และยังสามารถใช้งานแบบออฟไลน์ได้ด้วย โดยเจ้าตัว Dash นั้นสามารถที่จะ customize โดยการปรับแต่งและแสดงผลในเว็บ โดยใช้ CSS ได้อย่างเต็มประสิทธิภาพ เพื่อที่จะตอบโจทย์ของ Data ที่เราจะนำมาใช้เพื่อนำเสนอ ข้อดี – แก้กราฟ หรือ interactive ทำได้ครบ ตามที่ต้องการ เพราะเป็น coding […]

nich

17 January 2020

ETL

ETL (Extract-Transform-Load) คือกระบวนการหนึ่งในระบบ Data Warehouse โดยระบบที่ออกแบบเอาไว้จะดึงข้อมูลออกมาจากหลายๆ ที่, นำกระบวนการตรวจสอบคุณภาพของข้อมูลมาประยุกต์ใช้, มีการเชื่อมโยงและปรับข้อมูลให้เป็นไปในรูปแบบเดียวกันเพื่อให้ ข้อมูลจากหลายๆ แหล่งสามารถใช้งานร่วมกันได้ และท้ายที่สุดทำการส่งมอบ (Delivery) ข้อมูลเหล่านั้นในรูปแบบที่ง่ายต่อการใช้งาน เพื่อใช้ในการตัดสินใจขององค์กรโดยมีกระบวนการหลักๆ ที่เกี่ยวข้องกับกระบวนการต่างๆ ดังต่อไปนี้ – Extract – กระบวน การดึงข้อมูลจากแหล่งของข้อมูลภายนอก – Transforming – แปลง ข้อมูลเพื่อให้ได้ตรงตามกับความต้องการ ซึ่งเป็นกระบวนการที่ต้องใช้วิธีการเชิงคุณภาพ – Loading – นำ ข้อมูลเข้าสู่ระบบปลายทางที่ต้องการ ซึ่งโดยทั่วไปจะหมายถึงระบบ Data Warehouse หรือ ฐานข้อมูลอื่นใด ETL Tools เป็นเครื่องมือสำหรับใช้ดึงข้อมูลจากแหล่งต่างๆ ซึ่งการดึงข้อมูลอาจจะเป็นแบบง่ายๆ คืออ่านแล้วเขียนลงไปใน Table ที่เตรียมไว้โดยตรง แต่โดยทั่วไปมันไม่ง่ายแบบนั้นทั้งหมด เพราะต้องมีขั้นตอนตรวจสอบความถูกต้องของข้อมูลต่างๆ โดยเฉพาะข้อมูลที่เป็น Key หรือ Dimension จะต้องมีอยู่ใน Master ด้วย บ้างครั้งต้องทำการเปลี่ยนรูป […]

nich

11 November 2019

Python คือ

Python คือ ชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม กล่าวคือสามารถรันภาษา Python ได้ทั้งบนระบบ Unix, Linux , Windows NT, Windows 2000, Windows XP หรือแม้แต่ระบบ FreeBSD อีกอย่างหนึ่งภาษาตัว นี้เป็น OpenSource เหมือนอย่าง PHP ทำให้ทุกคนสามารถที่จะนำ Python มาพัฒนาโปรแกรมของเราได้ฟรีๆโดยไม่ต้องเสียค่าใช้จ่าย และความเป็น Open Source ทำให้มีคนเข้ามาช่วยกันพัฒนาให้ Python มีความสามารถสูงขึ้น และใช้งานได้ครบคุมกับทุกลักษณะงาน ภาษาโปรแกรม Python คือภาษาโปรแกรมคอมพิวเตอร์ระดับสูง โดยถูกออกแบบมาให้เป็นภาษาสคริปต์ที่อ่านง่าย โดยตัดความซับซ้อนของโครงสร้างและไวยกรณ์ของภาษาออกไป ในส่วนของการแปลงชุดคำสั่งที่เราเขียนให้เป็นภาษาเครื่อง Python มีการทำงานแบบ Interpreter คือเป็นการแปลชุดคำสั่งทีละบรรทัด เพื่อป้อนเข้าสู่หน่วยประมวลผลให้คอมพิวเตอร์ทำงานตามที่เราต้องการ นอกจากนั้นภาษาโปรแกรม Python ยังสามารถนำไปใช้ในการเขียนโปรแกรมได้หลากหลายประเภท โดยไม่ได้จำกัดอยู่ที่งานเฉพาะทางใดทางหนึ่ง (General-purpose language) จึงทำให้มีการนำไปใช้กันแพร่หลายในหลายองค์กรใหญ่ระดับโลก เช่น Google, YouTube, Instagram, […]

nich

8 November 2019

Business Intelligence

Business Intelligence – BI (บิสิเนส อินเทลลิเจนซ์ – บีไอ) คือ Software (ซอฟต์แวร์) ที่นำข้อมูลไปจัดทำรายงานในรูปแบบต่างๆ ให้เหมาะสมกับมุมมองในการวิเคราะห์ แสดงความสัมพันธ์ และทำนายผลลัพธ์ของแนวโน้มที่อาจเกิดขึ้นได้ตรงตามความต้องการขององค์กร เพื่อประโยชน์ในการวางแผนกลยุทธด้านต่างๆ และสร้างโอกาสทางธุรกิจเชิงกลยุทธ์ใหม่ๆ องค์ประกอบของ Business Intelligence Data Warehouse (ดาต้าแวร์เฮ้าส์) คือ ฐานข้อมูลขนาดใหญ่ที่รวบรวมข้อมูลทั้งจากแหล่งข้อมูลภายในและภายนอกองค์กร โดยมีรูปแบบและวัตถุประสงค์ในการจัดเก็บข้อมูลซึ่งจำเป็นต้องมีการออกแบบฐานข้อมูลให้สอดคล้องกับการนำข้อมูลมาใช้งาน Data Mart (ดาต้ามาร์ท) คือ คลังข้อมูลขนาดเล็กมีการเก็บข้อมูลที่มีลักษณะเฉพาะเจาะจง เช่น เก็บข้อมูลส่วนของการเงิน ส่วนของสินค้าคงคลัง ส่วนของการขาย เป็นต้น ซึ่งทำให้การจัดการข้อมูลการนำเอาข้อมูลไปสร้างความสัมพันธ์และวิเคราะห์ต่อง่ายขึ้น Data Mining (ดาต้าไมนิง) การทำเหมืองข้อมูล คือ การนำคลังข้อมูลหลักมาประมวลผลใหม่ แสดงเฉพาะสิ่งที่สนใจโดยกระบวนการในการดึงข้อมูลออกจากฐานข้อมูลจะมีสูตรทางธุรกิจ Business Formula (บิสิเนส ฟอร์มูล่า) และเงื่อนไขต่างๆเข้ามาเกี่ยวข้อง ผลลัพธ์ในรูปแบบที่แตกต่างกัน เช่น เป็นแผนภูมิในการตัดสินใจ Decision Trees (ดิซิชัน […]

nich

8 November 2019

Secure Coding

Secure Coding คือ แนวทางการพัฒนาซอฟต์แวร์ที่มีความทนทานต่อการถูกโจมตีจากผู้ไม่ประสงค์ดี โดยซอฟต์แวร์ที่พัฒนาขึ้นนั้นจะได้รับการออกแบบ และ พัฒนา รวมทั้งตรวจสอบแล้วว่าจะไม่สามารถถูกโจมตี หรือ ถูกเจาะด้วยเครื่องมือหรือภัยคุกคามที่เป็นที่รู้จักได้ง่าย โดยทั่วไปแล้วโปรแกรมที่ไม่มีความมั่นคงปลอดภัยนั้นสามารถถูกเจาะได้ด้วยหลากหลายวิธีการ ซึ่งโดยทั่วไปแล้วทุกวิธีการนั้นมีจุดประสงค์เพื่อยึดเซิร์ฟเวอร์หรือไคลเอนท์ ตัวอย่างของการเจาะระบบผ่านทางช่องโหว่ของแอพพลิเคชันต่าง ๆ ได้แก่ การปฏิเสธการให้บริการ (Denial of Service) การปลอดตัวเป็นผู้อื่น การปล่อยมัลแวร์ (Malware) เพื่อเจาะเข้าระบบ เป็นต้น ซึ่งการเรียนรู้ทางด้าน Secure Coding สามารถช่วยปกป้องแอพพลิเคชันรวมไปถึงข้อมูลลับของเราจากการถูกขโมยหรือความเสียหายได้ การพัฒนาแอปพลิเคชันให้ปลอดภัยไม่ใช่เพียงแค่การเพิ่มฟีเจอร์ด้าน Security หลังจากที่พัฒนาแอปพลิเคชันเสร็จ แต่จำเป็นต้องพิจารณาตั้งแต่การออกแบบและเขียนโค้ด (Secure Coding) ซึ่ง OWASP Proactive Control เป็นมาตรการควบคุมที่สำคัญที่นักพัฒนาควรใช้เป็นแนวทางในการออกแบบและเขียนโค้ดอย่างปลอดภัย OWASP Proactive Control ประกอบด้วยเทคนิคและแนวคิดในการเขียนโค้ดอย่างปลอดภัยจำนวน 10 ข้อ เรียงลำดับตามความสำคัญ โดยลำดับที่ 1 มีความสำคัญสูงสุด ดังนี้ ทำการตรวจสอบและยืนยันความปลอดภัยตั้งแต่เริ่ม และทำให้บ่อย ทำ Query Parameterization […]

nich

30 October 2019
1 2 7