โปรแกรมเมอร์ มีความสุข เกิดสมาธิ จากการเขียนโค้ด โปรดักทิวีตี้เพิ่มขึ้น ตอนที่ 3


บทความจาก นิตยสาร WindowsITPro (April – May 2014)
ได้ขออนุญาตทางบก. เรียบร้อยแล้ว

ตอนเด็กๆ คนส่วนใหญ่เคยฝันว่า
ถ้าโตขึ้น อยากทำโน้น นี่ นั่น ชีวิตคงมีความสุข
พอโตขึ้นเป็นวัยเรียน ก็ฝันต่อว่า
ถ้าเรียนจบ ได้ทำงาน มีครอบครัว ชีวิตคงมีความสุข
พอเรียนจบ มีงานทำ มีความรัก มีครบอครัว
ต้องรับผิดชอบมากขึ้น ทำงานมากขึ้น ต้องเลี้ยงดูอีกหลายชีวิตในครอบครัว
แล้วก็ฝันว่าถ้าเกษียณ ชีวิตคงมีความสุข
พอมาถึง วัยเกษียณ รู้สึกตกใจ เวลาเหลือน้อยแล้ว ความสุขอยู่ใหน
แล้วก็ห้วนคิดถึงอดีต ฝันถึงในวัยเด็กๆ เขาสามารถทำอะไรมากมาย เท่าที่ความคิดสามารถพาไป
เขาอยากกลับไปเป็นเด็กอีกครั้ง ชีวิตคงมีความสุข
เขาค้นหาความสุข ตลอดทั้งชีวิต
แล้วเขาก็ตายจากไป โดยที่ตามหาความสุขนั้น ไม่เคยเจอ

ปลาอยู่ในน้ำ
โดนน้ำกดทับอยู่ตลอดเวลา แต่ปลาไม่เคยเห็นน้ำ
เราอยู่กับบรรยากาศของโลก เราโดนอากาศกดทับตลอดเวลา
ทำให้เราไม่หลุดลอยออกไปนอกโลก แต่เราไม่เคยเห็นอากาศ
ความสุขก็เช่นกัน แท้จริงความสุขนั้น อยู่กับเราตลอดเวลา
แต่เราไม่เคยเห็น เรารู้สึกถึงมันน้อยมาก จนแทบไม่รู้สึก
เราโดนข้อมูลข่าวสาร ความคิดลบ ภายนอก กดทับตลอดเวลา
จนเราไม่หลงเหลือความรู้สึกดีดี เราจึงโหยหา ความสุขตลอดเวลา

ชีวิตคนคนหนึ่ง
45% อยู่กับชีวิตการทำงาน อีก
55% อยู่กับชีวิตส่วนตัว
หากคุณทำงาน ด้วยความทุกข์ตลอดเวลา
นั่นคือครึ่งชีวิต ของคุณจมอยู่ในกองทุกข์
คุณขาดทุน แต่หากคุณทำงานด้วยความสุข
นั่นเท่ากับว่า ครึ่งชีวิตของคุณมีความสุข ที่เหลือนั้น คือกำไร

ตลอดเส้นทางของชีวิตการทำงาน
นอกจาก งานสร้างเกียรติแล้ว ยังสร้างคุณค่าให้ชีวิตคุณด้วย
และคุณยังสามารถเก็บเกี่ยวความสุข ตลอดเส้นทางนั้น
โดยที่คุณไม่ต้องไปค้นหา ณ สถานที่ใดๆ
ความสุขนั้นอยู่กับเราตลอดเวลาเหมือนอากาศที่กดทับเราอยู่
ตลอดเส้นทางของการเป็นโปรแกรมเมอร์
คุณสามารถมีความสุขจากการเขียนโค้ดได้เช่นเดียวกัน

โดยในตอนที่ 3 นี้
ผมจะพาคุณผู้อ่านไปรู้จักฟีเจอร์ CodeLens
ที่จะช่วยให้การเขียนโค้ดของโปรแกรมเมอร์ นั้นเป็นเรื่องสนุก
โดย CodeLens จะช่วยกระตุ้น ให้คุณสัมผัสถึงความสุข ในการเขียนโค้ด
จะทำให้ตลอดเส้นทางของการเขียนโค้ด กลายเป็นเรื่องสนุก
คุณจะได้สัมผัสถึงความสุขตลอดเวลา จนคุณหายใจแทบไม่ออก
เพราะโดนความสุขนั้น กดทับอยู่
เราจะไปดูว่า CodeLens คืออะไร เราไปดูกัน…

CodeLens คืออะไร?
CodeLens เป็นคุณสมบัติใหม่ใน Visual Studio 2013 รุ่น Ultimate
ซึ่ง CodeLens จะทำงานคล้ายๆ กับหน้าปัดรถยนต์ โดยหน้าปัดรถยนต์นั้น
จะเป็นตัวบอกให้คุณรู้ว่า ก่อนคุณสตาร์ทรถ

  • สภาพเครื่องยนต์ ปกติ หรือไม่
  • ระดับน้ำมัน เหลือเท่าไหร่
  • ถุงลมนิรภัย ปกติหรือไม่
  • คุณรัดเข็มขัดหรือยัง
  • ประตู ปิดแน่น ไม่แน่น
  • ฯลฯ


รูปที่1: CodeLens คืออะไร?

เมื่อคุณออกรถ และวิ่งออกไป มันจะรายงาน ข้อมูลของรถยนต์ให้คุณทราบตลอดเส้นทางว่า

  • คุณวิ่งความเร็ว เท่าไหร่
  • ความร้อนของเครื่องยนต์ ปกติใหม
  • ถึงเวลาที่คุณจะต้องเติมน้ำมันหรือยัง
  • โดยหน้าปัดนั้น จะเป็นรายงานสถานะของรถยนต์ให้คุณทราบ

CodeLens จะทำหน้าที่คล้ายๆ อย่างนั้น โดยจะรายงานสภาพโค้ดของคุณให้คุณทราบว่า

  • มีการอ้างอิงเมธอด
    (References) ที่คุณกำลังแก้ไข จำนวนเท่าไหร่ คลาสอะไร เมธอดอะไรที่อ้าอิงไปใช้ และนำไปใช้ที่บรรทัดเท่าไหร่
  • เมธอดดังกล่าวถูกทดสอบไปหรือยัง (Test Status)
  • สถานะการทดสอบเป็นอย่างไร ผ่าน หรือไม่ผ่าน
  • ถ้าคุณเชื่อมต่อกับ Team Foundation Server (TFS) จะทำให้คุณทราบว่า
    (ซึ่งในบทความนี้ไม่ได้กล่าวในรายละเอียด)
    • ใครเป็นคนสร้างเมธอด
    • การอัพเดตโค้ดครั้งล่าสุด ใครเป็นคนอัพเด็ต วันเวลาเท่าไหร่
    • มีบั๊กกี่ไอเท็ม
    • มีการ Review Code หรือยัง

Enabling CodeLens:

คุณสามารถเปิด-ปิดการทำงานของ CodeLens ได้ 2 ทางคือ

  1. บน CodeLens Indicators => คลิกขวาเลือก CodeLens Options… (รูปที่ 2.ก)
  2. บนเมนู TOOLS => เลือก Options… (รูปที่ 2.ข)

  3. หน้าต่าง Options จะปรากฏ ดังรูปที่ 2 (รูปที่ 2.ค)

โดยดีฟอลต์แล้ว CodeLens ถูกเปิดใช้งานอยู่แล้ว ฉะนั้นตอนนี้คุณไม่ต้องทำอะไรกับมัน ผมเพียงบอกวิธีว่าคุณสามารถเข้าไปเปิด-ปิดมันได้


รูปที่2: Enabling CodeLens

CodeLens
บนหัวของเมธอด

