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.

วิธีเปลี่ยน Desktop Environment Ubuntu

ก่อนจะไปถึงการติดตั้งและการเปลี่ยนนั้น เราจะมาทำความรู้จักกับDE ( Desktop Environment )ซะก่อน Desktop Environment คืออะไร? Desktop Environment คือส่วนติดต่อกับผู้ใช้ ให้ผู้ใช้นั้นทำงานได้อย่างง่าย หากไม่มีแล้วนั้นก็จะต้องใช้งานผ่าน Terminal ดำๆ ผู้ใช้ที่เป็น End User ก็คงไม่สะดวกเป็นแน่ ดังนั้น linux distro ต่างๆก็จะมี Desktop Environment เริ่มต้นของตัวเองไว้ให้ใช้งาน ซึ่งก็จะมาหลากหลายเช่น Gnome , KDE , Xfce  หรือ Unity ที่ Exclusive สำหรับUbuntu  จริงๆDE ในโลกของLinuxนั้นมีมากกว่านี้ แต่จะขอยกมาแค่เฉพาะที่นิยมในปัจจุบันเท่านั้นนะครับ ***ก่อนทำการติดตั้ง ทำการuninstall ของเก่าออกก่อนให้หมดนะครับ ถ้ามี DE สองตัวอาจจะlogin เข้าใช้งานไม่ได้กันเลยทีเดียว โปรดระวัง Unity Unity Desktop นั้นเป็น DE ที่ทาง […]

วิธีเปลี่ยน Desktop Environment Ubuntu Read More »

Google Map API / Markers

