Sunday, March 25, 2012

กลับมาอีกครั้ง

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

เริ่มด้วยการสมัครเข้าทำงานที่แรก แล้วก็ย้ายมาบริษัทที่สอง และตอนนี้ยังคงอยู่ที่บริษัทที่สองยังไม่ไปไหน

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

เริ่มด้วยสิ่งแรก คิดจะเรียนต่อโทแล้วจ้า (ตามสมัยนิยม)
ไม่รู้ว่าจะเรียนอะไรดี จะเปลี่ยนแนว หรือจะตามแนวทางเดิม ชีวิตเรามีอยู่ 3 อย่าง อยู่หน้าคอม กิน และเที่ยว

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

ทั้งหมดนี้ถูกกลั่นกรองมาตลอดระยะเวลา 1 ปี ว่าจะเรียนสาขาอะไร
MIT ไม่มีปัญญาเข้ามหาลัยนี้หรอก มันคือชื่อสาขา management information technology
MIS อันนี้คงรู้จักกัน management information system คนเรียนกันเยอะแยะ
สองอันนี้ต่างกันแค่คำว่า technology กับ system สิ่งที่ focus ต่างกัน
Computing ตรงๆเลย
Computer Science เป็น ศ.ดร. เลยทีเดียว
IT เฉยๆ ก็มีด้วย หรือจะเป็น IT for สาขาต่างๆอีก
e-commerce เจาะไปเลยก็มี
Information Science ก็แปลก
แล้วก็มีแว๊บนึงมา ไปเรียนทำอาหาร ไม่ก็ nutrition รู้แล้วรู้รอด สนใจเรื่องกินนัก
แต่แล้วก็มาสะดุดหนึ่งคำ IT Entrepreneurship คืออะไรว้า

ก็ยังไม่หมดแค่นี้ ในใจก็คิดว่าทุกวันนี้ทุกคนไม่ว่าจะเด็ก ผู้ใหญ่ แก่ ชรา ต่างก็มุ่งเข้าหา technology กันหมด มันมีอิทธิพลเหนือธรรมชาติอีกหรอ

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

คำตอบนั้นมันใกล้ตัวเรานิดเดียว สิ่งที่ทำให้เราเข้าใจธรรมชาติมากที่สุด คือ พุทธศาสนา นี่เอง แล้วเราจะเอา พุทธศาสนามาโยงเข้ากับ technology ได้ยังไงกัน ทุกวันนี้ยังคิดไม่ออก...



Friday, December 19, 2008

Sql Syntax

เรียนรู้คำสั่ง SQL ได้จากเว็บ
http://www.w3schools.com/SQL/sql_syntax.asp

SQL DML and DDL

The query and update commands form the DML part of SQL:

  • SELECT - extracts data from a database
  • UPDATE - updates data in a database
  • DELETE - deletes data from a database
  • INSERT INTO - inserts new data into a database
The DDL part of SQL permits database tables to be created or deleted. It also define indexes (keys), specify links between tables, and impose constraints between tables. The most important DDL statements in SQL are: 
  • CREATE DATABASE - creates a new database
  • ALTER DATABASE - modifies a database
  • CREATE TABLE - creates a new table
  • ALTER TABLE - modifies a table
  • DROP TABLE - deletes a table
  • CREATE INDEX - creates an index (search key)
  • DROP INDEX - deletes an index

สร้าง class SqlDataAccess

เนื่องจากการเชื่อมต่อกับฐานข้อมูล ต้องถูกเรียกใช้บ่อยๆ สมควรจะสร้าง class ขึ้นมา

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

public static class SqlDataAccess
{
public static SqlCommand CreateCommand()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = WebConfig.ConnectionString;

SqlCommand comm = conn.CreateCommand();
comm.CommandType = CommandType.StoredProcedure;

return comm;
}

public static DataTable ExecuteSelectCommand(SqlCommand comm)
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = comm;

DataTable table = new DataTable();
adapter.Fill(table);
return table;

// หรือ ใช้เป็น dataset
DataSet ds new DataSet();
adapter.Fill(ds);
return ds;
}

public static string ExecuteScalar(SqlCommand comm)
{
comm.Connection.Open();
string result = comm.ExecuteScalar().ToString();
comm.Connection.Close();

return result;
}

public static int ExecuteNonQuery(SqlCommand comm)
{
comm.Connection.Open();
int result = comm.ExecuteNonQuery();
comm.Connection.Close();
return result;
}
}

Sunday, November 9, 2008

ใช้ store procedure

เรียนรู้การทำงานเบื้องต้น จากเว็บนี้เข้าใจง่ายที่สุด

http://www.sql-server-performance.com/articles/dba/stored_procedures_basics_p1.aspx

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

-- เรียบเรียงข้อความจากการสอนในห้องเรียน โดย อ.บอล

Thursday, June 19, 2008

web3.0

การวิเคราะห์บทความเรื่อง Welcome Web3.0!

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

