Mời các bạn tiếp tục đọc phần 3, chúng ta sẽ bàn luận về học lập trình backend của chuỗi bài “Học lập trình Web nên bắt đầu từ đâu?”.

Phần 3: Chúng ta hãy đến với backend

Bạn nên học ngôn ngữ nào trước?

Có rất nhiều ngôn ngữ dành cho backend. Nhiều ngôn ngữ đã xuất hiện khá lâu, một số thậm chí trước cả khi internet tồn tại!
Phần 3: Chúng ta hãy đến với backend Nordic Coder
Điều này có thể gây khó khăn cho việc chọn ngôn ngữ để bắt đầu. Để thu hẹp lựa chọn của bạn, tôi khuyên bạn nên áp dụng các nguyên tắc sau cho quyết định của mình:

  • Chọn một ngôn ngữ có thể học được: nó có một phương pháp học tập hợp lý, có tài liệu tốt và / hoặc có một hệ thống hỗ trợ trực tuyến tốt.
  • Chọn một ngôn ngữ có liên quan đến mục tiêu nghề nghiệp của bạn.
  • Chọn một ngôn ngữ thú vị. Học phát triển web là đủ khó, không có gì bắt buộc bản thân phải học một ngôn ngữ mà bạn thực sự không thích.

Một điều quan trọng cần ghi nhớ là bạn không cần phải học mọi ngôn ngữ

Trên thực tế, nếu bạn là người mới bắt đầu, tôi thực sự khuyên bạn nên tập trung vào một ngôn ngữ trước.

Tất cả các ngôn ngữ lập trình đều chia sẻ một số nguyên tắc chung. Ví dụ: bạn có thể viết một vòng lặp “for” trong JavaScript, PHP, C# và Python.

Khi bạn đã chọn các nguyên tắc cơ bản của lập trình bằng ngôn ngữ đầu tiên của mình, việc chuyển các khái niệm đó sang các ngôn ngữ khác sẽ dễ dàng hơn.

Tôi hy vọng điều này sẽ giảm bớt một chút áp lực từ việc chọn ngôn ngữ backend đầu tiên để học

Chúng ta hãy xem xét một số ngôn ngữ backend phổ biến nhất

Java

Java là một ngôn ngữ ổn định được sử dụng rất rộng rãi và đã có từ rất lâu. Nó giữ vị trí hàng đầu về chỉ số TIOBE kể từ năm 2001. (TIOBE là bảng xếp hạng các ngôn ngữ lập trình theo số lượng tìm kiếm.)

6-Java TIOBE index Nordic Coder

Nguồn: Ben Putano on Stackify.com

Ngoài ra, Java xếp thứ ba trong bảng xếp hạng các ngôn ngữ được sử dụng phổ biến nhất của Stack Overflow và có các câu hỏi được gắn thẻ cao thứ hai trên Stack Overflow.

Java xếp thứ ba trong ngôn ngữ được sử dụng phổ biến nhất Nordic Coder

Nguồn: Most Common Programming Languages, Stack Overflow Developer Survey 2017

Nhiều công ty công nghệ lớn sử dụng Java trong các trang web của họ: Google, YouTube, Facebook, Amazon và Twitter, và những công ty khác.

Một lý do cho việc này là Java rất nhanh và có thể mở rộng để xử lý các trang web lớn. Đó cũng là một ngôn ngữ nhất quán cho phép bảo trì dễ dàng hơn đối với các dự án dài hạn.

Twitter ban đầu được xây dựng trên nền Ruby on Rails. Nhưng vào năm 2015, họ cần khả năng hỗ trợ sự phát triển vượt bậc của mình, vì vậy họ đã chuyển sang Scala , một ngôn ngữ chạy trên Máy ảo Java.

C# (C Sharp)

C# được Microsoft tạo ra để trở thành đối thủ cạnh tranh với Java. Bạn có thể thấy rằng C # đã đạt đỉnh cao theo Xu hướng của Stack Overflow trong năm 2009 và đã suy giảm kể từ đó.

