--------------- <> -----------------
--- KHOA HỌC - CÔNG NGHỆ - GIÁO DỤC - VIỆC LÀM ---
--- Học để đi cùng bà con trên thế giới ---

Tìm kiếm trong Blog

Phân tích dữ liệu (1) - Tổng quan

 I. Tổng quan

I.1. Dữ liệu là gì?

Dữ liệu (data) là một tập hợp các giá trị rời rạc hoặc liên tục dùng để truyền tải thông tin, mô tả số lượng, chất lượng, sự kiện, số liệu thống kê, hoặc đơn giản chỉ là một chuỗi ký hiệu mà ý nghĩa của nó tùy thuộc vào cách thức diễn giải.

Dữ liệu được thể hiện ở nhiều dạng khác nhau, ví dụ dưới dạng số, ký tự, kí hiệu, màu sắc, hình ảnh, âm thanh, video.

Ví dụ về dữ liệu: nội dung văn bản trên các trang web, các bảng số liệu trong excel, hình ảnh có chứa 3 bóng đèn tín hiệu giao thông, tập tin video lấy về từ camera an ninh.

Dữ liệu ở dạng thô thường không mang nhiều ý nghĩa. Do vậy, chúng ta cần phải xử lý nó (với sự trợ giúp của máy tính, phần mềm) để rút ra được nhiều thông tin, tri thức, nhằm ứng dụng vào công việc và cuộc sống.

Chúng ta hãy quan sát quá trình xử lý dữ liệu ở hình sau: 



- Từ dữ liệu (data), chúng ta sẽ rút ra được thông tin (information), tri thức (knowledge), từ đó sẽ đưa ra được các quyết định khôn ngoan (wisdom).

- Dữ liệu luôn chứa những thứ dư thừa, do vậy cần nhiều đĩa cứng (hard disk) để lưu trữ hơn so với thông tin, và tri thức.

- Dữ liệu, thông tin và tri thức là những thứ đã xảy ra (past); dựa trên những thứ đã xảy ra để dự đoán cho tương lai (future).

Ví dụ:

Ứng dụng

Dừng xe

Tập trung nhiều vào mặt hàng sinh tố

Tri thức

Đèn đỏ thì không được phép đi

Mọi người thích sinh tố hơn cà phê

Thông tin

Đèn đỏ giao thông ở ngã tư bật sáng

Bán sinh tố được nhiều hơn cà phê

Dữ liệu

Màu đỏ

Số lượng bán:

- Cà phê: 5 ly

- Sinh tố: 30 ly

I.2. Phân tích dữ liệu là gì?

Phân tích dữ liệu (data analysis) là quá trình kiểm tra, làm sạch, chuyển đổi, và mô hình hóa dữ liệu; để tìm ra các thông tin hữu ích, các kết luận và hỗ trợ quá trình ra quyết định của doanh nghiệp. 

Dựa trên kết quả của quá trình phân tích dữ liệu, các quyết định của doanh nghiệp sẽ có thêm cơ sở thực tế, thay vì dựa hoàn toàn vào cảm tính.

Trong tiếng Anh cũng có một từ khác là data analytics, mà khi dịch ra tiếng Việt cũng là “phân tích dữ liệu”, tuy nhiên data analytics có thêm bước đi thu thập dữ liệu. Nghĩa là data analytics bao hàm luôn data analysis. Chưa biết dùng 2 từ tiếng Việt nào để phân biệt 2 cụm từ data analytics và data analysis.

Người làm nghề phân tích dữ liệu được gọi là chuyên viên phân tích dữ liệu (data analyst).

Muốn trở thành một chuyên viên phân tích dữ liệu cần học gì?

- Tìm hiểu về nghề phân tích dữ liệu xem có phù hợp với bản thân không

- Phân tích dữ liệu bằng Excel

- Thống kê trong phân tích dữ liệu

- SQL trong phân tích dữ liệu

- Các công cụ trực quan hóa dữ liệu (visualization tool)

- Python trong phân tích dữ liệu

I.3. Những tố chất, kỹ năng cần có để làm nghề

- Tư duy logic

- Khả năng tập trung

- Khả năng giao tiếp, thuyết trình

- Cẩn thận, tỉ mỉ, bảo mật

- Khả năng học kiến thức mới

- Toán thống kê cho phân tích dữ liệu

- Sử dụng thành thạo các công cụ, phần mềm để phân tích dữ liệu, trực quan hóa dữ liệu, báo cáo

- Kỹ năng lập trình

I.4. Xem và đọc thêm

[1] Phân biệt analytics và analysis: https://200lab.io/blog/su-khac-biet-giua-data-analytics-va-data-analysis/

[2] Analytics and analysis: https://www.questionpro.com/blog/data-analytics-vs-data-analysis

[3] Lộ trình học để trở thành một data analyst: https://www.youtube.com/watch?v=ZqvTVRWM5i4

I.5. Bài tập và thực hành

Bài 1. Liệt kê các nguồn tài liệu để học DA (data analysis)


- Tìm hiểu về nghề phân tích dữ liệu


- Phân tích dữ liệu bằng Excel


- Toán Thống kê trong phân tích dữ liệu


- SQL trong phân tích dữ liệu


- Các công cụ trực quan hóa dữ liệu (visualization tool)


- Python trong phân tích dữ liệu



Bài 2. Khảo sát nhu cầu tuyển dụng, mức lương của một DA tại Việt Nam

I.6. Câu hỏi ôn tập

Câu 1. Thuật ngữ nào có nghĩa là chuyên viên phân tích dữ liệu?

A. Data analysis

B. Data analytics

C. Data analyst

D. Data scientist

Câu 2. Công việc của bạn là xử lý trên dữ liệu có sẵn, nhằm rút ra các thông tin, kết luận hữu ích. Thuật ngữ tiếng Anh của việc này là gì?

A. Data analysis

B. Data analytics

C. Data analyst

D. Data scientist

Câu 3. Để trở thành một chuyên viên phân tích dữ liệu, bạn cần phải học những nội dung sau. Phát biểu nào không đúng?

A. Tìm hiểu về nghề phân tích dữ liệu

B. Excel, SQL

C. Toán rời rạc

D. Python, Toán thống kê, Công cụ trực quan hóa dữ liệu

Câu 4. Những tố chất, kỹ năng cần có của một người làm nghề phân tích dữ liệu. Phát biểu nào không đúng?

A.  Tư duy logic, Khả năng tập trung, Kỹ năng lập trình, Toán thống kê cho phân tích dữ liệu

