[CUSE] ผ่านไปแล้วหนึ่งเทอมสำหรับการเรียนปริญญาโท

วันนี้วันที่ 21 พ.ค. 2560 วันสุดท้ายของในการเรียน นำเสนอ ทำ Project ของเทอมที่ 1 แล้ว มาสรุปดีกว่า ผ่านไป 5 เดือน ได้ทำอะไรไปบ้างครับ เริ่มที่เรื่องการของการเรียนก่อนเลย สำรับการเรียนที่นี้ภาคนอก กับภาคใน เรียนเท่าๆกันครับ โดยสำหรับในเทอมนี้วิชาที่ผมลงทะเบียนไว้ 4 ตัว มีดังนี้ Software Design & Development (SDD) Formal Verification (FV) Software Metric (SM) Software Process Engineering and Process Improvement (SPI) หมายเหตุ: หากใครไปดูหลักสูตร มันเป็นวิชาของเทอม 2 นะครับ (พอดีผมเข้าเรียนตอนเทอม 2) ถัดจากเรื่องเรียนไปแล้วเป็นเรื่องอาหารการกิน เนื่องจากเรียนนอกเวลาทางคณะมีทำอาหารของว่างมาให้ มาทางส่วน หอสมุดคณะวิศวะ ตอนแรกคิดว่าจะไม่ได้เข้ามาใช้แล้ว 555 โดยแอร์ชั้นล่างหนาวมากกก / The Box ร้อนมาก และห้องประชุมกับโปรเจคเตอร์สุดล้ำ ต่อไปเป็นเรื่องอื่นๆ ที่ได้เรียนรู้

[CR] ลองใช้บริการ City Glide (Close)

วันนี้หลังสอบ Software Metric ผมก็ไปทำงานวิชา Software Design & Dev ต่อ หลังจากทำงานเสร็จ วางแผนกลับบ้าน โดยนั่งใต้ดิน โผล่มาที่สุขมวิท แวะกินข้าวที่ Terminal แล้วไปต่อ BTS ลงที่บางหว้าจากนั้นค่อยนั่ง Taxi กลับบ้านครับ แผนเปลี่ยนตอนหลังจากกินข้าวแหละ บังเอิญเห็นรถเมล์สาย 511 เข้า สุดท้ายเลยเปลี่ยนใจ มาลองใช้เปิด City Glide ซึ่งตัว  City Glide เป็นของ Plan B ททำธุรกิจเกี่ยวข้องโฆษณาครับ เห็นว่าเร่มมี Ads บนรถเมล์แล้วด้วย ผมเข้าใจว่าคงใช้ GPS + สัญญาณอินเตอร์เนตของตู้แสดงโฆษณาที่เอาไปติดบนรถเมล์มาให้หาตำแหน่งของรถครับ กลับเข้าเรื่องเดิมดีกว่า ผมลองดูว่ารถ 511 คันถัดไปมาแถวนี้ตอนกี่โมง พอลองกดๆ ไม่นานเลย 4 นาทีเอง ลองดูและกันครับ โดยสำหรับขั้นตอนการใช้ City Glide มีจั้นตอนง่ายๆ ดังนี้

[CR] Starbucks ลอกเมนูชาเขียว Starbucks คนก่อนหน้า

พอดีช่วงนี้นัดทำ Term Project กับนัดติวหนังสือครับ ปกติที่ๆนัดเจอกัน ถ้าไม่ใช่ในจุฬาฯแล้ว คงหนีไม่พน้พวกร้านกาแฟต่างๆครับ ด้านที่ส่วนตัวนั้นเป็นคนที่ไม่ชอบกินกาแฟครับ (กินทีไรระบบขับช่ายทำงานดีมากกกก) ก็เลยสั่งชาเขียวครับ แต่ปกติผมจำเมนูไม่ได้อยู่แล้วครับ เลยใช้วิธีลอกคนก่อนหน้าครับ ถ้าเป็นพวกชาเขียว ฮ่าๆ มันเลยเป็นทีมาของเมนูสุดหวานครับ ชาเขียวปั่นจัดเต็มครับ โดยข้างในมี ราคารวม 260 บาทครับ เป็นค่าลอกที่แพงพอสมควรเลยครับ

[PM] Brooks (1975)-“If you throw more people onto a late software project, you will make it later”