Xu hướng của Stack Overflow trong năm 2009

Nguồn: Stack Overflow trends for back-end languages

Nhưng tôi sẽ vẫn không bỏ C# qua một bên.

Đó là một ngôn ngữ hướng đối tượng mạnh mẽ, có số lượng thẻ Stack Overflow cao thứ ba. Nó cũng đứng thứ ba trong nghiên cứu của Stackify về các ngôn ngữ có nhu cầu cao nhất trong danh sách công trên Indeed vào tháng 12 năm 2017.

nghiên cứu của Stackify về các ngôn ngữ có nhu cầu cao nhất

Nguồn: Ben Putano on Stackify.com

C# được sử dụng trong rất nhiều ứng dụng, như ứng dụng máy tính để bàn Windows và lập trình Android.

Nó cũng được sử dụng rất nhiều trong phát triển trò chơi, thông qua Unity game engine. Vì vậy, nếu bạn quan tâm đến Android hoặc phát triển trò chơi, C# sẽ là một lựa chọn tuyệt vời để tìm hiểu.

Node.js

Như đã đề cập trước đó, JavaScript là ngôn ngữ phổ biến nhất được báo cáo bởi người dùng Stack Overflow trong năm năm qua.

Rất nhiều những điều này có liên quan với Node.js, đứng đầu danh sách các framework và thư viện được sử dụng nhiều nhất trong năm 2017.

danh sách các framework và thư viện được sử dụng nhiều nhất

Nguồn: Most Common Frameworks and Libraries, Stack Overflow Developer Survey 2017

Node.js, đượcmô tả là “JavaScript runtime”, về cơ bản là JavaScript chạy ở backend.

Ban đầu nó được dùng để thay thế cho máy chủ HTTP Apache hiệu quả hơn.

Kể từ khi phát hành vào năm 2009, Node.js đã tăng dần về lượng sử dụng, do tính chất nhanh và nhẹ của nó.

Các lập trình viên Node thường sử dụng framework Express khi xây dựng các ứng dụng web. Express.js là một framework web tối giản dành cho Node.js.

Bằng cách sử dụng Node và Express ở backend và Angular hoặc React ở frontend, điều này có nghĩa là bạn có thể là một lập trình viên full-stack JavaScript.

Sự kết hợp này, hoặc sự kết hợp của các công nghệ, là rất phổ biến tại thời điểm này, đặc biệt là với các công ty khởi nghiệp .

Python

Python lần đầu tiên xuất hiện vào năm 1991 và là ngôn ngữ đầu tiên thường gặp của nhiều sinh viên học lập trình.

Do tính dễ đọc và sử dụng từ khóa tiếng Anh, nó thường được coi là một ngôn ngữ dễ học.

Có một số framework Python mà bạn có thể sử dụng:

  • Django (nhiều tính năng được xây dựng sẵn) và
  • Flask (tối thiểu và linh hoạt hơn).

Sự phổ biến của Python đã tăng vọt trong những năm gần đây.  Nó được xếp hạng 4 trên chỉ số TIOBE. Và trong năm 2017, nó được xếp thứ hai về số lượng yêu cầu tải về trên GitHub, theo báo cáo Năm 2017 của họ.

Nguồn: Ben Putano trên Stackify.com

Stack Overflow báo cáo vào tháng 9 năm ngoái rằng khoa học dữ liệu, machine learning và nghiên cứu học thuật phần lớn là lý do cho sự tăng trưởng nhanh chóng này.

Ngay cả khi bạn không phải là nhà khoa học dữ liệu, việc có thể làm việc và thao tác với dữ liệu đang trở thành một kỹ năng hữu ích.

Như Alexus Strong của Code Academy viết :

“Python hấp dẫn những người các lĩnh vực phi kỹ thuật vì giúp việc phân tích dữ liệu […] trong tầm tay.

