Mình ko thể add regex trong path của route như ví dụ của bạn: /api/v1/users/\d+, mình làm theo tương tự thì khi call api báo lỗi : {"message":"no Route matched with those values"} do ko thể mapp được với route nào, nếu bỏ path đi thì lại call ok.
Bị báo lỗi ntn
2.Mình tạo 2 upstream ở 2 server khác nhau, mỗi server mình sẽ trỏ đến 1 service khác nhau => nhưng khi chạy các service thì toàn bộ chỉ trỏ vào 1 server, dẫn đến chỉ chạy được 1 service, không biết giờ phải config ntn để kong sẽ tự động trỏ đến các server khác nhau nhỉ?
Có 2 vấn đề này, hi vọng bạn dành thời gian và support giúp mình nhé. Bạn có thể cho mình skype hoặc SĐT để mình liên hệ và trao đổi chi tiết các lỗi nhé. Nếu trong quá trình support chi phí ntn bạn cũng báo mình luôn nhé, để bạn có thể thoải mái nhất để giải quyết các vấn đề giúp mình.
Khi tạo 2 server thì call đến service ở server khác thì bị ntn
Thanks!
P/s: có thể contact với mình qua số : 0979029891 hoặc skype: thai.pham.90 nhé.
chào a, a cho e hỏi là func dispatch() có tùy thuộc vào version của lib flutter_bloc k ạ, hiện tại câu lệnh _getUsersBloc.dispatch(GetUsersEvent()); báo lỗi vì k có func dispatch().
**Git diff (so sánh 2 hash-commit với nhau) -- Cỏ thể xem là so sánh 2 trang thái
**Git cherry-pick (copy toàn bộ diff từ commit khác và gắn vào HEAD kèm luôn comment)
**Git merge (tìm điểm chung trong parent, sau đó nhận ra sự conflict -- Có thể nói trong dịp nào khác hoặc các bạn tự tìm hiểu)
**Git rebase (ko có option j khác) (là 1 chuỗi cherry-pick)
Sau đây mình lấy 1 ví dụ hình dung là thế này
git init
tạo file a.txt có nội dung "aaaa 5 chu a"
echo "aaaaa 5chu a" >> a.txt
git add . && git commit -m "Commit tạo file a"
Sau đây thay 5 chữ a thành 5 chữ b
rm a.txt & echo "bbbbb 5chu a" >> a.txt
git add . && git commit -m "Commit Đổi file a.txt từ a thành b"
Git diff 1 cái xem ntn
@@ -1 +1 @@
-aaaaa 5chu a
\ No newline at end of file
+bbbbb 5chu b
\ No newline at end of file
#Nhìn vào bạn biết là nó đã xóa 1 dòng và thêm 1 dòng (Có thể gọi ngắn là sửa 1 dòng)
Commit thêm vài cái để biết cherry-pick (commit rỗng ko cần add j)
git commit -m "commit cho vui 1"
git commit -m "commit cho vui 2"
Lúc này nhánh master sẽ ntn
【Commit tạo file a】 ---- 【Commit đổi file a.txt từ a thành b】-----【commit cho vui 1】------【commit cho vui 2】
Tạo 1 branch khác
git checkout -b other
xóa sạch file cho sạch branch
rm ./*.txt
git add .
git commit -m "Delete *.txt"
Xài thử cherry pick
git cherry-pick master~1
#Kết quả sẽ nhận ngay 1 commit sau Branch other là commit cho vui, chả có conlict.
#GIải thích lệnh chery pick trên tính git diff của maste~1 và master~2 (kết quả là ko khác j) sau đó copy cái kết quả đó vào nhánh other
Xài thử cherry pick lần 2
git cherry-pick master~3
#Kết quả tạo file a và có nội dung "aaaaa 5 chu a", vì nó cũng dùng git diff so commit 【commit tạo file a】 và commit trc -> biết có sự thay đổi là tạo 1 file a.txt, lấy sự thay đổi này cho vào nhánh other và có kết quả như trên
Xài thử cherry pick lần 3 (để tạo conflict thì mở và sửa file a.txt
rm a.txt
echo "file nay da duoc sua" >> a.txt
git add .
git commit -m "tạo conflict"
git cherry-pick master~2
#Bị conlict, cần vào sửa file và dùng add -- commit lại
#GIải thích, lúc này git diff của master~3 là sửa chữ a thành chữ b (Cụ thể xóa 1 dòng là "aaaaa 5chu a" và thay thành "bbbbb 5chu a"). Git đã tìm dòng có nội dung "aaaaa 5 chu a" trong quá khứ (tìm commit chung parrent, xem merge advance đẻ hiểu rõ hơn) và đã biết nó đổi thành "file nay da duoc sua" , khi này git biết dc từ 1 dòng trong quá khử "aaaaa 5 chu a" mà bị biến thành 2 kết quả "file nay da duoc sua" hoặc "bbbbb 5 chu a" --> Do đó tạo 1 conflict và đã Hightligh đúng vị trí cần thiết.
Nói vậy ko biết bạn nào muốn rành về git thì tìm đọc git advance, còn nội dung bài viết sai là vì. Git merge KHÔNG CÓ COPY COMMIT như figure 10-5 của bạn. TIếng anh cũng ghi rõ đó là cherrypick ko phải merge. Còn so sánh Cherry-pick với merge ko hợp lý, để dễ hơn bạn tìm so sánh merge và rebase, sau đó rebase với cherry-pick. Vì merge vs rebase có điểm giống , rebase và cherry-pick cũng có điểm giống, merge với cherry-pick thì mình ko thấy giống gì
THẢO LUẬN
em cảm ơn a đã chia sẽ
Cuộc sống mà 😂
Nghỉ việc lâu rồi mà vẫn viết Viblo, đáng khen =))
like
khi cần 1 chỗi dài để test: const password = '1'.repeat(257);
Cái này sửa ở file nào vậy mn?
@nguyennam1763 ok b
Được rồi a ạ. Em import sai thư viện ạ.hii
bạn cho mình hỏi, mình đã tạo api kong thông qua bài viết này của bạn: https://viblo.asia/p/huong-dan-su-dung-hoi-chi-tiet-kong-api-gateway-de-can-bang-tai-va-dieu-huong-requests-trong-he-thong-microservices-bJzKmwqOl9N Nhưng hiện tại mình đang gặp 2 vấn đề như sau:
@PhanNhuHuyen đúng rồi mục đích của api tức là để lấy dữ liệu từ phía server
như mình có nói ở đầu thì SEO gồm khá nhiều yếu tố (domain, host, ...), sử dụng json-ld chỉ là 1 phần trong SEO thôi bạn
Nếu mình sử dụng và không sử dụng JSON-LD thì có ảnh hưởng tới SEO nhiều không Anh nhỉ?
Anh ơi ví dụ thứ 2 của v-for, nếu mà mình dùng v-if="!todo.isComplete" thì todo chưa được khai báo vậy nó phát sinh lỗi undefined sao ạ?
Mong bạn ra phần 2 ạ!
chào a, a cho e hỏi là func dispatch() có tùy thuộc vào version của lib flutter_bloc k ạ, hiện tại câu lệnh _getUsersBloc.dispatch(GetUsersEvent()); báo lỗi vì k có func dispatch().
xin cảm ơn bạn, mong bạn theo dõi các bài viết tiếp theo của mình nhé.
các command trên viết mà chưa có test đâu, nếu sai thì mình sẽ viết lại )))
À, sai phần Cherry pick và Merge. Còn trong comment này mình chắc giải thích 1 tí cơ chế dịch từ https://git-scm.com/docs/git-cherry-pick và https://git-scm.com/docs/git-diff để mọi người nắm.
Một số chức năng của git mong mọi người biết
Sau đây mình lấy 1 ví dụ hình dung là thế này
git init
tạo file a.txt có nội dung "aaaa 5 chu a"
echo "aaaaa 5chu a" >> a.txt
git add . && git commit -m "Commit tạo file a"
Sau đây thay 5 chữ a thành 5 chữ b
rm a.txt & echo "bbbbb 5chu a" >> a.txt
git add . && git commit -m "Commit Đổi file a.txt từ a thành b"
Git diff 1 cái xem ntn
@@ -1 +1 @@
-aaaaa 5chu a
\ No newline at end of file
+bbbbb 5chu b
\ No newline at end of file
#Nhìn vào bạn biết là nó đã xóa 1 dòng và thêm 1 dòng (Có thể gọi ngắn là sửa 1 dòng)
Commit thêm vài cái để biết cherry-pick (commit rỗng ko cần add j)
git commit -m "commit cho vui 1"
git commit -m "commit cho vui 2"
Lúc này nhánh master sẽ ntn
【Commit tạo file a】 ---- 【Commit đổi file a.txt từ a thành b】-----【commit cho vui 1】------【commit cho vui 2】
Tạo 1 branch khác
git checkout -b other
xóa sạch file cho sạch branch
rm ./*.txt
git add .
git commit -m "Delete *.txt"
Xài thử cherry pick
git cherry-pick master~1
#Kết quả sẽ nhận ngay 1 commit sau Branch other là commit cho vui, chả có conlict. #GIải thích lệnh chery pick trên tính git diff của maste~1 và master~2 (kết quả là ko khác j) sau đó copy cái kết quả đó vào nhánh other
Xài thử cherry pick lần 2
git cherry-pick master~3
#Kết quả tạo file a và có nội dung "aaaaa 5 chu a", vì nó cũng dùng git diff so commit 【commit tạo file a】 và commit trc -> biết có sự thay đổi là tạo 1 file a.txt, lấy sự thay đổi này cho vào nhánh other và có kết quả như trên
Xài thử cherry pick lần 3 (để tạo conflict thì mở và sửa file a.txt
rm a.txt
echo "file nay da duoc sua" >> a.txt
git add .
git commit -m "tạo conflict"
git cherry-pick master~2
#Bị conlict, cần vào sửa file và dùng add -- commit lại
#GIải thích, lúc này git diff của master~3 là sửa chữ a thành chữ b (Cụ thể xóa 1 dòng là "aaaaa 5chu a" và thay thành "bbbbb 5chu a"). Git đã tìm dòng có nội dung "aaaaa 5 chu a" trong quá khứ (tìm commit chung parrent, xem merge advance đẻ hiểu rõ hơn) và đã biết nó đổi thành "file nay da duoc sua" , khi này git biết dc từ 1 dòng trong quá khử "aaaaa 5 chu a" mà bị biến thành 2 kết quả "file nay da duoc sua" hoặc "bbbbb 5 chu a" --> Do đó tạo 1 conflict và đã Hightligh đúng vị trí cần thiết.
Nói vậy ko biết bạn nào muốn rành về git thì tìm đọc git advance, còn nội dung bài viết sai là vì. Git merge KHÔNG CÓ COPY COMMIT như figure 10-5 của bạn. TIếng anh cũng ghi rõ đó là cherrypick ko phải merge. Còn so sánh Cherry-pick với merge ko hợp lý, để dễ hơn bạn tìm so sánh merge và rebase, sau đó rebase với cherry-pick. Vì merge vs rebase có điểm giống , rebase và cherry-pick cũng có điểm giống, merge với cherry-pick thì mình ko thấy giống gì
viết cho vui thôi