ChaingMai Maker Club เปิด Workshop การทำ Dashboard ด้วย Dashing และ deploy ขึ้น Heroku ซึ่ง Workshop ต่อเนื่องจาก Workshop ครั้งที่แล้ว เข้าใจว่าเป็นเรื่อง ESP8266 + MQTT + Thingspeak ดูน่าสนุกดี เลยมาลองเล่น Dashing บ้าง Dashing เป็นโครงการภายในของ Shopify เอาไว้ดูข้อมูลผ่านจอใหญ่ๆ ของ Shopify เองแถมเปิดโค้ด Dashing เป็นโอเพนซอร์สให้ได้พัฒนาต่อกันอีกด้วย หากนึกไม่ออกอาจจะดูตัวอย่างได้ที่หน้าโครงการ

โครงการ Dashboard แบบนี้มีอยู่หลายค่าย ไม่เว้นแต่ Mozilla ก็มีเช่นกัน ชื่อ Geckoboard เป็นบริการ และมี integration ต่างๆ ในการเชื่อมต่อกับบริการอื่นๆ อีกหลายตัว เพื่อดึงข้อมูลทางสถิติมาแสดงผล


Continue reading

เราสามารถดู log ของ app ที่ deploy บน Heroku ด้วยคำสั่ง

$ heroku logs

แต่หากมีการ deploy application บน Heroku ไว้หลายตัว และต้องการระบุ log ของ application ที่ต้องการ สามารถใช้คำสั่ง

$ heroku logs --app <ชื่อ application>

รูปแบบของการแสดงผล log จะมีรูปแบบดังนี้

  • timestamp source[dyno]: message
  • timestamp : เวลาที่บันทึกข้อมูล
  • source : ข้อมูลสำหรับ dynos application (เช่น web dynos, background workers, cron) และข้อมูลสำหรับ system component (เช่น HTTP router, dyno manager)
  • dyno : ชื่อของ dyno หรือ component ที่ใช้ระบุในรายการ log ยกตัวอย่างเช่น Heroku HTTP router ก็จะระบุเป็น router
  • message : เก็บ/ระบุรายละเอียด ของรายการ log ซึ่ง generate จาก dynos และจะเก็บข้อมูล และแสดงผลเป็นข้อความได้ที่ 10,000 bytes


Continue reading

สิ่งที่จำเป็นต้องเตรียมก่อนจะเริ่มเอา Java app ไปวางบน Heroku มีดังนี้

  • Java app ตัวอย่างที่จะนำมาทดลอง
  • Heroku account
  • ต้องติดตั้ง Java ก่อน
  • แล้วก็ต้องติดตั้ง Maven ด้วย
  • สุดท้ายก็ต้องมี Heroku Toolbelt ติดตั้งในเครื่องด้วย

สำหรับการติดตั้ง Java ผมคงไม่ขอพูดถึง ส่วนการติดตั้ง Maven นั้น ทำได้โดยการดาวน์โหลด Maven จาก ที่นี่ ก่อนครับ


Continue reading

เรามาทดลองนำโค้ด Ruby app ขึ้นไป deploy บน Heroku กัน สิ่งที่ต้องเตรียมในการเขียน และ deploy Reby web app บน Heroku คือ

  • ตัวอย่างของ Ruby web app ที่เราจะทดลอง
  • ติดตั้ง Ruby และ Bundler สำหรับจัดการ dependency
  • ต้องมี Heroku account
  • ติดตั้ง Heroku Toolbelt

สำหรับการติดตั้ง Rail นั้นสามารถดาวน์โหลด ตัวติดตั้งได้จาก ที่นี่ ครับ หลังจากนั้นให้ติดตั้งตามขั้นตอนปกตินะครับ


Continue reading

สิ่งที่ต้องเตรียมก่อนจะทำการ deploy node.js บน Heroku

  • node.js app ที่จะนำมาใช้ในการทดลอง deploy
  • ต้องมี Heroku account
  • ติดตั้ง node.js พร้อม npm
  • ติดตั้ง Heroku Toolbelt

สำหรับการติดตั้ง node.js และ npm ให้ดาวน์โหลดได้จาก ที่นี่ ครับ เลือกดาวน์โหลดเวอร์ชันให้ตรงกัน OS นะครับ จากนั้นก็ให้ติดตั้งตามขั้นตอนตามปกติครับ และสำหรับ Heroku Toolbelt ให้ดาน์โหลดจาก ที่นี่ ครับ แล้วก็ติดตั้งตามขั้นตอนปกติเช่นกัน


Continue reading

การเริ่มต้น deploy PHP app บน Heroku นั้น จำเป็นต้องมีสิ่งเหล่านี้ก่อนนะครับ

  • PHP app ที่ใช้ Composer สำหรับการจัดการ Dependency
  • ต้องติดตั้ง PHP ก่อน
  • ต้องติดตั้ง Composer ก่อน
  • ต้องมี Heroku account
  • ต้องมี Heroku Toolbelt

การติดตั้ง PHP ให้เข้าไปดาวน์โหลด ที่นี่ ครับ โดยหากใช้งานบน Windows ให้เลือกดาวน์โหลดเวอร์ชันสำหรับ Windows ด้วยนะครับ

ไฟล์ที่ดาวน์โหลดมาจะเป็นไฟล์ zip นะครับ ให้เราแตกไฟล์ zip ดังกล่าวไปไว้ที่ใดก็ได้ครับ


Continue reading

หลังจากครั้งก่อน เราสร้างแอปขึ้นไปรันบน heroku แล้ว ตอนนี้ผมจะพูดถึงวิธีการดู logs ของแอปเรา ว่ามีใครเข้ามาดู ใครเรียกหน้าไหน หรือมี error อะไรบ้าง ผมจะแก้โค้ดเพิ่มเติม เพื่อดูว่า มีการเรียกใช้หน้าที่แตกต่างกัน จะได้อะไรบ้าง

@app.route('/home/<name>')
def home(name):
    return 'Hello, %s' % name

@app.route('/error')
def error():
    return hello_world

ดูโค้ดที่เพิ่มเข้าไปผ่าน git diff hello.py ก็ได้
Continue reading

Heroku logo

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

Heroku เป็น Platform as a Service (Paas) ที่ให้เราใช้งานได้ฟรี (มีแบบเสียเงินด้วย) โดยรองรับภาษาโปรแกรมที่หลากหลาย เช่น Ruby, PHP, Node.js, Python, Java, Clojure, Scala และยังสามารถสร้าง buildpack สำหรับภาษาอื่นๆได้ เช่น Lua ที่รันอยู่บน OpenResty ได้อีกด้วย
Continue reading

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

การสร้างแอปไปรันบน Heroku จะทำผ่าน heroku toolbelt ส่วนของโค้ดที่จะเขียน ก็ใช้ text editor ได้ตามความถนัดครับ โค้ดตัวอย่างเริ่มต้น ผมเลือกภาษา Python และ Flask web framework มาให้ดู เพราะโค้ดที่สั้น เข้าใจง่าย

heroku supported languages
Continue reading