Nếu bạn tò mò về khoa học dữ liệu hoặc machine learning, học Python có thể là một lựa chọn rất tốt cho bạn, vì những lĩnh vực này có thể sẽ mở rộng trong những năm tới.

Ruby

Ruby được phát hành lần đầu tiên vào năm 1995. Nó bắt đầu nhận được nhiều sự chú ý vào đầu những năm 2000 khi công ty khởi nghiệp Basecamp phát minh ra framework Ruby on Rails.

Kết hợp với cú pháp thân thiện với người mới bắt đầu và khả năng dễ đọc của Ruby, Rails đã tạo ra các ứng dụng web rất nhanh chóng và dễ dàng.

Ruby on Rails ngày càng phổ biến và trở thành framework được lựa chọn của các công ty khởi nghiệp. (Codepen.io, GitHub và Shopify đều sử dụng Ruby on Rails.)

Tuy nhiên, Ruby chưa bao giờ là một trong những ngôn ngữ được xếp hạng cao. Năm ngoái, nó đứng ở vị trí thứ mười trong bảng xếp hạng ngôn ngữ được sử dụng phổ biến nhất của Stack Overflow và chỉ số TIOBE .

Ngoài ra, Ruby không giúp phát triển tốt, dẫn đến việc các công ty khởi nghiệp cuối cùng chuyển sang các ngôn ngữ khác khi họ trở nên lớn hơn (như Twitter chuyển sang Java vậy).

Nó có thể không đứng đầu bảng xếp hạng, nhưng Ruby vẫn có thể là một lựa chọn tốt làm ngôn ngữ đầu tiên của bạn để học.

Nếu bạn quan tâm đến thế giới khởi nghiệp hoặc khu vực bạn ở có nhiều công việc về Ruby, tôi sẽ xem xét việc học Ruby và Ruby on Rails.

PHP

PHP là một ngôn ngữ mà có rất nhiều người thích lẫn ghét.

Tuy nhiên, mặc dù số lượng câu hỏi của Quora hỏi liệu PHP có chết không , thực tế PHP vẫn là ngôn ngữ backend được sử dụng rộng rãi nhất hiện nay.

Nghiên cứu được thực hiện bởi W3Techs.com cho thấy 83% tất cả các trang web sử dụng PHP. (Tiếp theo là ASP.NET, chỉ chiếm 14%.)

Nghiên cứu được thực hiện bởi W3Techs.com

Nguồn: W3Techs.com

Hệ thống quản lý nội dung (CMS) là một lý do chính cho thị phần lớn của PHP. Ba CMS hàng đầu – WordPress, Joomla và Drupal – đều được xây dựng bằng PHP.

Bản thân WordPress cũng có thị phần lớn trong thị trường CMS, chiếm 29,5% tổng số trang web .

Nếu bạn thích làm việc với nó, phát triển WordPress có thể là một lĩnh vực tốt để tùy chỉnh các trang web và xây dựng các plugin hoặc theme.

Ngoài các hệ thống quản lý nội dung, PHP có một số framework làm cho việc phát triển dễ dàng và nhanh chóng hơn. Laravel, một framework xuất hiện vào năm 2011, hiện đang phổ biến nhất.

Đọc thêm về phát triển backend

Làm việc với dữ liệu và cơ sở dữ liệu

Nguồn: Sherchle via GIPHY

Cơ sở dữ liệu có vẻ đáng sợ nếu bạn không quen làm việc với chúng.

Tuy nhiên, nếu bạn nghĩ về nó, có lẽ bạn đã từng làm việc và sử dụng dữ liệu trong cuộc sống của chính mình.

Nếu bạn đã từng sử dụng Excel để sắp xếp dữ liệu hoặc tạo biểu đồ để theo dõi mục tiêu của mình, thì bạn đã thực hiện một chức năng tương tự (mặc dù đơn giản hơn nhiều) mà cơ sở dữ liệu thực hiện.

Tôi cần học gì để sử dụng cơ sở dữ liệu?

