Blog

Swiftlet provides knowledge in software development and practice in Thai to open more opportunities for Thai developers and others to improve their skills in Thai context.

ทำไมต้องใช้ Apache Airflow Open Source Platform ที่น่าสนใจปี 2023 !

Apache Airflow คืออะไร?เป็น Open Source Platform ตัวหนึ่งที่ออกแบบมาเพื่อการทำ schedule, monitor workflow และ data pipelines โดย Airflow มีการเขียน Workflow เป็น Directed Acyclic Graph(DAG) กราฟที่มีหัวลูกศรทิศทางเดียว ซึ่ง DAG ประกอบไปด้วยหลายๆ Task ที่เชื่อมต่อกันและในแต่ละ Task นั้นก็มีความสามารถที่แตกต่างกัน  ความสามารถของ Apache Airflow  1. Task scheduling: airflow สามารถตั้งเวลาในการทำงาน และสามารถ trigger จากภายนอกระบบได้ 2. Dependency management: สามารถตั้งค่าลำดับการทำงานของ tasks ได้ 3. Tasks execution: airflow รอบรับการทำงานหลาย platforms เช่น local machines, cloud environments (เช่น […]

ทำไมต้องใช้ Apache Airflow Open Source Platform ที่น่าสนใจปี 2023 ! Read More »

Progressive web application คืออะไร แตกต่างจาก web app อย่างไร

  Progressive Web Apps คืออะไร เว็บไซต์ที่มีการทำงานใกล้เคียงกับแอปพลิเคชั่นที่ดาวน์โหลดลงเครื่องมากที่สุด ทั้งในแง่รูปลักษณ์ ความเร็ว การใช้งาน ความลื่นไหลในการเข้าเมนูต่างๆ และการใช้งานแบบออฟไลน์   ฟีเจอร์หลักเด่นๆของ Progressive Web Apps – Fast โหลดแและตอบสนองได้รวดเร็ว- Reliable มีความเสถียร สามารถทำงานได้ทั้งแบบออนไลน์และออฟไลน์- Engaging มีความใกล้เคียงกับแอปพลิเคชั่นด้านฟังชั่นการใช้งานและการแสดงผล- Connectivity independent สำหรับเก็บ Cache ข้อมูลเพื่อให้เว็บฯ สามารถใช้งานได้ทั้งสถานะออนไลน์และออฟไลน์- Re-Engageable สามารถ Re-Engage กับลูกค้าทำให้สามารถได้รับการแจ้งเตือนข้อมูลต่าง ๆ โดยไม่จำเป็นต้องเปิดแอปฯ ทิ้งไว้- onnectivity independent : สำหรับเก็บ Cache ข้อมูลเพื่อให้เว็บฯ สามารถใช้งานได้ทั้งสถานะออนไลน์และออฟไลน์   Progressive web application ต่างจาก web app ทั่วไปยังไง? – สามารถติดตั้งแอปพลิเคชั่นเพื่อใช้งานได้ในทันที ผ่านเมนู

Progressive web application คืออะไร แตกต่างจาก web app อย่างไร Read More »

Chat GPT ปัญญาประดิษฐ์สุดล้ำ ถามตอบได้ทุกข้อที่คุณสงสัย !

มาทำความรู้จักกับ ChatGPT        ChatGPT เป็นเครื่องมือที่เป็น AI สร้างโดย openAI เป็น Language model ขั้นสูงที่มีความเข้าใจในภาษามนุษย์ และ สามารถสร้าง text มาโต้ตอบกับมนุษย์ได้ ไม่ว่าเราสั่งให้   สร้าง blog, เขียน web, email หรือ แม้กระทั่งแต่งนิยายให้เรา   ตัวอย่างแบบเข้าใจง่าย      สมมุติว่า เรากำลังสงสัยบางเรื่อง, บางสิ่ง ในหัวข้อสนทนากับตัว ChatGPT ก็สามารถเข้าใจเนื้อหา หรือ บทสนทนาก่อนหน้า และตอบคำถาม ในหัวข้อนั้นๆ ได้ แต่ที่สำคัญ ChatGPT ทำให้เราเรียนรู้สิ่งต่างๆ ได้ไวมากขึ้น ถ้าเป็นคนที่ active learner ก็จะสามารถใช้งาน ChatGPT ได้สนุกมากขึ้น  ChatGPT ทำงานอย่างไร ?     ก่อนหน้านี้เราพูดถึง Language Model ที่สร้างภาษามนุษย์ขึ้นมา ตัว ChatGPT ก็เรียนรู้ผ่าน ตัวอักษร,

Chat GPT ปัญญาประดิษฐ์สุดล้ำ ถามตอบได้ทุกข้อที่คุณสงสัย ! Read More »

Ruby: Inject

hash = {}arr.each do |num| hash[num] = numend# => {“1″=>”1”, “2”=>”2″, “3”=>”3″} ถ้าเรานำ inject เข้ามาใช้ result = arr.inject({}) do |hash, num| hash[num] = num hashend# => {“1″=>”1”, “2”=>”2″, “3”=>”3″} arr.inject({}) จะเป็นการ initial ค่าไว้ว่าให้เริ่มต้นเป็นอะไร ทำให้เราไม่ต้องประกาศ hash เปล่าไว้ก่อน อีกท่าหนึ่งเราสามารถใช้ each_with_object ได้เหมือนกันขึ้นอยู่กับสถานการณ์ arr.each_with_object({}) { |num, hash| hash[num] = num }# => {“1″=>”1”, “2”=>”2″, “3”=>”3″} ในตัวอย่างด้านบน จะเป็นการInject hash เข้าไป หรือจะเป็นการหาค่าผลรวม result

Ruby: Inject Read More »

ติดตั้ง GOLANG ด้วย GVM

[Ubuntu 18.04] ติดตั้ง Golang ด้วย gvm(Go Version Manager) เราจะติดตั้ง gvm(Go Version Manager) ซึ่งเป็นตัวช่วยในการ จัดการ version ของ Golang จะติดตั้งด้วยคำสั่ง $ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) จากนั้น Restart Terminal ลองทดสอบว่าเราติดตั้งสำเร็จไหมจากคำสั่ง $ gvm version ถ้าติดตั้งสำเร็จ จะแสดง Version ของ gvm ให้เราเห็น ดูรายการ Version ของ Golang ที่สามารถใช้ได้ ได้จากคำสั่ง $ gvm listall ต่อไปติดตั้ง Golang กัน ด้วยคำสั่ง $ gvm install go1.10.3

