วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

การทำ SEO (เบื้องต้น)

“ทำอย่างไรน๊า ถึงจะทำให้ search engine (google,yahoo,bing ,etc.) มองเห็นเว็บของเรา” หรืออาจจะเป็น “ทำอย่างไรถึงจะให้บอท(bot/spider)ของ search engine มาวิ่งพลุกพล่านอยู่ในเว็บของเรา”

6 ขั้นตอนง่ายๆ ทำให้เว็บเป็นที่รู้จักของ search engine

1. แนะำนำเว็บไซด์ของเพื่อนๆ กับไดเร็กทอรี่ทั้งหลาย (submit directories) บางคนสงสัยแล้วจะไปหาไดเร็กทอรี่เหล่านั้นได้ที่ไหน วิธีการก็ง่ายๆ เใช้ประโยชน์จาก search engine ทั้งหลายนั่นเอง โดยค้นหาด้วยคำว่า free directory แค่นี้ผลการค้นหาก็จะเต็มไปด้วยไดเร็กทอรี่(directory) ให้เพื่อนๆ ได้ซับมิตกันมันมือเลย

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

3. โครงสร้างลิงค์ภายในเว็บ ควรทำให้แต่ละหน้าในเว็บของเราสามารถลิงค์หากันได้ หรือพูดง่ายๆ ก็คือทำเส้นทางให้บอทเข้าถึงแต่ละหน้าได้อย่างสบายๆ ไม่ว่าจะไปที่หน้าไหนๆ ก็สามารถที่จะตามไปเก็บหน้าอื่นๆ ได้ ถ้าไม่สามารถลิงค์หากันได้ทุกหน้า ก็ทำเป็น sitemap ไว้ ส่วนตัวลิงค์นั้น แนะนำว่าให้เป็นลิงค์ที่เป็นตัวหนังสือ (text link) จะเป็นที่น่าสนใจสำหรับ search engine

4. title tag ควรใส่ให้ทุกหน้าและแต่ละหน้าก็ไม่ซ้ำกันด้วย พร้อมทั้งสอดแทรกคีย์เวิร์ด (keyword) เข้าไปด้วย เพราะบอทจะเก็บเอาข้อความในไตเติล (title) ไปแสดงเป็นหัวข้อหลักของแต่ละหน้าของเว็บเราในผลการค้นหา และทุกวันนี้ตัว search engine เองก็มีการเน้นคีย์เวิร์ดในผลการค้นหาด้วย ซึ่งก็แน่นอนว่า ถ้าคนที่ค้นหาได้อ่านไตเติลแล้วมีคำที่ใช้ค้นหาปรากฏอยู่ เค้าก็ต้องสนใจที่จะเข้ามาชมเว็บของเราแน่นอน

5. description tag ต่อเนื่องจาก title tag ก็ตามตัวเลยประมาณว่า search engine จะนำส่วนนี้เป็นเป็นคำอธิบายประกอบกับไตเติลที่กล่าวมาแล้ว เราก็ควรจะแทรกคีย์เวิร์ดเกี่ยวกับเนื้อหาในหน้านั้นๆ ไว้ เพื่อเป็นการตอกย้ำว่า เว็บของเราน่ะ มีข้อมูลเกี่ยวกับสิ่งที่คุณค้นหาอยู่จริงๆ นะ

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

ขั้นตอนการทำ SEO (Search Engine Optimization)
1. วิเคราะห์การแข่งขัน โดยดูจาก การค้นหา คีย์เวิร์ดของเราเทียบกะคู่แข่ง
2. เลือกคีย์เวิร์ดที่เหมาะสม (สำคัญมากๆ)
3. ปรับแต่งเนื้อหาภายในเว็บ
4. เขียนเนื้อหาให้ตรงกับ อัลกอริทึ่ม ของแต่ละ search engine
5. การออกแบบเว็บให้ search engine เข้าถึงได้สะดวก หรือ SEO Friendly
6. การลงทะเบียนกับ search engine ต่างๆ
7. การสร้างลิงค์ให้กับเว็บไซต์ ในเว็บเรา และเว็บอื่นๆ (สำคัญที่สุด)
8. ติดตามประมวลผล การเปลี่ยนแปลงลำดับ เวลาค้นจาก Search Engine แต่ละที่

