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

JWT คือ

JWT คือ JSON Web Token เป็นรูปแบบหนึ่งที่ใช้ในการสร้างรหัส token จากข้อมูล JSON Data แล้วทำการเข้ารหัสด้วย Base64Url และถือว่าเป็นมาตรฐานเปิด(RFC 7519) ที่เข้ามาแก้ปัญหาการส่งข้อมูลอย่างปลอดภัยระหว่างกัน โดยถูกออกแบบไว้ว่า จะต้องมีขนาดที่กะทัดรัด (Compact) และเก็บข้อมูลภายในตัว(Self-contained) หน้าตาของ JWT จะเป็น xxxxxxxx.yyyyyyyy.zzzzzzzz โดยจะแบ่งเป็น 3 ส่วน ประกอบด้วย Header – เป็นส่วนที่บอกรายละเอียดของ J W T  ประกอบไปด้วย ชนิดของข้อมูล การเข้ารหัส Payload – เป็นส่วนที่เก็บข้อมูลต่างๆ ที่เราต้องการส่งไปใน Token โดยจะเก็บอยู่ในรูปของ JSON Obeject Signature – เป็นส่วนที่เอาไว้เช็คว่า ข้อมูลของ Header และ Payload ถูกต้องหรือไม่ มีการแก้ไข หรือเปลี่ยนแปลงอะไรรึเปล่า ถ้าเกิดการเปลี่ยนแปลง […]

nich

30 October 2019

Spring Boot

Spring Boot เป็น project นึงของ Spring Framework ที่ทำให้พัฒนา Application ได้รวดเร็วโดยที่มีการทำ Auto Configuration ทำให้ไม่ต้องเสียเวลาไป Config ทุกอย่างเองเหมือนแต่ก่อน เราสามารถสร้าง standalone application ที่ export เป็น jar หรือจะทำเป็น war แล้วนำไป deploy ที่ application server เหมือนเดิมก็ได้ Spring Boot ก็คือ Spring ที่ผ่านการ Upgrade แล้วโดยเราจะไม่มองมันเป็น App แต่เราจะมองมันเป็น Service เหมือน Service ใน Linux ก็คือ มันสามารถรันได้ด้วยตัวมันเอง หรือก็คือมัน Built in Server มาให้ในตัวแล้ว เอาไปใช้ได้เลย เวลา Server มีปัญหาก็ไม่กระทบต่อ […]

nich

30 October 2019

TensorFlow

TensorFlow เป็นไลบรารีที่ใช้ในการพัฒนา Machine Learning ได้รับการพัฒนาโดยบริษัท Google ได้ทำการเปิดตัวเมื่อวันที่ 11 กุมภาพันธ์ 2017 ซึ่ง Tensor Flow นั้นจะเป็น Open source ที่จะใช้ python ในการเขียน รองรับเวอร์ชั่นทั้ง python2 และ Python3 โดย Tensor Flow สามารถทำงานบน CPU และ GPUs รองรับระบบปฎิบัติการ Linux, macOS, Windows และ Android ชื่อของ Tensor flow มาจากชื่อเฟรมเวิร์กที่ถูกนำมาพัฒนาต่ออย่าง Tensor การคำณวนทั้งหมดจึงเกี่ยวข้องเวกเตอร์ และ เมทริกซ์หลายมิติ ที่มีข้อมูลจุอยู่หลายหลากชนิด ค่าทั้งหมดในหนึ่ง Tensor จะมีขนาดของข้อมูลแตกต่างกันไปที่เรียกว่า shape Tensor จะมาจากอะไรก็ได้ทั้งข้อมูลที่ป้อนเข้าไป หรือ ผลลัพธ์จากการคำนวณ ใน Tensor […]

nich

24 October 2019

Line Notify

