fbpx

Dạo qua các trang web tìm việc làm ” lập trình viên website ” chúng ta thường thấy các nhà tuyển dụng thường đăng tuyển vị trí lập trình viên backend. Vậy lập trình viên back-end là gì? Để hiểu rõ các khái niệm này chúng ta cần tìm hiểu sự phân chia nghề nghiệp của một lập trình viên web:

Lập trình viên Front-End

Phần front-end của một trang web là phần tương tác với người dùng. Tất cả mọi thứ bạn nhìn thấy khi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, và JavaScript được điều khiển bởi trình duyệt máy tính của bạn.

Lập trình viên Back-End

Thế nhưng điều gì giúp phần front-end của một trang web có thể hoạt động được? Tất cả dữ liệu sẽ được lưu trữ ở đâu? Đó là phần việc của back end. Phần back end của một trang web bao gồm một máy chủ, một ứng dụng, và một cơ sở dữ liệu. Một lập trình viên back-end xây dựng và duy trì công nghệ mà sức mạnh của những thành phần đó, cho phép phần giao diện người dùng của trang web có thể tồn tại được.

Trong bài viết này sẽ chỉ trình bày 5 kỹ năng cần thiết mà bạn cần để có thể trở thành một lập trình viên backend chuyên nghiệp và sáng giá trong mắt các nhà tuyển dụng. 5 kỹ năng này đáp ứng cho 5 tiêu chí chính sau:

  1. Viết code html và css đúng chuẩn, hiển thị tốt trên các trình duyệt.
  2. Tạo ra được các chương trình phản hồi các dự liệu cho người dùng.
  3. Lưu trữ, hiển thị các dữ liệu được lưu trữ trong database.
  4. Cung cấp dữ liệu kết nối cho các ứng dụng mobile.
  5. Lưu trữ code, kiểm tra, đánh giá và nâng cấp mã nguồn khi cần thiết.

Skill 1: Có khả năng master trong một ngôn ngữ lập trình phía server nào đó.

Để có thể kết nối người dùng với dữ liệu đang được lưu trữ, web site cần phải được liên kết với hệ thống database qua một ngôn ngữ lập trình nào đó đại loại như: c#, php, python.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def main_page():
    return 'Welcome to my blog!'

app.run()

Trong ví dụ trên một chuỗi ký tự được in ra màn hình khi người dùng truy cập vào địa chỉ website

Lập trình backend

Lập trình backend

Để xuất ra màn hình duyệt web, tôi sử dụng ngôn ngữ Python và thư viên Flask để định nghĩa và chỉ thị máy tính xuất ra kết quả.

Skill 2: khả năng thiết kế database và sử dụng truy vấn SQL

Đa số thời gian của lập trình viên backend là viết mạ kết nối truy cấn dữ liệu từ database và cung cấp dữ liệu đó cho người dùng. Bạn có thể hình dùng database là một tập hợp nhiều biến thể của bảng tính trong excel. Việc truy xuất dữ liệu và hiển thị đúng nội dung, đúng thời điểm cho đúng người dùng được thông qua các câu lệnh truy vấn SQL. Như ví dụ dưới dây, tôi định nghĩa một bảng với tên “articles” có nhiệm vụ lưu trữ các bài viết trong một trang blog.

Backend database

Backend database

Để hiển thị các bài viết trong bảng này, tôi sử dụng Python kết hợp với các truy vấn SQL để lấy danh sách các bài viết

from flask import Flask
import sqlite3 as sql
app = Flask(__name__)

def articles():
    query = "SELECT * FROM articles"
    connection = sql.connect("test.db")
    connection.row_factory = sql.Row
    result = connection.cursor().execute(query)
    records = result.fetchall()
    connection.close()
    return records

@app.route('/')
def main_page():
    content = ""
    for record in articles():
       content += ("<p>%s: %s</p>" % (record["title"], record["content"]))
    return content

app.run()

Câu lệnh SELECT * FROM articles phía trên được viết bằng SQL. Dịch ra nghĩa để có thể hiểu được với chúng ta là ” chọn lấy tất cả các cột trong bảng articles”. Ngôn ngữ SQL rất quan trọng đối với lập trình viên web backend bởi vì đơn giản là đa số các hệ quản trị dữ liệu quan hệ đều sử dụng nó để viết lên các câu truy vần: MySql, SQL, PostgreSQL và nhiều nữa đều dùng SQL.

Skill 3: Kỹ năng sử dụng HTML

Là kỹ năng cơ bản dễ học, dễ áp dụng và quan trọng nhất đối với các lập trình viên web. Không có html thì bạn không thể tạo ra được các trình bày trên trình duyệt web của người dùng. Kết hợp giữa html và ngôn ngữ lập trình backend sẽ tạo ra được các ứng dụng web cho người sử dụng.

<!DOCTYPE html>
<html>
  <head>
    <meta charset='UTF-8' />
  </head>
  <body>
    {% for article in articles %}
      <h1>{{article["title"]}}</h1>
      <p>{{article["content"]}}</p>
    {% endfor %}
  </body>
</html>

Skill 4: JSON or XML APIs

Làm cách nào để kết nối ứng dụng mobile với nền tảng hiện có của hệ thống. Việc nắm giữ cách thức hoạt động, cấu trúc và cách tạo ra các dịch vụ cung cấp dữ liệu dưới dạng JSON hoặc XML sẽ là ưu điểm sáng giá của bạn trước mắt các nhà tuyển dụng.

Resfull api service

Resfull api service

Skill 5: Git

Làm cách nào để lưu trữ mã nguồn, quay lại đoạn code 1 tuần trước khi cập nhật, cũng như chia sẽ cộng tác nội dung mã nguồn với các thành viên khác trong cùng team. Học cách sử dụng một trình quản lý source là điều cần thiết cho bất kì backend develop nào. Git hiện giờ là công cụ số 1 cho vấn đề này, nếu bạn chưa biết về nó hãy tìm hiểu nó ngay nhé.

About the author

Kevin Dang

Hey there! My name is Kevin Dang, I am website, software, mobile app develop, web admin system. Expert living in Hồ Chí Minh (Việt Nam). I am very interested in digital marketing with: SEO, Facebook, Google Ads ... This blog is where I will share the experiences, techniques and knowledge I have learned.