--------------- <> -----------------
--- 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

Ngu ngơ học làm web (7) - Một số nguyên tắc khi viết HTML & CSS

tiếp theo của: Ngu ngơ học làm web (6) - Cơ bản về CSS
---------

Phần 7.       Một số nguyên tắc khi viết HTML & CSS

Tới đây đã thấy quen quen với HTML và CSS rồi.

Xem clip sau để biết cách viết và tổ chức mã HTML & CSS tốt hơn (tác giả trình bày hơi chậm, nên thiết lập tốc độ phát là 1.25).


Một số nguyên tắc trong clip có nói tới:

-        Viết mã linh hoạt, dễ điều chỉnh (skinable)

Ví dụ: chỉ sử dụng HTML để tạo ra cấu trúc nội dung và ngữ nghĩa cho một trang web, việc trang trí, định dạng là nhiệm vụ của CSS.

-        Viết mã dễ đọc/dễ hiểu (sensible)


Khi cần đặt tên (id, class) nên chọn tên dễ hiểu/rõ nghĩa. Đặt tên theo danh từ (What – là gì?), hạn chế việc đặt tên theo tính từ/trạng từ (How), ví dụ: nên đặt là sidebar, header; không nên đặt là red_link, right_column.

Đọc thêm một số gợi ý về cách đặt tên: https://www.webfx.com/blog/web-design/css-tip-2-structural-naming-convention-in-css/

- Viết chú thích (comment) khi lập trình.

– Xây dựng một danh sách các tên thường dùng để các thành viên trong nhóm cùng thống nhất sử dụng.

Đọc thêm một số quy tắc do Google đề nghị:


-        Viết mã đơn giản (simple)


Viết mã đơn giản để viết nhanh, đọc nhanh và tăng tốc độ tải trang.

-        Viết mã có ngữ nghĩa (semantic)

Viết mã có ngữ nghĩa giúp máy tính và các hệ tự động có thể hiểu được mã nguồn. Hỗ trợ việc xử lý tự động, tăng thứ hạng trong các kết quả tìm kiếm (SEO).

Sử dụng các thẻ HTML phù hợp với mục đích.

-        Viết mã để trang web chạy nhanh (speed)

Trang web chạy nhanh giúp người sử dụng cảm thấy thoải mái, tăng hiệu quả của một website.

Các yếu tố ảnh hưởng tới thời gian hiển thị một trang web: quá trình client gửi request tới server, server xử lý request, truyền dữ liệu từ server về client, web client kết xuất trang web, quá trình hiển thị trang web tại client.

Tuy nhiên, cần lưu ý, mã nguồn chạy nhanh thường khó hiểu.


Đọc thêm các phương pháp để tăng tốc độ tải trang khi lập trình front-end: https://www.keycdn.com/blog/frontend-optimization

-        Viết mã theo chuẩn (standard)


Viết mã theo đúng chuẩn đã được quy định trong các đặc tả. 

Đọc thêm về Markup validator: https://validator.w3.org/; Acid3: https://en.wikipedia.org/wiki/Acid3

-        Viết mã an toàn (safe – fallback)

Khi viết mã, cần dự phòng cho các tình huống không mong muốn khi sử dụng, để trang web vẫn đạt được mục tiêu. Ví dụ: thiết lập ảnh nền cho trang web thì luôn dự phòng tình huống ảnh nền không tải về được (cần thiết lập màu nền phù hợp để dự phòng); khi người dùng tắt JavaScript trên trình duyệt thì sao?

-        Viết mã có cấu trúc (structural)


Tổ chức cấu trúc thư mục, tên tập tin và mã nguồn có cấu trúc hợp lý.

-        Học trong quá trình viết mã (study)

Học cách tìm kiếm, đọc/dịch thông báo lỗi do trình biên dịch trả về, học cách đọc tài liệu, ghi chép lại các thông tin hữu ích, theo dõi các tác giả/tạp chí/blog có uy tín trong lĩnh vực liên quan.


Chia sẻ kiến thức cho người khác.

-        Viết mã một cách thông minh (smart)


Làm việc hướng mục tiêu, hiệu quả, hợp lý hơn là máy móc, bảo thủ theo định kiến cá nhân. Trong nhiều trường hợp cần phải thỏa hiệp giữa: tính đơn giản – thời gian hoàn thành – tốc độ – chức năng – kinh phí – công nghệ.

-----------
Cập nhật 27/08/2020
-----------

Ngu ngơ học làm web (6) - Cơ bản về CSS

tiếp theo của: Ngu ngơ học làm web (5) - Xem mã HTML trong openemr
---------

Phần 6.       Cơ bản về CSS