May mắn thay, bạn không cần phải học rất nhiều ngôn ngữ khác nhau. Ngôn ngữ cơ sở dữ liệu chính là SQL.

SQL (Ngôn ngữ truy vấn có cấu trúc) được IBM tạo ra vào những năm 1970 và được sử dụng trong các cơ sở dữ liệu quan hệ.

Mô hình quan hệ là cách cấu trúc dữ liệu thành các hàng và cột (giống như bảng tính Excel).

Mỗi cột được chỉ định cho một loại dữ liệu nhất định và có thể yêu cầu dữ liệu được định dạng chính xác. Và mỗi hàng, hoặc bản ghi, chứa một ID hoặc khóa duy nhất ngoài cột hoặc trường, các giá trị.

Bạn có thể thấy điều này dưới đây:

Một bảng tính đơn giản

Một bảng tính đơn giản tương tự như cách dữ liệu được lưu trữ trong một bảng. Cột Rent sẽ yêu cầu các giá trị số.

Các bản ghi sau đó được lưu trữ trong nhiều bộ sưu tập được gọi là bảng. Và một tập hợp các bảng (trong số những thứ khác) tạo nên toàn bộ lược đồ cơ sở dữ liệu hoặc cấu trúc.

Các loại hệ thống cơ sở dữ liệu SQL chính là:

  • MySQL (được sử dụng cho PHP và các ứng dụng nguồn mở)
  • Microsoft SQL Server (thường được sử dụng cho các ứng dụng .NET)
  • PostgreSQL (mã nguồn mở)

NoSQL

Mặc dù SQL là loại cơ sở dữ liệu chiếm thị phần lớn, nhưng có một loại khác: NoSQL (tức là non-SQL). Như tên của nó, cơ sở dữ liệu NoSQL là ngược lại với các cơ sở dữ liệu SQL truyền thống.

NoSQL không có quan hệ và không thực thi cùng loại cấu trúc mà SQL thực hiện. Thay vào đó, bạn có thể lưu trữ bất kỳ loại dữ liệu nào trong một hệ thống tự do hơn, linh hoạt hơn.

Điều này tạo ra các quy trình xử lý nhanh hơn nhiều và tốt hơn nhiều trong việc phát triển rộng cho các ứng dụng lớn, phức tạp. Nhược điểm là bạn sẽ hy sinh tính nhất quán dữ liệu.

Như Craig Buckler của Sitepoint viết :

NoSQL linh hoạt và dễ dùng hơn, nhưng việc có thể lưu trữ bất kỳ dữ liệu nào ở bất cứ đâu có thể dẫn đến các vấn đề về tính nhất quán.

NoSQL đã trở nên phổ biến vào những năm 2000 do các công ty công nghệ lớn như Facebook và Amazon cần một cách nhanh chóng để thao tác và lưu trữ dữ liệu.

MongoDB là hệ thống NoSQL được sử dụng phổ biến nhất. Các loại khác là Cassandra, Elasticsearch và Couchbase, theo Hackernoon.

So sánh SQL và NoSQL?

Bạn có thể xem qua các cuộc thảo luận về việc NoSQL sẽ thay thế SQL hay cái nào tốt hơn.

Sự thật là cả hai loại cơ sở dữ liệu đều có điểm mạnh và điểm yếu.

Giống như bất cứ điều gì khác, sự lựa chọn đúng sẽ thay đổi tùy thuộc vào dự án và công việc.

Cá nhân tôi khuyên bạn nên học những điều cơ bản của cả SQL và NoSQL.

Đọc thêm

Tạo trang web trên máy chủ

Như chúng tôi đã đề cập lúc đầu, máy chủ chỉ đơn giản là máy tính lưu trữ tệp trang web và các tài nguyên khác như cơ sở dữ liệu.

Để có một trang web có thể truy cập công khai trên internet, nó cần phải được cài đặt trên máy chủ.

Dưới đây là một số điều bạn sẽ phải làm việc để tạo một trang web:

Tên miền và chứng chỉ SSL

