เมื่อนักพัฒนายุคใหม่ไม่ค่อยสนใจพื้นฐาน FUNDAMENTAL

ทุกวันนี้มีเว็บไซต์และเว็บแอพลิเคชั่นมากมายเปิดใช้บริการบนอินเตอร์เน็ต ซึ่งล้วนแล้วแต่เต็มไปด้วยความสวยงาม ความน่าตื่นตาตื่นใจ ลูกเล่นที่แพรวพราว นั้นน่าจะนับว่าเป็นข่าวดีจริงๆที่บน Browser ของคุณเต็มไปด้วย User-interface ล้ำๆ ดูดี แต่ข้างในส่วนของ Back-end กลับแฝงไปด้วยความลึกลับเพราะนักพัฒนาขาดความเข้าใจอย่างลึกซึ้งในเรื่องของพื้นฐาน Fundamental

fundamental

ทุกวันนี้มีเว็บไซต์และเว็บแอพลิเคชั่นมากมายเปิดใช้บริการบนอินเตอร์เน็ต ซึ่งล้วนแล้วแต่เต็มไปด้วยความสวยงาม ความน่าตื่นตาตื่นใจ ลูกเล่นที่แพรวพราว นั้นน่าจะนับว่าเป็นข่าวดีจริงๆที่บน Browser ของคุณเต็มไปด้วย User-interface ล้ำๆ ดูดี แต่ข้างในส่วนของ Back-end กลับแฝงไปด้วยความลึกลับเพราะนักพัฒนาขาดความเข้าใจอย่างลึกซึ้งในเรื่องของพื้นฐาน Fundamental

When new developer doesn’t care fundamental

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

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

ทำไมถึงเป็นแบบนั้น เพราะว่าพวกเค้าไม่ได้สนใจเรียนรู้หรือพัฒนาตัวเองเพื่อที่จะทำความเข้าใจกับสิ่งที่เรียกว่า พื้นฐานหรือแก่นสารของมันอย่างจริงจัง แต่พวกเค้าเล็งไปยังจุดหมายปลายทางที่เป็นภาพฝันที่ชัดเจน ‘หิวแล้วอ่ะ กินเลยได้ไหม‘ นั้นเป็นเหตุผลให้คุณเห็นว่าการพัฒนาเว็บไซต์ เป็นเรื่องง่ายดาย ใครๆก็ทำกันได้ แต่พวกเค้าเหล่านั้นอาจจะไม่รู้เลยด้วยซ้ำว่า CSS ที่มี Property แบบ Float เอาไว้ทำอะไร Position แต่ละตัวมีความสัมพันธ์กันอย่างไร Flex-box คืออะไร หรือแม้แต่ไม่รู้วิธีที่จะ validate form HTML ให้ได้รับข้อมูลอย่างถูกต้องก่อนที่จะส่งมันไปหา Server-side Script ยิ่งเดี๋ยวนี้มี CSS Framework หรือแม้แต่ PHP Framework มากมายให้เลือกใช้งานกันด้วย เรียก class ออกมาสิได้แล้ว ไปนั่งเขียนอยู่ทำไม เรียก function ออกมาสิจะสนเงื่อนไขไปทำไม

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

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

  • HTML structure
  • HTML Elements
  • HTML Attributes
  • HTML Paragraphs and Text
  • HTML Lists
  • HTML Images
  • HTML Table
  • HTML Link
  • HTML Form
  • HTML Embedding
  • HTML Layout

CSS Fundamental

  • CSS Selectors
  • CSS Pseudo-class and element
  • CSS Typography
  • CSS Color
  • CSS The Box Model
  • CSS Borders
  • CSS Basic Page Layout
  • CSS Images
  • CSS Navigation
  • CSS Forms
  • CSS Tables
  • CSS Shadows
  • CSS Gradients
  • CSS Positioning & Layering
  • CSS Transforms & Animation
  • CSS Filters
  • CSS Shapes & Masks
  • CSS Print

JAVASCRIPT Fundamental

  • JS Variables
  • JS Operators
  • JS Data Types
  • JS Array again
  • JS Objects again
  • JS Functions
  • JS Events
  • JS Date
  • JS Loop
  • JS Regular Expressions
  • JS JSON
  • JS patterns

PHP Fundamental

  • PHP Install
  • PHP Code Style
  • PHP Variables
  • PHP Operators
  • PHP Date
  • PHP Loop
  • PHP Errors
  • PHP Arrays
  • PHP Includes and Requires
  • PHP File Handling
  • PHP Functions
  • PHP Filters
  • PHP Exception
  • PHP Cookies
  • PHP Sessions
  • PHP Objects
  • PHP With Database

Link: w3schools

Leave a Reply

Your email address will not be published. Required fields are marked *