Live @ MSDN – Thailand REMIX 2007

10.25 – จากบริเวณห้องบอลรูม โรงแรมแชง-กรีล่า กรุงเทพฯ

ผมมาสายเนื่องจากว่ารถไฟฟ้าอ่อนนุชดันขัดข้องเลยมาสายซัดไป 10 โมงกว่า ๆ กว่าจะได้เข้ามาลงทะเบียน และได้ข้อมูลเบื้องต้นจากแฟ้ม และกรอกแบบสอบถามเพื่อรับแผ่น DVD Microsoft Visual Studio 2008 beta 2 ซึ่งตอนที่มาถึงนั้น keynote ช่วงเช้าก็เสร็จสิ้นไปแล้ว เลยรอในส่วนของการสมันาและ word-shop แบบแยกห้องอีกที โดยผมเข้าไปในส่วนของ web-developer ซึ่งน่าจะมีการ review และ hand-on ในส่วนของ SilverLight ครับ

11.00 – จากห้องบอลรูม (Web Development, Building Rich Web Experiences Using SilverLight and JavaScript for Developers) โรงแรมแชง-กรีล่า

REMIX 07 - 1

REMIX 07 - 2

11.00 – ตอนนี้อยู่ในส่วนของ Section Web Developerment โดยพูดถึงส่วนจุดเริ่มต้นและจุดประสงค์ของ SilverLight

11.05 – สามารถทำ Cross Browser และ Cross Platform ได้โดยตอนนี้สนับสนุน Browser Internet Explorer (แน่นอนของ Microsoft), Mozilla Firefox และ Safari (Opera ยังมีปัญหานิดหน่อย)

11.06 – สามารถสร้าง user interface โดยใช้ลักษณะรูปภาพแบบ Vector
– สามารถเล่นไฟล์มีเดียต่าง ๆ ได้
– โดยจะได้ลักษณะภาพเคลื่อนไหว และ effect ต่าง ๆ โดยที่จะรองรับทั้งรูปภาพ(Vector และ Raster) และไฟล์ Video

11.07 – คำถามที่มักถูกถามถึงก็คือ SilverLight คือ Flash clone ? คำตอบคือ “มันเป็นอีกระดับของ Flash และการพัฒนาอีกขั้นของ VML (Vector markup language) ที่ทำขึ้นโดย Microsoft”

11.08 – โดยที่ SilverLight เป็o platform สำหรับวาดรูปภาพแบบ vector, การส่งข้อมูลแบบ Rich media content และ user experience โดย animation, interactive interface ซึ่งจริง ๆ แล้วก็ทำได้เช่นเดียวกับ Flash (แนว ๆ ว่าทำได้เหมือน Flash นั้นแหละ !!!)

11.10 – ความละเอียดใน media แบบ video คือ 1280×720 รองรับระดับ HD, WMV, VC-1 (H.264), โดย WMV จะเป็น container โดยที่จะใช้ WMV เองหรือจะใช้ VC1 + WMA Track ก็ได้ รวมไปถึงไฟล์เสียงก็ใช้ WMA หรือ MP3 ก็ได้
– โดยที่รองรับทั้ง Live Streaming หรือ On-Demand Content
– ไฟล์เสียงนั้นทำงานได้ในระดับ CD Quality ที่ 64kbps, Radio ที่ 32kbps และ HD Video Content at 2Mbps

11.12 – Demo Audio Quality, Video Quality (ตอน Demo รู้สึกว่าจะมีการผิดคิวไปหน่อย -_-‘ เสียงไม่เหมือนต้นฉบับ เรียกเสียงฮาได้ดี)

11.18 – Basic concept ของ Rich Internet Application

11.20 – เปรียบเทียบระหว่าง Technical อื่น ๆ เช่น JavaScript + DOM และ Flash/Flex

11.25 – Demo การสร้าง SilverLight สำหรับเล่นไฟล์ media บนเว็บด้วย Visual Studio 2008 beta 2 (Orcas)

11.30 – Hosting Environment, ไม่จำเป็นต้องลง .NET บน Web Server, โดยที่ Web Server นั้นสามารถใช้ได้ตั้งแต่ IIS, Apache, Tomcat, Lighttpd ฯลฯ

11.45 – Platform convergence – รองรับ Web Browser แทบทุกตัว (อันที่ได้บอกไว้ข้างต้น) โดยที่ตัว runtime มีขนาดประมาณ 2MB

11.48 – SilverLight 1.1 กำลังมา (Wow !!!)

11.49 – ปัจจุบัน !!! สามารถเขียนได้ด้วย C# และ VB.NET และในอนาคตนั้นก็เขียนได้ด้วย IronRuby และ IronPython