B. Kỹ năng lãnh đạo

C. Khả năng học kiến thức mới, Sử dụng thành thạo các công cụ, phần mềm để phân tích dữ liệu, trực quan hóa dữ liệu, báo cáo

D. Cẩn thận, tỉ mỉ, bảo mật, Khả năng giao tiếp, thuyết trình

-----

Cập nhật: 12/3/2024

Bài sau: Phân tích dữ liệu (2) - Excel cơ bản và nâng cao (1)

-----

JavaScript từ cơ bản đến nâng cao (1) - Tổng quan

 

Chương 1. Tổng quan về JavaScript

Chương này sẽ giới thiệu về ngôn ngữ lập trình JavaScript, cũng như thiết lập môi trường để lập trình với ngôn ngữ này. Chúng ta cũng sẽ làm quen với việc lập trình và viết một số chương trình bằng JavaScript.

Chương này đề cập tới các nội dung sau:

  • Lập trình là gì?

  • Lịch sử của JavaScript

  • Các công cụ cần thiết để lập trình với JavaScript

  • Cài đặt Node.js

  • Chạy JavaScript ở chế độ dòng lệnh

  • Chương trình JavaScript đầu tiên

  • JavaScript trong trình duyệt web

  • Tương thích ngược (graceful degradation) và tối ưu từng bước (progressive enhancement)

  • Một chương trình JavaScript phức tạp hơn

  • Làm một dự án đơn giản

1.1 Lập trình

Lập trình là chỉ dẫn cho máy tính làm việc theo ý bạn.Hiểu một cách đơn giản, chương trình máy tính là một chuỗi các chỉ dẫn, giúp máy tính biết cách thực hiện một công việc. Tuy nhiên, không may là máy tính không thể hiểu được ngôn ngữ của con người, chúng chỉ biết tới những con số 1 và 0. Con người đã viết ra các chương trình đầu tiên cho máy tính bằng các thẻ đục lỗ (punched card), muốn biểu diễn số 1 thì đục một lỗ, nếu không đục lỗ thì là số 0.

Các chương trình máy tính đầu tiên được viết bằng mã máy (machine code) và hợp ngữ (assembly). Đây là các ngôn ngữ lập trình bậc thấp (low-level programming language), gắn liền với phần cứng máy tính, rất khó để lập trình, mã nguồn khó hiểu và phụ thuộc vào kiến trúc của tập lệnh máy tính. Tuy nhiên, nếu bạn quan tâm tới tốc độ xử lý của chương trình thì mã máy hoặc hợp ngữ là lựa chọn tốt nhất.

Ngược lại, các chỉ dẫn (lệnh) trong ngôn ngữ lập trình bậc cao có tính trừu tượng nhiều hơn (gần với ngôn ngữ giao tiếp của con người hơn), điều này giúp con người có thể đọc và viết mã dễ dàng hơn. Chúng ta có thể sử dụng các ngôn ngữ như C, C++, hoặc Java để viết các chương trình, sau đó biên dịch chương trình thành mã máy và thực thi. Chương trình viết bằng các ngôn ngữ này thường chạy rất nhanh, do vậy, nó thích hợp cho các phần mềm thương mại, hoặc các chương trình trò chơi video cần tốc độ xử lý cao. Hầu hết các chương trình ứng dụng di động (native app) cũng được viết bằng các ngôn ngữ lập trình bậc cao.

Ngôn ngữ kịch bản (scripting language) cũng là ngôn ngữ lập trình bậc cao, chúng là ngôn ngữ kiểu thông dịch (interpreted), nghĩa là khi chạy chương trình chúng mới được dịch sang mã máy. Mặc dù các trình thông dịch (interpreter) đang ngày càng phức tạp hơn, xóa dần lằn ranh phân biệt giữa ngôn ngữ lập trình kiểu thông dịch và biên dịch, nhưng các chương trình viết bằng ngôn ngữ lập trình kiểu thông dịch vẫn có tốc độ xử lý chậm hơn so với kiểu biên dịch.

1.2 Về JavaScript

Trong quyển sách này, chúng ta sẽ học về ngôn ngữ lập trình JavaScript, thường được gọi là ngôn ngữ của web.

Gần như tất cả các trình duyệt đều có thể chạy JavaScript, nhờ đó, nó trở thành một trong những ngôn ngữ lập trình phổ biến nhất thế giới. Để học JavaScript, đơn giản, bạn chỉ cần một trình soạn thảo văn bản thô (text editor) và trình duyệt web là đủ. Với JavaScript, bạn rất dễ để làm quen, nhưng rất khó để hiểu hết các tính năng của nó, bởi đây là một ngôn ngữ có nhiều tính năng độc đáo và thú vị. Tuy nhiên, khi bạn đã thành thạo với nó rồi, thì bạn sẽ thấy nó là một ngôn ngữ ấn tượng, linh hoạt và có thể tạo ra các ứng dụng lớn.

JavaScript là ngôn ngữ kịch bản, bậc cao, được biên dịch và thông dịch tại thời điểm thực thi. Do đó, nó cần có chương trình dịch (engine, gọi tắt là trình dịch) để thông dịch mã nguồn và thực thi nó. Các trình dịch này có trong các trình duyệt web như Firefox, Chrome hoặc Safari. Ngoài trình duyệt, bạn cũng có thể sử dụng Google V8 để thực thi mã JavaScript. Các trình thực thi JavaScript hiện đại có lồng kĩ thuật biên dịch động (hay biên dịch Just-In-Time, gọi tắt là JIT) vào quá trình thông dịch, giúp chương trình chạy nhanh hơn.

JavaScript cũng là một ngôn ngữ động (dynamic language), vì vậy trong lúc thực thi chương trình, nhiều thành phần của chương trình vẫn có thể thay đổi, nhiều thao tác liên quan đến quá trình thông dịch/biên dịch vẫn được thực hiện (như kiểm tra kiểu dữ liệu của biến, chúng ta sẽ tìm hiểu ở phần sau). Ví dụ với ngôn ngữ C++ thì những thao tác này phải được hoàn thành trong giai đoạn biên dịch mã nguồn.

1.3 Lịch sử JavaScript

Ban đầu, hệ thống web (WWW) chỉ gồm các trang web được kết nối với nhau bằng các liên kết (hyperlinks). Tuy nhiên, người dùng thì lại muốn tương tác được với các trang web. Vậy là Netscape (một công ty cung cấp trình duyệt thời kỳ đầu) đã yêu cầu Brendan Eich, là một nhân viên công ty, phát triển một ngôn ngữ lập trình mới cho trình duyệt Navigator của họ. Yêu cầu này phải được thực hiện gấp rút vì sự cạnh tranh gay gắt giữa Netscape và Microsoft.