ยุคของการพัฒนาเว็บไซต์
เว็บ 1.0 เป็นเว็บที่นำเสนอเพียงข้อมูลที่ผู้สร้างต้องการจะนำเสนอ หากผู้ใช้อยากรู้อะไรก็คลิกเข้าไปดู การค้นหาเว็บไซต์ใหม่ๆ ของผู้ใช้อาศัยการกด Link ไปยังเว็บอื่นๆ ตามที่มีคนสร้างมีการแลกลิงก์กันระหว่างเว็บ ไม่มีการแสดงความคิดเห็นบนเว็บไซต์มาก
เว็บ 1.5 รูปแบบของเว็บไซต์ได้พัฒนาขึ้นมาก มีการสร้างระบบกระทู้ให้ผู้เข้าใช้บริการได้แสดงความคิดเห็นของตัวเองขึ้นมา และเว็บไซต์สามารถนำข้อมูลภาพเคลื่อนไหวและเสียงสดๆ ขึ้นบนหน้าเว็บได้
เว็บ 2.0 จะมีลักษณะเรียกว่าเป็นชุมชน มีความสามารถในการแบ่งปันข้อมูล (Share file) ร่วมกันรวมถึงพูดคุยโต้ตอบแลกเปลี่ยนความคิดเห็นระหว่างกันมากขึ้น ตลอดจนคนเผยแพร่ข้อมูลไม่จำเป็นต้องเป็นเจ้าของเว็บ อย่าง วิกิพีเดีย (Wikipedia) ที่เปิดโอกาสให้ผู้ใช้เขียนบทความเข้าไปอย่างอิสระและมีการตรวจสอบกันเอง รวมทั้งการเกิดเว็บ blog ด้วย
เว็บ 3.0 ที่มีความฉลาดล้ำหน้าไปอย่างมาก เป็นการใช้ข้อมูลอธิบายข้อมูล ( Semantic) ร่วมกับปัญญาประดิษฐ์ (Artificial Intelligent)

และความฉลาดของมันนี่เองจะนำมาซึ่งความเปลี่ยนแปลงครั้งใหญ่และท้าทายเหล่าคนทำเว็บและผู้ใช้

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

สมัยก่อนคอมพิวเตอร์ไม่เข้าใจว่าแต่ละเว็บคืออะไร เวลาไปค้นหาข้อมูล (Search) ก็ไม่รู้ แต่เว็บ 3.0 จะเป็นการเติมและเพิ่มความหมายเข้าไปในเนื้อหาสาระที่คอมพิวเตอร์ไม่เข้าใจในตอนแรกให้เข้าใจมากขึ้น จนสามารถจะเข้าใจในสิ่งที่เราต้องการ ไม่ว่าจะเป็นการค้นหาด้วย text ธรรมดา การค้นหาภาพ (Image Search) รวมถึงความสามารถในการค้นหาข้อมูลที่เป็นข้อมูลต่อเนื่อง (Stream line) เช่นคลิป เพลง วีดีโอ ซึ่งเป็นความอัจฉริยะของเว็บยุค 3.0 และ การจะทำให้เว็บไซต์เข้าใจข้อมูลทุกๆ ชิ้นที่อยู่ใน"เวิลด์ ไวด์ เว็บ" (www – world wide web) และสามารถเชื่อมโยงข้อมูลเหล่านั้นซึ่งกันและกันได้ จะต้องมีคลังข้อมูลอย่างมหาศาล หรือมี Pattern Recognition จนสุดท้ายเข้าใจว่า Pattern นั้นคืออะไร แล้วไปตรวจสอบว่ารูปไหนคือสิ่งที่เราต้องการ ในการจะค้นหาข้อมูลที่เป็นเช่นนี้ได้เทคโนโลยีในการตัด clip board ต้องก้าวหน้า พร้อมทั้งต้องมี Platform ที่เป็นมาตรฐานเดียวกัน ทุกสิ่งทุกอย่างจะเชื่อมโยงถึงกันหมด ข้อมูลจะถูกเชื่อมโยงแบบ many to many ซึ่งหมายความว่าเชื่อมต่อกันเป็นเครือข่าย (Network) คอมพิวเตอร์มีความสามารถในการอ่านและมองเห็นกันมากขึ้น และการมองเห็นนั้นไม่ใช่ผู้คนที่เป็นผู้ใช้ทั่วไป แต่เป็นผู้ชมที่เป็นเว็บเข้ามาศึกษาและหาข้อมูลแทนผู้ใช้ เพื่อนำไปเสนอกับผู้ใช้ต่อไป
ตัวอย่างเช่น บอกว่าอยากไปเที่ยวภูเขาไฟฟูจิ เว็บก็จะ Link ข้อมูลทั้งหมดออกมา ทั้งสายการบิน แพ็กเกจไหนที่ดีที่สุด โรงแรมที่พักต่างๆ อาจรวมถึงความคิดเห็นต่อสถานที่ท่องเที่ยวนั้น หรือที่พักมาให้ด้วย ขณะเดียวกันก็จะเช็คเลยว่าตรงกับตารางเวลาว่างไหม ช่วงไหนที่ควรจะไปเที่ยว ขณะเดียวกันมันก็จะเช็คตารางของเรากับตารางของเพื่อนที่ญี่ปุ่นใน Social Network ว่าว่างช่วงไหนเพื่อจะนัดมาทานข้าวกันได้
จากตัวอย่างจะเห็นได้ว่าทุกอย่างจะถูกเชื่อมโยงเข้าหากันหมด ในส่วนข้อมูลที่มีความสัมพันธ์กันก็จะถูกดึงขึ้นมา ซึ่งเป็นประโยชน์กับผู้ใช้งาน และตอบสนองความต้องการของผู้ใช้ตรงจุดมากยิ่งขึ้น

