วันพฤหัสบดีที่ 25 มิถุนายน พ.ศ. 2558

Week4 โปรแกรมภาษาคอมพิวเตอร์(C/C++/C#/Java)



ภาษาคอมพิวเตอร์


           มนุษย์ ใช้ภาษาในการสื่อสารมาตั้งแต่สมัยโบราณ การใช้ภาษาเป็นเรื่องที่มนุษย์พยายามถ่ายทอดความคิดและความรู้สึกต่าง ๆ เพื่อการโต้ตอบและสื่อความหมาย ภาษาที่มนุษย์ใช้ติดต่อสื่อสารในชีวิตประจำวัน เช่น ภาษาไทย ภาษาอังกฤษ หรือภาษาจีน ต่างเรียกว่า “ภาษาธรรมชาติ” (Natural Language) เพราะมีการศึกษา ได้ยิน ได้ฟัง กันมาตั้งแต่เกิดการใช้งานคอมพิวเตอร์ ซึ่งเป็นเครื่องมือทางอิเล็กทรอนิกส์ให้ทำงานตามที่ต้องการ จำเป็นต้องมีการกำหนดภาษา สำหรับใช้ติดต่อสั่งงานกับคอมพิวเตอร์ ภาษาคอมพิวเตอร์จะเป็น ”ภาษาประดิษฐ์” (Artificial Language) ที่มนุษย์คิดสร้างมาเอง เป็นภาษาที่มีจุดมุ่งหมายเฉพาะ มีกฎเกณฑ์ที่ตายตัวและจำกัด คืออยู่ในกรอบให้ใช้คำและไวยากรณ์ที่กำหนดและมีการตีความหมายที่ชัดเจน จึงจัดภาษาคอมพิวเตอร์เป็นภาษาที่มีรูปแบบเป็นทางการ (Formal Language) ต่างกับภาษาธรรมชาติที่มีขอบเขตกว้างมาก ไม่มีรูปแบบตายตัวที่แน่นอน กฎเกณฑ์ของภาษาจะขึ้นกับหลักไวยากรณ์และการยอมรับของกลุ่มผู้ใช้นั้น ๆ
ภาษา คอมพิวเตอร์อาจแบ่งได้เป็น 3 ระดับ คือ ภาษาเครื่อง (Machine Language) ภาษาระดับต่ำ (Low Level Language) และภาษาระดับสูง (High Level Language)





ภาษาคอมพิวเตอร์อาจแบ่งเป็นกลุ่มได้เป็นอีกสองประเภทคือ ภาษาที่มนุษย์อ่านออก(human-readable) และภาษาที่มนุษย์อ่านไม่ออก (non human-readable) ภาษาที่มนุษย์อ่านออกถูกออกแบบมาเพื่อให้มนุษย์สามารถเข้าใจและสื่อสารได้โดยตรงกับคอมพิวเตอร์ ส่วนภาษาที่มนุษย์อ่านไม่ออกจะมีโค้ดบางส่วนที่ไม่อาจอ่านเข้าใจได้ แต่ออกแบบมาเพื่อให้โค้ดกระชับซึ่งคอมคอมพิวเตอร์จะสามารถประมวลผลได้ง่ายกว่า
ตัวอย่างภาษาคอมพิวเตอร์
-          ภาษาโปรแกรม
-          ภาษาคริปต์
-          ภาษามาร์กอัป
-          ภาษาสอบถาม


ภาษาคอมพิวเตอร์ (Computer Programming Language)
- ชนิดของภาษาคอมพิวเตอร์
จากการที่มีภาษาจำนวนมากมายนั้น ทำให้ต้องกำหนดระดับของภาษาคอมพิวเตอร์ เพื่อช่วยในการแบ่งประเภทของภาษาเหล่านั้น การกำหนดว่าเป็นภาษาระดับต่ำหรือภาษาระดับสูง จะขึ้นอยู่กับภาษานั้นใกล้เคียงกับเครื่องคอมพิวเตอร์ (ใกล้เคียงกับรหัส และ เรียกว่า ภาษาระดับต่ำหรือว่าใกล้เคียงกับภาษาที่มนุษย์ใช้ (ใกล้เคียงกับภาษาอังกฤษ เรียกว่า ภาษาระดับสูง)


ความแตกต่าง ของภาษาในคอมพิวเตอร์
    ภาษา C - C++ และ จาวา

ประวัติโดยย่อของภาษาซี

         ภาษาซีพัฒนาขึ้นมาในปี ค.ศ. 1970 โดย เดนนิส ริชชี ( Dennis Ritchie ) แห่ง Bell Telephone Laboratories, Inc. (ปัจจุบันคือ AT&T Bell Laboratories ) ซึ่งภาษาซีนั้นมีต้นกำเนิดมาจากภาษา 2 ภาษาคือ ภาษา BCPL คิดค้นโดย มาร์ติน ริชาร์ด (Martin Richard) และภาษา B คิดค้นโดย เคน ทอมป์สัน (Ken Thompson) ซึ่งภาษาทั้งสองต่างก็เป็นภาษาที่พัฒนาขึ้นมาใน Bell Laboratories เช่นกัน เมื่อมีการศึกษาภาษาบีอย่างละเอียดได้พบข้อบกพร่องต่างๆ ของภาษาบี จึงได้มีการพัฒนารูปแบบภาษาบีขึ้นใหม่ให้มีหลักการทำงานที่ดีกว่าเดิม และใช้ชื่อใหม่ว่า ภาษาซี (C language)
         ภาษาซีนั้นถูกใช้งานอยู่เพียงใน Bell Laboratories จนกระทั่งปี ค.ศ. 1978 ไบรอัน เคอร์นิแฮม ( Brian Kernigham ) และริชชี ( Ritchie ) ได้จัดพิมพ์หนังสือชื่อว่า “C Programming Language” ทำให้เป็นที่รู้จักกันในชื่อของ “K&R C” หลังจากที่ตีพิมพ์ข้อกำหนดของ K&R นักคอมพิวเตอร์มืออาชีพรู้สึกประทับใจกับคุณสมบัติที่สนใจของภาษาซี และเริ่มส่งเสริมการใช้งานภาษาซีมากขึ้นในกลางปี ค.ศ. 1980 ภาษาซีก็กลายเป็นภาษาที่ได้รับความนิยมโดยทั่วไปมีการพัฒนาตัวแปลโปรแกรมพัฒนาโปรแกรมเชิงพาณิชย์เป็นจำนวนมาก ยิ่งไปกว่านั้นโปรแกรมเชิงพาณิชย์ที่เคยพัฒนาขึ้นมาโดยใช้ภาษาอื่น ก็ถูกเขียนขึ้นใหม่โดยใช้ภาษาซี เนื่องจากความต้องการใช้ ความได้เปรียบทางด้านประสิทธิภาพและความสามารถในการเคลื่อนย้ายได้ของภาษาซี ตัวแปลโปรแกรมภาษาซีที่ได้รับการพัฒนาขึ้นมาในเชิงพาณิชย์นั้น จะมีความแตกต่างกับข้อกำหนดของ Kernigham และ Ritchie อยู่บ้าง จากจุดนี้เองทำให้เกิดความไม่เข้ากันระหว่างตัวแปลโปรแกรมภาษาซีซึ่งก็ทำให้สูญเสียคุณสมบัติการเคลื่อนย้ายได้ซึ่งเป็นคุณสมบัติที่สำคัญของภาษา
         ดังนั้นสถาบันมาตรฐานแห่งชาติอเมริกา (American National Standard Institute) หรือแอนซี ( ANSI ) จึงเริ่มจัดทำมาตรฐานนี้บรรจุไว้ในปี ค.ศ. 1990

คุณสมบัติของภาษาซี
         - เป็นภาษาที่มีลักษณะเป็นโครสร้างจึงเขียนโปรแกรมง่าย โปรแกรมที่เขียนขึ้นจะทำงานได้อย่างมีประสิทธิภาพสูง สั่งงานคอมพิวเตอร์ได้รวดเร็วกว่าภาษาระดับสูงอื่นๆ
         - สั่งงานอุปกรณ์ในระดับคอมพิวเตอร์ได้เกือบทุกส่วนของฮาร์ดแวร์ซึ่งภาษาระดับสูงภาษาอื่นทำงานดังกล่าวได้น้อยกว่า
         - คอมไพเลอร์ภาษาซีทุกโปรแกรมในท้องตลาดจะทำงานอ้างอิง มาตรฐาน (ANSI = Ameri-can National Standard's Institute) เกือบทั้งหมด จึงทำให้โปรแกรมที่เขียนขึ้นด้วยภาษาซีสามารถนำไปใช้กับคอมพิวเตอร์ได้ทุกรุ่นที่มาตรฐาน ANSI รับรอง
         -โปรแกรมที่เขียนขึ้นด้วยภาษาซีสามารถนำไปใช้กับเครื่องคอมพิวเตอร์ที่ใช้ซีพียูต่างต่างเบอร์กันได้หรือกล่าวได้ว่าโปรแกรมมีความยืดหยุด (Provability) สูง
         - สามารถนำภาษาซีไปใช้ในการเขียนโปรแกรมประยุกต์ได้หลายระดับ เช่น เขียนโปรแกรมจัดระบบงาน (OS) คอมไพเลอร์ของภาษาอื่น โปรแกรมสื่อสารข้อมูล โปรแกรมจัดฐานข้อมูลโปรแกรมปัญญาประดิษฐ์ (AI = Artificial Intelligent) รวมทั้งโปรแกรมคำนวณงานทางด้านวิทยาศาสตร์และวิศวกรรมศาสตร์ เป็นต้น
         - มีโปรแกรมช่วย (Tool Box) ที่ช่วยในการเขียนโปรแกรมมาก และราคาไม่แพงหาซื้อได้ง่าย เช่น Turbo C, Borland C เป็นต้น
         - สามารถประกาศข้อมูลได้หลายชนิดและหลายรูปแบบ ทำให้สะดวกรวดเร็วต่อการพัฒนาโปรแกรมตามวัตถุประสงค์ของผู้ใช้
         - ประยุกต์ใช้ในงานสื่อสารข้อมูลและงานควบคุมที่ต้องการความแม่นยำในเรื่องเวลา (Real Time Application) ได้กล่าวว่าภาษาระดับสูงอื่นๆ หลายๆ ภาษา
         - สามารถเขียนโปรแกรมเชิงวัตถุ (OOP = Object Oriented Programming) ได้ หากใช้ภาษาซีรุ่น Turbo C++ ขึ้นไป ทำให้สามารถพัฒนาโปรแกรมประยุกต์เพื่อใช้งานได้กว้างขวางมากยิ่งขึ้นกว่าเดิม
C เกิดก่อน เป็นรุ่นคุณปู่ รุ่นทวดก็ Assembly ถ้าให้เปรียบเทียบ C ก็อยู่ใกล้ชิดสนิทกับการประมวลผลมากที่สุดครับ ทำงานเร็วสุดๆ เพราะอยู่ใกล้กันนิดเดียว

ต่อมาเจ้าโน้นเจ้านี้ก็พัฒนาไปเรื่อยๆ เพิ่มโน้นนิดนี่หน่อย ก็เติม + เข้ามาเป็น C++ จำไม่ได้ล่ะว่าเคยมี C+ หรือเปล่า

ภาษา C แตกแขนงออกไปเยอะมาก ถือเป็นต้นตระกูลที่ฮิตทีเดียว เพราะคนนิยมกันมาก เขียนทั้ง OS, โปรแกรมควบคุมเครื่องจักร, อุปกรณ์, Network รูปแบบเฉพาะตัวของมันก็คือ ลงท้ายด้วย ; และใช้ { }

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

C# เจ้าของโดย microsoft ใกล้เคียง JAVA ชนิดที่ว่าเรียกพี่น้องกันได้ ถ้าจำไม่ผิด รู้มาว่า microsoft ตั้งใจสร้างมาหักล้างกับ JAVA และเห็นมีดราม่าระหว่างคนเขียน C# กะ JAVA (ในไทย) กันอยู่บ่อยๆ

ผมเริ่มจาก C > C++ (OOP) > Visual C++ > PHP > JavaScript > JAVA พวกนี้ตระกูลเดียวกัน ถ้ารากฐานดี ก็เขียนได้หมด 
เหมือนรู้ภาษากลางอยู่แล้ว ไปถิ่นไหนก็ฟังออกครับ

Objective - C ผมเพิ่งเคยได้ยิน เมื่อปี 2010 นี่เองครับ ดูจากประวัติที่ไม่เคยบูมมาก่อน แล้วตอนนี้มานิยมเป็นพลุแตก ก็เพราะคนเขียน ios เยอะขึ้นนั่นเอง นำหน้าว่า Object ก็สันนิษฐานได้ว่า เป็น C ที่พัฒนาให้เป็น OOP แบบเต็มสูบ

น่นอนในฐานะที่เป็นอดีตนักพัฒนาโปรแกรมด้วยภาษาจาวา (ผมเรียกอย่างเต็มปากเต็มคำว่า "อดีตนักพัฒนา" เพราะเลิกใช้มาแล้วเป็นปี) การแนะนำคนอื่นเกี่ยวกับภาษา Objective-C ด้วย Java คงจะไม่ยากเกินความสามารถ 
แนะนำ
Objective-C นั้นเป็นภาษาหลักสำหรับการพัฒนาโปรแกรมบน Mac OS (บนเฟรมเวิร์กต่างๆ เช่น Carbon, Cocoa, Cocoa Touch) แต่สำหรับบุคคลทั่วไปนั้นมันเป็นเรื่องไกลตัวมากๆ เพราะด้วย market share ขนาดเล็ก บวกกับมันไม่ใช่ภาษาสำหรับพัฒนาเว็บ ผมเชื่อว่าน้อยคนเหลือที่ได้มีโอกาสได้สัมผัสกับภาษานี้ ผมเองถือว่าโชคดีที่ได้ทำงานเกี่ยวกับไอโฟนเลยได้มีโอกาสได้ลองเล่นกับมันบ้าง (ประมาณ 1 ปี) เลยขอถือโอกาสนี้แนะนำเพื่อนๆ ที่สนใจต่อไป

Hello World

ภาษา Objective-C นั้นมีหน้าตาไม่เหมือนชาวบ้านเท่าไร มีแมโครหน้าตาแปลกๆ ที่มีเครื่องหมาย @ นำหน้า มีลักษณะ OOP ค่อนข้างสมบูรณ์ ขาดเรื่อง package (เพราะเป็นภาษาซี จึงยังไม่มี namespace) แต่ความเป็นภาษาซีก็ยังอยู่ครบ (สามารถใช้ Compiler ของ Objective-C คอมไพล์โค้ดภาษาซีได้เลยถ้าต้องการ) มีพอยท์เตอร์ สามารถวางฟังก์ชันแบบภาษาซีได้ รวมถึงการใช้แมโคร, inline function และการใช้ # ต่างๆ (#define, #include, #ifdef)





คำศัพท์เปรียบเทียบระหว่าง Objective-C และ Java

สิ่งแรกที่จะเริ่มงงทันมีเมื่อเริ่มพัฒนาโปรแกรมด้วย Objective-C คือชื่อเรียกสิ่งต่างๆ ของมันที่ค่อนข้างจะแปลกไปซักหน่อย อย่างเช่นการประกาศคลาสขึ้นมาสักคลาสหนึ่ง จะไม่ใช้คำว่า class แต่จะแบ่งคลาสออกเป็นสองส่วนที่แยกกันเลยคือ

  • interface เป็นส่วนที่บอกลักษณะของคลาส เช่นเป็นคลาสลูกของคลาสไหน มีคุณสมบัติของ protocol (จาวาเรียกว่า interface) อะไรบ้าง มีตัวแปร (class member) อะไรบ้าง และมีเมธอดอะไรบ้าง ฉะนั้นคนนอกสามารถเห็นสมาชิกของคลาสได้ทั้งหมดจากการอ่าน interface declaration ถ้าเทียบกับภาษาซี interface ก็คือ .h ธรรมดาๆ นี่เอง
  • implementation เป็นส่วนที่เขียนเนื้อหาจริงๆ ซึ่งเป็นเหมือน .c ของภาษาซี แค่ว่าใช้ .m สำหรับภาษา Objective-C[/quote]โค้ดตัวอย่างข้างล่างจะแสดงวิธีการประกาศและเขียนโค้ดของแต่ละส่วนครับ

User.h

โค้ดข้างบนมีการประกาศตัวแปรของคลาสทั้งหมด 3 ตัว คือสตริงสองตัว และอาเรย์ (คล้ายๆ กับ ArrayList ของจาวา) ลักษณะของ Objective-C นั้น คลาสส่วนใหญ่จะเป็น immutable คือเปลี่ยนแปลงข้อมูลไม่ได้ และค่อยมีคลาสลูกที่สามารถแก้ไขข้อมูลได้ เช่น NSString -> NSMutableString, NSArray -> NSMutableArray, NSDictionary -> NSMutableDictionary (คล้ายกับ Map ใน Java Collection Framework) โดยตัวแปรต่างๆ ต้องประกาศใน {} เท่านั้น เพราะนอกจากนั้นจะเป็นเมธอดอย่างเดียว

ส่วนต่อมาคือการประกาศ property ที่มีลักษณะคล้ายๆ กับ Java Bean คือมี setter/getter แล้วมีการเข้าถึงด้วยวิธีการที่ยืดหยุ่นขึ้นเพื่อให้สามารถนำไปใช้งานได้หลากหลาย ในตัวอย่างผมกำหนดให้ property สามารถอ่านได้อย่างเดียว แปลว่าโค้ดภายนอกไม่มีสิทธิ์แก้ไขข้อมูลใดๆ หรือพูดอีกอย่างก็คือ มีแต่ getter แต่ไม่มี setter ข้อดีอย่างนึงของการประกาศ property คือ โค้ดอื่นจะไม่ต้องเรียก setter/getter ตรงๆ แต่สามารถเรียกผ่าน dot-notation ได้ เช่น user.username user.inboxMessages (แทนที่จะใช้ getter เป็น [user username]) ข้อดีอีกข้อคือสามารถทำ Key-Value Observation (KVO) ได้ ทำให้สามารถติดตามความเปลี่ยนแปลงของ property ได้ เช่นจะมีการยิงอีเวนท์ออกไปเมื่อค่าของ property เปลี่ยน

ผมประกาศเมธอดสองตัว ตัวแรกไม่รับพารามิเตอร์อะไร ตัวที่สองรับพารามิเตอร์เป็น NSUInteger (unsigned int)

สุดท้ายก็คือการประกาศ static method ซึ่งจะแตกต่างจาก method ธรรมดาตรงที่นำหน้าบรรทัดด้วยเครื่องหมายบวก (+) แทนเครื่องหมายลบ (-) เมธอดสุดท้ายจะเห็นการประกาศเมธอดที่รับพารามิเตอร์สองตัว ลักษณะการประกาศเมธอดของ Objective-C นั้น จะเขียนเหมือนประโยคคำพูดธรรมดา เพื่อให้อ่านเข้าใจได้ง่ายโดยไม่ต้องอ่าน document ต่อข้างใน อย่างเมธอดนี้ เวลาอ้างอิงในเอกสารก็จะเรียกว่า userForName:identifiedBy:error: เวลาเรียกใช้ก็เขียนตรงตัวเลย ทำให้อ่านเข้าใจเมธอดได้ง่ายกว่าการเรียกเมธอดแบบส่งพารามิเตอร์ยาวๆ ที่ทำไปทำมาก็มานั่งสับสนว่าตกลงส่งพารามิเตอร์ลำดับถูกต้องหรือเปล่า

ตัวอย่างคลาสนี้ มีวิธีใช้แบบนี้

จุดเด่นของภาษานี้เห็นได้ที่การเรียกเมธอดที่ชัดเจน ไม่มีความสับสนเรื่องลำดับของพารามิเตอร์ เพราะบอกกันตรงๆ เลย
ต่อไปคือการเขียนเนื้อหาของเมธอดต่างๆ ในไฟล์ User.m

User.m

เมธอดแรกเป็นเมธอดที่ไม่ได้ประกาศไว้ใน interface เพราะผมต้องการให้มันเป็น private ฉะนั้นก็ประกาศข้างในก็พอ ซึ่งอันที่จริงแล้วมันก็ไม่ใช่ private ซะทีเดียว เพราะมันยังพอมีทางที่จะมาเรียกเมธอดนี้ได้อยู่ 
สองเมธอดต่อมาทำหน้าที่ค่อนข้างชัดเจน

ต่อมาคือ static member ซึ่งภาษา Objective-C นั้นไม่ใช่เรื่องยากเลย เพราะมันก็คือ static variable ธรรมดานั่นเอง

สุดท้ายคือเมธอดเดียวที่ใช้เป็นทางเข้าของคลาสนี้ โดยมีการพยายามดึงผู้ใช้ตาม username ที่กำหนด แล้วก็มาตรวจสอบรหัสผ่าน แล้วค่อยส่งผลลัพธ์ออกไป กรณีที่ User นั้นไม่มีอยู่จริง อาจจะได้ nil กลับมา ภาษา Objective-C ยอมให้เราเรียกเมธอดของ nil ได้ โดยจะได้ผลลัพธ์เป็นค่ามาตรฐานคือ BOOL = NO, pointer = nil, int/long/float = 0 ทำให้ไม่ต้องเขียนโค้ดเพื่อตรวจสอบ nil มากนัก ทำให้โปรแกรมสั้นลงเยอะอยู่





          ava หรือ Java programming language คือภาษาโปรแกรมเชิงวัตถุ พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่บริษัท ซัน ไมโครซิสเต็มส์ ภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส C++ โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แล้วภายหลังจึงเปลี่ยนไปใช้ชื่อ “จาวา” ซึ่งเป็นชื่อกาแฟแทน จุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้
ภาษา Java เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ ( OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)
ข้อดีของ ภาษา Java

– ภาษา Java เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุแบบสมบูรณ์ ซึ่งเหมาะสำหรับพัฒนาระบบที่มีความซับซ้อน การพัฒนาโปรแกรมแบบวัตถุจะช่วยให้เราสามารถใช้คำหรือชื่อ ต่าง ๆ ที่มีอยู่ในระบบงานนั้นมาใช้ในการออกแบบโปรแกรมได้ ทำให้เข้าใจได้ง่ายขึ้น
– โปรแกรมที่เขียนขึ้นโดยใช้ภาษา Java จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จําเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
-ภาษาจาวามีการตรวจสอบข้อผิดพลาดทั้งตอน compile time และ runtime ทำให้ลดข้อผิดพลาดที่อาจเกิดขึ้นในโปรแกรม และช่วยให้ debug โปรแกรมได้ง่าย
– ภาษาจาวามีความซับซ้อนน้อยกว่าภาษา C++ เมื่อเปรียบเทียบ code ของโปรแกรมที่เขียนขึ้นโดยภาษา Java กับ C++ พบว่า โปรแกรมที่เขียนโดยภาษา Java จะมีจํานวน code น้อยกว่าโปรแกรมที่เขียนโดยภาษา C++ ทำให้ใช้งานได้ง่ายกว่าและลดความผิดพลาดได้มากขึ้น
– ภาษาจาวาถูกออกแบบมาให้มีความปลอดภัยสูงตั้งแต่แรก ทำให้โปรแกรมที่เขียนขึ้นด้วยจาวามีความปลอดภัยมากกว่าโปรแกรมที่เขียนขึ้น ด้วยภาษาอื่น เพราะ Java มี security ทั้ง low level และ high level ได้แก่ electronic signature, public andprivate key management, access control และ certificatesของ
-มี IDE, application server, และ library ต่าง ๆ มากมายสำหรับจาวาที่เราสามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย ทำให้เราสามารถลดค่าใช้จ่ายที่ต้องเสียไปกับการซื้อ tool และ s/w ต่าง ๆ
ข้อเสียของ ภาษา Java
-ทำงานได้ช้ากว่า native code (โปรแกรมที่ compile ให้อยู่ในรูปของภาษาเครื่อง) หรือโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น อย่างเช่น C หรือ C++ ทั้งนี้ก็เพราะว่าโปรแกรมที่เขียนขึ้นด้วยภาษาจาวาจะถูกแปลงเป็นภาษากลาง ก่อน แล้วเมื่อโปรแกรมทำงานคำสั่งของภาษากลางนี้จะถูกเปลี่ยนเป็นภาษาเครื่องอีก ทีหนึ่ง ทีล่ะคำสั่ง (หรือกลุ่มของคำสั่ง) ณ runtime ทำให้ทำงานช้ากว่า native code ซึ่งอยู่ในรูปของภาษาเครื่องแล้วตั้งแต่ compile โปรแกรมที่ต้องการความเร็วในการทำงานจึงไม่นิยมเขียนด้วยจาวา
-tool ที่มีในการใช้พัฒนาโปรแกรมจาวามักไม่ค่อยเก่ง ทำให้หลายอย่างโปรแกรมเมอร์จะต้องเป็นคนทำเอง ทำให้ต้องเสียเวลาทำงานในส่วนที่ tool ทำไม่ได้ ถ้าเราดู tool ของ MS จะใช้งานได้ง่ายกว่า และพัฒนาได้เร็วกว่า (แต่เราต้องซื้อ tool ของ MS และก็ต้องรันบน platform ของ MS)
ประวัติภาษา JAVA
ภาษาจาวา เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาขึ้นโดย  “เจมส์ กอสลิง”   และทีมวิศวกรของเขา ซึ่งบริษัทซันไมโครซิสเต็ม ต้องการนำภาษาจาวามาใช้แทนภาษา  C++  ชื่อของ “จาวา” มาจากชื่อกาแฟที่ทีมวิศวกรของซันดื่มตอนที่ร่วมกันพัฒนาภาษาจาวาขึ้นมา  Java  ถูกคิดค้นและสร้างโดย บริษัท Sun Microsystems ซึ่งเป็นบริษัทผู้ขายระบบ Unix ที่มีชื่อว่า Solaris ซึ่งจุดเด่นของภาษา Java อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ พัฒนาขึ้นโดยทีมวิจัยของ บริษัท ซันไมโครซิสเต็ม (Sun Microsystems)พัฒนามาจากโครงการที่ต้องการพัฒนาระบบซอฟต์แวร์เพื่อควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กภายในบ้านชื่อเดิมคือภาษา Oak ต่อมาเปลี่ยนชื่อเป็นภาษาจาวาภาษาจาวาเริ่มเป็นที่นิยมแพร่หลายในปี ค.ศ. 1995ภาษาจาวาเป็นภาษาที่ไม่ขึ้นกับแพลตฟอร์ม (platform independent)JDK 1.0 ประกาศใช้เมื่อปี1996JDK เวอร์ชันปัจจุบันคือ Java 2
วิวัฒนาการของภาษาจาวาจากรุ่นแรกถึงจาวา1.5
1.  (ค.ศ. 1996) — ออกครั้งแรกสุด
2.  (ค.ศ. 1997) — ปรับปรุงครั้งใหญ่ โดยเพิ่ม Inner Class
3.  (4 ธันวาคม ค.ศ. 1998) — รหัส Playground ด้านจาวาแพลตฟอร์มได้รับการเปลี่ยนแปลงครั้งใหญ่ใน API และ JVM (API สำคัญที่เพิ่มมาคือ Java Collections Framework และ Swing; ส่วนใน JVM เพิ่ม JIT Compiler) แต่ตัวภาษาจาวานั้น เปลี่ยนแปลงเพียงเล็กน้อย (เพิ่มคีย์เวิร์ด strictfp) และทั้งหมดถูกเรียกชื่อใหม่ว่า “จาวา 2″ แต่ระบบเลขรุ่นยังไม่เปลี่ยนแปลง
4.  (8 พฤษภาคม ค.ศ. 2000) — รหัส Kestrel แก้ไขเล็กน้อย
5.  (13 กุมภาพันธ์ ค.ศ. 2002) — รหัส Merlin เป็นรุ่นที่ถูกใช้งานมากที่สุดในปัจจุบัน (ขณะที่เขียน ค.ศ. 2005)
6.  (29 กันยายน ค.ศ. 2004) — รหัส Tiger (เดิมทีนับเป็น 1.5) เพิ่มคุณสมบัติใหม่ในภาษาจาวา เช่น Annotations ซึ่งเป็นที่ถกเถียงกันว่านำมาจากภาษาซีชาร์ป ของบริษัทไมโครซอฟท์, Enumerations, Varargs, Enhanced for loop, Autoboxing, และที่สำคัญคือ Generics


การพัฒนาการในช่วงเวลาต่าง ๆ


ถูกพัฒนาตั้งแต่ปี 1991 โดยบริษัท Sun Mic0rosystems ซึ่งเป็น ส่วนหนึ่งของ Green Project
Write Once Run Anywhere
ค.ศ.1991
บริษัท ซันไมโครซิสเต็ม (Sun Microsystems) ได้ทำการวิจัยเพื่อพัฒนาซอฟต์แวร์ที่ใช้ควบคุมอุปกรณ์เล็กทรอนิคส์ขนาดเล็ก ซึ่งได้ผลลัพธ์ที่สำคัญคือ ภาษาโอ๊ค (Oak)
ค.ศ.1993
ภาษาโอ๊คได้ถูกปรับปรุงใหม่เพื่อใช้ในการสร้างเว็บแอพพลิเคชั่น (Web Application) พร้อมกับสร้างเว็บเบราว์เซอร์ (Web Browser) ที่รองรับ ชื่อว่าเว็บรันเนอร์ (Web Runner)
ค.ศ.1995
บริษัทซันได้เปิดตัวภาษาจาวา (Java) (ภาษาโอ๊คเดิม) พร้อมกับเว็บเบราว์เซอร์ ที่รองรับภาษานี้ ชื่อว่า ฮอตจาวา (HotJava) (WebRunner เดิม)
ได้รับการสนับสนุนจากบริษัทใหญ่ทั้งเน็ตสเคบ (Netscape), ไมโครซอฟต์ (Microsoft), และ ไอบีเอ็ม (IBM)
บริษัทซัน ได้เริ่มแจกจ่าย Java development Kit (JDK) ซึ่งเป็นชุดพัฒนาโปรแกรมภาษาจาวาในอินเทอร์เน็ต
ความหมาย
ภาษาจาวา (Java Language) คือ ภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)
การโปรแกรมเชิงวัตถุ (OOP = Object-Oriented Programming)
การเขียนโปรแกรมที่ประกอบด้วยกลุ่มของวัตถุ(Objects) แต่ละวัตถุจะจัดเป็นกลุ่มในรูปของคลาส ซึ่งแต่ละคลาสอาจมีคุณสมบัติ การปกป้อง (Encapsulation) การสืบทอด (Inheritance) การพ้องรูป (Polymorphism)
แนวคิดของการโปรแกรมเชิงวัตถุ (OOP Concepts)
1. การปกป้อง (Encapsulation)
– การรวมกลุ่มของข้อมูล และกลุ่มของโปรแกรม เพื่อการปกป้อง และเลือกตอบสนอง
2. การสืบทอด (Inheritance)
– ยอมให้นำไปใช้ หรือเขียนขึ้นมาทดแทนของเดิม
3. การพ้องรูป (Polymorphism) = Many Shapes
– Overloading มีชื่อโปรแกรมเดียวกัน แต่รายการตัวแปร (Parameter List) ต่างกัน
– Overriding มีชื่อโปรแกรม และตัวแปรเหมือนกัน เพื่อเขียน behavior ขึ้นมาใหม่

คุณลักษณะเด่นของภาษา Java

–  ภาษา Java เป็นภาษาที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุแบบสมบูรณ์
–  โปรแกรมที่เขียนขึ้นโดยใช้ภาษา Java จะมีความสามารถทำงานได้ในระบบปฏิบัติการที่แตกต่างกัน ไม่จําเป็นต้องดัดแปลงแก้ไขโปรแกรม เช่น หากเขียนโปรแกรมบนเครื่อง Sun โปรแกรมนั้นก็สามารถถูก compile และ run บนเครื่องพีซีธรรมดาได้
–  เมื่อเปรียบเทียบ code ของโปรแกรมที่เขียนขึ้นโดยภาษา Java กับ C++ พบว่า โปรแกรมที่เขียนโดยภาษา Java จะมีจํานวน code น้อยกว่าโปรแกรมที่เขียนโดยภาษา C++ ถึง 4 เท่า และใช้เวลาในการเขียนโปรแกรม น้อยกว่าประมาณ 2 เท่า
–  Java มี security ทั้ง low level และ high level ได้แก่ electronic signature, public andprivate key management, access control และ certificatesของภาษาจาวา

จุดเด่นของภาษาจาวา

–  ความง่าย (simple)
–  ภาษาเชิงออปเจ็ค (object oriented)
–  การกระจาย (distributed)
–  การป้อ้องกันการผิดพลาด (robust)
–  ความปลอดภัย (secure)
–  สถาปัตัตยกรรมกลาง (architecture neutral)
–  เคลื่อนย้ายง่าย (portable)
–  อินเตอร์พ์พรีต (interpreted)
–  ประสิทธิภาพสูง (high performance)
–  มัลติเธรด (multithreaded)
–  พลวัต (dynamic)







รูปแบบของภาษา Java

ภาษา Java เป็นภาษาที่ไม่กำหนดแบบการเขียนโปรแกรม ในแต่ละบรรทัด แต่ละบรรทัดสามารถเขียนคำสั่งได้หลายคำสั่งสามารถแทรกคำอธิบาย (comment) Java เป็นภาษาที่บังคับอักขระตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก (Case Sensitiv) Java มีตัวดำเนินการ(operators) หลายชนิด ให้ใช้งานนอกจากคำสั่งนั้นเป็นคำสั่งที่ผู้ใช้สร้างขึ้นมาใหม่ อาจกำหนดเป็นตัวพิมพ์ใหญ่หรือตัวเล็กก็ได้ และสามารถเขียนชุดคำสั่งที่ประกอบด้วยตัวดำเนินการหลายตัวที่ต่างชนิดกันในชุดคำสั่งหนึ่งๆได้ โดยภาษา Java จะจัดลำดับการประมวลผลตามลำดับการทำงานของตัวดำเนินการ
รูปแบบคำสั่ง(statements) Java คือ ส่วนประมวลผล(Execute) เพื่อให้ได้ผลลัพธ์ออกมา ทุกคำสั่งจะต้องจบด้วยเครื่องหมาย เซมิโคลอน( ; )

ที่มา
..... 6http://www.narisa.com/forums/index.php?app=blog&blogid=5&showentry=2376

วันอังคารที่ 16 มิถุนายน พ.ศ. 2558

Week3 Social Network



Social Network

ผลการค้นหารูปภาพสำหรับ social network มีอะไรบ้าง


Social Network คืออะไร

      
  Social Network คือหมายถึงการที่มนุษย์สามารถเชื่อมโยงถึงกัน ทำความรู้จักกัน สื่อสารถึงกันได้ ผ่านทางระบบอินเทอร์เน็ต ซึ่งหากเป็นเว็บไซต์ที่เรียกว่าเป็นเว็บ (Social Network) ก็คือเว็บไซต์ที่เชื่อมโยงผู้คนไว้ด้วยกันนั่นเอง โดยเว็บไซต์เหล่านี้จะมีพื้นที่ให้ผู้คนเข้ามารู้จักกัน มีการให้พื้นที่ บริการเครื่องมือต่างๆ เพื่ออำนวยความสะดวกในการสร้างเครือข่าย สร้างเนื้อหาตามความสนใจของผู้ใช้ ปัจจุบันมีเว็บไซต์ประเภท (Social Network) เกิดขึ้นจำนวนมาก ทั้งที่มีเป้าหมายเชิงพาณิชย์ และไม่แสวงหากำไร หรือเว็บไซต์ที่เชื่อมโยงผู้คนไว้ด้วยกัน ผ่านInternet ซึ่งเป็นเว็บไซต์ช่วยให้คุณหาเพื่อนบนโลกอินเตอร์เน็ตได้ง่ายๆ เราสามารถที่จะสร้างพื้นที่ส่วนตัวขึ้นมา เพื่อแนะนำตัวเองได้ โดยเลือกได้ว่าต้องการรู้จักกับใคร หรือเป็นเพื่อนกับใคร ก็ได้ ตัวอย่าง Social Network เช่น Hi5, Facebook, MySpace.com, twitter เป็นต้น

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





ผลการค้นหารูปภาพสำหรับ social network มีอะไรบ้าง



Social Media กับ Social Network แตกต่างกันอย่างไร
   Social หมายถึง "สังคม" ซึ่งในที่นี้ก็จะหมายถึง สังคมออนไลน์นั่นเอง
 Media หมายถึง "สื่อ" ซึ่งในที่นี้ก็จะหมายถึงสื่อในรูปแบบต่างๆ ไม่ว่าจะเป็น ภาพ เสียง วีดิโอ ข้อความ เป็นต้น
       ดังนั้น Social Media ก็น่าจะหมายความว่า สื่อสังคมออนไลน์ที่ผู้ใช้อินเทอร์เน็ตสามารถแลกเปลี่ยนประสบการณ์ซึ่งกันและกัน โดยใช้สื่อต่างๆ เป็นตัวแทนในการสนทนา โดยได้มีการจัดแบ่งประเภทของ Social Media ออกเป็นหลายประเภท เช่น ประเภทสื่อสิ่งพิมพ์ (Publish) ที่มี Wikipedia, Blogger เป็นต้น, ประเภทสื่อแลกเปลี่ยน (Share) ที่มี YouTube, Flickr, SlideShare เป็นต้น,   ประเภทสื่อสนทนา (Discuss) ที่มี MSN, Skype, Google Talk เป็นต้น และยังมีอีกหลายประเภท โดยอีกประเภทของ Social Media ที่สร้างความสับสนให้บ้าง ก็คือ ประเภทเครือข่ายสังคมออนไลน์       หรือที่เรียกกันว่า Social Network ที่มี Facebook, LinkedIn, Google+ เป็นต้น
         Social Network  จึงเป็นส่วนหนึ่งของ Social Media นั่นเอง ถ้าจะพูดรวมสื่อสังคมออนไลน์ทั้งหมด เราก็จะใช้คำว่า Social Media แต่ถ้าต้องการเน้นเฉพาะเครือข่ายสังคมออนไลน์แล้ว เราก็จะใช้คำว่า Social Network นั่นเอง




ผลการค้นหารูปภาพสำหรับ สังคม ออนไลน์ social network คือ อะไร



ผลการค้นหารูปภาพสำหรับ สังคม ออนไลน์ social network คือ อะไร

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









              บริษัทต่างๆเริ่มหันมาใช้ Blog ในการประชาสัมพันธ์สินค้าและบริการมากขึ้น เนื่องจากจัดการใช้งาน และอัพเดทให้ทันสมัยได้ง่าย อีกทั้งยังเข้าถึงกลุ่มลูกค้าได้ดี เพราะ Blog ส่วนใหญ่จะสำรวจและแยกประเภทความสนใจของสมาชิกอยู่แล้ว นอกจากนี้ยังมีค่าใช้จ่ายที่ถูก และสามารถติดต่อสื่อสารระหว่างบริษัทกับลูกค้าผ่านข้อความแสดงความคิดเห็นได้อีกด้วย เช่น
             1.  ด้านสังคม   SNS เป็นการเชื่อมโยงผู้คนเข้าหากัน ซึ่งเป็นความสวยงามที่สุดของอินเทอร์เน็ต SNS รายใหญ่อย่าง Hi5 มีสมาชิกอยู่เกือบ 100 ล้าน account ทั่วโลก บางคนมี "เพื่อน" เป็นหลักหมื่นหลักแสนอยู่ในไซเบอร์สเปซ   SNS ทำให้คนมีตัวตนอยู่ได้บนไซเบอร์สเปซ เพราะจะต้องแสดงความเป็นตัวเองออกมาให้ได้มากที่สุด เพื่อทำให้ Profile น่าสนใจ และมีชีวิตชีวาที่สุด บ้างก็เน้นไปที่การใส่ข้อมูลเนื้อหา blog รูปถ่ายในชีวิตประจำวัน เรื่องราวเพื่อนคนใกล้ตัว บ้างก็เน้นไปที่ลูกเล่นใส่ glitter หรือตัววิ๊ง ๆ เข้าไป สุดท้ายทำให้เชื่อได้ประมาณหนึ่งว่า มีตัวตนอยู่จริงบนโลกมนุษย์

            2.  ด้านการตลาด  จากสถิติการใช้สื่อโฆษณาของอเมริกาที่จัดทำขึ้นโดย eMarketer ได้มีการใช้เงินโฆษณา ผ่าน Social network เพิ่มมากขึ้นกว่า 100% จากปี 2006 เทียบกับ ปี 2007 และมีแนวโน้มที่จะใช้มากขึ้นต่อไปในอนาคต เนื่องจาก ชาวอเมริกันใช้เวลาส่วนใหญ่ไปกับอินเตอร์เน็ตมากกว่าทีวี หรือวิทยุ ส่วนในบางประเทศที่ถูกควบคุม และจำกัดในการโฆษณา เช่น ประเทศจีน และสิงคโปร์ ก็ยังมีการใช้ Social network เป็นอีกช่องทางในการโฆษณา ซึ่งถือเป็นเครื่องยืนยัน ความฮอตฮิต และความแรงของการโฆษณาบน Social Network   การใช้เงินกับสื่อประเภทนี้ยังคงมีการเติบโตที่สูงมาก ซึ่งจากที่คาดการณ์ตัวเลขของปี 2006 จนถึงปี 2010 จะสูงขึ้นมากกว่า 500% ในประเทศสหรัฐอเมริกา และกว่า 600% ทั่วโลก นี่อาจจะเป็นผลมาจากเครือข่ายที่ขยายวงกว้างมากขึ้น และวิวัฒนาการของเทคโนโลยีที่มีลูกเล่น ที่น่าสนใจมากขึ้นให้ผู้ใช้ได้คอยติดตามกัน
            

      3.  ด้านการเมือง   ดังตัวอย่างการใช้สื่อสมัยใหม่ในแข่งขันการเลือกตั้งที่มีส่วนทำให้โอบามาชนะการเลือกตั้งเป็นประธานาธิบดีสหรัฐอเมริกาคนที่ 44   ซึ่ง Micah Sifry ผู้ร่วมก่อตั้งบล็อกการเมืองออนไลน์ของสหรัฐฯนาม techpresident.com พูดถึงเรื่องนี้ว่า ทั้งหมดเป็นผลมาจากโอบามามีความเข้าใจเรื่องพลังแห่งเครือข่าย ที่เขาสร้างมาเพื่อสนับสนุนแคมเปญของตัวเอง โดยมองว่า โอบามาเข้าใจเรื่องการดึงพลังขององค์กรอิสระที่จะสามารถสนับสนุนแคมเปญของเขาเองด้วย  นอกจากนี้ David Almacy ซึ่งเป็นหนึ่งในทีมให้บริการอินเทอร์เน็ตและการสื่อสารผ่านระบบเครือข่ายในทำเนียบขาวตั้งแต่เดือนมีนาคม 2005 ถึงเดือนพฤษภาคม ปี 2007 มองว่า โอบามาเข้าใจแนวคิดการสื่อสารระหว่างชุมชนออนไลน์ตั้งแต่แรกเริ่ม ทำให้โอบามาเน้นการส่งข้อความ Twitter แทนที่จะตรวจหน้า Facebook อย่างเดียวทุกวัน และความเข้าใจพลังเรื่องการสื่อสารระหว่างคนหลายชุมชนนี้เองที่ทำให้โอบามาทำแคมเปญได้ดีกว่าแม้คู่แข่งจะใช้กลยุทธ์หาเสียงออนไลน์เช่นเดียวกัน


ผลการค้นหารูปภาพสำหรับ social network คือ อะไร xประโยชน์


ข้อดี  ของ Social Network



             
  • สามารถแลกเปลี่ยนข้อมูลความรู้ในสิ่งที่สนใจร่วมกันได้

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

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

  • ใช้เป็นสื่อในการโฆษณา ประชาสัมพันธ์ หรือบริการลูกค้าสำหรับบริษัทและองค์กรต่างๆ ช่วยสร้างความเชื่อมั่นให้ลูกค้า

  • ช่วยสร้างผลงานและรายได้ให้แก่ผู้ใช้งาน เกิดการจ้างงานแบบใหม่ๆ ขึ้น

  • คลายเคลียดได้สำหรับผู้ใช้ที่ต้องการหาเพื่อนคุยเล่นสนุกๆ

  • สร้างความสัมพันธ์ที่ดีจากเพื่อนสู่เพื่อนได้




20131108164405923


ข้อเสียของ Social Network


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

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

  • เป็นช่องทางในการถูกละเมิดลิขสิทธิ์ ขโมยผลงาน หรือถูกแอบอ้าง เพราะ Social Network Service เป็นสื่อในการเผยแพร่ผลงาน รูปภาพต่างๆ ของเราให้บุคคลอื่นได้ดูและแสดงความคิดเห็น

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

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

  • ถ้าผู้ใช้หมกหมุ่นอยู่กับ social  network มากเกินไปอาจทำให้เสียการเรียนหรือผลการเรียนตกต่ำลงได้

  • จะทำให้เสียเวลาถ้าผู้ใช้ใช้อย่างไร้ประโยชน์ 


ข้อมูลอ้างอิง
https://lovejirapon.wordpress.com/
http://pongluck.blogspot.com/2012/08/social-media-social-network.html
http://community.blogtika.com
https://sites.google.com/site/socialnetworkfc/social-network-khux-xari

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

Week2 เรื่องราวที่นักเรียนสนใจ (1)



               สิงโตเป็นเสือขนาดใหญ่ ขนสั้นเกรียนสีน้ำตาลอ่อน บางตัวอาจมีสีออกเทาเงิน หรือบางตัวก็มีสีอมแดง หรือถึงน้ำตาลแดง ใบหน้ากว้าง ปากค่อนข้างยาว จมูกมักมีสีดำสนิท ม่านตาสีเหลืองหรืออำพัน รูม่านตากลม หูสั้นกลม หลังหูดำ ขาหน้าใหญ่และแข็งแรงกว่าขาหลัง อุ้งตีนกว้าง หางค่อนข้างยาว ปลายหางเป็นพู่สีดำ และมักมีสิ่งคล้ายเดือยแข็งอยู่อันหนึ่งซ่อนอยู่ภายในพู่หางด้วย
สิงโตเป็นสัตว์ตระกูลแมวที่มีความแตกต่างระหว่างเพศชัดเจนที่สุด ตัวผู้มีแผงคอซึ่งเป็นขนยาวหนาขึ้นบริเวณรอบคอและหัวไหล่อย่างหนาแน่นจนกลบใบหูมิด ขนแผงคอสีน้ำตาลอ่อนจนถึงสีดำ บางชนิดขนแผงคอลามไปจนถึงท้อง แผงคอของสิงโตตัวผู้แต่ละพันธุ์ต่างกันมากในแต่ละพื้นที่ พวกที่อยู่ตอนบนสุดและล่างสุดของเขตกระจายพันธุ์มีแผงคอใหญ่และดกมาก อาจลามไปถึงหลังและใต้ท้อง ขนช่วยให้สิงโตมีขนาดใหญ่โตขึ้นแต่ไม่เพิ่มน้ำหนักให้มากนัก คาดว่ามีไว้เพื่อจำแนกเพศและแสดงสถานะของวัย และเพื่ออวดตัวเมียถึงความแข็งแกร่งห้าวหาญสมชาย และอาจมีประโยชน์ในการป้องกันหัวและคอในระหว่างการต่อสู้ สิงโตตัวเมียมีขนาดเล็กกว่าตัวผู้มาก (20-50%) และไม่มีแผงคอ แผงคอของสิงโตมีลักษณะต่างกันไปในแต่ละตัวด้วย นักวิจัยในพื้นที่ก็ใช้ลักษณะของแผงคอในการจำแนกสิงโตแต่ละตัวจากระยะไกล และมีหลักฐานว่าสิงโตก็ใช้รูปร่างของแผงคอในการจำแนกสิงโตตัวผู้จากระยะไกลเช่นกัน  ในสิงโตพันธุ์เอเชีย 

ชื่อไทยสิงโตชื่อวิทยาศาสตร์    Panthera leo
ชั้น         Mammalia
อันดับ     Carnivoraวงศ์Felidae
วงศ์ย่อย  Pantherinae
สกุล        Panthera
ชื่ออื่นอังกฤษ :  lion
 ฝรั่งเศส :     lion d’Afrique
เยอรมัน :    Löwe
 สเปน :       león
อัมฮารา : เอธิโอเปีย :     ambessa
ชิเชวา (มลาวี) :           nkharam
 ดามารา (นามิเบีย) :     xamm
 เฮาซา (เบนิน บูร์กินาฟาร์โซ แคเมอรูน กานา ไนเจอร์ ไนจีเรีย โตโก) : zaki
เนปาล :     hiun chituwa
 อีโบ, โยรูบา (ไนจีเรีย) :   odum, aja
จูโฮอัน (บอตสวานา, นามิเบีย) :    n!hai
 คิคุยู (เคนยา) :      ngatia, muruthi
 ลิงการา (แอฟริกาตะวันตก) :     ngouambulu
โดลัว (เคนยา, อูกันดา) :      labwor มาไซ,
แซมบูรู (เคนยา, แทนซาเนีย) :    olugatany
โปรตุเกส :      leao
 เซตสวานา    (บอตสวานา) : tau
คิสวาฮีลี :       simba
โซมาเลีย :    aar, baranbarqo, libaax, gool, davar
 คุชราต :   sinh, sawaj
ฮินดี :       sher, untia bagh
มัลดารี :    hawaj
ฟาร์ซี :     sheer จีน : 狮

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




    สิงโต

    •              สิงโตมีฤดูผสมพันธุ์ไม่แน่นอน ในอุทยานแห่งชาติครูเกอร์และเซเรนเกตตีสิงโตมักออกลูกในช่วงเดือนมีนาคมถึงเดือนกรกฎาคม ส่วนในอินเดียมักออกลูกในช่วงเดือนกุมภาพันธ์ถึงต้นเดือนเมษายน ซึ่งเป็นช่วงปลายฤดูหนาวกับต้นฤดูร้อน ตัวเมียในฝูงมักติดสัดและให้กำเนิดลูกในเวลาไล่เลี่ยกัน กลไกที่ควบคุมจังหวะนี้ยังไม่เป็นที่ทราบแน่ชัด ตัวเมียติดสัดมากกว่าหนึ่งครั้งในรอบปี ช่วงเวลาติดสัดมักยาวนานประมาณสี่วันและมีคาบการติดสัดประมาณ 16 วัน ช่วงติดสัดสิงโตจะผสมพันธุ์กันบ่อยมาก โดยเฉลี่ยทุก 25 นาที จากการสังเกตสิงโตในกรงเลี้ยงคู่หนึ่ง ผสมพันธุ์กันถึง 360 ครั้งใน 8 วัน ในธรรมชาติมีผู้เคยพบสิงโตตัวผู้เร่ร่อนตัวหนึ่งผสมพันธุ์ 157 ครั้งใน 55 ชั่วโมง ในระหว่างที่ติดสัดนี้สิงโตจะไม่กินเลย
    •              สิงโตเป็นสัตว์จำพวกแมวที่อยู่เป็นสังคมมากกว่าแมวป่าชนิดอื่นๆ ที่มักอยู่อย่างโดดเดี่ยว สิงโตเป็นสัตว์นักล่าที่มีสังคมสองรูปแบบ รูปแบบแรกเป็นการรวมตัวกันที่เรียกว่า "ฝูง (prides)"  ปกติฝูงหนึ่งจะประกอบไปด้วยสิงโตตัวเมียห้าถึงหกตัว ลูกสิงโต และสิงโตตัวผู้หนึ่งถึงสองตัว ซึ่งเป็นคู่ของนางสิงห์ (แม้ว่า จะมีการพบฝูงขนาดใหญ่ที่มีจำนวนสิงโตถึง 30 ตัว) ตัวผู้ในฝูงจะมีไม่เกินสองตัว แต่อาจเพิ่มจำนวนถึง 4 ตัวและลดจำนวนลงเมื่อเวลาผ่านไป ลูกสิงโตตัวผู้จะถูกขับออกจากฝูงเมื่อโตเต็มที่
    •                 ในอุทยานแห่งชาติครูเกอร์ของแอฟริกา สิงโตตัวผู้เต็มวัย (4 ปีขึ้นไป) มีน้ำหนัก181 กิโลกรัมตัวเมียหนัก 126 กิโลกรัม สิงโตวัยรุ่นตัวผู้ (2-4 ปี) หนัก 146 กิโลกรัม ตัวเมียหนัก 103 กิโลกรัม สิงโตตัวผู้ที่ใหญ่ที่สุดหนัก 225 กิโลกรัม ตัวเมียที่ใหญ่ที่สุดหนัก 152 กิโลกรัม ในปี 2536ที่ประเทศเคนยา เคยพบสิงโตตัวผู้ตัวหนึ่งถูกยิงตายใกล้เขาเคนยา มีน้ำหนักถึง 272 กิโลกรัม ตัวผู้มีความยาวตัวถึงหาง 3.3 เมตร
    •                   สิงโตเอเชียมีขนาดเล็กกว่าสิงโตแอฟริกา ตัวผู้เต็มวัยมีน้ำหนักประมาณ 160-190 กิโลกรัม ส่วนตัวเมียหนักประมาณ 110-120 กิโลกรัม ความยาวหัวถึงหางของตัวผู้ 2.92 เมตร        





    •          สิงโตใช้เวลาส่วนมากไปกับการพักผ่อนประมาณ 20 ชั่วโมงต่อวัน[48] แม้ว่าสิงโตจะสามารถกระตือรือร้นได้ทุกช่วงเวลา แต่โดยทั่วไปแล้วมันจะกระตือรือร้นและมีชีวิตชีวามากที่สุดตอนพลบค่ำกับช่วงเข้าสังคม แต่งขน และขับถ่าย เมื่อต้องล่าเหยื่อสิงโตจะกระตือรือร้นเป็นพักๆ ไปตลอดทั้งคืนจวบจนกระทั่งรุ่งเช้า โดยเฉลี่ยแล้ว สิงโตจะใช้เวลาเดิน 2 ชั่วโมงและกิน 50 นาทีต่อวัน

    สิงโตในอดีต

    สิงโตปรากฏขึ้นเป็นครั้งแรกที่ยุโรปเมื่อราว 600,000 ปีที่แล้ว สิงโตในยุคนั้นมีขนาดใหญ่กว่าสิงโตปัจจุบัน 25 เปอร์เซ็นต์ คาดว่าเป็นสัตว์ตระกูลแมวที่ใหญ่ที่สุดที่เคยมีมาบนโลก มีชื่อว่า สิงโตถ้ำยุโรป (Panthera leo spelaea) สิงโตพันธุ์นี้ได้แพร่กระจายไปไกลอย่างน้อยก็ถึงกรุงปักกิ่ง เพราะพบซากดึกดำบรรพ์ของสิงโตอายุ 400,000 ปีบริเวณเดียวกับที่พบซากมนุษย์ปักกิ่งในโจวโข่วเตี้ยนซึ่งก็พบซากของเสือโคร่งเช่นกัน และยังพบภาพวาดของสิงโตตามถ้ำต่าง ๆ และซากดึกดำบรรพ์ที่มีอายุ 200,000 ปี แสดงว่าสิงโตพันธุ์นี้เคยอาศัยร่วมสมัยกับมนุษย์ยุคใหม่มาก่อน นอกจากนี้ยังเคยมีการพบกระดูกสิงโตคู่กับเครื่องมือของมนุษย์นีแอนเดอทรัลมาแล้วด้วย
    ในทวีปอเมริกาก็เคยมีสิงโตเช่นกัน สิงโตอเมริกาเหนือ (Panthera atrox) มีรูปร่างคล้ายสิงโตถ้ำยุโรป พบซากดึกดำบรรพ์ของสิงโตพันธุ์นี้ตามไซบีเรียตะวันออก แอแลสกา และที่อื่นในทวีปอเมริกาเหนือ สิงโตอเมริกาอาศัยร่วมกับมนุษย์ หมาป่าไดร์วูล์ฟ (Canis dirus) ม้า และไบซันมาจนถึงราวปี 11,500 ปีก่อน เชื่อกันว่าสิงโตอเมริกาเหนือน่าจะอาศัยเป็นฝูงเช่นเดียวกับสิงโตในแอฟริกาปัจจุบัน
    ในยุคไพลโตซีน เขตกระจายพันธุ์ของสิงโตแพร่ไปไกลเหนือสุดถึงอังกฤษ และทางตะวันออกสุดถึงปาเลสไตน์ อาหรับ และอินเดีย


    สถานภาพ

    ปัจจุบันคาดว่ามีสิงโตในทวีปแอฟริกาเหลืออยู่ประมาณ 30,000 ถึง 100,000 ตัว ส่วนใหญ่อาศัยอยู่ในแอฟริกาตอนใต้และตะวันออก สิงโตในแอฟริกาตะวันตกเหลืออยู่น้อยและลดจำนวนลงอย่างรวดเร็ว ทั่วทั้งทวีป สิงโตที่อยู่นอกเขตคุ้มครองลดจำนวนลงเรื่อย ๆ
    ประเทศที่ยังมีสิงโตอยู่ทั่วไปได้แก่ บอตสวานา สาธารณรัฐแอฟริกากลาง เอธิโอเปีย เคนยา แทนซาเนีย ซาอีร์ และแซมเบีย สถานภาพในแองโกลา โมซับบิก ซูดาน และโซมาเลียยังไม่ทราบแน่ชัดเนื่องจากความไม่สงบในประเทศ คาดว่าในแองโกลายังมีสิงโตอยู่ทั่วไปแต่จำนวนน้อย ส่วนในโซมาเลียมีเป็นบางส่วนโดยเฉพาะทางตอนใต้ของประเทศ
    ในนามิเบีย ประชากรสิงโตในอุทยานแห่งชาติอีโตชามีประมาณ 300 ตัว บริเวณตะวันออกเฉียงเหนือของประเทศ 130-200 คาปรีวี 40-60 ตัว บริเวณตะวันตกเฉียงเหนือ 35-40 ตัว
    ในซิมบับเว อุทยานแห่งชาติฮวางเก 500 ตัว อุทยานแห่งชาติโกนารีเซา 200 ตัว หุบเขาแซมบีซีและเซบังเวคอมเพล็กซ์ 300 ตัว
    ในประเทศเบนิน บูร์กินาฟาโซ แคเมอรูนตอนเหนือ ประเทศชาดตอนใต้ คองโกตอนใต้ ไอวอรีโคสต์ตอนเหนือ กานาตอนเหนือ กีนีตอนเหนือ กีนีบิสเชาตะวันออก มาลีตอนใต้ ไนจีเรียตอนเหนือ และอูกันดา คาดว่ามีสิงโตอยู่กระจัดกระจายและจำนวนน้อย ในประเทศบุรุนดี มลาวี ไนเจอร์ รวันดา เซเนกัล และแอฟริกาใต้ ประชากรส่วนใหญ่จำกัดอยู่ในป่าอนุรักษ์
    ประเทศที่คาดว่าสิงโตสูญพันธุ์ไปแล้วหรือถือได้ว่าสูญพันธุ์ไปแล้วได้แก่ ประเทศจิบูตี กาบอง เลโซโท มอริเตเนีย สวาซิแลนด์ และโตโก
    ความหนาแน่นของประชากรสิงโต (นับเฉพาะสิงโตตัวเต็มวัยและวัยรุ่นต่อ 100 ตารางกิโลเมตร) ต่างกันในแต่ละพื้นที่ ในพื้นที่ซาวูตี ในอุทยานแห่งชาติโชเบ ของบอตสวานามีความหนาแน่นต่ำประมาณ 0.17 ส่วนในอุทยานแห่งชาติคาราฮารีเกมสบ็อก อุทยานแห่งชาติอีโตชา มีประมาณ 1.5-2 ตัวต่อ 100 ตารางกิโลเมตร ในพื้นที่คุ้มครองของทางแอฟริกาตะวันออกและตอนใต้มีประมาณ 3-18 ตัว พื้นที่ ๆ ความหนาแน่นสูงที่สุดคือในป่าสงวนแห่งชาติมาไซมาราของเคนยา มีประชากร 30 ตัวต่อ 100 ตารางกิโลเมตร ความหนาแน่นของสิงโตมีความสัมพันธ์ใกล้ชิดกับจำนวนของเหยื่อ พื้นที่หากินเฉลี่ย 26 ถึง 226 ตารางกิโลเมตรต่อฝูง เคยพบฝูงหนึ่งในอุทยานแห่งชาติอิโตชาที่มีพื้นที่หากินกว้างถึง 2,075 ตารางกิโลเมตร



    สถานภาพของสิงโตเอเชียทุกพันธุ์อยู่ในระดับอันตราย ไซเตสจัดเอาไว้ในบัญชีที่ 1 ส่วนสิงโตแอฟริกาอยู่ในบัญชีหมายเลข 2 ส่วนสิงโตพันธุ์บาร์บารีและสิงโตเคปได้สูญพันธุ์ไปแล้ว
    ทีมา ....... http://www.verdantplanet.org/catsoftheworld/cat_lion.php