11.50 – Better performance และปัจจุบันมีคนเขียน SilverLight เพื่อสร้าง 3D Action Games. ได้แล้ว (ทั้ง ๆ ที่ตัว release ต่อไปจะมี API เืพื่องานนี้โดยเฉพาะ และง่ายกว่า)

11.55 – ความสามารถใหม่ ๆ ใน SilverLight 1.1 ได้แก่
– Control Framework, Full keyboard and mouse system
– Standard control built-in, template and style (เหมือนกับ WPF)
– Layout System
– Data binding feature.

13.20 – จากห้องบอลรูม (Web Development, Using Visual Studio Codename “Orcas” to Design and Develop Rich AJAX Enabled Web Sites) โรงแรมแชง-กรีล่า

13.25 – อะไรคือ Visual Studio 2008 ?

13.30 – IDE Demo

13.31 – IDE Improvement demo
– Transparent Intellisense Mode (ใช้ Crtl Key ทำ Transparent ใน Intellisense เพื่อให้มองเห็น code ด้านหลังได้)
– VB Intellisense Filtering (Filter-out ตัว method ออกไปให้เหลือเฉพาะช่วงที่เราพิมพ์เท่านั้น)
– Organize Using (ทำการ Filter ตัว ‘Using’ ว่าในแต่ละไฟล์ใช้หรือไม่ใช้ และทำการลบตัวที่ไม่จำเป็นออกไป ทำให้การ Using นั้นน้อยลง และลดความซับซ้อนของ Code ด้วย)

13.40 – Multi Target Support demo
– Backward Compatible to .NET 2.0 (ไม่สนับสนุน .NET 1.0/1.1 เพราะว่า Architecture หลักนั้นแตกต่างจาก 2.0 เยอะเกินไป)
– Switch between Compatible (มีส่วน filter template project ว่า template project ไหนบ้างเหมาะสมกับ .NET ในแต่ละ version)

13.50 – LINQ (Language Integrated Query) Interface demo โดยตัวภาษาจะมีการเขียนคล้าย ๆ กับการดึงข้อมูลในภาษา SQL เพียงแต่มันสามารถสลับตัว DBMS ไปมาได้ระหว่าง SQL Server, Access หรือ XML ส่วน Oracle นั้นคาดว่าจะออกเร็ว ๆ นี้ ทำให้เข้าถึงข้อมูลใน DBMS ได้หลากหลายมากขึ้นโดยไม่ต้องเปลี่ยนแปลง code ภายในแต่อย่างใด

14.00 – Web Designer Enhancements – อันนี้คล้าย ๆ กับ Adobe Dreamweaver ไม่ต่างกันเท่าไหร่ ประมาณว่าร้อง เฮ้ยยย !!! ได้เลย เพียงแค่มันเอาไว้เขียนกับงานที่ต้องเอา C# หรือ VB.NET มาใช้งาน ทำให้สะดวกมากขึ้นในการทำให้เว็บนั้นสวยขึ้น โดยที่มีระบบ Masterpage (คล้าย ๆ กับ Template/Themes ั้นแหละครับ) เพียงแต่มันถูก build-in มาเลย

14.05 – JavaScript object type filter/detector และ debugger ที่ build-in มาใน IDE
– โดยเป็นตัว debugger สำหรับ JavaScript ตัวนี้ ok มากสำหรับในกรณีที่เราต้องยุ่งกับ JavaScript เยอะ ๆ
– เมื่อเราสร้าง object ใน JavaScript แล้ว ตัว IDE จะ detect object type ว่าเป็นแบบไหน แล้วจะ filter method ให้เหมาะสมกับ object type นั้น ๆ เวลา Intellisense ขึ้นมาทำให้ไม่สับสนว่า method ไหนใช้ได้บ้าง
– ระบบ Detect Method ที่เขียนเพิ่มเติมขึ้นมา เมื่อเราเขียน class ของ JavaScript ซึ่งก็แนว ๆ เดียวกับ C# และ VB.NET นั้นแหละ เพียงแต่คราวนี้ลงมาเล่นที่ตัว JavaScript ซึ่งเป็น Dynamic Type Language (น่าจะเป็นหนูทดลองยาของ Microsoft ในการสร้าง IDE ที่ทำงานกับ Dynamic Type Language ในอนาคต โดยเฉพาะอย่างยิ่ง Python และ Ruby และคาดว่าจะรวมถึง PHP ด้วย)
– ระบบ Debug JavaScript แบบ real-time และ mark ไว้เลยว่าตรงไหนมีปัญหา (ตัว debug มันคล้าย ๆ กับ Firebug ใน Mozilla Firefox)

14.07 – Testing Improvement (Web-site stress test and Web performance test) ส่วนใหญ่ก็เหมือน ๆ กับของค่ายอื่น ๆ เพียงแต่มีตัว Summary บอก Project manager ว่า code มีประสิทธิภาพแค่ไหน

