วันพฤหัสบดีที่ 15 ธันวาคม พ.ศ. 2559

Python คืออะไร


      Python คือชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม กล่าวคือสามารถรันภาษา Python ได้ทั้งบนระบบ Unix, Linux , Windows NT, Windows 2000, Windows XP หรือแม้แต่ระบบ FreeBSD อีกอย่างหนึ่งภาษาตัว นี้เป็น OpenSource เหมือนอย่าง PHP ทำให้ทุกคนสามารถที่จะนำ Python มาพัฒนาโปรแกรมของเราได้ฟรีๆโดยไม่ต้องเสียค่าใช้จ่าย และความเป็น Open Source ทำให้มีคนเข้ามาช่วยกันพัฒนาให้ Python มีความสามารถสูงขึ้น และใช้งานได้ครบคุมกับทุกลักษณะงาน

จุดเด่นของภาษาไพทอน

ความเป็นภาษาสคริปต์

เนื่องจากไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง ได้มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ en:Windows Script Host ได้อีกด้วย

ไวยากรณ์ที่อ่านง่าย

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

ความเป็นภาษากาว

ไพทอนเป็นภาษากาว (Glue Language) ได้อย่างดีเนื่องจากสามารถเรียกใช้ภาษาโปรแกรมอื่นๆ ได้หลายภาษา ทำให้เหมาะที่จะใช้เขียนเพื่อประสานงานโปรแกรมที่เขียนในภาษาต่างกันได้

ไพทอนในแพลตฟอร์มต่าง ๆ

ผู้เขียนโปรแกรมภาษาไพทอนสามารถเลือกใช้แพลตฟอร์มได้ดังนี้

ซีไพทอน

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

ไจทอน

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

ไพทอนดอตเน็ต

Python.NET เป็นการพัฒนาภาษาไพทอนให้สามารถทำงานบนดอตเน็ตเฟรมเวิร์กของไมโครซอฟท์ได้ โดยโปรแกรมที่ถูกเขียนจะถูกแปลงเป็น CLR ปัจจุบันมีโครงการที่นำภาษาไพทอนมาใช้บน .NET Framework ของไมโครซอฟท์แล้วคือโครงการ IronPython

ไลบรารีในไพทอน

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

แพ็คเกจเพิ่มเติมที่น่าสนใจ

การนำไปใช้งาน

ด้วยความยืดหยุ่นของภาษาไพทอน และความเป็น ภาษาสคริปต์ทำให้มีการใช้งานไพทอนอย่างกว้างขวาง

ตัวแก้ไขสำหรับไพทอน