Retrieve
ให้คุณสังเกตุตรงไอเทมที่อยู่ระหว่างโค้ดคอมเมนต์
กับโค้ดจริง นั่นคือส่วนของ CodeLens ดังรูปที่ 3


รูปที่3: CodeLans

เราจะไปดูข้อมูลของ CodeLens ว่ามันบอกอะไรเราได้บ้าง ดังนี้

  • Reference information
  • Show on Code Map
  • Test information
  • Run Unit Test
  • Automatically updated Unit Test status

Reference information
บนหัวเมธอด Retrieve คุณจะเห็น CodeLen เป็น “2 references | 0/1 passing”
ในหัวข้อนี้เราพูดถึง references ฉะนั้นผมจะคลิกลงบน “2 references”
เพื่อแสดงหน้าต่าง ข้อมูลโค้ดที่ดึงเมธอด Retrieve ไปใช้งาน คุณจะเห็นมีสองคลาสที่เรียกใช้ คือ

  1. Customers.cs บรรทัดที่เรียกเมธอดคือบรรทัดที่ 73
  2. CustomersTest.cs บรรทัดที่เรียกเมธอดคือบรรทัดที่ 256

คุณสามารถดูรายละเอียดเพิ่มเติม โดยนำเคอร์เซอร์ไปวางบนบรรทัดที่ 73 => มันจะแสดงหน้าย่อยเพิ่มขึ้นมา แสดงพื้นที่โค้ดที่เรียกใช้เมธอด Retrieve ดังรูปที่ 3


รูปที่4: Reference information

Show on Code Map
Code Map เป็นฟีเจอร์ที่มีมาตั้งแต่ Visual Studio 2012
ซึ่งเป็นเครื่องมือที่ช่วยสร้างโค้ดของคุณจากรหัสที่มีความซับซ้อน
ออกมาเป็นรูปภาพไดอะแกรมง่ายๆ ทำให้คุณสามารถมองเห็นภาพ
การทำงานของโค้ดได้ง่ายขึ้น ในหน้าต่าง CodeLens
คุณสามารถเปิดหน้าต่าง CodeMap ได้ทีทันทีโดยคลิกบนเมนู
Show on Code Map คุณสามารถมองเห็นได้ทันทีว่า
เมธอด Retrieve ถูกนำไปใช้ 2 ที่ ดังรูปที่5


รูปที่5: Show on Code Map

Test information
บนหัวเมธอด Retrieve ให้คุณคลิก CodeLen ตรง 0/1 passing
คุณจะเห็นหน้าต่างแสดงสถานะการทดสอบแสดงขึ้นมา
โดยคุณจะเห็นสถานะเมธอดยังไม่ถูกทดสอบ ดังรูปที่6


รูปที่6: Test information

Run Unit Test
คุณสามารถสั่งรันทดสอบเมธอด ได้สองทางคือ

  1. ทดสอบรัน ได้จากเมนูบาร์ TEST => Run => All Tests ดังรูปที่ 7.ก หรือ
  2. คลิก Run All บนหน้าต่าง แสดงสถานะการทดสอบ ของ CodeLens ดังรูปที่ 7.ข
  3. จากนั้นรอสักครู่ เพื่อให้ระบบทดสอบโค้ดของคุณ


รูปที่7: Run Unit Test

Automatically updated Unit Test status

  1. เมื่อรันทดสอบเรียบร้อย คุณจะเห็น สถานะของ CodeLen ตรง 0/1 passing=> เปลี่ยนเป็น 1/1 passing นั่นคือเมธอด Retrieve มี Unit test ทั้งหมด 1 เมธอด ทดสอบไปแล้วทั้งหมด 1 เมธอด
  2. เมื่อคุณคลิกเมาส์ลงไป หน้าต่างแสดงสถานะการทดสอบแสดงขึ้นมา คุณจะเห็นว่าได้รันทดสอบผ่านไปเรียบร้อยแล้ว โดยที่คุณไม่ต้องไปหาจากหน้าต่างอื่น


รูปที่8: Automatically updated Unit Test status

ก่อนหน้าที่จะมี CodeLens
การที่คุณจะหาข้อมูลว่า เมธอดถูกทดสอบ หรือยัง
ผ่าน/ไม่ผ่านอย่างไร มีกี่คลาส กี่เมธอดที่อ้างอิง
เมธอดที่คุณกำลังแก้ไขอยู่ คุณจะต้องเปิดไปค้นหาในหน้าต่างอื่นๆ
คุณต้องสูญเสียเวลาบางส่วนในการค้นหา เพื่อดึงข้อมูลเหล่านั้นออกมา
วันนี้ CodeLens จะรายงานสภาพโค้ดของคุณ
ให้คุณทราบเพียงปลายนิ้วคลิก โดยที่คุณไม่ต้องสลับหน้าจอไปที่อื่น
คุณไม่ต้องเสียเวลาในการค้นหา คุณสามารถเห็นข้อมูลได้ทันที
ในหน้าต่างการเขียนโค้ด(Code editor) ตรงหน้าคุณ

จากนี้ไป จะไม่มีอะไรมาฉุดความคิดของคุณให้หลุดออกไป
จากสิ่งที่คุณกำลังคิด กำลังเขียนโค้ด
ความคิดของคุณจะเริ่มไหลเหมือนน้ำท่อประปาแตก
ไม่มีอะไรไปร้างความคิดของคุณได้ งานของคุณเริ่มเสร็จเร็วขึ้น
งานของคุณเริ่มมีคุณภาพมากขึ้น และคุณเริ่มสนุกกับการเขียนโค้ดมากขึ้น
และที่สำคัญคุณเริ่มได้กลิ่นของความสุขโชยออกมา ทุกขณะที่กดแป้นคีย์บอร์ด

ในระหว่างทางที่คุณกำลังเขียนโค้ด
ความสุขอยู่ตรงหน้าคุณตลอดเวลา
จงรู้สึกถึงมันให้ได้

แหล่งข้อมูลอ้างอิง:

 

ตอนที่1
ตอนที่2

โดย:
นุชิต อรรจนวจรรน์
GreatFriends Community Leader (nano)
WindowsITPro Columnist
Microsoft MVP

โปรแกรมเมอร์ มีความสุข มีสมาธิ จาการเขียนโค้ด…(ตอนที่3)


ความสุข อยู่ที่ใหน ?
>อยู่ใน วัยเเด็ก ?
>อยู่ใน วัยรุ่น ?
>อยู่ใน วัยผู้ใหญ่ ?
>อยู่ใน วัยเกษียณ ?

ความสุข อยู่ในทุกๆ วัย
และความสุข อยู่รอบๆ ตัวคุณ 
อยู่ที่ว่า คุณจะรู้สึก ถึงมันมากแค่ใหน?

แต่ความรู้สึกของคนส่วนใหญ่
รู้สึกถึง ความหดหู่ ความทุกข์ เสียมากกว่า
จึงไม่เหลือพื้นที่ ให้ความรู้สึก ดีดี ได้ปรากฎ

ส่วนหนึ่งจากบทความ
โปรแกรมเมอร์ มีความสุข มีสมาธิ จาการเขียนโค้ด โปรดักทิวีตี้เพิ่มขึ้น (ตอนที่3)
ในนิตยสาร WindoedITPro ฉบับ(APR-MAY 2014)

โปรแกรมเมอร์ มีความสุข เกิดสมาธิ จากการเขียนโค้ด โปรดักทิวีตี้เพิ่มขึ้น ตอนที่ 2


บทความจาก นิตยสาร WindowsITPro (December – January 2014)
ได้ขออนุญาตทางบก. เรียบร้อยแล้ว

