THẢO LUẬN

clap!

+1
thg 5 13, 2019 12:56 SA

Đẹp trai.

0

cho mình hỏi để lấy cái time trong created_at ra để hiển thị như diffForHumans thì viết kiểu j

0

thanks bạn. m sẽ cố gắng sẽ chia sẻ nhiều bài viết hay hơn nữa đến mọi người.

0
Avatar
đã bình luận cho bài viết
thg 5 12, 2019 10:42 SA

Great article. Thank you for sharing.

0

bài viết rất hay, cảm ơn tác giả

+1

Em muốn nó chỉ hiện 10 bài mới nhất thì làm ntn ạ

0

Cảm ơn tác giả, bài viết rất hữu ích, mình có một thắc mắc nhỏ như sau:

books = convert_csv_to_book_attributes.map do |attrs|
    Book.new(attrs)
end

books sẽ có giá trị tương đương tất cả dữ liệu cần import, vậy chúng sẽ được lưu trong memory trước khi lưu vào db? nếu như vậy với dữ liệu lớn với mỗi file csv lên tới hàng chục GB, thì có thể gây ra tràn vùng nhớ? cảm ơn tác giả .

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

勉強になりました!

0
Avatar
đã bình luận cho bài viết
thg 5 11, 2019 1:50 SA

có thể đưa dict vào trong như list được k anh !!

0

Ở mục 1, chạy trên IE Edge k thể hiển thị, requirement yêu cầu chạy được IE Edge là banh 😅

0
Avatar
đã bình luận cho bài viết
thg 5 10, 2019 8:48 SA

Đây là lấy ví dụ với 1 listener nếu có nhiều listener thì làm như cách của bạn sẽ phải include toàn bộ các class listener vào hàm processSubmitOrder()

+1

Hi,

Có vẻ như code ko chạy vào chỗ này để sendPhoto.

socket.on('sendPhoto', function(data){
  var guess = data.base64.match(/^data:image\/(png|jpeg);base64,/)[1];
  var ext = "";
  switch(guess) {
    case "png"  : ext = ".png"; break;
    case "jpeg" : ext = ".jpg"; break;
    default     : ext = ".bin"; break;
  }
  var savedFilename = "/upload/"+randomString(10)+ext;
  fs.writeFile(__dirname+"/public"+savedFilename, getBase64Image(data.base64), 'base64', function(err) {
    if (err !== null)
      console.log(err);
    else 
      io.to(roles.receiver).emit("receivePhoto", {
        path: savedFilename,
      });
      console.log("Send photo success!");
  });
});
0

thanks

0
thg 5 10, 2019 6:38 SA

@huukimit mình đọc docs thấy nó mount ntn để dùng ko biết có đúng ko =))

volumes:
   - type: bind
       name: backend
       source: ./backend
+1
thg 5 10, 2019 6:35 SA

@huukimit Trong volumes ở trên cùng kia có phải option gì nữa ko để nó nhận ra được mình đã mount thư mục ./backend của mình vào trong container :-?

0

@HungNguyenVan Các hàm process1, process2, process3 là các hàm tác động đến object o, thì em ko cần viết synchronized rồi với viết hàm nữa mà viết luôn thế này Thread thread1 = new Thread(new Runnable() { @Override public void run() { process2(o); } });

  Thread thread2 = new Thread(new Runnable() {
        @Override
        public void run() {
                process2(o);
        }
    });
    
   Thread thread3 = new Thread(new Runnable() {
        @Override
        public void run() {
                process3(o);
        }
    });
    
    thread1.start();
    thread2.start();
    thread3.start();
0
thg 5 10, 2019 4:01 SA

Thanks bạn!

0

bài viết hay quá

+1
thg 5 10, 2019 3:36 SA

nói thật ko phải chê chứ do web bạn là web cỏ, bán hàng quần áo hay j đó thôi. còn web thương mại kiếm tiền họ quý từng điểm SEO, giảm lượng css cần viết đến mức tối đa cho web nhẹ hơn. W3 nó phát triển cho dev xài, mà dev ko xài là lỗi của thằng dev sao trách ai đc, 1 quá lười 2 quá dốt

+1
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í