2014 ผ่านไป Blog นี้มีอะไรบ้างนะ

วันนี้ไดีเขียน Blog นี้สองรอบ เพราะเผลอไปลบ Database ออกไปจาก Host (ดีที่ทางทีมงานได้กู้ข้อมูลให้ ขอบคุณทางทีม THZHost มากๆครับ ไม่งั้นผมต้องมานั่งไล่เขียนใหม่ 5 ตอน) สำหรับ DebuggingSoft ตอนแรกที่ผมสมัคร Domain นี้ เพื่อทำ Software House เล็กๆ ทำตามเทรน Startup แต่เนื่องจากเพือนร่วมอุดมการณ์หลายคนได้ออกไป เพราะ อาจจะมีทางเลือกที่สบายกว่า อย่างไปเป็น Fulltime Trader หรือ เปลี่ยนสายงานไปเลย เพราะไม่ชอบงานด้าน Developer มันจึงเป็ฯสายเหตุให้เว็บนี้มีแต่ Blog ยังไม่มีหน้าเว็บหลัก แต่ผมยังรับ Job อยู่นะ เท่าที่ตัวเองทำไว รอสร้าง Software Product ได้สักตัวก่อน เดี๋ยวผมจะมาทำหน้าเว็บอีกที จากย่อหน้าที่แล้วหลายคนอาจจะสงสัยว่าทำไมผมจึงเลือกเขียน Blog คือ ผมเริ่มจดบันทึกความรู้ เทคนิคต่างๆในแต่ละวิชาลง Blog ตั้งแต่ปี 1 ลงที่เว็บ Blogspot และ เว็บบอร์ด comswu.com นะครับ พอเรียนจบมาผมเริ่มที่จะมีแนวคิดในการทำเว็บ Blog ส่วนตัว โดยเริ่มทยอยเขียนมาเรื่อยๆตั้งแต่ปี 2012 ประปรายมาเรื่อยๆจนมาเขียนจิงจังตอนปี 2014 ครับ ซึ่งเป็ฯปีที่ผมเริ่มทำงานในฐานนะ Application Developer มา โดยในปีนี้ผมได้เขียน Blog ทั้งหมด 89 เรื่อง เฉลี่ย 4 วันต่อ 1 Blog โดยมีความถี่ในการเขียน ดังนี้ (เห็นว่าช่วงเดือนกรกฏาคม ผมเขียน Blog เยอะหน่อยครับ เพราะเป็นช่วงเปลี่ยนถ่าย Project พอดี) โดยในปีนี้มี Blog ยอดนิยมที่มีผู้ชมทั้งหมด 5 เรื่อง ดังนี้ เวลาพัฒนาระบบ บางครั้งทำไมเราถึงต้องกำหนดให้…

ปีใหม่ สอง ห้า ห้า แปด ให้รางวัลกับตัวเองบ้าง

แปบๆ ก็ผ่านไปอีกปีแล้ว ชีวิตการทำงานเป็นมนุษย์เงินเดือนผมก้ผ่านมาทั้งหมด 1 ปี 4 เดือน และก็มีการรับงานนอกมาบ้าง เพื่อพัฒนาทักษะ หลังจากเหนื่อยมาทั้งปีและ ผมขอให้รางวัลกับตัวเองบ้างนะครับ โดยมี เสื้อผ้า กับการเกงขาสั้น หลังจากงกไม่ซื้อเพิ่มมานานและ หนังสือ “ออกแบบ และพัฒนาโปรแกรมฐานข้อมูลด้วยเทคโนโลยี .NET”เพื่อเพิ่มความรู้ในงานที่ทำอยู่ครับ หนังสือ “พูดไม่กีคำ ทำเงินล้าน” เพื่อพัฒนาจุดด้วยของผมเลย คือ ความลังเล กลัวที่จะพูด หรือคุยกับคนอื่น (ลึกๆผมชอบคิดว่าตัวเองด้อยกว่า เพราะถูกส่งไปในโรงเรียนที่มแต่การอวดร่ำอวดรวยกัน ผมเลยเลิกที่จะเงียบดีกว่า) และเล่มทุกท้ายและ หนังสือ “คุ้ยแค้ แกะหุ้น เด้ง” เอาไว้่ เพื่อความรู้ด้านการลงทุน เพราะ การลงทุนมีความเสี่ยง ผมจึงเลือกลงในความรู้ครับ จริงๆอยากได้พวก Notebook กับกล้อง DSLR นะ แต่รอถึงโอกาสที่จำเปนจริงๆดีกว่า เพราะลองอย่างนี้มันใช้เงินทุนสุดครับ และก่อนจากไป สุขสันต์วันปีใหม่ปี สอง ห้า ห้า แปด ครับ 