เมื่อวันที่ 26 พฤศจิกายน 2556 ที่ผ่านมา
ณ ห้องบอลรูม โรงแรมแชงกรีลา บางรัก กรุงเทพฯ
ไมโครซอฟต์ได้จัดงาน
Microsoft TechDays Thailand 2013
ซึ่งเป็นงานสัมมนาที่ Microsoft จัดขึ้นทุกๆ ปี
ที่คนอยู่ในวงการเทคโนโลยี และนักพัฒนาให้ความสนใจ
ในงานดังกล่าว ได้เปิดตัวผลิตภัณฑ์ใหม่ของ Microsoft ดังนี้>

  • Windows Server 2012 R2,
  • System Center 2012 R2,
  • Windows 8.1 Enterprise,
  • Windows Azure และ
  • Visual Studio 2013


รูปที่1:
Microsoft TechDays Thailand 2013

ซึ่งผมได้รับเกียรติจาก ไมโครซอฟท์ ให้บรรยายหัวข้อ
What’s new for developers in Visual Studio 2013
ซึ่งเป็นการพูดถึงฟีเจอร์ใหม่ที่มาใน Visual Studio 2013
ที่เน้นเรื่อง Productivity ของนักพัฒนาเป็นหลัก
สำหรับท่านที่สนใจข้อมูล สามารถเข้าไปโหลดสไลด์
และสคริปในการบรรยายหัวข้อดังกล่าวได้จาก

Blog โปรแกรม ซอฟต์แวร์
ในบทความ: What’s new for developers in Visual Studio 2013
และในบทความตอนที่2 นี้
ผมจะพาคุณผู้อ่านไปรู้จักฟีเจอร์ Enhanced Scrollbar
ซึ่งเป็นอีกหนึ่งฟีเจอร์ที่ช่วยให้นักพัฒนา
สามารถเขียนโค้ดโปรแกรมได้อย่างราบรื่น มีความสุข
และ เมื่อคุณทำงานอย่างมีความสุข คุณจะเริ่มมีสมาธิ
เมื่อคุณมีสมาธิ จะเริ่มมีสิ่งดีๆ ตามมา

สิ่งดีๆ
นั่นคือ ความสุข สงบในใจของคุณ
> ความสุข ที่คุณ ไม่ต้องไปพึ่งใคร
> ความสุข ที่คุณ ไม่ต้องค้นหา
> ความสุข ที่คุณ สามารถสัมผัสได้ด้วยตัวเอง
> ความ สุข จาก การ ทำ งาน
ความสุข เกิดขึ้น ได้อย่างไรนั้น ลองติดตามดู

Enhanced Scrollbar
ความแตกต่างของฟีเจอร์แรก
และ มองเห็นได้อย่างชัดมากที่สุด ฟีเจอร์หนึ่ง
ใน Visual Studio 2013 คือ Enhanced Scrollbar
ถ้าไฟล์โค้ดของคุณมีขนาดใหญ่ ฟีเจอร์นี้
จะช่วยให้คุณ ดูโค้ดส่วนอื่นๆ ได้อย่างง่ายดาย

  • โดยที่คุณ ไม่ต้องออกจากหน้าต่าง Editor
  • โดยที่คุณ ไม่ต้องไล่ดูลงไปในเนื้อซอร์สโค้ด
  • ในขณะที่คุณกำลังเขียนโค้ด คุณสามารถเห็นสถานกาณ์ต่างๆ
    ในโค้ดของคุณผ่าน Scroll bar ทันที เช่น
    • เมื่อคุณมีการแก้ไขโค้ด:
      • คุณจะเห็นเครื่องหมาย สีเหลืองปรากฏ
      • เพื่อให้คุณทราบว่ามีการแก้ไข ได้เกิดขึ้น
    • หากมีข้อผิดพลาด:
      • คุณจะเห็นเครื่องหมาย สีแดงปรากฏ
      • คุณรู้ทันทีว่า ณ จุดใหนของซอร์สโค้ด มีปัญหา

จุดสี บน Scrollbar
บน Scrollbar จะมีการระบายจุดสี
เพื่อบ่งบอกถึงสถานการณ์ของโค้ดโปรแกรมของคุณ ดังนี้

  • สีเขียว: เป็นการบอกตำแหน่ง ของโค้ดที่เคยมีการแก้ไข
    และผ่านการ Build ไปเรียบร้อยแล้ว
    คุณสามารถรู้ได้ทันทีบน Scroll bar
  • สีเหลือง: เป็นการบอกตำแหน่ง โค้ดในการแก้ไขครั้งล่าสุด
    ในขณะปัจจุบันที่กำลังเขียนโค้ด ที่ยังไม่ผ่านการ Build
    คุณสามารถรู้ได้ทันทีบน Scroll bar
  • สีส้ม: เป็นการบอกคุณว่า ณ ตำแหน่งใหนของโค้ด
    ทีมี Message ที่คุณกำลังค้นหา
    โดย Message ดังกล่าวจะถูกไฮไลท์สีด้วย
    คุณสามารถรู้ได้ทันทีบน Scroll bar เช่น
    • ดังรูปที่2 ค้นหา Message “Page”
    • บน Editor จะไฮไลท์ โค้ดที่มีคำว่า Page
    • บน Scroll bar ระบายจุดสีส้ม ณ ตำแหน่งของโค้ดที่มีคำว่า Page อยู่
  • สีเทาเข้ม: เป็นการบอกคุณว่า ณ ตำแหน่งใหนของโค้ด
    ที่คุณวาง Bookmark ไว้บ้าง คุณสามารถรู้ได้ทันทีบน Scroll bar
  • สีแดง: เป็นการบอกคุณว่า ณ ตำแหน่งใหนของโค้ด
    ที่มี Error บ้าง คุณสามารถรู้ได้ทันทีบน Scroll bar
  • เส้นสีฟ้า: เป็นการบอกคุณว่า ตอนนี้ ตำแหน่ง Cursor อยู่ที่ใหน
    คุณสามารถรู้ได้ทันทีบน Scroll bar
  • สีน้ำตาล: เป็นการบอกคุณว่า ณ ตำแหน่งใหนของโค้ด
    ที่คุณได้วาง Breakpoint บ้าง คุณสามารถรู้ได้ทันทีบน Scroll bar เช่นกัน
    โดยจุดสีต่างๆ แสดงดังรูปที่2


รูปที่2:
จุดสี บน Scrollbar

จากรูปที่2
กล่าวได้ว่า Scroll bar จะเป็นตัวรายงานสถานะของซอร์สโค้ดบน Editor
ให้คุณทราบตลอดเวลา ณ ขณะที่คุณกำลังเขียนโค้ด

  • โค้ดตรงจุดใหน ที่เคยมีการแก้ไข และผ่านการ Build ไปเรียบร้อยแล้ว
  • โค้ดจุดตรงใหน ที่เคยมีการแก้ไข และยังไม่ผ่านการ Build
  • คุณวาง Bookmark, วาง Breakpoint ไว้ ณ จุดใหนของซอร์สโค้ดบ้าง
  • ซอร์สโค้ดของคุณ จุดใหนที่มี Error

คุณสามารถเห็นได้ทันที จาก Scroll bar
โดยคุณไม่ต้องเสียเวลาในการไล่ดูลงไปในเนื้อซอร์สโค้ด
ซึ่งช่วยให้คุณประหยัดเวลาได้มากในการเขียนโค้ด
จะไม่มีอะไรไปรบกวนความคิดคุณ
ให้หลุดหายไปจาก Flow ที่คุณกำลังคิด
ที่คุณกำลังเขียนโปรแกรม ความคิด และความอ่านของคุณ
จะไหลลื่นเป็นน้ำท่อประปาแตก ไม่มีอะไร จะไปฉุดควาคิดคุณได้
งานคุณจะเสร็จเร็วขึ้น นั่นคือ Productivity ของคุณจะสูงขึ้น

Scroll Bar Options
คุณสามารถเข้าไปปรับ Scroll Bar Options
ให้แสดงตามความชอบใจ ซึ่งสามารถเข้าได้ 3 ทางคือ

  1. คลิกขวาบน Scroll Bar
  2. ค้นหาในช่อง Quick Launch (Ctrl+Q)
  3. เข้าทางเมนู TOOLS=> Options…