ติดตั้ง GOLANG ด้วย GVM Read More »

เครื่องมือ Frontend เทคโนโลยีน่าจับตามอง ปี 2022

    ในการทำ Web Application จะมีการแบ่งออกเป็น 2 ฝั่งหลัก ๆ นั่นคือ Frontend กับ Backend วันนี้ Swiftlet จะมาแชร์ความรู้เกี่ยวกับเครื่องมือที่ใช้ใน ฝั่งของงาน Frontend  พร้อมคำอธิบายอย่างง่ายของ ที่สามารถใช้งานได้ในปี 2022 แต่ละเครื่องมือมีจุดเด่นที่ต่างกัน อย่างไร ไปดูกันเลย !  ยังไม่หมดเพียงเท่านี้ อย่าลืมรอติดตามใน เครื่องมือของการทำงานในส่วนของ DevOps and Cloud Solution และ Testing ในตอนต่อไป Frontend React.js เครื่องมือสร้างพฤติกรรมการแสดงผลต่างๆ บนหน้าจอ Web Application ที่ Facebook เป็นผู้พัฒนาขึ้น Next.js เครื่องมือเสริมของ React ที่ทำให้การพัฒนา และการใช้งานดีขึ้น Redux Toolkit เครื่องมือเสริมของ React ทำให้จัดการการทำงานของส่วนประกอบต่างๆ บนหน้าจอเพิ่มเติมได้ดีขึ้น TypeScript

เครื่องมือ Frontend เทคโนโลยีน่าจับตามอง ปี 2022 Read More »

RFID เทคโนโลยีคลื่นวิทยุสุดอัจฉริยะ

RFID (คลื่นสัญญาณวิทยุ)RFID ย่อมาจาก Radio Frequency Identification ถูกสร้างมาตอนปี ค.ศ. 1980 โดย Leon Theremin สร้างมาเพื่อทำหน้าที่เป็นเครื่องมือดักจับสัญญาณ แต่ในปัจจุบันได้พัฒนาและกลายเป็นป้ายอิเล็กทรอนิกส์ (RFID Tag) สำหรับรับและส่งสัญญาณคลื่นความถี่วิทยุและสร้างพลังงาน หลักการทำงานของเทคโนโลยีอาร์เอฟไอดี จะใช้การสื่อสารระหว่างแท็กและตัวอ่านข้อมูลจะเป็นการสื่อสารกันโดยอาศัยช่องความถี่วิทยุ ผ่านอากาศ ซึ่งสัญญาณนี้ผ่านได้ทั้ง โลหะ และอโลหะ แต่แท็กไม่สามารถติดต่อกับเครื่องอ่านให้อ่านได้โดยตรง เมื่อเครื่องอ่านส่งข้อมูลผ่านความถี่วิทยุ แสดงถึงความต้องการข้อมูลที่ถูกระบุไว้จากป้าย ป้ายจะตอบข้อมูลกลับ และเครื่องอ่านจะส่งข้อมูลต่อไปยังส่วนประมวลผลหลักของคอมพิวเตอร์ โดยเครื่องอ่านจะติดต่อสื่อสารกับคอมพิวเตอร์โดยผ่านสายเครือข่าย Lan (Loco Area Network ) หรือส่งผ่านทางความถี่วิทยุจากทั้งอุปกรณ์มีสายและอุปกรณ์ไร้สาย   RFID Tag คืออะไร RFID Tag เป็นระบบติดตามประเภทหนึ่งที่ใช้ความถี่วิทยุในการค้นหา ระบุ ติดตาม และสื่อสารกับสิ่งของและผู้คน โดยพื้นฐานแล้ว RFID Tag เป็นฉลากอัจฉริยะที่สามารถจัดเก็บข้อมูลได้หลากหลายตั้งแต่หมายเลขซีเรียล ไปจนถึงคำอธิบายสั้นๆ และแม้แต่หน้าข้อมูล RFID Tag บางส่วนมีคุณสมบัติการรักษาความปลอดภัยการเข้ารหัสสำหรับการตรวจสอบและรับรองความถูกต้องในระดับสูง RFID