พอดีช่วงนี้ใกล้สอบ Software Metric แต่มันมีบทนึงที่ออกสายไปทาง PM โดยวิชา PM ให้แนวคิด(Concept) ส่วน Software Metric ทำให้แนวคิดนั้นวัดได้ มีตัวเลข หรือระะดับครับ สำหรับ Blog ตอนนี้ ผมเขียนไปในส่วนของ Brooks ในที่นี่หมายถึง Brooks’ Law Adding manpower to a late software project makes it later. (If you throw more people onto a late software project, you will make it later) Brooks’ Law – ถ้าเราตีความ “การเพิ่มคนเข้าไปใน Project ที่ช้า มันจะทำให้มันยิ่งช้ากว่าเดิม” Q: ทำไมคุณ Brooks ถึงคิดแบบนั้นหละ ?A: Quote นี้น่าจะสื่อดีที่สุด “Nine women can’t make a baby in one month.” ผู้หญิงเก้าคนไม่สามารถให้กำเนิดลูกได้ในหนึ่งเดือน โดยเหตุผลคุณ ฺBrooks  บอกนั้น เพราะว่า สำหรับผมแล้ว ถ้าเราอยากจะแหกทฤษฏีของคุณ Brooks เราสามารถทำได้ แต่ต้องขึ้นกับเงื่อนไขที่ว่า เราสามารถสร้าง Team แบบ Cross Funtion Team ได้ ทุกคนรู้งานสามารถทดแทนกันได้ และเราสามารถต่อรอง และมีการแบ่งงานบางส่วนออกมาได้ชัดเจน (ในโลกความจริงเป็นไปได้น้อย) และก็อยากให้ลองอ่านหนังสือ “The Mythical Man-Month” ตอนแรกผมก็งงนะ ว่ามันเกี่ยวกับ Software Engineering ยังไง ตอนนี้พอเข้าใจแล้ว เข้าใจเมื่อช่วงสอบ…

[CR] เครื่องบันทึกเสียง Sony ICD-UX560F

หลังๆมาผมพบว่าใช้วิธีการอัดเสียงเยอะมาก ตั้งแต่ พอดีช่วยปลายปี 2559 มีมหกรรม ช๊อปช่วยชาติ ไม่เกิน 15,000 บาท เพื่อเอาไปลดหย่อนภาษีครับ ผมเลยตัดสินใจว่าจะเปลี่ยนจากเดิมที่ใหญ่ Tablet Samsung Galaxy Tab A มาเป็นเครื่องบันทึกเสียงครับ งบไม่เกิน 3,500 บาท สำหรับยี่ห้อที่สนใจของผมมี Sony กับ Olympus ครับ แต่พอไปดูจริงแล้ว Olympus แพงเกินงบไปเลย เลยเหลือ Sony ร่นที่มี 3 รุ่น ดังนี้ สำหรับผม เลือกตัว ICD-UX560F ราคา 3,340 บาท ครับ มองว่าเป็นของขวัญจาก Santa เวลาผ่านไปเนิ่นนาน ตอนนี้มาถึง 2017-05-05 แล้ว มารีวิวดีกว่าครับ ว่าใช้ไปแล้ว เป็นยังไงบ้าง สำหรับผมเครื่องอัดมันดีกว่าครับ โดยลองมาดูข้อสังเกตุ แต่ละข้อกันครับ