1. คลิกขวาบน Scroll Bar
คุณสามารถปรับ Option ของ Scrollbar ได้โดย=>
คลิกขวาบน Scroll bar เลือก Scroll Bar Options… ดังรูปที่3


รูปที่3:
ทางเข้า Scroll Bar Options (1)

2. ค้นหาในช่อง Quick Launch (Ctrl+Q)
ค้นหาในช่อง Quick Launch
ให้พิมพ์ “Scroll bar” =>
คลิก Text Editor =>
All Languages =>
Scroll Bars ดังรูปที่4


รูปที่4:
ทางเข้า Scroll Bar Options (2)

3. เข้าทางเมนู TOOLS=> Options…
ในหน้าต่าง Option บนช่อง Search Option (Ctrl+E)
ให้พิมพ์ Scroll =>
แล้วคลิก Scroll Bars ดังรูปที่ 5

รูปที่5: ทางเข้า Scroll Bar Options (3)

จากทางเข้า 3 ทางดังกล่าวจะนำคุณเข้าสู่ หน้าต่าง Scroll Bar Options ดังรูปที่6

รูปที่6:
Scroll Bar Options

จากรูปที่6:
กล่าวได้ว่า

  • Show horizontal scroll bar: แสดง scroll bar ในแนวนอน
  • Show vertical scroll bar: แสดง scroll bar ในแนวตั้ง
  • ในกล่อง Display
    • Show annotations over vertical scroll bar: แสดงคำอธิบายประกอบบน scroll bar
    • Show changes: ระบายจุดสี เมื่อมีการเปลี่ยนแปลงโค้ด
    • Show marks: ระบายจุดสี เมื่อมีการ marks ในโค้ด เช่น Bookmark, Breakpoint
    • Show errors: ระบายจุดสี เมื่อมีการ Error
    • Show caret position: แสดงเส้นตำแหน่ง cursor
  • ในกล่อง Behavior
    • Use bar mode for vertical scroll bar: บาร์โหมด
    • Use map mode for vertical scroll bar: แมปโหมด
    • Show Preview Toltip: แสดงตัวอย่าง Toltip
      • Source overview: แสดงขนาดพื้นที่ของ Map mode

Scroll bar mode
Scroll bar คุณสามารถดูได้ 2 โหมด คือ

  1. Bar mode: แสดงเฉพาะแท่ง Bar และจุดสีต่างๆ
  2. Map mode: แท่ง Bar จะขยายกว้างขึ้น แล้วซอร์สโค้ดของคุณอยู่ภายใน เหมือนคุณมองจากที่สูง เหมือนคุณดูแผนที่ใน Google พร้อมกับแสดงจุดสีต่างๆ

1. Bar mode
ในการเปลี่ยน Bar mode คุณสามารถทำได้ง่ายๆ ดังนี้=>
คลิกขวาบน Scroll Bar เลือก Scroll Bar Options…=>
ในกล่อง Behavior=>
เลือก Use bar mode for vertical scroll bar
ซึ่งเป็นดีฟอลต์ที่ Visual Studio 2013
เลือกไว้อยู่แล้ว ดังรูปที่7
คุณจะเห็นเฉพาะแท่ง bar และจุดสีต่างๆบนแท่ง bar เท่านั้น
รูปที่7 Bar mode

2. Map mode
เปลี่ยน Map mode ทำได้โดย=>
คลิกขวาบน Scroll Bar เลือก Scroll Bar Options…=>
ในกล่อง Behavior=>
เลือก Use map mode for vertical scroll bar
คุณจะเห็น Scroll bar จากเป็นเพียงแท่ง bar จะขยายกว้างขึ้น
เปลี่ยนเป็นพื้นที่แสดงซอร์สโค้ดเล็กๆ แทน
พร้อมจุดสีต่างๆ เหมือนคุณกำลังดูแผนที่บน Google ดังรูป
รูปที่8 Map mode

ใน Map mode ถ้าคุณติ๊กถูก (CheckBox)
Show Preview Tooltip ตอนคุณนำ Cursor Mouse ไปบน Map bar
มันจะแสดงหน้าต่างขึ้นมา โดยจะขยายซอร์สโค้ดในส่วนที่ Cursor Mouse ชี้อยู่
เพื่อให้คุณทราบว่า ณ ตำแหน่งนั้นโค้ดคืออะไร?
(เหมือนคุณซูมกล้องส่องทางไกล ไปในจุดนั้น มันจะแสดงรายละเอียดให้คุณเห็นมากขึ้น)

ดังรูปที่9


รูปที่9
Preview Toltip

ใน Map mode นั้นคุณสามารถขยายพื้นที่ Map
ตามความชอบ ได้โดยการปรับแต่งที่ Source overview:
โดยเลือกขนาดจาก DropDownList
โดยดีฟอลต์ Visual Studio 2013
จะเลือก Source overview: เป็น Medium มาให้ ดังรูปที่10
รูปที่10 Source overview

ฟีเจอร์ Enhanced scrollbar
จะทำให้คุณมีตา เหมือนตานกอินทรีย์
ซึ่งสายตาอันเฉียบคมของนกอินทรีนั้น
สามารถมองไปได้ไกล เหมือนกล้องส่องทางไกล
และแม้จะบินอยู่บนที่สูง ก็จะมองเห็นเหยื่อตัวเล็กๆ
บนพื้นล่างได้อย่างง่ายดาย
และบินโฉบลงมาจับกินได้อย่างรวดเร็ว ทันที

คุณจะมองเห็นโค้ด
ของคุณได้อย่างง่ายดาย ในแบบนั้นเลย
แม้ไฟล์โค้ดของคุณจะมีขนาดใหญ่มาก
หลายหมื่น หลายแสนบรรทัดก็ตาม
เมื่อโค้ดของคุณมีความผิดพลาด ณ จุดใดใน Editor
คุณสามารถเห็นสถานการณ์นั้นบน scrollbar ทันที
คุณเพียง ดับเบิ้ลคลิกบนจุดสีนั้น
มันจะนำคุณกระโดดไปยัง จุดโค้ดเจ้าปัญหาทันที
โดยที่คุณไม่ต้องสลับหน้าต่าง ไปที่อื่น
โดยที่คุณไม่ต้องค้นหารายละเอียด
ลงไปในเนื้อซอร์สโค้ด แต่อย่างใด

Enhanced scrollbar
ช่วยให้คุณประหยัดเวลา
ช่วยให้คุณเขียนโค้ดได้เร็วขึ้น ช่วย
ให้คุณเขียนโค้ดได้อย่างราบรื่น
> เมื่อคุณเขียนโค้ดได้อย่างราบรื่น
> คุณจะเริ่มมีความสุข ในการเขียนโปรแกรม
> เมื่อคุณทำงานอย่างมีความสุข
> สมาธิคุณจะเริ่มเกิดขึ้น
> เมื่อสมาธิคุณเกิด
> Productivity ของคุณ ก็จะเพิ่มขึ้น

ความสุขนั้น
อยู่ตรงหน้าคุณ ตลอดเวลา
เหมือน อากาศธาตุ ที่อยู่รายรอบตัวคุณ

จงหายใจเข้า เพื่อ
นำความสุข ความสว่าง
เข้าสู่ตัวคุณ

และหายใจออก เพื่อ
คลาย ความทุกข์ ความมืดดำ
ออกไปจากตัวคุณ

จงใช้แสงสว่าง
นำทางชีวิตของคุณ ไปสู่เป้าหมาย
แสงสว่างเท่านั้น
ที่จะทำให้คุณเห็นความสวยงาม สองข้างทาง

จงเขียนโค้ดของคุณ อย่างมีความสุข
เมื่อคุณมีความสุข
คุณจะทำงาน โดยไม่ต้องทำงาน

