Nghề lập trình website – Các khái niệm nhập môn mà một coder cần nắm
Các bạn đang muốn học lập trình website, nhưng lại có quá nhiều kiến thức ở trên mạng làm cho bạn cảm thấy khó hiểu và lang man. Isinhvien sẽ chia sẽ với các bạn những kiến thức tóm gọn nhất để khi học song series lập trình web của Isinhvien các bạn điều có thể làm việc được.
Phút trải lòng nghề coder
Chào bạn! Dù bạn là ai nhưng khi tìm kiếm và đọc được bài viết này mình dám chắc rằng bạn đang khá là hứng thú với nghề lập trình website, tò mò và khát khao tạo ra được một trang web – cái mà ngày nào bạn cũng lướt cũng đọc. Và bạn cũng đang rất mông lung vô định giữa muôn vàng kiến thức trên mạng internet về kỹ thuật lập trình website. Xin chúc mừng bạn bài viết này mình sẽ giúp bạn giải đáp tất cả những điều trên.
Mình đoán rằng trong đầu bạn đang lờn vờn khá nhiều câu hỏi, hãy xem dưới đây có phải là những điều bạn đang đắn đo không nhé:
Bạn không học qua trường lớp gì về lập trình? Liệu bạn có thể học được lập trình web hay không?
Hoàn toàn có thể bạn nhé! Bản thân mình người lập ra trang web Isinhvien này không học qua trường lớp gì về công nghệ thông tin cả, mình cũng xuất thân từ vùng quê nghèo khó và tự học lập trình trên anh bạn google cùng chiếc laptop “cực cùi” thời đó. Ngày đó mông lung như một trò đùa và không nhiều thông tin khóa học như bây giờ đâu, tuy nhiên “Vững niềm tin, cứ đi ắt sẽ đến“.
Lên mạng quá nhiều kiến thức! Rối quá không biết bắt đầu từ đâu?
Đúng vậy! Do chưa có cái nhìn tổng quan về nghề lập trình website và không nắm được các thuật ngữ về nghề lập trình web cho nên bạn sẽ rất khó khăn trong việc tìm kiếm thông tin để giải quết vấn đề. Lời khuyên của mình cho bạn là hãy tìm ngay một người Thầy (có thể là bạn bè, anh chị em hay bất cứ ai đã đang làm nghề này hoặc đi học ngay 1 khóa học) để học những kiến thức nền cơ bản trước. Sau khi có cái sườn vững rồi mọi dự án hay vấn đề gì khó khăn về lập trình web mình cứ lên Gu Gồ là sẽ ra bạn nhé. Trong bài viết này mình có nói cụ thể về các bước để học lập trình web đó, nhớ đọc cho hết nhé!
Bạn chưa biết bản thân mình có phù hợp với nghề coder hay không?
Đầu tiên phải nói đến là đam mê, bạn phải thích món này, hạ quyết tâm học cho được và chắc chắn rằng nó không phải là cái gì đó dễ học như kiểu mấy bài văn mẫu ở cấp hay hay một vài cái đề Toán theo khuôn mẫu chỉ cần lên google là ra đáp án đâu đó.
Theo ý kiến chủ quan của mình thì bạn nào có tính logic tốt, học giỏi Toán ở hồi cấp 2 á, và có sở thích giải quyết vấn đề thì học cái này cực ngon. Mình có viết 1 bài nói sơ qua về các yếu tố cần có để học lập trình website. Bạn đọc qua tham khảo thử nhé.
Nghề này có dễ xin việc có làm ra tiền được không
Tất nhiên là có! Bản chất nghề nào bạn cũng có thể kiếm ra tiền và nhiều tiền đặc biệc khi bạn trở nên “cao thủ” trong nghề đó. Coder cũng vậy, mức lương hiện tại cho nó ở thời điểm mình viết bài này khá hấp dẫn ( phải gấp đôi so với nhóm kĩ thuật). Cái hay của nghề này là bạn hoàn toàn có thể tự tạo ra một sản phẩm cho mình và kiếm tiền từ nó một các thụ động. Có thể làm ở nhà tự do về thời gian… Nếu bạn có tư duy kinh doanh và tầm nhìn dài hạn, bạn hoàn toàn có thể kiếm nhà kiếm đất đơn giản từ nghề này (mình vẫn chưa làm được :D) !
Thôi không dài dòng lê thê nữa đi vào bài thôi, nãy giờ vòng vo chứ chốt lại chỉ có 1 câu “Thích là nhích, chẳng ngán bố con thằng nào”.
Website là gì? Nghề lập trình web là làm gì?
Trước khi muốn làm website thì bạn phải hình dung ra website nó là cái gì đã nhé. Hãy nhìn sơ đồ bên dưới và đọc những chú thích của mình nhé.
Nhìn vào sơ đồ trên ta sẽ thấy được rằng bằng việc sử dụng một trình duyệt có kết nối internet Người dùng sẽ tương tác được với website và website sẽ trả về dữ liệu gì đó ( có thể là 1 hình ảnh, chữ hay cái gì bất kì) cho người dùng. Và trên sơ đồ bạn sẽ thấy 1 cái web nó sẽ gồm có 3 thành phần cơ bản đó là:
Máy chủ
Nôm na bạn có thể hiểu nó giống như một cái CPU máy tính vậy đó công việc của nó là lưu trữ và xử lý yêu cầu của lập trình viên, tất nhiên nó thông qua những cú pháp câu lệnh tin học chứ kg phải kiểu như mấy con robots nói gì làm nấy đâu. Và tất nhiên cái này trên thị trường người lập trình website chỉ cần đi thuê thôi. Giá nó cũng khá rẻ chứ kg có đắt lắm.
Những thuật ngữ như máy chủ nước ngoài máy chủ việt nam bạn hay nghe thì đơn giản là nếu bạn thuê 1 máy chủ của công ty ở Việt Nam thì cái CPU đó nó đặt ở Việt nam vậy thôi. Nếu bạn làm một trang web cho người Việt truy cập thì bạn mua máy chủ Việt Nam nó sẽ nhanh hơn vậy thôi. Tuy nhiên theo kinh nghiệm nhiều năm của mình thì mình kg thích dùng máy chủ Việt Nam lắm vì nó đắt quá. :v. Theo kiến thức của mình thì mình phân làm 4 loại máy chủ như sau trên thị trường:
- Hosting: Đây cũng có thể coi là loại bèo nhất, rẻ nhất và cũng dễ sử dụng nhất. Loại này phù hợp cho các bạn mới nhập môn vì chỉ cần mua là xài, không có cần cài đặt config gì nhiều cả. Mình khuyến khích các bạn nếu mua hosting tập code lần đầu thì nên mua ở hawkhost nhé. Rẻ mà nhanh.
- VPS: Bạn chỉ cần hiểu thằng này cao cấp hơn Hosting 1 chút. Bạn cứ tưởng tưởng như thế này. Thằng Hosting nó giống kiểu bạn ra Phi Long mua một cái CPU đã cài sẳn tất cả mọi thứ, đem về găm điện là xài thì cái thằng VPS nó giống kiểu mua một cái CPU khổng lồ nhưng chưa được cài hệ điều hành. Về bạn thích cái Hệ Điều hành gì thì bạn cài. Ưu điểm của VPS là giá rẻ hơn. Ưng dùng kiểu gì dùng chứ kg bị giới hạn số website hay số cơ sở dữ liệu như bên thằng Hostting. Nhưng nhược điểm là bạn phải có chút kiến thức về cài đặt script cho VPS. Khuyến nghị bạn sử dụng script Dlemp hay còn gọi là VPSSIM. Còn mua VPS thì bạn có thể mua ở Digital Ocean
- SERVER: Thằng này thì nó giống y như VPS nhưng mà nó khủng hơn. Khi giải pháp VPS không chịu nổi thì mới nhắm qua cái thằng này.
- SERVER VẬT LÍ: Thằng này lại y như thằng SERVER tuy nhiên nó là bạn mua luôn cái CPU vật lý mang về nhà bạng găm điện nối mạng cho nó luôn.
Thật lòng mà nói thì gần 10 năm lập trình rồi mà mình vẫn chưa cần dùng đến SERVER nên thôi các bạn chưa nên vội tìm hiểu nó làm gì cho nhọc đầu. Theo kinh nghiệm của mình ở thời điểm mình viết bài này thì mình đề xuất các bạn nên sử dụng VPS là hợp lí nhất. Giá thuê rẻ nhất là 5$ trên 1 tháng.
Domain
Domain hay còn được gọi với cái tên dân dã là “Tên Miền”. Bạn cứ hiểu như thế này khi bạn mua 1 cái “Máy chủ” về thì bạn sẽ có 1 cái IP dạng kiểu như Ip mạng của bạn á 142.69.69.69 đại loại thế. Tuy nhiên cái IP thực tế của bạn nó không có hay và dễ nhớ như mình ví dụ đâu cho nên giải pháp là ta phải sắm cho nó một cái domain để cho người dụng họ còn nhớ mà gõ lên trình duyệt. Ví dụ isinhvien.com là một domain đó nha.
Ví dụ cụ thể như mình đi thuê cái máy chủ có ip là 124.231.233.12 để làm cái web Isinhvien thì lẽ dĩ nhiên bố ông nội mình cũng thể nhớ được để truy cập được cho nên mình phải rút rụt đi mua cái domain isinhvien.com giá gần 10 tô bún giò để config cho cái máy chủ của mình. Sau khi config ok thì “bố ông nội” nhà mình sẽ thong thả hơn vì méo cần nhớ cái IP ngoặc nghèo kia nữa mà chỉ cần gõ cái chữ isinhvien.com là truy cập vô máy chủ đó được rồi.
Tên miền thì cũng như máy chủ có tên miền việt nam (loại .vn á) tên miền quốc tế. Cái này thì các ông tự tìm hiểu nha. Cơ bản cứ dùng .com quốc tế vươn tầm thế giới.
Liên quan đến Domain thì chúng ta còn có khái niệm Sub Domain nữa. Ví dụ bạn mua domain là isinhvien.com thì bạn có thể sử dụng được cái domain kiểu tenban.isinhvien.com. Bạn muốn tạo bao nhiêu sub domain cũng được và ưng đặt là gì thì đặt. Cái này cũng thường xuyên được ứng dụng nên anh em lưu ý nhé. Còn các thức cấu hình như thế nào để được cái sub domain thì mai mốt mình viết bài khác nhé anh em.
Xong bài này mình sẽ có hướng dẫn chi tiết 1 bài để setup 1 cái web nhưng nếu bạn nào tò mò muốn hỏi mua domain ở đâu thì lại theo ngu kiến trong 10 năm lập trình của mình thì mình đề xuất nên mua domain ở Namesilo nhé. Ở đây giao diện nhìn cùi cùi cơ mà giá cả rất oki và gia hạn cũng như mua domain xử lí auto nhanh lắm. Mua domain xong rồi thì còn cái khâu quản lí domain nữa, Bạn có thể quản lí domain ngay trên trang namesilo nhưng để tối ưu và xịn xò thì ta nên quản lí nó ở cloudflare.
Code – Mã nguồn
Rồi….! Đây có lẽ là phần hấp dẫn nhất và cũng là cái vấn đề gối đầu của các lập trình viên. Bởi lẽ 2 phần trên máy chủ và domain thì lập trình viên hoàn toàn có thể mua được còn riêng cái Code thì bạn phải tự lập trình nhé. Gõ từng chữ viết từng số để làm nên một trang web. Và trang web xịn xò hay như thế nào thì đều phụ thuộc vào cái gọi là code này đó bạn nhé.
Tóm lại chúng ta tạm hiểu rằng công việc của lập trình viên website chính là viết code mã nguồn kết hợp config nó với máy chủ và domain để tạo nên một trang website hoàn chỉnh
Rồi lại câu chuyện cũ, muốn làm được cái gì thì ta phải hiểu rõ về cái đó đã. Nãy giờ chúng ta đã biết công việc chính của lập trình viên web là viết mã nguồn cho web. Vậy mã nguồn là gì?
Mã nguồn là gì?
Nôm na nó là cả đống chữ ngoằn nghèo theo cú pháp (ngôn ngữ lập trình) nhất định mà máy tính nó hiểu được, người lập trình viên phải viết nó ra và có sự kết hợp với nhau để có thể tạo nên một trang web hoàn chỉnh. Dự án của mình có những cái đã từng gõ từng chữ một mà nén lại nó gần 2M byte thì bạn có thể hiểu nó như thế nào?
Ngắn gọn Mã nguồn là bộ file, chữ được viết bằng nhiều ngôn ngư lập trình khác nhau miễn sau nó hoạt động được trên trình duyệt.
Hiện nay có rất nhiều ngôn ngữ lập trình tuy nhiên để tránh hoang mang mình sẽ đề cập đến 3 loại ngôn ngữ lập trình cơ bản để viết nên một bộ mã nguồn cho 1 website đang được sử dụng nhiều nhất hiện nay.
- HTML: Là cái sườn để tạo nên giao diện của trang web. Ví dụ như trang web là một cái nhà thì HTML chính là hệ thống dầm cột, tường vách.
- CSS: Nó có chức năng trang trí định dạng cho các phần tử HTML. Trong ví dụ cái nhà trên thì CSS có thể xem như là màu sơn, gạch ốp lát trong cái nhà đó nhé.
- JAVASCRIPT: Để lập trình cách mà chương trình hoạt động dưới sự tương tác của người dùng đối với website.
- PHP: Nó là kiểu ngôn ngữ xử lí phần lõi bên trong. Rất là quan trọng nhé
- SQL: Nó là phần lưu trữ data của web. Ví như bạn tạo 1 trang web truyện thì nó có rất nhiều chữ. Phần chữ này bạn không thể ngồi gõ thành từng file được mà sẽ lưu vào databyte và khi nào dùng đến data nào thì mình query đến data đó để hiển thị ra.
Còn rất nhiều ngôn ngữ lập trình web nữa nhé nhưng ở đây mình không liệt kê ra hết phần vì mình chưa có nhiều kiến thức về những ngôn ngữ đó phần vì mình kg muốn các bạn bị hoang mang.
Đến phần này chắc bạn đang rất là hoang mang và khóc théo vì sao lại nhiều thứ phức tạp vậy đúng kg. Thế đéo nào làm cái web lại phải viết nhiều chữ như vậy đúng không. Tuy nhiên bạn không cần lo lắng chính vì sự khó khăn đó nên đã sinh ra thuật ngữ Framework code.
Framework là gì?
Vâng! nó đây. Framework chính là một bộ mã nguồn được viết sẳn để làm một chức năng 1 loại web gì đó để cho các lập trình viên tải về và sử dụng cho nhanh gọn, không cần tốn công để viết từng chữ 1 nữa. Mỗi framework nó sẽ có bộ tài liệu hoàn chỉnh và ví dụ cụ thể để lập trình viên tham khảo sử dụng.
Và tất nhiên nó có vô vàng framework khác nhau trên thị trường. Mỗi framework nó sẽ có 1 chức năng và thế mạnh riêng, tùy theo nhu cầu và thói quen của lập trình viên mà bạn có thể sử dụng phù hợp.
Tuy nhiên cũng theo tiêu chí nhanh gọn lẹ mình sẽ hướng dẫn các bạn 4 framework huyền thoại đủ để viết nên 1 trang web xịn xò hoàn chỉnh.
- Bootstrap: Đây được coi là huyền thoại trong việc làm giao diện HTML và CSS cơ bản.
- jQuery: Framework javascript phổ biến nhất
- Codeigniter: Trùm framework về PHP.
- WordPress: Mã nguồn siêu cấp vip Pro. 3 cái FW bên trên nó là 3 FW đơn lẽ cho 3 ngôn ngư lập trình chỉ dùng được cho 1 chức năng, phần tử. Còn riêng WordPress nó là 1 framework (mã nguồn) hoàn thiện tuyệt đối để làm nên 1 website. Bạn chỉ cần cài đặt nó là có 1 website và hầu như chức năng nào nó cũng có plugin hỗ trợ hết. Sướng vkl luôn. Tuy nhiên nó chỉ phù hợp làm 1 số web nhất định và phố biến thôi. Còn những chức năng mới lạ theo yêu cầu thì bạn phải biết lập trình tốt mới sửa chữa nâng cấp nó được.
Cần chuẩn bị gì để bắt đầu viết code chạy website online
Đây đây mình sẽ hướng dẫn các bạn các bước bắt đầu. Mình sẽ có 1 bài tuần tự cầm tay chỉ việc cho việt setup 1 website online sau tuy nhiên để test code và vọc code bạn có thể chuẩn bị 2 thứ sau.
- Chuẩn bị hosting domain: Tất nhiên là bỏ tiền mua rồi, cơ mà yên tâm nếu ngại tốn $$ bạn có thể tải phần mềm giả lập máy chủ và domain đó là xampp. Phần mềm này sẽ biến cái máy tính của bạn thành 1 máy chủ và có 1 domain là locahost cho bạn xài. Các bạn google để tìm cách cài cái này nhé
- Phần mềm lập trình: Chắc chắn không thể thiếu rồi. Mình khuyến nghị dùng Sublime text nhé. Nhỏ gọn nhanh lẹ.
Bài này mình xin phép kết thúc ở đây, mong các bạn đọc được cố gắng tiêu hóa được nó để có cái nhìn tổng quan hơn về website và nghệ lập trình website. Trong seri bài này mình sẽ cố gắng viết thêm nhiều bài cụ thể hơn và tuần tự hơn để các bạn có thể học được món web này, cảm ơn các bạn đã đọc đến đây. Nhớ Like và share để động viên mình nhé. Cụ nào copy xin nhớ để nguồn nha các cụ.