เทคโนโลยีของเว็บ3.0
การที่เว็บจะทำสิ่งต่างๆที่ยกตัวอย่างมาได้นั้นต้องมีเทคโนโลยีที่เกี่ยวข้อง ดังนี้
1. Artificial intelligence (AI) เป็นความฉลาดเทียมที่สร้างคอมพิวเตอร์ ที่จะเอามาเป็นเครื่องมือช่วยคาดเดาพฤติกรรม วิเคราะห์ความต้องการของมนุษย์ ซึ่งเมื่อได้ข้อมูลนั้นมา ระบบก็จะให้ในสิ่งนั้นๆ ที่ต้องการ

2. Automated reasoning ให้ระบบคอมพิวเตอร์รู้จักการแก้ปัญหาเอง มีการประมวลผล ได้อย่างสมเหตุ พร้อมทั้ง แก้ไขสถานการณ์เฉพาะหน้า อีกทั้งปรับปรุงระบบเอง โดยอัตโนมัติไปในตัว

3. Cognitive architecture ทำให้คอมพิวเตอร์คิดได้เหมือนมมนุษย์ โดยการลอกเลียนแบบสมองมนุษย์ ศึกษาการเรียงตัวของเซลล์สมองในสามมิติ ศึกษาการถ่ายเทประจุไฟฟ้า และวิเคราะห์การเปลี่ยนแปลงทางเคมีไฟฟ้าในร่างกาย ระหว่างการคิด

4. Composite applications เป็นการผสมผสานบริการ ให้ทำงานร่วมกันได้อย่างมีประสิทธิภาพ เช่น VDOfrog ดึงวิดีโอจาก YouTube มาแสดงได้ เหมือนเป็นวีดิโอของเว็บนั้นเอง

5. Distributed computing คือการใช้คอมพิวเตอร์ตั้งแต่ 2 เครื่องไป ประมวลผลร่วมกัน โดยใช้ความแตกต่างกันของโครงสร้าง องค์ประกอบฮาร์ดแวร์ หรือซอร์ฟแวร์ มาใช้ให้เกิดประโยชน์สูงสุด โดยคอมพิวเตอร์นั้น ไม่จำเป็นต้องตั้งอยู่บนพื้นที่เดียวกัน สามารถเชื่อมโยงกันด้วยอินเตอร์เน็ต

6. Knowledge representation การแทนความรู้ เป็นหนึ่งในสาขาสำคัญที่สุด ก่อนจะสร้างความฉลาดให้ระบบ ได้นั้น ต้องให้ระบบรู้จักการนำความรู้นั้นไปใช้เสียก่อน

7. Ontology คือภาษาที่ใช้เป็นตัวอธิบายข้อมูลเชิงสัมพันธ์ “ข้อมูลที่ใช้อธิบายความหมายของข้อมูล” หรือ Tags นั่นเอง ตัวอย่างง่ายๆ ก็เช่น พาหนะ (Vehicle) ที่กำหนดลักษณะของรถยนต์ (Car) ซึ่งรถยนต์ก็อาจจะเป็น ขับเคลื่อน 2 ล้อหรือ 4 ล้อ (2-Wheel Drive, 4-Wheel Drive) ก็ได้ แต่อีกความหมายหนึ่งของ Vehicle ก็อาจหมายถึง เครื่องมือเครื่องใช้ ดังนั้น Tags จะได้เป็น Truck ซึ่งแปลว่าของเล็กๆน้อยๆได้ด้วย



8. Recombinant text ระบบคอมพิวเตอร์ทำงานเอง ให้มนุษย์สามารถจัดการกับระบบ ในช่วงการทำงานช่วงใดก็ได้ เป็นการทำงานร่วมกัน แต่หากให้คอมพิวเตอร์พัฒนาตัวเองจนมนุษย์ไม่สามารถควบคุมได้ ก็อาจจะเกิดสิ่งที่ไม่คาดฝันขึ้นเช่นในภาพยนตร์ sci-fi หลายๆเรื่อง

9. Scalable vector graphics (SVG) เป็นภาษามาร์กอัปบนมาตรฐาน XML สำหรับอธิบายกราฟิกแบบเวกเตอร์ 2 มิติ ทั้งที่เป็นภาพนิ่งและภาพเคลื่อนไหว แสดงผลบน Browser ที่รองรับได้ Opera, Mozilla Firefox, Safari, Amaya, Konqueror ทำให้เมื่อมีการขยายภาพแล้วภาพจะไม่แตก เป็นประโยชน์ในการทำเว็บไซต์ด้วย ซึ่งหากภาพมีขนาดเล็กจะทำให้การแสดงผลบนเว็บได้รวดเร็วขึ้น


10. Semantic Web คือเป็นเว็บไซต์ ที่มีการเชื่อมโยง สัมพันธ์กับแหล่งข้อมูลอื่นๆ ที่มีเนื้อหาสัมพันธ์กัน ได้อย่างมีประสิทธิภาพ ทั้งนี้การเชื่อมโยงของแหล่งข้อมูลนั้น อาจเป็นเครือข่ายเดียวทั่วโลกก็ได้

