หมวดหมู่: คอมพิวเตอร์และไอที

26 มี.ค.

Pytorch ได้รับความนิยมในการใช้งาน deep learning

PyTorch เวลานี้ได้รับความนิยมมาก โดยเฉพาะอย่างยิ่งมีการปล่อยเวอร์ชัน 1.3 และ 1.4 ออกมาแล้ว ซึ่งสนับสนุนการทำงานในระดับโมบายล์ แต่ว่าทำให้เราถึงเลือก framework เป็น pytorch มากกว่า library ชนิดอื่นๆ MXNet, Chainer, or TensorFlow เรามาดูเหตุผลที่ควรเลือก pytorch กันดีกว่า

ก่อนอื่นก็ต้องยอมรับกันว่าเรารู้จักกับ tensorflow มากกว่า โดยเฉพาะอย่างยิ่งมันสามารถเขียนได้ทั้งแพลตฟอร์มของเว็บและโทรศัพท์มือถือ แต่เมื่อเปรียบเทียบกันแล้ว หลายคนบอกว่า tensorflow ห่วยแตก แต่ pytorch สุดยอดกว่ามาก  framework ของ pytorch ใช้งานได้ดี 

PyTorch จริงแล้วก็คือ python

นี่เป็นเหตุผลหลักประการหนึ่งที่คนเลือก pytorch ที่การเขียนโค้ดนี้มีความเข้าใจง่าย framework นี้สนับสนุนการทำงานของ python  ซึ่งโมเดลนี้เป็นรูปแบบเบสิคของ python อย่างเช่นการ การเพิ่มประสิทธิภาพ,การโหลดข้อมูล,การใช้งานฟังก์ขันที่น้อยลง,การเปลี่ยนรูป และอื่นๆ 

ซึ่งภายใต้การประมวลแล้วมีการใช้งาน PyTorch นั่นเอง ที่เป็นเหมือนการปรับปรุง tensorflow เวอร์ชันใหม่ขึ้นมา คือเวอร์ชัน 2.0  นี้จึงเป็นเหตุผลที่เราควรศึกษา PyTorch ไว้ด้วย เราสามารถ debug โปรแกรมได้จาก tensorboard หรือ ใช้เทคนิคของ python โดยทั่วไป ที่มีการสร้าง กราฟจาก stack ตัวอ่าง ทำให้มันดูเป็นมิตรต่อการเรียนรู้ deep learning  จาก framework อื่นๆ ของ data science เช่น pandas หรือ Scikit-learn.

PyTorch ยังรวมสถานะของ API แบบสตาติก ที่เป็นเหตุผลหลักในการปล่อยเวอร์ชัน 1.3 ขึ้นมา ซึ่งเป็นการเปลี่ยนแปลงของตัวแปรใน tensors ขณะที่การเขียนโค้ดด้วย PyTorch เราจะต้องรู้หรือเข้าใจว่ามันมีการใช้งานอย่างไร

ความเร็วในการประมวลผลไม่สำคัญเท่ากับความเร็วในเชิงธุรกิจ

การรันโปรแกรมคอมพิวเตอร์บางครั้งมันอาจจะใช้งานทรัพยากรเยอะมาก แต่ว่าปัจจุบันเรื่องแบบนี้มันเปลี่ยนไป คอมพิวเตอร์,เครื่องเซิร์ฟเวอร์มีราคาถูกลง ทำให้เรื่องความเร็วการประมวลผลเป็นเรื่องที่มีความสำคัญน้อยลง การเขียนโปรแกรมในปัจจุบันไม่จำเป็นต้องเขียนโค้ดที่เยอะมากทำให้เรื่องเวลาการประมวลผลเป็นเรื่องที่ไม่สำคัญเท่าไหร่ แต่ว่าการเขียนโค้ดน้อยช่วยประหยัดเวลาในการพัฒนา ทำให้บริษัทประหยัดค่าใช้จ่ายในการว่าจ้างพนักงานในส่วนนี้

หากว่าเราสนใจเรื่องของความเร็วเป็นหลัก มันก็เป็นเรื่องง่ายในการจัดการ เพราะว่า server สามารถรันโปรแกรมด้วยประสิทธิภาพสูงอยู่แล้ว เราสามารถใช้การประมวลผลจาก โปรเซสเซอร์แบบมัลติคอร์ ทำให้ใช้เวลาน้อยลงไปมาก ก็หมายความว่าเรื่องประสิทธิภาพและความเร็วถูกแก้ไขไปโดยปริยาย แต่ว่าก็ต้องใช้ค่าใช้จ่ายเพื่อมาจ้างแรงงานคนเก่งๆ เพิ่มขึ้น

หมายความว่าคุณสามารถประหยัดเวลาการเขียนโปรแกรม และเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น ทำให้ใช้เงินน้อยลง แต่มีการพัฒนามากขึ้น เพราะว่าโค้ดมีลักษณะเป็น prototype อยู่แล้ว ทำให้คนเขียนสามารถไปโฟกัสเรื่องอื่นๆ ต่อไป 

19 มี.ค.

ทำความรู้จักกับ Kubernetes

