ไปบริจาคเลือดครั้งแรก

วันนี้วันดี 12 เมษา เลยตัดสินใจใช้วันลาที่สะสมแแต้มไว้เยอะถึงเกือบ 50 วัน 555 โดยแพลนวันนี้ คือ นั่งรถเมล์ชมวิวไปเล่นๆ โดยมีปลายทางอยู่ที่ ศูนย์บริการโลหิตแห่งชาติ สภากาชาดไทย ถนนอังรีดูนังต์ ครับ มาบริจาคเลือดครั้งแรก หลังจากหาวันหยุดยาวได้พอดี (เผื่อเวลาพักผ่อนยาวววว ถ้าไหวก็มาทำตัวระบบ BOT DMS ต่อครับ) หลังจากลง 177 เดินตาม Google Map มาเรื่อยๆ ประมาณ 15 นาทีครับ พอเดินเข้ามาถึง ก็มีโครงการแจกเสื้อเลย คุ้มๆ 5555 ไม่คิดว่าจะได้ ตอนแรกเดินมาก็งงๆครับ โดยตอนนีมีเจ้าหน้าที่แนะนำครับ โดยขั้นตอนหลังๆ อยู่ที่ป่ายนี้ครับ STEP 1: ไปลงทะเบียน กรอกเอกสาร วัดความดันจากเครื่องวัดความดันอัตโนมัติแบบสอดแขนครับ STEP 2: ส่งเอกสารให้แผนทะเบียน Key ข้อมูลเข้าระบบ STEP 3: เป็นการตรวจเลือดคร่าวๆ ซักถามประวัตินิดหน่อยก็โดนเจาะครับ โดยคุณหมอ ได้แนะนำคร่าวๆ ดังนี้ นอนให้ได้เยอะที่สุด และปกติ ไม่ควรนอนหลังเที่ยงคืนครับ พยายามไม่กินของมันๆ ก่อนบริจาค เป็นไปได้คราวดื่มน้ำเยอะๆครับ เพราะ เราเสียเลือดไปเยอะครับ และป้องอาการวิงเวียน และช็อคครับ ถ้ามีพฤิตกรรมเสี่ยง ห้ามบริจาคนะครับ ในใบลงทะเบียนจะมีแบบสอบถามอยู่ครับ อ๋อ และก็จะได้ยาบำรุง เพิ่มธาตุเหล็กด้วยครับ และก็ ถ้ามาครั้งแรกอาจจะมีการตรวจ Group เลือด นิดๆหน่อยๆครับ STEP 4-5: เจาะเลือดแล้วครับบบบบ (มี 2 ห้องครับ แล้วแต่ดวงครับ) ถ้าไปคิวแขนซ้ายจะเร็วกว่าครับ ฮ่าๆ จากนั้นโดนเจาะดูดเลือดไปครับ โดยวันนี้เสียเลือดไป 450 ซีซี ครับ STEP 6: หลังจากเสียเลือดไปเยอะ เรามาฟื้นพลังด้วยของกินกันครับ STEP 7: รับของที่ระลึกครับ เข้าใจว่าได้ตามจำนวนครั้งที่บริจาคครับ STEP…

บัญชี FCD คือ อะไร

พอดีลองทำโปรแกรม BOT DMS  แล้วเห็นข้อมูลตัวอย่างที่ลูกค้าส่งมาให้ เลยลองหาข้อมูลเล่นๆ ดูว่า เจ้าบัญชี FCD คือ อะไร โดยบัญชี FCD ย่อมาจาก Foreign Currency Deposit โดยมีจุดประสงค์ เพื่อลดการผันผวนของค่าเงิน เช่น หลายคนอาจจะงงนะครับว่าบัญชี FCD มันลดการผันผวนของค่าเงินได้อย่างไร ลองดัวอย่างดีกว่าครับ เช่น แต่หลายคนอย่าคิดจะเอาบัญชี FCD มาเก็งกำไรค่าเงินนะครับ เพราะ อ้าว!!! แล้วถ้าไม่อยากเปิดบัญชี FCD ดองไว้ เราสามารถใช้ Product ทางการเงินอื่นๆช่วยลดการผันผวนของค่าเงินได้ไหม คำตอบ คือ มืนะครับ อาทิ เช่น สำหรับแต่ละตัว มีความแตกต่างกันอย่างไร เดี๋ยวผมเขียน Blog อธิบายเรื่อยๆครับ    

ความแตกต่างของ Unit Test และ Integration Test

