Create an API with AWS Lambda Walkthrough

วันนี้มาเล่าเรื่องการสร้าง API ด้วย AWS Lambda กัน เนื่องจากช่วงปีใหม่พยายามจะสร้าง API ย่อขนาดรูปภาพขนาดใหญ่ แต่ใช้ shared hosting อยู่มันติดปัญหาเรื่อง timeout กะพวก library ต่างๆ ไม่ซัพพอต จะไปเช่า Cloud server/VPS มันก็จะเว่อร์เกินไปเพราะเว็บเล็กนิดเดียว เลยคิดว่าจะลองใช้ Lambda ดู (เผื่อคนไม่รู้ AWS Lambda คือเซอร์วิซที่รันสคริบหรือรันโปรแกรมให้เราโดยคิดค่าบริการตามเวลาที่ใช้งาน ถ้าสคริบคำนวณนานหรือทำงานนาน ก็จะเสียเงินเยอะ แต่ถ้าเวลาที่มันไม่ได้ใช้งาน ก็ไม่ต้องเสียเงิน) จากที่ลองมาเราว่า UI ของ Amazon มันใช้ยากมาก กว่าจะจับทางถูกว่าต้องคอนฟิคอะไรตรงไหนบ้างนี่เสียเวลาเป็นวันๆๆๆ แต่พอทำเป็นแล้วนะ ใช้เวลาไม่ถึง 5 นาทีเองอะ
อ่านต่อ

Cloudflare has helped me save 77% bandwidth

มันฟรีด้วยนะ

พอดีเมื่อวานดื่มกาแฟแล้วนอนไม่หลับ เลยนั่งกดๆ อะไรดูเล่นๆ แล้วไปเจอ analytics ของบล็อก (vee.in.th) ที่เพิ่งย้ายมาเนี่ยแหละ จริงๆ เว็บนี้เพิ่งย้ายมาได้ 1-2 อาทิตย์ แล้วมี active site แค่บล็อกนี้เท่านั้น (เมื่อวานเพิ่งเอา vee.in.th/code ขึ้น) ด้วยความอยากรู้ (ว่า 1. cloudflare เทพแค่ไหน กับ 2. เขียนบล็อกไปมีคนอ่าน(บ้างมั๊ย)) เลยเข้าไปส่องดูใน cloudflare

ค้นพบว่าจริงๆ อาทิตย์ที่แล้วมี Unique Visitors อยู่สองพันกว่าคน (2.6k)

Vee.in.th - Unique Visitors รอบสัปดาห์ (นึกว่าไม่มีคนอ่าน)
Vee.in.th – Unique Visitors รอบสัปดาห์ (นึกว่าไม่มีคนอ่าน)

ถ้านับ requests อยู่ที่ 26k requests (ก็เฉลี่ยประมาณ visit ละ 10 requests?) ที่น่าตื่นเต้นคือ cloudflare ช่วยแคชของไว้จนประหยัด bandwidth ได้ 2.7GB จากที่ต้องใช้ไป 3.5GB ถ้าคิดเป็นเปอร์เซ็นต์ก็เยอะถึง 77% เลย
อ่านต่อ

Wii Pong

Wii Pong

เนื่องจากนัท challenge ให้เราเขียนบล็อกเรื่องนั้นเรื่องนี้สารพัด วันนี้ก็ตามใจซักเรื่องละกัน แม้ว่าซีเนียร์โปรเจ็คจะจี้ตูดอยู่ก็ตาม อ๊ากกก

วัตถุประสงค์ของการเขียนบล็อกคอเลคชั่นนี้คืออยากแบ่งปันเรื่องราวให้กับคนอื่น อยากจุดประกาย และอยากเก็บเป็นความทรงจำที่อีกสิบปีมาอ่านแล้วก็ด่าตัวเองว่าเขียนอะไรไปวะเนี่ย 55 โดยที่เรามีจุดยืนคือจะโพสต์ทุกอย่างในบล็อกของตัวเอง จะไม่มี facebook, medium, tumblr ใดๆ ทั้งสิ้น เราเขียนบล็อก host เองมาตั้งแต่ ป.5 แล้วย่ะะะ @Nut Pattanavijit

คืนนี้อยากเล่าโปรเจ็ควิชา Prog Meth (Programming Methodology) ที่เรียนตอนปี 2 เป็นหนึ่งในไฟนอลโปรเจ็คที่หวนไปคิดทีไรก็คิดว่ามัน extreme ดีทุกครั้ง ขอเกริ่นก่อนว่าวิชานี้หลักๆ เรียนหลักการเขียนโปรแกรมที่ถูกที่ควร เป็นวิชาที่ดีงามมาก (เกลียดคำนี้มาก — ดีงาม) เป็นวิชาที่ practical ได้ใช้ประโยชน์ในอนาคตจริงๆ นะ เด็กๆ ควรจะตั้งใจเรียนวิชานี้ และจดจำนำมาประยุกต์ในการดีไซน์โปรแกรมในปีขั้นสูงต่อๆ ไป
อ่านต่อ

