Biểu tượng website Khó ăn cát bê tông

Tháng: Tháng Tám 2022

Cách tiếp cận vấn đề (trong việc tự học)

Trong thực tế có 2 cách tiếp cận vấn đề thông dụng. Bạn cần sớm chọn một trong hai để bắt đầu, chần chừ sẽ khiến thời gian bỏ bạn lại phía sau.

Hai cách tiếp cận này hay được áp dụng trong khoa học, nhưng trong đời sống chúng ta cũng cần biết để giải quyết các vấn đề hiệu quả hơn.

Cách 1: từ chi tiết đến tổng quát (quy nạp)

Đi từ quan sát, hình thành mẫu, giả thuyết cần chứng minh, lý thuyết

Quy nạp có gì đó mang tính chất làm để học. Bắt tay vào quan sát, thử bắt tay làm, rút ra được những mẫu thứ chung, rồi kiểm nghiệm, cuối cùng đưa ra lý thuyết mang tính tổng quát hóa.

Quy nạp giúp ta hiểu được cái chung, tổng quát từ những cái riêng, bộ phận.

Cách 2: đi từ tổng quát, chung đến riêng, bộ phận (diễn dịch)

Đi từ lý thuyết đến giả thuyết, quan sát, cuối cùng xác nhận

Bạn sẽ tìm hiểu lý thuyết trước, rồi xem cách cách người ta đặt giả thuyết, quan sát, lập luận, cuối cùng là xác nhận.

Diễn dịch giúp cho từ cái chung, tổng quát hiểu được cái riêng.

Hai cách trên đều giúp người tiếp cận nâng cao quá trình nhận thức. Không có cách nào ưu điểm hơn cách nào mà tùy từng tình huống áp dụng một cách linh hoạt.

Cách 3: vô chiêu nghĩa là hữu chiêu, hữu chiêu cũng là vô chiêu

Cách này lắm lúc mang lại sự thực dụng đáng ngạc nhiên, nhưng trên thế giới người ta không đánh giá cao cách làm thiếu hệ thống như cách này.

Khi là người mới học, người mới trong một lĩnh vực, bạn đừng nên áp dụng cách 3 này bởi vì nó sẽ không giúp ích, sẽ lặp lại rất nhiều sai lầm để học hỏi, tốn thời gian.

Chỉ nên sử dụng cách này khi bạn đã lên một mức gọi là thuần thục trong nghề. Giống như một võ sư, phải ở mức như Lý Tiểu Long, ông ấy mới cảm thấy Vịnh Xuân Quyền là gò bó, nên đã sáng tác ra Tiệt Quyền Đạo. Chuyện này hiếm, bạn khoan mơ mộng.

Cách 4: dễ áp dụng cho người ít học hành trường lớp

Giả sử thuở đi học bạn chán ghét trường lớp, hoặc bạn nghỉ học sớm, đâu đó chưa hết trung học phổ thông, điều đó không có nghĩa rằng khi ra đời bạn hoàn toàn là một kẻ dốt nát, bạn có thể vượt lên chính minh, hoặc hơn người khác bằng con đường tự học.

Học suốt đời quan trọng hơn nhiều so với chỉ học ở trường lớp, khi rời trường là ngừng học hỏi. Có những lĩnh vực, trường đời tốt hơn trường học nhiều, và đa phần người ta hơn nhau ở trường đời, thành tích trường học chỉ là quãng thời gian trước khi trưởng thành.

Bạn có nhận xét thấy rằng ở trường học thì bạn được học bài học trước, sau đó mới thực hành, mới làm bài và chấm điểm. Trong khi đó, trường đời hoàn toàn ngược lại: bạn phải làm, thất bại, thậm chí là thất bại thảm hại/ phá sản/ trắng tay/ nếm trái đắng…. đủ kiểu rồi mới học được bài học.

Vậy thì, cách học KACBT muốn nói ở đây là bạn có thể tháo tung cái máy tính ra để học. Học làm web thì bạn có thể quậy tưng một trang web lên, mở mã HTML của nó ra thay đổi cái nọ cái kia để hiểu cách nó hoạt động.

Tất nhiên, những thứ như đồ gia dụng, những thứ vật hiển hiện dạng vật lý sờ mó được sẽ dễ hiểu hơn cho phần đông người trong chúng ta, so với những thứ trừu tượng như thuật toán viết mã, phần mềm.

Trong quá trình học chắc chắn sẽ có những lúc khó khăn, nản lòng, mông lung, vô định,… vì thế không phải đóng cửa trong phòng “tu luyện” mà còn phải tìm câu lạc bộ, hội nhóm để tới đó giao lưu, học hỏi, gặp gỡ những người đi trước, bạn đồng hành để việc học trở nên vui vẻ, nhẹ nhàng hơn, được động viên bởi những người “cùng hội cùng thuyền”.