ที่มา : http://thaiseopro.blog.com/

http://www.imooh.com/ขั้นตอนง่ายๆสำหรับ-seo-friendly

วันศุกร์ที่ 17 ธันวาคม พ.ศ. 2553

Three-Tier Model

Three-tier model

Architecture style



สถาปัตยกรรมแบบ 3-Tier เป็นการออกแบบสถาปัตยกรรมของระบบ (System Architecture) โดยมีแนวคิดพื้นฐาน คือ

การแบ่งแยกหน้าที่ความรับผิดชอบของแต่ละ tier ไม่ว่าจะเป็น
Presentation Tier รับผิดชอบในการแสดงผลด้าน UI
Business Logic Tier รับผิดชอบในการประมวลผลด้าน business logic
Data Tier รับผิดชอบในส่วนการจัดการฐานข้อมูล (ในกรณีของ SOA จะมี Service Tier เพิ่มเข้ามาเพื่อดูแลในส่วนการติดต่อสื่อสารกับ service อื่นๆ ซึ่งมีได้มากมายในระบบ)

Three-tier architecture แบ่งการทำงานเป็น 3 ส่วน
1. ส่วนการแสดงผล (Display)
2. ส่วนการประมวลผล (Processing)
3. ส่วนของฐานข้อมูล (Database)

โครงสร้างแบบ Three-tier architecture ประกอบด้วย 3 ส่วน
1. เครื่อง Client
2. เครื่อง Server ตัวกลาง
3. เครื่อง Server

โครงสร้างแบบ Three tier พยายามเพื่อกำจัดข้อจำกัดของโครงสร้างแบบ two tier โดยแบ่งส่วนการแสดงผลการประมวลผล และฐานข้อมูลออกจากกัน ออกจากกัน เป็น 3 ส่วน เครื่องมือที่เหมือนกันสามารถใช้แสดงผลได้เหมือนกันกับในระบบของ two tier อย่างไรก็ตามเครื่องมือเหล่านี้ถูกใช้สำหรับการควบคุมการแสดงผล เมื่อการคำนวณหรือประมวลข้อมูลถูกใช้โดยเครื่อง Server ตัวกลางมีความสามารถในการคำนวณสร้างการร้องขอเช่นเดียวกับตัว Client เพื่อส่งคำสั่งไปยังเครื่อง Server ได้ นอกจากนี้เครื่อง Server กลางยังสามารถเข้ารหัสเป็นภาษาที่ใช้กันทั่วไปได้ เช่น ภาษา C ฟังก์ชั่นที่ใช้ใน Server ชั้นกลางนี้อาจจะใช้ Multi-threaded และสามารถประมวลผลให้กับ Client หลายๆ ตัวพร้อมกัน แม้ว่าจะใช้โปรแกรมประยุกต์ต่างกัน
ระบบ Three tier จะใช้เทคโนโลยีที่หลากหลาย โดยการเรียกใช้จากเครื่อง Client ไปยังเครื่อง Server จะกระทำผ่านโปรแกรมย่อย (RPC) RPC จะถูกเรียกจากหน่วยแสดงผล (Client) ไปยัง Server ชั้นกลาง ซึ่งการใช้ RPC จะยืดหยุ่นกว่า SQL RPC จะเกิดจากการร้องขอของ Client โดยเครื่อง Client จะส่งผ่านค่าตัวแปร สำหรับการร้องขอและระบุถึงโครงสร้างข้อมูล เพื่อรับค่าที่จะส่งกลับมา ในการแสดงผลของ Three tier นั้น เครื่อง Client ไม่ต้องการที่ต้องใช้ SQL อีกต่อไป ทำให้การทำงานยืดหยุ่นมากขึ้น


