[AIX] Change Server Date

สำหรับคนที่ใช้ AIX อาจจะต้องมีการย้อนเวลาที่เครื่อง Server บ้าง เราสามารถใช้คำสั่ง date ได้ครับ โดยถ้าพิมพ์ [shell]date[/shell] เพื่อแสดงวันที่ปัจจุบัน แต่ถ้าต้องการแก้วันที่ เราต้องใช้คำสั่ง ดังนี้ครับ [shell] ::date MMDDHHMMYYYY << รูปแบบ Parameter ที่ต้องส่งเข้าไปเป็น เดือน วัน ชั่วโมง นาที และปี date 093015302015 [/shell] จากคำสั่งข้างต้นเป็นการ Set วันที่ให้ AIX เป็นวันที่ 9 กันยายน ปี 2015 (AIX ไม่รู้จัก พ.ศ. นะ) เวลา 15:30 ครับ  

[CR] รีวิวร้าน Marugame Seimen สาขาเซ็นทรัลปิ่นเกล้า

หลังจากไม่ได้มาเขียน Blog เลย 1 เดือนเต็มๆ เพื่อมาจบงาน ฺBOT DataSet Season 1 ก่อน วันนี้หลังจากดูงานที่ค้าง และดูงานใน Season 2 จบแล้ว ผมรีบกระโจนขึ้นรถเมล์มาห้างเซ็นทรัลปิ่นเกล้าเลย ที่เพิ่งเปิดชั้น G ไป จุดประสงค์หลักเลยสำหรับเย็นนี้นะครับ คือ การกิน โดยวันนี้ไปก็ไปแอบส่องร้านดังที่มาเปิดใหม่ครับ แต่ส่วนใหญ่ไม่มีที่นั่งเลย หลังจากสำรวจอยู่นาน และได้กลิ่นหอมๆลอยมา ผมเลยเลือกเข้าร้าน Marugame Seimen (ช่วงนั้นมีที่นั่งว่างพอดีอีก 555) สำหรับการสั่งอาหารให้ร้านนี้ จะแตกต่างจากร้านอื่นๆครับ โดยร้านนี้จะเป็นแบบ Self Service ครับ โดยขั้นตอนสามารถดูได้ตามรูปเลยครับ (น้องคนเก็บตังค์น่ารักด้วย) โดยผมได้ลองเชิงสั่งอุด้งซุปกระดูกหมูสไปซี่ รสชาติเข้มข้นครับ เข้ากับเครื่องเคียงได้ดีครับ กับข้าวปั่นไก่เทริยากินะครับ โดยอันหลังนี่น้ำเทริยากิแห้งไป ส่วนตัวชอบกินแบบน้ำชุ่มๆ ดูรูปยั่วน้ำลายตาม Gallery ได้เลยครับ อันนี้เป็นเมนูอื่นๆของทางร้านครับ และก็ลด 20% ทุกเมนูจนถึงวันที่ 4 ตุลาคม 2558 นะครับ (พรุ่งนี้เย็นแวะไปกินแกงกะหรี่ดีกว่า)

XAMPP Port 80 in use by “Unable to open process” with PID 4

หลังจากไว้ใช้ App Server ที่คอมตัวเองเสียนาน พอดีมีต้องสอน PHP ให้น้องที่รู้จักพอ Run Apache บน XAMPP เท่านั้นแหละ ปรากฏว่า Start ไม่ขึ้น 55555 ตามรูป Feature ต้องขอชมทาง Dev ที่พัฒนา XAMPP นะครับที่ช่วยแสดง Error ให้ง่าย ถ้าเป็นเมื่อสัก 3 ปีก่อนนี้ต้องใช้ประสบการณ์ล้วนๆ (ที่ใช้ Version เก่านี่ ดูจากวัน Build เพราะ อยากจะบอกว่ามันมี Message แจ้ง Error สวยๆมานานแล้ววววว) มาที่ Error ที่แจ้งเตือนบ้างครับ XAMPP Port 80 in use by “Unable to open process” with PID 4 เอาง่ายๆเลยครับ Port ถูกยึดจาก Process ID = 4 จากนั้นเราจะไปหากันครับ ว่าจะไปจับโจรปล้น Port ได้ที่ไหน Tools ง่ายที่เราจะใช้นะครับ หรือ Resource Monitor จะรู้ว่า Port 80 ถูกยึดไป จาก Process ของ System ดังรูปครับ หรือใช้ ได้ครับ พอเรารู้ว่ามันเป็น Process ของ System อันนี้แนะนำให้หาข้อมูล เพิ่มเติมจาก Google ก่อน เพราะว่า Process นี้เป็นของ System เดี๋ยวปิดไปแล้วคอมค้าง 55555 โดยผมได้หามาให้เรียร้อยแล้วครับ มันคือ “World Wide…