Kubernetes เป็น open source สำหรับการรวบรวม, การจัดการโค้ดแบบออโต้เมติก มีการจัดสเกล จัดเตรียมเส้นทางของ container เพื่อให้มีการทำงานได้เร็วขึ้น ซึ่งโปรแกรมนี้เข้ามามีบทบาทอย่างมากในวงการ it ในช่วงไม่กี่ปีที่ผ่านมา ซึ่งมันถูกพัฒนาเป็นครั้งแรกจาก google และเปิดให้เป็น open source เมื่อปี 2014 และปัจจุบันถึงทำให้ขึ้น cloud ไปแล้ว และมีผู้พัฒนาโปรแกรม Kubernetes มากกว่าพันคนและมีการเปิดให้สอบ certificate ในการเป็น partner กับโปรแกรมนี้ด้วย

คุณสามารถสร้าง Kubernetes ได้บนจอ desktop ของตัวเอง

Docker desktop เป็นแอพลิเคชันที่ทำขึ้นใน macOS และระบบวินโดวส์ เพื่อการสร้างและแชร์ แอพลิเคชันที่เกี่ยวกับ container และ microservices ทั้งหลาย

การส่งผ่านด้วย docker desktop มีความรวดเร็วมาก, เป็นอีกทางเลือกหนึ่ง และช่วยในการออกแบบและจัดส่ง แอพลิเคชันในรูปแบบของ container ผ่านหน้าจอคอมพิวเตอร์ของคุณ Docker Desktop ประกอบไปด้วย iDocker App, developer tools, Kubernetes, and เครื่องมือด้านการซิงโครไนซ์ โค้ดขึ้นสู่โปรดักส์ชั่น Docker Desktop อนุญาตให้คุณแพคไฟล์รูปภาพหรือโค้ดดิ้งภาษาโปรแกรมหลายภาษาที่คุณต้องการลงในโปรแกรมนี้ 

ช่วยให้การดำเนินงานตาม workflow เกิดประสิทธิภาพสูง โดยการเก็บเข้าสู่ repository และสามารถนำมา build code, หรือการพัฒนาใหม่อีกครั้งและเพื่อการเก็บรวบรวมโค้ดที่ปลอดภัยยิ่งขึ้น

ทำไมเราต้องใช้ Kubernetes

Kubernetes เป็นแพลตฟอร์มมาตรฐานของการรวบรวม container หลาย container เข้าด้วยกัน ผู้ให้บริการ cloud ก็จะซัพพอร์ต container เหล่านี้ มันอาจกล่าวได้ว่าเป็นทางเลือกที่ดีหากว่าคุณต้องการนำแอพลิเคชันขึ้นไปบน cloud

Kubernetes จัดหา framework ขึ้นพื้นฐานเพื่อรันระบบที่แตกต่างกันในแต่ละนักพัฒนา, รวมถึงในรูปแบบของ infrastructure จาก development สู่ production ในทุกโปรเจ็คการทำงาน Kubernetes สามารถจัดการเรื่องสเกลที่ต้องการ, รูปแบบของการ deploy โค้ดขึ้นโปรดักชัน และอื่นๆ อีกมากมาย

ความสามารรถที่ครอบคลุมของมัน สามารถอธิบายได้ดังนี้คือ ให้บริการเรื่องการควบคุม process การทำงาน,เรื่องการคืนค่า service และเรื่องของ load balance, เรื่องการเก็บรวบรวมโค้ด, การจัดการกับรูปแบบของ container, การ deploy และการ rollback แบบอัตโนมัติ

ข้อดีของ kubernetes คือ Kubernetes มีความสามารถสูง ในการทำงานเป็นทีมที่ต้องการรวมโค้ดเพื่อ deploy โค้ดขึ้นโปรดักชันจำเป็นต้องมีคนรวบรวมโดยใช้โปรแกรมนี้ในการจัดการ ซึ่งความรู้เรื่องการ deploy production บางครั้งเราไม่จำเป็นต้อง coding ขึ้นมาใหม่ เพราะว่าความสามารถของโปรแกรมนี้มันจะช่วยท่านได้อยู่แล้ว

มันมีการทำงานในรูปแบบของ cluster ทำให้มีการทำงานที่รวดเร็วใช้งานกับ หน่วยงานที่หลากหลายได้ มีระบบจัดการที่เกี่ยวกับการจัดเก็บบน cloud ที่เรียกว่า Container Networking Interface (CNI) and Container Storage Interface (CSI) ที่เรามอนิเตอร์ผ่านโปรแกรมได้ 

13 มี.ค.

Data pipeline คืออะไร

จริงๆ แล้วคำว่า data pipeline เป็นศัพท์ที่เราได้ยินกันใหม่นานก็จริง แต่หากดูรายละเอียดของมันแล้ว ประกอบด้วยกระบวนการทำงานที่เรียกว่า Online Transactional Processing (OLTP), Online Analytic Processing (OLAP)

Data pipeline เป็นกระบวนการย้ายข้อมูลจากต้นทางไปยังปลายทาง โดยที่ข้อมูลต้นทางอาจจะมาจากแหล่งเดียวกันหรือหลายแหล่งกันก็ได้ มีสองประเภทคือ OLTP, OLAP 

Online Transactional Processing (OLTP) — เป็นระบบที่เก็บรายการเคลื่อนไหวในแต่ละวัน อาจจะไม่ใช่ข้อมูลที่เก่ามากนัก (ข้อมูลไม่เกิน 5 ปี) เช่นรายการฝาก-ถอนเงินของธนาคาร