แหล่งข้อมูลอ้างอิง:

ตอนที่ 1

โปรแกรมเมอร์ มีความสุข เกิดสมาธิ จากการเขียนโค้ด โปรดักทิวีตี้เพิ่มขึ้น ตอนที่ 1


บทความจาก นิตยสาร WindowsITPro (November – December 2013)
ได้ขออนุญาตทางบก. เรียบร้อยแล้ว

เมื่อวันที่ 13 พฤศจิกายน 2556
ไมโครซอฟท์
ได้เปิดตัว Visual Studio 2013 และ .NET 4.5.1
ไม่ทราบท่านผู้อ่าน ได้ติดตามบ้างใหม
ปีนี้ ถือเป็นปีที่ยิ่งใหญ่ ของ Visual Studio
โดยไมโครซอฟต์ได้ส่งมอบฟีเจอร์ที่ดีเยี่ยม

เอดิเตอร์โปรดักทิวีตี้
สำหรับนักพัฒนา ซึ่งใน Visual Studio 2013 นั้น
ได้เน้นเรื่อง เอดิเตอร์โปรดักทิวีตี้เป็นหลัก
ซึ่งไมโครซอฟต์ ได้รับข้อเสนอแนะ (Feedback)
จากนักพัฒนาทั่วโลก และได้นำ ข้อเสนอแนะจากของฟีเจอร์เหล่านั้น
ผนวกเข้าไปใน Visual Studio 2013
ในบทความนี้ผู้เขียนจะยกฟีเจอร์หนึ่งมาพูดถึง
ซึ่งผู้เขียนชื่นชอบเป็นพิเศษ และคิดว่า สำหรับนักพัฒนาแล้วฟีเจอร์นี้
จะช่วยให้การเขียนโค้ด เป็นเรื่องที่สนุกมากยิ่งขึ้น

Go to Definition

รูปที่ 1: เมนู
Go to Definition

ในอดีตเมื่อคุณเขียนโค้ด
และต้องการดูรายละเอียดของบางอ็อบเจ็กต์ หรือบางเมธอด
คุณจะใช้วิธี คลิกขวาลงบนอ็อบเจ็กต์ดังกล่าว
แล้วเลือกเมนู Go to Definition (ดังรูป1)
แล้วมันจะพาคุณกระโดดไปในบรรทัดอื่น
หรือไม่ก็ไปเปิดโค้ดในหน้าต่างอื่น (ดังรูปที่2)
ซึ่งเมื่อคุณดูรายละเอียดเสร็จเรียบร้อย
และได้แนวคิดแล้ว คุณจะกลับไปเขียนโค้ดต่อ
เมื่อคุณจะกลับไปที่เดิม คุณจะเสียเวลาในการค้นหาว่า
เมื่อตะกี้ คุณอยู่ ณ ตำแหน่งใหนของซอร์สโค้ด
พอคุณจะกลับไปยังตำแหน่งเดิม เพื่อที่จะเขียนโค้ดต่อ

ความคิดคุณจะไม่โฟลว์
ไม่ใหลต่อจากจุดที่คุณกำลังขียนโค้ดเมื่อครู่
เมื่อกี้คุณไปดูอะไรมา?…
รายละเอียดมันว่าอย่างไรนะ
เนื่องจากคุณใช้พลังงานไปบางส่วน
ในการค้นหา เส้นทางกลับมาที่จุดเดิม
แล้วก็ทำให้ว้าวุ่นใจ แล้วคุณจะลืม และมึนๆ


รูปที่ 2:
Go to Definition เปิดหน้าต่างใหม่

เมื่อคุณลืม และมึน
คุณจะลุกจากโต๊ะ ไปหาทานกาแฟ, คุยกับเพื่อน
กลับมาที่โต๊ะ ยังนึกไม่ออก และมึนกว่าเดิม
แล้วคุณเริ่มเปิด

Facebook Update Status
สักหน่อย แล้วถ่ายรูป แก้วกาแฟ เน้นโลโก้ สตาร์…บั๊ก แล้วแชร์….
จากนั้นคุณจะรอเพื่อนมา กด Like…
ขณะเดียวกันคุณก็หากด Like status ของเพื่อนๆ
มารู้สึกตัวอีกทีถึงเวลาเลิกงาน
เตรียมตัวเก็บกระเป๋ากลับบ้าน หมดไปครึ่งวัน
โค้ดดิ่งเท่าเดิม กับเมื่อเช้า
เพียงเพราะความคิดคุณไม่โฟลว์
ทำให้คุณลืม มัวแต่หาว่า เอ…เมื่องี้
เรากำลังเขียนตรงส่วนใหน? …

Peek Definition

รูปที่ 3: เมนู
Peek Definition


รูปที่ 4:
Peek Window

การที่ความคิดของคุณไม่โฟลว์ สิ่งนี้บอกอะไรกับเรา
สมาธิ!
สมาธินั้นสำคัญมาก
ไมโครซอฟท์ ได้เพิ่มฟีเจอร์
Peek นี้เข้ามา
โดยทำให้คุณสามารถ ดูรายละเอียดของโค้ดที่เรียกใช้

  • ณ จุดที่มีการเรียกใช้
  • ณ ตำแหน่งที่เคอร์อยู่
  • ณ ขณะในปัจจุบัน ที่คุณกำลังเขียนโค้ด โดยที่คุณไม่ต้องสลับหน้าต่าง ไปที่อื่น

ณ ขณะปัจจุบัน…
ณ ขณะปัจจุบัน นี้สำคัญมาก
เดล คาร์เนกี้ กล่าวไว้ในหนังสือว่า

“จงมีชีวิตอยู่ ในห้อง ที่มีแต่วันนี้”

อดีตผ่านมาแล้ว
ส่วนอนาคตเป็นเพียงสิ่งซึ่ง ยังไม่ปรากฏรูปร่าง
และยาวนานเท่าไหร่ ไม่มีใครบอกได้

ชีวิตจริงของคุณ
มีอยู่ ณ ขณะ ปัจจุบัน ที่คุณกำลังเขียนโค้ดนี้ เท่านั้น

ทุกครั้งที่เข็มวินาทีกระดิก
เหตุการณ์เหล่านั้นจะ กลายเป็นอดีตไปทันที

ถ้าคุณลองสังเกตุ ย้อนกลับมาดูที่ตัวเองดีดี
สิ่งที่ทำให้คุณกังวลใจ ไม่สบายใจ
เครียดจนเขียนโค้ดไม่ออก
เป็นเพราะคุณใช้หน่วยความจำ(Memory) ในหัว
ไปคิดเรื่องในอดีต (เมื่อเช้าตื่นสาย คนที่บ้าน บ่นแต่เช้า ตอนนี้ยังรู้สึกอยู่…)
หรือไม่ก็เป็นเรื่องที่ยังไม่เกิดในอนาคต
(โอ้…งานโค้ดดิ้งกองโตเลย จะส่งลูกค้าพรุ่งนี้ จะทันใหมนี่…จะโดนด่า โดนปรับใหม?)

โดยคุณนำความกังวลใจเหล่านั้นมาคิดในปัจจุบัน
จนหน่วยความจำในหัวของคุณเหลือน้อย
หรือแทบไม่เหลือ
สำหรับการประมวลผลข้อมูลตรงหน้าคุณ
ในขณะที่คุณกำลังเขียนโค้ดอยู่
ทำให้คุณแก้ไขปัญหาได้ล่าช้า หรือไม่สามารถหาทางออกของปัญหาได้
สิ่งที่จะทำให้ ชีวิตของคุณมีความราบรื่นได้จริงๆ คือ

ชั่วขณะ ปัจจุบัน
นี้เท่านั้น

