Google Apps Script (GAS)
GAS là 1 dịch vụ của Google. Mục đích chính là để người dùng có thể tạo ra các add-on cho các dịch vụ khác của Google như: Sheet, Docs, Slides, Maps, Translate... giúp tăng hiệu quả làm việc và xử lí các bài toán riêng của từng user.
-
Ví dụ: Bạn muốn tạo 1 ứng dụng cho phép ghi lại nhật kí lịch họp của cá nhân phục vụ mục đích thống kê. Dữ liệu sẽ lấy từ Google Calendar và sau đó ghi lên Google Sheet để vẽ biểu đồ -> GAS cho phép bạn làm việc này tương đối đơn giản
-
Bạn muốn viết 1 custom function trên Google Sheet để tính diện tích một tam giác, nhận vào 2 tham số chiều cao và cạnh đáy, tương tự với các hàm SUM, COUNT hay dùng -> GAS cho phép bạn làm việc này
-
Bạn muốn viết 1 addon giúp in hoa bôi đậm các chữ cái đầu dòng khi soạn thảo bằng Google Docs -> GAS cho phép bạn làm việc này
GAS sử dụng ngôn ngữ rất phổ biến là Javascript, và thực tế hiện nó đã hỗ trợ V8 runtime với đầy đủ các chức năng của ECMAScript mới nhất.
Ngoài mục đích chính mình nêu ở bên trên, GAS còn cung cấp 1 số API giúp dev có thể làm nhiều việc hơn, giao tiếp với nhiều nơi hơn không chỉ là nội bộ các Apps của Google. Do đó GAS còn có thể sử dụng để viết các web app với các chức năng từ cơ bản -> cao cấp tùy theo nhu cầu. Ví dụ: 1 web app nhận HTTP request từ bên ngoài, ghi vào dữ liệu vào Google Sheet, sau đó trả về 200 cùng message.
Docs về GAS thì ở đây đã có rất đầy đủ và chi tiết tại đây https://developers.google.com/apps-script/reference. Còn ứng dụng thì cũng rất nhiều rồi. Bạn có thể search tham khảo.
Happy coding!
Hỏi về check regex tiếng việt
\b xác định vị trí đầu chuỗi, cuối chuỗi hoặc giữa 2 kí tự 1 là word character (\w), 2 là non-word character (\W) Và vì các kí tự tiếng việt (ê, ô, ế...), không phải là word character (có thể test bằng \w) nên trường hợp của 'muốn' đúng với pattern \bmu\b (\b thứ nhất là đầu chuỗi, \b thứ hai là giữa 1 word và non-word)
google app scrip api và cách thêm trình kích hoạt cho đoạn script được nhứng vào sheets
Bạn vào script.google.com, chọn trigger, chọn hàm muốn chạy, chọn điều kiện là mỗi khi sheet có thay đổi (on-edit) nhé
Cần giúp đỡ về RegExp
Mình đọc đề bài chưa hiểu rõ lắm. Tạm tóm gọn lại như thế này, nếu sai ý bạn thì thông cảm nhé.
- Bạn có 1 string
- Bạn cần tách string đó thành các cặp key-value pair theo dấu ","
- Trong các cặp key-value pair đã tách, kiểm tra xem các key in, nin, btw, nbtw có value hợp lệ cú pháp (foo-bar) hay không
Mình viết bằng JS, tại lâu rồi không động đến PHP nên chẳng còn nhớ gì cả
let string = 'gt:1,in:1-2,nin:1-2,btw:1-2,nbtw:1-2';
let regEx = RegExp('(.)-(.)');
// tạo mảng mới gồm các cặp key-value
let keyPair = string.split(',').map(e => e.split(':'));
//kiểm tra cú pháp value theo key
for (i in keyPair) {
if (keyPair[i][0] == 'in' || keyPair[i][0] == 'nin' || keyPair[i][0] == 'btw' || keyPair[i][0] == 'nbtw')
if (!regEx.test(keyPair[i][1])) {
console.log(`Đã có lỗi ở key ${keyPair[i][0]}. Sai cú pháp giá trị`)
}
}
Thực sự mình thấy vẫn mơ hồ về asynchronous (async-await) trong Javascript
Bài viết này sẽ giúp bạn hiểu rõ hơn bản chất của JS https://stackoverflow.com/questions/2035645/when-is-javascript-synchronous
Bạn hiểu JS luôn là bất đồng bộ -> cái này là sai
JS luôn đồng bộ và đơn luồng. Nó chỉ bất đồng bộ khi nào nó có thể làm điều đó.
Tổ chức
Chưa có tổ chức nào.