ขณะที่ Online Analytic Processing (OLAP) ใช้เรื่องของการวิเคราะห์ข้อมูลมากกว่า คือเป็นข้อมูลตั้งแต่อดีตจนถึงปัจจุบัน ที่มีการเก็บอย่างเป็นระเบียบมาก่อนแล้ว ซึ่ง data ที่ผ่านกระบวนการ OLAP จะมี data มหาศาลบางครั้งต้องใช้เวลาในการประมวลผลนานเป็นพิเศษ

ช่วงที่มีการทำงาน data pipeline มีความเป็นไปได้ว่าอาจจะเกิด error เรื่องของ network ทำให้ data ต้นทางและ data ปลายทางไม่เชื่อมต่อกัน  ก็เป็นหน้าที่ของนักพัฒนาที่ต้องทำการกูคือข้อมูลที่ขาดไปให้กลับคืนมาใหม่ โดยที่ไม่ต้องเริ่มต้นกระบวนการใหม่ทั้งหมด

ซึ่งการสร้าง data pipeline นั้นก็จะมีขั้นตอนหลักหลายขั้นตอนดังนี้คือ 

  1. Sourcing การรวบรวมข้อมูลจากแหล่งข้อมูลต้นทาง และนักพัฒนาต้องเข้าใจเรื่องการดึง data ในแต่ละระบบด้วย เพื่อให้การดึงข้อมูลเกิดประสิทธิภาพและใช้เวลาน้อยที่สุด
  2. Joining เป็นการนำ data จากทั้งหมดมา join กัน หากว่า join กันได้ถึงจะเข้าหลักการของ data pipeline 
  3. Extraction คือการขยายไฟล์จากการย่อไฟล์ในครั้งแรก หากมีการดำเนินงานในครั้งต่อไป จึงจะทำ extraction ใหม่อีกรอบ ข้อมูลที่ควรทำ masking เช่น เลขบัตรประชาชน (id card), บัญชีธนาคารเป็นต้น 
  4. Standardization เป็นการทำ source data กับ target table มาเทรวมกันถือว่าเป็นการได้บุญเป็นอย่างดี และ
  5. Correction หรือแก้ส่วนที่ผิดพลาด เช่นจากปี พ.ศ, ให้เปลี่ยนกลับมาเป็นปี พ.ศ. เป็นต้น
  6. Load ก็คือการย้ายข้อมูลเข้าที่เก็บปลายทาง

7.Automation — หากต้องการให้เกิดความรวดเร็วต้องใช้ automate workflow ที่ตรวจจับและแก้ข้อผิดพลาดได้ 

data pipeline จะถูกเรียกใช้งานบ่อยครั้ง อาจจะเป็นลักษณะตั้งเวลาให้ทำงานตามรอบ หรือทำงานแบบต่อเนื่อง ซึ่งอาจจะเกิด error ระหว่างทำงานได้ การทำงานแบบ manual เป็นการเพิ่มความเสี่ยงให้เกิดข้อผิดพลาดได้สูง ในขั้นตอนนี้เราจะต้องออกแบบและจัดวางเครื่องมือ (automate workflow) รวมถึงการตรวจจับและแก้ไขข้อผิดพลาดอย่างอัตโนมัติให้ได้มากที่สุดเท่าที่ทำได้ เพื่อให้ข้อมูลมีความพร้อมใช้งานเสมอ

ต่อมาเรามาดูการเลือก tools ที่จะทำ data pipeline ก็ต้องดูว่าเป็น batch หรือว่าเป็นการทำงานแบบ real-time ซึ่งโปรแกรมด้านการทำ data pipeline มีดังนี้คือ Informatica PowerCenter,IBM InfoSphere DataStage,Talend,Pentaho

7 มี.ค.

เว็บไซต์

เว็บไซต์คือสื่ออีกแบบที่ต้องใช้เครื่องมือในการเข้าไม่ว่าจะเป็นโทรศัพท์มือถือหรือคอมพิวเตอร์ในการเข้าเพื่อที่จะรวบรวมข้อมูลหรือเชื่อมโยงสิ่งที่เราต้องการจะเข้าถึง เว็บไซต์มีหลายรูปแบบสิ่งที่จะเข้าเว็บไซต์ได้จะต้องเปิดเว็บขึ้นมาโดยจะถูกเก็บไว้ในเวิลด์ไวด์เว็บนั่นเองส่วนเว็บไซต์ถูกสร้างขึ้นด้วยภาษาคอมพิวเตอร์และยังมีได้มีการพัฒนายังนำเอาภาษาอื่นๆมาใส่ไว้ในเครื่องอีกด้วยจะช่วยเพิ่มการทำงานอีกด้วย เว็บไซต์มีคำหลายแบบตัวอย่าง เว็บเพจหรือโฮมเพจ ในปัจจุบันได้มีการออกแบบเว็บไซต์ไม่ใช่เรื่องยากเพราะมีเครื่องมือในการ ออกแบบ ให้เลือกมากมาย

เพราะมีโปรแกรมเกิดขึ้นมามากมายในปัจจุบัน เว็บไซต์มีไว้เพื่อที่จะหาข้อมูลแตกต่างออกไปขึ้นอยู่ว่าเว็บไซต์ไหนเป็นประโยชน์หรือไม่อีกทั้งยังมีการขายในเว็บไซต์มากขึ้นในปัจจุบัน เว็บไซต์เข้ามามีบทบาทต่อสังคมโดยรวมอย่างเช่นหนังสือออนไลน์ที่ไม่ต้องออกไปข้างนอกเพื่อซื้อหนังสืออ่านแต่ถ้าหากเป็นเว็บไซต์คุณจะเข้ามาอ่านตอนไหนก็ได้เป็นการดีหรือไม่ดีกันแน่บางกลุ่มคนคิดว่าเว็บไซต์เหล่านี้จะเป็นการทำให้คนเราลืมการเป็นคนหรือไม่เพราะมันสะดวกสบายเกินไป ปกติเวลาเราอยากอ่านอะไรเราต้องออกไปข้างนอก

