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 ครับ มาที่ System Setting >> Text Entry เห็นว่าไม่มีภาษาอะไรเลยครับ กด Add เพิ่มตามรูป ทำทั้ง English(US) และ Thai ครับ จากนั้นมีป้อน Key ที่ใช้ในการสลับภาษา ดังรูป ครับ เท่านี้พิมพ์ภาษาไทยได้แล้ว

ลองปรับใน VM ใน Virtual Box ออกสู่โลกภายนอก

Blog นี้เป็นการต่อจาก “เปิดไฟล์ VMDK บน Virtual Box” ถ้าอยากให้ VM ใน Virtual Box ออกสู่โลกภายนอก คุณสามารถตั้งค่าโดยผ่านเมนู Setting >> Network ปรับ Network Adapter ช่อง Attach to เป็น Bridged Adapter และเลือก Lan Card ที่ต้องการครับ Enjoy !!!!    

#เรามาเขียนโค้ดได้ไง

วันนี้เพิ่งมาเล่น FB เห็น Tag นึง น่าสนใจ #เรามาเขียนโค้ดได้ไง ผมเลยมาจดลง Blog ไว้ดีกว่า สำหรับรูป Featured ด้านบนเป็นเครื่องคอมเครื่องแรกที่ได้มาครับ Win 98 ไส้ในเป็น AMD จำรุ่นไม่ได้และ ความเร็ว 550 MHz HDD ตอนนั้น 10 GB มั้ง (เครื่องนีปุ่ม Turbo ด้วยนะ ผมกดมันตลอดเลย 5555) ช่วงแรกไม่เคยสนใจคอมเลย ผมเพิ่งมาสนใจพวกฝั่ง IT ตอนเรียน ม.2 มีคนชวนเข้าชมรม Robot เลยเรื่องเข้าโลกสายนี้มากขึ้น จนอยู่ยาวมาถึง ม.6 โดยตอนนี้สิ่งที่ได้ สอบตรง และ ยุค O-Net A-Net ทำไมวนมาสายคอมได้หละ เริ่มเข้าสู่โลกแห่งการ Debug (Coding) ทำงาน ต่อไปหละ

แก้ปัญหา 0x0000007B Blue Screen in VirtualBox

