เรื่องพื้นฐานที่ต้องรู้สำหรับ Back End Developer


เรื่องพื้นฐานที่ต้องรู้สำหรับ Back End Developer

สำหรับคนที่อยากเริ่มต้นศึกษาและอยากเดินสายเป็น Programmer ซึ่งต้องบอกก่อนเลยว่า Programmer แบ่งออกมาได้หลายสาย ทั้งคนที่ทำ Mobile App, Web, Network, Admin, Dev Ops และหนึ่งในนั้นก็คือ Back-end ซึ่งทำหน้าที่ออกแบบระบบหลังบ้านของ Program 
 

1. เรียนรู้เรื่องของ Internet ว่าทำงานยังไง

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

 

2. เรียนรู้เรื่องของ HTTP/HTTPS

HTTP (Hypertext Transport Protocol) เป็นโปรโตคอลสำหรับสื่อสารจะใช้เมื่อเรียกโปรแกรมบนเบราว์เซอร์อย่าง Chrome, Firefox, Internet Explorer เพื่อเรียกดูข้อมูลหรือเว็บนั้นๆ

HTTPS (Hypertext Transfer Protocol over Secure Socket Layer หรือ Http over SSL) คือการเพิ่ม S หรือ Secure เข้ามาเพิ่มความปลอดภัยให้มากขึ้น

 

3. การทำงานร่วมกับ Working on browsers

 

4. การทำงานกับ DNS

DNS (Domain Name System) ระบบการตั้งชื่อโดเมน หรือ ดีเอ็นเอส เป็นระบบที่ใช้เก็บข้อมูลของชื่อ ซึ่งใช้ในเครือข่ายขนาดใหญ่อย่างอินเทอร์เน็ต โดยข้อมูลที่เก็บมีหลายอย่าง

 

5. Domain & Hosting

โดเมน(Domain Name) คือ ชื่อเว็บไซต์

โฮสติ้ง(Hosting) คือ พื้นที่เก็บข้อมูลของเว็บไซต์

 

6. Operating Systems 

ระบบปฏิบัติการ หรือ โอเอส เป็นระบบซอฟต์แวร์ที่ทำหน้าที่จัดการอุปกรณ์คอมพิวเตอร์และแหล่งซอฟต์แวร์และบริการโปรแกรมคอมพิวเตอร์

 

7. Memory management คืออะไร

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

 

8. Terminal usage

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

 

9. Process management

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

 

10. Threads & Concurrency

ตัวที่จะช่วยลดงานช่วยให้เราสามารถทำงานได้ไวขึ้นก็ต้องไปศึกษาการทำงานให้ดี

 

11. พื้นฐานการจัดการ I/O management

ทั้ง Input / Output

 

12. Basic concepts of networking

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

 

ที่สำคัญต้องรู้ส่วนงานในฝั่ง Front End ด้วยมีดังนี้

1. ภาษา Programing

(เลือกภาษาที่เราถนัด)

- Javascript

- Java

- Python

- Go

- Rust

- C#

- Ruby 

- PHP

- อื่นๆ

 

2. Version Control System

เป็นเครื่องมือที่ช่วยเหลือ Back end และ Front end และสามาถจัดการการเปลี่ยนแปลงต่าง ๆ ที่เกิดขึ้นได้ และสามารถระบุตัวตนได้ว่า Code นี้ใครเป็นคนแก้ไข และมีการแก้ไขเมื่อไหร่ตอนไหน ช่วยให้เราสามารถทำงานร่วมกันภายในทีมได้เป็นอย่างดี มีหลายตัวเราสามารถเลือกใช้ได้ทั้ง Git, Github, GitLab, Bitbucket

 

3. Database 

เปรียบเสมือนสมอง เป็นส่วนที่ช่วยให้ Web หรือ App เป็น Dynamic ไว้เพื่อเก็บข้อมูลต่าง ๆ การดึงข้อมูล การคืนข้อมูล ฐานข้อมูลมี 2 แบบคือ Relational Databases และ NoSQL Databases 

 

4. APIs (Application Programming Interfaces)

เปรียบเสมือย Service หรือคนกลาง สร้าง APIs ในการเชื่อมต่อให้กับ Application ต่าง ๆ หรือ Provide Service ต่าง ๆ เพื่อที่จะให้ Front End นำ APIs ตัวนี้ไปใช้งานได้ 

ส่วนที่ต้องรู้ของ APIs คือ REST, JSON, SOAP, GSON, XML-RPC และ AES

 

5. Caching หรือการเก็บแคช

จัดเก็บสำเนาหรือ Copy ทรัพยากรณืที่กำหนดในแคชได้หรือเรียกอีกอย่างว่าตำแหน่งที่เก็บข้อมูลชั่วคราว เป้าหมายในหารแคชคือการดึงข้อมูล การแคชก็มี 5 ตัว CDN, Server Side, Client Side, Redis 

 

6. Testing หรือการ Test 

การบวนการตรวจสอบฐานข้อมูลหรือ Server side ของ Web App ของเรา Yest เพื่อกำหนดประสิทธิภาของชั้นข้อมูลและทำให้แน่ใจเราไม่มีความเสียหายของชั้นข้อมูล และตัวที่ใช้ตรวจสอบส่วนมากจะเป็น Integration Testing, Unit Testing, Functional Testing

 

7. Authentication Method 

หรือวิธีการรับรองความถูกต้องใช้งานการตรวจสอบ Verify ในส่วนของ User หรืออุปกรณืต่าง ๆ เพื่อให้เข้าถึง Resouce, Reda หรือ Application 

Method ที่นักพัฒนาส่วนใหญ่ใช้คือ MD5, SHA, Scrypt, Bcrypt, RSA

 

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

 

fern
share

You are staring at the professional

Dont’ hesitate and tell us about your project

Top