เรื่องวุ่นๆของการใช้กรรม

ภาพจาก https://commons.wikimedia.org/wiki/File:John_Lavery_-_IWM_War_Room.jpg

สำหรับคนที่ทำงานด้าน Software ที่ประจำการอยู่กับ Software House แล้วยิ่งมี Product ของตัวเองแล้ว คงรู้จักคำกลุ่มๆ ใช้กรรม เข้าเซ้ง หรืออะไรก็แล้วแต่ เอาง่ายดีกว่า เดี๋ยวคนอื่นที่มาอ่านจะงงกัน มัน คือ การอยู่เวร ในทีม MA เพื่อทำหน้าที่ Support เหล่า User ที่เกิดปัญหาครับ โดย Step ทั่วไปของการทำงาน User เจอปัญหา ติดขัดบางอย่าง จากนั้นแจ้งเข้าบริษัททีม Customer Support (CS) มารับหน้าไว้ ทีม Customer Support พยายามจัดการปัญหาให้ได้มากที่สุดครับ ถ้ามันเกินกำลังจริงๆ จะ Throw Exception (ส่งต่อ) ไปให้ทีม Developer(Dev) ถ้ามันเป็นปัญหาด้าน Technical หรือ ส่งให้ทางทีม Business Analyst (BA) ถ้าเป็นปัญหาที่ CS มองแล้วว่าเป็นปปัญหาทางธุรกิจมากกว่าครับ ตอนนี้ขอโฟกัสที่ทีม Dev ครับ เมื่อรับปัญหามาสิ่งทีม Dev ทำ คือ ขอ log file, scenario ที่ User ทำ และของ Version ของระบบที่ตั้งอยู่บน Production เพื่อไปหา Source Code มาครับ แล้วอันไหน คือ Version ที่ที่เกิดปัญหาของลูกค้าหละ ? เรื่องนี้ เป็นปัญหาร้อน เลยนะครับ เพราะ ทีมเวรต้องเสียเวลาไปหา version ที่ลูกค้าใช้จริงๆ แล้วใครเป็นผู้กุมคำลึกลับของ Version หละ ขอเล่าเป็น Flow ดีกว่าครับ เริ่มแรก ทีม Project เป็นคนพัฒนาระบบ…

[CU] บันทึกการลงทะเบียนแรกเข้า

หลังจากงงกับคำว่า “สามัญเต็มเวลา” ไปสักพักเพิ่งรู้ว่าสอบติดแล้ว ถัดมาเป็นการปฐมนิเทศ และลงทะเบียนแรกเข้า 13 Dec 2016 ปฐมนิเทศ มีประกาศรหัสนิสิตใหม่ที่ สอบถามเลขประจำตัวนิสิตใหม่  (Search New student ID numbers)  ขอรหัสเข้าระบบทะเบียน สำหรับการใช้งาน CUNET บันทีกข้อมูลเข้าระบบ แบบสํารวจข้อมูลนิสิตใหม่ (จท19) ระเบียนประวัตินิสิต (จท20บ) ข้อมูลผู้ปกครอง พ่อ แม่ เลขบัตรประจำตัวประชาขน ต้องใส่ ข้อมูลทะเบียนบ้าน – ใช้ เลขรหัสประจำบ้าน (อันนี้เพิ่งเคยได้ยิน) ลงทะเบียนยืนยัน – เลือกวิชาที่ต้องเรียน แล้วกรอกเข้าระบบไปก่อนครับ เพื่อยืนยันว่า เราจะเรียนต่อจริงๆนะ (ดูวัน-เวลาที่ระบบเปิดด้วยนะครับ พลาดไปแล้วต้องไปเสียค่าปรับที่ลงทะเบียนช้าตอนเปิดเทอมอีกครับ) รูปถ่าย – ตามกฏที่มหาวิทยาลัยกำหนดครับ เสริมอีกเรื่อง ภาพห้ามเอียงตัวถ่าย ต้องหน้าตรงเท่านั้นนะครับ ตอนถ่ายรูปบอกจุดประสงค์กับร้านเค้าไปเลยครับ เดวทางร้านจัดให้เองครับ 14 Dec 2016 ยื่นเอกสาร – ถ้าเตรียมเอกสารมาครบ Flow เดินเร็วมากครับ ของผมที่ไปมี 2 ห้อง เตรียมเอกสาร มีแฟ้ม ให้ใส่สำเนาครับ ห้องตรวจเอกสาร และรับเอกสารครับ 19-23 Dec 2016 รอผลยื่นเอกสาร 19-25 Dec 2016 จ่ายค่าเทอม ของผมเรียน Software Engineering แผน ข (นอกเวลา) ค่าเทอม 56,000 บาท (ค่าเทอม 31,000 บาท และ ค่าธรรมเนียมนอกเวลาอีก 25,000 บาทครับ) หมายเหตุ ข้อมูล ณ ปี 2559 ผมบันทึก เพื่อความเข้าใจชองตัวเอง – ให้ดูเอกสารที่ทางคณะ มหาวิทยาลัยให้มาเป็นหลักครับ ของคณะวิศวะ มี Microsoft Dreamspark มาให้ลองใช้ด้วย…

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 favourite…

