My Daily life

   Hello, My name is Ping. I am a software developer. I normally get up at 5.30 in the morning. I usually drink one bottle of water for my health. I would jump in the shower and sometimes I have a shave. I get dressed and leave for work. I usually go to the bus stop by motorbike taxi. But sometimes I walk. Next, I catch the bus.  And I normally get to work at 7.30. I arrive at work. I get off a bus. I usually buy curry and rice at Par Mali shop near my office. My favorite…

[MSSQL] VSCode MSSQL Extension on Ubuntu

หลังจากลองเล่นตัว MSSQL บน Ubuntu ไปแล้ว คำถามถัดมาที่คิดได้ ถ้ามันอยู่ OS อย่าง Linux หรือ Mac มันจะ Query ยังไงนะ คงไม่ลุยเดี่ยวผ่าน Terminal แน่ๆ ถ้าเจอ Query แบบ 1 หน้า A4 มีหวังตายๆ  หลังจากลองค้นข้อมูลสักพักพบว่า VSCode สามารถทำได้นะ และมีทางเลือกอื่นๆอยู่นะ เดวอ่านสรุปด้านล่างเลย สรุปกันก่อน หาก query MSSQL บน Ubuntu ติดตั้ง VSCode บน Ubuntu ติดตั้ง mssql Extension บน Ubuntu สร้าง Connection ทำเสร็จมัน Auto Connect เลย ถ้ามาใช้ครั้งต่อไป MS SQL:Connect มี Profile ที่เราเพิ่งสร้าง ส่วน Config ที่เราทำเป็น json file สามารถไปส่องดูได้ที File >> Preference >> User Settings ครับ มาลอง Query ดีกว่า ยังไม่จบนะครับ สำหรับตัว VSCode + mssql extension มันใช้กับ MS SQLServer ได้ทั้งบนตัวที่ลงแยกบน Windows Linux และ Azure (ขายของเลยทีเดียว 555555) เดี๋ยวลงลองบน Windows ด้วยดีกว่า Reference

[MSSQL] Install MS SQL Server 2016 on Ubuntu

Microsoft SQL Server

หลังจากที่ Microsoft ได้ปล่อยตัว Microsoft SQL Server – Linux Edition กันแล้ว วันนี้ได้เวลามาลองลงกันครับ ดูกันว่า MS SQL 2016 จะลงง่าย หรือ ยากกว่าตัว DB2 ที่ได้ทดสอบไปในคร้ังที่แล้วครับ เตรียมพร้อมก่อนลุย ลุยกันเลยยย บางครั้งมีหน้าจอแบบนี้เด้งขึ้นมาถาม ให้กด Yes ครับ Run คำสั่ง เพื่อ Config MS SQL Server ดังนี้ ตรวจสอบ Reference