รูปที่ 1 Three Tier Architecture Most of the logic processing is handled by functionality servers.
Middle-tier code can be accessed and utilized by multiple clients.

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

Three-Tier Architecture แบ่งออกเป็น 3 layers
1. Presentation จะเอาไปไว้ที่ Client
2. Application จะเอาไปไว้ที่ server ตัวหนึ่ง
3. Data management
จะเอาไปไว้ที่ Server อีกตัวหนึ่ง

รูปที่ 2 ตัวอย่างการแบ่ง ออกเป็น 3 layers

web application ส่วนใหญ่จะเป็นแบบ 3 - tierคือฝั่ง Client เป็น browser ที่ผู้ใช้ใช้งาน ส่วนฝั่ง server น้อยสุดก็จะมี 2 ตัวคือ ตัวหนึ่งทำหน้าที่เป็น web server ซึ่งขึ้นอยู่กับว่าเครื่องที่เป็น Hardware ที่ใช้เป็น Server มีประสิทธิภาพสูงแค่ไหน ถ้าสูงพอเขาก็จะรวมเอา web server กับ application server มาไว้ในตัวเดียวกัน ส่วนอีกตัวหนึ่งทำหน้าที่เป็น database server ซึ่งจะถูกแยกออกมาเป็นอีกหนึ่งตัวอยู่แล้ว แต่ถ้าบางระบบมี application ที่ใหญ่มาก web server รับผิดชอบงานส่วน application ไม่ไหว เขาก็จะแบ่งออกเป็นอีก server หนึ่งกลายเป็น 4 – tier
หรือในบางระบบที่มีขนาดใหญ่มากก็จะมีการทำเป็น
Clustering คือการที่ฝั่ง Browser ต่อผ่าน Internet มาถึงฝั่ง web server และตัว web server ก็จะมีการแตกออกเป็นหลาย ๆ ตัวอีก เช่น เว็บไซท์ Yahoo , Microsoft และ Web server แต่ละตัวก็จะติดต่อกับ application layer เป็นกลุ่มๆอีก แต่ละ Application Server ก็จะแบ่งหน้าที่กันไป และ Database server มักจะต่อตรงเข้ากับ Database แต่ละตัวโดยตรง ดัง
รูป

ลักษณะนี้เรียกว่า Clustering เพราะว่าในหนึ่งกระบวนการทำงานจะถูกจัดโดยกลุ่มๆหนึ่ง เรียกว่าเป็น Multi –Tier



รูปที่ 3 ระบบ ATM แต่ผ่านทาง internet โดยจะแบ่ง web server และ DB server เป็น 3-tier

สถาปัตยกรรมแบบลูกข่าย/แม่ข่าย 3 ชั้น (Three-Tier Client/Server Architecture)

มักใช้ในแอปพลิเคชันเว็บ (Web application) โดยมีการเพิ่มชั้นกึ่งกลาง (Intermediate layer) ระหว่างลูกข่าย (Client) และแม่ข่ายฐานข้อมูล (Database server) ซึ่งเรียกชั้นกึ่งกลางนี้ว่าแม่ข่ายแอปพลิเคชัน (Application server) หรือแม่ข่ายเว็บ (Web server) โดยจะเป็นส่วนที่ทำหน้าที่เก็บซอฟต์แวร์การเชื่อมต่อเว็บ (Web connectivity software) รวมถึงกฎและข้อบังคับต่างๆ (Rules and business logic: Constraint) ของแอปพลิเคชันในการเข้าถึงฐานข้อมูลในแม่ข่ายฐานข้อมูล (Database server) โดยมีบทบาทคล้ายท่อในการส่งข้อมูลที่ถูกประมวลผลบางส่วนระหว่างแม่ข่ายฐานข้อมูล (Database server) นอกจากนี้ยังมีลักษณะพิเศษเพิ่มเติมเกี่ยวกับความปลอดภัย (Security) โดยจะทำการเข้ารหัสข้อมูล (Encrypt)

