Press "Enter" to skip to content

Posts published by “Arnon Hongklay”

Ruby on Rails 5

  สวัสดีครับ วันนี้ผมมาอัพเดทเกี่ยวกับ Ruby on Rails เวอร์ชั่นที่กำลังจะออกมาใหม่ก็คือ version 5  ส่วนตัวผมเขียน framework นี้มาได้ไม่นานนัก ก็จะสามารถแนะนำได้ระดับนึง ตามภาษาคนที่เขียน Ruby on Rails version 4 สำหรับสิ่งที่จะแนะนำก็คือ การเปลี่ยนแปลงหลักๆ ดังนี้ การรวมเอา Rails API มาอยู่ใน Ruby on Rails 5 คุณจะสามารถใช้ Ruby on Rails 5 ได้จะต้องใช้ Ruby ตั้งแต่ 2.2.1…

Rspec Ruby on Rails

  Rspec คือการเขียนทดสอบในกรณีต่างๆ ที่สมมุติขึ้นกับตัว Application ของเราว่าการทำงานถูกต้องตามที่เราต้องการหรือไม่ เพราะเมื่อเราเขียน Application ไปมากๆแล้ว เราไม่สามารถตรวจสอบการทำงานได้เลย ถ้าไม่มี Spec เขียนไว้ทดสอบการทำงานต่างๆ ของ Application ภาพรวมของการเขียน Rspec ดังนี้   ให้มอง Application เป็นกล่องดำโดยไม่ต้องเข้าใจว่าข้างในคืออะไร โดยที่เราใส่ข้อมูลอะไรลงไป เราจะสามารถคาดเดาผลลัพท์ได้นั่นเองยกตัวอย่างเช่น เราสร้างมา 1 Class ชื่อว่า Bowling และมี Method hit และ score  …

การติดตั้ง Docker Ubuntu

ก่อนอื่นขอแนะนำก่อนว่า Docker ทำงานได้ดีกับ Linux โดย distribution ก็ทำงานแตกต่างกันออกไป เช่น ถ้าอยากได้ Server ที่มี Ubuntu เป็น OS หลัก และ Software เช่น LAMP ถ้าเราต้องการจะ deploy  เข้า Server ตัวนั้น เราจะเป็นต้องทำจาก ubuntu และ kernel ต้องเป็น version เดียวกัน ถึงจะมั่นในได้ว่า เราจะสามารถใช้งานได้จริงๆ ทั้งนี้ Linux…

การติดตั้ง Docker Mac OS X

การติดตั้งบน Mac OSX นั้นสามารถติดตั้งโดยใช้ Boot2Docker เพื่อที่ใช้ docker command ได้สามารถเลือกวิธีนี้ได้ถ้าเราคุ้นเคยกับ Command line มีอีกหนึ่งทางเลือกในการติดตั้ง docker บน Mac OSX คือ https://kitematic.com จะเป็น graphical user interface (GUI) ให้สามารถใช้งานได้ง่ายขึ้น ในที่นี้ผมจะแนะนำ Boot2Docker เพราะการใช้งานจะสะดวกและรวดเร็วกว่า (ความเห็นส่วนตัวครับ) เราสามารถ download และติดตั้งได้ที่ https://github.com/boot2docker/osx-installer/releases/tag/v1.6.2 เลือก download Boot2Docker-x.x.x.pkg จากนั้น Dubble Click เพื่อทำการติดตั้ง โดยลากไปวางไว้ที่ Applications…

Docker คืออะไร ?

ก่อนที่เราจะรู้จัก docker ได้นั้น เราต้องมาทำความรู้จักกับ linux containers กันก่อน linux containers คืออะไร? (LXC) เป็นวิธีการทำงานแบบเสมือนระดับ OS สำหรับทำงานแยกจากระบบปฎิบัติการหลัก แต่ไม่ใช่แบบเดียวกับ Virtual machine โดย LXC จะทำการแชร์ Linux Kernel  กับ OS หลักและทำงานเสมือนว่าตัวเองเป็น OS   จากรูป จะแสดงถึงลักษณะของ LXC มาถึง Docker กันบ้าง docker เป็น lightweight…

The basic system monitoring

พื้นฐานการตรวจสอบระบบสิ่งที่ง่านที่สุดคือ ทำให้ระบบใช้งานได้จะแบ่งออกเป็น 2 อย่าง คือ ความพร้อมใช้งาน (Availability) ความน่าเชื่อถือ (Reliability) ซึ่ง 2 อย่างนี้แตกต่างกันชัดเจน สามารถอ่านได้ที่นี่ https://nonmadden.com/node/server-hardware-and-availability/ การเริ่ม monitoring เราควรดูว่าปัญหานั้นมาจากอะไรก่อนเป็นอันดับแรก เช่น ERROR 404 เป็น http status ที่มีข้อความสั้นๆว่า “หาไม่เจอ” คำถามคือ แล้วอะไรละที่หาไม่เจอ? ERROR 500 เป็น http status ที่มีข้อความสั้นๆว่า “ภายในเซิฟเวอร์ผิดผลาด” แล้วอะไรละที่ผิดผลาด? จะเห็นได้ว่าสิ่งเหล่านี้จะบอกว่า error เหล่านั้นเป็น…

วิธีอ่านค่าใน MIB