RFID เทคโนโลยีคลื่นวิทยุสุดอัจฉริยะ Read More »

การใช้งาน RabbitMQ ใน Ruby 

                สำหรับผู้ที่เขียน Ruby และต้องการใช้ Message Broker เป็น Rabbitmq สิ่งนึงที่จะช่วยให้สามารถใช้งาน RabbitMQ ได้ก็ืคือ Bunny    Bunny เป็น RabbitMQ Client ที่จะช่วยให้ Ruby applications ของเราสามารถใช้งาน RabbitMQ ได้ง่าย และยัง Support ทุก features ของ RabbitMQ  Install Bunny with Rubygems  Example    ติดต่อเรา บริการ พัฒนาซอฟต์แวร์ แอปพลิเคชัน ตามความต้องการ! เราเป็นผู้นำในด้านการให้บริการ พัฒนาซอฟต์แวร์ แอปพลิเคชัน และโซลูชันด้านไอที แบบครบวงจร (Full-stack) ตั้งแต่การให้คำปรึกษาไปจนถึงการ Maintenace ระบบ เรามีความตั้งใจที่จะเปลี่ยนให้ นวัตกรรม และไอเดีย ระดับโลกของคุณให้กลายเป็นซอฟต์แวร์ที่มีคุณภาพ โดยที่บริษัทรับพัฒนาซอฟต์แวร์ เขียนโปรแกรม และ แอปพลิเคชัน ตามความต้องการทางธุรกิจคุณได้ ทุกรูปแบบ ทุกประเภท ทุกความต้องการทางธุรกิจ หากคุณมีไอเดียดีๆ

การใช้งาน RabbitMQ ใน Ruby  Read More »

เขียน Code ไวด้วย Vim ใน VS Code

การใช้ VIM มีข้อดีคือถ้าผู้ใช้มีความชำนาญ ทั้งการพิมพ์สัมผัส, การใช้ Keyboard Shortcut ของ Editor และ การใช้คำสั่ง VIM แล้ว จะทำให้สามารถทำงานใน Editor ได้ไวมาก เพราะไม่ต้องยกมือไปแตะเมาส์เลยก็ได้ เบื้องต้น Editor หลักของเราจะเป็น VS Code ผู้เขียนใช้ Mac หลังจากติดตั้ง VS Code แล้วอยากให้เปิด Project ด้วย VS Code จาก Terminal ได้ ต้องไปตั้งค่าก่อน โดย เข้าไปที่ VS Code เปิด Command Palette (⇧⌘P)  เลือก Install ‘code’ command in PATH จากนั้นจะสามารถเปิด Project ด้วย VS Code จาก

เขียน Code ไวด้วย Vim ใน VS Code Read More »

Ruby: select, reject, collect ต่างกันอย่างไร?

หลายคนอาจจะเคยใช้ เมธอดเหล่านี้มาบ้างใน Ruby แต่วันนี้จะมาแสดงให้ดูกันว่า ทั้งสามตัวนี้แตกต่างกันอย่างไร Select จะเป็นการบอกว่าจะเลือกอะไรบ้าง โดยมีเงื่อนไขเป็นอย่างไร เช่น จะเลือกตัวที่ มีค่ามากกว่า 3 เท่านั้น ดังตัวอย่างด้านล่าง array = [1,2,3,4,5] array.select { |n| n > 3 }=> [4, 5] จากตัวอย่างก็จะทำการ return ค่าออกมา คืิอ [4,5] เท่านั้น Reject ตรงกันข้ามกับ Select เลย คือ ไม่เอาตัวที่ แล้วตามด้วยเงื่อนไข เช่น ไม่เอาตัวที่ มีค่าเท่ากับ 3 array = [1,2,3,4,5] array.reject { |n| n == 3 }=> [1, 2,

Ruby: select, reject, collect ต่างกันอย่างไร? Read More »