ณ ขณะปัจจุบัน
ที่คุณกำลังเขียนโค้ด
ถ้าคุณไม่เสียเวลา
ในการสลับหน้าต่างไปมา
ทำให้คุณเกิดความว้าวุ่นใจ
เมื่อไม่มีเหตุปัจจัย ในการดึงความคิดของคุณให้หลุด
ไปจากสิ่งที่คุณกำลังโค้ดดิ้ง

ความคิดของคุณจะโฟลว์
และเริ่มใหลเป็นน้ำ
เมื่อนั้นการเขียนโค้ดของคุณจะราบรื่น
คุณจะเริ่มมีความสุข เมื่อคุณไม่คิดถึงความว้าวุ่นใจเหล่านั้น
สิ่งที่มีอยู่คืออะไร?

  • คือความราบรื่น
  • คือความสงบสุข สบาย ในใจของคุณ
  • คือหน่วยความจำที่มากมายในหัวคุณ ที่ถูกคืนสู่ความว่าง พร้อมสำหรับ การนำไปใช้งานทันที

การใช้งาน Peek นั้น
เมื่อคุณต้องการดูรายละเอียดของบางอ็อบเจ็กต์
หรือบางเมธอดใดๆ คุณเพียงคลิกขวาบนอ็อบเจ็กนั้นๆ
แล้วเลือกเมนู Peek Definition (ดังรูปที่3)
หรือวางเคอร์เซอร์ บนอ็อบเจ็กต์ดังกล่าว
แล้วกดปุ่มชอร์ตคัต(shortcut) Alt+F12
หน้าต่าง Peek จะเปิดออกมาทันที ณ …

  • ณ จุดที่มีการเรียกใช้
  • ณ ตำแหน่งที่เคอร์อยู่
  • ณ ขณะในปัจจุบัน ที่คุณกำลังเขียนโค้ด โดยที่คุณไม่ต้องสลับหน้าต่าง ไปที่อื่น ดังรูปที่4

ปุ่มคีย์บอร์ดชอร์ตคัต สำหรับ Peek Definition ดังตารางที่ 1:

ตารางที่ 1: Keyboard shortcuts for Peek Definition

Functionality

Keyboard shortcut

Open the definition window

Alt+F12

Close the definition window

Esc

Promote the definition window to a regular document tab

Shift+Alt+Home

Navigate between definition windows

Ctrl+Alt+- and Ctrl+Alt+=

Navigate between multiple results

F8 and Shift+F8

Toggle between the code editor window and the definition window

Shift+Esc

 


รูปที่ 5: Stack Peek Window

และนอกจากนั้น
เมื่อคุณต้องการดู อ็อบเจ็กต์อื่นๆ ในหน้าต่าง Peek
คุณสามารถคลิกขวาเลือกเมนู Peek Definition
แล้วคุณสามารถดูลึกเข้าไปในหน้าต่าง Peek
ซึ่งจะเก็บหน้าต่าง Peek เป็นสแต็ค (Stack)
ไว้ดังรูปที่ 5 โดยคุณสามารถคลิกเมาส์สลับหน้าต่าง Peek อื่นๆ ได้ทันที
และคุณยังสามารถแก้ไขโค้ดในหน้าต่าง Peek ได้ทันที อีกด้วย

เมื่อคุณดูรายละเอียดของอ็อบเจ็กต์
เป็นที่เรียบร้อย คุณได้แนวคิด และรู้ว่า
อ็อบเจ็กต์ดังกล่าวทำงานอย่างไร รับส่งพารามิเตอร์อย่างไร
คุณเพียงปิดหน้าต่าง Peek ดังกล่าวทิ้งไป
จะเห็นว่า คุณไม่ได้สลับหน้าต่างไปที่อื่น

คุณสามารถเขียนโค้ดต่อได้ทันที
ความคิดของคุณจะใหลต่อทันที จากจุดที่คุณค้างไว้เมื่อครู่

รูปที่ 6 เขียนโค้ดต่อได้ทันที จากจุดที่ค้างไว้เมื่อครู่

ความสุขนั้นมีอยู่ตลอดเวลา
ตรงหน้าคุณ รอบๆ ตัวคุณ
อยู่ที่ว่าคุณจะเหลือหน่วยความจำในหัว
เพียงพอที่จะรู้สึก ถึงมันได้มากแค่ใหน


ด้วย Visual Studio 2013 สามารถช่วยคุณได้
ช่วยให้คุณมีความสุข ในการเขียนโค้ดมากขึ้น

เมื่อคุณมีความสุข
สมาธิของคุณก็จะเกิด

เมื่อสมาธิเกิด
ความว้าวุ่นใจจะหายไป
คุณจะจดจ่ออยู่กับสิ่งตรงหน้า ที่คุณกำลังทำ
โดยคุณไม่ต้องกังวลถึงสิ่งที่ผ่านไปแล้ว
ไม่ต้องกังวลถึง สิ่งที่ยังไม่เกิดขึ้น

เมื่อนั้น หน่วยความจำในหัวของคุณจะเหลือพื้นที่มากพอ
ในการประมวลผลกับปัญหาตรงหน้า
ความคิดของคุณจะใหลเหมือนท่อประปาแตก
และจะทำให้คุณแก้ไขปัญหาได้อย่างรวดเร็ว
เมื่อนั้นโปรดักทิวีตี้ของคุณจะเพิ่มขึ้นหลายเท่าตัว

โปรแกรมเมอร์
สามารถมีความสุข และมีสมาธิ ได้จากการเขียนโค้ด
จงเขียนโค้ด ของคุณอย่างมีความสุข
เมื่อคุณทำงานอย่างมีความสุข
คุณจะทำงานโดยไม่ต้องทำงาน

แหล่งข้อมูลอ้างอิง:

บทความจาก นิตยสาร WindowsITPro (November – December 2013)

โดย:
Nano,2014-05-02

Import Export Excel using EPPlus


วันเสาร์ที่ 26 เมษายน 2014
Greatfriends ร่วมกับ มหาวิทยาลัยหอการค้า จัดงาน
งานสัมมนา DevRock #00 Hello MVC Rocks .NET Community
สำหรับ ASP.NET WebDeveloper

ผมได้นำ Tip เล็กๆ เกี่ยวกับการทำงาน กับ Excel ด้วย EPPlus
ไปแชร์ ให้ผู้ฟังทุกท่าน ในหัวข้อ Import Export Excel using EPPlus

และในงานนี้ ได้รับความ อนุเคราะห์ จาก นิตยสาร WindowsITPro
นำหนังสือไปแจกให้ผู้ฟังทุกท่านด้วย ดังนี้


อีพีพลัส (EPPlus) คืออะไร?



ตัวอย่าง:
จะแสดงการ Import และ Export Excel ด้วย EPPlus

Import Customer

Export Category Sales for 1997

ออกแบบหน้าจอ

เขียนโค้ด

เขียนโค้ดบนปุ่ม Load Excel to GridView
btLoadExcel_Click

 

เขียนโค้ดบนปุ่ม Import Customer
btImport_Click

 

เขียนโค้ดบนปุ่ม Export Excel Chart
btExporrt_Click

ทดสอบโปรแกรม
Import Excel
Load Excel to GridView คลิกปุ่ม เลือกไฟล์ =>

เลือกไฟล์ => กด Open

คลิกปุ่ม Load Excel to GridView

ข้อมูล Excel จะไปแสดงบนหน้าจอ
ให้ User ตรวจสอบ อีกครั้ง

เมื่อข้อมูลถูกต้องแล้ว
กดปุ่ม Import Customer

Import เรียบร้อย

ตรวจสอบใน
ฐานข้อมูล => ข้อมูลเข้าเรียบร้อย

Export Excel

กดปุ่ม Export Excel Chart

เลือกพาธ
กดปุ่ม Save

คลิกเปิดไฟล์

รายงาน Category Sales for 1997