[MSSQL] VSCode MSSQL Extension on Ubuntu

หลังจากลองเล่นตัว MSSQL บน Ubuntu ไปแล้ว คำถามถัดมาที่คิดได้ ถ้ามันอยู่ OS อย่าง Linux หรือ Mac มันจะ Query ยังไงนะ คงไม่ลุยเดี่ยวผ่าน Terminal แน่ๆ ถ้าเจอ Query แบบ 1 หน้า A4 มีหวังตายๆ  หลังจากลองค้นข้อมูลสักพักพบว่า VSCode สามารถทำได้นะ และมีทางเลือกอื่นๆอยู่นะ เดวอ่านสรุปด้านล่างเลย สรุปกันก่อน หาก query MSSQL บน Ubuntu เปิด Terminal ใช้ sqlcmd ลุยโลด ใช้ Microsoft Visual Studio Code (VSCode) + mssql extension (ใน Blog นี้จะลองตัวนี้นะ) ลองใช้ Open Source ค่ายอื่นๆ อย่างเช่น squirrel-sql, FreeTDS เป็นต้น ติดตั้ง VSCode บน Ubuntu Download โลดดดดด (ถ้าหาจาก Market Place ของ Ubuntu จะไม่เจอนะครับ) จากนั้นเปิด Terminal รัน คำสั่ง (yourfile คือ ชื่อตัว setup ของ VSCode ที่ Download มาจากข้อที่แล้ว) # For .deb sudo dpkg -i yourfile.deb # install dependencies sudo apt-get install -f รอและจนเสร็จ เปิด VSCode รอเลย ติดตั้ง…

[MSSQL] Install MS SQL Server 2016 on Ubuntu

หลังจากที่ Microsoft ได้ปล่อยตัว Microsoft SQL Server – Linux Edition กันแล้ว วันนี้ได้เวลามาลองลงกันครับ ดูกันว่า MS SQL 2016 จะลงง่าย หรือ ยากกว่าตัว DB2 ที่ได้ทดสอบไปในคร้ังที่แล้วครับ เตรียมพร้อมก่อนลุย RAM 3.25 GB – ถ้าทำใน VM Set เผื่อเป็น 4 GB ไปเลยย ถ้าพื้นที่ไม่พอเวลา Install เจอมันด่า แบบนี้ Internet ลุยกันเลยยย Import ตัว public repository GPG keys ด้วยคำสั่ง sudo sh -c “curl | sudo apt-key add -” Register ตัว Microsoft SQL Server Ubuntu repository ที่ : ด้วยคำสั่ง sudo sh -c “echo deb [arch=amd64] xenial main > ” sudo sh -c “echo deb [arch=amd64] xenial main >> ” ลงตัว MS SQL Server และตัว MS SQL Server Tools ด้วยคำสั่ง sudo apt-get update sudo apt-get…

[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 คำนี้มันแตกต่างกันอย่างไรหละ ในแง่ของภาษาเขียนกันก่อน Artefact – เป็น British Spelling Artifact – เป็น American Spelling ในแง่ของความหมายหละ เหมือนกันครับ an object shaped by human workmanship, especially one of historical or archaeological interest  สำหรับทางฝั่งอังกฤษ เน้นไปการพัฒนาสิ่งใหม่มากกว่า New Development ในแง่ของความนิยม จาก 2 คำนี้ ทำให้ผมรู้จัก Tools ตัวนึง ngram ของ Google ที่จะนับคำ และนำมาแสดงผลเปรียบเทียบกันครับ ตัว ngram หรือ n-gram คือ gram คือ หน่วย หรือขนาดที่ใช้การการแบ่งคำ  มีขนาดตั้งแต่ 1-n เ เช่น bi-gram ตัวอย่างคำ april -> ให้เราใส่ $ เป็น $april$  ($ = Wild Card) แบ่งทีละ 2 ตัว $a , ap , pr , ri , il , l$ ngram คือ Model แนวคิดการแบ่งคำตามตัวอักษร เสียงการอ่าน เพื่อใช้ทำ Index ใช้ในการสืบค้น แต่ระบบของ…

ลองใช้ 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