เพื่อมาอ่านที่บ้านหรือสถานที่อื่นพอมีเว็บไซต์เข้ามาคนเราจะทำอะไรก็ได้มีทั้งการขาย ดูหนัง ฟังเพลง อ่านข่าว ดูละครและอ่านหนังสือเว็บไซต์เหล่านี้มาพร้อมเทคโนโลยีที่ดีขึ้น ยกตัวอย่างเราอยากจะดูหนังเราไม่จำเป็นต้องออกไปข้างนอกแล้วปัจจุบันหนังออนไลน์มีเยอะมากดูได้จนเบือไม่ต้องเสียเวลาออกไปหรืออยากจะขายอะไรสักอย่างเพียงแค่เข้ามาในเว็บไซต์ก็จะขายอะไรก็ได้ที่ไม่ต้องเหนื่อยหรือเปลืองแรงที่มีค่าใช้จ่ายเยอะเว็บไซต์มีบทบาทต่อพวกเราเป็นอย่างมาก

การจะเข้าเว็บไซต์นั้นจำเป็นจะต้องมีอินเทอร์เน็ตด้วยถ้าไม่มีก็ไม่สามารถเข้าได้ เว็บไซต์เป็นประโยชน์ต่อคนยุคใหม่คนเก่าคนแก่จะไม่เข้าใจสิ่งเหล่านี้อาจะจะมีบางคนที่ตามยุคสมัยเด็กสมัยนี้เข้าเว็บไซต์มากกว่าร้านหนังสือแน่นอนอาจจะอยู่กับเว็บไซต์นานกว่าครอบครัวก็ได้เพราะอย่างที่บอกเพราะสะดวกสบายเกินไปทุกคน

ควรจะใช้สิ่งเหล่านี้ให้เป็นถ้าหากใช้มากไปก็จะติดจนทำให้พ่อแม่ไม่สบายใจถ้าหากเราใช้เป็นเวลาใช้ในการทำประโยชน์พสกเขาก็จะว่าอะไรเราไม่ได้เราใช้เว็บไซต์หาข้อมูล ใช้ในการศึกษา ถ้าหากใช้แต่เล่นเกม ดูหนัง ไปวันๆก็ไม่แปลกที่เขาจะไม่ชอบเว็บไซต์เหล่านี้เว็บมีทั้งดีและไม่ดีอยู่ที่ว่าพวกเราใช้เป็นหรือไม่ การทำงานในปัจจุบันนี้ได้มีเว็บไซต์มากมายเกิดขึ้นมาเพื่อจะช่วยในเรื่องการขายนั่นเอง

22 ก.พ.

การส่งข้อมูลแบบอาร์เรย์ โดย method POST และ GET ใน PHP

โดย method POST และ GET ใน PHP

ในการทำงานด้วยภาษา PHP พัฒนาเว็ปไซต์ พัฒนาเว็ปแอพลิเคชั่นนั้น มีลูกเล่นมากมายหลายอย่าง หนึ่งในนั้นคือการเล่นกับแบบฟอร์ม ที่เป็นการอินพุตกรอกแบบฟอร์มจากฝั่งเบราวเซอร์ และนำข้อมูลมาประมวลผลในฝั่งเซิฟเวอร์ ด้วยภาษา PHP และในกรณีที่ฟอร์มนั้นจะต้องมีอินพุตชนิดเดียวกันอยู่เป็นจำนวนมากๆแล้วนั้น เช่น เป็น checkbox จำนวน 5 อันแบบนี้ ถ้าเราต้องเขียนชุดคำสั่งเพื่ออ่านข้อมูลต่างๆจากอินพุตเหล่านี้ทีละตัว ก็คงเสียเวลาไม่น้อย และก็คงไม่สะดวกมากเท่าใดนัก ดังนั้นเพื่อความสะดวกสบายและแก้ข้อจำกัดนี้ เราจึงจะเปลี่ยนมาใช้การรับส่งข้อมูลแบบอาร์เรย์แทน ซึ่งสะดวกกว่ามาก ดังนี้

เราต้องเตรียมการทางด้านฟอร์มก่อนโดยการ กำหนด property name ของอินพุตชนิดเดียวกัน และอยู่ในกลุ่มเดียวกัน ให้เป็นชื่อเดียวกันโดยมีเครื่องหมาย [] ปิดท้าย เพื่อแปลงให้มันอยู่ในรูปแบบของอาร์เรย์ โดยสามารถใช้ได้กับ input ทุกประเภท ไม่ว่าจะเป็น checkbox, text, hidden, textarea หรือว่า select ก็ตาม โดยเฉพาะ select นั้น เราสามารถเลือกรายการพร้อมกันได้มากกว่า 1 ทำให้การใช้วิธีนี้เป็นสิ่งจำเป็นอย่างยิ่งที่สุด ลองศึกษาตามตัวอย่างนี้