ที่เครื่องแม่ข่ายก่อนจะทำการส่งต่อออกไปถอดรหัส (Decrypt) ที่เครื่องลูกข่าย
Three-Tier Architecture มองเป็น 3 Component หลัก อาจประกอบด้วย Client, Middleware, Application Server, Database Server หรืออื่นๆ ตัวอย่างดังรูปที่ 5



รูปที่ 5 สถาปัตยกรรมแบบลูกข่าย / แม่ข่าย 3 ชั้น ระดับตรรก (Logical Three-Tier Client / Server Architecture)

Three Tier Model คำสั่งจะถูกส่งไปยัง Middle-Tier ซึ่ง Middle-Tier จะส่งคำสั่ง SQL ไปยัง Data Base อีกครั้งหนึ่ง เมื่อมีการประมวลคำสั่ง SQL แล้วจะมีการสั่งผลลัพธ์กลับมายัง Middle-Tier จาก Middle-Tier จึงสั่งผลลัพธ์มายัง user อีกครั้งหนึ่ง ซึ่ง Middle Tier นี้สามารถจัดการคำสั่งควบคุมในการไป ประมวลผลข้อมูลมาเก็บไว้และแจกจ่ายไปยัง User ต่างๆ เมื่อมีการร้องขอใช้งาน อีกอย่างที่สำคัญคือ การทำงานที่ Middle-Tier นี้จะช่วยให้ง่ายต่อการใช้งานแบบ user-friendly มากที่สุด

การเปรียบเทียบความสามารถระหว่าง Two Tier และ Three Tier

รูปกราฟ ที่ 6
ถึง รูปกราฟที่ 8 แสดงถึงเวลาที่ใช้แปลง สำหรับ two tier และ three tier เวลาที่ใช้ในการแปลงคือ เวลาของระบบในการติดต่อสื่อสาร ไม่ใช่เวลาของคน มีหน่วย เป็น c/s


รูปที่ 6 Initial Development Effort

รูปที่ 6 แสดงถึง การเปรียบเทียบระบบ โปรแกรมประยุกต์แบบ Three Tier จะใช้เวลาในการพัฒนานานกว่า เพราะใช้ภาษาในระดับล่าง ของภาษาระดับที่ 3 (Third Generation Language) เช่น C และความยากในการติดต่อ ซอฟท์แวร์โมดูลที่ไม่ขึ้นต่อกัน บน platform ที่ต่างกัน ในทางตรงข้าม โครงสร้างแบบ Two tier อนุญาตให้ใช้ ภาษาในระดับสูงในเครื่องมือที่ใช้ในการสร้างส่วนที่ติดต่อกับผู้ใช้


รูปที่ 7 Subsequent Development Efforts

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



รูปที่ 8 Client Tool Migration


รูปที่ 8 จะเป็นการเปรียบเทียบเมื่อมีการย้าย หรือเปลี่ยนเครื่องมือ ในระบบ Two Tier ต้องแก้ทุกเครื่องในระบบ แต่ ในระบบ Three Tier เพียงแก้ใน เซิร์ฟเวอร์ชั้นกลาง เมื่อย้ายเครื่องมือใหม่ ผู้ที่พัฒนาจะต้องสร้างตัวแสดงผลใหม่ และเพิ่ม RPC

ข้อดี

การพัฒนาในแต่ละเลยอร์ สามารถแยกกันพัฒนาได้ เมื่อพัฒนาจนเสร็จ เพียงแต่นำแต่ละ layer มาเชื่อมต่อกันเท่านั้น มีความคล้ายคลึงกับการใช้ Model-View-Controller

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

ขอบคุนที่มา *** จำไม่ได้ ต้องขอภัยด้วยคะ ''