Khóa học chính thống, xịn sò về Web

Thông tin trên mạng rất nhiều, thừa mứa dẫn đến tình trạng tin dỏm, tin giả, tin kém chất lượng,… làm bạn lạc vào mê hồn trận. Hệ quả là nhiều người chưa vững về infomation literacy, Web literacy, digital literacy… sẽ lạc lối, không tìm ra được cái mình cần dù biết nó đang tồn tại ngay phía sau ô tìm kiếm.

KACBT xin cung cấp đến bạn một số khóa học về Web chất lượng, miễn phí bằng tiếng Anh. Nếu bạn có thể học được trực tiếp từ các trang đó thay vì các bài viết ở website KACBT này quả là tuyệt vời, chúng tôi cũng có dịp… làm biếng.

  • W3Cx – Free online courses from The World Wide Web Consortium (W3C): có nhiều khóa học khác nhau liên quan đến web, bạn chỉ cần học lần lượt theo các mô-đun được liệt kê trên đó.
  • Nếu bạn có thể nghe – hiểu tiếng Anh tốt, thích cách học sinh động có kèm media, một khoá học Build your first web pages with HTML and CSS của Google cũng rất tuyệt.
  • Một dạng khác không phải khoá học mà học kiểu tương tác như chơi game, một số người học rất hiệu quả với phương pháp này, bạn có thể thử với learn-html chấm org

KACBT tự hào là một trong những người rất ít tham gia vào việc lan truyền tin giả trên mạng xã hội, cũng như có khả năng thẩm định thông tin bởi vì tiếp cận Internet từ khá sớm, công việc cũng liên quan đến việc sàng lọc thông tin rất nhiều nên độ nhạy về thẩm định thông tin khá cao.

Những lưu ý cần nhớ nằm lòng

Lưu ý cho người chỉ mới học HTML, CSS, JavaScript

Khi cài đặt XAMPP, tốt hơn hết là cài vào ổ đĩa D: hoặc E: thay vì C: mặc định. Lý do: khi Windows bị hỏng, bạn thường hay cài lại, mọi thứ bạn học có nguy cơ biến mất nếu không nhớ sao lưu.

Ban đầu, lúc mới học web tĩnh, chỉ bấm nút Start theo mũi tên đỏ ở hình bên dưới khi khởi động XAMPP mà thôi, chưa cần các chức năng khác.

Hình 1. Click nút Start để khởi động máy chủ web ApacheApache

Một khi máy chủ Apache đã chạy thành công, nút sẽ chuyển sang Stop. Nếu hiện lên dòng chữ màu đỏ báo lỗi nào đó cần phải khắc phục trước khi truy cập http://localhost/

Giả sử nếu cài XAMPP vào D: thì thư mục D:\xampp\htdocs sẽ là thư mục gốc.

Ở các bài thực hành bạn cần tạo/ lưu file vào htdocs và/ hoặc tạo thư mục con trong thư mục này và đặt cái file HTML, image, JS, CSS vào đó.

Sử dụng trình soạn thảo thô sơ mục đích là để có thể nhớ được nằm lòng một số thẻ HTML.

Tránh trường hợp mới học đã sử dụng trình soạn thảo có chức năng nhắc bài “đến tận chân răng”. Vội vàng dùng công cụ mạnh sẽ dẫn đến tình trạng lơ mơ, thiếu ghi nhớ được vài thứ căn bản buộc phải nhớ.

Khi đi phỏng vấn xin việc, nhà tuyển dụng cho bài kiểm tra trên trình soạn thảo thô sơ, ứng viên không thể nhớ được các thẻ đơn giản, thông dụng đã lộ ra rằng rất thiếu chuyên nghiệp, không vượt qua vòng phỏng vấn.

Lưu ý cho người đang học PHP

Với những bài học chưa cần đến cơ sở dữ liệu, chỉ cần khởi động gống Hình 1 ở trên. Khi nào học đến bài có cơ sở dữ liệu mới bấm nút Start ở dòng có chữ MySQL.

Cần phải nắm về HTML, CSS, JavaScript trước khi bắt tay học PHP. Đừng nghe người khác/ trên mạng xã hội nói rằng mấy cái kia không cần phải biết vì đó là lập trình front-end, còn PHP là lập trình back-end. Sai lầm chết người đấy!

Nếu bạn chỉ biết back-end, biết quá ít hoặc không biết tí gì về front-end, bạn sẽ giống như mấy gã được thuê khiêng vác dụng cụ cho sân khấu mà thôi.