In Cupertino

(คือ Cupertino ไม่ค่อยมีรูปสวยๆ ขอใส่รูปที่ San Francisco แทนละกันเน้อ)

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

เมื่อไม่กี่เดือนที่แล้วยังบ่นกับนัทอยู่เลยว่าเนี่ย วีอยากไปอเมริกาตั้งแต่อายุสิบสี่สิบห้าแล้ว แต่ไม่มีโอกาสเข้ามาซักที ทั้งๆ ที่เราก็สมัครไปเยอะแยะ (ส่วนใหญ่มักจะติดตรงเรื่องค่าใช้จ่าย 55) สุดท้ายอยู่ดีๆ โอกาสมันก็เข้ามา แล้วเราก็ได้ด้วย น้ำตาจะไหล

ที่อยากไปก็เพราะว่าตอนเด็กๆ ดูซีรี่ส์ฝรั่งเยอะ แล้วชอบภาษาอังกฤษมาก ชอบจนมีช่วงนึงอยากเรียนอักษรศาสตร์ อยากเก่งภาษาอังกฤษ จนโตขึ้นเลยรู้ว่าเห้ยมันมีมากกว่านั้นอะ แล้วเราก็ไม่ได้เป็นคนครีเอทีฟ หรือขยัน หรือโหดพอที่จะเรียนอักษรได้

ที่อยากไปตอนโตๆ เพราะว่ามันเป็นบ้านเกิดของเทคโนโลยี หลายๆ สิ่งมันเริ่มต้นจากที่นี่ จากมุมภายนอกมันดูแมจิคมากๆ ว่าทำไมหลายสิ่งมากมายมหัศจรรย์มันเกิดขึ้นจากที่เล็กๆ ที่นี่
อ่านต่อ

Internship at Pronto Marketing

pronto

Time passes so fast. I can’t believe I spent two and a half months doing an internship at Pronto Marketing.

People at Pronto are really awesome. They dress casually like they’re at home. When I’m at Proton I feel like Protons (that’s how we call people who works at Pronto) are a big family. I believe it also has to do with the environment and the interior decoration. There are about 50 people at Pronto. The bosses are real nice, kind and easy-going. I think Pronto must be one of the coolest companies in Thailand. อ่านต่อ

Introduction to Databases by Stanford University (class2go)

ในที่สุดก็เอาชนะตัวเองได้ด้วยการเรียนจบคอร์ส Introduction to Databases (ยังไม่เคยเรียนวิชานี้ที่มหาลัยมาก่อนเลยนะ!) ที่ยาวนานถึง 2-3 เดือน

คอร์สนี้เป็นคอร์สที่ offer โดยมหาวิทยาลัย Stanford โดยเปิดเป็นช่วงๆ ไม่แน่ใจเหมือนกันว่ามีเคยเปิดมาก่อนแล้วรึเปล่า ที่เรียนไปเป็นรอบ Winter 2013 (Jan. 15, 2013 – Apr. 1, 2013) ค่ะ

ลักษณะของคอร์สคือให้ดูวิดีโอประกอบการสอน จริงๆมีการแนะนำ Textbook ให้อ่านด้วย แต่รู้สึกว่าถ้าไม่อ่านก็พอไปไหว (ตอนที่ take course มันเป็นช่วงเปิดเทอม – สอบไฟนอล แค่อ่านหนังสือเตรียมสอบก็จะตายละค่า จะเอาเวลาไปอ่านที่ไหนเนี่ย) แล้วก็จะมีให้ทำ Quiz กับ Interactive Exercises เรื่อยๆ (มีงานทุกสัปดาห์) แต่ deadline ค่อนข้างโอเคคือไม่เบียดเกินไป ให้เวลาทำประมาณ 1-2 อาทิตย์ แต่ภาระงานก็เยอะเอาเรื่องเหมือนกัน ต้องทำแบบฝึกหัดเยอะ ทำควิซเยอะ ซึ่งหมายความว่าต้องทุ่มเทกับมันเยอะเหมือนกัน วิดีโอจะมีประมาณอาทิตย์ละ 2 ชั่วโมง ส่วนควิซกับแบบฝึกหัดจะใช้เวลาประมาณ 1-2 ชั่วโมงเหมือนกัน อ่านต่อ

ปิดเทอมแล้วทำไรดี

ดีใจที่ปิดเทอมซักที เพราะปิดเทอมมันแปลว่า เราสามารถนั่งเขียนโค๊ดที่เราอยากเขียนได้โดยที่ไม่รู้สึกผิดว่าต้องอ่านหนังสือ อยากทำโปรเจ็คส่วนตัวอะไรก็ได้โดยไม่ต้องมานั่ง trade กับเวลาที่เสียไป ตอนเปิดเทอมหายใจเข้าออกก็เป็นการเรียนหมด เข้าใจละว่าทำไมวิศวะจุฬาถึงโค๊ดเก่งสู้คนอื่นไม่ได้ U_U