หลังจากบทความที่แล้ว “เปิดไฟล์ VMDK บน Virtual Box” คราวนี้ผมลองย้ายมาในที่อีกเครื่องนึง แล้วเปิด VM ขึ้นมาครับ โอ้วววว Microsoft Signature – Blue Screen of Dead ครับ การจัดการกับปัญหา Blue Screen สิ่งที่เราต้องทำ คือ ดู Error Code สำหรับเคสนี้ Error Code = 0x0000007B (มันหมายถึง มีปัญหาเกี่ยวกับ I/O ครับ ต่อไปมาดูวิธีแก้ใน Virtual Machine ครับ ไปดู Config เก่าก่อนครับ ที่ Setting >> Storage ว่าเป็น SATA Controller หรือป่าว ดังรูปครับ ถ้าใช่ลบ Storage ออกให้หมด เราต้องปรับ Config ให้เป็น IDE Controller ครับ โดยการ Add เพิ่มเข้าไป ดู Type ให้เป็น PIIX4 ครับ กด Add Harddisk เลือกไฟล์ VM เข้ามาครับ ดังรูป ลองรันของใน VM – Jenkins on VB6 พร้อมใช้งานแล้วครับผม !!!  

เปิดไฟล์ VMDK บน Virtual Box

พอดีช่วงนี้ ผมกับน้องฝึกงานทำ Continuous Integration กับตัว VB6 ครับ ตอนนี้มีข้อจำกัด ดังนี้ Resource ที่บริษัทเตรียมไว้ขึ้น Production เป็น VMWare ครับ เนื่องจากเป็น VMWare เลยต้องพัฒนาบน VMWare เป็นหลัก แต่ในช่วงที่ทำ Pararell Run ดันมีเครื่องที่ว่างเป็น Ubuntu + Virtual Box ครับ ปัญหา คือ จะเอาไฟล์ VM ที่ไปลองบน Ubuntu + Virtual Box เมื่อปรับแต่งเรียบร้อยแล้วกลับมาขึ้น Production ที่เป็น VMWare ยังไง ? ตอบ ง่ายๆเลย เอาไฟล์ของ VMWare (.vmdk) ไปขึ้นบน  Virtual Box สิ สำหรับวิธีการดูได้จากรูปเลยครับ New – Virtual Machine อันใหม่ Config – ตั้งค่าต่างๆ เช่น ชื่อ VM, OS และการตั้ง Ram ให้เรียบร้อย Harddisk – เลือก Use an existing virtual hard disk file เลือกไฟล์ VMWare (.vmdk) ที่เราเตรียมไว้เลย แล้วกด Open Create – VM เลยครับ

Agile Bangkok Open space Krungthai-AXA (2016)

สำหรับงานนี้ผมก็ตัดสินใจมางานนี้ น่าจะเกือบวันสุดท้ายเลยมั้ง ตอนนั้นยังมีงานที่ค้างอยู่ แต่ก็ตบตีมันจนขึ้นมาได้ มาเข้าเรื่องดีกว่า งานนี้จัดที่ตึก G-Tower เป็นตึกที่สร้างยังไม่เสร็จดี ใหม่กิ้งๆ แต่วิวที่ชั้น 26 สวยมากครับ (เริ่มอยากทำงานที่ตึกสูงๆ เลยฮ่าๆ) ในงานมี 2 Concept และกันครับ Lean coffee มัน คือ อะไรหละ – การ Meeting แบบหนึ่งครับ โดยมีขั้นตอน หัวข้อเขียน Post-it มาแปะที่ Board จากนั้นให้ทุกคนมาเลือก (dot) หัวข้อที่สนใจ ทีคนมี 3 dot ทีมงานเลือกมาแปะไว้ที่ ตาราง Kanban (ส่วนตัวติดเรียก Trello มากกว่า 555) ให้คนที่เสนอหัวข้อออกมา โดยมีข้อกำหนด ดังนี้ 5 นาที – มาพูด มาแชร์ หรือ Discuss โดยมี facilitator (เขียนถูกปะหว่า) มาจับเวลาให้ เมื่อหมดเวลามีการ Vote Thump Up (ได้ไปต่อ), Thump Down(หยุด) ถ้าได้ไปต่อ มีเวลาอีก 3 นาที ครับ แต่ถ้าเรื่องมันยาว มีให้ Vote และทดเวลาอีก 1 นาที ต่อ และสรุป มุมมองมันทำให้การประชุมไม่น่าเบื่อนะ และก็ผู้ที่ออกมา ต้องจัดการเนื้อหาให้ดี หัวข้อใน Lean coffee ครั้งนี้หละ Agile Experience ควรมี Mindset ที่ดี Agile เป็นทั้งศาสตร์ และ ศิลป์ (Art & Science) ผสมกับทั้ง Hard Skill(Technical) กับ Soft Skill(People) Agile…

[CR] ข้าวมันไก่ สมัยศึกโภชนา

วันนี้มีเรียนภาษาอังกฤษแถวสีสมครับ ผมเลยนึกเล่นๆ ว่าลองทำรีวืวร้านข้าวมันไก่ย่านนี้ครับ โดยวันนี้เป็นร้าน สมัยศึกโภชนา ร้านนี้น่าจะเปิดมาประมาณ 30 ปีครับ เท่าที่คุยกับเจ้าของร้านมา ตัวร้านเป็นตึกแถวติดถนนใหญ่ บริเวณ BTS ศาลาแดงครับ ถัดจาก Silom Complex มานิดหน่อยครับ เมนูที่ผมสั่งคงไม่ต้องเดาครับ จั๋วหัวมาแล้วมาเป็นข้าวมันไก่ครับ สำหรับราคา ธรรมดา 40 บาท พิเศษ 50 บาท มาดูที่อาหารบ้าง ข้าวร้อนๆ นุ่มๆ ไก่ฉ่ำๆ ไม่แห้งจนเกินไป และไม่ทุบครับ น้ำซุปผมเฉยๆนะ ไม่แน่ใจว่าตอนนั้นที่ร้านเพิ่งเปิด หรือป่าว น้ำซุปเลยยังไม่เข้มข้น ส่วนน้ำจิ้ม อันนี้ผมโอเคเลย ช่วยเพิ่มความอร่อยให้ข้าวมันไก่ และน้ำซุปได้ดีมากครับ ผ่านไปแปบเดียว หมดแล้วครับ และสำหรับร้านนี้ไม่ได้มีข้าวมันไก่ขายอย่างเดียวนะครับ มีก๋วยเตี่ยวขายด้วยนะครับ

Introducing Event Storming

ช่วงนี้หัวหน้าให้ผมดูแลน้องๆ สรุปบทความจาก MSDN Magazine ผมมองเป็นของดีที่น่าจะไม่ค่อยมีคนอ่านมากนักนะครับ หัวจากช่วยหัวข้อน้องไป ไปสะดุดกับ Blog ที่มีการอ้างอิงจากบทความครับ เรื่อง “Introducing Event Storming” เลยนำมาสรุปไว้นะครับ What is Event Storming Event Storming เป็นกิจกรรมที่ให้เราช่วยสำรวจสิ่งที่เราสนใจ หรือขอบเขต(Domain) ของธุรกิจที่ซับซ้อนออกมาครับ เน้นคำว่า “Visualize everything” ทำให้เห็นภาพ และ “Outside-in” Event Storming is good Powerful – นำคนที่เกี่ยวข้องมาร่วมกันสร้าง Business Flow ให้เห็นภายรวม ภายในเวลาอันสั้น Engaging – ตรงเป้าหมาย เพราะ Idea ต่างๆ นำไปสู่การพูดคุย และมีการแชร์คำตอบกัน เพื่อสร้าง Model ออกมา Efficient – มีประสิทธิภาพ ผลลัพธ์ที่ได้ เข้ากับการพัฒนาแบบ Domain Driven Design (เหมาะกับ Event Sourcing Approach) และหา Context และ Aggregate Boundaries ได้รวดเร็ว Easy – รูปแบบมันง่าย ไม่ซับซ้อน ทำให้คนที่ไม่เข้าใจเรื่อง Technical ไม่ต้องกังวล และแสดง Idea ออกมาได้เต็มที่ Fun How does it work Invite the right people – ดึงคนที่ใช่ คนที่ใช่ คือ ใคร ? สำหรับผมมองว่าเป็นคนที่เกี่ยวข้องกับสิ่งที่เราสนใจ โดยผสมกันระหว่าง คนที่มี Idea หรือ คำถาม /…

Refactoring for Y

วันนี้เป็นวันที่เดินทางมาไกลมากกก จากสายใต้ใหม่สู่ Geeky Base (ออกตั้งแต่ 07:00 โมง มาถึงประมาณ 08:40 ครับ) มารู้จักกับคำว่า “Refactor” มาขึ้นครับ โดยคุณ J Prayoch Rujira ก่อนที่เริ่มให้แต่ละคนทำการ มาที่สรุปมีหัวข้อ ดังนี้ เมื่อพูดถึงการสร้าง Software เราคงเคยเจออะไรแบบนี้ Later is never !!!!! ที่หลังมันไม่มีจริง คนทำลืม หรือ ออกไปทำงานที่อื่นแล้ว Code ที่เขียน Support Change !!! ได้แค่ไหนหรือสะสม Technical Dedt อยู่ Refactoring คือ อะไร ? ทำให้ Code ดีขึ้นได้อย่างไร Source Code is a Communication Tools ใน Agile มี Technical Excellent เข้ามาช่วง ดังนี้ Let’s Refactoring เริ่มต้นด้วย RECAP Basic Principle – OOP ในช่วงนี้เล่นเกม 5s number game ในไทย 5ส  เกมหาตัวเลข 1-49 แบบเรียงกัน สรุปได้ ดังนี้ Code Smell – Code ที่อ่านไม่รู้เรื่อง นึกถึง ห้องน้ำ เหม็น อยู่ไปจะชิน เหมือนกัน Code เนี่ยแหละ อยู่กับ Code เน่าๆจนชิน) living with code smell มารู้กันว่า Code Smell แบบไหนบ้างที่พอเจอบ่อยๆ Refactoring ปิดท้าย…