Object ที่ผมเลือกนำมาเสนอนี้เป็น Object ที่อยู่ใน MIB ของอุปกรณ์จากบริษัท Cisco โดยผมสนใจในเรื่องของการตรวจสอบการใช้งานของ CPU ในอุปกรณ์ว่าในแต่ละช่วงเวลานั้นได้มีการใช้งานเป็นอย่างไรบ้าง เมื่อเกิดปัญหาเราจะสามารถวิเคราะห์ปัญหาว่าเกิดจากสาเหตุอะไร เพื่อนำไปแก้ไขปรับปรุงให้ดียิ่งขึ้น วิธีอ่านค่าใน MIB รายละเอียดของ Object ที่นำเสนอคือ cpmCPUMonInterval OBJECT-TYPE SYNTAX Gauge Access read-only Status mandatory DESCRIPTION “CPU usage monitoring interval. The value of this object in…

Ruby on Rails – Basic

Ruby on Rails คืออะไร Rails คือ web development framework ที่เขียนด้วยภาษา Ruby แลพเป็นที่นิยมอย่างรวดเร็วโดยเว็บไซต์ดังๆหลายเว็บไซต์ อย่าง Twitter, Github, Kickstarter ใช้ framework ตัวนี้ในการพัฒนาว็บไซต์ และด้วยลักษณะโครงสร้างทางภาษา Ruby ทำให้เขียนโปรแกรมน้อยแต่ได้งานที่เยอะมาก และมีลักษณะโครงสร้างต่างๆ ที่สามารถเข้าใจง่าย เป็นแบบ Object-Oriented Scripting Language Ruby on Rails มีพื้นฐานบนหลักการของ MVC ด้วยหลักการนี้ทำให้การเขียนโปรแกรมจะมีองค์ประกอบด้วยกัน 3…

Git

โครงสร้างภาพรวมการทำงาน Git คืออะไร Git คือ Version Control System ตัวหนื่งที่นิยมมากในสมัยนี้ Version Control คือ ระบบที่จัดเก็บการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์หนึ่งหรือหลายไฟล์เพื่อที่สามารถเรียกเวอร์ชั่นใดเวอร์ชั่นหนึ่งกลับมาดูเมื่อไรก็ได้ การใช้ Version Control System (VCS) เป็นสิ่งที่ชาญฉลาดมาก เพราะช่วยให้เราสามารถย้อนไฟล์บางไฟล์หรือแม้กระทั่งทั้งโปรเจคกลับไปเป็นเวอร์ชั่นเก่าได้ นอกจากนั้นระบบ VCS ยังจะช่วยให้เราเปรียบเทียบการแก้ไขที่เกิดขึ้นในอดีต ดูว่าใครเป็นคนแก้ไขคนสุดท้ายที่อาจทำให้เกิดปัญหา แก้ไขเมื่อไร ฯลฯ และยังช่วยให้เราสามารถกู้คืนไฟล์ที่เราลบหรือทำเสียโดยไม่ตั้งใจได้อย่างง่ายดาย โดยสิ่งที่เราเอาไปฝากไว้บน Git เราจะเรียกว่า Repository และวิธีการทำงานจะมี Git Server รันอยู่บน Server…

DevOps Engineer

DevOps Engineer คืออะไร? ออกแบบโครงสร้างการทำงาน วิธีการทำงานแบบ DevOps Engineer DevOps คือแนวคิดในขั้นตอนกระบวนการผลิตที่เป็นระบบขั้นตอน มีการออกแบบการสร้างผลงานในแต่ละขั้นตอนอย่างละเอียดและสามารถตรวจสอบการทำงานได้ การพัฒนาระบบนั้นมี 4 ขั้นตอน Development คือการพัฒนาระบบตามปกติโดยเพิ่มขั้นตอนการทำงานคือทำงานร่วมกับ Git ซึ่งเป็น Version Control Test คือขั้นตอนของการตรวจสอบคุณภาพ (QA) ขั้นตอนนี้จะอยู่บน Github ในส่วนของ Pull Request Pre-Production คือการทดสอบในระดับของสภาวะแวดล้อมเสมือนจริง Production คือการนำไปใช้โดยมั่นใจว่าการทำงานจะผิดผลาดน้อยมากๆ หรือไม่ผิดผลาดเลยเพราะ เราได้ผ่านการทดสอบถึง 2 ระดับ…

การวาง backdoor แบบง่ายๆ

ก่อนอื่นมารู้จักกันก่อนว่า backdoor นั้นคืออะไร? Backdoor นั้นก็คือ “ประตูหลัง” (อย่าคิดลึก) จริงๆ แล้วในด้าน security นั้นหมายถึงคือ เมื่อเรา hack ได้แล้ว อาจจะเป็นเว็บหรือ application อะไรก็แล้วแต่ ที่ออนไลน์อยู่ ถ้าต้องการเข้าสู่ระบบใหม่ในภายหลังให้ง่ายขึ้น hacker ก็จะสร้างประตูลับของตัวเองเพื่อกลับเข้ามาใหม่ ยกตัวอย่างให้เห็นภาพชัดๆ เช่น มีบ้านหลังหนึ่งเมื่อมีขโมยได้ทำการเข้ามาในบ้านโดยการงัดประตูสำเร็จ ขโมยก็ได้ของติดมือไปนิดหน่อย เพราะจะนำของกลับไปหมดก็คงไม่ไหว เลยต้องทยอยๆ ขโมยเลื่อนๆ แต่จะเข้ามาใหม่โดยการงัดประตูบ้านก็เกรงว่าจะถูกจับได้ก่อน ขโมยก็เลยทำทางเข้าที่หน้าต่างโดยให้เปิดเข้ามาจากภายนอก และกลับมาขโมยใหม่วันหลังได้สะดวกมากขึ้น ที่นี้เข้าเรื่อง สมมุติว่าเรา hack web ได้แล้ว ชื่อว่า…