ตัวอย่างข้อมูลทางด้านเบราว์เซอร์ การจัดการฟอร์ม

<form method=”post” action=”…”>

<input type=”text” name=”mytext[]” /><br>

<input type=”text” name=”mytext[]” /><br>

<input type=”text” name=”mytext[]” /><br>

</form>

ตัวอย่างการจัดการด้านเบราว์เซอร์

เราจะใช้การจัดการข้อมูลดังนี้  $_POST[‘ชื่ออินพุต’][เลขลำดับ]; หรือ $_GET[‘ชื่ออินพุต’][เลขลำดับ]; โดยที่เลขลำดับคือลำดับของข้อมูลที่ถูกส่งมายังเซิฟเวอร์นั่นเอง โดยเริ่มนับจากอันแรกเป็น 0 แล้วก็ไล่ไปเรื่อยๆ จนครบจำนวนอินพุต เช่นจากตัวอย่างด้านบน ก็จะเป็นแบบนี้

$text1 = $_POST[‘mytext’][0];

$text1 = $_POST[‘mytext’][1];

$text1 = $_POST[‘mytext’][2];

และเนื่องจากมันเป็นรูปแบบอาร์เรย์ จึงสามารถใช้ loop for หรือ foreach ทำงานดึงข้อมูลมาได้เลย

$count = count ($_POST[‘mytext’]); // นับจำนวนอินพุต

for($i = 0; $i < $count; $i++) {

echo $_POST[‘mytext’][$i].”<br>”;

}

หรือถ้าเขียนในรูป foreach

foreach ($_POST[‘mytext’] as $value){

echo $value.”<br>”;

}

บางครั้งเราอาจเจอปัญหา ส่งข้อมูลแบบอาร์เรย์แล้วต้องใช้ [] ต่อท้ายชื่อ แต่ว่าอาจเกิดข้อผิดพลาดเมื่อต้องเขียน Javascript อ้างถึงอินพุตนั้นในบางกรณี จึงต้องใช้ฟอร์มดังนี้ ชื่อฟอร์ม.elements[‘ชื่ออินพุต’];

19 ก.พ.

รู้จักกับภาษา JAVA

JAVA เป็นภาษาที่ใช้งานได้หลายอย่าง

เป็นภาษาที่อาศัยเรื่องของ class, object-oriented และการออกแบบที่เป็นขั้นตอนมากที่สุดเท่าที่จะเป็นไปได้ มันสามารถทำให้โปรแกรมเมอร์เขียนโปรแกรมที่เดียว แต่รันได้ทุกแพลตฟอร์ม หรือหมายความว่าจาว้าโค้ดสามารถรันได้โดยไม่ต้องคอมไพล์ใหม่หลายๆ ครั้ง

 ภาษา java เป็นการคอมไพล์ bytecode ที่สามารถรันบน  java virtual machine ในสถาปัตยกรรมคอมพิวเตอร์ โครงสร้างของภาษาจะคล้ายกับภาษา C และ C++ แต่ว่ามีเป็นภาษาที่สะดวกมากกว่า ในปี 2019 เป็นภาษาที่มีคนใช้งานกันทั่วโลก โดยดูได้จาก githun ที่มีนักพัฒนาโปรแกรมมาวางโค้ดมากกว่า 9 ล้านคน

JAVA เริ่มต้นนั้นพัฒนาโดย เจมส์ กอสลิ่ง ที่ซัน ไมโครซิสเต็มส์ ที่ต่อมาถูกควบรวมโดย oracle และในปี 1995 มันเป็นผลิตภัณฑ์หลักของบริษัท sun microsystem ในเดือนพฤษภาคมปี 2007 บริษัท sun ได้ต่อไลเซนส์กับเทคโนโลยี  JAVA ซึ่งหมายความว่า การคอมไพล์ภาษา JAVA สามารถใช้เทคโนโลยีของ sun ได้

เช่น ใช้ bytecode compiler ในการ compile java, และใช้ GNU classpath เป็นไลบรารี่มาตรฐาน และใช้ icedtea-web สำหรับการพัฒนาเว็บแอพลิเคชันบนโทรศัพท์มือถือ

เวอร์ชันล่าสุดของ java คือ เวอร์ชัน 13 ที่ถูกปล่อยให้ใช้งานเมื่อเดือนกันยายน 2019 และ java11 เป็นภาษาที่รองรับการใช้งานแบบ long-term ถูกปล่อยให้ใช้งานเมื่อวันที่ 25 กันยายน และ oracle ได้ทำสัญญาร่วมกับ JAVA เพื่อออกขาย product สู่ตลาดเมื่อเดือนมกราคม 2019

ขณะที่ oracle ยังเปิดใช้งาน java8 สำหรับไลเซนส์เฉพาะบุคคลจนถึงเดือนธันวาคม 2020 oracle และบริษัทด้าน database อื่นๆ พยายามถอดถอนการติดตั้งโปรแกรม JAVA ก่อนหน้านี้เพราะเหตุผลด้านความปลอดภัย ตั้งแต่ JAVA9 และ จาวา 10,และ 12 นี้ยังไม่ได้รับการซัพพอร์ตมากนัก

Oracle ได้แนะนำว่า ให้พยายามใช้ JAVA version 13 ขึ้นไปจะเสถียรมากกว่า 

