DISCUSSIONS

thg 7 31, 2018 9:09 SA

python à ? có gì cứ hỏi nha. skype hahungkk@hotmail.com

0

await không dùng với callback là sao ạ

0
thg 7 31, 2018 8:15 SA

thanks a , e đang từ frontend chuyển qua học backend 😄 trước chỉ làm với firebase quen h phải làm với sql nên cũng hơi căng 😄

0

OK cảm ơn bạn. Giờ có nhiều kỹ thuật nên có thể cái name css của bạn dài, nhưng khi build prod nó chỉ còn 1 vài ký tự thôi, k còn tên cũ nữa.

0

Mình phải đăng ký để cám ơn bài viết của bạn, bài viết của bạn đã nói rõ bản chất của abstract và interface. Chúc bạn nhiều sức khỏe và share nhiều điều bổ ích.

+1

@huuhung96 Thường thì họ toàn set quan hệ emmbeded như thế này, tại Mongodb họ khuyến khích làm vậy mà. Mình cũng thường làm như vậy, mình có thiết kế một cái Database cho trang web bán hàng bằng Mongodb này, hy vọng có ích với bạn : https://github.com/dangminhtruong/havana/tree/master/model

+1

@xdangminhtruongx Sau 1 hồi lâu search thì mình cũng thấy 1 số người họ tạo quan hệ kiểu này. Nhưng mình thấy nó kiểu ngược ngược so với thói quen dùng quan hệ trong rails và laravel trước đây . Mình cũng biết là mongo lưu được cả colection. Nhưng mình vẫn muốn lưu ở dạng ObjectID của nó chứ không set cứng để khi người dùng thay đổi thông tin thì nó cũng đổi theo.

0

Theo ý kiến của mình, thì mình nghĩ bạn nên set quan hệ embedded giữa Comment vào trong Review như thế này sẽ ổn hơn nè...

var mongoose = require('mongoose'), Schema = mongoose.Schema

, ObjectId = Schema.ObjectId;

var ReviewSchema = new mongoose.Schema({

user_id: { type: ObjectId, ref: 'User' },

book_id: { type: ObjectId },

star: { type: Number, default: 0 },

content: String ,
comments : [
		{
			user_id : {  type: ObjectId, ref: 'User'}, // Hoặc set luôn thông tin người comment vào đây cũng được
                       // user_name : String, 
			content : String,
                       createdOn: { type: Date, 'default': Date.now }
		}
	],
});
+1

Cảm ơn bạn đã đọc bài viết và chia sẻ 😄

  • Đúng như bạn nói có thể nó rất dài, nên phương pháp này không cần phải áp dụng trong những trang web đơn giản, ít thành phần 😄. Còn BEM phục vụ mục đích bảo trì code CSS cho một dự án lớn, với nhiều trang và nhiều thành phần khác nhau, giúp các developer trong dự án có thể theo dõi được những thành phần nào được sử dụng ở đâu, thay vì phải lần mò các file để bảo trì, nên dù hơi xấu và dài một chút nhưng sẽ dễ dàng trong việc code hơn.
  • Mình có note ở cuối là sẽ compile lại file SCSS thành một file CSS duy nhất với toàn bộ code từ các partial nên lúc browser lấy file CSS này từ trình duyệt về sẽ chỉ lấy đúng file này thay vì import bằng CSS (lấy một file main sau đó lấy những file import). Ngoài ra bạn có thể tiến xa hơn bằng việc minify file css đã compile để giảm dung lượng của file hơn nữa! Giúp tăng tốc độ tải file lên rất nhiều. Hi vọng bạn cảm thấy hữu ích !
0
thg 7 31, 2018 6:34 SA

nút clip là nút hình cái cờ đen đen ở trên á 😄

-1
thg 7 31, 2018 6:32 SA

Hay thì clip thôi bạn =))

0
thg 7 31, 2018 6:10 SA

hay quá bạn ươi ❤️

+2

Anh ơi bài viết hay khủng khiếp. Cảm ơn anh vì bài viết. 😄

+1
thg 7 31, 2018 4:14 SA

giỏi thì phải khen chứ (ahihi)

-1
thg 7 31, 2018 4:13 SA

Từ supper hot author thành comment dạo từ khi nào đấy -_-

+1
thg 7 31, 2018 4:11 SA

giỏi cá (bow)

+1

bạn có source bài này không cho mình xin với

0

bài viết hay!

0

Bổ sung nhé.

  1. Không phải lúc nào dùng BEM cũng đẹp.
<div class="post">
    <button class="post__btn--disable">Button</button>
</div>

dùng thế này ngắn hơn:

<div class="post">
    <button class="btn disable">Button</button>
</div>
  1. Hạn chế sử dụng import trong css vì file main tải xong thì những file được import mới được tải làm chậm tốc độ. 😄 😄
+1

Bài viết hữu ích, thank bạn 😄

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