Chỉ trong 10 ngày, Eich đã tạo ra được một ngôn ngữ lập trình mới (mặc dù mới chỉ ở dạng bản mẫu - prototype). Để làm được như vậy, anh ấy đã vay mượn nhiều thành tố từ các ngôn ngữ khác, gồm AWK, Java, Perl, Scheme, HyperTalk và Self. Mặc dù đây là một thành tích đáng nể, tuy nhiên, do áp lực buộc phải ra mắt sớm đã dẫn tới ngôn ngữ vẫn có những điểm kỳ quặc và mắc các lỗi mà cho đến tận bây giờ vẫn hầu như không thể khắc phục được một cách trọn vẹn.

Khi mới được tạo ra, họ đặt tên ngôn ngữ này là Mocha, sau đó đổi tên thành LiveScript, rồi lại được đổi tên thành JavaScript để “ăn theo” sự nổi tiếng của ngôn ngữ Java do Sun Microsystems phát triển. Thoạt nghe cái tên JavaScript, mọi người thường tưởng đây là bản rút gọn của ngôn ngữ Java. Tuy nhiên, hai ngôn ngữ này không liên quan gì đến nhau, dù cú pháp của JavaScript cũng có những điểm tương đồng với Java.

JavaScript xuất hiện lần đầu trong trình duyệt Navigator (ver 2.0) vào năm 1995. Một năm sau, Microsoft đã phân tích hoạt động của JavaScript (reverse-engineered - phân tích chương trình để hiểu cấu trúc, do không có bản mã nguồn gốc) để tạo ra một phiên bản riêng của họ, đặt tên là JScript để tránh vi phạm bản quyền với tên Java của Sun Microsystems. JScript được tích hợp vào trình duyệt Internet Explorer (ver 3.0), nó gần như giống hệt JavaScript, cả các lỗi và các điểm kỳ quặc. JScript có thêm một số tính năng chỉ dành riêng cho Internet Explorer. Thời điểm này, Microsoft cũng tạo ra một ngôn ngữ kịch bản khác cho Internet Explorer có tên là VBScript.

JavaScript (và JScript) ngay lập tức nổi tiếng. Đây là ngôn ngữ dễ học, dễ tiếp cận, do vậy nó đã dẫn đến sự bùng nổ trong việc tạo ra các trang web động, các trang web có tính tương tác. Thật không may, dễ tiếp cận cũng là một cái dở, kết quả là có nhiều người viết ra các đoạn mã mà chẳng biết nó dùng vào việc gì; hoặc người ta dễ dàng sao chép mã nguồn trên web và thường sử dụng sai cách, dẫn đến xuất hiện nhiều tình huống dở khóc dở cười trên các website.

JavaScript cũng bị mang tiếng xấu bởi người ta thường sử dụng nó để tạo ra các cửa sổ quảng cáo, xuất hiện đột ngột khi duyệt web, gây khó chịu cho người dùng; hoặc tạo ra các đoạn mã để âm thầm thăm dò, thu thập thông tin trình duyệt.

1.4 Cuộc đua giữa các trình duyệt

Tại thời điểm Netscape Navigator 4 và Internet Explorer 4 ra đời, JavaScript đã rất phổ biến. Microsoft đã quảng cáo rầm rộ về thuật ngữ Dynamic HTML (viết tắt là DHTML), ám chỉ về việc sử dụng JavaScript giúp HTML có khả năng tương tác và năng động hơn. Nhận thấy tiềm năng này, cả Netscape và Microsoft đều cố gắng bổ sung thêm những tính năng độc quyền mới, dẫn đến mỗi trình duyệt sử dụng một cú pháp lập trình riêng. Cuộc đua bổ sung thêm các tính năng mới cho trình duyệt được mọi người gán cho cái tên là “chiến tranh giữa các trình duyệt” (browser wars). Đáng tiếc, mặt trái của cuộc đua này là, với mỗi chức năng, các lập trình viên luôn phải viết 2 phiên bản mã nguồn cho mỗi trình duyệt. Các lập trình viên chuyên nghiệp thường coi JavaScript chỉ là một ngôn ngữ “chơi bời”, không phù hợp với các công việc lập trình nghiêm túc. Tuy nhiên, đây là nhận định không công bằng, vấn đề không phải là ngôn ngữ lập trình mà là cách sử dụng nó.

Cuối cùng, Microsoft đã thắng trong cuộc chạy đua, Internet Explorer đã trở thành trình duyệt vượt trội với nhiều ưu thế. Mọi người ngày càng quan tâm nhiều hơn tới các “tiêu chuẩn” (standard), phần lớn nhờ vào những nỗ lực của Dự án chuẩn hóa Web (Web Standards Project - WaSP). Các nhà phát triển và nhà cung cấp trình duyệt bắt đầu hợp tác và áp dụng các tiêu chuẩn do Hiệp hội web (W3C - World Wide Web Consortium) và ECMA đề ra.

Các trình duyệt mã nguồn mở như Firefox (ra mắt 2002), Safari (2003), Chrome (2008), đều hỗ trợ mạnh mẽ các tiêu chuẩn, điều này giúp các nhà phát triển có thể tạo ra các ứng dụng JavaScript tốt hơn, hoạt động nhất quán trên các trình duyệt khác nhau.

1.5 Web 2.0

Vào năm 2005, các trang Google Maps, Flickr và Gmail bắt đầu xuất hiện, chúng là các minh chứng cho khả năng tạo ra các ứng dụng web phong phú, các chức năng hoạt động giống như một Ứng dụng desktop của JavaScript. Cùng thời điểm này, Jesse James Garrett cũng đưa ra thuật ngữ Ajax, là viết tắt của Asynchronous JavaScript And XML. Ajax là kỹ thuật lấy dữ liệu từ máy server về máy client, chỉ cập nhật các thành phần có liên quan mà không tải lại toàn bộ trang web, trong khi vẫn cho người dùng tiếp tục tương tác với phần còn lại của trang. Kỹ thuật này giúp việc duyệt web được mượt mà hơn và đã được sử dụng rộng rãi trong các ứng dụng web 2.0. Do vậy, các lập trình viên chuyên nghiệp bắt đầu chú ý đến JavaScript nhiều hơn và nó bắt đầu được coi là một ngôn ngữ lập trình mạnh mẽ, linh hoạt, có khả năng tạo ra các ứng dụng web chất lượng cao.