Lưu ý chung cho người mới học

Sau khi kết thúc buổi học nếu bạn không có thói quen để máy tính chạy 24/7 thì bạn cần phải đóng hết các phần mềm bạn đang dùng, nhất là các phân mềm thực hành trong quá trình học. Gợi ý:

  1. Trình duyệt Microsoft Edge trên Windows 10, 11 cho đến tháng 8/2022 chưa hỗ trợ định dạng file hình ảnh AVIF, bạn sẽ không thấy được hình ảnh minh họa. Do vậy, đề xuất sử dụng trình duyệt Mozilla Firefox hoặc Google Chrome.
  2. Đóng trình duyệt web: nếu trình duyệt có ghi nhớ tab cho lần mở sau, tốt hơn hết là đóng hết từng tab để lần sau mở trình duyệt lên không bị nặng máy, hết RAM nếu máy không mạnh lắm.
  3. Đóng trình soạn thảo mã: những gì cần save thì khi được hỏi bạn nhớ Save, tránh lần sau ngồi gõ lại mất thời gian vô ích hoặc không nhớ bài cũ đã học gì.
  4. Đóng XAMPP: bấm các nút Stop ở những dòng Apache, MySQL để máy chủ được đóng, dữ liệu được lưu hoàn chỉnh.

Những lưu ý trên có vẻ thừa thãi? Thực sự, bạn cần tập thói quen “thực hành tốt” ngay từ đầu để sau này trong việc làm web sẽ mang tính chuyên nghiệp, có tác phong công nghiệp cao.

Lập trình back-end là gì?

Bạn cứ xem một trang web, một web site như một sân khấu sự kiện hoặc một bộ phim bạn xem đi cho dễ hình dung. Phần mà bạn thấy được gọi là front-end, nếu dùng tiếng Việt nó gần như là giao diện hoặc mặt tiền trang web vậy.

Vậy, phần mà bạn không nhìn thấy, như ở sân khấu, ở phim trường, những công việc vận hành nội bộ đó được xem như back-end.

Nói theo ngôn ngữ CNTT, lập trình back-end chính là lập trình ở phía server (server-side programming). Tức là mã bạn viết ra được đặt trên server, được xử lý bởi web server chứ không phải trên trình duyệt của người duyệt web.

Phần bên trái thể hiện back-end.

Suy ra từ việc làm một bộ phim, bạn sẽ dễ dàng thấy rằng kết quả của back-end sẽ được chuyển giao cho front-end để phục vụ người xem. Phim thì gọi là khán giả, những người duyệt web thì gọi là người dùng (user) hoặc khách truy cập web (visitor).

Các ngôn ngữ lập trình thường dùng để viết mã cho back-end: Python, PHP, JavaScript, Ruby, Java, C#

Với những dự án web lớn, người ta thường dùng các khung mẫu (framework) và/ hoặc thư viện (library) có sẵn thay vì làm từ đầu.

Vài framework thông dụng: Laravel (PHP), Django (Python), Spring (Java), Ruby on Rails (Ruby), Meteor (JavaScript), Node.js (môi trường phát triển JavaScript), ASP.NET MVC (C Sharp).

Cũng cần phải có cơ sở dữ liệu để lưu trữ thông tin vì bản thân ngôn ngữ lập trình tự nó không thể quản lý dữ liệu hiệu quả. Người lập trình back-end thường dùng một trong các hệ quản trị cơ sử dữ liệu (CSDL): SQLite, MongoDB, MySQL, Oracle, SQL Server, IBM DB2,…

Để kết quả tạo ra trả về được cho client (tức trình duyệt web hoặc phần mềm đóng vai trò client) thì phải có web server. Những web server thông dụng: Apache, Nginx, Lighttpd, Litespeed, Caddy, Microsoft IIS, Tomcat, Jetty.

Một số trong những thứ kể trên đi với nhau theo dạng combo nên người ta sẽ gọi tắt thành các tên bạn thương gặp như: LAMP stack, MEAN stack, MERN stack, JAMStack.

Tất nhiên, không bắt buộc bạn phải đi theo bộ chuẩn như trên nếu bạn là một người viết mã khá. Nếu áp dụng cách kết hợp lạ, bạn sẽ đối mặt vấn đề khó tra cứu, tham khảo tài liệu trên các cộng đồng chia sẻ công cộng về lập trình một khi bạn gặp vướng mắc trong quá trình lập trình, viết mã.

Đồ nghề cho người mới bắt đầu