Unit Test คือ การทดสอบ Code ในส่วนที่เล็กที่สุดของ Developer เพื่อทดสอบว่าสิ่งที่เขียนมามันใช้ได้จริงนะ และมี Test ตามที่ผู้พัฒนาเห็นว่ามันสำคัญ (พยายามทำให้ได้เยอะที่สุดครับ) Test ควรทำได้ง่าย เขียนสั้น และกระชับ เพราะกลุ่มคนหลักๆที่ใช้ คือ ตัว Developer เองครับ สิ่งที่เป็นหัวใจหลักของ Unit Test คือ ทำให้มันอยู่ได้ด้วยตัวมันเอง ไม่มี Dependency ไปยุ่งกับ Code ตัวอื่นๆ ถ้าจำเป็นต้องใช้จริงๆ ให้ Mock มันเข้ามาให้หมด เพราะจุดประสงค์ของ Unit Test ดูเฉพาะ Logic การทำงานในส่วนที่เราสนใจจริงๆ ไม่จำเป็นต้องสนใจสภาพแวดล้อมภายนอก อย่างที่คนกลุ่มอื่นๆสนใจ ได้แก่ Tester หรือ User สนใจครับ ถัดมาเป็น Integration Test ระดับการทดสอบนี้มีไว้ เพื่อแสดงภาพรวมของระบบ ควรมีความใก้ลเคียงกับ Production มากที่สุด ห้ามมี Mock ถ้าไม่จำเป็นต้องใช้จริงๆ ว่าระบบมันสามารถทำงานได้จริงในทุกส่วน ต้องเขียน Test ให้คลุม อาจจะทำเป็น UI Test เป็นต้น โดยการเทสแบบนั้น พยายามให้สภาพแวดล้อมเหมือนจริงที่สุดครับ เช่น ถ้ามีการเชื่อมต่อกับ DB จริงๆ ก็ต้องมี DB เอาไว้เทส หรือถ้ามี API เปิดไว้ ก็ควรมีเจ้า API สำหรับ Test เหมือนกันครับ เป้าหมายของ Integration Test คือ ให้คนที่ไม่ใช่ Develop เข้าใจภาพรวมการทำงานครับ จะว่าไปส่วนใหญ่ ผมก็พยายามทำ Integration Test มากกว่า Unit Test นะ เผางานให้รีบทันส่ง

เมื่อสลากออมสินหมดอายุลง

ห่างจากการเขียน Blog ไปหนึ่งเดือนเต็มๆ เนื่องจากกำลังปั่นงาน และแก้ Change ของ Site เจ้าของสลากนี่แหละ และพอดีวันที่ 1 เมษายน ของทุกๆปี เป็นวันสถาปนาธนาคารออมสิน ผมก็เลยนำสลากของเดิมไป Rollover (ต่ออายุต่อ) หวังลมๆแล้งๆว่าจะถูกรางวัลตอบแทนการทำโมดูล DataSet, DataFile ที่ส่งข้อมูลให้ BOT ครับ 55555 จากรูปข้างต้น ผมฝากไป 3 ปี ทุน 5,000 บาท ได้ 100 หน่วย ดอกเบี้ย 2.75 บาท ต่อหน่วย เมื่อครบ 3 ปี ก็จะได้ดอกเบี้ยรวม 275 บาทครับ คราวนี้มาลองมุมกลับกัน ถ้าผมเอาเงิน 5,000 บาทนี่ไปทำอย่างอื่นหละ ฝากออมทรัพย์ เอามาจากเว็บนี้นะครับ ฝากประจำ 36 เดือน มองเฉพาะเงินงวดแรกที่ไปฝากประจำนะครับ โดยผมใช้เว็บของ ME by TMB ในการคิด ลองกองทุนตราสารหนี้ อันนี้ผมลงทุนกองทุน T-TSB ของ TFUND ใช้ข้อมูลจาก WealthMagik นะครับ โดยใช้ Feature Simport รู้สึกกำไรน้อย 5555 ลองกองทุนหุ้น อันนี้ผมลงทุนกองทุน KTSE ของ KTAM ใช้ข้อมูลจาก WealthMagik นะครับ โดยใช้ Feature Simport นะครับ แต่อาจจะต้องมีคิดเพิ่มบางส่วนนะครับ เพราะตัวเว็บไม่ได้ตอบโจทย์ของ Blog ตอนนี้ เงิน 3,000 บาทได้หน่วยลงทุนจำนวน 183.5513 หน่วย ราคาหน่วยละ 16.3442 บาท ได้ปันผล (688.31) 12/04/2556 หน่วยละ 2 บาท ได้เงิน 367.10 บาท 11/09/2557  หน่วยละ 1 บาท…

Code Mania 11: Raise the Bar