1.6 Các tiêu chuẩn

Khi JavaScript được sử dụng để tạo ra các ứng dụng phức tạp hơn và các trình duyệt bắt đầu tuân theo các tiêu chuẩn, thì bối cảnh của JavaScript đã thay đổi. Một cuộc chạy đua mới giữa các trình duyệt lại bắt đầu, nhưng cuộc chạy đua lần này là “trình duyệt nào tuân thủ các tiêu chuẩn tốt nhất”. Bên cạnh đó cũng có sự cạnh tranh về tốc độ xử lý của các trình thực thi mã JavaScript trong các trình duyệt (JavaScript engine). Cuộc cạnh tranh này bắt đầu vào năm 2008, khi các kỹ sư của Google đã tạo ra trình thực thi mã có tên V8 trong trình duyệt Chrome. Nó chạy nhanh hơn khá nhiều so với các trình thực thi mã JavaScript trước đó. Các trình duyệt khác cũng tăng tốc độ xử lý của các trình thực thi mã để cạnh tranh với Google. Hiện nay, JavaScript đã chạy khá nhanh trong các trình duyệt, và việc cải thiện vẫn được duy trì theo thời gian.

1.7 HTML5

HTML5 là phiên bản mới nhất của ngôn ngữ HTML, tuy nhiên thực tế nó là một thuật ngữ bao trùm tất cả các công nghệ mới nhất đang được sử dụng trong lĩnh vực web. Nó bao gồm HTML, CSS3 và rất nhiều các API sử dụng JavaScript để tương tác với các trang web. Những nội dung này sẽ được đề cập chi tiết trong chương 10.

HTML5 đã được hoàn thiện vào năm 2014, và mọi người đề xuất năm 2016 sẽ đưa ra phiên bản 5.1. HTML5 đã nhanh chóng trở thành tiêu chuẩn phổ biến trong quá trình phát triển ứng dụng web. Trong đó, JavaScript là nhân tố chính góp phần làm cho lĩnh vực phát triển ứng dụng web trở nên thú vị hơn.

1.8 Node.js

Năm 2009, Ryan Dahl đã phát triển nền tảng Node.js (thường gọi tắt là Node). Nó cho phép chúng ta viết các ứng dụng phía server bằng JavaScript. Node hoạt động dựa trên trình thực thi mã V8 (V8 engine) của Google, cho phép tạo ra các ứng dụng web thời gian thực, chạy nhanh, khả năng xử lý mạnh mẽ chỉ bằng JavaScript. Dựa trên Node, người ta đã tạo ra nhiều ứng dụng và thư viện JavaScript không cần đến trình duyệt. Số người biết đến Node.js và sử dụng nó đã tăng lên nhanh chóng, điều này kéo theo ngày càng có nhiều người quan tâm và sử dụng JavaScript, cả trong và ngoài lĩnh vực web.

Sự phổ biến của Node.js đã dẫn đến một kỹ thuật lập trình mới có tên là Isomorphic JavaScript (hoặc Universal JavaScript). Ý tưởng là một đoạn mã JavaScript có thể chạy được ở cả phía client và phía server: nếu trình duyệt không thể chạy được đoạn mã, thì bên server sẽ chạy và gửi kết quả về client; nếu máy server không chạy được đoạn mã thì gửi đoạn mã đó về máy client để thực thi.

1.9 Các phiên bản của JavaScript

Năm 1996, Netscape và Sun Microsystem đã quyết định chuẩn hóa ngôn ngữ JavaScript, cùng với sự trợ giúp của Tổ chức quản lý các tiêu chuẩn có tên là ECMA (Hiệp hội nhà sản xuất máy tính châu Âu - European Computer Manufacturers Association). Ngôn ngữ JavaScript sau khi được chuẩn hóa sẽ có tên gọi là ECMAScript để tránh vi phạm nhãn hiệu Java của Sun. Nhưng điều này cũng gây thêm nhiều nhầm lẫn, nên cuối cùng cái tên ECMAScript được sử dụng như là một đặc tả (một tiêu chuẩn), còn tên ngôn ngữ lập trình thì vẫn là JavaScript.

Trong điều kiện lý tưởng, tiêu chuẩn ECMAScript yêu cầu tất cả các JavaScript engine phải thông dịch mã nguồn theo cùng một cách. Nhưng cách viết của đặc tả đôi khi rất khó hiểu, dẫn đến khi triển khai trong các engine sẽ có sai khác, kết quả là cùng một chương trình JavaScript nhưng sẽ cho ra kết quả khác nhau trên mỗi trình duyệt. JavaScript thường xuyên bổ sung các tính năng không có trong đặc tả của ECMAScript, ví dụ hàm alert().

Nhóm chịu trách nhiệm duy trì bộ đặc tả ECMAScript được gọi là Ủy ban kỹ thuật 39 (gọi tắt là TC-39). Nhóm này bao gồm đại diện của các nhà cung cấp trình duyệt phổ biến như Apple, Goolgle, Microsoft và Mozilla, cùng với các chuyên gia và đại diện của các công ty có quan tâm tới lĩnh vực phát triển ứng dụng web. Họ có các cuộc họp định kỳ để bàn về phương hướng phát triển của ngôn ngữ JavaScript.

Năm 1997, khi TC-39 thực hiện chuẩn hóa JavaScript, họ đã đặt tên là cho đặc tả này là ECMAScript phiên bản 1. Một năm sau đó, phiên bản 2 ra đời, nhưng không có nhiều thay đổi. Năm 1999, phiên bản 3 ra đời với nhiều tính năng mới.

Quá trình tạo ra phiên bản ECMAScript 4 đã gặp nhiều bế tắc do những bất đồng trong ủy ban TC-39 về hướng đi của ngôn ngữ. Một số thành viên cho rằng ngôn ngữ cần có thay đổi lớn để trở nên mạnh mẽ hơn, trong khi những thành viên khác lại nghĩ rằng nó chỉ cần những thay đổi nhỏ. Nhiều tính năng mới được đề xuất, nhưng thường được cho là quá tham vọng hoặc quá khó để triển khai trong trình duyệt. Sau nhiều năm bế tắc, cuối cùng phiên bản 4 đã bị hủy bỏ, nhóm làm việc đã bỏ qua phiên bản này và tập trung vào phát triển phiên bản 5. Họ đồng ý là bản đặc tả cần tinh gọn hơn, có thể triển khai được, và cuối cùng nó cũng được công bố vào 12/2009. ECMAScript 5 (viết tắt ES5) có thêm nhiều tính năng mới, nhưng vẫn ít tham vọng hơn nhiều so với phiên bản 4. Dù vậy, cũng phải mất một thời gian dài thì các JavaScript engine của trình duyệt mới hỗ trợ hết các tính năng này.