Tên miền là địa chỉ của trang web, như Google.com, Wikipedia.org hoặc Dartmouth.edu.

Để có được một tên miền, bạn sẽ phải chọn một cái có sẵn, sau đó mua nó từ một công ty đăng ký tên miền như Namecheap.com hoặc Google Domains.

Các công ty này đăng ký tên miền với ICANN (Internet Corporation for Assigned Names and Numbers).

ICANN là một tổ chức tập trung giám sát và quản lý DNS (domain name system) và IP (internet protocol) của internet toàn cầu.

Ngoài tên miền, bạn cũng nên có chứng chỉ SSL (Secure Sockets Layer) cho tên miền của mình.SSL sẽ mã hóa lưu lượng trên trang web của bạn, điều này sẽ giúp bảo vệ nó khỏi các cuộc tấn công mạng.

Không gian máy chủ lưu trữ web

Khi bạn có tên miền của mình đến AwesomeStupendousAmazedWebsite.com, bạn sẽ cần mua dung lượng lưu trữ trên máy chủ.

Có một vài cấp độ khác nhau của việc lưu trữ web:

  • Shared servers: Tùy chọn rẻ nhất, có thể dao động từ vài đô la đến 12-20 đô la mỗi tháng. Như tên gọi, bạn chia sẻ không gian máy chủ của mình với các trang web khác. Mặt tốt là khả năng chi trả, và nhược điểm là tốc độ chậm hơn và thời gian chết có thể xảy ra nếu bạn vượt quá mức sử dụng trong tháng. Các máy chủ phổ biến là SiteGroundBluehost, và WP Engine.
  • Cloud servers: Lưu trữ đám mây là một tùy chọn tương đối mới. Nó bao gồm một hệ thống gồm một số lượng lớn các máy chủ vật lý có tài nguyên được chia sẻ. Mỗi người thuê riêng lẻ sau đó được cung cấp một máy chủ ảo lấy tài nguyên từ nhóm chung. Thiết lập này cho phép linh hoạt hơn về băng thông và có thể mở rộng rất nhanh. Một công ty, Digital Ocean, chuyên giao dịch với các máy chủ đám mây. Giá cả phụ thuộc vào thông số kỹ thuật máy chủ của bạn và có thể dao động từ vài đô la một tháng cho đến gần 1000 đô la.
  • VPS (Virtual Private Servers): VPS tương tự như lưu trữ đám mây ở chỗ mỗi người thuê có máy chủ ảo riêng và tất cả người thuê đều chia sẻ một máy chủ vật lý. Nó tốt hơn so với shared hosting bởi vì bạn được phân bổ một phần tài nguyên máy chủ của riêng bạn. Tùy chọn này đắt hơn một chút, trong khoảng từ 20-60 đô la mỗi tháng (theo BlueHost).
  • Máy chủ chuyên dụng: Những máy chủ này cung cấp cho bạn một máy chủ vật lý hoàn chỉnh dành riêng cho bạn. Như bạn có thể tưởng tượng, tùy chọn này mạnh nhất nhưng cũng đắt nhất. Chúng cũng thường là các máy chủ được quản lý, có nghĩa là công ty sẽ chạy bảo trì và thực hiện các nhiệm vụ khác cho bạn. Máy chủ chuyên dụng thường sẽ lấy của bạn vài trăm đô la mỗi tháng, theo giá của SiteGround.

Thiết lập và bảo trì máy chủ

Khi bạn đã có tên miền và dung lượng máy chủ, bạn sẽ phải thiết lập trang web của mình trên máy chủ.

Điều này liên quan đến việc điều hướng tên miền của bạn đến địa chỉ IP duy nhất của máy chủ, thiết lập các tệp và cơ sở dữ liệu trang web (nếu cần) và làm các cấu hình khác.