[DB2] BEGIN VS BEGIN ATOMIC

IBM DB2

ตอนแรกก็ไม่ได้เอ๊ะในอะไร คิดว่าเป็นเพียงแค่ชื่อ ธรรมดา แต่พอแก้ชื่อ Error เลย ผมเลยลองหาข้อแต่ต่างของ BEGIN ATOMIC ว่าต่างกับเจ้า BEGIN ธรรมดาอย่างไร โดยคำสั่ง BEGIN ATOMIC มีการจัดการ Transaction เ้สริมเข้ามา ถ้าคำสั่งภายใต้ BEGIN ATOMIC … END นั้นเกิดปัญหาขึ้น DBMS จะ ROLLBACK ข้อมูลกลับทั้งหมดครับ ตัวอย่างการใช้งาน เช่น

Security Audit และ Hardening คือ อะไร

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

[Crystal Report] Formula ต่อ String

งานช่วงนี้ของผมมีแก้ Report บ้าง โดยใน Report อันนี้เป็นการบอกสถานะของ User ว่าต้องมี Message แจ้งเตือนอะไรบ้าง ได้แก่ จากข้อมูลคร่าวๆนี้ หลายๆคนตอนออกแบบ Layout อาจจะแยก 3 Message ออกเป็น 3 formula ซึ่งมาถึงตรงนี้ อาจจะพบว่าปัญหาว่า User บางคน มีแต่ 2 Message ทำให้การแสดงผลมันดูแหว่งๆ และไม่สวยงามครับ (ตัวอย่างในรูปพบว่าพื้นที่สีเหลืองที่ hilight คือ พื้นที่ที่แหว่งไป ถ้าไม่มีคำว่า “- User must change password at next login.” แสดงผลอีกมันคงดูแปลกๆนะครับ)ทางแก้ของผม คือ เวลาสร้าง Formula ก็ให้เก็บ Message แต่ละอันไว้ในตัวแปรก่อน แล้วค่อยนำมาแสดงผลทีเดียวครับ ดังนี้ ผลลัพธ์ที่ได้ครับ ไม่มีบรรทัดว่างแล้วครับ หมายเหตุ:

Sinthorn bookmark

พรุ่งนี้รีบเข้าหุ้น…ด่วนที่สุด แล้วต้องออกเมื่อไหร่ ตามเจ้าให้ทัน ติดหุ้นครับ cut loss ไม่ทัน ต้องเป็น VI จำเป็น ทำไงดี ลงทุนแบบ DCA ผ่านกองทุนย้อนหลัง 7 ปี ๙ แล้ว ๖ ๖ แล้ว ๙ หลังไมค์ว่าด้วย “๙ก้าวแล้ว๖หกล้ม” ที่ถามมาคือ หกล้มไปแล้วจะลุกขึ้นมาก้าวเดินใหม่อย่างไร ? แชร์ประสบการณ์ มนุษย์เงินเดือน เปิดบริษัท ครบรอบหนึ่งปี สำหรับคนที่กำลังสนใจในเรื่อง System Trade ผมว่าบทความนี้จาก pantip ดีมาก น่าอ่าน ผ่อนรถยนต์ ราคา 700,000 บาท 5 ปี เท่ากับคุณได้ทำเงินหายไป 1.3 ล้านบาท ในการออมเงินในหุ้น Excel ตารางบันทึกการซื้อขายหุ้น สอนการคิดค่างวดขั้นต่ำ (สำหรับผ่อนบ้าน/ที่อยู่อาศัย) เอาตารางคำนวณดอกเบี้ยบ้านใน Excel มาฝากครับ ผลตอบแทนแบบทบต้นตั้งแต่ลงทุน เครื่องมือวัดผลที่ควรใส่ใจ แจกโปรแกรมวิเคราะห์ผลตอบแทนเพื่อการศึกษาและเรียนรู้โดยไม่มีค่าใช้จ่ายใดๆทั้งสิ้น