การทำงานกับ ข้อมูล Excel ผ่านคอมโพเนนต์ EPPlus มีข้อดีคือ

  • ไม่ต้องติดตั้ง ไลบรารี่ของ Excel ไว้บนเว็บเซอร์ฟเวอร์
  • ไม่ต้อง Upload ไฟล์ excel ไปวางบนฮาร์ดดิสก์ของเว็บเซอร์ฟเวอร์
  • สามารถใช้ LINQ ในการเชื่อมต่อกับฐานข้อมูล ซึ่งทำให้การเขียนโค้ดใช้เวลาน้อนลง โค้ดของเราสั้นลง

ดาวน์โหลด ตัวอย่างโปรเจ็กต์

แหล่งข้อมูลอ้างอิง

โดย:
JANAWAT, 2014-04-26


 

งานสัมมนา DevRock #00 Hello MVC Rocks .NET Community


งานสัมมนา DevRock #00 Hello MVC Rocks .NET Community
งานนี้สำหรับ
สมาชิกกลุ่ม ASP.NET & MVC Developers Thailand เท่านั้น
ฟรีไม่มีค่าใช้จ่าย

จัดใน วันเสาร์ที่ 26 เมษายน 2014 เวลา 9.00 – 17.00 น.
ณ มหาวิทยาลัยหอการค้า
รับจำนวน 40 ท่าน

พรุ่งนี้แล้ว
ใครที่ลงทะเบียนไว้ ไปพบกันครับ

และในงานนี้ ได้รับความ อนุเคราะห์
จาก นิตยสาร WindowsITPro
นำหนังสือไปแจก ให้ผู้ฟังทุกท่านด้วยครับ

โดย:
JANAWAT, 2014-04-25

7-4-2014 7-32-22 PM

คุณจะเป็น อย่างที่คุณคิด


วันที่ 22 พ.ย. 2549
ผมได้ไปงานสัมมนา MSDN Seminar ของไมโครซอฟท์
ผมได้ฟัง อ.สุเทพ บรรยายเรื่อง Gadgets
และนี่ป็นครั้งแรก ในชีวิต ที่ผมได้ยิน คำว่า MVP
a.suthep
ผมนั่งดู อาจารย์สุเทพบรรยาย
รู้สึกว่าเท่ห์มาก อยากขึ้นไปพูดบนนั้นบ้างจัง
ในขณะที่ตัวเอง ไม่ค่อยพูด คุยไม่เก่ง
“MVP น่าจะเหมือน VIP แน่ๆ คิดอยู่คนเดียว”
และช่วงท้าย ก่อนจบ Session
อ.สุเทพ แสดง Link ของ GreatFriends.Biz Community
อาจารย์ ได้ยกตัวอย่างกระทู้ ถามตอบปัญหา เชิงโปรแกรมมิ่ง
ผมสนใจ เลยจดเอาไว้

กลับมาถึงบ้าน
จึงเข้าไปดูเว็บบอร์ด GreatFriends และหลังจากนั้น
ก็สมัครสมาชิก ชื่อ nano เพราะช่วงนั้น
เทคโนโลยีนาโน กำลังมาแรง
และเริ่มเข้าไปถามกระทู้บน GreatFriends

25 กพ. 2550
ประกาศ! งาน VTALKS #3
จัดงานที่ CAT หรืออาคาร กสท อยู่ใกล้สะพานตากสิน
ผมไปร่วมงาน VT และนั่นป็นครั้งแรก ในชีวิตของผมกับกิจกรรมของ GreatFriends
อาจารย์สุเทพ เป็นกันเองมาก เลยชอบเข้าร่วม จกรรมของ GreatFriends ตลอดมา

27 พค. 2550
VTALKS #4
7-4-2014 7-32-22 PM
BLOG – ภาพจากงาน VTALKS #4 
ผมไปร่วมงาน VT4

22 กค. 2550
VTALKS #5
หารูปตัวเอง ไม่เจอ…

6 กย. 2550
VTALKS #6
7-4-2014 7-38-38 PM
VTALKS #6 – Photos !

25 ก.ย. 2550
เวลา 17:54 น.
บทความ – Uploads excel files to SQL DB
ได้ถือกำเนิดขึ้นบนเว็บบอร์ด GreatFriends.Biz
และนี่เป็นบทความแรก ในชีวิตผม

2 ธค. 2550
VTALKS #7
7-4-2014 8-52-49 PM

27 มค. 2551
VTALKS #8
DSC_6344_00

22 มี.ค. 2551
VTALKS #9
vtalk9084

28 กย. 2551
VTALKS #10
vt10group2

26 เม.ย. 2552
VTALKS #11
น้องพั้นซ์
พ่อลูกอ่อน เลยไม่ได้ไป
และนี่เป็นลูกคนแรกในชีวิตผม

1 กค. 2552
เป็น MVP ท่านที่ 5 ใน Greatfriends
NANO_MVP_01-07-09_3
และนี่เป็นครั้งแรก ในชีวิตผม ที่ได้เป็น MVP

30 ส.ค. 2552
VTALKS #12
DSC_6187
ผมบรรยายเรื่อง: Silverlight 3.0 for Business Applications
และเป็นการบรรยายครั้งแรกในชีวิตผม

จุดเริ่มต้น
จุดเริ่มต้น เริ่ม จากครั้งแรก เสมอ
นั่นคือที่มา แห่งการแบ่งปัน, การแลกเปลี่ยน,
การเรียนรู้ สำหรับผม บนโลกออนไลน์
และเป็นจุดเริ่มต้น ในการเป็น Windows IT Pro Columnist WindowsITProColumnist

หลังจากที่ก่อนหน้านี้
ได้เข้าร่วมถาม-ตอบ-แลกเปลี่ยน-ความรู้กับเพื่อนๆ บน GF อยู่พักใหญ่
เห็นเพื่อนบางท่าน โพสกระทู้เป็นบทความ

เห็นแล้วอ่าน อ่านแล้ว ได้ความรู้ดี
จึงเกิดความคิด อยากเขียนบ้าง (คนเขียนน่าจะได้ความรู้กว่า)
ประกอบกับช่วงนั้นได้ยินคำว่า MVP บ่อยครั้ง
ตอนแรกๆ คิดว่า น่าจะเหมือนๆ กับ ที่นั่ง VIP ประมาณั้น
แต่ระยะหลังๆ เมื่อเข้าร่วมกิจกรรมของ GF บ่อยครั้ง
ทำให้ได้เจอ MVP ตัวเป็นๆ รู้สึกว่ามันเท่ห์จัง เกิดความอยากเป็นบ้าง

3 ก.ค. 2549
ขอแสดงความยินดีกับ Thailand MVP ใหม่ของเราครับ – นาย (Nine)
http://greatfriends.biz?18646

2 เม.ย. 2550
ยินดีกับ มี่ MVP
http://greatfriends.biz?42328

1 เม.ย. 2552
New MVP!! ดีใจกับ Bunpote_tt ด้วยครับ
http://greatfriends.biz?103388

จึงแอบถาม
ว่าเป็น MVP ได้อย่างไร?…
ได้คำตอบสรุปประมาณว่า  MVP เป็นผู้ที่ มีจิตอาสา
คือนอกจากมีความรู้แล้ว
ไม่งกเก็บไว้คนเดียว แล้วให้มันเลือนหายไปพร้อมกับกาลเวลา
แต่รู้จักเผื่อแผ่ให้กับคนรอบข้าง ให้กับสาธารณะ

และถามต่อว่า เผื่อแผ่อย่างไร?…
ก็ได้คำตอบว่า…
> ตอบกระทู้,
> ร่วมกิจกรรม,
> เขียนบทความ,
> เป็นวิทยากร แค่นี้แหละ (เยอะนะ คิดเอง)
ถ้าผลงานเข้าตาไมโครซอฟต์
ก็มีสิทธิ์ถูกเสนอชื่อ แต่งตั้งเป็น MVP

