THẢO LUẬN

Avatar
đã bình luận cho bài viết
thg 7 6, 2023 2:15 SA

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
thg 7 6, 2023 2:12 SA

Anh em sẽ cố gắng 😄

0
thg 7 6, 2023 1:59 SA

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
thg 7 6, 2023 1:55 SA

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
thg 7 6, 2023 1:17 SA

@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
thg 7 6, 2023 1:14 SA

@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
thg 7 6, 2023 12:14 SA

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

0
thg 7 6, 2023 12:13 SA

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
thg 7 5, 2023 5:09 CH

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

+1
thg 7 5, 2023 4:39 CH

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
thg 7 5, 2023 4:36 CH

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

+1
thg 7 5, 2023 3:59 CH

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

bài viết rất hay và bổ ích. Cảm ơn tác giả

0
thg 7 5, 2023 2:43 CH

Hello anh ạ, Em có một thắc mắc đó là tại sao trong docker-compose.yml mình lại có thể định nghĩa service webserver với image nginx:1.17-alpine trong khi đó mình mới chỉ build mỗi image php-fpm ạ. Em cảm ơn a.

0

@kiendev Lý thuyết là vậy nhưng việc cho vào thực tế để chạy production thì tất nhiên sẽ còn nhiều cái cần phải xử lý 😅 Thank b đã góp ý nhé

0

@kiendev Bạn có thể đo thời gian chunk file là biết ngay mà. Việc chunk file là lấy từng phần nhỏ trong file gốc nên nó không quá chậm đâu trừ khi bạn chia batch size lớn + việc chunk file này nó phụ thuộc vào ở dưới máy local của bạn nên không sao. Bạn có thể tạo 1 file ảo dùng lệnh để test nhé

mkfile -n 100g temp_100GB_file

Mình thấy nếu chậm thì sẽ bị chậm ở đoạn gọi lên API BE lưu các phần chia nhỏ file thôi. Hiện tại, mình có F12 lên thì thấy Zalo cũng đang làm tương tự vậy. Zalo hiện tại thì upload quá là ok rồi.

Mình có sample trong source github gửi bài viết hoặc test ở đây nhé => https://codepen.io/nguyenvantuan2391996/pen/JjeyrZW

Screen Shot 2023-07-05 at 21.15.31.png

Screen Shot 2023-07-05 at 21.15.40.png

0
thg 7 5, 2023 12:42 CH

@maitrungduc1410 em cảm ơn a ạ 🤟

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