[C#] How to Get property name from object

งานของผมใช้ Dapper แล้วปัญหามันมีอยู่ว่าตอนสร้าง predicate(เงื่อนไข) มันต้องเอาชื่อ Property ไป Where ทำให้มันมีความเสี่ยงมาก ถ้าแก้ชื่อ Property แล้ว Refactor ไม่ครบครับ ผมเลยทำ Helper มาเพื่อช่วยให้มันไป Get ชื่อ Property จากตัว Object ซะเลยครับ ได้มาเป็น Update 2019-05-23 จากแบบที่สอง เราสามารถใช้ nameof ได้เลยครับ ตัวอย่าง ตามนี้เลย แถม Code สั้นกระชับด้วย สำหรับถ้าใครอยากอ่าน Step การ Research ของผม ตามนี้เลยครับ แบบที่ 1: Get Property with create an instance – ตัวอย่างการใช้งานครับ Trade-off: ปัญหาของแบบแรก คือ ต้องมีการ new Object ขึ้นมาครับ เสีย Cost มาแก้เป็นแบบที่สองดีกว่า แบบที่ 2: Get Property without create an instance – ตัวอย่างการใช้งานครับ จบไปแล้วกับ Blog ในสาย Coding ที่ทิ้งห่างไปนานพอสมควร หลังจากที่เริ่มเรียน ป โท ครับ  

[CR] พัดลมไอเย็น Hatari HT-AC33R1

หลังจากที่ไม่ได้อยู่บ้านยาวๆ มานาน เยื่องจากต้องทำงานในวันหยุด และมีเรียนปริญญาโทครับ ช่วงสงกรานตืเป็นช่วงที่ได้อยู่บ้านานๆทีครับ แต่มันร้อนมากกกกก เปิดแอร์ไปเปลืองไฟ (แอร์ที่บ้านเก่าแล้วครับเกือบ 20 ปีได้) ผมเลือกตัดสินใจมาที่ Homework ราชพฤกษ์ครับ เพื่อ กินเป็ด MK, ตากแอร์ กับสำรวจข้อมูลพัดลมไอเย็นใน Power Buy ครับ สำรวจข้อมูล หลังจากกำหนดความต้องการของตัวเองมาแล้ว และลองสอบถามคลังความรู้อย่าง Pantip (หลังๆมีอะไร ผม Search Google เติม Keyword Pantip เสริมเข้าไปครับ) ก็ได้ Range แล้วว่าคงเลือกรุ่นกลางๆครับ เพราะ รุ่นเล็กไปมันไม่ได้ช่วยอะไร และถ้าเลือกรุ่นที่ใหญ่เกินไป เมื่อเทียบกับขนาดหน้า มันทำให้ห้องชื้นได้ครับ โดยรุ่นที่ผมผ่านเกณฑ์มี 2 ยี่ห้อครับ Properties Masterkool MIK-20EX Hatari HT-AC33R1 ปีที่จำหน่าย 2556 2559 ช่องเติมน้ำ อยู่ด้านหน้าเลย อยู่ด้านหลัง ออกแบบมาสำหรับใส่ Cooling เจล ความจุของถังน้ำ 23 ลิตร  28 ลิตร  Remote  มี  มี  ตั้งเวลา  เลือกได้ 1,2,4 หรือ 8  เลือกได้ 1,2,4 หรือ 8 แผงทำความเย็น 3 แผ่น ซ้าย/ขวา และตรงกลาง 3 แผ่น ซ้าย/ขวา และตรงกลาง (มีเคลือบสารสีน้ำเงิน เพื่อสะดวกแก่การถอดล้าง และความสวยงาม)  แผงกันฝุ่น  –  มี ตัดปัีมอัตโนมัติ เมื่อน้ำหมด มี  มี  ความแรง  4 ระดับ  4 ระดับ Feature อื่นๆ…

[MyCourseVille] Assignment-ส่งการบ้าน

มาจด Note ไว้นิดนึง หลังจาก Blog ก่อน มีการเกริ่นนำตัว MyCourseVille ไปนิดหน่อย คราวนี้มาอัพ Blog สรุปไว้ก่อน เพราะการส่งการบ้าน ตอนแรกเข้าไปไม่มีช่องให้ส่งตามรูปเลย 5555 เพิ่งมารู้กันภายหลังทั้ง Sec ว่า เราต้องสร้าง Group ก่อนนะ จึงสามารถ Upload ไฟล์ส่งอาจารย์ได้ครับ ปล. Blog นี้ดองมานานเกิ้นน จนมาเคลียร์ Desktop เลยเอามาเขียน หุหุ

The Clean SQL

ถ้าจะถามภาษาที่นิยมที่สุด มาเป็นเวลาอย่างยาวนานแล้ว มันมีภาษานึงครับที่ยอดฮิตตั้งแต่อดีตจนถึงปัจจุบัน และในอนาคตอีกหลาย 10 ปีครับ ภาษานั้นก็คือ ภาษา SQL ครับ สำหรับตัว SQL หรือ Structured Query Language มีไว้ เพื่อจัดการกับข้อมูลเป็นหลักครับ แม้ว่าตัว SQL ช่วยให้เราจัดการชีวิตได้ง่ายขึ้นแล้ว อยากได้ข้อมูลเขียน ได้ข้อมูลมาแล้วครับ ถ้าในยุคแรกๆนี้เขียน Relational Algebra เพื่อมาหาข้อมูลกันเลย แต่ตัว SQL มันมีปัญหาในตัวเองครับ SQL ที่ไม่ดีเป็นยังไง ใช้ SQL มัน Clean ได้นะ มาลองดูกัน 1. Naming ตั้งชื่อให้มันสื่อ 2. Column , Table ใช้ camelCase ก็ได้ อย่าไปใช้ – มันมีปัญหากับพวก ORM บางตัว 3. ชื่อ Function หรือ Store Procudure ตั้งให้มันชัดเจนไปเลย อาจจะใช้เป็น Verb มาช่วยอธิบาย 4. จัด Format บ้าง ใช้มีเยื้อง มี Tab ให้อ่านง่ายครับ 5. ถ้า SQL ยาวๆ และซับซ้อนควรมี Comment บอกด้วย ว่า Join มาเพื่ออะไร ถ้าใช้งานบ่อยๆ มี 10 Query ที่ต้อง Join Table Portfolio Company ประจำ เราสามารถแยกเป็น View ก็ได้นะ 6. ใน T-SQL ใช้ CTE เท่าที่จำเป็น ถ้ามี CTE…

[FV] ลองใช้ CPN เขียน Coloured Petri net

หลังจากเรียนทฤษฏีแล้ว ลงโปรแกรม แล้ว อ ให้ลองปฏิบัติจริงครับ โดยการลองใช้ตัว CPN มาเขียน Coloured Petri net ตาม Workshop แต่ละข้อครับ เกริ่นนำ Coloured Petri net ตัว Petri net เป็นการ Modeling(จำลอง) ระบบขึ้นมา เพื่อตรวจสอบเรื่อง Concurrent ครับ ส่วนประกอบ Workshop ที่ทำกันครับ ปัญหาที่เจอ หลักๆที่เจอเลย คือ ว่า Notebook ผมใช้ตัว CPN Tools เวอร์ชั่นล่าสุดไม่ได้ครับ