Markers คือ วิธีการนำ Google Maps มาใช้งานและปักหมุด Markers บนแผนที่บนพิกัดหรือตำเเหน่งที่ต้องการเเสดง เพื่อเเทนตำเเหน่งสถานที่ต่างๆ เช่น รถไฟฟ้า บ้าน โรงพยาบาล โค้ดสร้าง Google map / Markers บน web application อย่างง่ายๆ <!DOCTYPE html> <html>   <head>     <meta name=”viewport” content=”initial-scale=1.0, user-scalable=no”>     <meta charset=”utf-8″>     <title>Simple markers</title>     <style>       html, body {         height:

Google Map API / Markers Read More »

Google Map API / Geolocation

Geolocation   เป็นการระบุพิกัด latitude, longitude ในแผนที่ภูมิศาสตร์หรือพิกัดของโลก ด้วยคำสั่ง javascript  โดยผ่านเครื่องมือที่สามารถต่อเชื่อมต่ออินเตอร์เน็ต ความแม่นยำขึ้นอยู่กับอุปกรณ์ที่ใช้เปิดเว็บไซต์ เช่น โทรศัพท์มือถืออย่าง android, iphone จะมี gps ให้ใช้ และ gps นี้จะช่วยให้ระบุพิกัดได้อย่างแม่นยำมาก โค้ดสร้าง Google map / geolocaion บน web application <!DOCTYPE html> <html>   <head>     <title>Geolocation</title>     <meta name=”viewport” content=”initial-scale=1.0, user-scalable=no”>     <meta charset=”utf-8″>     <style>       html, body {  

Google Map API / Geolocation Read More »

วิธีติดตั้ง Font บน Ubuntu

วิธีติดตั้ง Font บน Ubuntu Desktop

วิธีติดตั้ง Font บน Ubuntu วิธีการลง font ใน ubuntu นั้นก็ไม่ยากเย็นนัก หลังจากที่ download font มาจากที่ต่างๆจะได้ไฟล์นามสกุล .ttf มาซึ่งเป็นไฟล์ font ในการติดตั้งก็ไม่ยากเพียงแค่double clickที่ไฟล์ดังกล่าวแล้ว จะเปิดโปรแกรม font viewer ขึ้นมา  ไปที่มุมด้านขวา คลิ๊กเลือก install เป็นอันเสร็จพิธี ถ้าเราต้องการติดตั้งเพียงไม่กี่font คงไม่ใช่ปัญหา แต่!!! ถ้าเราต้องการติดตั้งเยอะๆละ การจะมาคลิ๊กเลือก install ทีละ font คงไม่สนุกเป็นแน่ เราก็จะมี  วิธีให้เลือกดังนี้ ติดตั้งผ่าน font-manager    สำหรับการติดตั้งfont ผ่านfont-manager นั้น ต้องทำการติดตั้ง font-manager ก่อน [code language=”shell”] sudo apt-get install font-manager [/code] เปิด font-manager

วิธีติดตั้ง Font บน Ubuntu Desktop Read More »

Refactor Code >> Replace Parameter with Method

การ Refactor Code แบบ Replace Parameter with Method คือการลดพารามิเตอร์โดยการนำ method เข้ามาช่วยในการเขียนโค้ด โดยมีตัวอย่างโค้ดดังนี้ (ภาษา Ruby)  แบบยังไม่ได้ทำการ Refactor Code [code] def get_price() base_price = quantity * item_price discount_level = ” if quantity &amp;gt; 100 discount_level = 2 else discount_level = 1 end final_price = discounted_price(base_price, discount_level) return final_price end private def discounted_price(base_price, discount_level) if discount_level == 2

Refactor Code >> Replace Parameter with Method Read More »

MySQL vs Mongo

Mongodb(no sql) เป็นดาต้าเบสที่ข้อมูลไม่มีความสัมพันธ์กัน มีการเข้าถึงที่รวดเร็ว รวมทั้งสามารถขยายระบบได้ในอนาคต และ nosql นั้นสามารถเก็บข้อมูลได้หลายแบบ เช่น array hash (key/value) เป็นต้น MySql(sql)  เป็นภาษาที่ใช้ในการจัดการข้อมูลอย่างมีโครงสร้าง ซึ่งปัจจุบันมีโปรแกรมฐานข้อมูลมากมายถูกพัฒนาขึ้นให้รองรับกับ Sql เพื่อให้การจัดการข้อมูลนั้นทำได้ง่ายขึ้น และโปรแกรมที่ได้รับความนิยมก็คือโปรแกรม MySQL ซึ่งเป็น Open Source ที่ใช้งานได้ทั้งใน Linux และ Windows ตารางเปรียบเทียบคำสั่งระหว่าง MySQL  กับ Mongo SQL Statement Mongo Query Language Statement INSERT INTO USERS VALUES(1,1) db.users.insert({a:1,b:1}) SELECT a,b FROM users db.users.find({}, {a:1,b:1}) SELECT * FROM users db.users.find() SELECT * FROM

MySQL vs Mongo Read More »

เขียนโปรแกรมด้วย Rails ภายใน 5 นาที

เขียนโปรแกรมด้วย Rails ภายใน 5 นาที หลังจากที่ติดตั้ง Rvm แล้ว เรามาลองเขียนโปรแกรมเว็บแอพพลิเคชั่นด้วย Rails กันดีกว่าครับ ตามขั้นตอนต่อไปนี้ 1. สร้างโปรเจ็คใหม่ด้วยคำสั่งrails new ตามด้วยชื่อโปรเจ็ค โปรแกรมจะทำการสร้างไฟล์ต่างๆที่ต้องใช้ในโปรเจ็ค 2. เข้าไปในโปรเจ็ค cd/ชื่อโฟเดอร์โปรเจ็คที่สร้างไว้และพิมพ์ echo ‘gem “therubyracer”‘ >> Gemfile 3.สั่ง bundle install โปรแกรมจะทำการลง Gemfile หรือ library ต่างๆ ที่ต้องการใช้ 5.พิมพ์ rails generate scaffold post title:string body:text published:boolean เพื่อเป็นการสร้างตัวแปรเพื่อเก็บข้อมูล 6.พิมพ์ rake db:migrate เป็นการสร้าง ฐานข้อมูลขึ้นมา 7.รัน server ด้วยคำสั่ง rails s เท่านี้ก็จะได้เว็บแอพพลิเคชั่นพื้นฐาน ที่สามารถ

เขียนโปรแกรมด้วย Rails ภายใน 5 นาที Read More »

Decorator pattern Ruby

ในการเขียนโปรเเกรมเชิงวัตถุ decorator pattern เป็น design pattern ที่ช่วยให้พฤติกรรมที่จะเพิ่มในแต่ละ วัตถุ ทั้งแบบคงที่หรือแบบไดนามิกโดยไม่มีผลต่อการทำงานของวัตถุอื่นๆ จาก class เดียวกัน Stucture Component  กำหนดการทำงานสำหรับวัตถุที่สามารถเพิ่มให้หน้าที่การทำงานได้แบบไดนามิก ConcreteComponent  สามารถเพิ่มการทำงานสำหรับวัตถุ  ที่สืบทอดมาจาก Component Decorator เป็น Class ที่สืบทอดมาจาก Component และภายในยังมี Object ที่สืบทอดมาจาก Component ConcreateDecorator เพิ่มการทำงานไปยัง Component  ที่สืบทอดมาจาก Decorator อีกทีหนึ่ง โค้ดตัวอย่าง ภาษา Ruby [code] class Chicken # คลาส Chicken def initialize # constructer @cost = 10 end def cost @cost end end

Decorator pattern Ruby Read More »

Ruby caching

เขียนโดย วุฒิไกร ลิ่มสกุล :: 04 สิงหาคม 2558         ruby caching คือการจัดเก็บ output ไว้เป็น file โดยจะทำการบันทึก ในรูปแบบของ html โดยค่าตั้งต้นจะเก็บไว้ที่ public/ ซึ่งเราสามารถที่จะปรับเปลี่ยนตำแหน่งได้ เมื่อมีการร้องขอข้อมูล ของ file ที่มีอยู่ในแคชที่จัดเก็บไว้มันก็จะวิ่งเข้ามาที่ ไฟล์ที่จัดเก็บเป็นแคชไว้แทน ที่จะวิ่งไปที่เราเรียกหาไฟล์เช่น ฐานข้อมูล ruby caching จะช่วยลดภาระการทำงานของ server ลงได้มาก เช่น แทนที่จะต้องร้องขอข้อมูลจาก ฐานข้อมูล ก็เปลี่ยนไปเป็นการเรียกข้อมูลจาก cache file แทน ช่วยในการ แสดงผลที่รวดเร็ว เป็นต้น การใช้งาน ruby caching ก็มีหลากหลายรูปแบบที่ ruby มีให้ใช้ เช่น ActiveSupport::Cache::Store ActiveSupport::Cache::MemoryStore ActiveSupport::Cache::FileStore

Ruby caching Read More »

background job

Background Jobs ด้วย Active Job ของ Rails

โดย แสงเดือน จันทร์ใหม่ – 3 สิงหาคม 2558 Background Jobs คืออะไร Background Jobs คือการทำงานของ process ใดๆ ที่เราต้องการ ให้ดำเนินการอยู่เบื้องหลัง หรือสามารถทำงานไปพร้อมๆ กับการทำงานของระบบที่ผู้ใช้สัมผัส หรือสามารถอธิบายอีกนัยหนึ่งคือ ในขณะที่ผู้ใช้มองเห็นการทำงานต่างๆ ผ่านหน้าจออยู่นั้น เบื้องหลังจะมีบาง process กำลังดำเนินการอยู่ โดยไม่รบกวนการทำงานของผู้ใช้ ดังนั้นข้อดีของ Background Jobs คือ สามารถจัดการการทำงานบาง process ที่อาจล่าช้า ให้ทำงานอยู่เบื้องหลัง เพื่อไม่ให้การแสดงผลต่อ user เกิดการล่าช้า หรือ user friendly นั่นเอง มีการทำงานเป็น parallel ทำให้สามารถทำงานที่ไม่ขึ้นต่อกันพร้อมๆ กันได้ ซึ่งส่งผลให้ระบบมีประสิทธิภาพมากยิ่งขึ้น Active Job คืออะไร Active Job เป็น framework หนึ่งของ rails

Background Jobs ด้วย Active Job ของ Rails Read More »