THẢO LUẬN

Bài viết rất hay!

0
Oct 16th, 2018 2:02 a.m.

Bạn có thể dùng package axios để call api và đợi kết quả trả về trước khi render view template nhé. Vì phần xử lý data của bạn đã được để bên API nên bạn chỉ cần tạo request để gửi đến API thôi, nó không giống MVC.

0
Oct 16th, 2018 12:09 a.m.

cần thêm hình vào 👌

0
Oct 15th, 2018 6:24 p.m.

Cái locate của files .box trên linux là ở đâu anh nhỉ ?

0

😦 bình thường mà a

0
Oct 15th, 2018 4:54 p.m.

bạn cho hỏi nếu mình thêm view thì gọi api này như thế nào có giống mô hình MVC không vì mình biết cái api rest nó nằm ở một chỗ khác không cùng thư mục với project chẳng hạn . hay mình vẫn viết controller gọi api

0

đỉnh quá

+1
Avatar
đã bình luận cho bài viết
Oct 15th, 2018 2:36 p.m.

Hi, mình cũng mới học viết test. Thật sự hay và quan trọng!

0
Avatar
đã bình luận cho bài viết
Oct 15th, 2018 2:36 p.m.

Test cũng k thể cover hết đc. Nhưng viết đc test cho code của mình cũng giúp giảm thiểu sự rủi ro

0
Oct 15th, 2018 12:44 p.m.

@LeXuanSu Cảm ơn bạn đã đọc bài biết, đối với vấn đề của bạn mình nghĩ bạn gọi tới translate ngay trong data property thì có thể vue sẽ không hiểu được (chỗ này mình chưa chắc chắn, mình cũng chưa thử làm như thế này). Nếu bạn muốn hiển thị lỗi bên dưới input thì có thể tạo data error với kiểu object, sau đó khi submit lỗi thì gán string lỗi với key tương ứng là input name của bạn chẳng hạn. https://vuejs.org/v2/cookbook/form-validation.html

0

Có r. Detect bằng cơm =))

0

Trên kia mình có bước thống kê độ dài các câu, mình chọn max_seq = 200 là vì số lượng comment trên 200 từ là rất ít(40/12k comment), việc cắt đi sẽ không ảnh hưởng mấy đến dữ liệu training chung.

+1

fuck you, chưa có detect spam comment đúng không?

+1

Cách này chắc sẽ hiệu quả hơn zero padding rồi. Nhưng với những câu dài bạn chỉ lấy đủ max_seq word, còn lại bỏ nhỉ? Như vậy liệu có ổn không?

+1
Avatar
đã bình luận cho bài viết
Oct 15th, 2018 10:13 a.m.

Bài viết hay quá. Dùng Laravel lâu rồi mà chưa bao giờ viết Test luôn 😦

+1
Oct 15th, 2018 9:57 a.m.

viết test cũng như tự chửi vào mặt mình: code viết như cc. nhưng thà tự chửi còn hơn để khách hàng chửi: mày ngu vl. chương trình mày tù vl 😦(

+1

Bài viết dịch hay, nhưng ở hàm KiemTraTinhToanVen(), mình thấy ở bài viết gốc và bài này đều thiếu 1 trường hợp khi kiểm tra, đó là kiểm tra phần tử đầu tiên. Mình xin phép sửa lại như sau:

KiemTraTinhToanVen() {
    // check xem block đầu tiên, hash của nó có toàn vẹn ko
    if (this.MangBlock[0].Hash !== this.MangBlock[0].TinhToanHash()) {
        return false;
    }
    
    for (let i = 1; i < this.MangBlock.length; i++) {
        const BlockHienTai = this.MangBlock[i]; //Lấy ra phần tử ở vị trí hiện tại
        const BlockTruocDo = this.MangBlock[i - 1]; //Lấy ra phần tử ở ngay trước vị trí hiện tại
        if (BlockHienTai.Hash !== BlockHienTai.TinhToanHash()) { //Kiểm tra lại Hash của toàn bộ Block hiện tại và Hash đã lưu xem có trùng nhau không.
            return false; //Nếu không trùng tức là Dữ liệu trong Block hiện tại đã bị chỉnh sửa, hàm KiemTraToanVen sẽ trả về false luôn.
        }
        if (BlockHienTai.HashTruocDo !== BlockTruocDo.Hash) { //Lấy Hash hiện tại và Hash phần tử trước đó đã lưu xem có trùng nhau không.
            return false; //Nếu không trùng tức là Hash của Block hiện tại đã bị chỉnh sửa, hàm KiemTraToanVen sẽ trả về false luôn.
        }
    }
    return true; //Nếu kiểm tra hết toàn bộ trong vòng For mà không vấn đề gì thì tức là Blockchain vẫn toàn vẹn, chưa bị sửa đổi.
}
+1
Oct 15th, 2018 9:35 a.m.

Chào bạn hiện tại mình đang load ảnh Asynchronously sử dụng URLSession. Cho mình hỏi cách load ảnh của bạn có gì tối ưu hơn được không, vì mình đọc qua thấy cũng có vẻ khá dài 😄

0

a ơi e muốn nhận dạng chữ in thì như nào ạ

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í