Serials Javascript Style Guide – Arrow Functions

Arrow Functions 8.1 Use them Nếu thực sự phải dùng hàm vô danh (như khi truyền vào 1 callback), thì sử dụng hàm mũi tên. eslint: prefer-arrow-callback, arrow-spacing Tại sao ư? Vì nó tạo ra 1 phiên bản của hàm thực thi trong ngữ cảnh của this, thường là những gì bạn muốn và là…

Serials Javascript Style Guide – Functions

Functions 7.1 Declarations Sử dụng các biểu thức hàm được đặt tên thay vì khai báo hàm. eslint: func-style Tại sao ư? Sự khai báo hàm được gia tăng lên, nghĩa là nó dễ, quá dễ để tham chiếu hàm trước khi được định nghĩa trong file. Điều này làm giảm khả năng đọc và…

Serials Javascript Style Guide – Strings

Strings 6.1 Quotes Sử dụng dấu nháy đơn '' đối với strings. eslint: quotes // bad const name = "Capt. Janeway"; // bad – template literals should contain interpolation or newlines const name = `Capt. Janeway`; // good const name = 'Capt. Janeway'; 6.2 Line length Không nên nối chuỗi nếu chuỗi quá dài. Tại…

Serials Javascript Style Guide – Destructuring

Serials Javascript Style Guide – Destructuring Destructuring 5.1 Object Khi mà muốn sử dụng nhiều thuộc tính của object thì nên sử dụng object destructuring. eslint: prefer-destructuring Tại sao ư? Nhằm tránh tạo các temporary references // bad function getFullName(user) { const firstName = user.firstName; const lastName = user.lastName; return `${firstName} ${lastName}`; } // good…

Serials Javascript Style Guide – Arrays

Arrays 4.1 Literals Khi tạo mới array nên sử dụng literal syntax. eslint: no-array-constructor // bad const items = new Array(); // good const items = []; 4.2 Push Sử dụng Array#push thay vì gán trực tiếp các phần tử vào array. const someStack = []; // bad someStack[someStack.length] = 'abracadabra'; // good someStack.push('abracadabra'); 4.3…

Serials Javascript Style Guide – Objects

Objects 3.1 No new Sử dụng cú pháp nguyên thủy khi tạo mới 1 object. eslint: no-new-object // bad const item = new Object(); // good const item = {}; 3.2 Computed properties Sử dụng computed property names khi tạo mới object với tên thuộc tính động. Tại sao ư? Tập trung định nghĩa các…

Serials Javascript Style Guide – References

2. References 2.1 Prefer const Sử dụng const cho tất cả tham chiếu; tránh sử dụng var. eslint: prefer-const, no-const-assign Vì sao ư? Để tránh những bugs khó tái hiện do developer reassign lại tham chiếu thôi. // bad var a = 1; var b = 2; // good const a = 1; const b…

PHP – Sắp xếp mảng theo key dựa vào một mảng khác

asort hoặc usort có thể làm tốt nhiệm vụ sắp xếp mảng trong PHP, nhưng sẽ như thế nào nếu bạn thực sự muốn sort theo custom key? Tôi có một ví dụ mảng: $animals = [ 'dog' => ['Pop', 'Milu', 'Reck'], 'cat' => ['Kitty', 'Can', 'Suneo', 'Tom'], 'mouse' => ['Mickey', 'Jerry', 'Donal'], ]; Và…

Sử dụng locate để tìm file trên CentOS

Thông thường, để tìm 1 file trên hệ thống, chúng ta thường dùng lệnh: # find path/to/folder -name xxxx Với lệnh trên, bạn cần phải chỉ rõ đường dẫn thư mục bạn muốn tìm file, hoặc nếu như tìm trong toàn bộ thư mục của user hiện tại thì bạn dùng lệnh # find /…