Bao nhiêu công việc bạn phải làm sẽ phụ thuộc vào gói máy chủ bạn đã mua từ công ty cung cấp. Các gói được chia sẻ đơn giản nhất thường đi kèm với các tính năng one-click sẽ tự động cài đặt WordPress, Drupal hoặc trang web khác cho bạn.

Các máy chủ khác, như Digital Ocean, rất tối thiểu và yêu cầu bạn thiết lập mọi thứ một cách thủ công.

Triển khai tệp đến máy chủ của bạn

Bạn có thể tự hỏi làm thế nào bạn chuyển được các tập tin từ máy tính của bạn đến máy chủ.Bạn có thể thực hiện điều này bằng cách sử dụng một giao thức , về cơ bản là một phương thức vận chuyển các tệp hoặc dữ liệu khác đến và đi từ một máy chủ.

HTTP, cách trình duyệt của bạn tải các trang web, cũng là một giao thức – HTTP là viết tắt của Hypertext Transfer Protocol.

Cách đơn giản nhất là sử dụng một giao thức gọi là FTP (File Transfer Protocol). Tuy nhiên, không nên sử dụng FTP nữa, vì nó không an toàn (không được mã hóa).

Ngày nay, hầu hết mọi người sử dụng các giao thức an toàn hơn FTPS (FTP over SSL) hay SFTP (Secure SHell FTP).

Để FTP / SFTP hoạt động, bạn cần tạo một tài khoản trên máy chủ của mình. Sau đó, bạn sẽ kết nối với máy chủ bằng địa chỉ IP của máy chủ và đăng nhập tên người dùng và mật khẩu để xác thực.

Để truyền tệp qua FTP / SFTP, bạn có thể sử dụng các chương trình như Filezilla hay CyberDuck.Chúng có GUI (graphical user interface) giúp tải lên và tải xuống các tệp đến và đi từ máy tính và máy chủ của bạn tương đối dễ dàng.

Công cụ triển khai

Như bạn có thể hình dung, việc phải tải tệp thủ công lên máy chủ mỗi khi bạn thực hiện một thay đổi nhỏ trong code có thể trở nên tẻ nhạt.

Ngoài ra, mọi thứ có thể gây nhầm lẫn nếu nhiều người đang làm việc trên cùng một tệp và tải lên cùng một lúc.

May mắn thay, bạn có thể thiết lập các công cụ triển khai liên kết vào Git repository của mình.

Công cụ triển khai lưu trữ các cài đặt FTP / SFTP của bạn và khi bạn đẩy một thay đổi trong Git sang nhánh chính của mình, ví dụ vậy, công cụ sẽ chuyển các tệp cho bạn. Bằng cách đó, bạn không cần phải nhớ những tập tin nào bạn đã thay đổi, giảm số lỗi bạn sẽ mắc phải.

Đối với các trang web phức tạp hơn với một nhóm nhiều người, có các công cụ và hệ thống triển khai cao cấp hơn mà bạn có thể sử dụng để làm cho việc triển khai của mình có cấu trúc hơn.

Các hệ thống này nằm ngoài phạm vi của bài viết này, nhưng chúng bao gồm các ứng dụng thực tiễn như continuous integration.

Đọc thêm

Chúc mừng!!

Bạn đã vượt qua hết bài viết này.

Phần kết: Tài liệu học tập được khuyến khích

Như tôi chắc chắn bạn biết, có rất nhiều tài nguyên mà bạn có thể sử dụng để học lập trình.

Tôi đã bao gồm một số hướng dẫn trực tuyến phổ biến, sách và các tài nguyên khác ở đây.

Hoàn thành các khóa học phát triển web

Có một vài khóa học trực tuyến bao gồm tất cả hoặc rất gần với tất cả các lĩnh vực phát triển web.

Nếu bạn không muốn tìm hiểu xung quanh và chỉ muốn tập trung vào một nơi để tìm hiểu mọi thứ, tôi khuyên bạn hãy xem các hướng dẫn sau đây:

freeCodeCamp là một tổ chức phi lợi nhuận cung cấp giáo dục hoàn toàn miễn phí cho các nhà phát triển web đầy tham vọng.

