ở thời điểm này giới thiệu thì nên giới thiệu luôn laravel 8 đi bạn laravel 5.8 ra đầu năm 2019, cũng tương đối cũ rồi, và mỗi lần laravel nâng cấp là kha khá thứ được thêm vào như insert data số lượng lớn, ví dụ của bạn chèn 1000 records vào table, laravel 8 có thêm đồ chơi upsert rất gì và này nọ nhé xem thêm ví dụ về đồ chơi này ở đây
Sao ở bước 3 mình viết sự kiện onClick cho nút Delete và truyền toàn bộ đối tượng Item vào làm tham số. Khi click vào nút Delete thì nó lại xuất hiện lỗi TypeError: this.props.handleShowAlert is not a function
Theo mình nhớ thì mình đâu có ghi Js cho phép thực hiện các operation song song nhỉ
Tiện thể thì Js không cho thực hiện các operation song song nhưng Web APIs(browser) thì có b nhé .
Ngoài HTML, CSS và Js ra thì không biết bạn muốn dùng ngôn ngữ nào khác nữa để sử Web APIs nhỉ
Nếu b chưa biết RxJs sử dụng web APIs thông qua Js như thế nào để thực hiện các operation một cách song song thì b có thể đọc source code của thư viện nhé
Cảm ơn bạn, mình tự mò được rồi, share lại cho mọi người tham khảo
model: user.rb
def self.find(id)
user = Rd.user_get(id)
if !user
puts "OVERRIDING no user #{id}"
user = super
Rd.user_set(id, user, {:ex => 3600})
end
return user
end
services/rd.rb
class Rd
def self.user_get(id)
begin
user = $rd.get("user_info_#{id}")
puts "user redis #{id}"
return User.new(JSON.parse(user))
rescue
return nil
end
end
def self.user_set(id, user, options={})
$rd.set("user_info_#{id}", user.to_json, options)
end
end
a cũng là fan JS nè . Con đường học hành của e nom cũng như a đó, ban đầu a cũng học HTML thuần, sang Jquery rồi laravel thuần, sau đó chuyển qua Vue và giờ làm cả Vue và NodeJS
Express là 1 sự lựa chọn tuyệt vời cho người mới học vì độ đơn giản của nó, đó là lí do vì sao e search toàn thấy người ta hướng dẫn Express. A nghĩ ban đầu e dùng luôn express cũng ko sao, a ngày trước cũng thế chứ ko làm "chay" tất cả mọi thứ. Thực ra Express thì kiến trúc của nó đơn giản, chả hơn "chay" là bao, ko có nhiều thứ do đó nên e sẽ phải làm nhiều hơn, trong docs của nó ko có đâu mà e phải tự tìm hiểu, tự cài và ghép các thành phần vào với nhau để có 1 project hoàn chỉnh: có DB thì phải tự cài và setup mongoose, setup kết nối đến DB, retry, authentication thì phải setup jsonwebtoken, dùng queue thì phải setup Bull,...ý a ở đây là e sẽ phải làm nhiều hơn và nó rất tốt cho người mới học vì e sẽ học đc nhiều. Ko phải lo lắm đâu, làm express ngay ban đầu cũng đc nhé e
Còn tự học Express thì e nên tìm các project về CRUD, realtime chat, blog, simple social network. E tìm theo dạng series họ hướng dẫn từ đầu tới cuối ấy nhé (trên youtube nhiều lắm). Stackoverflow là nơi e tìm kiếm cách fix các lỗi liên quan. Internet là người thầy vĩ đại nhất của a trong quá trình học và làm
Khi e code thành thạo e có thể cân nhắc học NestJS (cũng là 1 framework node), cái này a đang làm 1 thời gian rồi và thấy kiến trúc của nó khá tốt, hỗ trợ e làm rất nhiều thứ (DB, security, queue, microservices,...), e đỡ phải làm những việc đó đi rất nhiều, code 100% typescript (khi code ổn với JS e nên học Typescript vì giờ đi làm hầu như người ta chuộng Typescript hơn vì nó giúp hạn chế nhiều lỗi lầm, làm theo team rất tốt). Nest gần đây nổi lên rất hot trong community nodejs vì kiến trúc tốt, hệ sinh thái nhiều, đc maintain rất là active chứ ko như express, koa, loopback,...
THẢO LUẬN
Khá nhiều tip hay về partitions mà mình chưa biết. cám ơn chủ thớt.
ở thời điểm này giới thiệu thì nên giới thiệu luôn laravel 8 đi bạn
laravel 5.8 ra đầu năm 2019, cũng tương đối cũ rồi, và mỗi lần laravel nâng cấp là kha khá thứ được thêm vào 
như insert data số lượng lớn, ví dụ của bạn chèn 1000 records vào table, laravel 8 có thêm đồ chơi upsert rất gì và này nọ nhé 
xem thêm ví dụ về đồ chơi này ở đây
xin fb bạn ơi, có chơi bê đê không.
))
bài của bạn rất bổ ích , cảm ơn bạn nhiều nha
)
phần useReducer : const [state, dispatch] = useReducer(reducer, initialState) cái tham số reducer là function Reducer hả ad ? function Reducer(state, action) { const [count, setCount] = useState(0); switch (action.type) { case 'INCREMENT': return setCount( count + 1); case 'DECREMENT': return setCount( count - 1); default: throw new Error(); } }
cho mình hỏi nếu muốn kết hợp 2 kiểu chart thì phải làm sao? Cảm ơn
Sao ở bước 3 mình viết sự kiện onClick cho nút Delete và truyền toàn bộ đối tượng Item vào làm tham số. Khi click vào nút Delete thì nó lại xuất hiện lỗi TypeError: this.props.handleShowAlert is not a function
@BuiHuyHoang cảm ơn mà lại bị 2 downvote thế này (dead)
nếu thấy hữu ích thì cho mình một up vote nhé
Cảm ơn bác, rất hữu ích
)
Theo mình nhớ thì mình đâu có ghi
Js cho phép thực hiện các operation song songnhỉTiện thể thì Js không cho thực hiện các operation song song nhưng Web APIs(browser) thì có b nhé
.
Ngoài HTML, CSS và
Jsra thì không biết bạn muốn dùng ngôn ngữ nào khác nữa để sử Web APIs nhỉNếu b chưa biết RxJs sử dụng web APIs thông qua
Jsnhư thế nào để thực hiện các operation một cáchsong songthì b có thể đọc source code của thư viện nhéMãi yêu
Hay, có nhóm Ruby chat nào active ko bạn ơi, cho mình tham gia với
Cảm ơn bạn, mình tự mò được rồi, share lại cho mọi người tham khảo
model: user.rb
services/rd.rb
$rd là redis client connection chỗ application.rb
Phải upvote cho siêu nhân để kiếm thêm nhiều bài viết

@huukimit em đang sử dụng docker-compose ạ
@theforceht Câu bỏ cmt như thế này ngắn hơn nữa: (// .*)|/*[\w\s]+*/
@dinh.van.hoang thoải mái bạn ơi, biết đâu đấy là hướng để mình giải quyết vấn đề thì sao
a cũng là fan JS nè
. Con đường học hành của e nom cũng như a đó, ban đầu a cũng học HTML thuần, sang Jquery rồi laravel thuần, sau đó chuyển qua Vue và giờ làm cả Vue và NodeJS
mongoose, setup kết nối đến DB, retry, authentication thì phải setupjsonwebtoken, dùng queue thì phải setupBull,...ý a ở đây là e sẽ phải làm nhiều hơn và nó rất tốt cho người mới học vì e sẽ học đc nhiều. Ko phải lo lắm đâu, làm express ngay ban đầu cũng đc nhé ecái này là đổi đơn vị tiền tố từ nano giây sang giây thôi bạn ạ