11. Semantic Wiki เมื่อข้อมูลมีมากจนบางทีไม่รู้ว่าจะค้นหาข้อมูลที่ต้องการ ด้วย keyword อะไร ดังนั้นถ้าใช้คำค้นหา แบบกว้างๆ แต่มันกำจัดวงแคบๆให้ได้ การค้นหาแบบข้อมูลซ้อนข้อมูล หรือใช้การค้นหาหลายทิศทาง (Vertical Search) ผสมกับความเป็นส่วนตัวเข้าช่วย (Personalize) จะสามารถเข้าถึงข้อมูลลงได้เช่นกัน

12. Software Agents โปรแกรมที่ทำงาน ให้บรรลุจุดประสงค์ที่ตั้งไว้โดยอัตโนมัติ เช่น GoogleAds ที่จะจัดโฆษณาให้เองอย่างเหมาะสมสำหรับเว็บไซต์ประเภทนั้นๆ

หากจะจัดกลุ่มเทคโนโลยีที่กล่าวมาข้างต้นแล้ว สามารถจัดได้ 5 ประเภทด้วยกัน
1. Artificial Intelligence (AI) เป็นสมองกลที่ช่วยคาดเดาพฤติกรรม วิเคราะห์ความต้องการของมนุษย์ ซึ่งเมื่อได้ข้อมูลนั้นมา ระบบก็จะให้ในสิ่งนั้นๆ ที่ต้องการ
2. Semantic Web เป็นระบบที่มีการเชื่อมโยงข้อมูลต่างๆ ทั้งที่อยู่ในเว็บของผู้พัฒนาและแหล่งข้อมูลอื่นๆ ให้มีความสัมพันธ์กัน ซึ่งจะทำให้ระบบฐานข้อมูลมีขนาดใหญ่มากๆ หรืออาจทำให้เกิดฐานข้อมูลโลก (Global Database) ได้
3. Composite Applications เป็นการผสมผสาน Application หรือโปรแกรม หรือบริการต่างๆ ของเว็บ ที่มาจากแหล่งต่างๆ เข้าไว้ด้วยกัน เพื่อประโยชน์ของผู้ใช้งานนั้นเอง
4.Semantic Wiki เป็นการอธิบายคำๆ หนึ่งคล้ายกับพจนานุกรม (dictionary) ดังนั้นถ้า Web 3.0 เป็น Wiki จะทำให้สามารถหาความหมาย หรือข้อมูลต่างๆ ได้ละเอียด และแม่นยำมากขึ้น
5. Ontology Language หรือ OWL เป็นภาษาที่ใช้ในการอธิบายสิ่งต่างๆ ให้มีความสัมพันธ์กัน โดยดูจากความหมายของสิ่งนั้นๆ ซึ่งก็จะเชื่อมโยงกับระบบ Metadata