Nếu để ý sẽ thấy, trong các bài chia sẻ trên mạng, trong các ebook, cứ nói tới HTML là thế nào cũng đi kèm với CSS. Sao thế nhỉ? À, cứ nhìn sơ đồ khối của quá trình kết xuất trang web là thấy liền, đầu vào của quá trình kết xuất chính là HTML và CSS.

HTML hiển thị nội dung của trang web (cụ thể là tạo ra cấu trúc và ngữ nghĩa cho phần nội dung), còn CSS phụ trách việc định dạng hiển thị các thành phần của trang web, CSS sẽ quy định về: màu sắc, cỡ chữ, vị trí hiển thị của các phần nội dung.
CSS là viết tắt của Cascading Style Sheets, là một ngôn ngữ được sử dụng để tìm và định dạng các phần tử HTML.

Học CSS là học cách bố trí, hiển thị, trang trí các nội dung của một trang web.

Xem và làm theo các clip hướng dẫn về HTML và CSS.

Đây là clip số 17: Giới thiệu về CSS qua inline style, do laptrinh.io chia sẻ. Lưu ý, từ “CSS” có khi được sử dụng như là một động từ, có khi lại được sử dụng như một danh từ; ví dụ: “bạn hãy CSS cái hình đó đi” (sử dụng CSS như một động từ), hoặc “dùng CSS để định dạng cái hình đó” (sử dụng CSS như một danh từ).


Clip số 17 hướng dẫn cách định dạng trực tiếp một phần tử HTML, định dạng ngay trong thẻ của nó (inline style), bằng cách sử dụng thuộc tính style của một thẻ HTML.

Đây là clip số 18: Định dạng CSS qua thẻ <style>. Thẻ <style> được đặt trong vùng <head></head>. Biết được khái niệm CSS selector (chọn đối tượng).


Clip trên cũng hướng dẫn cách chọn đối tượng bằng thẻ HTML.

Để ý: CSS inline có độ ưu tiên cao hơn CSS đặt trong thẻ <style>.

Đây là clip số 19: Liên kết tới tập tin CSS. Dùng thẻ <link> để liên kết tập tin CSS với tập tin HTML.


Đây là clip số 20: Thứ tự ưu tiên trong CSS.


Rút ra được kết luận: trình duyệt sẽ xử lý mã trong trang HTML theo thứ tự từ trên xuống dưới, từ trái qua phải, do đó mã của CSS cũng được thực thi từ trên xuống dưới, từ trái qua phải, và đoạn mã CSS nào được áp dụng sau sẽ có độ ưu tiên cao hơn.

Độ ưu tiên của CSS đặt trong thẻ <style> (hay còn gọi là On-page) và liên kết tới tập tin CSS (hay còn gọi là External file) là như nhau, nghĩa là cái nào được áp dụng sau thì sẽ có độ ưu tiên cao hơn. Trong ví dụ sau, đoạn mã CSS trong thẻ <style> sẽ được ưu tiên hơn (được áp dụng):

<head>
            <meta charset="UTF-8">
            <title>Document</title>
            <link rel="stylesheet" href="app.css">
            <style>
                        p {
                                    background-color: red;
                        }
            </style>
</head>

Còn ví dụ sau, đoạn mã CSS trong app.css sẽ được ưu tiên:

<head>
            <meta charset="UTF-8">
            <title>Document</title>
            <style>
                        p {
                                    background-color: red;
                        }
            </style>
<link rel="stylesheet" href="app.css">
</head>

Đây là clip số 21: Sử dụng class để định dạng CSS.


Đây là clip số 22: Sử dụng ID để định dạng CSS.


Đây là clip số 23: Định dạng CSS qua selector lồng nhau (nested).


Đây là clip số 24: Thiết kế background.


Đây là clip số 25: Tìm hiểu về màu sắc.


Đây là clip số 26: Định dạng cho text.


Đây là clip số 27: Định dạng cho font.


Đây là clip số 28: Sử dụng div để bao khung nội dung.


Đây là clip số 29: Tùy chỉnh vị trí tương quan giữa các phần tử HTML (padding, margin)


Đây là clip số 30: Tùy chỉnh cách hiển thị cho các phần tử HTML. Có thể sử dụng thuộc tính display cho tất cả các phần tử HTML, mỗi phần tử cũng đã được chọn sẵn một kiểu hiển thị nào đó: none, inline, inline-block, block.


Đây là clip số 31: Tùy chỉnh vị trí hiển thị (fixed, absolute, relative).


Đây là clip số 32: Tùy chỉnh CSS cho danh sách UL và OL.


Đây là clip số 33: Thiết kế một button đẹp mắt.


Đây là clip số 34: Thiết kế một navigation bar đẹp.


Đây là clip số 35: Giới thiệu về float (xóa hiện tượng các thẻ tiếp sau bị trôi).