เป้าหมายปิดเทอมนี้

  • จบคอร์ส Introduction to Databases ของ Stanford แบบ Distinction
  • จบคอร์ส Natural Language Processing บน Coursera
  • เรียน Web Development ของ Udacity ให้จบซักที จะได้..
  • เขียนเว็บแอพดีๆ ให้ได้ซักตัว
  • โค๊ด Python ให้จบคอร์สใน Codecademy
  • อ่านหนังสือ Agile ให้จบซักเล่ม
  • อ่าน Pro Git ให้จบ
  • ฝึกงานแบบมีความสุข
  • โค๊ดให้ได้วันละข้อ
  • พยายามหาเงินให้ได้อีกซัก 30 – 40k
  • ถ้าฝึกงานเสร็จจะไปขอโปรเจ็คทำกับอาจารย์ที่คณะ
  • เขียนแต่สิ่งที่อยากทำ จนลืมความรับผิดชอบไปแล้วสินะ.. ต้องทำ Clipvidva 2.0 ให้เสร็จจจจจจ
  • ลดน้ำหนักกกกกก สิ่งที่ไม่อยากทำ U_____U

เยอะมาก ต้องพยายามทำให้สำเร็จให้ได้ ฮึ่บๆ

ฝึกงานกับ TiGERiDEA

จะบล็อกเรื่องนี้นานมากกกกแล้ว แต่ไม่มีโอกาส + จังหวะซักที

เมื่อเดือนมีนาคม – พฤษภาคม ที่ผ่านมา ได้มีโอกาสไปฝึกงานกับพี่ๆ ที่บริษัท TiGERiDEA เป็นบริษัทพัฒนาเว็บไซท์ โดยมี core หลักในการพัฒนาเป็น WordPress ถามว่ารู้จักหรือรู้ข่าวได้ยังไง ก่อนหน้านี้พอได้ยินและได้รู้จักเว็บไซท์ของพี่เม่นที่เก่งเรื่อง WordPress มาก (พี่เม่นก็จบวิศวะคอมจุฬา แต่หลายรุ่นมาแล้ว :P) และได้ไปร่วมงาน WordPress Developer Night (Day) ด้วย

ตอนช่วงที่สมัครก็ส่ง CV (ที่มีแต่งานสมัยมัธยม) เข้าไป แล้วก็เขียน cover letter ว่าทำไมถึงอยากมาฝึกที่นี่ อีกไม่นานก็มีพี่ๆ อีเมลตอบกลับมาถามนิดหน่อย จากนั้นก็ตอบเราว่ารับเราเข้าฝึกงานแล้ว! โอวเร็วมาก อ่านต่อ

Agile Web Development with Ruby on Rails

INTRO:

  • ทักษะการทำเว็บจำเป็นมากขึ้น บริษัทต่างๆเริ่มรับพนักงานที่สามารถทำเว็บเป็น ทุกวันนี้เราใช้คอมที่เกี่ยวเนื่องกับเว็บมากตลอดทั้งวัน ทุกอย่างที่ติดต่อกับอินเทอร์เน็ตต่างเป็นเว็บไซท์,เว็บแอพพลิเคชั่น
  • startup ใหม่ๆเริ่มใช้ Ruby on Rails (เช่น Groupon, Instagram) เพราะมี host, cloud hosting ให้ใช้ฟรี
  • Ruby เป็น programming language เหมือนกับ Java, C, Python
  • Rails เป็น web framework ที่เหมือนภาษามนุษย์ การเรียนควรจะเรียนให้เข้าใจมากกว่าจำ Rails มีการอัพเดตบ่อยมาก ไม่เหมือนกับ programming language ที่นานๆจะอัพเดตครั้งนึง เพราะฉะนั้นเราจะต้องอัพเดตตัวเองสม่ำเสมอ
  • Rails ประกอบไปด้วยหลายๆไลบรารี่ เรียกว่า Gems
  • การศึกษา Rails ต้องใช้เวลา อาจารย์ศึกษา Rails ก่อนที่จะ competent ได้ใช้เวลาประมาณหกเดือน
  • สกิลที่สำคัญในการพัฒนาเว็บ
    1. เพื่อนที่ดีที่สุดคือ Google รู้จักเว็บไว้อ่าน doc รู้จักเว็บไว้ discuss, Q&A 2.
    2. เข้าใจว่าเว็บทำงานยังไง ศึกษา pattern ในการแก้ปัญหา อ่านต่อ

Some useful links

ไม่รู้จะเก็บไว้ไหนดีง่ะ เก็บไว้นี่ก่อนละกัน