THẢO LUẬN

Avatar
đã bình luận câu trả lời trong câu hỏi
thg 5 18, 2019 7:29 CH

Em đã test và nó hoàn toàn chính xác luôn anh 😄 Em mới test thử deallocate một cây nhị phân bằng đệ quy theo kiểu này và kết quả rất tốt, tạo vòng lặp trong mã nguồn và không đệ quy:

#include <stdlib.h>

struct node {
    int data;
    struct node* left;
    struct node* right;
};

void deallocate(struct node* first, struct node* second) {
    if (first->left != NULL) {
        struct node* _first = first->left;
        first->left = second;
        return deallocate(_first, first);
    } else if (first->right != NULL) {
        struct node* _first = first->right;
        first->left = second;
        first->right = NULL;
        return deallocate(_first, first);
    }
    free(first);
    if (second == NULL)
        return;
    else
        return deallocate(second, NULL);
}

Em nghĩ là nếu mình lợi dùng đặc điểm tối ưu hóa đệ quy này thì mình có thể viết một hàm đơn giản bằng đệ quy, nhưng hiệu năng và bộ nhớ thì tương tự như vòng lặp được.

+2
thg 5 18, 2019 6:31 CH

Hay lắm bác, mỗi tôi có vài đoạn đọc hơi loạn óc 😃)

0

Cảm ơn tác giả về bài viết. bài viết quá xuất sắc

0
Avatar
đã bình luận cho bài viết
thg 5 18, 2019 5:47 CH

Cảm ơn bác. Em đọc xong comment của bác mà cảm giác được thông não. Mấy hôm nay em cũng đang thắc mắc vấn đề này.

0

Mục đích đọc turtorial là Nuxt.js 😄 cuối cùng biết thêm tý GraphQL ❤️ ! cảm ơn anh !

+1

Hên thôi, developer kiêm tester xem, chị nghỉ sớm à :v

0

Cái history đó bỏ ra khỏi callbacks đi, lúc t viết vào để xem sự biến thiên của acc khi thay đổi 1 vài tham số thôi, lên bài thì t bỏ luôn đi không cho vào nữa mà quên chưa xóa khỏi fit_generator 😃)

+1

@QuangPH ơi, mình chạy đến đây thì không thấy history trong callbacks được định nghĩa ở đâu cả.

model.fit_generator(train_generator, steps_per_epoch=len(train_data)//BATCH_SIZE, epochs=10,
                    validation_data=validation_generator, validation_steps=len(valid_data)//BATCH_SIZE,
                    callbacks=[history, checkpointer, early])

+1
thg 5 18, 2019 3:40 SA

các bài sau hi vọng bạn giới thiệu các tình huống kết hợp pseudo như has, not với các pseudo khác

0

var savedFilename = "/upload/"+randomString(10)+ext;

Trước dòng này phải check xem folder /upload/ có tồn tại hay ko, ko có thì phải tạo (ko có lại hiện lỗi no directory) // Kiểm tra xem folder có tồn tại hay không const folderUpload = __dirname + "/uploads/" // Nếu chưa thì tạo folder if (!fs.existsSync(folderUpload)){ fs.mkdirSync(folderUpload, { recursive: true }); }

0

Khi mình config

CACHE_DRIVER=redis

Thì cache sẽ được lưu vào redis. Phần này laravel sẽ làm cho mình.

Xét câu lệnh sau:

Cache::remember($key, 1, function () {
        return Post::with('user')->orderBy('created_at', 'desc')->paginate();
});

Hoạt động của câu lệnh sẽ là: đầu tiên kiểm tra xem trong bộ nhớ cache (redis) có lưu dữ liệu với khóa $key không. Nếu có thì sẽ trả về dữ liệu của khóa $key trong bộ nhớ cache. Nếu không có thì nó sẽ thực hiện function. Kết quả của function sẽ được lưu vào cache (redis) với khóa là $key. Đồng thời trả về kết quả đó luôn. Thời gian lưu giữ giá trị vào cache trong trường hợp này sẽ là 1 phút (số 1 của đối số thứ 2 truyền vào).

Chủ đề về redis mình sẽ cố gắng viết bài trong thời gian sớm nhất. Bạn hãy đón đọc nhé. 😃

0

chuẩn nè....

0

úi giời ơi, úi giời ơi

0
Avatar
đã bình luận cho bài viết
thg 5 17, 2019 3:34 CH

Được e nhé, cứ đưa vào như là một tham số bình thường thôi.

0

OK bạn, nếu pubsub theo toàn cục firebase theo interval thì ổn, chứ pubsub riêng lẻ từng request thì lại sai.

0
thg 5 17, 2019 10:39 SA

thanks ad. Dev cũng có thơ nữa!! hay!

0

Không. t vẫn đang nodejs, hồi trước có học python nên giờ làm bài ý mà 😃)

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í