Đọc và ngẫm nghĩ về từ “cascading” sẽ ngộ ra vài thứ hay hay (chép về từ http://stackoverflow.com)

"Cascading" in this context means that because more than one stylesheet rule could apply to a particular piece of HTML, there has to be a known way of determining which specific stylesheet rule applies to which piece of HTML.
The rule used is chosen by cascading down from the more general rules to the specific rule required. The most specific rule is chosen.

Tạm hiểu: do tính lồng nhau của phần tử HTML, dẫn đến tình trạng một phần tử HTML sẽ có nhiều định dạng CSS áp dụng trên nó. Vậy phải có một quy tắc nào đó để xác định được định dạng CSS nào sẽ áp dụng cho một phần tử HTML cụ thể, quy tắc được lựa chọn là “xếp chồng các định dạng CSS lên nhau” (cascading), và định dạng CSS  nào càng gần (càng chỉ định cụ thể) phần tử HTML càng được ưu tiên hơn.
-----------
Xem/học và làm theo 34 bài giảng CSS căn bản của Cione trên Youtube
Bài 1. Giới thiệu khóa học

Bài 2. Các khái niệm cơ bản của CSS

Thứ tự ưu tiên khi áp dụng định dạng CSS (cascading): Importance (user agent, user, author) > Specificity (selectors) > Source order.

Tính kế thừa (inheritance) trong CSS.

Bài 3. Tích hợp mã CSS vào trang web

Bài 4. Tích hợp mã CSS vào trang web (tt)

Link dùng để nhúng tập tin CSS vào tập tin HTML, import dùng để nhúng tập tin CSS vào tập tin CSS.

Bài 5. Trình soạn thảo CSS


Bài 6. Universal Selector


Bài 7. Class, ID Selector


Bài 8. Attribute Selector


Bài 9. Pseudo Selector


Bài 10. Màu


Bài 11. Combinator selector (phần 2)


Bài 12. Các đơn vị đo tuyệt đối trong CSS


Pixel (px), point (pt), pica (pc).

Bài 13. Các đơn vị đo tương đối trong CSS


ex (chiều cao của chữ x), em, rem, vw (viewport width),  vh (viewport height)

Bài 14. Kiểu dữ liệu chữ và số


initial (giá trị khởi tạo, do w3c quy định), auto (trình duyệt tự tính toán), inherit (kế thừa từ cha).

Bài 15. Cách trình duyệt tính các giá trị CSS


(1) thiết lập giá trị cho các thuộc tính CSS (cascading and inheritance), (2) chuyển từ giá trị tương đối sang tuyệt đối (computed value), (3) tính giá trị theo ngữ cảnh thực (used value), (4) làm tròn các giá trị (actual value).

Bài 16. Combinator selector (phần 1)


Bài 17. Các thuộc tính font


Bài 18. Các thuộc tính định dạng văn bản


Bài 19. Các thuộc tính định dạng văn bản (tt)


Bài 20. Định dạng danh sách


Bài 21. Box model


Bài 22. Box model (tt)


Bài 23. Block và inline


Bài 24. Box sizing


Bài 25. Overflow


Sự khác nhau giữa display:none (thu hồi không gian) và visibility:hidden (giữ không gian)

Bài 26. Float


Bài 27. Clear


Bài 28. Kĩ thuật hidden và clear fix


Bài 29. Position (static và relative)


Bài 30. Position (absolute)


Bài 31. Position (fixed)


Bài 32. z-index


Bài 33. Background


Ảnh nền đẹp: https://www.toptal.com/designers/subtlepatterns/

Bài 34. Border radius

-----------
Cập nhật [27/08/2020]
-----------

Thầy đi làm thợ

Rảnh viết chơi...
---------

“Thầy” đi làm “thợ”

Tại sao một giảng viên của một đại học lại phải nghiên cứu?


Người viết bài vẫn đang tự nhắc mình bằng các ý kiến của tác giả Bùi Văn Sơn Nam trong bài viết “Xã hội tri thức ‘Kỹ năng’ thay cho ‘Giáo dục’”? [1] để phản tỉnh bản thân, ví dụ như “Khái niệm kỹ năng đang chiếm ưu thế tuyệt đối trong tư duy giáo dục của xã hội tri thức với những ưu điểm không thể phủ nhận của nó, ít nhất về mặt lợi ích kinh tế. Nhưng mặt khác, cái giá phải trả cho việc tăng cường và tinh vi hóa các biện pháp “kỷ luật hóa” để thống trị và điều khiển cá nhân cũng không hề nhỏ.”.

Đồng thời cũng không quên vai trò của đại học đã được nói tới nhiều trong cuốn “Đại học Humboldt 200 năm (1810-2010): Kinh nghiệm thế giới và Việt Nam”[2].
Ngoài ra, người viết bài cũng không quên những tiêu chí về nghiên cứu, khi đánh giá, xếp hạng các đại học trên thế giới, ở Việt Nam; cũng như những tiêu chí về nghiên cứu để đánh giá một giảng viên trong trường đại học.

Và cuối cùng người viết bài cũng không quên là tại Việt Nam hiện nay vẫn có hệ thống các trường Cao đẳng và trung cấp để đào tạo nghề cho người học.


Thế nhưng,


“Trong quý 2 cả nước có hơn 1 triệu người trong độ tuổi lao động bị thất nghiệp, trong đó có tới hơn 418.000 người có chuyên môn kỹ thuật. Đặc biệt, thất nghiệp nhiều nhất là nhóm trình độ đại học trở lên với hơn 191.000 người, tiếp đến là cao đẳng chuyên nghiệp với 94.800 người và trung cấp chuyên nghiệp với 59.100 người.”[3]

Bốn nguyên nhân đã được GS Nguyễn Minh Thuyết chỉ ra[4]:

“Thứ nhất là đào tạo thiếu cân đối, đặc biệt giai đoạn từ 2005 – 2010 đã mở ra quá nhiều trường đại học, cao đẳng khiến cho số lượng sinh viên đại học, cao đẳng tăng chóng mặt trong khi nền kinh tế không cần nhiều cử nhân đến vậy.

Nguyên nhân thứ hai là chất lượng đào tạo không cao. Chúng ta đã có nhiều dẫn chứng về việc doanh nghiệp loại các ứng viên do hạn chế về kỹ năng làm việc.

Nguyên nhân thứ ba là sinh viên tốt nghiệp rất ít người có bản lĩnh để lập nghiệp, mà thường chỉ học lấy cái bằng rồi đi xin việc ở khu vực nhà nước hoặc  khu vực tư nhân.

Nguyên nhân thứ tư, gốc của vấn đề thất nghiệp, là nền kinh tế nước ta chưa phát triển, cơ cấu kinh tế không hợp lý.”

Vậy trường đại học phải chuẩn bị cho sinh viên có đủ kiến thức và kỹ năng để làm việc, tránh tình trạng học xong chỉ có cái bằng mà không thể xin được việc. Nghĩa là dạy cho sinh viên một cái nghề.
Một giảng viên có thể cùng lúc vừa nghiên cứu vừa dạy nghề được không?

Người viết bài xin khẳng định là quá khó, và quá sức đối với một giảng viên. Làm nghề cũng cần rất nhiều các kĩ năng, cần cập nhật nhiều công nghệ mới, cần làm thực tế, do vậy cần phải chuyên tâm thì mới có thể làm được, để từ đó dạy lại cho các em sinh viên.


Giải pháp


Trong một khoa nên định hướng giảng viên thành hai nhóm: nhóm đi theo hướng nghiên cứu và nhóm đi theo hướng nghề.

Nhiệm vụ của nhóm đi theo nghiên cứu:
-        Nghiên cứu
-        Cộng tác làm việc với các nhóm nghiên cứu trong nước, quốc tế
-        Giảng dạy

Nhiệm vụ của nhóm đi theo hướng nghề:
-        Học và làm nghề
-        Cộng tác làm việc với các công ty
-        Giảng dạy

Nhà trường sẽ đưa ra hai bộ tiêu chí khác nhau để trả lương và đánh giá hiệu quả công việc riêng cho từng nhóm.


Viết thêm

-        Sinh viên được tiếp cận với cả hai hướng: nghiên cứu và nghề nghiệp

-        Giảng viên sẽ chuyên tâm hơn theo hướng của mình, ai nghiên cứu cứ nghiên cứu, ai theo hướng nghề cứ làm nghề. Mỗi nhóm giảng viên sẽ chia sẻ những điểm mạnh của mình cho sinh viên. Đòi hỏi một giảng viên vừa biết nghiên cứu vừa biết làm nghề là quá khó.

-        Nhà trường vừa đảm bảo công việc nghiên cứu, vừa đạo tạo đáp ứng được nhu cầu xã hội.
-        Giảng viên theo hướng nghề không nhất thiết phải có bằng TS, Ths làm gì, vì nếu có, khi tới doanh nghiệp, do tâm lý sẽ rất khó cộng tác làm việc. Họ cũng không phải mất thời gian để đi học lấy bằng TS, Ths.

-        Giảng viên theo hướng nghề bắt làm nghiên cứu cũng khó cho giảng viên.

-        Nhà trương không đánh giá giảng viên chỉ dựa vào bằng cấp, hãy đo bằng năng lực, sản phẩm, kết quả thực tế.
Hân Vũ* (21/8/2016)

[17/9/2017] Kinh nghiệm của đại học Tôn Đức Thắng:

"Ông Út cho biết, các nhà khoa được tuyển vào trường là những người có năng lực. Ngoài tiền lương trường trả, họ luôn xin được các quỹ nghiên cứu từ nước ngoài. Từ quỹ này mỗi tháng nhân viên nghiên cứu có thể tăng thu nhập thêm hơn 10 triệu đồng mỗi tháng, còn chủ nhiệm đề tài có thể tăng thêm 20 triệu đồng/ tháng.
Ông Trần Trọng Đạo cho biết thêm, quy định chung của Nhà nước là mỗi giảng viên phải dùng 30% số giờ để nghiên cứu khoa học được trường áp dụng từ năm 2007 đến năm 2011 nhưng không hiệu quả. Khi áp dụng điều này, tất cả sản phẩm nghiên cứu khoa học không có giá trị, giảng viên tìm cách đối phó để có sản phẩm. Vì vậy, năm 2011 trường ra quyết định không ép những người không có khả năng làm khoa học làm khoa học; không ép những người có chuyên môn làm khoa học phải theo giờ dạy theo quy định.
Trường phân ra nhóm giảng viên có nhiệm vụ duy nhất là giảng dạy thật tốt, nâng cao chuyên môn, cập nhật bài giảng. Giảng viên nghiên cứu có quyền đăng ký nghiên cứu khoa học và nghiên cứu giảng dạy phù hợp. Nghiên cứu viên giảng dạy 50% để truyền tải kinh nghiệm nghiên cứu cho sinh viên, còn lại “phòng lạnh” để nghiên cứu.
“Vì có sự phân tầng này nên áp lực và đối phó của giảng viên giảm mạnh. Trước đây, người cũ luôn chống lại người mới thì chúng tôi cũng loại bỏ văn hóa “cây đa, cây đề” để ai cũng có quyền chứng minh năng lực của mình”- ông Đạo cho biết."[5]

Tham khảo


[1] Xã hội tri thức “Kỹ năng” thay cho “Giáo dục”, Bùi Văn Sơn Nam, vanhoanghean.com.vn, 30/7/2016
[2] Đại học Humboldt 200 năm (1810-2010): Kinh nghiệm thế giới và Việt Nam, Nhiều tác giả, NXB Tri thức, 2011
[3] Gần 200.000 thạc sĩ, cử nhân thất nghiệp, nguoidothi.vn, 17/8/2016
[4] Hơn 190.000 cử nhân, thạc sĩ, tiến sĩ đang thất nghiệp, giaoduc.net.vn, 12/7/2016

[5] Lương giảng viên Trường ĐH Tôn Đức Thắng thấp nhất 16 triệu đồng/tháng, vietnamnet.vn, 14/9/2017
---------
Đọc thêm:

Bài học về phát triển đại học của Nhật Bản - tóm tắt của tác giả NVT

"Thời gian mà các đại học vương triều ra đời trùng hợp với giai đoạn cách mạng kĩ nghệ ở Nhật. Cuộc cách mạng kĩ nghệ chủ yếu xảy ra ở ngành dệt và kĩ nghệ nhẹ, và chính các ngành “nhẹ” này đã là những viên gạch lót đường để Nhật trở thành một cường quốc kĩ nghệ sau này. Các đại học vương triều có nhiệm vụ phải đào tạo các kĩ sư và khoa học gia, chuyên gia để đáp ứng nhu cầu của cuộc cách mạng kĩ nghệ. Mặc dù ý thức được rằng đại học còn phải đào tạo các nhà nghiên cứu, nhưng trong giai đoạn này khi mà công nghệ của Nhật còn quá thô sơ, nên họ chủ yếu nhắm vào việc đào tạo chuyên gia lành nghề, và việc đào tạo chuyên gia nghiên cứu chỉ tập trung ở các đại học lớn như Tokyo và Kyoto. 

Song song với sự ra đời của các đại học vương triều, Nhật còn thành lập một số trường cao đẳng kĩ thuật (technical college). Các trường cao đẳng có nhiệm vụ giới thiệu các công nghệ của thế giới phương Tây nhưng có ứng dụng thực tế vào điều kiện phát triển ở Nhật. Đến năm 1910, Nhật đã có 17 trường cao đẳng kĩ thuật, và mỗi năm huấn luyện được hàng ngàn chuyên viên kĩ thuật."

Nguồn: http://tuanvannguyen.blogspot.com/2010/01/qua-trinh-phat-trien-giao-duc-ai-hoc-o.html

R và D trong R&D - GS Ngô Quang Hưng


Tiêu chí đánh giá đề tài và cá nhân làm R&D
"Trong làm R&D có hai mô hình: mô hình nghiên cứu phỏng theo (adaptation) thì chữ D mạnh hơn chữ R, mô hình sáng tạo (innovation) thì chữ R mạnh hơn chữ D. Ở những nước kém phát triển như Việt Nam, thì khi đánh giá đề tài ta cần biết rõ nhánh nào nên đề cao mô hình nghiên cứu phỏng theo, và nhánh nào nên đề cao mô hình nghiên cứu sáng tạo. Những lãnh vực mà nhân lực của ta có khả năng “nhảy cóc” so với thế giới hoặc cấp thiết cho quốc gia thì nên đánh giá đề tài bằng sự sáng tạo của nó. Những lãnh vực ta còn yếu thì cần phải rất chú trọng đến tác dụng xã hội của đề tài.
Phân chia rạch ròi nhánh nào nên adapt, nhánh nào nên innovate cần rất nhiều công sức tỉ mẩn, dữ liệu khoa học, nằm quá phạm vi và khả năng của người viết bài này. Ở đây chỉ xin nêu một vài ví dụ.
...
Trong khi đó, ngành Khoa học Máy tính còn non trẻ, với chi phí truy cập vào các tài liệu, bài giảng, hội nghị hiện đại rất rẻ, thì sẽ có rất ít lý do để ta đánh giá cao chất lượng R&D của một đề tài “Việt hóa” một phần mềm quản trị doanh nghiệp.
...
Chúng ta không nên bám theo một số chỉ số định lượng có vẻ khách quan nhưng lại hời hợt về khả năng đánh giá như số bài báo ISI hay chỉ số ảnh hưởng. Có chăng thì các chỉ số này chỉ nên mang tính chất tham khảo. Ta cần đánh giá của chuyên gia. Trong ngành Máy tính, có tình trạng các quí vị trong tháp ngà “sáng tạo” ra các vấn đề không có tính phổ quát, giải quyết chúng bằng các kỹ thuật tầm thường, và trích dẫn lẫn nhau. Tạp chí ISI hẳn hoi. Trong khi đó, làm được một loại phân bón mới, cho dù chỉ là mô phỏng từ nước ngoài, cũng có giá trị tốt hơn hẳn cả về mặt xã hội lẫn về mặt khoa học. Ở Mỹ không có chuyện dùng “số bài báo” để đánh giá nghiệm thu đề tài. Như vậy, ở đây ta cũng có vấn đề niềm tin giữa cơ quan tài trợ và giới làm R&D.
...
Bên cạnh việc tổ chức các kênh giao tiếp mà các trung tâm chuyển giao công nghệ đóng vai trò thiết yếu, thì các giảng viên và giáo sư đại học cần phải chủ động hơn trong việc giao hảo với các doanh nghiệp, tạo dựng những kênh giao tiếp cá nhân, tạo niềm tin giữa những con người cụ thể và những công việc cụ thể. 
...
Một chương trình R&D được hợp tác như vậy có thể bắt đầu từ một vài sinh viên làm thực tập. Ở đây ta cần sự chủ động của cả sinh viên lẫn thầy/cô hướng dẫn để sinh viên này phát triển niềm tin, chứng minh cho doanh nghiệp nọ thấy rằng một dự án R&D sẽ có ảnh hưởng trực tiếp đến lợi nhuận của công ty.
Nguồn: http://tiasang.com.vn/-giao-duc/Nghien-cuu-va-phat-trien-o-dai-hoc-Mot-vai-de-xuat-10092
------
- Tôi muốn nghe anh tổng kết xem, trong thời đại 4.0 này, xu thế đào tạo nói chung của các trường đại học phát triển trên thế giới là gì? Và triết lý đào tạo của chúng ta đang ở đâu trong xu thế ấy?
- Cái chung nhất trong đào tạo đại học hiện nay là xu hướng tạo ra con người gắn liền với thị trường lao động. Cái này bắt đầu từ hàng chục năm nay rồi chứ không phải chờ đến khi 4.0 xuất hiện đâu. Trong xu hướng này, người ta quan tâm đến kỹ năng, đến vấn đề việc làm, và có vẻ ít để ý đến các vấn đề triết học, văn hóa. Thế giới hiện nay có tính thực dụng cao hơn và tính tư tưởng giảm dần. Nhật Bản cách đây mấy năm còn tính đến việc đóng cửa các khoa đào tạo mang tính nhân văn, vì cho rằng nó ít phục vụ cho nền kinh tế.
Thế nhưng, trên thế giới cũng như tại Việt Nam, vẫn có những làn sóng giáo dục con người khai phóng, con người triết học, con người tư tưởng. Ở Việt Nam hiện tại có 2 trường đại học tự nhận mình là đại học khai phóng, đó là Fullbright và Việt Nhật.
Với bối cảnh Việt Nam hiện nay, tôi nghĩ xu hướng thực dụng cần được tập trung trước. Tất nhiên, chúng ta vẫn cần có đào tạo con người khai phóng ở một số chuyên ngành nhất định, nhưng nên khoanh vùng nó lại, và phải tập trung vào sự thực dụng, vào kĩ thuật, vào nông nghiệp, quản trị, kinh tế. Nhưng để làm được điều này thì chúng ta phải thay đổi cách tiếp cận trong vận hành giáo dục đại học. Cách hiện nay “tinh hoa” quá.
- “Tinh hoa” quá là sao?
- Nói thế này, cả anh, tôi, và tất cả những người trên 30 tuổi có trình độ đại học trở lên ở ngoài đường kia - tức là đại bộ phận lực lượng đang vận hành nền kinh tế, xã hội ở đất nước này đều là sản phẩm của giáo dục đại học “tinh hoa”. Cho nên, theo quán tính, chúng ta vẫn đang vận hành và đánh giá nền giáo dục đại học theo lối tinh hoa. Trong khi thực tế, nó đã chuyển sang giai đoạn đại chúng rồi.
- Anh có thể phân tích kỹ hơn?
- Triết lý của đào tạo tinh hoa là “tốt nhất”. Còn triết lý của đào tạo đại chúng là “phù hợp nhất”. Xin lấy ví dụ, chúng ta có thể sẽ thương cảm với một bạn 28 điểm mà vẫn trượt trường y; và chúng ta cũng lại không đánh giá cao lắm một bạn 20 điểm nhưng đỗ trường nông nghiệp. Nhưng chúng ta quên mất rằng bạn 28 điểm bị trượt thực ra là đúng vì đơn giản là còn nhiều bạn 29, 30 điểm cũng thi trường y; còn bạn 20 điểm xứng đáng đỗ vì bạn này đã chọn trường phù hợp và “phù hợp”.
Một ví dụ khác. Hồi tháng 4 năm nay, Bộ có ban hành một bộ quy chế mới dành cho đào tạo từ xa. Từ xa tức là online, để phân biệt với chính quy. Và khi nói đến chính quy, chúng ta sẽ nghĩ đến giảng đường với thầy giảng bài trực tiếp cho sinh viên. Còn đào tạo từ xa/online được xem là “hạng 2”.
Nhưng thực tế, giáo dục đại học thế giới bây giờ có phân biệt online với lên lớp đâu. Hai mô hình đó đã kết hợp với nhau không còn ranh giới từ lâu rồi. Để đào tạo cho “đại chúng” thì buộc phải kết hợp online vì làm sao có đủ thầy để dạy hết cho số đông sinh viên. Đấy là một ví dụ nữa cho thấy, đáng ra trong bối cảnh “đại chúng”, chúng ta phải tìm một phương thức quản lý đào tạo phù hợp nhưng lại vẫn tư duy theo kiểu cũ, kiểu “tinh hoa”, và vì vậy ta cố gắng phân biệt online với chính quy.
- Nhưng xã hội nào, nền kinh tế nào cũng cần những thành phần “tinh hoa” để dẫn dắt chứ?
- Đúng. Trong nền giáo dục đại học đại chúng, vẫn cần một nhóm nhỏ các trường tinh hoa, định hướng nghiên cứu, và được đầu tư lớn hơn các trường “đại chúng” thiên về đào tạo. Ở trên bạn vừa hỏi tại sao các nước xung quanh như Indonesia, Malaysia, Thái Lan, nước nào cũng có đại học lọt vào tốp 1.000 thế giới, còn Việt Nam thì không.
Vì đấy là các đại học tinh hoa của họ, được nhà nước đầu tư lớn. Còn tại mình thì vẫn tư duy thời “tinh hoa”, đầu tư trường nào cũng như trường nào, nên thiếu sự đột phá, không có trường lọt tốp là chuyện dễ hiểu thôi.
Nguồn: Giáo dục đại học sẽ không phát triển nếu vẫn vận hành theo kiểu “tinh hoa” (ANTG)

Học viên quen quen

Danh sách các bạn quen quen

(Các em học khóa sau, cứ bám lấy các anh chị để hỏi về kinh nghiệm: học, thực tập, phỏng vấn và làm việc)
  1. Trần Văn Hoàng - Freelancer - fb
  2. Phan Lê Quốc Bảo - Freelancer UI/UX designer - fb
  3. Nguyễn Trung Nhân - Cloud9 - fb
  4. Nguyễn Lê Phương Thi - Freelancer - fb
  5. Phạm Quang Hưng - Cú coffee/VNPTLamDong - fb
  6. Võ Hoài Linh - Cloud9 - fb
  7. Trần Thị Mỹ Hương
    Infodation

    Trần Ngọc Bảo Hân
    Cloud9
    Phạm Xuân Thắng 
    TMA/FPT.Tp HCM/Jamalex
    Lê Văn Phượng
    TMA/Mirae Asset

Ngu ngơ học làm web (5) - Xem mã HTML trong ứng dụng web

tiếp theo của: Ngu ngơ học làm web (4) - Hoạt động của trình duyệt
---------

Phần 5.       Xem mã HTML trong ứng dụng web


Vậy là đã có một chút hiểu biết về HTML rồi, giờ thử “xuống núi” một chuyến xem sao. Sẽ mở mã nguồn của ứng dụng openemr để xem trong đó có những gì, xem nó có giống với những gì mình đã được biết không?

Vì mã nguồn chính là các lệnh điều khiển được chứa trong các tập tin dạng văn bản, nên dùng phần mềm soạn thảo văn bản nào mở cũng được.

Tuy nhiên, trong thư mục openemr có rất nhiều tập tin và thư mục con, giờ sẽ bắt đầu từ đâu, mở tập tin nào? Tại sao lại phải băn khoăn trong việc chọn tập tin để mở? Mục đích ở đây là để biết được cái logic xử lý của một ứng dụng web? Nó bắt đầu từ đâu, dẫn tới đâu?

Thử quan sát và phân tích xem thế nào. Mở trình duyệt, nhập vào địa chỉ http://www.open-emr.org
Lưu ý, ở đây là đang mở website open-emr.org để tìm hiểu về cách truy cập và chuyển hướng trên một website, chứ chưa chạy ứng dụng openemr.

Tại giao diện của website open-emr.org, lần lượt bấm vào các tab: Features, Demo, rồi quan sát sự thay đổi trên thanh địa chỉ của trình duyệt. Nếu bấm chuột phải vào các tab đó, chọn Copy link address, rồi đem dán vào một cửa sổ soạn thảo văn bản nào đó sẽ thấy các địa chỉ tương ứng như sau:

Ban đầu địa chỉ sẽ là http://www.open-emr.org

Tab Features > có địa chỉ là http://www.open-emr.org/wiki/index.php/OpenEMR_Features

Tab Demo > có địa chỉ là http://www.open-emr.org/wiki/index.php/OpenEMR_Demo

Như đã biết để truy cập một trang web, website hay ứng dụng web, người dùng phải nhập địa chỉ của nó vào trình duyệt.

Địa chỉ có dạng tổng quát là:

Scheme://domain:port/path?query_string#fragment_id

Trong ví dụ đang xem xét thì: giao thức để giao tiếp giữa trình duyệt và web server là “http”, địa chỉ của website là “open-emr.org”, thư mục gốc là “/”, thư mục con là “wiki”, tập tin được chỉ định để hiển thị là “index.php”.

Như vậy nội dung của đường dẫn trên thanh địa chỉ sẽ được web server tiếp nhận và xử lý, sau đó web server gửi trang web phù hợp về cho người dùng. Hay nói cách khác, thanh địa chỉ sẽ là một phương tiện để web client và web server nói chuyện với nhau. Ngôn ngữ được sử dụng để nói chuyện có thể là một giao thức hay scheme nào đó, ví dụ: http, https, ftp. Thông thường, khi người dùng truy cập tới một website hoặc một ứng dụng web thì server sẽ gửi cho họ trang mặc định, ví dụ trang index.

Giờ sẽ tìm tập tin index ở thư mục gốc của openemr, nếu có thì mở ra để xem nội dung của nó. Openemr được viết bằng PHP nên tập tin tìm được là index.php.

Xem qua mã nguồn trong index.php, chưa thấy bóng dáng của HTML. Tuy nhiên, để ý thấy có dòng mã trỏ tới interface/login/login.php. Theo đường dẫn này, mở tập tin login.php xem sao.

Tập tin login.php đã có cấu trúc của một trang HTML, ví dụ có các thẻ <html>, <head>, <body>, <meta>, <link>, và rất nhiều các thẻ khác cùng với các thuộc tính.


Tuy nhiên, bên cạnh mã HTML thì còn rất nhiều mã của các thứ khác đan xen vào nhau. Nhìn hoa cả mắt, chả hiểu gì!

Xem qua mã nguồn, thấy mình giống như người mới học tiếng Anh, bỗng nhiên gặp một ông “tây ba lô” ở ngoài đường, ông ấy bắt chuyện với mình. Tuy nhiên mình chỉ biết ông ta đang nói tiếng Anh, còn ông ấy nói cái gì,… thì chịu, “bó tay”. Thôi, về núi học tiếp.
-----------
Cập nhật [21/01/2020]
-----------