โดยจุดมุ่งหมายหลักของ JAVA 5 ข้อคือ 

  1. ต้องเขียนได้ง่าย เพราะว่าเป็นภาษาด้าน object-oriented
  2. ต้องมีความปลอดภัยสูง 
  3. สามารถใช้งานได้กับหลายโครงสร้างและยืดหยุ่น
  4. สามารถประมวลผลได้และมีประสิทธิภาพสูง
  5. เป็นภาษาที่เข้าใจง่ายและจัดการเรื่อง thread ได้ดี 

JAVA เป็นภาษาที่มีประสิทธิภาพสูงมาก แต่ว่าต้องการ memory มากกว่าที่ใช้จากภาษา C++ อย่างไรก็ตาม มันเป็นภาษาที่มีความรวดเร็วในการประมวลผลในคราวเดียว ตั้งแต่ปี 1997/98

มีการจัดการเรื่องหน่วยความจำแบบอัตโนมัติ โปรแกรมเมอร์เพียงแค่สร้าง object ขึ้นมา java runtime จะพยายามฟื้นคืนหน่วยความจำของเครื่องไม่ให้ใช้งานนานจนเกินไป

ภาษา JAVA สามารถถูกจัดเก็บในวงจรของออบเจ็กต์ และโปรแกรมจะรู้ได้ว่า java มีการคืนหน่วยความจำให้คอมพิวเตอร์หากว่าโค้ดต่างๆ มีการประมวลผลของ garbage collection

garbage collection สามารถเกิดขึ้นได้ตลอดเวลา และการรันตีว่าถ้าหน่วยความจำว่างไม่เพียงพอ เข้าจะมีการจัดรายการออบเจ็กต์ใหม่อีกครั้ง ดังนั้นเรื่องของ memory เต็มเป็นไปได้น้อยมาก

9 ก.พ.

คอมพิวเตอร์กับระบบปฏิบัติการ

คอมพิวเตอร์กับระบบปฏิบัติการ

OS ย่อมาจาก Operating System ภาษาไทยก็คือ ระบบปฏิบัติการ ในการทำงานพวกเราจะถือว่า OS เป็นซอฟต์แวร์ตัวหนึ่ง ซึ่งโดยปกติแล้วคอมพิวเตอร์จะดำเนินการได้นั้นควรจะมีองค์ประกอบ 3 ส่วน ได้แก่ Hardware, Software, People Ware ถ้าให้อธิบายง่ายๆ ก็คือ 

  1. มีตัวเครื่องคอมพิวเตอร์ 

       2.มีโปรแกรม 

  1. มีคนสั่งการ โดยเฉพาะอย่างยิ่งตัว Software นั้นถูกผลิตขึ้นมาเพื่อความสบายและง่ายสำหรับการสั่งงานคอมพิวเตอร์ให้ดำเนินงานตามที่เราต้องการ

ซอฟต์แวร์สามารถแบ่งออกได้ 2 จำพวก

  1. Operating System (OS)

คือโปรแกรมที่ปฏิบัติหน้าที่โดยเป็นตัวกึ่งกลางระหว่างคน กับเครื่องคอมพิวเตอร์ ซึ่งเครื่องคอมพิวเตอร์ทุกเครื่องควรจะมี OS อย่างใดอย่างหนึ่ง ดังเช่น Windows 98, Windows XP, Windows ME, Windows 2000, Windows Vista, Windows 7 หรือ Linux หรือ Mac OS ฯลฯ

  1. Applications (App)

App คือโปรแกรมใช้งานต่างๆ อย่างเช่น Microsoft Word, Microsoft Excel, Microsoft,  PowerPoint, โปรแกรม Anti-Virus ฯลฯ ซึ่งโปรแกรมกลุ่มนี้ที่กล่าวมาอาจจะต้องมีหรือไม่ต้องมีก็ได้ ทั้งนี้จะขึ้นอยู่กับว่าผู้ใช้งานมีความจำเป็นที่จะต้องใช้สิ่งเหล่านี้หรือไม่

จากข้อมูลที่กล่าวมาข้างต้น สรุปได้ว่า เครื่องคอมพิวเตอร์ทุกเครื่องควรจะมี OS หรือระบบปฏิบัติการซึ่งส่วนมากที่พวกเราใช้กันก็อาจจะหนีไม่พ้นพวก Microsoft Windows แต่ว่าจะเป็นเวอร์ชั่นไหนนั้น ก็แล้วแต่บุคคลซึ่งสามารถเลือกซื้อเลือกลงกันตามความชอบใจ เนื่องจากราคาในแต่ละเวอร์ชั่นนั้นก็มีราคาที่แตกต่างกันมากพอสมควร 

คุณรู้ไหมว่า OS ที่คุณใช้ เป็นเวอร์ชั่นอะไร

รู้ได้ง่ายๆ เพียงแค่เปิดคอมพิวเตอร์ของคุณขึ้นมา เปิดเครื่อง แล้วคลิกที่ My Computer แล้วหลังจากนั้นให้คุณคลิกขวาเลือก Properties และสังเกตแท็ปที่ขึ้นว่า General จะเจอชื่อ Windows พร้อมที่แสดงเวอร์ชั่นที่คุณลงไว้และใช้งานอยู่ ตัวอย่างซอฟต์แวร์หรือ OS เช่น  Windows XP, Windows XP Service Pack 3, Windows Vista ฯลฯ