ผลกระทบเมื่อWeb3.0 เข้ามา
เมื่อเทคโนโลยีเหล่านี้เข้ามา จะมีผลกระทบกับวิถีชีวิตของผู้ใช้เว็บ คือในการหาข้อมูลทำได้ง่ายขึ้น ไม่ต้องคลิกต่อไปในหลายๆที่อย่างที่เคยเป็นมา ทุกสิ่งที่เกี่ยวข้องจะถูกดึงขึ้นมาแสดงให้เห็น หากผู้ใช้ที่นิยมซื้อสินค้าผ่านทางอินเตอร์เน็ต การที่ต้องสำรวจราคาสินค้าด้วยตัวเองก็ไม่จำเป็นอีกต่อไป เพราะเว็บจะทำการค้นหาข้อมูลให้เรียบร้อยแล้ว ผู้ใช้จะได้สินค้าที่มีราคาถูกที่สุด เหมาะสมที่สุด และตรงความต้องการมากที่สุดด้วย สำหรับในมุมของธุรกิจต่างๆ โดยเฉพาะธุรกิจบริการจะได้รับผลกระทบเร็วที่สุด เนื่องจากเว็บ3.0 รู้และเข้าใจในสิ่งที่ผู้บริโภคต้องการ รูปแบบธุรกิจ (Business Model) แบบเดิมๆ อาจจะไม่ทันกับเทคโนโลยีที่เกิดขึ้น ธุรกิจอาจจะต้องมีการปรับเปลี่ยนรูปแบบให้มีความยืดหยุ่นมากขึ้น ดังเช่นตัวอย่างที่ยกไปในข้างต้น คือธุรกิจท่องเที่ยวและโรงแรม หากไม่มี Package หรือ promotion ที่ดึงดูดพอธุรกิจนั้นอาจจะอยู่ไม่ได้อีกต่อไป เป็นความท้าทายสำหรับนักการตลาดด้วย เนื่องจากข้อมูลนั้นจะถูกปิดเป็นความลับน้อยลง อย่างไรก็ตามเมื่อออก promotion มาอย่างน้อยคู่แข่งไม่ต่ำกว่า 3 รายจะต้องรู้ ภายในไม่กี่นาที การแข่งขันด้านธุรกิจจะมีมากและดุเดือดยิ่งขึ้น จากเดิมอำนาจในการซื้อขายที่เคยตกอยู่ในมือของผู้ผลิต หรือผู้ให้บริการ ตอนนี้จะตกเป็นของผู้ใช้บริการอย่างแท้จริง
สำหรับในส่วนของเว็บไซต์ด้วยกันเองแล้ว เว็บที่เป็น web 3.0 มีโอกาสได้เปรียบกว่าเว็บอื่นๆ เพราะเหมือนกับการเข้าเว็บ เว็บเดียวสามารถได้ในสิ่งที่ต้องการได้ (one stop service) ซึ่งเป็นอะไรที่ผู้ใช้ชื่นชอบอยู่แล้ว เนื่องจากความสะดวกและการตอบสนองสิ่งที่ต้องการได้ตรงจุด แต่สำหรับเว็บ 2.0 ที่มีมากมายในขณะนี้ คาดว่าคงจะไม่หายไปจากวงการเว็บ และคงจะอยู่ต่อไป ถึงจะดูเหมือนจะเป็นจุดอิ่มตัวแล้วก็ตาม เนื่องจากเว็บ 2.0 นั้นเป็นแหล่งให้ข้อมูลที่ดีสำหรับผู้ใช้ และเว็บ3.0 เองด้วย เพราะเหตุว่าตัวเว็บ3.0 นั้นต้องพึ่งพาเว็บ2.0 ในการใช้ข้อมูลทั้งการเรียนรู้ จนถึงการแสดงผล ตามหลักแล้วเว็บ3.0 นั้นจะเกิดขึ้นไม่ได้หากไม่มีเว็บ2.0 นั้นเอง แต่เว็บ2.0 ในอนาคตคงจะไม่ทำอะไรได้แค่การแสดงความคิดเห็น การพูดคุยโต้ตอบกัน และการshare ข้อมูลระหว่างกันเท่านี้แน่นอน อาจจะมีความสามารถเพิ่มขึ้น มีความสามารถในการ share ข้อมูลมากยิ่งขึ้น เพื่อรองรับการใช้งานที่มีมากขึ้นต่อไปในอนาคต หรืออาจจะใช้การ mining ข้อมูลที่มีอยู่ในรูปแบบต่างๆ เพื่อนำมาเสนอแก่ผู้ใช้ต่อไปก็ทำได้ ซึ่งจะทำให้เว็บ 2.0 สามารถแข่งขันกับเว็บ3.0 ต่อไปได้ และยั งคงได้รับความนิยมไม่เสื่อมคลาย
หากเว็บไซต์ถูกพัฒนาไปจนมีความฉลาดเทียบเท่ามนุษย์แล้วซึ่งอาจจะหมายถึงยุคเว็บ10.0 ในอนาคตคอมพิวเตอร์มีความสามารถถึงขั้นคาดเดาความต้องการของผู้ใช้ไปเองมากจนเกินความจำเป็น จนอาจจะทำให้เราได้ข้อมูลที่เป็นขยะมากกว่าข้อมูลที่ต้องการจริงๆเป็นไปได้ แล้วยิ่งกว่านั้นจะทำให้เกิดข้อมูลล้นระบบ (Over flow) จนเกินการเยียวยาได้ การทำให้เว็บไซต์ซึ่งทำงานออนไลน์อยู่ตลอดเวลามีสมองมีความคิดเป็นของตัวเอง ในการเชื่อมโยงข้อมูลเครือข่ายกันทั้งโลกนั้น อาจจะส่งผลในทางลบกับระบบจากการก่อกวนของผู้ประสงค์ร้าย การโจรกรรมข้อมูลอาจจะไม่ต้องทำโดยบุคคล แต่ใช้เว็บไซต์ซึ่งมีความสามารถในการมองเห็นข้อมูลจากเว็บไซต์อื่นเป็นตัวกระทำแทน หรือร้ายกว่านั้น อาจจะเป็นเหมือนฉากในภาพยนตร์ที่มีผู้ที่ใช้ความฉลาดของคอมพิวเตอร์ในทางที่ผิดเป็นผู้ครอบครองทุกสิ่งทุกอย่างในโลกนี้ ผลร้ายจะเกิดกับผู้ใช้บริการอินเตอร์เน็ตทุกคนอย่างที่ไม่คาดคิดมาก่อน
การมองเทคโนโลยีที่ถูกพัฒนาขึ้นและทุกคนต่างอ้าแขนรับด้วยความยินดีในแง่ลบนี้ เพื่อที่จะต้องมีการป้องกันและควบคุมการพัฒนาเทคโนโลยีให้อยู่ในกรอบที่ดีงามควบคู่กับการพัฒนาในทุกๆสิ่ง ให้อยู่ในมุมที่สร้างสรรค์และมีประโยชน์ต่อมวลมนุษยชาติต่อไป

