THẢO LUẬN

thg 4 21, 2021 2:29 SA

manifest unknown tức là image của bạn chưa có trên regitry của gitlab nhé, bạn check lại để chắc chắn là image của bạn đã có ở trên đó nhé. (thử mở tab Container registry trong repo của bạn để check, sau đó check lại các pipeline của bạn xem cno đã push docker image lên registry của Gitlab hay chưa)

0

Có vẻ như không có cách nào để custom trigger được. Google không cho phép gọi các service cần authorization, nên bạn thử gọi các api không cần xác thực thử xem.

0

/(?<scheme>http)(?!s)/

?! dùng làm gì thế anh?

+1
thg 4 20, 2021 11:45 CH

Mình test gặp lỗi này: ERROR: manifest for registry.gitlab.com/tonykien2012/cicd-auto-deploy:lastest not found: manifest unknown: manifest unknown Không biết bị sai gì?

0

bơ phẹc anh ơi =))

+1

Mình hiểu không hết được bài viết mà chỉ hiểu sơ sơ thế này. Ví dụ như mình dùng Facebook và xác minh 2 bước qua ứng dụng Google Authenticator. Đầu tiên Facebook sẽ cho app Google Authenticator một cái quy luật mã hoá mà chỉ có 2 bên mới biết, quy luật đó sẽ tự biến đổi (có quy luật) theo thời gian. Sau đó cả trên Sever của Facebook và app Google Authenticator sẽ cùng chạy cái quy luật đó để cho ra 1 dãy số gồm 6 số (có thời gian hết hạn). Khi người dùng nhập mã từ app Google Authenticator vào Facebook thì Facebook sẽ đối chiếu mã ấy với Sever đang chạy quy luật đó, nếu 2 mã giống nhau thì cho qua (cả hai Sever Facebook và app Google Authenticator đều chạy cùng một quy luật theo thời gian thì chắc chắn sẽ cho ra mã số giống nhau theo thời gian rồi).

0
thg 4 20, 2021 10:06 SA

Khác nhau ở chỗ với simple binding: mỗi khi resolve cùng một instance đã được register thì nó sẽ khởi tạo 1 object mới khác nhau, còn Singleton binding sẽ sử dụng object cũ nếu đã được tạo từ trước đó

0
thg 4 20, 2021 9:46 SA

private var audioFile: File? = null

audioFile = createFile()

private fun createFile(): File { val timeStamp: String = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date()) val storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) // val storageDir = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) return File.createTempFile( "audioRecoding_${timeStamp}_", /* prefix / ".3gp", / suffix */ storageDir ) } bạn làm theo các bước trên là được

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 4 20, 2021 9:33 SA

Cảm ơn ý kiến mọi người, sau một hồi thảm khảo mình nghĩ chỉ có cách này giải quyết tạm ổn vấn đề. Thank you so much.

0

add nhiều host VM để monitor làm sao bác nhỉ

+1
thg 4 20, 2021 8:53 SA

Bài viết hữu ích quá 😍

0
thg 4 20, 2021 8:45 SA

hay bro

0
thg 4 20, 2021 8:40 SA

😲 wow, thú vị ghê. Cái này demo trên máy ảo được không nhỉ 😄

0

Cả 2 đều có sức mạnh riêng của chúng, chúc bạn áp dụng thật tốt nha 😍

0
thg 4 20, 2021 6:51 SA

😃

0
thg 4 20, 2021 4:31 SA

Mình sửa lại như này thì chạy được server.js rồi ạ, cảm ơn bạn ^^

 "start": "cross-env NODE_ENV=production node server.js"
+1

Nếu ông code theo hướng DDD ( domain driven design) , thì comment phải đi theo post, có nghĩa là, để lấy comment thì phải lấy ra post. Nên là việc xóa mềm chỉ cần xóa Post, thì sẽ không có cách nào lấy comment ra được nữa, nên không cần xóa mềm comment.

+2
thg 4 20, 2021 3:12 SA

Bạn có thể chỉ rõ bằng chứng cho việc query chậm, hoặc phải query bao nhiêu dòng bằng cách dùng Explain hoặc các trình phân tích query, mình nghĩ là tốc độ cũng như nhau thôi. Trong thực tế các query bị ảnh hưởng rất nhiều bởi các điều kiện tìm kiếm chứ ko phải đk join ( vì đk join là cố định, đánh index dễ dàng). Còn về logic mình thấy bạn có thể lọc userid trong bảng profiles.

0

Hay vl, tự vẽ luôn, tuyệt vời (+1) respect

0
thg 4 20, 2021 1:46 SA

Good job 👍👍👍

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