THẢO LUẬN

thg 6 21, 7:52 SA

🤣

0
thg 6 21, 6:39 SA

Chỉ là mấy trick vặt vãnh, không xứng gọi là javascript nâng cao.

+1
thg 6 21, 5:29 SA

var, let, const có sự khác nhau quan trọng là scope. var luôn cho ra global scope.

var num = 10; // global scope

// begin local scope
{
  var num = 8;
}

console.log(num); // 8

let x = 4; // global scope

// begin local scope
{
  let x = 5;
}

console.log(x); // 4

let và const sinh ra để thay thế var, cho nên hãy thôi dùng var.

+3
thg 6 21, 5:21 SA

bài viết hay, cảm ơn anh.

+1

Cảm ơn feedback của bạn. Rất hợp lý, mình đã bổ sung 😁

0

Anh cho em hỏi Master Data là gì và làm sao để có được Master Data vậy ạ. Em có đọc qua bài TF-IDF của anh rồi, nhưng em vẫn không biết Master Data từ đâu ra.

0

Cám ơn bạn đã theo dõi 😁

0
thg 6 21, 12:03 SA

Cám ơn bài viết của bạn. Nếu thêm phần giới thiệu Notion ở đầu nữa thì tuyệt.

+1

Bài viết rất hay và hữu ích nha. Mình đã thử trên cụm VKS của mình và thành công, không khác gì hướng dẫn, trừ vài thay đổi cho phù hợp với cloud provider 😄

+1

class CicularQueue: def init(self,size): self.front = self.rear = -1 self.size = size self.queue = [None] * size

def enQueue(self,data):
    if (self.front == 0 and self.rear == self.size - 1) or (self.rear == (self.front - 1) % (self.size - 1)):
        print("Queue is Full")
    elif self.front == -1 :
        self.rear = 0 
        self.front = 0 
        self.queue[self.rear] = data
    elif self.rear == self.size - 1 and self.front != 0 :
        self.rear = 0 
        self.queue[self.rear] = data
    else:
        self.rear += 1 
        if self.front <= self.rear : 
            self.queue[self.rear] = data 
            
def deQueue(self):
    if self.front == -1  : 
        print("\n Queue is empty ")
        return -1 
    
    data = self.queue[self.front]
    self.queue[self.front] = None
    if self.front == self.rear :
        self.front = - 1
        self.rear = - 1
    elif self.front == self.size - 1: 
        self.front = 0 
    else:
        self.front += 1 
        
    return data 

def displayQueue(self):
    if self.front == -1 :
        print("Queue is empty ")
        return
    print("Element in the "+"cicular queue are : ")
    if self.rear >= self.front : 
        for i in range(self.front,self.rear+1):
            print(self.queue[i],end=' ')
            print(' ')
        print('\n')
        
    else:
        for i in range(self.front,self.size):
            print(self.queue[i])
            print(" ")
            
        for i in range(0,self.rear+1):
            print(self.queue[i])
            print(" ")
        print("\n")

if name == 'main': q = CicularQueue(5) q.enQueue(10) q.enQueue(8) q.enQueue(30) q.enQueue(5) q.displayQueue() x = q.deQueue() if x != -1: print("Deleted value =", x)

x = q.deQueue()
if x != -1:
    print("Deleted value =", x)

q.displayQueue()

q.enQueue(9)
q.enQueue(20)
q.enQueue(5)

q.displayQueue()

q.enQueue(20)

Mọi người tham khảo nhé !!!

0

Hay quá chi tiết quá

0

@MartinCrux xin bác sớm public github của project nhé ạ, data thì mình remove là được thôi mà nó đâu liên quan trong này 😄

0
thg 6 20, 10:05 SA

Chắc là người giống đấy bro 😃)

0
Avatar
đã bình luận cho bài viết
thg 6 20, 7:20 SA

👍️

0

Cảm ơn bạn nhiều ạ, bạn có thể chia sẻ trải nghiệm của mình sau khi áp dụng tất cả các technique trên nhé ạ

0

@phuclpst0125 dòng Ví dụ về mvcc

0

1 : Bạn có thể cho mình xin thông tin ảnh nào bị lỗi không để mình có thể fix 2 : Theo mình tìm hiểu thì có 2 trường hợp trong câu hỏi của bạn :

  • 1: UPDATE rồi mới READ : thì khi bạn tạo lệnh update thì cơ chế của MVCC đã tạo ra 1 bản sau lưu cửa dữ liệu củ và 1 bản cho dữ liệu sau lệnh update . Khi đó người dùng muốn đọc thì hệ thống sẽ trả về bản dữ liệu cũ để tránh lỗi . => Trong trường hợp này thì READ sẽ tạo ra 1 Version và sẽ gây lản phí tài nguyên
  • 2 : Bạn chỉ READ mà không có thao tác UPDATE hay DELETE trước đo : thì trường hợp này đơn giản hơn là bạn chỉ đọc mà không cần tạo bạn sao lưu dữ liệu cũ => Trường hợp này sẽ không tạo Version
0
Avatar
đã bình luận cho bài viết
thg 6 19, 2:58 CH

Tất cả đều lưu trong bộ nhớ thôi. Bộ nhớ thì chia thành Stack và Heap. Hiểu về Stack và Heap thì mới hiểu tại sao con trỏ tăng hiệu năng và tiết kiệm bộ nhớ. Em nên đưa thêm những thứ đó vào mới rõ ràng được.

không thực sự nói về con trỏ nhưng bài này có giải thích về Stack và Heap: https://viblo.asia/p/kieu-gia-tri-kieu-tham-chieu-giai-thich-goc-re-obA46dKGLKv

0
thg 6 19, 2:43 CH

t có quen ông không nhỉ @Tafi

0

Trước tiên nên định nghĩa fullstack dev là gì đã.

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í