Chương trình giảng dạy của họ là một bộ các khóa học toàn diện từ frontend đến backend (sử dụng Node và Express) và hơn thế nữa!

Nhiều người đã tìm được việc làm toàn thời gian sau khi dùng freeCodeCamp. Bạn cũng có thể đóng góp cho các dự án mã nguồn mở thông qua GitHub.

Một trong những lợi ích chính của freeCodeCamp là tính cộng đồng, với các bảng tin và các nhóm Facebook, vì vậy bạn có thể nhận được nhiều sự hỗ trợ khi học.

Bạn có thể đọc một số đánh giá về freeCodeCamp trên Quora và Reddit.

Udacity cung cấp cả các khóa học miễn phí và các chương trình trả phí gọi là Nanodegrees.

Nanodegrees xây dựng từ các khóa học miễn phí – chúng là những chương trình chuyên sâu (12 giờ / tuần) trong đó bạn xây dựng các dự án của mình và có nhiều tương tác và hỗ trợ trong cộng đồng hơn.

Chúng không rẻ, hiện là $199 / tháng và bạn có thể mất từ ​​6 đến 10 giờ để hoàn thành một cái.

Nếu bạn quan tâm, đây là một số đánh giá về các chương trình Nanodegree của Udacity trên Quora và Hacker News, và Quora answers về sự khác biệt giữa các khóa học miễn phí của Udacity so với Nanodegree.

Team Treehouse là một trang web rất phổ biến để học coding. Họ không có nội dung miễn phí, nhưng họ sử dụng mô hình đăng ký theo tháng.

Treehouse cung cấp các kế hoạch hàng tháng theo cấp bậc (hiện tại là $ 25 hoặc $ 55 / tháng) và bạn có thể tham gia các khóa học không giới hạn.

Bạn thậm chí có thể tạm dừng tư cách thành viên nếu bạn muốn nghỉ một vài tháng và tiếp tục lại sau khi bạn đã sẵn sàng.

Ngoài các khóa học riêng lẻ, họ cũng có các hướng đi như Phát triển Web Java hoặc Phát triển Web Front End và hướng dẫn bạn qua một loạt các khóa học được chọn.

Udemy

Udemy là một trong những nền tảng học tập trực tuyến lớn nhất và có các khóa học không chỉ về coding, mà cả các lĩnh vực chuyên môn và sở thích khác.

Bạn trả tiền cho từng khóa học riêng lẻ và họ có giảm giá thường xuyên trong đó khóa học có giá từ $ 10-20 mỗi khóa.

Tất nhiên, do số lượng lớn các khóa học và người dạy, chúng cũng khác nhau về chất lượng, vì vậy bạn nên nghiên cứu trước khi mua.

Tôi khuyên bạn nên kiểm tra xếp hạng và đánh giá cả trên trang khóa học Udemy và các trang khác trực tuyến.

 

Học viện ảo Microsoft

Microsoft Virtual Academy (MVA) có một bộ các khóa học trực tuyến miễn phí từ C# và Python đến SQL Server và các lĩnh vực khác như phát triển trò chơi.

Một số khóa học phổ biến của họ là Introduction to Programming with PythonC# Fundamentals và SQL Database Fundamentals.

Dưới đây là một vài đánh giá về các khóa học MVA trên Reddit và LinkedIn.

Tài liệu học lập trình

Nếu bạn thích học từ sách, hoặc muốn có một số tài liệu học lập trình web, đây là một danh sách ngắn những cuốn sách mà tôi nghĩ sẽ tốt cho người mới bắt đầu.

Một số là miễn phí và có sẵn trực tuyến để đọc, một số khác là sách giấy truyền thống.

HTML và CSS của Jon Duckett

JavaScript và JQuery của Jon Duckett

Sách của Jon Duckett hoàn toàn là những cuốn sách phổ biến nhất cho các nhà phát triển web mới bắt đầu.