สำหรับผู้ใช้งาน Windows ทุกคน สิ่งที่ควรทำอยู่เสมอคือหมั่นตรวจติดตามหรือเช็ค Windows สักหน่อยว่ามีการปรับปรุงและมีการอัปเกรดเป็นแบบใหม่ๆ ขึ้นมาบ้างหรือเปล่า อย่างเช่น Windows XP มี Service Pack 3 เกิดขึ้น ซึ่งก่อนหน้านี้คุณยังคงใช้ Windows XP Service Pack 1, หรือ Service Pack 2 อยู่ สิ่งที่จะแนะนำหรือจะเสนอแนะ ก็คือ ให้คุณรีบกดอัปเกรดได้แล้ว เพราะว่าสิ่งที่เราอัปเกรดขึ้นมานั้น ผ่านการปรับปรุงมาล่าสุดเพื่อซอฟต์แวร์ของคุณแล้ว หากอัปเกรดจะทำให้ระบบ security ที่มีความสมดุลมากขึ้นกว่าเดิมนั่นเอง

ระบบปฏิบัติการแบบใหม่ๆ

ระบบปฏิบัติการ Windows แบบใหม่ๆ อย่างเช่น Windows Vista, Window 7 ฯลฯ ถึงแม้ว่าจะเป็นรุ่นใหม่แต่ก็จะพบว่าระบบปฏิบัติการเหล่านั้นก็จำเป็นที่จะต้องมีการอัปเกรดให้นำสมัยอยู่ตลอดเช่นเดียวกัน

ระบบปฏิบัติการที่น่าจับตาดู

คุณเคยได้ยินชื่อต่อไปนี้ไหม Google Chrome OS เป็นระบบปฏิบัติการแบบใหม่ที่ปรับปรุงโดย Google ที่ออกแบบระบบมาให้ใช้กันแบบฟรีๆ หากท่านใดสนใจสามารถดูรายละเอียดเพิ่มเติมได้ที่ Google Chrome OS ระบบปฏิบัติการรุ่นใหม่

19 ม.ค.

Program Adobe Illustrator ทีเด็ดของสายกราฟฟิกออกแบบ

โปรแกรมวาดภาพ สายลายเส้นที่ลักษณะออกมาจะเป็น Vector Graphic

ต้องยกให้สุดยอดโปรแกรมอย่าง Adobe Illustrator ของค่าย Adobe นั่นเอง เป็นโปรแกรมสายออกแบบที่นักออกแบบไม่ว่าจะเป็นมือสมัครเล่นหรือมืออาชีพก็ใช้กันทั้งนั้น เพราะมีข้อดี มีมาตรฐานการออกแบบระดับสากลที่ทุกงานสื่อสิ่งพิมพ์ งานออกแบบผลิตภัณฑ์ ฉลาก หรือป้ายราคา ป้ายสติ้กเกอร์ หรืองานออนไลน์ กราฟฟิกอินเตอร์เน็ต ต่างก็ใช้โปรแกรมนี้ทั้งนั้น และการหัดใช้งานก็ไม่ได้ยากมากเกินไปนัก จึงทำให้โปรแกรมนี้เป็นที่นิยมได้อย่างไม่ยาก

การใช้โปรแกรม Adobe Illustrator หรือที่เรียกกันสั้นๆเป็นที่รู้จักกันโดยทั่วไปว่า AI นั้น

สามารถทำงานได้หลากหลายแบบมากๆ ไม่ว่าจะเป็นงานโลโก้ออกแบบ งานทำภาพประกอบ งานวาดรูปการ์ตูนต่างๆ โดยการจะเริ่มงานนี้ได้ ต้องเริ่มต้นที่ตั้งค่าไฟล์อาร์ตเวิร์คก่อนเป็นอันดับแรก ไฟล์ Artwork เหมือนกับผืนผ้าใบเปล่าๆที่รอเราเค้าไปแต่งแต้มเติมสีสัน

หลังจากนั้นสิ่งที่เราต้องทำต่อไปคือการกำหนดขนาด Artwork นั่นเองว่าจะให้ไฟล์กว้าง x ยาว ขนาดเท่าไหร่ หากทำเป็นงานสื่อสิ่งพิมพ์ก็ไม่ต้องตกใจไปหากเราต้องทำป้ายไวนิลโฆษณาที่กว้างเป็นเมตรๆ เราไม่จำเป็นต้องกำหนดไฟล์งานให้กว้างเป็นเมตรๆตามขนาดจริงๆ

ไม่งั้นไฟล์งานเราคงใหญ่มโหฬารและกินสเปคคอมมากเกินจะทำงานจนเสร็จได้แน่ๆ เราเพียงแต่ใช้สัดส่วนให้เท่าขนาดเท่าจริง และลดขนาดลงมาทำงานให้ได้อัตราส่วนที่เหมาะสมเช่น  1:2, 1:10, 1:50 เท่านั้นก็เพียงพอแล้ว เพราะความอัจริยะของโปรแกรม AI ก็คือ ไฟล์ที่เซฟออกไปโรงพิมพ์

ถ้าเป็นไฟล์ AI แล้วนั้น ไม่ว่าคุณจะยืด หด ชิ้นงานให้เล็กใหญ่เท่าใดก็แล้วแต่ ภาพชิ้นงานสุดท้ายที่ออกมา ภาพจะได้คุณภาพเท่าเดิม

ไม่แตก ไม่เบลอ อย่างแน่นอน และข้อสำคัญอีกหนึ่งอย่างในการกำหนดไฟล์งานก็คือ เราต้องกำหนดรูปแบบสีของชิ้นงานให้ถูกต้อง

 