พร้อมหรือไม่สำหรับเทคโนโลยีนี้
ในการปรับเปลี่ยนยุคนี้ถือเป็นการปฏิวัติวงการเว็บครั้งยิ่งใหญ่ สำหรับประเทศไทยจะบอกได้หรือไม่ว่า พร้อมจะกว่าสู่เว็บ 3.0 แล้ว ในส่วนของเทคโนโลยีที่ต้องเพิ่มความสามารถให้กับเว็บนั้น นักพัฒนาเว็บไซต์ของไทยอาจจะต้องศึกษาเพิ่มเติมอีกมาก และศักยภาพของนักพัฒนาเว็บไทยคงจะมีเพียงไม่กี่คนที่จะทำได้ภายในเร็วๆนี้ ในรุ่นแรกๆอาจจะอยู่ในส่วนองานวิจัยมากกว่าการเป็นเว็บที่สามารถใช้งานจริงได้ และที่สำคัญเว็บ2.0 ที่เป็นของคนไทยจริงๆนั้น มีอยู่ไม่กี่เว็บที่เป็นที่รู้จักอย่าง pantip และ bloggang เว็บ2.0 ที่มีชื่อเสียงและนิยมใช้กันอยู่ทุกวันนี้มีแต่เว็บไซต์ที่เป็นของต่างประเทศทั้งสิ้นไม่ว่าจะเป็น MySpace Hi5 Blogger Wordpress และอื่นๆอีกมากมาย แต่ในเรื่องการขยาย platform เพื่อรองรับการ share ข้อมูลที่มีมากขึ้นอาจทำได้ในทันทีกับเว็บไซต์ชั้นนำของประเทศ เช่น Sanook หรือ Kapook
และจากพฤติกรรมการใช้เว็บของคนไทยด้วยแล้ว การที่จะทำ blog ของตัวเองให้เกิดเป็นรายได้ขึ้นมา เช่นเดียวกับที่ต่างประเทศทำนั้นเป็นไปได้ยาก ด้วยค่านิยมของผู้ใช้ ซึ่งส่วนมากเป็นวัยรุ่น มักจะใช้เว็บเพียงแค่แลกเปลี่ยนข้อมูล พูดคุยกัน และเป็น social network กันเท่านั้น อาจจะเห็นว่าเท่านี้ที่ใช้อยู่ทุกวันก็เพียงพอแล้ว ไม่จำเป็นต้องใช้ประโยชน์จากเว็บ 3.0 ยกเว้นเว็บที่เป็น search engine เท่านั้น
สรุปในตอนนี้ประเทศไทยยังไม่พร้อมที่จะทำเป็นเว็บ 3.0 อย่างเต็มรูปแบบ ต้นแบบ (Model) ก็ยังไม่มีรูปแบบที่ชัดเจน คงจะต้องรออีกสักไม่เกิน 2 ปีที่จะมีต้นแบบ และแนวทางการพัฒนาที่ชัดเจนยิ่งขึ้น เว็บ3.0 นี้จึงเป็นสิ่งที่นักพัฒนาเว็บไซต์และผู้ใช้จะต้องติดตามต่อไปอย่างใกล้ชิด เพราะคงอีกไม่นานต้องมีเว็บไซต์ที่มีความฉลาดมาให้ได้ทดสอบกัน

Saturday, May 24, 2008

ฝึกงานเสร็จแล้ว

ฝึกงานครี่งหลังมาก็ไม่ได้ทำอะไรต่างจากครึ่งแรกมากมาย
ต่างก็ตรงที่ว่างเยอะกว่า บางวันนั่งเล่นเกมทั้งวันเลย
ได้กลับบ้าน 5โมงบ่อยขึ้น ฝนก็ตกบ่อยขึ้น รองเท้าเหม็นกันไปเลย

สนิทกะพี่ๆเค้ามากขึ้น ไปไหนมาไหนก็ซื้อขนมมาฝากพี่ๆ กินกันอร่อยเลย
คุยกันเฮฮามากขึ้น หยอดมุขกันบ้าง แอบกัดบ้างอะไรบ้าง สนุกดี
บรรยากาศไม่ตึงเครียด

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

ก่อนฝึกงานเสร็จอาทิตย์สุดท้ายได้ทำ crystal report ด้วย คิดว่าจะไม่ได้ทำซะแล้ว

วันสุดท้ายของการฝึกงานเข้าออฟฟิตไป อบรมนักศึกษาฝึกงาน จริงๆแล้วต้องเข้าตั้งแต่วันแรกอ่าแหละ
แต่ไม่มีโอกาสเลยเข้าวันสุดท้าย พี่เค้าก็บรรยายเรื่องเกี่ยวกับบริษัทภาพรวมทั้งสองบริษัททั้ง CDG แล้วก็ g-able

มาตอนนี้เพิ่งรู้ตัวว่าเข้ามาทำงานในบริษัทที่สุดยอดนะเนี้ย ตอนนี้เป็น IT-services อันดับ 3 ของประเทศ รองจาก IBM แล้วก็ HP ตามลำดับ ปีนี้เป็นปีที่ 40 ของ CDG แล้ว ส่วน g-able ที่ทำงานอยู่นี้ก็ 20 ปีแล้ว เค้าก็ฝากฝัง ปลูกจิตสำนึกอะไรให้มากมาย ก็ทำให้รู้สึกดีกะบริษัทอ่าแหละ

และแล้วการฝึกงานก็เสร็จสิ้น ทางบริษัทให้ใบรับรองฝึกงานเป็นเกียรติเป็นศรีให้ด้วย แล้วพี่ๆเค้าก็บอกว่า จบแล้วก็อย่าลืมมาทำงานที่นี่นะ แผนก IBS นะน้อง ค้า...........าพี่ ถ้าเค้ารับหนูนะ

Saturday, April 26, 2008

ครึ่งทางของการฝึกงาน