[DB2] SQL0668N Operation not allowed for reason code 7 on table

IBM DB2

วันนี้ผมนั่งทำงานเขียน Code เขียน Query อย่างเบลอๆ พอลองมา Test Program ปุบ เจอ Error Message แจ้งเตือน ดังรูป โดยเจ้า Error Message นี้ เป็นการบอกว่า Table ของเราอยู่สถานะ Pending รอการ REORG TABLE (สำหรับคนที่ส่งสัยว่า REORG คือ อะไร ให้ตามไปอ่านกันครับ) ซึ่งมีสาเหตุ มาจากการที่ผมไปแก้ Datatype ของ Column ‘USERDESC’ ใน Table จาก varchar(30) ไปเป็น varchar(3oo) ครับ ส่วนทางแก้ไข ก็ง่ายๆครับ แต่รันคำสั่ง REORG TABLE  ที่เกิดปัญหา จากนั้นลอง Query ดูพบว่าสามารถใช้งานได้แล้วครับ Reference

[SQL Server] แก้ไขโครงสร้าง Table SSMS ขึ้น Saving changes is not permitted

Microsoft SQL Server

สำหรับ DEV หรือ DBA มือใหม่ เมื่อได้สร้าง Table แล้ว เกิดต้องมีเหตุ กลับเข้ามาแก้ไขโครงสร้างของ Table อาจจะเกิดการ Change Requirement (จริงๆ จะแก้อะไรมันก็มาจากกรณีนี้เยอะมาก 555) หรือ ปรับโครงสร้างเพื่อเพิ่ม Performance เป็นต้น จะพบว่าตัว SQL Server เอง มันไม่ยอมให้เราแก้ไข โดยมี Message แจ้ง ดังรูป ก่อนที่เราจะรู้วิธีการแก้ไข ผมว่าเรามารู้ถึงสาเหตุดีกว่า ทำไมตัว SQL Server ถึงไม่ให้ก่อนดีว่า เพราะเนื่องจากบาง Operation ต้องมีการ Re-Created Table ใหม่ ซึ่งส่งผลกับ Data เดิมที่มีอยู่ใน Table เนื่องจากในบางกรณี เช่น การเปลี่ยน Data type ของข้อมูลใหม่ ถ้าเป็นข้อมูลประเภทตัวเลข อาจจะส่งผลถึงค่าพวกทศนิยม หรือการปัดเป็นจำนวนเต็ม จนทำให้ข้อมูลผิดพลาดได้ เป็นต้น โดยกลุ่มของ Operation ที่สางผลให้มีการ Re-Created Table ใหม่ จากประสบการณ์ที่ผมเจอมา มีดังนี้ พอรู้ถึงสาเหตุแล้ว ก็มาวิธีแก้ไขบ้าง โดยทำตามขั้นตอน ดังนี้ โดยตัวอย่างที่ผมได้ทดสอบ คือ การปรับแก้ Data Type ของ Column “OBJECTNAME” จากเดิม nchar(100) ไปเป็น nchar(200)

[DB2] การเพิ่ม Database Connection ใน Toad for DB2

IBM DB2

ถ้าคนที่เคยใช้ DB2 มา จะพบว่าตัว Database Manager ที่ใช้ในการจัดการ Query ต่างๆ มันช้า และไม่มี Feature ที่ช่วย User ได้ดีอย่างทางฝั่ง SQL Server และ Oracle และหลายๆคนก็น่าเคยใช้ Tools ตัวนึงที่ชื่อว่า Toad for DB2  กัน โดยวันนี้ผมมาแนะนำวิธีการ Setup DB Connection ครับ กรณีที่โปรแกรม ไม่สามารถไปดึงข้อมูลจาก ODBC ที่ตั้งไว้ครับ