Những công cụ bạn cần phải trang bị cho máy tính của bạn trước khi bắt đầu, nếu không, bạn sẽ chẳng có cái gì để thực hành theo những bài viết.

  1. Trình soạn thảo văn bản thô Notepad Plus Plus
  2. Máy chủ web (web server) XAMPP. Xem thêm hướng dẫn cài và dùng XAMPP.
  3. Trình soạn thảo code trực tuyến CodePen (cần tạo tài khoản để có thể lưu code)

Trình duyệt web thì có thể dùng Mozilla Firefox, Microsoft Edge hoặc Google Chrome, Safari đều được. Một trong những trình duyệt này sẵn có trên máy tính của bạn.

Dùng ảnh AVIF cho tốc độ nạp cao

KACBT từ ngày 23-08-2022 thử áp dụng ảnh AVIF để tiết kiệm dung lượng lưu trữ một phần, một phần giúp cho trang nạp xuống nhanh hơn. Việc này có thể làm mất thời gian hơn một chút bởi vì WordPress chưa chính thức định dạng này.

Thay vì nói dài dòng, biểu diễn luôn cho bạn thấy hình ảnh bên dưới:

Cô thợ rèn tốc độ
Ảnh ban đầu PNG 552.987 bytes, ảnh bạn đang thấy 54.124 bytes

Ảnh gốc và ảnh AVIF cách nhau khá nhiều, ảnh AVIF chỉ có kích thước 10% so với ảnh gốc, nhưng chất lượng xem trên màn hình máy tính, điện thoại thông dụng gần như không giảm bao nhiêu.

Điều đó nói lên rằng nếu bài này có chừng 10 hình ảnh, KACBT đã giảm được kha khá kích thước file. Từ đó giúp cho trang web nạp xuống trình duyệt người vào đây học làm web nhanh chóng hơn. KACBT cũng tiết kiệm được không gian lưu trữ trên web server.

Cách dùng ảnh AVIF hơi mất công nhưng khá đơn giản

  • Upload ảnh JPEG hoặc PNG đang có lên trang avif chấm io để chuyển đổi định dạng. Kết quả sẽ tải về được file ảnh dạng AVIF.
  • Dùng trình FTP client để upload ảnh vừa tải về lên thư mục wp-content/upload/2022/08 (thay bằng năm, tháng hiện tại). Nếu muốn upload qua chức năng Media của WordPress đòi hỏi phải chỉnh chút ít code trong file functions.php, ngoài phạm vi bài viết này.
  • Chèn hình ảnh định dạng AVIF vào bài viết của bạn với chức năng “Chèn từ URL” khi dùng hộp thoại chèn ảnh lúc soạn thảo bài.

Quy ước khi học, đọc bài PHP

Sau đây là các quy ước trong những bài viết về lập trình web với PHP. KACBT thường xuyên cập nhật, bổ sung để tốt dần theo thời gian.

Con voi là biểu tượng của ngôn ngữ PHP

PHP là một ngôn ngữ lập trình nói hẳn là khá kém về mặt thiết kế. Lúc thì PHP phân biệt chữ HOA, chữ thường, lúc lại không nên rất gây sự bực mình với những người đã học các ngôn ngữ có thiết kế đẹp trước đó.

Rồi các thứ khác cũng lộn xộn cả lên trong cú pháp, cách đặt tên hàm… nói chung là đầy nhược điểm.

Thật quái lạ, PHP lại là ngôn ngữ khá dễ học cho người bắt đầu. Dân tay ngang nhảy vào làm web rất yêu thích bởi vì việc cài cắm đơn giản, sớm bắt đầu viết được ngay những dòng mã “sờ thấy được” mà với các ngôn ngữ khác người học có khi mất đến 5-7 buổi đầu tiên.

Ngôn ngữ PHP – một ngôn ngữ lập trình dở ẹc

Bạn cần đọc các bài ở PHP-FIG để học theo cách viết mã trên ấy. Sau đây, KACBT liệt kê ra một số thứ nên áp dụng trong ngày học đầu tiên.

Quy cách viết mã PHP theo chuẩn

  1. Luôn dùng mở đầu file PHP dạng dài. Tức là vào file phải là dấu bé, php rồi dấu hỏi. Không áp dụng cách viết mã tắt vì khi thay đổi môi trường mà web server không phải do ta cài đặt, cấu hình sẽ gây nguy cơ mã không chạy được.
  2. Khi lưu file PHP phải ở dạng encoding là UTF-8 without BOM. Nếu bạn dùng Notepad++ mặc định đã đạt điều này mà không phải chỉnh sửa gì thêm, chỉ cần lưu file bình thường.
  3. Ký tự xuống