เริ่มฝึกงานมาตั้งแต่วันที่ 1 เมษายน
ทำงานที่ site อยู่นอกบริษัท แบกรับชื่อเสียงมหาวิทยาลัยและชื่อเสียงบริษัท
อยู่ในทีมพัฒนาระบบ e-claim แตกเป็นโปรเจคย่อยๆ มีหลายทีมประกอบกัน
มี PM เป็นพี่ปรีชา ไม่เคยคุยกันเลย มองหน้าแล้วสวัสดีเฉยๆ
ส่วนในห้องที่ไปนั่ง มีพี่ลิน เป็น Business Analyst พี่เจี๊ยบ เป็น system อา-กิ-เต๊ก (ทำไมอ่านงี้ไม่รู้)
พี่นัท เป็น programmer ม้าง ลาออกไปเรียนต่อที่ AUS แล้วปลายเดือนนี้ พี่บอลเป็นเหมือนพี่นัท มานั่งบ้างบางวัน พี่เย้า ตำแหน่งอะไรไม่รู้ แต่เป็นมนุษย์มาdebugโปรแกรม พร้อมแก้ปัญหาหลายๆอย่างที่เกิดขึ้น

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

...แล้ววันนึงพี่เค้าก็ถามว่ามาฝึกงานนี้ ได้เงินป่าว "ป่าวค่ะพี่ มาฝึกประสบการณ์" พี่เค้าเลยบอกว่างั้นทำงานสบายๆละกัน ง่า.. งั้นแสดงว่าตลอดฝึกงานก็ไม่ได้ทำโปรแกรมแล้วดิ ให้ทำอะไรก็ได้
งั้นเคยทำ crystal report มั้ย "ไม่เคยค่ะ" แล้วตอนเรียนเค้าเคยมีให้ทำออกมาเป็นรีพอร์ตมั้ย "ไม่มีค่ะ"
เออ พี่ว่าถ้ามีมันก็เกินไป เอ๋า ถามทำไม

งั้นลองดูๆ เริ่มที่ install program นี้น้องโปรแกรมนี้นะบริษัทซื้อมา ใช้ได้แค้ 5 user เองนะ
เรียบร้อย งั้นดูนี้นะ install report ที่มีลงไป แล้วใช้เครื่องนี้เป็น report server อย่าผิดนะเรา "ค่ะพี่"
ลงไปเรียบร้อย test report ผ่านทุกตัวมั้ย อ่ะพี่มันไม่ผ่าน
แล้วแก set odbc แล้วยัง เอาแล้ว เคยได้ยินๆ odbc
ดูนี้นะ พี่เค้าก็คลิกๆๆๆๆๆ อ๋อ เป็นและๆๆๆ
งั้นทำเลย แล้วทำเครื่องแกด้วย พี่เค้าสั่งเรียบร้อย
โอเคเสร็จแล้ว ดูเหมือนจะให้ทำ report ดูนี้นะ ถ้าจะสร้างรีพอร์ต พี่เค้าก็ทำให้ดูรอบนึง ถ้าเป็นแบบนี้ ..... ก็ทำอย่างงี้ ..... บร่าๆๆๆ เป็นมั้ย พอจะทันเนอะ คิดในใจ

ผ่านไปก็ยังไม่ให้ทำ ทำนี้หน่อยๆ datadictionary ดูเป็นใช่มั้ย เข้าไปดูที่นี้
เอิ๊กๆๆ เป็น unix พี่ค่ะ พี่ดึงข้อมูลมาให้หนูหน่อย ทำไม่เป็นค่า
ที่นี้แหละ เจอไป 28 table สำหรับงานนี้ แล้วยังมี table ส่วนกลางอีก
ดูกันหน้ามืด ตามัวเลย ทำไปหลายวันอยูพอสมควร และแล้วก็เสร็จ เล่นเอาตาจะพังเหมือนกัน

เวลาผ่านไป...........

ว่างเหรอ นี้ๆ ทำ prototype ให้พี่หน่อย ไม่มีใครทำเนี้ย งานยุ่งๆ (พี่อีกโปรเจคนึงมาบอก ให้ช่วย)
เคยทำมั้ย "ไม่เคยค่ะ" มี dreamwaver มั้ย "มีค่ะ" ใช้ dream เก่งแค่ไหน " ไม่ทราบค่ะ ทำได้หงะพี่"
อ่าๆๆ ทำเว็บเป็นใช่มั้ย "เป็นค่ะ" อือ นั้นแหละ นี้นะทำตามนี้ พี่เค้าก็อธิบายๆๆๆๆๆๆ
และแล้วก็เสร็จ

เริ่มว่างอีกแล้ว..............

นี้ๆ หาอันนี้ให้พี่หน่อยสิ พี่คิดว่ามันน่าจะทำได้ ทำ stylesheet เป็นเนอะ "คิดในใจ CSS ใช่ป่าว"
เนี้ยใน Hi5 มันทำได้ พี่จะลองเอามาทำกะโปรเจคดู อ้าว พี่ค่ะหนูไม่เล่น Hi5
สั่งมาให้ลองหาดู 3 ข้อ และแล้วทุกอย่างก็เสร็จสิ้น
แต่นะกว่าจะเขียนบน edit plus ได้ ทำเป็นแต่ใน dream ก็เลยใช้ทั้งคิดว่ามันน่าจะวางแบบนี้ กะเคยเห็นน่าจะเป็นแบบนี้ แล้วก็ทำใน dream แล้วก็ copy มา ฮ่าๆๆๆ