Chúng không chỉ là sách giáo khoa đơn thuần, mà là những cuốn sách được thiết kế đẹp mắt sử dụng hình ảnh và hình minh họa để dạy các khái niệm về lập trình.

6-The Front-End Developer Handbook by Cody Lindley

Cẩm nang dành cho lập trình viên Front-End của Cody Lindley

“The Front-End Developer Handbook” là một cuốn sách học lập trình Front-End trực tuyến miễn phí từ Frontend Masters và được viết bởi Cody Lindley.

Nó được cập nhật hàng năm và bạn có thể nghĩ về nó như là một kim chỉ nam của phát triển web trực tuyến với các thông tin, tài nguyên, xu hướng và công cụ mới liên quan đến lĩnh vực này.

6-Eloquent JavaScript by Marijn Haverbeke

Eloquent JavaScript bởi Marijn Haverbeke

Eloquent JavaScript là một cuốn sách dành cho người mới bắt đầu về lập trình tập trung vào JavaScript.

Bạn có thể đọc nó miễn phí trực tuyến trên trang web, trong đó có một công cụ nơi bạn có thể viết và kiểm tra code khi đọc.

Kết luận

Liệu bạn có thể tự học phát triển web với các tài nguyên trực tuyến trong thế giới lập trình? Tôi tin rằng câu trả lời là có.

Tuy nhiên nó sẽ không dễ dàng chút nào. Học và thành thạo bất cứ điều gì đều khó khăn, và học viết code cũng vậy.

Vì vậy, nếu bạn muốn đi theo con đường đó, đây là một số lời khuyên:

Hãy Tập Trung.

Khi bạn tự học, việc nhảy từ hướng dẫn này sang hướng dẫn khác có thể rất hấp dẫn. Đặc biệt là khi bạn bắt đầu gặp rào cản.

Nhưng điều này có thể dẫn đến việc học rất hời hợt, khi bạn thực sự cần phát triển kiến ​​thức sâu hơn về các kỹ năng.

Cố gắng gắn bó với khóa học / cuốn sách mà bạn đang làm, trừ khi bạn thực sự không thích nó.

Vượt qua những rào cản và những vấn đề cực khó sẽ giúp bạn phát triển sự hiểu biết đầy đủ hơn.

Bất kỳ khóa học nào chỉ đơn giản là bước đầu tiên trong hành trình học tập của bạn.

Chỉ cần tham gia một buổi hướng dẫn hoặc khóa học không có nghĩa là bạn sẽ trở thành bậc thầy khi bạn hoàn thành.

Bạn sẽ phải học và thực hành nhiều lần trước khi bạn thực sự hiểu được nó.

Hãy thử trải qua một hướng dẫn lần thứ hai, hoặc thậm chí học cùng một tài liệu với một khóa học hoặc cuốn sách khác.

Bạn sẽ thấy những người khác nhau giải thích cùng một khái niệm như thế nào và nó có thể giúp kiến ​​thức bám vào não bạn tốt hơn.

Và, tất nhiên, không gì có thể thay thế bằng kinh nghiệm thực tế.

Khi bạn học, hãy cố gắng tự thực hành các kỹ năng mà bạn đang học.

Xây dựng các dự án ngẫu nhiên, làm web miễn phí cho bạn mình hoặc tổ chức hông lợi nhuận. Bạn càng giải quyết được nhiều vấn đề, bạn càng hiểu sâu hơn.

Xem tiếp: Phần 1 | Phần 2

Bạn muốn trở thành lập trình viên chuyên nghiệp trong thời gian ngắn nhất? Bạn muốn có việc làm IT mức lương khủng sau khoá học? Hãy đăng ký các khoá học lập trình online và offline tại Nordic Coder – Trung tâm dạy lập trình uy tín và chuyên nghiệp. Ngoài ra, Nordic Coder còn là cầu nối nghề nghiệp IT giữa học viên và với các công ty công nghệ hàng đầu Việt Nam sau các khoá học lập trình.