Viblo CTF

DISCUSSIONS

Jul 30th, 9:58 AM

Thank you. Mk hiểu rôi ^^ . Mong bạn ra tiếp những bài hay nhé ... ❤️ iu 😶

0
Jul 30th, 9:11 AM

Lại chạy ok rùi bạn ah. Tiện mình còn thắc mắc nữa. Ở broadcaston trong event tại trường hợp public channel thì mình return tên channel là chuỗi nó chạy, là mảng nó cũng chạy. Vậy mình nên hiểu thế nào cho đúng ah

0
Jul 30th, 8:46 AM

Cám ơn bạn, bài viết rất hay 👏

Bạn nên mở rộng thêm elasticsearch và rabbitmq cho đủ bộ

0
Jul 30th, 8:33 AM

Tham số thì các trình duyệt mới hỗ trợ thôi, chứ es3 làm gì có.

0
Jul 30th, 6:20 AM

sao không tạo ra một cột compare 2 cột a vs b lại. điều kiện là isnull cột a thì lấy cột b. rồi order by trên cột compare đó. check flag làm gì cho cực

0
Jul 30th, 5:01 AM

@phuongdong1995 Queue work xong thì nó chờ sự kiện để thực thi. Nên chỉ cần chạy 1 lần hoặc khởi động lại khi server bị lỗi. Vậy dùng suppervisor là chuẩn rồi. Nên mark solution này nha 😃)

0
Jul 30th, 4:34 AM

Lâu lâu cũng gặp các cao thủ như vậy. Nếu sau muốn sửa thì phải kiếm hết 20 chỗ để sửa. Bác đã chia kiểu trên thì chia luôn ra 2 loại: ObjectBuilder{} hay ObjectService{} và AbcBuilder{}/AbcService{} Cái nào chung thì gọi ObjectBuilder, riêng thì gọi AbcBuilder.

0
Jul 30th, 4:30 AM

Bạn vào public/storage ... xem có ảnh chưa. Nếu chưa chạy php artisan storage:lịnk

0
Jul 30th, 4:14 AM

Cho em hỏi có ai làm được chưa, làm theo mà lỗi không à ?

0
Jul 30th, 4:07 AM

nếu bạn chỉ muốn gửi dữ liệu bất kì đi mà ko muốn lưu vào DB thì bạn bỏ SerializesModels ở event đó đi là được nhé:

Screenshot 2020-07-30 at 12.05.49.png

0
Jul 30th, 3:42 AM

@nhoxhocju Trong model Quyen

public function quyens()
{
        return $this->belongsToMany('App\Quyen', 'quyen_ungdung', 'quyen_id', 'ungdung_id);
}

Trong eloquent hay controller:

$ungDungWithQuyen = $this->ungdung->with(['quyens'])->get();

Trong view:

foreach($ungDungWithQuyen as $ungDung){
    // ..........
    if($ungDung){
        foreach($ungDung->quyens as $quyen){
            //........
        }
    }
}
0
Jul 30th, 3:19 AM

bài viết rất bổ ích

0
Jul 30th, 3:19 AM

hay quá anh ơi 👍

0
Jul 30th, 3:13 AM

contruct.png Cho mình hỏi cái chỗ contruct ở event này sao cứ phải là model đó thì mới được? Mình muốn chỉ phát dữ liệu đi thôi chứ ko muốn lưu vào db. Dữ liệu có thể chỉ là 1 string tin nhắn. Mình có thử xóa model đó đi, chỉ gửi 1 string thôi nhưng queue báo "Failed"

0
Jul 30th, 2:29 AM

(sohai)

0
Jul 29th, 5:42 PM

Rất chi tiết, cảm ơn bạn

0
Jul 29th, 4:42 PM

Theo như bạn nói thì mình hình dung vấn đề của bạn đang gặp phải giống như khi xử lý submit form wizard. Với mỗi request khác nhau Rails sẽ tạo ra một thread để xử lý request đó, về cơ bản trong cùng một process thì các thread có thể chia sẻ memory với nhau nên bạn có thể sử dụng một global variable để làm flag. Tuy nhiên để có thể roolback lại khi có một request thất bại thì bắt buộc các request trước đó phải pending lại, điều này là không khả thi. Theo mình thì có 2 phương án mà bạn có thể thử:

  1. Sử dụng session(server) hoặc localstorage(client)
    • Thay vì mỗi bước bạn thực hiện gửi request update vào DB thì bạn sẽ lưu dữ liệu mà người dùng nhập vào session hoặc localstorage.
    • Khi người dùng thực hiện xong bước 3 thì mới gửi một request lên để update 3 trường trong DB cùng lúc.
  2. Sử dụng gem paper_trail (https://github.com/paper-trail-gem/paper_trail)
    • Đây là một gem quản lý các version của một record.
    • Bạn có thể giữ nguyên logic hiện tại (3 bước gửi 3 request), khi có một bước nào đó thất bại thì bạn chỉ cần restore lại version trước đó của user.
+1
Jul 29th, 4:07 PM

Bài toán này là với mỗi movie mà user đang xem sẽ gợi ý các movies mà user đó có khả năng xem nhiều nhất ý bạn. Ví dụ như bạn đang xem youtube bài của sky chẳng hạn thì bên góc phải của youtube sẽ show thêm các bài khác của sky ý. Kiểu vậy

0
Jul 29th, 10:09 AM

Đã chạy ngon. Cảm ơn bạn nha

0
Let's register a Viblo Account to get more interesting posts.