Sau khi ES5 được phát hành, ủy ban TC-39 đã đưa ra phương pháp làm việc mới, gọi là “Harmony”. Ý tưởng của Harmony là sẽ phác thảo tất cả các tính năng mong muốn cho các phiên bản JavaScript kế tiếp. Phải mất đến 6 năm để đưa hầu hết các tính năng này vào ES6, thậm chí có những tính năng đến ES7 hoặc các phiên bản sau mới được đưa vào.

Vào 2015, TC-39 đã quyết định áp dụng cách tiếp cận mới là sẽ xuất bản mỗi năm một bản đặc tả kỹ thuật, và tên của phiên bản sẽ là năm tương ứng. Như vậy các tính năng mới được phê duyệt năm nào thì sẽ đưa vào đặc tả của năm đó. Kết quả là phiên bản ECMAScript 6 được đổi tên thành ECMAScript 2015, nó được xuất bản vào 6/2015 với nhiều tính năng mới. Theo kế hoạch, các bản đặc tả sẽ được xuất bản vào tháng 6 hàng năm, như vậy các tính năng mới sẽ được thêm vào một cách đều đặn, thay vì thêm vào bất thường theo chu kỳ 5 năm hoặc nhiều hơn. Chỉ có ES2015 mới được thêm nhiều tính năng mới, phiên bản ES2016 chỉ được bổ sung thêm 2 tính năng mới so với phiên bản trước.

Trong sách này, chúng ta sẽ tìm hiểu và thực hành trên bản ES2015 hay ES6. Đồng thời cũng có các chú thích kèm theo, cho biết tính năng đó được thêm vào từ phiên bản nào.

Chúng tôi cũng giả định là bạn đang sử dụng trình duyệt web mới nhất (cố gắng cập nhật trình duyệt của bạn lên phiên bản mới nhất).

----

Thành viên nhóm dịch: nvteo, Triệu Quang Học, Võ Lâm Chí Vĩnh. [tham gia nhóm dịch]

-----

Cập nhật: 1/2/2024

Thượng đế của Spinoza

