THẢO LUẬN

Jul 6th, 2023 7:04 a.m.

đọc rõ là google dịch mà cũng đăng cho được, thua

0

Câu trả lời này theo mình là đầy đủ rồi. Mình bổ sung thêm là nếu không muốn thêm biến thì nên gom các biến đó thành một dạng Object (kiểu RequestObject ). Sau này khi muốn thêm param thì mình sẽ bổ sung thêm thuộc tính cho Object đó là xong.

0
Jul 6th, 2023 5:08 a.m.

Trong docker compose nó là 2 thứ khác nhau mà e, Dockerfile là e build cho service app (laravel)

Còn webserver là phía nginx (để nhận request và proxy vào app), vì image nginx cho webserver mình k cần sửa gì thêm mà chạy luôn nên mình k cần build nó.

Trong docker compose file, “image” có thể là image mình tự build hoặc cũng có thể là các image đc build sẵn nhé e

0
Jul 6th, 2023 2:34 a.m.

@maitrungduc1410 cảm ơn bạn nhiều

0
Jul 6th, 2023 2:28 a.m.

@phamngoctrio check đc hệ điều hành của user đó bạn, như bên trên có comment ấy, lấy ra user-agent là có bạn ạ

0
Avatar
đã bình luận cho bài viết
Jul 6th, 2023 2:15 a.m.

Mình chưa hiểu log này lắm ở đây là log trên console (terminal) hay là log lưu lại trên file z. Nếu lưu trên console thì trên production làm sao debug đc

0
Jul 6th, 2023 2:12 a.m.

Anh em sẽ cố gắng 😄

0
Jul 6th, 2023 1:59 a.m.

Mình dùng php có cách nào lấy thông tin user đơn giản không bạn vị dụ hệ điều hành tương ứng để đưa ra thông báo cài đặt ứng dụng tương ứng. không dùng thư viện liên quan các store

0
Jul 6th, 2023 1:55 a.m.

Cảm ơn bạn việc kiểm tra được user đã cài chưa và cập nhật rất hay nhưng phức tạp quá mình bó tay

0
Jul 6th, 2023 1:17 a.m.

@maitrungduc1410 vì là platform nó xử lí thay mình nên nó còn biết show thông báo khi app cần update nữa.

IMG_2919.pngIMG_2920.pngIMG_2921.png

0
Jul 6th, 2023 1:14 a.m.

@phamngoctrio nếu bạn đi theo hướng web thì đơn giản là bạn code HTML đặt cái banner ở dưới, có button khi bấm vào thì mở CHplay hoặc app store là đc mà, về rating thì bạn sẽ phải gọi api để hiển thị (sẽ cách rách hơn và bạn sẽ k biết đc liệu user đã cài app đó chưa, nếu cài rồi thì sẽ k mở trực tiếp đc app mà luôn luôn chỉ mở đc store)

0
Jul 6th, 2023 12:14 a.m.

cảm ơn bạn còn cách nào không bạn website mình dùng code php

0
Jul 6th, 2023 12:13 a.m.

cảm ơn bạn nhưng bạn có thể chi tiết hơn giúp mình được không

0

Về phần "Extension Functions" khi so sánh Java với Kotlin, bạn đang so sánh hai vấn đề hoàn toàn khác nhau: giữa việc kế thừa trong Java và việc sử dụng một function with receiver trong Kotlin. Ngoài ra, sử dụng function with receiver trong Kotlin như ví dụ của bạn đưa ra cũng không giúp "thêm phương thức mới vào lớp mà không cần mở rộng" như bạn đã nói.

Thông tin thêm: Trong Java hay Kotlin, một lớp đã được định nghĩa thì không thể thêm phương thức mới vào mà không mở rộng được (trừ khi dùng những cách không bình thường), nên người ta mới sinh ra Adapter Pattern để giải quyết vấn đề này trong nhiều trường hợp. Chức năng dạng này xuất hiện trong các ngôn ngữ lập trình hàm dưới dạng typeclass, cũng như một số ngôn ngữ như C++ với concept, Swift với protocol, Rust và Scala với trait, ...

0
Avatar
đã bình luận cho bài viết
Jul 5th, 2023 5:09 p.m.

Cảm ơn bạn nhiều 😍

+1
Jul 5th, 2023 4:39 p.m.

Hello anh, em xin phép hỏi một câu ạ 😅.
Em thấy trong file .dockerignore của anh có ingnore node_modules và anh có chú thích rằng là do mình có chạy npm install trong Dockerfile Em thấy nó đang hơi mâu thuẫn với việc mình phải tạo container tạm thời để chạy npm install khi dev ạ. Anh có thể giải thích cho em rõ hơn chút được k ạ.
Em đang nghĩ là có thể do npm install -g chăng 🤔
Em cảm ơn ạ.

0
Avatar
đã bình luận cho bài viết
Jul 5th, 2023 4:36 p.m.

nicee, cảm ơn bài viết của tác giả ạ ^^

+1
Jul 5th, 2023 3:59 p.m.

Mình hiểu mục đích của bạn, và trước cũng có rất nhiều người nghĩ đến cái này Nhưng mà nếu vậy mọi method trong repo cũng đều phải có trong interface thì khi này bạn dùng mới có giá trị Hoặc không thì chí ít cũng là các public method phải có Vì chỉ cần 1 cái không có thì ắt sẽ sinh ra rủi ro khi bạn đổi db (ví dụ như có tầm 20 cái method trong repo mà có 19 cái trong interface, rủi ro là 1 service nào đó gọi đúng cái method đó trong repo mà lúc đổi db team dev không biết lại chẳng tạo method 20 này thì chắc chắn là toang) Và cũng như trên mình nhận định ngoài chuyện nó lưu cả 2 db đã hiếm thì chuyện đổi db có khi lại càng không và vì nó quá quá hiếm nên mình nghĩ không nên mà chỉ nên viết là 1 optional trong ngữ cảnh như bạn nói trên, chứ mọi người thấy vậy lại cứ làm theo thì tốn effort mà thấy nó lại rắc rối hơn thôi. Mình thấy đây là 1 bài rất hay có nói rõ về cách dùng repo https://martinjoo.dev/domain-driven-design-with-laravel-repositories Và mình thấy câu chốt của ông này khá hợp lý cho cách dùng phổ biến kia theo trải niệm của ổng là "This is the reason behind the interfaces. Now, here's my opinion on it: this is number one bullshit."

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