Tìm kiếm bằng biểu thức chính quy trong MySQL

Bài viết sẽ hướng dẫn bạn cách sử dụng toán tử REGEXP để tìm kiếm phức tạp dựa trên các biểu thức chính quy. Giới thiệu về biểu thức chính quy Biểu thức chính quy (regular expression) là 1 chuỗi đặc biệt mô tả các mẫu tìm kiếm. Nó là 1 công cụ mạnh mẽ…

9 cách xóa phần tử khỏi mảng và 5 cách xóa mảng an toàn trong Javascript

Javascript là một ngôn ngữ hay. Mảng trong Javascript cũng kì diệu. Đôi lần làm việc với mảng mà choáng váng đầu khi không thể tìm thấy một method kiểu như Array.remove hay Array.delete gì cả. Cũng chẳng sao, vì nếu không có các method sẵn có thì mình có thể tự viết method thôi….

Hướng dẫn thay đổi MySQL Storage Engine

Trong bài viết này sẽ hướng dẫn cách kiểm tra storage engine của bảng và cách thay đổi giữa các loại storage engine với nhau. MySQL hỗ trợ nhiều loại storage engine với đặc tính và khối lượng lưu trữ khác nhau. Ví dụ với InnoDB thì hỗ trợ transaction trong khi MyISAM thì không…

MySQL – So sánh dữ liệu trong cùng 1 bảng

Bài viết sẽ hướng dẫn cách so sánh các rows liên tiếp nhau trong cùng 1 table sử dụng kỹ thuật self-join Giả sử bạn có một bảng inventory với cấu trúc như dưới CREATE TABLE inventory( id INT AUTO_INCREMENT PRIMARY KEY, counted_date date NOT NULL, item_no VARCHAR(20) NOT NULL, qty int(11) NOT NULL );…

Serials Javascript Style Guide – jQuery

jQuery Dollar prefix Các đối tượng jQuery bắt đầu với dấu $. // bad const sidebar = $(‘.sidebar’); // good const $sidebar = $(‘.sidebar’); // good const $sidebarBtn = $(‘.sidebar-btn’); Cache Cache jQuery lookups. // bad function setSidebar() { $(‘.sidebar’).hide(); // … $(‘.sidebar’).css({ ‘background-color’: ‘pink’, }); } // good function setSidebar() { const $sidebar =…

Serials Javascript Style Guide – Events

Events Hash Khi đính kèm dữ liệu payloads vào các sự kiện (cho dù là sự kiện DOM hoặc cái gì đó riêng biệt như sự kiện Backbone), thì truyền vào 1 object literal (được biết như là “hash”) thay vì là 1 raw value. Điều này cho phép thêm mới dữ liệu mà không…

Serials Javascript Style Guide – Accessors

Accessors Not required Không bắt buộc hàm truy cập đối với các thuộc tính No getters-setters Không dùng JavaScript getters/setters vì chúng gây ra side effects không mong muốn và khó test, maintain, và vài lý do khác. Vì thế nên sử dụng getVal() và setVal(‘hello’) nếu muốn có hàm truy cập. // bad class…

Serials Javascript Style Guide – Type Casting & Coercion

Serials Javascript Style Guide – Type Casting & Coercion Type Casting & Coercion Explicit Thực hiện ép kiểu ở đầu của câu lệnh. Strings Strings: eslint: no-new-wrappers // => this.reviewScore = 9; // bad const totalScore = new String(this.reviewScore); // typeof totalScore is "object" not "string" // bad const totalScore = this.reviewScore + ”; //…

Serials Javascript Style Guide – Semicolons

Semicolons Required Luôn dùng. eslint: semi Tại sao ư? Khi Javascript gặp 1 dòng mà không có dấu chấm phẩy, thì nó sẽ mặc định sử dụng quy tắc gọi là Automatic Semicolon Insertion để cân nhắc xem đó là kết thúc của câu lệnh hay không, và nó ngầm hiểu là sẽ thêm dấu…