[Nguồn: fb Tạ Minh Trãi https://www.facebook.com/minhtraita] 

THƯỢNG ĐẾ CỦA SPINOZA (Bài viết hay nhất về Thượng Đế mà tôi được đọc). Khi A. Einstein giảng bài tại các trường đại học Hoa Kỳ, câu hỏi mà sinh viên hỏi ông nhiều nhất là: “Ngài có tin vào Thượng Đế không?” Và ông luôn trả lời: “Tôi tin vào Thượng Đế của Spinoza.” (Baruch de Spinoza là một triết gia người Hà Lan được coi là một trong những nhà duy lý vĩ đại của triết học thế kỷ 17, cùng với Descartes). ——- Theo Spinoza, Thượng Đế sẽ nói rằng: “Hãy ngưng cầu nguyện. Ta muốn con bước ra ngoài thế giới và tận hưởng cuộc sống của mình. Ta muốn con hát, vui vẻ và tận hưởng mọi thứ ta đã tạo ra cho con. “Đừng đi vào những ngôi đền tối tăm, lạnh lẽo mà các con tự xây dựng, và nói rằng đó là nhà của ta. Nhà ta ở trên núi, trong rừng, sông, hồ, bãi biển. Đó là nơi ta ở và đó cũng là nơi ta cho con cảm nhận được tình yêu mà ta dành cho con.” “Đừng trách ta về cuộc sống khốn khổ của con. Ta chưa bao giờ chỉ trích rằng ở con có những điều xấu xa tồi tệ; hay ta cũng chưa bao giờ phán rằng con là kẻ có tội; ta cũng chưa bao giờ lên án tình dục là một điều gì đó xấu xa. Tình dục là một món quà mà ta ban tặng con và nhờ đó con có thể vươn đến tình yêu, sự thăng hoa, niềm vui thú trong đời sống của con. Vì thế đừng đổ lỗi cho ta về mọi điều người khác đã làm cho con tin.” “Hãy ngưng đọc những lời giảng dạy trong kinh sách được cho là thiêng liêng, vốn không liên quan gì đến ta. Nếu con không thể thấy được ta trong ánh bình minh, trong những vẻ đẹp của thiên nhiên, trong ánh mắt bạn bè, trong mắt con cái của con, ... thì con sẽ không tìm thấy ta trong bất cứ cuốn sách nào!” “Hãy ngưng khấn cầu ta: Ngài có thể chỉ dạy cho con cách thực hiện mọi công việc của mình không? Đừng quá sợ hãi ta như thế nữa. Ta không phán xét hay chỉ trích con, cũng không tức giận hay bận tâm đến những việc như thế. Ta là tình yêu thuần khiết. “Đừng cầu xin sự tha thứ nữa, không có gì để tha thứ cả. Nếu ta tạo ra con, ta đã lấp đầy con bằng những đam mê, giới hạn, thú vui, cảm xúc, nhu cầu, sự mâu thuẫn và trên hết là ý chí tự do. Tại sao ta lại đổ lỗi cho con nếu những gì con làm là phản chiếu lại những gì mà ta đã đặt vào con? Làm sao ta có thể trừng phạt con vì con người hiện tại của con, nếu chính ta là người đã tạo ra những điều đó ở con? Con có nghĩ rằng ta tạo ra một nơi gọi là Địa Ngục để thiêu rụi tất cả những đứa con của ta vì chúng đã từng lỡ có những hành vi sai trái trong cuộc đời của chúng không? Loại Cha Mẹ nào lại làm những điều như vậy? “Hãy tôn trọng đồng loại của con và đừng làm những gì mà con không muốn người khác làm cho chính mình. Tất cả những gì ta yêu cầu ở con là hãy tỉnh thức trong cuộc sống, sự tỉnh thức ấy sẽ là kim chỉ nam cho cuộc sống của con.” “Con yêu dấu của ta, cuộc sống này không phải là một thử thách, không phải là bước đi trên một hành trình, không phải là một cuộc diễn tập, cũng không phải là sự chuẩn bị cho Thiên Đường. Cuộc sống này là duy nhất, ở đây và bây giờ - và đó là tất cả những gì con cần. “Ta đã cho các con hoàn toàn tự do, không thưởng phạt, không tội lỗi hay đức hạnh, không ai để lại những chứng cứ, không ai ghi chép thưởng phạt. Con hoàn toàn có quyền tự do sáng tạo cuộc sống của chính mình. Chính con, chứ không phải ai khác, là người tạo ra Thiên Đường hay Địa Ngục. “Ta không thể tiết lộ cho con biết trước liệu có kiếp sau hay không, nhưng ta có thể cho con một lời khuyên: Hãy sống như thể sau kiếp sống này không còn kiếp sống nào nữa. Như thế, con sẽ sống như thể đây sẽ là cơ hội duy nhất cho con để tận hưởng, yêu thương và tồn tại. Theo cách ấy, nếu không có kiếp sau, thì con cũng đã tận hưởng được trọn vẹn cơ hội mà ta đã trao cho con. Và nếu có kiếp sau, thì con hãy yên tâm rằng ta sẽ không xét xử con vì đã cư xử đúng hay sai. Ta sẽ chỉ hỏi: Con có thích Cuộc Sống mà con đã có không? Con có an vui hạnh phúc không? Con thích điều gì nhất? Con đã học được những bài học gì?...” “Đừng tìm cách đặt Đức Tin vào ta nữa; Đức Tin là giả lập, là phỏng đoán, là hư cấu. Ta không muốn con tin vào ta, ta muốn con tin vào chính con. Ta muốn con cảm nhận được ta trong con khi con hôn người yêu của mình, khi con ôm con gái nhỏ vào lòng, khi con vuốt ve con chó của con, khi con tắm biển.” “Đừng khen ngợi ta nữa. Con nghĩ ta là loại Thượng Đế vị kỷ nào vậy? Ta chán việc được ngợi khen hay tôn thờ rồi. Ta mệt mỏi vì phải nhận những lời biết ơn rồi. Muốn thể hiện lòng biết ơn với ta ư? Con hãy chứng minh điều đó bằng cách chăm sóc bản thân, sức khỏe, các mối quan hệ của con và chăm sóc thế giới mà ta đã tạo ra cho các con. Sống một cuộc đời thật trọn vẹn với những cung bậc vui buồn của con! Đó là cách ngợi khen ta. “Hãy ngưng phức tạp hóa mọi chuyện và lặp lại như một con vẹt những gì con đã được dạy về ta. Tại sao con cần chứng kiến nhiều phép màu hơn? Tại sao con cần nhiều lời dẫn giải, tranh biện để biết về ta như vậy? Điều duy nhất mà con có thể chắc chắn, đó là con đang ở đây, con còn sống; và thế giới mà ta đã tạo ra cho con vốn luôn ngập tràn những điều kỳ diệu.” Nguồn: Tạ Minh Trãi sưu tầm, dịch và biên tập từ bản tiếng Anh của Jillene Moore. —- GOD OF SPINOZA When Einstein gave lectures at U.S. universities, the question students asked him most was: Do you believe in God? And he always answered: I believe in the God of Spinoza. Baruch de Spinoza was a Dutch philosopher considered one of the great rationalists of 17th century philosophy, along with Descartes. According to Spinoza, God would say: “Stop praying. I want you to go out into the world and enjoy your life. I want you to sing, have fun and enjoy everything I've made for you. “Stop going into those dark, cold temples that you built yourself and saying they are my house. My house is in the mountains, in the woods, rivers, lakes, beaches. That's where I live and there I express my love for you. “Stop blaming me for your miserable life; I never told you there was anything wrong with you or that you were a sinner, or that your sexuality was a bad thing. Sex is a gift I have given you and with which you can express your love, your ecstasy, your joy. So don't blame me for everything that others made you believe. “Stop reading alleged sacred scriptures that have nothing to do with me. If you can't read me in a sunrise, in a landscape, in the look of your friends, in your son's eyes—you will find me in no book! “Stop asking me, ‘Will you tell me how to do my job?’ Stop being so scared of me. I do not judge you or criticize you, nor get angry or bothered. I am pure love. “Stop asking for forgiveness, there's nothing to forgive. If I made you, I filled you with passions, limitations, pleasures, feelings, needs, inconsistencies, and best of all, free will. Why would I blame you if you respond to something I put in you? How could I punish you for being the way you are, if I'm the one who made you? Do you think I could create a place to burn all my children who behave badly for the rest of eternity? What kind of god would do that? “Respect your peers, and don't give what you don't want for yourself. All I ask is that you pay attention in your life—alertness is your guide. “My beloved, this life is not a test, not a step on the way, not a rehearsal, not a prelude to paradise. This life is the only thing here and now—and it is all you need. “I have set you absolutely free, no prizes or punishments, no sins or virtues, no one carries a marker, no one keeps a record. You are absolutely free to create in your life. It’s you who creates heaven or hell. “Live as if there is nothing beyond this life, as if this is your only chance to enjoy, to love, to exist. Then you will have enjoyed the opportunity I gave you. And if there is an afterlife, rest assured that I won't ask if you behaved right or wrong, I'll ask, ‘Did you like it? Did you have fun? What did you enjoy the most? What did you learn?’ “Stop believing in me; believing is assuming, guessing, imagining. I don't want you to believe in me, I want you to believe in you. I want you to feel me in you when you kiss your beloved, when you tuck in your little girl, when you caress your dog, when you bathe in the sea. “Stop praising me. What kind of egomaniac God do you think I am? I'm bored with being praised. I'm tired of being thanked. Feeling grateful? Prove it by taking care of yourself, your health, your relationships, the world. Express your joy! That's the way to praise me. “Stop complicating things and repeating as a parrot what you've been taught about me. Why do you need more miracles? So many explanations? “The only thing for sure is that you are here, that you are alive, that this world is full of wonders.” Original post by Jillene Moore

Linux cho lĩnh vực Tư pháp và Điều tra số (1) - Giới thiệu hệ điều hành Slackware

[- Sản phẩm của Nhóm dịch

- Học nên hướng đến một nghề cụ thể sẽ cuốn hút hơn

- Sinh viên theo nghề mạng (an ninh mạng, bảo mật mạng, ứng cứu sự cố, DevOps), nên đọc và thực hành theo]

Linux OS (The Law Enforcement and Forensic Examiner’s Introduction to Linux)

Từ điển chuyên ngành 

Hướng dẫn:

Trong bản word này, phần nào được tô màu vàng là phần của mình đang dịch và hiệu đính. Nên các bạn sẽ dịch cùng mình từ phần tô vàng trở đi (bạn nào muốn học dịch cứ theo dõi, và dịch theo phần mình đang dịch nha, so sánh cách dịch của mình và của bạn). Ngoài ra các bạn có thể dịch bất kì phần nào ở phía sau, thích phần nào, dịch phần đó. 

Rảnh giờ nào, dịch giờ đó, làm việc online

Tuần gặp nhau 1 buổi để trao đổi thêm, tám chuyện, theo lịch này

Linux cho lĩnh vực Tư pháp và Điều tra số

(The Law Enforcement and Forensic

Examiner’s Introduction to Linux)

  1. Cài đặt 

Đã từ lâu, hệ điều hành Linux luôn bị phàn nàn là không có khả năng “tự động phát hiện” phần cứng, khi bạn gắn nó vào máy tính. Tuy nhiên, sau nhiều năm, phần nhân (phần lõi, kernel) - bộ não của hệ điều hành - Linux đã có nhiều cải tiến. Nếu trước đây, việc nhận diện và cấu hình phần cứng là trở ngại đáng kể cho những người mới dùng Linux, thì hiện nay, mặc dù thỉnh thoảng vẫn có thể gặp trục trặc khi cài đặt máy trạm Linux, nhưng nó không còn rắc rối nữa. Chức năng “tự động phát hiện phần cứng mới” đã trở thành một tiêu chuẩn, và hầu hết các bản Linux đều có thể cài đặt các phần cứng khá đơn giản, thậm chí đối với cả các phần cứng mới nhất.

Đối với hầu hết máy tính hiện nay, trình điều khiển (driver) và các thiết lập mặc định của hệ điều hành sẽ tự động nhận diện và làm việc được với các hệ thống dù là cũ hay mới. Khả năng hỗ trợ trực tuyến cho hệ điều hành đã tốt hơn nhiều so với 10 năm trước đây, và hầu hết các trục trặc đều có thể khắc phục được khi tìm kiếm các giải pháp trên Internet. Thông thường, các thiết bị/phần mềm hoạt động hiệu quả trên một phiên bản của hệ điều hành thì cũng sẽ hoạt động tốt trên các phiên bản khác. Điều này không phải lúc nào cũng đúng, nhưng nếu bạn đã quen thuộc với hệ thống của bạn rồi, thì rất dễ để tìm ra giải pháp và áp dụng chúng trong mỗi tình huống gặp phải.

Các bản Linux mới nhất có khả năng tự động phát hiện phần cứng rất tốt. Tuy nhiên, việc hiểu biết về các phần cứng bạn đang sử dụng sẽ rất hữu ích khi hệ thống gặp sự cố, nó giúp bạn nhanh chóng tìm ra được giải pháp để khắc phục.

Tối thiểu, bạn phải hiểu biết về những thứ sau:

  • Phân vùng đĩa cứng: kích thước và các phân vùng đĩa cứng

  • Cấu hình mạng: tính tương thích của cạc mạng, cấu hình địa chỉ mạng (dùng DHCP hay cấu hình bằng tay)

  • Khả năng hỗ trợ thiết bị của bo mạch chính (motherboard): bluetooth, wifi

Hầu hết các phiên bản hệ điều hành đều có rất nhiều tài liệu hướng dẫn đi kèm, gồm tài liệu trực tuyến và sổ tay giúp đỡ có sẵn trong hệ điều hành. Khi gặp vấn đề liên quan đến tương thích phần cứng, bạn chỉ việc tìm kiếm trên web là có ngay các giải pháp khắc phục, kèm theo đó là rất nhiều các tài nguyên học tập về Linux, bạn hãy tận dụng chúng để học. Khi gặp sự cố, bạn nên tìm kiếm các trường hợp bị lỗi tương tự để tìm giải pháp khắc phục, chứ không nên cứ gặp lỗi là nhảy vào diễn đàn để  đặt câu hỏi hoặc nhờ sự trợ giúp.

  1. Các bản phân phối của Linux

Họ hệ điều hành Linux có nhiều phân nhánh khác nhau. Chúng thường được gọi là các “bản phân phối Linux” (Linux distribution) hoặc “distro”. Các bản phân phối này khác nhau về cấu hình của kernel, các công cụ đi kèm và đường dẫn cài đặt/nâng cấp các gói phần mềm.

Bạn thường nghe người dùng than phiền rằng thiết bị X hoạt động được với bản phân phối này nhưng lại không hoạt động được trên bản phân phối khác. Hoặc thiết bị Y không hoạt động được trên phiên bản này, nhưng khi đổi phiên bản khác thì lại hoạt động được. Vấn đề ở đây chính là bạn đang sử dụng phiên bản nào (version) của nhân Linux, vì vậy bạn chỉ cần cập nhật bộ điều khiển thiết bị (driver) cho bản phân phối Linux là giải quyết được vấn đề.

Gần đây, chúng ta thấy sự xuất hiện ngày càng nhiều các bản phân phối Linux chuyên dụng, hoặc ở một khía cạnh nào đó, có thể được xem là chuyên dụng. Tất nhiên, vẫn có các bản phân phối Linux cho các máy trạm thông thường như Arch, CentOS, Debian, Ubuntu, Slackware, Gentoo. Các bản phân phối chuyên dụng được thiết kế và phân phối cho một nhóm đối tượng cụ thể như chuyên gia kiểm thử xâm nhập (pen-tester), chuyên viên quản trị mạng (enterprise admin).

Dưới đây là một số bản phân phối chuyên dụng, nó có thể hữu ích cho người đọc tài liệu này:

  • Parrot OS: bản phân phối dùng trong lĩnh vực điều tra số, kiểm thử xâm nhập và bảo mật

  • SANS SIFT Workstation: bản phân phối dùng trong lĩnh vực điều tra số, ứng phó sự cố; được hỗ trợ rộng rãi, cập nhật thường xuyên, và cung cấp đầy đủ các công cụ giúp bạn thực hiện một cuộc điều tra số, phân loại, ứng phó sự cố. 

  • Blackarch Linux: một bản phân phối dùng trong lĩnh vực bảo mật, dựa trên Arch Linux, bao gồm rất nhiều các công cụ liên quan đến lĩnh vực bảo mật

  • Kali Linux: bản phân phối dùng trong lĩnh vực bảo mật và kiểm thử xâm nhập

Trong lĩnh vực bảo mật, họ hệ điều hành Linux còn rất nhiều các bản phân phối khác, như các bản khởi động (bootable distro), bản rút gọn (lightweight distro). Tuy nhiên, bạn đừng quá bận tâm tới việc có quá nhiều các bản phân phối của Linux, hãy chọn một bản phân phối phổ biến, cài đặt và học cách sử dụng nó.

Hầu hết các bản phân phối Linux đều có thể sử dụng trong lĩnh vực điều tra số. Phần lớn những người mới sử dụng Linux đều có xu hướng chọn hệ điều hành Ubuntu. Vì Ubuntu có cộng đồng hỗ trợ lớn và nhiều phần mềm điều tra số được tạo ra để chạy trên Ubuntu. Ở góc độ cá nhân, tôi thấy Ubuntu không phải là lựa chọn lý tưởng khi học Linux. Ý tôi không phải là Ubuntu và các biến thể của nó không thể dùng trong việc điều tra số, mà do mục đích của tài liệu này là tập trung vào việc tìm hiểu hoạt động của hệ điều hành, nên việc bắt đầu với một hệ thống đơn giản sẽ phù hợp hơn. Chúng ta sẽ tập trung tìm hiểu một bản phân phối ít tính năng và giống với Unix.

Nếu bạn chưa biết bắt đầu từ đâu, sẽ sử dụng cuốn sách này làm tài liệu tham khảo chính, và chủ yếu quan tâm tới các ứng dụng điều tra số chạy trên Linux, thì tôi đề xuất bạn nên sử dụng hệ điều hành Slackware. Tính từ khi có bản phân phối thương mại đầu tiên, Slackware đã tồn tại nhiều thập kỷ, là một hệ điều hành Linux chuẩn, theo trường phái Unix. Không quan tâm tới các công cụ có cấu hình GUI, Slackware vẫn là hệ điều hành Linux giống UNIX nhất hiện nay. Theo quan điểm và đánh giá của cá nhân, Slackware là một trong những lựa chọn tốt nhất cho lĩnh vực điều tra số. Tài liệu này được viết dựa trên Slackware, tuy nhiên bạn vẫn có thể thực hiện trên các bản phân phối khác của Linux.

Một điều cần lưu ý: như đã đề cập ở phần trước, nếu bạn dự định sử dụng máy trạm Linux để làm điều tra số, thì cố gắng không phụ thuộc quá nhiều vào các công cụ GUI. Đa số các cài đặt và cấu hình trong nhiều bản phân phối Linux để được lưu trong các tập tin văn bản (thường ở trong thư mục home hoặc /etc), hoặc có thể truy cập bằng các công cụ dòng lệnh. Nếu bạn học được cách chỉnh sửa các tập tin cấu hình dạng văn bản sẽ giúp bạn không gặp trở ngại khi hệ thống X Window, hoặc GUI không tồn tại hoặc không thể truy cập. Ngoài ra, với những hiểu biết về các tập tin cấu hình dạng văn bản sẽ giúp bạn biết được cái gì là “cấu hình mặc định của hệ thống”, cái gì có thể thay đổi trên hệ thống Linux. Hiểu được các tập tin cấu hình của Linux cũng là một trải nghiệm có giá trị.

  1. Tìm hiểu về hệ điều hành Slackware

Các bản phân phối Linux có kiến trúc khác nhau, nên có thể cùng một lệnh, nhưng tùy theo bản phân phối sẽ cho ra kết quả hoặc hành vi khác nhau. Ngoài ra, một số phần trong tập tin cấu hình, đoạn mã khởi động, hoặc tập tin cài đặt phần mềm sẽ có một vài khác biệt, tùy theo bản phân phối bạn đang sử dụng.

Nếu bạn đang lựa chọn một bản Linux để học và dựa theo tài liệu này, thì tôi vẫn đề nghị bạn là nên lựa chọn Slackware. Đây là bản phân phối ổn định, không sử dụng các hệ thống quản lý tập tin mới, không sử dụng các tập tin tự động cấu hình; bởi nó không chạy theo thị hiếu của người dùng, điều đó có thể làm cản trở công việc của một người điều tra số. Các chương trình và thư viện đi kèm với Slackware thường không thay đổi theo các đợt cập nhật (upstream), nghĩa là Slackware không cập nhật các bản vá (patch). Điều này, giúp hệ điều hành dễ dàng hơn khi nhận hỗ trợ từ các nhà phát triển ban đầu. Các phần hướng dẫn chi tiết của tài liệu này sẽ tập trung vào việc cài đặt bản Slackware 64-bit cơ bản.

Mặc định, khi cài đặt, Slackware cho phép sử dụng các bản phân vùng đĩa (partition) có sẵn, do người dùng thiết lập trên đĩa cứng. Do vậy, bạn không phải cần đến các kĩ thuật quản lý đĩa phức tạp, hoặc các phần mềm gom nhóm ổ đĩa. Nội dung của bảng phân vùng đĩa, hệ thống quản lý tập tin (ví dụ fstab) hoàn toàn do người dùng kiểm soát.

Slackware là hệ điều hành ổn định, nhất quán và đơn giản. Thực tế thì các bản Linux đều gần như nhau, tuy nhiên nên chọn một bản đơn giản để bắt đầu.

  1. Cài đặt

- Tải tập tin cài đặt của Slackware có chức năng khởi động, thường ở dạng ISO. Địa chỉ: https://mirrors.slackware.com/slackware/slackware-iso/ hoặc vào trang chính thức của Slackware để tìm kiếm http://www.slackware.com.

- Chọn bản mới nhất slackware64-15.0-iso để tải về máy, kích thước tập tin khoảng 3.5GB.

- Với hầu hết các quy trình cài đặt hiện nay, các công việc đều được làm tự động hoặc hệ thống sẽ hướng dẫn bạn các bước làm cần thiết và cung cấp các lựa chọn mặc định khá an toàn. Như đã nói ở phần trước, tính năng phát hiện phần cứng đã có nhiều cải tiến trong những năm gần đây. Nhiều bản phân phối của Linux hiện nay cho phép bạn cài đặt dễ dàng và nhanh hơn nhiều so với một số hệ điều hành phổ biến khác. Tài liệu và các sách hướng dẫn cài đặt có rất nhiều trên mạng, hoặc được đính kèm trong các bản phân phối.

Để bắt đầu, bạn nên làm quen với các quy tắc đặt tên của phân vùng (partition), của ổ đĩa (disk) trong Linux (được đề cập trong chương II của tài liệu này).

---

Nhóm dịch

- Lê Gia Công

- Đoàn Trương Duy Khang

---

Cập nhật: 22/1/2024