Bản thân blog này là nơi mình chia sẻ kinh nghiệm cá nhân, chia sẻ những kiến thức của mình tới bạn đọc.
Vì thế, blog chính là nơi mình … khoe những thứ mình đã biết (web, front-end, cloud, sách) v…v. Điều này không có gì sai, những sẽ dễ làm nhiều bạn lầm tưởng rằng mình biết nhiều, cái gì cũng biết!
Do vậy, cuối năm cũ, đầu năm mới, mình sẽ thử làm ngược lại, tự bóc phốt chính mình, nói cho bạn đọc về những ngôn ngữ/công nghệ/những thứ mà mình chưa biết nhé!
Mọi chuyện bắt đầu từ … hai cái xô hứng nước trong ga tàu điện ngầm.
Chuyện là, gần văn phòng mình có một quán Việt Nam khá ngon. Mỗi lần đi ăn, mình và mấy ông đồng nghiệp lại phải đi bộ ngang qua ga tàu điện ngầm.
Một hôm nọ, mình thấy có người để 2 cái xô ngay trạm tàu điện, giữa con đường đông người qua lại. Đi ngang qua thì thấy nước rõ tóc tóc từ trên nóc xuống.
Chuyện nếu chỉ có vậy thì không cũng chẳng có gì để nói. Xây dựng thì bị thấm ướt, hư hỏng là chuyện thường, hư thì sửa thôi!
Thời gian thấm thoắt thoi đưa, thu qua đông lại. Đồng nghiệp đi ăn với mình, ông thì đã chuyển công ty, ông thì vợ đẻ; thế nhưng mỗi lần đi ngang qua ga tàu, hai cái xô hứng nước và hai tấm biển vẫn còn đó, đập thẳng vào mắt mình!
Tại sao?? Tại sao ở một đất nước phát triển như Singapore, một nơi dân tình siêng năng cày cuốc từ 9h sáng tới 7-8h tối mới về tới nhà; mà có thể để 2 cái xô chình ình như vậy không sửa hơn cả năm trời??
Trong series Lược Sử Lập Trình Web, mình đã kể về chuyện lập trình web đang có xu hướng chuyển dần từ server-side rendering sang client-side rendering.
Trong bài này, chúng ta sẽ cùng tìm hiểu về sự khác nhau giữa hai cơ chế này, ưu nhược điểm của chúng để có thể dễ dàng lựa chọn khi sử dụng nhé! Chúng ta cũng sẽ tìm hiểu những công ty công nghệ lớn như Facebook, AirBnB sử dụng cơ chế nào luôn!
Đây là giai đoạn JS bước lên vũ đài chính trị, lộn, vũ đài lập trình, với sự ra đời của vô số framework/tooling hay ho, dần dần được nhiều người biết đến.
Ở phần trước, chúng ta đã tìm hiểu về lập trình web ở những năm 2006 trở về trước, thời mà viết web chỉ đơn thuần là viết code cho server render ra HTML/CSS/JS.
Ở phần này, chúng ta cùng nhìn lại những năm 2006-2010, buổi bình minh của JavaScript nhé.
Sự “loạn” này làm đau đầu, “bối rối” cả những developer cứng cựa cho đến newbie developer mới bước chân vào mảng front-end.
JavaScript mê hồn trận
Học front-end sao cho hiệu quả?
Do vậy, nhiều bạn học front-end hỏi mình: Làm sao để học front-end cho hiệu quả? Lời khuyên nho nhỏ của mình là:
Thay vì bỏ thời gian để chạy theo công nghệ này, công nghệ kia, hãy biết mình cần học gì.
Hãy tìm hiểu lý do tại sao chúng ra đời, vấn đề mà chúng giải quyết
Hãy tìm hiểu vai trò của từng công nghệ trong thế giới JavaScript hỗn loạn hiện nay.
Do đã trải qua cũng nhiều, mình viết một series ngắn về những thay đổi về công nghệ trong ngành front-end từ trước đến nay. Những bạn nào nghiêm túc muốn theo hướng front-end developer thì nên đọc, ngẫm và tìm hiểu nhé!
Ngay sau đó, mình lại nhận được một câu hỏi “Vì sao” khá hay từ vài bạn độc giả:
Anh ơi, tại sao các công ty họ lại thíchdùng công nghệ cũ vậy ạ?
Em tự học, tự tìm hiểu Spring/Struts với Angular đồ; vào cty F lại dùng toàn đồ cũ, làm dự án toàn VB.NET rồi JSP rồi jQuery là sao anh?
Ở bài trước, khi nói về top 5 ngôn ngữ nên học, mình có bảo rằng JavaScript hiện tại đang là một ngôn ngữ hot và rất đáng học. Vì vậy, hôm nay mình sẽ chia sẻ những sách hay về JavaScript, với mức độ từ cơ bản đến nâng cao nhé!
Bản thân tài liệu về JS tiếng Việt khá ít, chắc từ thời jQuery rồi, cũng không cập nhật mấy. Vì minh vẫn hay khuyên các bạn nên học lập trình bằng tiếng Anh, do đó nên những sách mình giới thiệu trong bài chỉ toàn là tiếng Anh thôi nhé.
Hẳn là có vài bạn (sinh viên) đang muốn hỏi: Ơ tui là lập trình viên, lo code thôi chứ có phải thiết kế gì đâu mà phải học design? Xin trả lời là: trừ khi bạn đi theo con đường lập trình nhúng, hoặc làm back-end developer 100%, thế nào bạn cũng sẽ phải đụng tới vài việc liên quan tới thiết kế.
Nếu may mắn, những công việc như thiết kế giao diện web, giao diện di động sẽ được thực hiện bởi designer, developer chúng mình chỉ cần file HTML hoặc PSD và code thôi.Tuy nhiên, ở Việt Nam, nhiều khi developer chúng mình cũng phải kiêm luôn nhiệm vụ này.
Thiếu kiến thức về design, đôi khi dev chúng mình cho ra nhiều giao diện khá là khủng khiếp (Thuở xưa ở Đại Học cũng có dạy môn HCI – Tương tác người dùng, nhưng cũng chẳng có tác dụng mấy). Do đó, bạn hãy tự trang bị cho mình những kiến thức design cơ bản, để tạo ra những design coi được. Những kiến thức này sẽ rất hữu dụng khi bạn muốn đi theo con đường front-end developer, hoặc full-stack developer.