ผู้ใช้สามารถใช้ตัวแก้ไขข้อความทั่วไปในการแก้ไขโปรแกรมภาษาไพทอน นอกจากนั้นยังมี Integrated Development Environmentอื่นๆ ให้เลือกใช้อีก อาทิ
  • PyScripter: เป็นชุดเครื่องมือสำหรับพัฒนาภาษาไพธอน บนระบบปฏิบัติการวินโดวน์ ที่ให้ผู้ใช้สามารถนำไปใช้ฟรี (open source)
  • Python IDLE: มีอยู่ในชุดอินเตอร์พรีเตอร์อยู่แล้ว สามารถเลือกติดตั้งได้
  • PythonWin: เป็นตัวแก้ไขในชุดของ PyWin32
  • ActivePython: จาก ActiveState (ล่าสุด รุ่น 2.5.1 )
  • SPE (Stani's Python Editor) : เป็นตัวแก้ไขที่มาพร้อมกับตัวออกแบบยูสเซอร์อินเทอร์เฟส wxGlade และเครื่องมือสำหรับ Regular Expression มีระบบ Syntax Highlight และการจัดย่อหน้าตามวากยสัมพันธ์ของไพทอนให้อัตโนมัติพัฒนาขึ้นจากภาษาไพทอน ดาวน์โหลดใช้งานได้ฟรีที่ http://spe.pycs.net
  • WingIDE: ตัวแก้ไขที่มีระบบ Syntax Highlight และการจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติ แต่ไม่ใช่ฟรีแวร์
  • Komodo: ตัวแก้ไขที่มีระบบ Syntax Highlight, การจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติและเติมคำอัตโนมัติ เป็นตัวแก้ไขจาก ActiveState อีกตัวหนึ่ง ไม่ใช่ฟรีแวร์
  • Pydev: เป็น Python IDE สำหรับ Eclipse สามารถใช้พัฒนา Python, Jython และ Ironpython
  • PyCharm: เป็น Python IDE ที่สร้างขึ้นโดยบริษัท JetBrains แบ่งออกเป็น 2 เวอร์ชัน ได้แก่ Community Edition (ใช้งานฟรี) และ Professional Edition (เสียเงินสามารถทดลองใช้ได้ 30 วัน) โดย Professional Edition จะเพิ่มความสามารถในการตรวจ syntax ของเฟรมเวิร์กที่ได้รับความนิยมที่ใช้งานร่วมกับภาษาไพทอน เช่น Django, Flask, Google App Engine เป็นต้น

องค์กรสำคัญที่ใช้ไพทอน

ซอฟต์แวร์ที่เขียนด้วยไพทอน

  • บิตทอร์เรนต์ (BitTorrent)
  • Chandler โปรแกรมจัดการข้อมูลส่วนบุคคล
  • บางส่วนของ GNOME
  • บางส่วนของ Blender
  • Mailman โปรแกรมจัดการจดหมายกลุ่ม (เมลลิ่งลิสต์)
  • MoinMoin โปรแกรมวิกิ
  • Portage ส่วนจัดการแพกเกจของ Gentoo Linux
  • Zope แอปพลิเคชันเซิร์ฟเวอร์
  • เทอร์โบเกียร์ กรอบงานขนาดใหญ่สำหรับพัฒนาโปรแกรมประยุกต์บนเว็บ
  • Django กรอบงานขนาดใหญ่สำหรับพัฒนาโปรแกรมประยุกต์บนเว็บ

อ้างอิง

  1. "Python 3.5.0 Release". Python Software Foundation. สืบค้นเมื่อ 13 Sep 2015.
  2. "Python 2.7.10 Release". Python Software Foundation. Text "https://www.python.org/downloads/release/python-2710/ " ignored (help);
  3. "Programming Language Trends - O'Reilly Radar". Radar.oreilly.com. 2 August 2006. สืบค้นเมื่อ 17 July 2013.
  4. "The RedMonk Programming Language Rankings: January 2013 – tecosystems". Redmonk.com. 28 February 2013. สืบค้นเมื่อ 17 July 2013.
  5. ประวัติไพทอน

แหล่งข้อมูลอื่น

คู่มือ

    โค้ดของ Python ถูกสร้างขึ้นมาจากภาษาซี การประมวลผลจะทำในแบบอินเทอร์พรีเตอร์ คือจะประมวลผลไปทีละบรรทัดและปฏิบัติตามคำสั่งที่ได้รับ Python เวอร์ชันแรกคือ  เวอร์ชัน 0.9.0 ออกมาเมื่อปี 2533 และเวอร์ชันปัจจุบันคือ 2.5.2
    คุณลักษณะเด่นของภาษา Python
    1.สนับสนุนแนวแบบคิดออปเจกต์โอเรียนเทด หรือ OOP (Object Oriented Programming)
    2.เป็น Open Source
    3.โค้ดที่เขียนด้วย Python สามารถนำไปรันบนระบบปฏิบัติการได้หลากหลาย
    4.สนับสนุนเทคโนโลยี COM ของ Ms-windows
    5.Python รวมมาตรฐานการอินเตอร์เฟส Tkinter ซึ่งสนับสนุนบนระบบ X windows, Ms-windows และ Macintosh การใช้คำสั่ง Tkinter API ช่วยให้โปรแกรมเมอร์ไม่ต้องแก้ไขโค้ดเมื่อนำไปรันบนระบบปฏิบัติการอื่นๆ
    6.เป็น Dynamic typing คือ สามารถเปลี่ยนชนิดข้อมูลได้ง่ายและสะดวก
    7. มี Buil-in Object Types คือ โครงสร้างของข้อมูลที่สามารถใช้ได้ใน Python ประกอบด้วย ลิสต์, ดิกชันนารี, สตริง ที่ง่ายต่อการใช้งานและมีประสิทธิภาพสูง
    8.มีเครื่องมือต่างๆ มากมาย เช่น การประมวลผลเท็กซ์ไฟล์ การเรียงข้อมูล การเชื่อต่อสตริง การตรวจสอบเงื่อนไขของข้อความ การแทนคำ เป็นต้น
    9.มีมอดูลสำหรับจัดการ Regular Expresion
    10.มีมอดูลที่สร้างขึ้นจากนักพัฒนาสนับสนุนมากมาย ได้แก่ COM, Image, CORBA, ORBs, XML เป็นต้น
    11.จัดการหน่วยความจำอย่างอัตโนมัติ สามารถจักการพื้นที่หน่วยความจำที่ไม่ต่อเนื่องให้ทำงานได้อย่างมีประสิทธิภาพ
    12.อนุญาตให้ฝังชุดคำสั่งของ Python เอาไว้ภายในโค๊ดภาษา C/C++ ได้
    13.อนุญาตให้โปรแกรมเมอร์สร้าง Dynamic Link Libray (DLL) เพื่อใช้ร่วมกับ Python
    14.มีมอดูลสนับสนุนเกี่ยวกับเน็ตเวิร์ก โปรเซส เธรด regular, expression, xml, GUI และอื่นๆ
    15ประกอบด้วยมอดูลสำหรับสร้าง Internet Script และติดต่อกับอินเทอร์เน็ตผ่าน Sockets, และทำหน้าที่เป็น CGI Script ตรอดจนใข้งานคำสั่ง FTP , Glopher, XML และอื่นๆอีกมาก
    16.สามารถประมาลผมทางด้านวิยาศาสตร์ และวิศวกรรมศาสตร์ได้อย่างมีประสิทธิภาพ
    17.มีฟังก์ชันสนับสนุนฐานข้อมูล เช่น MySQL, Sybase, Oracle , Informix, ODBC และอื่นๆ
    18.มีไลบรารีสนับสนุนด้านการสร้างภาพกราฟฟิก เช่น ทำภาพเบลอ หรือภาพชัด หรือเขียนข้อความบนภาพ ตลอดจนบันถึกไฟล์ในรูปแบบต่างๆ ได้อย่างสะดวกและมีประสิทธิภาพ
    19.มีไลบรารีสนับสนุนด้านปัญยาประดิษฐ์
    20.มีไลบรารีสำหรับสร้างเอกสาร PDF โดยไม่ต้องติดตั้ง Acrobat Writer
    21.มีไลบรารีสำหรับสร้าง Shockwaves Flash (SWF) โดยไม่ต้องติดตั้ง Macromedia Flash

วันพฤหัสบดีที่ 8 ธันวาคม พ.ศ. 2559

การต่ออุปกรณ์ด้วยสาย LAN,สายตรง,สายครอส



ทราบกันหรือไม่ว่าระหว่างเครื่องคอมพิวเตอร์ กับเครื่องคอมพิวเตอร์นั้นรับ-ส่งข้อมูลกันได้อย่างไร
ใช่แล้ว ใช้สายเชื่อมต่อ บทความนี้จะมาเล่าถึงการใช้สายในการเชื่อมต่อระหว่างคอมพิวเตอร์ สอง
เครื่องเข้าในระบบเน็ตเวิร์ค การเตรียมสายในการเชื่อมต่อสายที่ใช้งานว่ามีอะไรบ้างไปดูรายละเอียด
กันเลย
การเชื่อมต่ออุปกรณ์ Computer และอุปกรณ์เครือข่าย (Hub, Switch และ Router) ด้วย
สาย LAN นั้น (ในยุกต์ที่อุปกรณ์ยังไม่มีระบบ Auto Cross/Auto Cross คืออะไร มีอธิบายครับ)
เราจำเป็นที่จะต้องรู้ว่าเราควรจะใช้สายตรงหรือสายครอสในการเชื่อมต่ออุปกรณ์อะไรกับอุปกรณ์อะไร
(มีในข้อสอบ CCNA ครับ) ซึ่งมีวิธีจำแบบง่ายๆ ที่หลายๆ คนใช้อยู่ (แต่มีจุดที่ต้องระวัง) คือ
อุปกรณ์เหมือนกัน ต่อกันใช้สาย LAN แบบครอส (Crossover Cable)
อุปกรณ์ต่างกัน ต่อกันใช้สาย LAN แบบตรง (Straight-Through Cable)
ซึ่งเป็นวิธีจำที่ใช้ได้ในระดับหนึ่ง ซึ่งหลายคนจะเหมารวมว่า "งั้นแสดงว่า Computer ต่อ Router ก็ ต้องเป็นสายตรงซิเพราะเป็นอุปกรณ์คนละชนิดกัน" แต่คำตอบที่ถูกต้องคือ Computer ต่อ Router ต้องเป็นสายครอสครับ ซึ่งจากรูปข้างล่าง เป็นรูปที่แสดงถึงการใช้สายครอสกับสายตรง เพื่อเชื่อมต่อ อุปกรณ์เครือข่ายอย่างถูกต้องครับ (ใช้อ้างอิงในการสอบ CCNA ได้นะครับ)

         

แล้วอะไรเป็นตัวที่บอกว่า Router และ Computer เป็นอุปกรณ์ชนิดเดียวกันล่ะ ก่อนอื่นเรามารู้จัก MDI และ MDI-X กันซักหน่อย

MDI หรือ Medium Dependent Interface : เป็นชนิดของ Ethernet port ซึ่งจะถูกใช้อยู่ บน Network Interface Card (NIC) หรือที่เราเรียกว่า Card LAN นั่นเอง ซึ่ง Card LAN นี้ก็ถูกเสียบอยู่ Computer อีกทีนั่นแหละ นอกจากนี้แล้ว Ethernet port บน Router เองก็เป็นชนิด MDI ด้วยเช่นกัน

MDIX หรือ MDI-X หรือ Medium Dependent Interface Crossover :
เป็นชนิดของ Ethernet port ที่อยู่บน Hub และ Switch นั่งเอง (อักษร X จะเป็นตัวแทนของ
คำว่า "Crossover" นั่นเอง)

ดังนั้นคำว่า

- อุปกรณ์เหมือนกัน ต่อกันใช้สาย LAN แบบครอส (Crossover Cable)
- อุปกรณ์ต่างกัน ต่อกันใช้สาย LAN แบบตรง (Straight-Through Cable)
จึงควรจะถูกใช้ในลักษณะนี้ครับ

- MDI ต่อกับ MDI เป็นชนิดเดียวกันใช้สายครอส (Crossover cable)
- MDI-X ต่อกับ MDI-X เป็นชนิดเดียวกันใช้สายครอส (Crossover cable)
- MDI ต่อกับ MDI-X เป็นคนละชนิดกันใช้สายตรง (Straight-Through Cable)

และจาก
- Port แบบ MDI ประกอบด้วยอุปกรณ์คือ Router และ Computer
- Port แบบ MDI-X ประกอบด้วยอุปกรณ์คือ Hub กับ Switch

ดังนั้นเมื่อสรุปการเชื่อมต่ออุปกรณ์แล้วจะได้ผลตรงกับรูปข้างบนครับ ซึ่งเป็นรูปในเอกสารการเรียนการ สอนของ CCNA ครับ

Auto Cross หรือ Auto MDI/MDI-X คืออะไร?

สำหรับอุปกรณ์ในเครือข่ายที่รองรับการทำ Auto Cross หรือ Auto MDI/MDI-X นั้นเมื่อนำสาย LAN มาต่อกันระหว่างอุปกรณ์แบบผิดหลักการที่กล่าวไปแล้ว (เช่น นำสาย LAN แบบตรงมาต่อกัน ระหว่าง Switch กับ Switch หรือระหว่าง Computer กับ Computer) หากอุปกรณ์เหล่านั้น รองรับการทำ Auto Cross หรือ Auto MDI/MDI-X แล้ว การเชื่อมต่อจะยังคงสามารถใช้งานได้ เนื่องอุปกรณ์ทั้งสองฝั่งจะทำการเรียนรู้กันและกัน และปรับตัวเองให้รองรับการเชื่อมต่อนั้นได้มาต่อ กันด้วยเรื่องของการเข้าหัว LAN ครับ (จริงๆ แล้วมีหลายคนเขาแชร์เรื่องนี้ไว้มากเหมือนกันตอนแรก ว่าจะตัด ออกแต่คิดๆ แล้วขอใส่เอาไว้ซักหน่อยไว้เป็นทางเลือกด้านข้อมูลครับ)

ก่อนอื่นเรามารู้จักสาย LAN กันซักหน่อยนะครับ สาย LAN ที่คนส่วนใหญ่รู้จักและใช้งานอยู่นั้นมีชื่อ เรียกอย่างเป็นทางการว่า สาย UTP หรือสาย CAT5 นั่นเอง ซึ่งผมขออธิบายคำว่า UTP และ STP
เชิงเปรียบเทียบก่อนดังนี้ครับ

สาย UTP (Unshielded Twisted Pair Cable) เป็นสายแบบตีเกลียวเป็นคู่ๆ ทั้งหมดสี่คู่โดย ไม่มีเกราะป้องกันสัญญาณรบกวนจากภายนอก  (Foil Shield) โดยดูได้ตามรูปข้างล่างครับ


สาย STP (Shielded Twisted Pair Cable) เป็นสายแบบตีเกลียวเป็นคู่ๆ ทั้งหมดสี่คู่ ซึ่งมี เกราะป้องกันสัญญาณรบกวนจากภายนอก  (Foil Shield)  โดยดูได้ตามรูปข้างล่างครับ



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

แล้วคำว่า CAT5 คืออะไรล่ะ? คำว่า CAT5 จริงๆ แล้วมาจากคำเต็มๆ ว่า Category 5 หรือสาย ประเภทที่ 5 ครับ (ผมขอข้ามสาย CAT1 ถึง CAT4 ไปนะครับ) โดยจะขออธิบายสาย CAT5, CAT5e และ CAT6 พร้อมรูปตัวอย่างดังนี้ครับ

สาย CAT5 (Category 5 cable) เป็นสายที่ถูกผลิดขึ้นมาตามมาตรฐานของ Fast Ethernet (100 Mbit/sec) โดยเฉพาะ เหมาะที่จะใช้งานกับ Ethernet Network ที่มี speed 100 Mbit/ sec (Interface แบบ Fast Ethernet) เป็นหลักแต่หากจะนำมาใช้กับ Ethernet Network
ที่มี speed 1,000 Mbit/sec หรือ 1 Gbit/sec (Interface แบบ Gigabit Ethernet) นั้นก็พอใช้ได้ครับ แต่ประสิทธิภาพอาจจะไม่ดีเท่าไหร่ครับ (ซึ่งสายแบบ CAT5 ก็คือสายแบบ UTP นั่นเองครับ) โดยมีรูปดังข้างล่างครับ

                      

สาย CAT5e (Category 5 enhanced cable) เป็นสายที่มีการพัฒนาขึ้นมา (enhance) จากสาย CAT5 เดิมครับ ซึ่งมีประสิทธิภาพมากกว่า (เพื่อให้สามารถรองรับ Ethernet Network แบบ Gigabit Ethernet ได้) ซึ่งใช้งานได้ดีกับ Ethernet Network ทั้งแบบ 100 Mbit/sec (Fast Ethernet) และแบบ 1,000 Mbit/sec (Gigabit Ethernet) ซึ่งแน่นอนว่าสายแบบ CAT5e ย่อมจะแพงกว่า CAT5 โดยมีรูปดังข้างล่างครับ

               

สาย CAT6 (Category 6 cable) เป็นสายที่ถูกผลิตขึ้นมาตามมาตรฐานของ Gigabit Ethernet โดยเฉพาะครับ ซึ่งแน่นอนครับ เหมาะกับ Ethernet Network แบบ Gigabit Ethernet แต่อย่างไรก็ตามสาย CAT6 นี้ก็ยังสามารถนำไปใช้งานกับ Ethernet Network
แบบ 100 Mbit/sec ได้ครับ โดยมีรูปดังข้างล่างครับ

      

หมายเหตุ รูปของสาย CAT5, CAT5e และ CAT6 ที่แสดงนี้เป็นภาพตัวอย่างเท่านั้น ดังนั้นเวลาไป ซื้อสาย สามารถสังเกตที่ข้างๆ สายได้ครับ โดยจะมีเขียนเอาไว้ว่าเป็นสาย Category อะไรครับ

ทีนี้มาถึงการเข้าหัว LAN กันครับ โดยขั้นแรกเราต้องรู้วิธีการนับขา (pin) ของหัว LAN กันก่อนครับ
ดังรูปข้างล่าง

                                 

การเข้าหัว LAN มีมาตรฐานการเข้าอยู่สองแบบดังนี้ครับ

- แบบ TIA/EIA 568A ดังรูปข้างล่าง

                       

- แบบ TIA/EIA 568B ดังรูปข้างล่าง


                      

การเข้าหัว LAN สำหรับทำสายตรง (Straight-Through Cable)
การเข้าหัว LAN สำหรับทำสายตรงนั้นมีสองแบบดังนี้ครับ
แบบที่ 1 การเข้าหัวทั้งสองฝั่งเป็นแบบ TIA/EIA 568A ดังรูปข้างล่าง

 
         

แบบที่ 2 การเข้าหัวทั้งสองฝั่งเป็นแบบ TIA/EIA 568B ดังรูปข้างล่าง

 
         

การเข้าหัว LAN สำหรับการทำสายครอส (Crossover Cable)
การเข้า LAN สำหรับการทำสายครอสนี้สามารถทำได้ง่ายๆ คือ ฝั่งหนึ่งเข้าหัวตามมาตรฐาน TIA/EIA 568A และอีกฝั่งหนึ่งเข้าหัวตามมาตรฐาน TIA/EIA 568B ดังรูปข้างล่างครับ

              
หรือเจาะลึกลงไปอีกหน่อยคือ
- Pin 1 เข้า Pin 3 ของอีกฝั่ง
- Pin 2 เข้า Pin 6 ของอีกฝั่ง
- Pin 3 เข้า Pin 1 ของอีกฝั่ง
- Pin 6 เข้า Pin 2 ของอีกฝั่ง
ดังรูปข้างล่างครับ

    
                      

หากไม่เข้าหัว LAN ตามมาตรฐานจะได้ไหม?

จากประสบการณ์ที่เคยทำงานมาในช่วงแรกๆ ของการเข้าวงการ ผมเคยเข้าหัว LAN แบบตามใจฉัน
คือ ถ้าเป็นสายตรง ก็เข้าหัวให้ทั้งสองฝั่งเหมือนๆ กันก็พอ และถ้าเป็นสายครอส ก็เข้าหัวแบบ 1 เข้า
3 และ 2 เข้า 6 อะไรประมาณนี้

ผลคือ ใช้งานได้ครับ แต่....
หลังจากที่ผมเสียบสาย LAN ดังกล่าวเข้า Interface LAN แบบ 100 M ทั้งสองฝั่ง ผลคือ
ผมใช้ ได้แค่ 10 M ครับ โดย Card LAN ทำการปรับตัวเองให้กลายเป็น 10 M อย่างอัตโนมัติ (ผลมันแสดงออกบน Windows เลยครับว่าให้ใช้ได้แค่ 10 M)

ทำไมจึงเป็นเช่นนั้น?
เราลองมาสังเกตที่สาย LAN กันสักหน่อยครับ จะเห็นได้ว่าสาย LAN จะมีสายทองแดงข้างในทั้งหมด 8 เส้น แบ่งเป็น 4 คู่ โดยแต่ละคู่จะมีการพันกันเป็นเกลียว (มันจึงชื่อว่า Twisted Pair ครับ) และที่ สายแต่ละคู่จำเป็นต้องพันกันเป็น เกลียวนั้นก็เพื่อป้องกันไม่ให้สนามแม่เหล็กที่เกิดจากกระแสสัญญาณ มากวนกันเองครับ (พันกันเป็นเกลี่ยวเพื่อให้สนามแม่เหล็กหักล้างกันเอง ไม่มากวนกันเอง) ดังนั้นหาก เราไม่เข้าหัว LAN ตามมาตรฐานแล้ว การหักล้างกันของสนามแม่เหล็กอาจจะไม่สมบูรณ์ กลายเป็น สัญญาณที่มารบกวนกันเอง ทำให้เกิด loss ภายในสาย และท้ายสุด Card LAN จำเป็นต้องปรับ speed ลงจาก 100 M ให้เป็น 10 M อย่างอัตโนมัติ เพื่อให้เรายังคงสมารถใช้งานได้ครับ

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...