NTM Solutions

Bài đăng nổi bật

🚀 Laravel 12 (2026) — Từ PHP Core đến Full Stack📘

Nếu cập nhật theo Laravel 12 LTS (2026) thì mình sẽ chia thành các phần như sau để người học đi từ PHP Core → Laravel → Triển khai dự án th...

Thứ Ba, 10 tháng 1, 2023

Axios là gì? What is Axios?

Axios là một thư viện HTTP Client dựa trên Promise dành cho node.js và trình duyệt. Nó có tính đẳng hình (tức là cùng codebase có thể chạy trong cả trình duyệt và node.js). Ở phía server thì nó sử dụng native module http trong node.js, còn ở phía client (trình duyệt) thì nó sử dụng XMLHttpRequest.

Trang web offical Axios: 

https://axios-http.com/vi/docs/intro


Tính năng
  • Tạo request từ trình duyệt bằng XMLHttpRequest
  • Tạo request từ node.js bằng http
  • Hỗ trợ Promise API
  • Đón chặn request và response
  • Biến đổi dữ liệu request và response
  • Bãi bỏ request
  • Tự động chuyển đổi cho dữ liệu JSON
  • Hỗ trợ phía client bảo vệ chống lại XSRF
Cài đặt

Sử dụng npm:

$ npm install axios

Sử dụng bower:

$ bower install axios

Sử dụng yarn:

$ yarn add axios

Sử dụng jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

Sử dụng unpkg CDN:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

Bài demo Axios :

Lưu ý: Cách dùng với CommonJS

Để có được định nghĩa kiểu dữ liệu TypeScript (cho intellisense / autocomplete) trong khi sử dụng phép import của CommonJS (tức require()), hãy sử dụng phương pháp sau đây:

const axios = require('axios').default;

// Giờ axios.<phương thức> sẽ cung cấp autocomplete và định nghĩa kiểu dữ liệu tham số

Ví dụ:

Gửi đi một GET request

const axios = require('axios');

// Tạo một request để truy xuất người dùng ứng với ID cho sẵn:
axios.get('/user?ID=12345')
  .then(function (response) {
    // xử trí khi thành công
    console.log(response);
  })
  .catch(function (error) {
    // xử trí khi bị lỗi
    console.log(error);
  })
  .then(function () {
    // luôn luôn được thực thi
  });

// Cái request bên trên cũng có thể được làm bằng cách sau, tùy ý
axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  })
  .then(function () {
    // luôn luôn được thực thi
  });  

// Nếu muốn sử dụng async/await thì viết như sau
async function getUser() {
  try {
    const response = await axios.get('/user?ID=12345');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

LƯU Ý: async/await là một phần của ECMAScript 2017, không được hỗ trợ trong Internet Explorer và những trình duyệt cũ, nên cần chú ý khi sử dụng.

Bản tham khảo Axios API

Có thể truyền cấu hình có liên quan vào axios để tạo ra request.

axios(config)
// Gửi một POST request
axios({
  method: 'post',
  url: '/user/12345',
  data: {
    lastName: 'Lý'
    firstName: 'Thường Kiệt',
  }
});
// Truy xuất ảnh từ xa bằng GET request trong node.js
axios({
  method: 'get',
  url: 'http://bit.ly/2mTM3nY',
  responseType: 'stream'
})
  .then(function (response) {
    response.data.pipe(fs.createWriteStream('ada_lovelace.jpg'))
  });
axios(url[, config])
// Gửi một GET request (chức năng mặc định)
axios('/user/12345');

Alias cho phương thức request

Để cho tiện, thư viện đã cung cấp sẵn alias cho tất cả phương thức request được hỗ trợ.

axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.options(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])

LƯU Ý: Khi sử dụng các phương thức alias, các thuộc tính url, method, và data đều không cần phải được chỉ định trong cấu hình. 

Redux là gì? What is Redux?

Redux js là một thư viện Javascript giúp tạo ra thành một lớp quản lý trạng thái của ứng dụng. Được dựa trên nền tảng tư tưởng của ngôn ngữ Elm kiến trúc Flux do Facebook giới thiệu, do vậy Redux thường là bộ đôi kết hợp hoàn hảo với React (ReactJs và React Native).


Nguyên lý của Redux

  • Trạng thái (state) của toàn bộ ứng dụng được lưu trong trong 1 store duy nhất là 1 Object mô hình tree
  • Chỉ có 1 cách duy nhất để thay đổi trạng thái (state) đó là tạo ra một action (là 1 object mô tả những gì xảy ra)
  • Để chỉ rõ trạng thái (state) tree được thay đổi bởi 1 action bạn phải viết pure reducers.
Nguyên lý hoạt động Redux
  • Xem thêm về Redux: https://viblo.asia/p/redux-co-ban-m68Z00JdZkG
  • Trang offical Redux : https://redux.js.org/
  • Bài demo Redux: 



HTTPie là gì? What is httpie?

HTTPie là nền tảng test API giống POSTMAN có chạy trên terminal-web app-hỗ trợ AI.

FLOW THROUGH APIs

HTTPie is making APIs simple and intuitive for those building the tools of our time.

Trang web offcial của HTTPie : https://httpie.io/app

Thứ Năm, 5 tháng 1, 2023

TensorFlow là gì? What is TensorFlow?

Lịch sử ra đời TensorFlow

Vài năm trước, khi phải xử lý lượng dữ liệu khổng lồ, deep learning bắt đầu cho thấy hiệu năng vượt trội so với tất cả các thuật toán machine learning khác. Google sớm nhận ra tiềm năng này và nghĩ rằng họ nên sử dụng deep neural network để cải thiện các dịch vụ của mình, trong đó có:

– Gmail.
– Hình ảnh
– Google search engine

Thế là họ dựng 1 framework có tên là TensorFlow để các nhà nghiên cứu cũng như lập trình viên có thể làm việc cùng nhau trên model A.I. 1 khi đã được phát triển và scale hoàn chỉnh, rất nhiều người đã có thể sử dụng được nó.

Facebook Youtube RSS