[C#] พัฒนาระบบได้ โดยไม่จำเป็นต้องลง DevExpress

DevExpress เป็น Tools ที่ช่วยให้การพัฒนาฝั่ง UI ง่ายๆครับ แต่มันแพง ถ้าทีมเรามี Dev กันหลายๆคน จำเป็นไหมที่ต้องลง DevExpress หมดทุกเครื่อง คำตอบ คือ ไม่จำเป็นครับ (ไม่ใช่ให้ไปลงเถื่อนนะครับ) แต่เราสามารถแก้ไขปรับเปลี่ยนนิดหน่อย เพื่อให้ Dev คนอื่นๆที่ไม่ได้ต้องมาแก้ UI เช่น จัดการกับ Business Logic หรือ จัดการกับ Database สามารถทำงานได้ครับ โดยการแก้ไฟล์ licenses.licx ให้เป็นไฟล์เปล่าๆ ใน Project Main ของเราครับ

[SQL] การเขียน Query ให้สามารถรองรับ Config ได้

เดี๋ยวขออธิบายเนื้องานคร่าวๆ ก่อนนะครับ ตอนนี้ผมทำตัว DataSet สำหรับ Export ARS ไปส่งให้ทีมบัญชี เพื่อส่งไปให้ Bank ชาติอีกทีนึครับ แล้วที่นี้มันมีข้อกำหนดที่ว่า

[DB2] หา Table / Column ตาม SQL Error Message

IBM DB2

พอดีเจอมาหลายครั้งแต่ แต่ก็ยังไม่ได้เขียนสักที ในระหว่างเราพัฒนาโปรแกรมเชื่อมต่อกับฐานข้อมูล DB2 บ่อยครั้งมักมี Error Message ของตัว SQL เช่น SQL0407N แล้วทีนี้ เราจะรู้ได้อย่างไรว่ามัน Error ที Table ไหน เพื่อทีจะได้หาสาเหตุได้อย่างรวดเร็วครับ SQL Error Message โดยมีได้มี Error Message ดังนี้ ERROR [23502] [IBM][DB2/NT64] SQL0407N Assignment of a NULL value to a NOT NULL column “TBSPACEID=2, TABLEID=1111, COLNO=7” is not allowed. จากตัวอย่าง ERROR ที่แจ้งมาพบว่ามี Keyword 3 ตัวที่เราสามารถนำไปหาได้ว่ามันเกิด Error จาก Table ไหน ดังนี้ Query to Find Name by TBSPACEID / TABLEID / COLNO จาก Keyword เหล่านี้ เราสามารถที่รายละเอียดได้จาก Schema SYSCAT (เป็น View ที่ทาง IBM ให้เราสามารถ Query ดูได้ครับ) โดย Query ที่ได้จะเป็น ดังนี้ครับ ผลลัพธ์ของ Query ที่ได้ครับ

ลองวัดดวง Upgrade จาก Windows 8.1 ไปเป็น Windows 10

หลังจากที่ผมได้ใช้ Windows แท้ 5555 หลังจากใช้เถื่อนเพื่อการศึกษา พอมีข่าว Windows 10 ผมคิดว่าจะรอให้มีคนใช้ไปสักพักก่อนแล้วค่อย Upgrade แต่ดันน้องของผมดันกด Update ให้ 5555 มันก็เลยเป็นที่มาของ Blog ตอนนี้ครับ หลังจาก Upgrade มีอะไรที่ดีขึ้น หรือมีอะไรที่แย่ลง ลองมาดูกันครับ เริ่มต้นด้วยส่วนที่แย่ๆ กันก่อน โปรแกรมในกลุ่มยุค VBุ6 (ไม่รู้จะถีบไปให้ใช้ .NET หรือป่าว) มีปัญหากับภาษาไทย บางครั้งแสดง เป็นภาษาต่างด้าว โปรแกรมทำงานได้ช้าลงชัดเจนครับ ไม่แน่ใจว่าตัว Windows 10 มี Process อะไรที่มาครอบทำให้ App เก่ารุ่นพ่ออย่าง VB6 ทำงานได้ ที่แตกต่างจาก Windows 7, 8 และ 8.1 ครับ ส่วนของ Charm Bar (กด WIN +C) หายไปซะงั้น ทั้งๆที่ใช้กับ Windows 8 มาจนชินแล้ว Microsoft Visual Studio 2013 Community มันค้างหลายนาที เมื่อกดปุ่ม ~ (ตัวหนอน) เพื่อเปลี่ยนภาษา ถัดมาเป็นสิ่งทีดีขึ้น โปรแกรมในกลุ่ม .Net ทั้งหลายทำงานเร็วขึ้น เข้าใจว่าทาง Microsoft มีการไปปรับแต่ง OS ตัวไขมันส่วนเกินออกไป พื้นที่ที่ใช้ลงประมาน 12 GB น้อยกว่าของ Windows 8.1 อันเก่าของผมอีก (อันเดิมประมาณเกือบ 30 GB) และถ้าลงแบบ Clean จะใช้พื้นที่ประมาณ 9 GB Microsoft Edge เร็วดี ลื่นมาก ลืมภาพเน่าๆของ IE เดิมไปเลย…

[C#, Office Add in] เปิด Feature Debug Mode ให้กับตัว Excel Add-in (VSTO) ของเรา

เวลาเราทำตัว Add-in สำหรับ Microsoft Office นะครับ บ่อยครั้งเลย ที่เราเอาตัวที่ Build เรียบร้อยแล้ว ไป Deploy ที่เครื่อง User แต่ปรากฏว่า มันเงียบ….. แล้วตรูจะไปต่อยังไงเนี่ยยย วันนี้ผมมีทริปในการ Set ค่า เพื่อเปิด Debug Mode ของ VSTO ครับ Note: สำหรับ KM นี้ใช้กับ .NET Framework เท่านั้นครับ

[C#, Office Add in] Registry Key ที่เกี่ยวข้องกับ VSTO

สำหรับตอนนำ Add-in ไปติดตั้ง หากลงผ่านตัว Setup แล้วระบบสร้างตัว Registry ที่เกี่ยวข้องที่ลง Registry ที่ Path ดังนี้ครับ โดยสำหรับ Office ทุกตัวยกเว้น Visio ครับ ส่วนสำหรับตัว Visio นะครับ เครื่องที่ไม่มี ก็ไม่ต้องตกใจนะครับ เพียงแค่นำ Script Registry ชุดนี้ไป Save เป้น .reg แก้ค่าที่เกี่ยวข้อง และรันมันครับ

[C#, Office Add in] วิธีแก้ปัญหาเมื่อลง VSTO ไม่ได้

สำหรับ Developer ที่ทำส่วนเสริมให้กับ Office หลายคนอาจจะเข้าใจว่ามีแต่ตัว VBA อย่างเดียวนะครับ แต่จริงๆแล้วเนี่ย MS Office สามารถให้เราปรับแต่ง Customize เพิ่มความสามารถด้วย .Net Framework ได้เหมือนกันนะครับ โดยเรียกรวมเป็น Office Add-in ซึ่งเมื่อ Code เสร็จ พอจะนำไปติดตั้งเราต้องลงตัว Visual Studio Tools for Office Runtime (VSTO)  เกริ่นมานานพอควรและ แต่เมื่อนำไปลงทดสอบที่ Site งาน พอดีดันไปเจอเครื่อง Windows 7 เครื่องนึงที่ลงไม่สำเร็จครับ โดยมี Message แจ้ง “Generic trust failure” ดังรูปครับ สำหรับวิธีแก้ปัญหามี 2 วิธี ดังนี้ครับ แบบง่ายครับ Run โปรแกรม rootsupd.exe (ตาม Version ของ Windows นะครับ) จากนั้น Restart และลงตัว .Net Framework ใหม่ครับ เสร็จแล้วก็ลงตัว VSTO อีกทีครับ ถ้าแบบแรกไม่สำเร็จต้องแก้จาก Registry ครับ เปิด Regedit ไปยัง Path [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing] ลบ Entry ชื่อ “State” จากนั้นลง ลงตัว .Net Framework ใหม่ครับ แล้วก็ Restart ทดสอบลงตัว VSTO ใหม่ครับ