เมื่อวันเสาร์ที่แล้ว ผมได้ไปงาน Code Mania 11 โดยมีเรื่องน่าสนใจ ดังนี้ Session ตอนเช้า – Wongnai Engineering Story ในช่วงนี้เป็นการเล่าถึงการจัดการด้าน Infrastructure ของ Wongnai ว่าตั้งแต่เริ่มต้นจาก Mac เพียง 1 เครื่องทีตั้งไว้ที่ CAT จนมีปัญหาที่ละ เรื่อง และทำให้ย้ายไปใช้ Cloud ในแต่ละชั้น ดังนี้ครับ 1. ระบบเมล์ 2. App Server 3. อีกส่วนเป็นปัญหาของ DB ที่ใช้ MySQL ซึ่งก็รู้ๆกันอยู่ว่า 4. Searching – Like Behaviour on Facebook Pages อันนี้เป็นงานวิจัยของนิสิต ป.เอก ของ ม.จุฬา ที่สนใจข้อมูลของการ like โดยทำ bot เพิ่มเก็บข้อมูล โดยใช้ Graph API ที่ทาง Facebook เตรียมไว้ให้ครับ และใช้ Tool ชื่อ Tableau มาทำ Data Virtualization ให้เห็นภาพมาขึ้นว่าแต่ page แต่ละหมวด มีพฤติกรรมอย่างไร แล้วมีช่วง peak time ในเวลาไหนบ้าง – Hello! Functional Programming – เปิดตัวสมาคมโปรแกรมเมอร์ไทยครับ คั่นเวลาด้วยอาหารเที่ยงกันครับ อิอิ (ถ้าใครติดตาม Instagram ผม จะรู้ว่ามีแต่อาหาร 5555) Session ตอนบ่าย – Test Double Patterns with Python ดูตาม Youtube เลยครับ…

[MySQL] การจัดการเมื่อต้อง Query กับฐานข้อมูลที่ขนาดใหญ่

บางครั้งเรามี Query ที่ Join Table เยอะๆ และมีผลลัพธ์มหาศาลประมาณหลายแสนรายการครับ เราอาจจะมีการปรับจูน DB เช่น ทำ Index หรือทำ Query Cache เป็นต้น แต่ในมุมของ Dev เราสามารถปรับโปรแกรมได้เหมือนกัน โดยปรับ Query จากเดิมที่ Join กับหลายๆ Table มา Query ตรงๆที่ละ Table แล้วนำข้อมูลมา Process ใน App แทนครับ

UAT Test Script ควรทำขึ้นมาจากอะไร

หลังจากที่ได้ไปงาน CodeMania 11 ได้ไปฟัง Session ของพี่รูฟนะครับ ในหัวข้อ ATDD (Acceptance Test Driven Development) ครับ จากแนวคิด Zero Defect ก่อนเข้าเรื่องมาอารัมภบทกันก่อน เกิดจากความเข้าใจของ User, BA, SA และ DEV มีความเข้าใจที่ไม่ตรงกัน Zero Defect มันบอกตรงตัวอยู่แล้วว่า ข้อผิดพลาดทุกอย่างเป็นศูนย์ แล้วมันทำได้อย่างไร ? สำหรับบางที่อาจจะเกิดปัญหาว่า User ไม่เข้าใจกระบวนการพัฒนาระบบ เราอาจจะต้องมีการ Guide ด้วยนะครับ ไม่งั้นความต้องการจะบิดเบี้ยวไปหมด

[IT] (แปล) ทำไม Microsoft ถึงสร้าง Data Center ใต้มหาสมุทร ?

คำกล่าวแรกสำหรับ Project นี้ของ Microsoft ครับ “50% of us live near the coast. Why doesn’t our data?” หลายคนอาจจะได้อ่านข่าวไอทีที่ว่า Microsoft เปิดตัว Data Center ใต้น้ำ ตัวแรกของโลก โดยใช้ชื่อโครงการ Project Natick และสร้างตัวแบบชื่อ Leona Philpot ซึ่งผ่านการทดสอบมาแล้วจำนวน 105 วัน เรามาดูกันว่าทำไมยักษ์ใหญ่ด้าน IT อย่าง Microsoft ถึงคิดเช่นนั้นครับ เมื่อมีเหตุผลในการสร้าง แล้วก็ต้องมีข้อจำกัดครับ เพราะ ปกติงานทาง IT กับ Data Center จะอยู่บนบก คราวนี้ไปอยู่ใต้น้ำ ที่มา : The Hacker News , Project Natick

[DB2] Query ตรวจสอบการ Set Automatic Storage ของ Table Space

IBM DB2

เมื่อวานได้ลองขึ้น DB สุดท้ายแล้ว พอทดสอบ Run App มันแจ้ง Error นี้ครับ SQL0289N Unable to allocate new pages in table space “USERSPACE1”. SQLSTATE=57011 สาเหตุ DB2 มันจัดสรรพื้นที่ให้ไม่ได้ แต่การที่เราจะแก้อะไร ควรจะดู Config เก่าก่อน สำหรับ Query ที่เอาไว้ตรวจสอบ Automatic Storage ของแต่ละ Table Space มีการกำหนด (YES หรือ NO) สามารถดูได้จาก Query ดังนี้ ผลลัพธ์จากการ Query นะครับ ส่วนปัญหาที่แท้จริงในตอนต้น Blog เกิดจากไป Restore DB ผิดที่ครับ พื้นที่เลยไม่พอ T__T