วันอาทิตย์ที่ 20 เมษายน พ.ศ. 2557

เมื่อ web กลายเป็นพื้นฐานของการสื่อสารระหว่าง application

เมื่อพื้นฐานของการใช้งานข้อมูลนั้นไม่ได้ต้องคอยเรียกข้อมูลผ่านทาง SQL หรือ ฐานข้อมูลโดยตรง เช่นเรามักจะใช้ hibernate หรือ sqlalchemy ในการใช้งานข้อมูล

เราก็จะพบว่านักพัฒนาจะทยอยพัฒนาแอพพลิเคชั่นได้หลากหลาย โดยไม่ต้องคอยไปกังวลถึงการใช้งานข้อมูลจำนวนมากมาก หรือ ต้องคอยกระจายโหลดการใช้งานไปยังหลาย ๆ เครื่อง แต่เรามักจะมุ่งพัฒนาระบบที่ต้องการ โดยปล่อยระดับของการใช้งานฐานข้อมูลให้เป็นหน้าที่ของ data framework ต่าง ๆ ไป

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

และนั่นเริ่มเห็นบทบาทของ web service ชัดเจนขึ้น แม้กระทั่งระบบจัดการ user ในระบบเดี๋ยวนี้ยังไม่ต้องพัฒนาเองเลย มีให้เรียกใช้กันข้ามแพลฟอร์มเลย

ขั้นตอนต่อมาภายหลังที่เราจะเห็นนี่คงถึงเวลาที่ web จะกลายเป็นพื้นฐานของการสื่อสารข้อมูลซักที

วันพฤหัสบดีที่ 10 เมษายน พ.ศ. 2557

Moving to "Data a Brewery"

3 years with Pentaho. It was an amazing!

For my next self learning, it's time for Brewery

The reason are:

  1. Brewery is a set of Python Framework.
  2. SQLAlchemy is my favorite, and can learn at the same time with Brewery.
  3. When it's python, It's easy to tech other one.
  4. Pentaho is not easy for beginner (esp. for my students).




วันพุธที่ 9 เมษายน พ.ศ. 2557

ถึงเวลาขยับ Level

ด้วยความรู้เท่าที่มีคงไม่พอสำหรับจะขยับขยายไปต่อที่ BigQuestion ดังนั้นถึงเวลาอ่านอีกแล้วครับท่าน

วันศุกร์ที่ 4 เมษายน พ.ศ. 2557

Programmer/Developer เหมือนกรรมกร?

ต่อจาก "ถ้าไม่มีใครทำ ก็เสกมันขึ้นมา" ผมมักจะเจอกับบุคคลที่หมดไฟ หรือไม่ก็หมดความตั้งในการทำงานทางด้าน Develop ต่อ

และบ่อยครั้งจะเจอกับคำที่ว่า "พวก programmer/developer มันกรรมกร" "พวก programmer เป็นพวกใช้แรงงาน" "เป็นงานล่างสุดของสายงานนี้

ว่าไปนั่น....

ผมขอตอบจากประสบการณ์ที่ผมมีให้ตามนี้

ถ้าคนที่เป็น programmer หรือ developer อยู่ แล้วมองว่าตัวเองเป็นคนใช้แรงงาน ผมขอถามว่า "ถ้าเราใช้ programmer/developer 1 คน ทำงานหนึ่งเสร็จภายใน 1 วัน  แล้วถ้าผมเพิ่ม programmer/developer เป็น 10 คน คุณคิดว่างานจะเสร็จขึ้นเร็วไหม?"

งานที่ programmer/developer ไปหยิบ module, library, framework ต่างๆ มาสร้างเป็นระบบ ได้อย่างรวดเร็ว ไม่ต้องไปสร้างเองตั้งแต่ต้น ผมถามว่า เค้าเป็นแรงงานหรือเป็นอะไรกันแน่

มีช่างก่อสร้างคนไหนที่จะไปสร้างสิ่งก่อสร้างพิลึกกึกกือ ได้โดยไม่เคยจับอิฐหินปูนทรายเลย