เสร็จงานก็เริ่มว่างอีกแล้ว

เอาเอกสารที่ทำไว้ไปพิมพ์นะ "ค่ะพี่" ขึ้นไปหาพี่เติ้ลนะ ให้เค้า set printer ให้
พี่เติ้ล ?????????????????? คนไหนหละ
รู้จักพี่เติ้ลมั้ย "ไม่ค่ะ" (สงสัยหน้างงจนได้ที่) งั้นไปห้องพี่โบให้พี่เค้าพาไป
ไปปั๊บ พี่เค้าบอกว่าอยู่ตรงนี้ๆๆ หน้าประตู โอเค ไปปั๊บ มั่วห้องอีกเรา
ไปอีกห้องแล้วก็บอกพี่เค้า พี่เค้าบอกว่านี้ พี่เติ้ลนั่งตรงนี้ แต่ตอนนี้พี่เค้าไม่อยู่นะ รอไปก่อน
รอไป 20 นาที โดยประมาณแล้วพี่เค้าก็มาทำให้ เอาเครื่องลงไปข้างล่างเหมือนเดิมไปสั่งพิมพ์
เอ้ย มันไม่มีที่ปริ้นตัวนี้ มันไปออกที่ไหนหละ พี่ๆเค้าก็ขู่กันใหญ่ สักพักหมดปัญญา
ไปหาพี่เติ้ลอีกรอบ อ๋อ พี่ลืมให้ใส่ user code ได้ user ไปปั๊บ ไปสั่งใหม่
ไม่มีอีกแล้ว เฮ้ย!!!! ไปไหน พี่ๆเค้าขำกันใหญ่ ถ้าไปอยู่ห้องผู้บริหาร แกไปเอาเองเลยนะ พี่ไม่ไป
รักน้องกันจริงๆ เย็นวันนั้นเอง พี่เค้าบอกว่า เมื่อกี้เจอพี่เติ้ล เดี๋ยวให้แกมาดูให้นะ รอๆๆๆๆๆๆๆๆๆๆ
หมดวัน พี่เติ้ลก็ยังไม่มา สงสัยว่าลืมไปแล้ว เลยกลับบ้าน

วันรุ่งขึ้นพี่ลินบอกว่าไปข้างบนเลย ก็เลยได้ไปปริ้นข้างบนในที่สุด ปริ้นไปเรื่อยๆๆๆๆๆๆ มีแจ๊กพ็อตอีกแล้ว
มี report ตัวอย่างอันนึงมันมีทั้งหมด 32 cases มันเป็นไฟล์ ไอเราก็ไม่ได้ดูว่ามันมีกี่หน้า ออกมาหมดเลยครับ 32 หน้า พี่เค้าฮากันใหญ่ ไปปลูกต้นไม้ทดแทนเลยแก ใช้กระดาษไปกี่แผ่นเนี้ย

อีกวันนึงก็ยังไม่เข็ด ไปปริ้นอีกรอบ ก็ไม่ได้ดูอีกแล้ว มาเป็นตับเลยสั่ง cancle ก็ไม่ทัน หอบกระดาษกองใหญ่กลับมาที่ห้องอีกแล้ว

การฝึกงานผ่านมาครึ่งทาง ทำให้รู้ว่ากระดาษมีค่าแค่ไหน อย่าพิมพ์ทิ้งพิมพ์ขว้างนะจ้ะ
นั่งฟังพี่เค้าถกเถียงปัญหาเรื่องโปรแกรมมากมาย ก็เก็บเล็กเก็บน้อยไปเรื่อย เวลาทำโปรเจคอย่าให้เกิดแบบนี้ละกัน
1. software ใช้ resource เปลืองมาก ทำให้มันอืด
2. เวลาติดต่อกับ database open connection แล้ว อย่าลืม close ด้วย
3. bug พวก filed ที่กรอกข้อมูล format ต่างๆ อย่าพลาดเลยทีเดียว เช่น วันที่ dd/mm/yyyy ก็ให้มันได้แบบนี้ dd/mm/yyyyyyyyyyyyyไม่รู้จบก็ไม่เอา 30 กุมภา ก็อย่านะ จำไว้ๆ
4. ทำโปรแกรมถ้าทำผิดระดับ business สมควร พิจารณาตัวเอง ศึกษา business นั้นใหม่โดยด่วน
5. เวลา develope อาจจะไม่มีปัญหา แต่ขึ้น server แล้วระวังให้ดี เกิดอะไรที่ไม่คาดฝันเยอะแยะ
6. เขียน code ถึกๆ ไม่ได้แสดงว่าเก่งเลย ทำให้คนที่มาดูทีหลัง สมเพส แล้วด่าตามหลังอีก
7. ชื่อตัวแปร ชื่อmethod ตั้งให้สื่อด้วยนะ
8. อันไหนใช้ตอนtest พอเสร็จแล้วก็ลบทิ้งด้วย ค้างคาไว้ มันรกหูรกตา
9. คำสั่ง sgl น่ากลัวจริงๆ ผิดถูกไม่รู้ สองเครื่องดึงไม่เหมือนกัน หลอนเลย
10. ทำงานเป็นทีม ขัดแข้งขัดขา ตบตีกันบ้าง แต่สุดท้ายต้องทำเพื่อทีมนะ