LINE Notify คือบริการที่คุณสามารถได้รับข้อความแจ้งเตือนจากเว็บเซอร์วิสต่าง ๆ ที่คุณสนใจได้ทาง LINE โดยหลังเสร็จสิ้นการเชื่อมต่อกับทางเว็บเซอร์วิสแล้ว คุณจะได้รับการแจ้งเตือนจากบัญชีทางการของ “LINE Notify” ซึ่งให้บริการโดย LINE นั่นเอง คุณสามารถเชื่อมต่อกับบริการที่หลากหลาย และยังสามารถรับการแจ้งเตือนทางกลุ่มได้อีกด้วย ในชีวิตประจำวัน LINE ก็ถือว่าเป็นแอปพลิเคชั่นแชท ที่ในโทรศัพท์มือถือของทุกคนแทบจะมีกันอยู่ในเครื่อง เพื่อไว้คอยพูดคุย หรือแลกเปลี่ยนข่าวสารกัน และแน่นอนว่าลูกเล่นของ Line นั้นก็ยังมีอีกเยอะแยะเลย แต่ถ้าเราอยากให้ Line สามารถคอยแจ้งเตือนจากบริการต่างๆ ที่เราใช้อยู่ แน่นอนว่า Line notify คือตัวช่วยนี่เอง เราใช้ Line notify เพื่อแจ้งสถานะการออนไลน์ไปอีกระบบปลายทางได้ จึงทำให้เราสามารถส่งข้อความแจ้งเตือนจากบริการต่าง ๆ หรืออุปกรณ์ใด ๆ ก็ตาม ที่สามารถเชื่อมต่อกับ internet และสามารถเชื่อมด้วย http post มายัง Account ของเราได้ Line notify ตัวนี้ เรียกได้ว่ามีประโยชน์ใช้สอยมากพอตัวเลยก็ว่าได้ ไม่ว่าจะเป็นการใช้เพื่อแจ้งเตือนสิ่งต่าง ๆ […]

nich

17 October 2019

AMP คือ

AMP คือ วิธีการสร้างหน้าเว็บไซต์ที่มีเนื้อหาไม่เปลี่ยนแปลง ทำให้เว็บไซต์แสดงผลได้อย่างรวดเร็วทันทีที่กดเข้าเว็บไซต์ AMP ย่อมาจาก Accelerated Mobile Pages ซึ่งเป็น Open-source protocol เหมาะกับผู้ที่เข้าเว็บไซต์ผ่านมือถือและไม่ชอบรอเว็บไซต์ที่ใช้เวลาโหลดนาน หากเว็บไซต์ไหนที่ทำการติดตั้ง เวลาที่เรา Search บนมือถือ จะแสดงรูปสายฟ้าให้เห็นเพื่อให้ผู้ใช้งานได้รู้ว่าเว็บไซต์นี้ได้ทำการติดตั้งแล้ว AMP จะประกอบด้วย 3 ส่วน คือ AMP HTML คือ HTML ที่ทำให้สามารถจำกัดให้มีประสิทธิภาพที่เชื่อถือได้ และส่วนขยายของเนื้อหาที่สมบูรณ์ AMP JS คือ Library ที่ทำให้หน้าเว็บไซต์สามารถดาวน์โหลดได้เร็วขึ้น โดยจะทำให้การเรียกทรัพยากรภายนอกไม่เกิดขึ้นพร้อม ๆ กัน และไม่บล็อกการแสดงผล Google AMP Cache คือ การแสดงเนื้อหาผ่าน Proxy เก็บข้อมูลไว้ในแคชเพื่อเพิ่มประสิทธิภาพต่อการแสดงหน้าเว็บอัตโนมัติ AMP เทคโนโลยีที่สามารถนำมาช่วยในการติด SEO ด้วยการแสดงผลหน้าจอที่รวดเร็วจะช่วยเพิ่มอัตราการคลิก (CTR) ให้สูงขึ้นได้อย่างแน่นอน แล้วเว็บไซต์ที่ติดตั้ง AMP มีแนวโน้มว่าการจัดอันดับได้ดียิ่งขึ้น เหมาะสำหรับการทำ […]

nich

4 October 2019
1 2 3 4 6