Xem thêm: Để trở thành kỹ sư của Google, Amazon, Facebook lập trình viên cần chuẩn bị những gì?
Phần một. Kinh nghiệm
Nói tới kinh nghiệm thì mỗi người có những kinh nghiệm khác nhau. Những người giỏi thật sự thì có lẽ họ ít chia sẻ kinh nghiệm tối cao (vì đó là cái làm nên giá trị riêng mỗi người) mà thường họ chia sẻ những kinh nghiệm phổ biến. Bản thân tôi cũng vậy, nhưng trong bài viết này tôi chia sẻ những quan niệm hơi khác người một chút.
Xem thêm: Kinh nghiệm lập trình, cảnh giới lập trình
Là người dùng Angular 1.x lâu năm, tôi cảm thấy rất tò mò trước sự phổ biến của React trong cộng đồng JS. Nhưng dù vậy, khi phải đứng trước sự chọn lựa giữa Vue.js và React.js , tôi đã quyết định tiến tới Vue.js vì nhiều lý do.

Xem thêm: Lý Do nào khiến Vue.js “Ăn Đứt” React.js?
Introduction
Chắc hẳn rất nhiều người trong chúng ta đã và đang sử dụng React, và tất nhiên là kèm theo hằng tá thư viện đi kèm hỗ trợ nó (lol) Và chắc hẳn bạn đã từng gặp thư viện yêu cầu bạn viết một đoạn code kiểu này để thư viện có thể hoạt động:

Xem thêm: React – Higher Order Components in depth
Closure Compiler là 1 dự án của Google giúp Javascript tải và chạy nhanh hơn. Không phải là biên dịch từ Javascript sang mã máy, mà Closure biên dịch từ Javascript sang better-Javascript. Tức là tự động viết lại Javascript sao cho tối ưu hóa nhất mà kết quả không thay đổi.

Xem thêm: Tối ưu hóa Javascript với Google Closure Compiler
Giới thiệu
Về mặt lịch sử, từ Visual Basic đến Windows Forms ngày nay, nếu chúng ta muốn tạo ra một giao diện tùy biến cho ứng dụng, chúng ta bị giới hạn khi thay đổi các thuộc tính chuẩn của controls như màu nền, chiều rộng đường viền hoặc kích thước phông chữ. Nếu muốn đi xa hơn, lựa chọn duy nhất là tạo ra một control, kế thừa từ control đã có và override phương thức vẽ để đáp ứng nhu cầu riêng.

Xem thêm: Tùy chỉnh ứng dụng với Style và Control Templates – Phần 1
Là 1 lập trình viên, có khi nào bạn giật mình nhìn lại quãng đường vừa qua với bao đêm thức trắng cùng những dòng code và tự hỏi “Code tốt liệu có đủ?”, hay “Tôi cần gì hơn để trở thành một lập trình viên xuất sắc?” và gỡ bỏ cái nhãn “code monkey” đang gắn trên trán mình?

Xem thêm: Viết code có hiệu quả? Lời khuyên từ chuyên gia
1. Select DOM Elements
$(selector)
trả về tham chiếu đến phần tử DOM đầu tiên với CSS selector quy định. Function này là alias cho document.querySelector()
function.
Ví dụ sau đây trả về một tham chiếu đến phần tử <img>
đầu tiên trong document
:

Xem thêm: Chrome’s Console tricks
Hôm nay trong lúc làm chức năng mới cho hệ thống Color ME, mình có dùng lại Data attribute trong HTML, tiện thể mình làm bài blog chia sẻ về sử dụng thuộc tính này

Xem thêm: Sử dụng Data attribute trong HTML
Bắt đầu chuyển sang dùng Vim làm editor chính một cách nghiêm túc sau nhiều lần thử, bỏ cuộc và quay trở về Sublime Text.
Còn về nguyên nhân bỏ cuộc là vì không quen với VIM được, do có nhiều thứ quá khác với Sublime Text, chính xác là trên Sublime Text có mà VIM lại không có, nên lần này mình sẽ setup toàn bộ những thứ bên Sublime Text qua VIM hết.

Xem thêm: Di cư từ Sublime Text sang VIM
Khi bạn vừa mới bắt đầu JavaScript, sẽ rất khó để tìm ra cách sắp xếp và lưu trữ dữ liệu tốt nhất đối với bạn.
Mặt khác, bạn hẳn cũng đã làm quen với arrays từ việc học vòng lặp “loop”. Tuy nhiên khi bạn cố nhồi nhét đống dữ liệu vào array, thì nó cũng trở nên vô cùng hổ lốn và việc review đống code thì y như nhiệm vụ bất khả thi bởi đọc xong cũng chả hiểu.

Xem thêm: JavaScript Arrays và Objects thật ra không khác gì sách và báo
1. Communicates Clearly
Bất kì lúc nào lỗi được tìm thấy , nếu dev và tester ngồi cạnh nhau thì có thể trao đổi.Còn nếu ngồi xa nhau thì có 2 lời khuyên cho việc này :
+ Luôn luôn ghi ra các steps để tạo ra lỗi một cách rõ ràng. Nếu tester không có 1 cách rõ ràng để tái hiện lại bug thì dev khó có thể giải quyết nó.
+ Đính kèm file : như có thể chụp màn hình hoặc tốt hơn nên dùng ảnh GIF.

Xem thêm: Làm thế nào để trở thành Tester chuyên nghiệp
JavaScript hiện đang là xu hướng trong giới lập trình web hiện giờ. Vì lý do đó, các câu hỏi về JavaScript đã dần xuất hiện trong các cuộc phỏng vấn công việc cho các lập trình viên.

Xem thêm: 3 Câu hỏi JavaScript cần chú ý trong các buổi phỏng
Xứ lí không đồng bộ (async) là 1 phần quan trọng trong javascript. Cách tiếp cận phổ biến với xử lí không đồng bộ là sử dụng các callback. Khác với việc thực hiện tuần tự các phép toán như trong 1 vòng for, có 1 khoảng thời gian chênh lệch nhất định giữa thời điểm giữa phần chương trình được chạy ngay lập tức và phần chương trình khác được gọi ra sau đó (callback).

Xem thêm: Xử lí không đồng bộ trong javascript