ได้ยินเท่านั้น ไฟลุกท่วมหัว อยากเป็น MVP
แต่ไม่กล้า บอกใคร
เพียงแต่โปรแกรมเข้าไป ในจิตใต้สำนึก ด้วยการคิด ทุกวันๆ
คิดว่า
“อยากเป็น อยากเก่ง อยากเท่ห์เหมือน MVP”
”เราจะเป็น MVP”
    ”เราจะเป็น MVP”
    ”เราจะเป็น MVP”

ทำทันที
เมื่อคิดแล้ว ไม่ปล่อยให้ จิตสำนึกทำงานเพียงลำพัง
แต่เราเอง ต้องทำทันที เช่นกัน
โดยตอบกระทู้กระจาย (ทำสถิติสูงสุด 500 กระทู้/เดือน)
เท่าๆ กับกระทู้ของหลายๆ คนรวมกันทั้งปี

เขียนบทความอย่างต่อเนื่อง
ผ่านไปหนึ่งปี รู้สึกว่า น่าจะลองเขียนลงนิตยสารบ้างนะ
จึงเมล์ติดต่อไปที่ นิตยสาร WindowsITPro
ทางบก. ถามกลับมาว่า คนที่จะเขียนฯ ต้องเป็นคนที่
มีประสบการณ์ โดยตรงกับเรื่องที่เขียน และเคยเขียนที่ใหนบ้าง

จึงอ้างอิงบทความบน GF …
ทางบก. จึงให้ลองส่งตัวอย่างให้พิจารณา

4 พค. 2551
บทความฉบับแรก ในชีวิตผม ที่ลงตีพิมพ์นิตยสาร CODE IT
ซึ่งแถมมาในเล่มนิตยสาร WindowsITPro
ในบทความชื่อ
สร้างแอพพลิเชั่นง่ายๆ ด้วย Silverlight 2 RIA, WCF และ LINQ
หลังจากนั้นทางบก. ชอบบทความมาก
เรียนเชิญให้เขียนบทความประจำ จนถึงปัจจุบัน

ด้วยการตอบกระทู้กระจาย เขียนบทความอย่างต่อเนื่อง
ตั้งแต่ปี 2550 ถึง 2552 ทำอย่างต่อเนื่อง 2 ปีเต็ม
ผลงานเข้าตาไมโครซอฟท์
ได้เป็น MVP (ตามที่คิดไว้) 

1 ก.ค. 2552
MVP_Horizontal_FullColor_150px
ขอแสดงความยินดี คุณ nano MVP คนใหม่รอบ July 2009 ครับ
http://greatfriends.biz?109645

คาถาประจำใจ
ผมมีคาถาประจำคือ
คาา => เปลี่ยนเป็นคำว่า อา

ด้วยจิตอาสา
หลังจากได้เป็น MVP
สิ่งหนึ่งที่ได้คือ  วิธีการเรียนรู้

วิธีการเรียนรู้ของผม

1.เขียนบทความ
เขียนบทความประจำที่ นิตยสาร WindowsITPro
• การจะเขียนเรื่องใดๆ
• ต้องผ่านกระบวนการ ศึกษาค้นคว้า จากหลายแหล่งข้อมูล
• ยำรวมมาเป็นความเข้าใจของตัวเอง
• แล้วเขียนมันออกมาให้คนอ่านเข้าใจง่าย
• ทบทวนหลายรอบ ก่อนส่งตีพิมพ์ หรือโพสต์ผ่านเว็บ
• การทำซ้ำๆ การทำหลายๆ รอบ ทำให้เราเข้าใจมากยิ่งขึ้นไปอีก

2.เขียนบลอก
โปรแกรม ซอฟต์แวร์: https://janawat.wordpress.com
• เป็นการบันทึกความทรงจำ
• ด้านโปรแกรมมิ่ง
• เผื่อแผ่สำหรับผู้อ่านทั่วไป
• และตอกย้ำ ความเข้าใจ ของตัวเอง

3.เป็นผู้นำชุมชน
อยู่ที่ http://greatfriends.biz โดยใช้ชื่อ nano
• บรรยายความรู้
• ในเรื่องเทคโนโลยีด้าน Microsoft.NET
• ให้กับคนชุมชน

4.ตอบกระทู้
บนเว็บบอร์ด http://greatfriends.biz
• ปัญหาหลายๆ ปัญหา
• ทำให้เรา ฉลาดขึ้น
• ทำให้เรา มีประสบการณ์ มากขึ้น
• และทำให้เรา มีเพื่อนมากขึ้น

5.วิทยากร และเป็นอาจารย์พิเศษ
บรรยายในงานสัมมนาของไมโครซอฟต์ และเคยสอนที่บริษัท เกรทเฟรนด์ บิซซิเนซ ดีเวลล๊อปเมนท์ จำกัด
• การจะพูดเรื่องใด หรือการจะสอนใครได้นั้น แน่นอน
• ต้องผ่านกระบวนการศึกษาหาความรู้ จากหลายๆ แหล่ง
• แล้วเขียนย่อๆ มันออกมาลงบนสไลด์
• กลั่นกรองออกมาเป็นเสียง อีกครั้งบนเวที หรือหน้าห้อง
• ยิ่งตอกย้ำความเข้าใจของเราเอง ให้มากยิ่งขึ้น
• เมื่อเราจะรู้สึกกลัว และตื่นเต้น
• แต่ทันทีที่เราขึ้นบนเวที หรือยืนหน้าห้อง เราจะหายกลัว

image

และเมื่อเราศึกษาอย่าต่อเนื่อง
เราจะเป็นคนที่ มีวินัยตัวเองมากขึ้น
สามารถทำงานได้เร็วขึ้น สมองคิดไวขึ้น
คิดบวกมากขึ้น มองเห็นคำตอบ ในทุกปัญหา
และคุณจะขยันมากขึ้น มากขึ้น และมากขึ้น
ทำงานอย่างรวดเร็ว กระตือรือร้น มากขึ้น
แน่นอน หัวหน้างานต้องชื่นชอบ
ความก้าวหน้าในหน้าที่การงาน เริ่มเข้ามา

นี่คือสิ่งเล็กๆ น้อยๆ ที่ผมเชื่อเสมอว่า
เราจะเป็นอย่างที่เราคิด…

อายุที่เราได้มา คือวันเวลาที่เราเสียไป
สิ่งเดียวในโลก ที่ไม่สามารถรีไซเคิลได้ คือวันเวลาเมื่อวันวาน

เมื่อไหร่ ผมรู้สึกกลัว ผมจะลงมือทำทันที

คุณเคยกลัวผี ใหม?
ทำไม คุณต้องกลัวผี เฉพาะกลางคืน
แล้วกลางวันละ ความกลัวหายไปใหน?
กลางคืน ต่างกับกลางวัน อย่างไร? แน่นอน มันคือความมืด
ความมืดทำให้คุณไม่รู้ว่า อะไรอยู่ตรงหน้าคุณ
เมื่อคุณไม่รู้ คุณจึงกลัว

กลัวเพราะไม่รู้

แท้จริง ที่คุณกลัว ไม่ใช่ผี
แต่มันคือ ความมืด

ในชีวิตจริง
มีความมืดมากมาย ให้คุณเดินผ่าน
มีเรื่องมากมาย ที่คุณไม่รู้
เมื่อใดที่คุณกลัว คุณเพียงนำตัวเองไปอยู่ ณ ตรงนั้น
เมื่อใดที่คุณกลัว จงเรียนรู้มัน
เมื่อคุณรู้ ความกลัวจะหายไปเอง

เมื่อคุณกลัว จงลงมือทำทันที

โดย:
Nano, 2014-04-07

ปล.เผยแพร่ครั้งแรกเมื่อวันที่ 2011-12-31 18.01
กลับมา Update ใหม่ เป็นกำลังใจสำหรับท่านที่ กำลังจะเป็น MVP