[C#] Guidelines for Exception Handling

หลังจากเขียน Code ในการทำงานมาหลายปี พอดีเจอบทความนึงที่น่าสนใจ ผมเลยทำความเข้าใจ และสรุป เกี่ยวกับ Exception ดังนี้ครับ Exception คือ อะไร ? Exception คือ การแจ้งข้อมูลข้อผิดพลาดที่เกิดขึ้น จากการทำงานของระบบครับ มันมีกลุ่มที่เราสามารถจัดการเองได้ ใช้ Try Catch เข้าช่วย หรือจัดการไม่ได้เลยพวกกลุ่ม Error Guidelines for Exception Handling – Catch only the exceptions that you can handle. เวลาเขียน Code ใน Method หรือ Class ให้จัดการ Exception ที่น่าจะเกิดขึ้นได้กับชิ้นงานที่ทำอยู่ และพยายามแจ้งกับ User ดูภาษาที่เข้าใจง่าย ส่วน Exception นอกเหนือจากนี้ ปล่อยให้ Caller เป็นคนจัดการ เข่น ถ้าทำ Component ในการอ่านไฟล์ สิ่งที่เราสนใจ – Don’t hide (bury) exceptions you don’t fully handle. ใช้ Catch เท่าที่จำเป็น บางเรื่องเราไม่จำเป็นต้องรับมาหมด โยน(Throw) ให้คนที่เกี่ยวข้องจัดการดีกว่า อย่าซ่อน Exception เพราะ คิดว่า User จะตกใจ เช่น – Use System.Exception and general catch blocks rarely. จาก Code นี้ ผมเรียก Exception ดังนี้ – Use throw; rather…

Artefact vs. Artifact

พอดีได้อ่านบทความนึงที่เกี่ยวกับ Software Engineering เจอคำศัพท์ที่น่าสนใจครับ “Artefact” คำนี้ไม่คุ้นเลยย ตอนที่ใช้ Hudson กับ Jenkins เจอแค่คำนี้ “Artifact” แล้ว 2 คำนี้มันแตกต่างกันอย่างไรหละ ในแง่ของภาษาเขียนกันก่อน ในแง่ของความหมายหละ ในแง่ของความนิยม ในแง่ของ Software หลังจากที่รู้แล้วว่า มันเป็นการเขียนคำคนละแบบสไตล์ British กับ American ลองมาดูในแง่ของ Software บ้าง – ผมเจอการนิยามที่น่าสนใจ ดังนี้ Artifact และ Software Artifact (ผมขอใช้ Artifact นะ แต่สำหรับคำที่ผมตัดมาจากต้นฉบับของไม่แก้ไขนะครับ) จบสักทีกับการลองนั่ง research เล่นๆครับ

ลองใช้ GParted จัดการ partition

หลังจากตอนแรกที่คิดว่า 10 GB น่าจะพอสำหรับ DB2 นะ แค่ลองไปแล้ว ไม่อ่า เกือบเต็ม ผมเลยติดสินใจว่าเพิ่ม Disk ใน VM อีก 5 GB ครับ (ขอ Host เองก็มีไม่พอแล้ว มี 500 GB ต้องใช้อย่างประหยัด) การเตรียมตัว Download GParted Live CD มาให้เรียบร้อย หรือใช้ Ubuntu Live DVD/USB ได้ครับ (ผมใช้ GParted Live CD เนื้อที่ HDD มีจำกัด) สำหรับ VMWare Player + VMWare Workstation ถ้าเป็นพวก Virtual Box สามารถ Config ในส่วน System ได้เลย อย่าลืม mount ไฟล์ Live CD ที่ CD Drive ถ้าเครื่องจริง ไป Set ที่ Bios ได้เลย และใส่ Live CD/USB รอเลย ทำไมต้อง GParted จาก Live DVD/USB หละ GParted ปรับๆ ย้ายๆ ทดสอบ หมายเหตุ: ถ้าใช้จาก Ubuntu Live DVD หน้าตาจะดูดีกว่ามาก พิมพ์หา gparted แล้วเรียกใช้ได้เลย

สรุป Note เกี่ยวกับ Bash Shell

หลังจากไม่ได้แค่พวก Bash Script มาปีนิดๆ วันนี้ลองมาเล่น ubuntu ปรากฏว่าลืม เลยมาเขียน Note นิดหน่อย บรรทัดแรก ต้องใส่ ถ้าไม่ใส่ชื่อ Error ว่า “command not found” ลอง Run แล้วขึ้น Error “Permission denied” ต้องเพิ่มสิทธิ Execute Beginners/BashScripting on Ubuntu

[DB2] Install DB2 11.1 on Ubuntu 16.04

พอดีอยากลองศึกษา DB2 กับตัว Docker แต่ความรู้พื้นฐานของ Linux ไม่ค่อยมีเลย ใช้แต่ GUI มาตลอด (Ubuntu GUI สวยนะ) ผมเลยลองมาศึกษา Linux ปกติก่อนและ เอาให้เชี่ยวระดับแล้วค่อยข้ามไป Docker มาเข้าเรื่องดีกว่า สำหรับการลง DB2 11.1 Ubuntu โดยใช้ตัว Command Line สิ่งที่ต้องเตรียม ลงมือเข้า Terminal ลุยติดตั้ง Verify DB2

Rewrite code is Refinance !!!

Blog นี้พยายามเขียนเป็น 2 ภาษา แม้ว่าผมจะรู้ภาษาอังกฤษแค่งูๆปลาๆนะครับ เข้าเรื่องเลยดีกว่าลองมาดูคำศัพที่คิดว่าควรรู้กันก่อน ทำไมต้อง Refinance แล้ว Refinance มันไปเกี่ยวกับ Rewrite code ยังไง ? ลองคิดดูทำไมเราต้องเขียน Code ใหม่หละ ? รู้จักกับ Technical Debt ก่อน แล้วที่เขียน Code ที่เขียนใหม่มันไม่ต่างกับ Refinance เหรอ  ? แล้ว อะไร คือ สิ่งที่ดีที่สุดหละ ปิดท้ายด้วย Code ที่คิดเอง ไม่รู้มีคนคิดซ้ำไหมนะ ลองอ่านดูครับ ^___^ Rewrite Code is Refinance,but Refactor is the best.

เพิ่ม keyboard ภาษาไทยให้ ubuntu

จะลองกลับมาใช้ VM Linux จริงจังและ เลยลงผ่าน VMWare Player ปรากฏว่ามัน Auto หมด อ้าวลืมลงภาษาให้ ที่นี้มาดูวิธีการตั้งค่าภาษาต่างๆกับ Keyboard ครับ การตั้งค่าภาษาให้ Keyboard เท่านี้พิมพ์ภาษาไทยได้แล้ว Reference