14.45 – จากห้องบอลรูม (Web Development, Developing ASP.NET AJAX Controls with Silverlight) โรงแรมแชง-กรีล่า

14.48 – Using ASP.NET Control and AJAX

14.50 – Demo

15.00 – พูดถึงการ Control ตัวไฟล์ Video โดยใช้ตัว Control ของ ASP.NET เอง

15.00 – พูดถึงการแสดง Subtitle ที่มีอยู่ในตัวไฟล์ Video มาโชว์ใน tag HTML ทั่วไปแทนให้แสดงภายในไฟล์ Video โดยใช้ตัว Control ของ ASP.NET เอง

15.15 – 16.00 – พูดถึงการ Implement ซึ่งก็เอา ASP.NET มาสร้าง AJAX ซึ่งก็เป็นเรื่องทั่วไปที่ไม่ต่างกับภาษาอื่น ๆ เช่น PHP เป็นต้น ซึ่งการสร้าง Control ของ AJAX นั้นซัอนพอสมควรครับ ซึ่งตรงส่วนนี้ผมไม่ได้ดูรายละเอียดมากเพราะลงในระดับ Coding ของ ASP.NET และ SilverLight build-in ที่อยู่ภายใน Visual Studio 2008 นั้นเอง

Read more

 

Now !!! WordPress 2.3

ตอนนี้ upgrade ตัว blog เป็น wordpress 2.3 แล้วครับ การเปลี่ยนแปลงครั้งนี้เล่นซะหมดแรงเหมือนกัน เพราะว่ามีเรื่องที่มัน conflict เยอะ ๆ มาก ๆ ตั้งแต่

  • Theme K2 ที่ใช้นั้นไม่ support เต็มที่ ทำให้ต้องโหลดตัว RC1 มาใช้แทน
  • ทำการ backup ข้อมูลก่อนทำการ upgrade เสมอ
  • สำหรับผมทำการลบ code เก่า ๆ โดยลบ wp-admin และ wp-include ออกไปทั้งหมด (ยกเว้น wp-includes/images เท่านั้น) ส่วนตัวอื่น ๆ ไม่ได้ลบโดยเฉพาะ wp-content นี่ห้ามลบเด็ดขาด
  • Convert Tag จาก Ultimate Tag Warrior มา builid-in Tag และทำการหน้ารวม Tag และ Tag Could ที่ต้องมาไล่หา manual ใน developer forum ของ WordPress และการ convert มานั้นแสนง่ายเพราะมี Tools สำหรับ Convert อยู่แล้ว โดยไปที่ Manage -> Import และเลือกว่าเราใช้ Tag engine ตัวไหน ระบบจะ detect และ import ให้เรา โดยทำตามขั้นตอนเพียง 4-5 ขั้นตอนเท่านั้น (สำหรับ Ultimate Tag Warrior)
  • แก้ไข plug-in Google Sitemap ไม่ให้มัน detect categories เพราะ Database Schema ที่ตัว plug-in ตัวนี้อ้างอิงอยู่นี้มีการเปลี่ยนแปลงภายในหลายส่วน ทำให้ plug-in ที่มีการอ้างอิงกับ Database Schema เก่า ๆ มีปัญหาไปด้วย ซึ่งรวมถึงตัวอื่น ๆ ด้วยแนะนำให้ตรวจสอบก่อนทำการ upgrade ครับ
  • ตอน upgrade Database นี้ Error หลายส่วน ทำให้ลิงส์ใน Blogroll มีปัญหากับตัว Link Categories ทำให้มัน หายหมดต้องไล่แก้ไขใหม่หมดเลย T_T
  • ระบบ Categories หลักใช้งานรวมกับระบบ Tags ทั้งหมด (ไม่ได้แยกกันอีกต่อไป) ซึ่งอยู่ในรูปแบบ Term และใช้ตาราง wp_blog_term_relationships เป็นตัวเชื่อมเอา โดยการแยกระหว่างตัวไหนเป็น Categories, Link Categories หรือ Tags อยู่ที่ wp_blog_term_taxonomy และ field ชื่อ taxonomy โดยที่ผมสังเกตตอนนี้แยกเป็น 3 ส่วนคือ post_tag, link_category และ category ส่วนพวกคำที่เป็น term ต่าง ๆ ถูกเก็บรวมกันไว้ที่ wp_blog_terms ทั้งหมด
  • จากที่ทดสอบดูระบบเร็วขึ้นพอสมควรเลย ไม่รู้คิดไปเองหรือเปล่า

เดี่ยวว่าง ๆ มาเล่าต่อนอนก่อนครับ พรุ่งนี้ไปงาน MSDN Thailand REMIX 07 ครับ (ลางาน 1 วันเพื่อการนี้โดยเฉพาะครับ)

ไปหล่ะครับ ;)