My Shell History

อยู่ดีๆ อยากเล่นอีกรอบหลังจากลองทำไปเมื่อต้นปี 2010 ได้ผลตามด้านล่าง สิ่งที่เปลี่ยนไปจากครั้งที่แล้วคือ svn หายไปและมี git โผล่มาเป็นหลักแทน ไว้อีกปีครึ่งมาลองอีกทีดูว่าจะใช้ version control ตัวใหม่อีกหรือป่าว ทำแบบนี้ทุกปีสองปีก็เห็นพฤติกรรมตัวเองที่เปลี่ยนไปทีนะ

Read full story Comments { 0 }

Good workspace

ช่วงนี้ทดลองอย่างนึงคือออกมาทำงานตามร้านกาแฟดูบ้าง พบว่ามัน Work มากเพราะสิ่งรบกวนทั้งหมดแทบหายไปเกลี้ยงเลย (มันมีสิ่งรบกวนใหม่เข้ามาแทนที่แต่จัดการได้ง่ายกว่ามาก) เลยลองคิดเล่นๆ ดูว่าบรรยากาศ สถานที่ทำงานที่เหมาะกับตัวเองมีอะไรบ้าง ต้องไม่มีใครรู้จักเพราะคนรู้จักเหล่านี้แหละคือแหล่งรบกวนชั้นยอดเลย เข้าถึงตัวได้ง่ายมีปัญหาเร่งด่วนสามารถกระตุกหูฟังให้หลุดพร้อมกับงานที่อยู่ตรงหน้า และต้องไปแก้งานเร่งด่วนแทน (ซึ่งจริงๆ ก็ต้องไปแก้แหละ แต่ว่ากระขัดจังหวะอย่างนี้ทำให้สลับงานแล้วมันหงุดหงิด อารมณ์เลยเสียไปด้วย) ต้องมีแอร์ที่เย็น! ความร้อนถือเป็นอุปสรรคในการเขียนโปรแกรมอย่างหนึ่งเพราะคงไม่มีใครอยากเขียนโปรแกรมไปขณะเหงื่อแตกหละมั้ง มีปลั๊กไฟ! ข้อนี้สำคัญมาก เพราะถึงแม้ว่าแบตเตอรี่ของ Notebook จะอึดซักเท่าไหร่ แต่ถ้ามานั่งเช้าจดเย็นและใช้ CPU หนักๆ ในการ Compile Battery ที่อึดๆ ยังไงมันก็คงอยู่ได้ไม่ทั้งวัน ต้องไม่มีอะไรที่นอนได้ ทั้งหมอน เตียงนอน หรือโซฟา เพราะมันมักชักชวนเราให้ไปเอนตัวและเผลอหลับไปได้ ยิ่งอยู่บ้านมีแอร์เย็นๆ ด้วยแล้วนะ งานนี่แทบไม่เดินเพราะมักเผลอเอนตัวแล้วหลับไปซะทุกทีซะงั้น (ทำงานเกี่ยวกับเขียนโปรแกรมที่มีแต่ตัวหนังสือ มันก็ชวนง่วงอย่างนี้แหละ) Internet ต้องเร็วพอสมควรและเสถียร เร็วพอสมควรนี่ไม่จำเป็นต้องขนาด 100 Mbps ขอแค่มันเปิดเว็บหาข้อมูลได้เร็วก็ใช้ได้แล้ว แต่ความเสถียรนี่สำคัญมาก เมื่อวานลองเปลี่ยนร้านกาแฟไปทำงานในกรุง ทำงานไม่ได้เลย เพราะ wireless สัญญาณหายไปกับอากาศที่พัดไปมาทุกสิบนาที หมดอารมณ์ในการทำงานเลยทีเดียว ไม่มีเสียงรบเกินจนเกินไป อาจไม่สำคัญสำหรับคนอื่น [...]

Read full story Comments { 0 }

G+ and others

เล่น G+ มาได้สองสามวันเลยทำตารางซักหน่อยว่าต่างจากคนอื่นยังไงบ้าง เพราะมันคล้ายๆ เอา Twitter มาปนๆ กับ Facebook ใครมีอะไรเพิ่มเติมหรือแย้งก็ลองแนะนำมาดู แล้วจะเอาไปเพิ่มใน Spreadsheet ให้ครับ

Read full story Comments { 0 }

NoSQL Model

หลายวันก่อน @somkiat เล่าว่าจะใช้ NoSQL ให้ศึกษาถึง Model ที่ใช้ก่อนที่จะเลือกว่าจะใช้ Database ตัวไหน วันนี้พึ่งเข้าใจหลังจากเล่น Redis อีกครั้ง เพราะเป็น Database ที่ต่างจากตัวอื่นจริงๆ โดยเฉพาะเวลาจะ query เลือก data ที่ต้องการ ทั่วไปแล้วก็มีสองแบบ Document Oriented – แบบแรกเวลาที่จะเอาข้อมูลขึ้นมาใช้ จะสามารถค้นหาผ่าน field ต่างๆ ได้โดยตรง สมมติมีข้อมูลแบบด้านล่าง DB ที่ใช้ Model แบบนี้สามารถหาผ่าน field แต่ละ field ได้เลยเช่นกำหนดว่าต้องการ query field name ที่มีค่าเป็น Lucy หรือ field age อยู่ในช่วง 12 และเราสามารถเพิ่ม field เข้าไปเพื่อค้นหาได้เลยด้วย DB กลุ่มนี้ก็พวก MongoDB, CouchDB [...]

Read full story Comments { 4 }

@With @Before @Check @Playframework

หลังจากพึ่งพา Security module มานานและขัดใจกับ @With(Secure.class) ที่ method ทั้งหมดจะ access ได้ต้อง authen ก่อนแต่บาง method ไม่ต้องการอย่างนั้นเลยต้องสร้าง class แยก วันนี้ลองขุดๆ code security module ดูถึงรู้ว่าจริงๆ แล้ว @With มีหน้าที่อะไร และ @Before ทำอะไรได้ และ @Check จริงๆ แล้วมันทำงานยังไง @With ใช้สำหรับรวม method ของ Class เข้าด้วยกันทำให้ annotation ต่างๆ เช่น @Before @After… มองเห็นข้าม class ที่ถูกประกาศไว้ เช่น จาก code ด้านบนเมื่อเรียกมาที่หน้า B.show จะมีการเรียก setup และ tearDown ก่อนและหลังจากที่ [...]

Read full story Comments { 1 }