Skip to content

Month: April 2016

Learning Rust #2 | ใช้ cargo run แบบ multiple targets

ถ้าเราสร้างโปรเจกต์ด้วยคำสั่ง cargo new my-project --bin  โปรเจกต์นั้นจะสามารถรัน target ได้แค่ target เดียวซึ่งก็คือโปรแกรมที่เขียนไว้ในไฟล์ src/main.rs แล้วถ้าเกิดว่าเราอยากรันหลายๆ target ล่ะ ทำยังไง?

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

Learning Rust #1 | เรียนรู้ภาษา Rust

ความตั้งใจของผมคือศึกษาภาษาใหม่ทุกปี เหตุผลมี 2 อย่างคือ

  1. อัปเดตความรู้ตัวเองนอกจากภาษาที่ใช้ทำงานอยู่ก็ควรจะเรียนรู้ภาษาอื่นด้วย
  2. เรียนรู้ว่าภาษานี้ถูกสร้างขึ้นเพราะอะไร แก้ปัญหาอะไร ข้อดี-ข้อเสียมีอะไรบ้าง

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

เปลี่ยนการเข้ารหัส HTTPS เป็น Let’s encrypt แล้ว

เดิมผมใช้ StartSSL ซึ่งก็ดีแต่ renew ค่อนข้างลำบาก หลังจากโครงการ Let’s encrypt เปิดให้บริการได้ฟรีเลยย้ายดีกว่าเพราะการติดตั้งและ renew ง่ายกว่ากันเยอะ! การเริ่มโครงการ Let’s encrypt นี้ก็น่าสนใจมากเพราะความปลอดภัยทางข้อมูลดิจิทัล การเข้ารหัสข้อมูลนี้ควรจะเป็นฟีเจอร์พื้นฐานที่ควรเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้งานอินเทอร์เน็ตสมัยนี้ ถึง SSL certificate จากโครงการ Let’s encrypt จะมีอายุแค่ 3 เดือนแต่ก็สามารถต่อได้เรื่อยๆ ไม่มีค่าใช้จ่าย ที่สำคัญตอนนี้มีคนเขียน script เช็กวันหมดอายุและ renew อัตโนมัติให้ใช้แล้ว ของผมแก้จาก…

Machine learning #4 | การนำ Machine learning มาใช้งานต้องทำอะไรบ้าง

โพสต์ที่แล้วเราเรียนรู้คำศัพท์เฉพาะ (terminology) ใน field ML ไปแล้วว่ามีอะไรบ้าง โพสต์นี้จะเล่าถึงขั้นตอนการสร้าง ML ว่ามีกี่ขั้นตอน อะไรบ้าง ขั้นตอนการสร้างอาจจะมากน้อยต่างกันแล้วแต่ความพร้อมของข้อมูลและความซับซ้อนของระบบ แต่ขั้นตอนหลักๆ ก็มีดังนี้

  1. Data preparation
  2. Training
  3. Evaluation