ซึ่งจะมีอยู่สองโหมดคือ RGB (Red, Green, Blue) และ CMYK นั่นเอง ซึ่งถ้าเป็นงานไฟล์ภาพออนไลน์ ภาพประกอบเว็ปไซต์ การ์ตูนอนิเมชั่นต่างๆ มักจะใช้โหมดสี RGB ส่วนถ้าเป็นงานพิมพ์ งานปริ้นท์ งานสติ๊กเกอร์ มักจะใช้ CMYK เพราะเครื่องปริ้นชิ้นงานของเราส่วนมาก จะรองรับโหมดสี CMYK ไม่ได้รองรับ RGB นั่นเอง

14 ม.ค.

สังคมที่เลี้ยงลูกด้วยโทรศัพท์มือถือ

ในยุคปัจจุบันที่เทคโนโลยีมีความก้าวหน้า

โทรศัพท์มือถือถือว่าเป็นปัจจัยสำคัญอย่างหนึ่งของทุกคนไม่ว่าจะเป็นเด็กเล็กหรือผู้ใหญ่หรือแม้แต่คนในวัยชรา ต่างก็ใช้งานโทรศัพท์มือถือกันเป็นทั้งนั้น หลายครั้งที่เรามักจะเห็น พ่อแม่ ส่วนใหญ่มักปล่อยให้ลูกตัวเล็กเล็กของตัวเองใช้งานโทรศัพท์มือถือ โดยปล่อยให้ลูกนำมือถือมากดเล่นเอง หรือบางคนนำมือถือมาเปิดให้ลูกดูการ์ตูนใน youtube เพราะพ่อกับแม่ต่างก็ไม่มีเวลาในการที่จะดูแลและคอยเล่นกับลูก

เพราะต่างคนต่างก็ต้องทำงาน ดังนั้น เมื่อต้องปล่อยให้เด็กเล่นเพียงลำพังแล้วไม่ให้เกิดการงอแง พ่อแม่ส่วนใหญ่จึงทำได้เพียงโยนโทรศัพท์มือถือให้ลูกกดเล่นและกว่าจะรู้ตัวอีกที่ เด็กก็ติดโทรศัพท์มือถือไปเสียแล้ว พอพ่อแม่จะให้เลิกเล่นทีนี้เด็กก็หยุดเล่นไม่ได้แล้วเพราะชินกับการที่จะต้องดูการ์ตูนผ่านมือถือ หรือเด็กบางคนก็เล่นเกมผ่านมือถือ กลายเป็นว่าลูกกลายเป็นเด็กติดมือถือก่อนที่จะพูดได้รู้เรื่องเสียอีก 

ซึ่งสิ่งที่พ่อแม่ในยุคปัจจุบันกำลังเลี้ยงลูกด้วยโทรศัพท์มือถือนั้นเป็นสิ่งที่ไม่ถูกต้อง มีการประชาสัมพันธ์หรือรณรงค์เรื่องนี้กันมาตลอดแต่ ในความเป็นจริงแล้วมันแก้ปัญหาเรื่องนี้ได้ค่อนข้างยากมาก เพราะพ่อ แม่ส่วนใหญ่ต่างก็ต้องช่วยกันทำงานไม่มีเวลามากพอที่มาเล่นเป็นเพื่อนลูก

ดังนั้น พ่อแม่จึงจะมักหาของเล่นที่ทำให้ลูกนั่งเฉยโดยไม่มางอแงยามที่พ่อกับแม่ทำงาน การเลี้ยงลูกด้วยมือถือนี้ไม่ได้เกิดกับชาวบ้านทั่วไปที่ต้องช่วยกันทำงานเท่านั้น กลุ่มคนที่มีเงินมากหมายก็ยังเป็นเหมือนกัน ซึ่งเรามักจะเห็นว่าเด็กที่ติดการเล่นมือถือนั้น มักจะเป็นเด็กที่ขี้หงุดหงิดง่าย เป็นโรคสมาธิสั้น และที่สำคัญมักจะไม่ค่อยฟังสิ่งที่พ่อแม่พูด

 

หากถูกขัดใจก็จะร้องงอแงโวยวาย หลายฝ่ายพยายามออกมาประชาสัมพันธ์ถึงข้อเสียของการเด็กติดมือถือให้ทราบแต่พ่อแม่ส่วนใหญ่ก็ยังไม่สนใจฟังหรือปฏิบัติตาม ปัจจุบันหากเราไปเดินดูตามโรงเรียนเอกชนต่างๆจะเห็นได้ว่าเด็กชั้นประถมศึกษาปีที่ 1ก็มีมือถือใช้กันแล้ว และยิ่งถ้าพ่อแม่มีเงิน โทรศัพท์มือถือที่เด็กใช้ก็เป็นรุ่นที่ขายกันราคาเป็นหมื่นเลยก็มี

ซึ่งเด็กส่วนมากเมื่อเห็นเพื่อนมีมือถือ ตัวเองก็อยากมีบ้าง และเมื่อลูกมาอ้อนขอส่วนใหญ่พ่อแม่ก็มักจะตามใจซื้อมือถือให้ลูกใช้งาน จนตอนนี้กลายเป็นสังคมของเด็กก็ขาดโทรศัพท์มือถือไม่ได้แล้ว ต้องมีใช้งานกันทุกคน