การที่มีคนบอกว่า "programmer/developer เป็นกรรมกร" ให้มองตัวเองก่อนว่า คุณเป็นหรือไม่? ถ้าคุณคิดว่าคุณเป็น หรือสิ่งที่คุณทำอยู่เป็น ผมก็ยืนยันได้เลยว่า "ก็คุณนั้นแหละที่บอกว่าตัวเองเป็น"

ไม่ได้บอกว่ากรรมกรเป็นสิ่งลำบาก แต่อยากบอกว่า ถ้ารากฐานไม่ดี ต้นไม้จะงอกงามสูงใหญ่ได้อย่างไร?

วันพฤหัสบดีที่ 3 เมษายน พ.ศ. 2557

ด๊อกแต้ แดง

วันนี้ไปรับฟังเรื่องราวของธุรกิจ ออนไลน์ ประเภทหนึ่ง ซึ่งมีจำนวนของข้อมูลที่ไหลเข้าระบบมากมาย แต่วันนี้เท่าที่ฟังแล้วนั้น ไม่น่าจะใช่ปัญหาของระบบซอฟต์แวร์ที่ใช้อยู่ แต่หากเป็นปัญหาของการเข้าใจข้อมูล และนำข้อมูลเหล่านั้นมาเปลี่ยนเป็นความรู้มากกว่า

และวันนี้ยิ่งเป็นการยืนยันของคำว่า สถาปัตยกรรมซอฟต์แวร์ กับการออกแบบซอฟต์แวร์ คนจำนวนมากเริ่มระบบจากการออกแบบซอฟต์แวร์ แล้วพอมันเริ่มขยาย ก็พบว่าสิ่งที่อยากได้จากข้อมูลที่มี มันยาก และลำบากมาก

แต่ถ้าเป็นการเริ่มจากทำสถาปัตยกรรมซอฟต์แวร์ก่อน ข้อมูลที่ต้องการจะได้มาอย่างง่ายดายมาก

และถ้าจะเริ่มแกะข้อมูลที่มีอยู่นั้น ก็คงไม่พ้นจากระบบ Business Intellegence เป็นแน่แท้ คิดว่าแค่บางส่วนของ BI ก็น่าจะพอมองอะไรได้บ้างแล้ว แต่กว่าจะเรียนรู้ข้อมูลเหล่านั้นจาก BI จนครบ คงต้องใช้บุคคลากรที่มีความสามารถ และความเข้าใจในข้อมูลที่ค่อนมากอยู่

แต่โชคดีของผมที่เคยผ่านเหตุการณ์ประมาณนี้มาแล้ว เลยทำให้รู้ว่า มันเหนื่อยอย่างไรบ้าง


ขอให้โชคดี

ปล. วันนี้ home brew นั้น ดูเหมือนจะเป็นฝันที่ค่อนข้างเป็นความจริงของชายที่ชื่อว่า วิChit

วันเสาร์ที่ 29 มีนาคม พ.ศ. 2557

สร้างสิ่งใหม่ ๆ โดยไม่ต้องรู้ซะทั้งหมด

เดี๋ยวนี่ถ้ามีใครมาถามผมให้ทำโครงการโน้น โครงการนี้ให้ ผมชักเริ่มจะขยาดที่จะเริ่มสร้างตั้งแต่เริ่มต้นแล้ว

ไม่ใช่ว่าทำไม่ได้ แต่ว่า ทำไมต้องทำใหม่อยู่เสมอ

เดี๋ยวนี้มันต้องเริ่มจาก เอาอะไรมาต่อ ๆ กันแล้วเป็นงานได้บ้าง

แต่เมื่อเอาอะไรมาต่อกันแล้ว ถ้าต้องการรู้ลึก หรือ อยากจะแก้ไขอะไรที่จุดเริ่มต้น ค่อยเจาะลงไปหาสิ่งนั้น