Đúng rồi bạn ơi, nó chính là function reducer mà mình định nghĩa phía trên đấy, trong bài này mình viết nhầm thành Reducer viết hoa nên đoạn này hơi confused 1 chút, mình đã edit lại rồi nhé, cám ơn bạn đã góp ý
docker-compose.yml của e có 2 service app và redis đúng ko? để restart chỉ service app thì e chạy như sau là đc:
docker-compose restart app
Hay là e có 1 service (container), trong đó chứa cả code app của e và redis? Nếu thế thì e nên tách luôn chúng ra thành 2 service (container) riêng biệt, càng sớm càng tốt để tránh sự phụ thuộc vào nhau, 1 cái thay đổi cái kia buộc phải khởi động lại theo.
Ca này a chưa gặp bao giờ nên ko giúp e đc rồi, e phải search google thôi .
E nên tập chuyển dần qua Linux (hoặc Mac) để dev, win để chơi game thôi. Dev trên win có vô vàn lỗi phát sinh
Trước tiên cảm ơn anh vì seri bổ ích này nha, mới thực hành tới bài 7, các bài còn lại chỉ đọc thôi chứ chưa bắt tay vào làm nên nhiều chỗ còn lơ mơ , đọc 1 lượt rồi thực hành dần. Tới đây e có câu hỏi thế này mong anh giải đáp ạ.
Ở chỗ deploy em thấy có lệnh:
docker-compose down;
docker pull ${CI_REGISTRY_IMAGE}:latest;
docker-compose up -d;
Có nghĩa là tất cả Service sẽ restart đúng k ạ.
Ở trong trường hợp của em, em lưu data vào redis để làm ranking system, data lớn lắm mỗi lần khởi động lại mất 20p gì đó lận. Service của em gồm:
App (nodejs app)
Redis
Mà khi em thay đổi code thì chỉ có App là cần restart, việc khởi động lại Redis là không cần thiết. Vậy cho em hỏi có cách nào mà mình chỉ khởi động lại App không ạ? Hay nên tách Redis và App ra 2 container khác nhau? Hay còn giải pháp nào khác ạ.
Câu này đáng ra k nên hỏi ở bài này. Chuyện là em cài docker trên server window, chạy win 10 pro, xong em lưu mongodb mount = volumn gì đó do docker quản lí, xong 1 hôm máy em bị treo, khi start lại thì docker ko lên nữa, nó báo lỗi như link e để dưới, em có search thấy 2 lệnh tưởng là reset lại cài đặt của docker thôi, ai ngờ nó xoá cả volumn chứa data của mongodb đi luôn (tay nhanh hơn não là có thật ), data redis thì vẫn còn vì em ko dùng volumn của docker quản lí.
Docker thì start thành công rồi nhưng Database thì
Nay thì em quyết định chuyển database lên VPS ubuntu rồi, còn server windows e để chạy redis thôi. (Lí do là vì máy windows đặt ở nhà có khi mất điện, mất mạng, các data ở redis thì có down 1 lúc cũng được, mongodb thì luôn cần uptime)
Em cảm ơn ạ!
@huukimit với cho em hỏi cái khai báo port của traefik trong file docker-compose.yml so với entryPoints trong traefik.yml thì nó khác nhau như nào và công dụng là gì v ạ?
docker-compose.yml
version: '3.7'
volumes:
grafana-data:
prometheus-data:
ở 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
THẢO LUẬN
Đúng rồi bạn ơi, nó chính là function reducer mà mình định nghĩa phía trên đấy, trong bài này mình viết nhầm thành Reducer viết hoa nên đoạn này hơi confused 1 chút, mình đã edit lại rồi nhé, cám ơn bạn đã góp ý
chào e
docker-compose.ymlcủa e có 2 serviceappvàredisđúng ko? để restart chỉ serviceappthì e chạy như sau là đc:Hay là e có 1 service (container), trong đó chứa cả code app của e và redis? Nếu thế thì e nên tách luôn chúng ra thành 2 service (container) riêng biệt, càng sớm càng tốt để tránh sự phụ thuộc vào nhau, 1 cái thay đổi cái kia buộc phải khởi động lại theo.
Cảm ơn bạn nhé
Trước tiên cảm ơn anh vì seri bổ ích này nha, mới thực hành tới bài 7, các bài còn lại chỉ đọc thôi chứ chưa bắt tay vào làm nên nhiều chỗ còn lơ mơ
, đọc 1 lượt rồi thực hành dần. Tới đây e có câu hỏi thế này mong anh giải đáp ạ.
Có nghĩa là tất cả Service sẽ restart đúng k ạ. Ở trong trường hợp của em, em lưu data vào redis để làm ranking system, data lớn lắm mỗi lần khởi động lại mất 20p gì đó lận. Service của em gồm:
Mà khi em thay đổi code thì chỉ có App là cần restart, việc khởi động lại Redis là không cần thiết. Vậy cho em hỏi có cách nào mà mình chỉ khởi động lại App không ạ? Hay nên tách Redis và App ra 2 container khác nhau? Hay còn giải pháp nào khác ạ.
Docker thì start thành công rồi nhưng Database thì
Nay thì em quyết định chuyển database lên VPS ubuntu rồi, còn server windows e để chạy redis thôi. (Lí do là vì máy windows đặt ở nhà có khi mất điện, mất mạng, các data ở redis thì có down 1 lúc cũng được, mongodb thì luôn cần uptime)
Em cảm ơn ạ!
chuẩn luôn em :v
chắc ở dự án X hay bị vả cái n+1 lắm a nhỉ, query dài thế cơ mà =))))))))
@huukimit với cho em hỏi cái khai báo port của traefik trong file docker-compose.yml so với entryPoints trong traefik.yml thì nó khác nhau như nào và công dụng là gì v ạ? docker-compose.yml version: '3.7' volumes: grafana-data: prometheus-data:
traefik.yml
Hay đấy nhỉ. tks!
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é