THẢO LUẬN

thg 6 16, 2023 1:26 SA

@buihanh2304 mong a làm thêm 1 bài nữa về vue router ạ

0

Không phủ nhận là viết lan man. Còn ví dụ thì nó ở phần 2 cơ

0

Phải dùng chatgpt cho nó sửa câu từ chứ :v 2023 rồi, ai viết chay nữa đâu

0

@ntngoc96wd kh biết anh có kênh liên lạc nào khác em connect để học hỏi thêm nhé ạ ^^

0
thg 6 15, 2023 2:13 CH

Thank bạn đã ủng hộ 😁, nếu có thắc mắc gì hoặc muốn tìm hiểu gì liên quan đến NestJS thì có thể comment, mình sẽ cố gắng ra bài viết về chủ đề đó để hỗ trợ bạn.

0
thg 6 15, 2023 9:46 SA

bài viết hay, có tâm. Cảm ơn Duy Đà Nẵng

+1

Có hướng dẫn làm với các mẫu phiếu trắc nghiệm như phiếu tô THPTQG không ạ??

0
thg 6 15, 2023 7:31 SA

Đây là phân quyền ở Backend nhé. Còn muốn phân quyền ở vue router thì phải viết xử lý riêng.

0

Cảm ơn bạn, bài viết khá chi tiết và tâm huyết cũng như mang tính thực tế cao 😍

+1
thg 6 15, 2023 4:45 SA

"Không gửi thông tin lên server như Cookie nên bảo mật tốt hơn." Vậy có nghĩa là bạn trust client hơn server hay sao? Sai hoàn toàn nhé!

0
thg 6 15, 2023 4:37 SA

Bài viết cũng khá hay. Cho cái nhìn tổng quan cho newbie như mình

+1

Mình sẽ ví dụ đơn giản một cách dễ hiểu với 2 chương trình mẫu Rust (compiler) và Python (interpreter)

###Python

def main():
    x = 5  # Interpreter infers the type of x as int
    y = "Hello"  # Interpreter infers the type of y as str

    # No explicit type annotation in Python

    result = add_numbers(x, y)  # Interpreter raises a runtime TypeError here

    print("Result:", result)

def add_numbers(a, b):
    return a + b

main()

Lỗi trả về:

ERROR!
Traceback (most recent call last):
  File "<string>", line 14, in <module>
  File "<string>", line 7, in main
  File "<string>", line 12, in add_numbers
TypeError: unsupported operand type(s) for +: 'int' and 'str'

###Rust

fn main() {
    let x = 5; // Compiler infers the type of x as i32
    let y = "Hello"; // Compiler infers the type of y as &str

    // Type annotation
    let z: bool = true;

    let result = add_numbers(x, y); // Compiler detects a type mismatch here

    println!("Result: {}", result);
}

fn add_numbers(a: i32, b: i32) -> i32 {
    a + b
}

Lỗi trả về:

rustc /tmp/Pq6XxfKx1e/main.rs
error[E0308]: mismatched types
  --> /tmp/Pq6XxfKx1e/main.rs:8:33
   |
8  |     let result = add_numbers(x, y); // Compiler detects a type mismatch ...
   |                  -----------    ^ expected `i32`, found `&str`
   |                  |
   |                  arguments to this function are incorrect
   |
note: function defined here
  --> /tmp/Pq6XxfKx1e/main.rs:13:4
   |
13 | fn add_numbers(a: i32, b: i32) -> i32 {
   |    ^^^^^^^^^^^         ------

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.

Sau khi quan sát 2 lỗi trả về bạn sẽ thấy Python báo lỗi dòng 13 và Rust dòng 12. Nghĩa là:

  • Python suy diễn kiểu động báo lỗi trong quá trình thực thi hàm add_numbers. Interpreter sẽ raise TypeError trên runtime khi execute.
  • Rust suy diễn kiểu tĩnh báo lỗi trong quá trình gọi hàm add_numbers. Compiler suy diễn kiểu cho return của hàm add_numbers nên sẽ trả lỗi trong quá trình compile gọi hàm add_numbers.
0
thg 6 15, 2023 2:37 SA

chào a, bài viết của a rất hay và chi tiết ạ. a cho e hỏi e đang sử dụng laravel + vue router, không biết nó có phân quyền như thế này ko ạ

0

Sao em đọc cứ có mùi ChatGPT và nội dung không đi vào trọng tâm thế ạ, bác có thể thêm ví dụ trong thực tế sử dụng Proxy Pattern gồm những cái gì không để dễ hiểu hơn ạ?

0

bạn deploy được chưa, hướng dẫn mình với

0
Avatar
đã bình luận cho bài viết
thg 6 14, 2023 5:13 CH

Nhưng mà nếu user mạng lag hoặc rớt mạng, thì hoá đơn phía hệ thống sẽ không được confirm, do request là của user. Nên phải cần ipnUrl do Vnpay request. Mà e tìm ko nổi cái phần set ipnUrl ở đâu cả.

0
Avatar
đã bình luận cho bài viết
thg 6 14, 2023 4:55 CH

@pdhau e đọc doc của họ rồi bác, không có key vnp_IpnURL bác à (ko biết ngày trước có ko). Ko hiểu sao trên web hướng dẫn của vnpay, họ vẫn giữ cả 2 cái ipnUrl với returnUrl, mà code demo của 2 cái này lại giống nhau 90%. Cái url nó sẽ chứa dữ liệu trả về gồm 2 phần: data hoá đơn và secureHash (dưới dạng query parameter). Trong đó cái secureHash là data hoá đơn được hash bởi secret_key của mình. Server của mình sẽ phải kiểm tra 2 cái đó có ăn khớp với nhau ko -> nên nếu user chỉnh sửa data hoá đơn trong url mà không sửa cái secureHash trong đó (họ ko có secret_key) thì kết quả sẽ trả về sai. Mong mọi người cùng bàn luận.

0

Thanks anh!. Một câu hỏi khá phổ biến dạo gần đây ở các Bigtech VN, đọc bài này xong pv hỏi luôn chém nó đã

0

PhucRiot

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí