Bạn gì họ lê xuân giống mình ơi ^^ ... mình có cái này khó mình chưa xử lý dc.. mong bạn giúp mình với.
mình có 1 cái form đăng nhập như ví dụ phía trên... mình cũng làm đa ngôn ngữ, nhưng hiện tại mình chỉ đổi ngôn ngữ cho nó dc ở label và placeholder cho cái InputItem đấy thôi.Mình dùng của iview... còn cái trạng thái bên dưới màu đỏ khi người dùng nhập sai sẽ bị check sẽ báo bên dưới... mình chưa đổi nó đa ngôn ngữ dc... hiện tại text báo bên dưới đấy đang nằm trong data... mình làm mãi cho nó đổi ngôn ngữ mà ko dc...chỗ message trong name và mail trong ảnh đó bạn...mình dùng iview nên nó ko có thẻ nên ko làm theo cách biding 2 chiều dc ...à mà cả nút button mà button này lại phải đổi từ trạng thái submit sang loading và nó cũng thành "thêm mớ"i và " đang xử lý" nữa chứ nó chỉ mình submit đi không thì lại biding là đa ngôn ngữ dc.. ... mong bạn giúp mình với! Capture.PNG](https://images.viblo.asia/96bf6b87-39cd-44ed-9ae8-d30ea6b4d73d.PNG)
Bạn bắt bẻ câu chữ nhiều quá nên mình đành phải edit lại comment để nhắc lại:
Bạn nên chú ý vào tiêu đề, nội dung truyền tải cũng như key idea của mỗi phần, thay vì muốn phần code ví dụ cứ phải bám sát y hệt từng tí một như nguyên gốc một cách rất rất cứng ngắc.
Nếu bạn mong muốn những bài biên dịch đi kèm với ví dụ chính xác một cách tuyệt đối so với nguyên gốc, thì mình nghĩ series này có vẻ không phù hợp với bạn lắm
Mình code ví dụ dựa trên nội dung truyền tải của mỗi phần chứ không có code y hệt từng tí một so với nguyên gốc (vì mình mong muốn chuyển sang java). Còn bạn muốn check xem đoạn code ví dụ có hợp lệ hay không, có thể chạy đoạn code sau:
public class Draft {
static boolean boong = false;
public static void main(String[] args) {
System.out.println(boong());
}
private static String boong() {
//Kiểm tra boong xem có dùng được không
boong = findBoong();
if (!boong || !(boong == canUseNow()))
return "Không xài được rồi!";
else
return "Ngon!";
}
private static boolean canUseNow() {
return true;
}
private static boolean findBoong() {
return true;
}
}
Bạn có để ý mình nói đoạn code Java trên "không hợp lệ mà nhỉ".
Bạn nên đọc kỹ và hiểu phần comment của tác giả và so sánh với của bạn nhé. Phần code của tác giả, người đọc nếu ko có comment sẽ rất rất khó để hiểu, nên comment vào gần như là bắt buộc. Nếu nó là method thì nó sẽ là docs, rất quan trọng!.
Bạn nên đọc lại sách và đoạn code trên của tác giả. Code trên có cú pháp:
if(!isSomething){
doSomething();
}
Không hề có else nên đoạn code này lại vô cùng hợp lý và gần như không thể khác trong tình huống này
Còn của bạn:
if(!isSomething){
doSomethingFalse();
}else {
doSomethingTrue();
}
Nó nên là:
if(isSomething){
doSomethingTrue();
}else {
doSomethingFalse();
}
Điều này ngay như trong sách mình cũng đã thấy có.
Bạn nên hiểu đúng ngữ cảnh.
Mình nói ngay từ đầu là mình ko bình luận về nội dung diễn giải trong bài, mình chỉ góp ý code thôi.
Các bước rất chi tiết. Mình bookmark bài viết này lại. Mới tìm hiểu ML nên bài này của bạn giúp mình hình dung đc đến cuối công việc.
Viết thêm nhiều bài hướng dẫn chi tiết nữa nhé bạn 😊
Trong series mình đã note rõ là "Phần lớn ví dụ code mình xin được phép chuyển về java cho mọi người dễ đọc" -> OK
"Comment của tác giả không nhằm mục đích giải thích đoạn code là gì, làm gì như cách bạn nói"
=> Code nguyên văn trong sách cho đoạn comment của bạn đây
"Similarly, a comment can make you understand the code more quickly, even though it “adds code” to the file:"
(Mình có thể dịch thay google dịch là: "Tương tự, bổ sung comment có thể giúp bạn hiểu code nhanh hơn, ngay cả khi nó "thêm code” vào file:")
// Fast version of "hash = (65599 * hash) + c
hash = (hash << 6) + (hash << 16) - hash + c;"
"Bạn dùng negative condition quá nhiều"
=> Code nguyên văn trong sách cho đoạn code negate của bạn đây
"But fewer lines isn’t always better! There are plenty of times when a one-line expression like:
assert((!(bucket = FindBucket(key))) || !bucket->IsOccupied());
takes more time to understand than if it were two lines:
bucket = FindBucket(key);
if (bucket != NULL) assert(!bucket->IsOccupied());"
Bạn có thể đọc lại kĩ cuốn sách vì mình biên dịch line-by-line và cố gắng làm sát nghĩa nhất chứ không thêm thừa nhé.
=> thấy bạn có vẻ bị quan trọng hóa vấn đề một cách cứng ngắc thì phải, dù sao cũng cảm ơn vì những "góp ý"
Hàm findBoong có trả về null hay không, nếu đây là code Java thì nó không quan trọng lắm, tại mình tưởng bạn code python hay gì đó. Và vì đây là code Java thì rõ ràng nó không hợp lệ mà nhỉ.
Nay mình thử đọc qua cuốn sách. Bạn có thể xem lại code example của tác giả. Mình tin là ví dụ của bạn nó hơi không phù hợp với nội dung.
Ví dụ đoạn code của tác giả:
// Fast version of "hash = (65599 * hash) + c"
hash = (hash << 6) + (hash << 16) - hash + c;
Comment của tác giả không nhằm mục đích giải thích đoạn code là gì, làm gì như cách bạn nói. Việc phải comment điều đó là vô cùng hy hữu và không phù hợp trong hoàn cảnh code của bạn. Nếu bạn đưa vào rất dễ khiến bạn đọc hiểu lầm.
Hay như đoạn
if (!boong || !(boong == canUseNow()))
return "Không xài được rồi!";
else
return "Ngon!";
Bạn dùng negative condition quá nhiều. Nếu bạn có đọc hết sách sẽ thấy trong sách có đề cập đến vấn đề order của if/else để tránh negative này.
Mỗi đoạn code example, dù ở bất kỳ phần nào của sách hay bài blog đều phải chuẩn. Có thể nội dung lúc đó chưa dùng đến nhưng không có nghĩa là được code một cách bừa bãi. Chính những đoạn code ở đầu sách lại càng phải như vậy. Một đoạn code ở ngay ban đầu lại chỉ đảm bảo 1 tiêu chí nhưng phạm phải các tiêu chí còn lại! Nếu là mình thì sẽ chọn không đọc các phần sau đâu.
Cảm ơn bạn đã đóng góp, mình xin phép đc giải thích
Mình nghĩ phần mở đầu tác giả chỉ nói khái quát về toàn bộ nội dung cuốn sách nên ví dụ của bạn là isUseableBoong() sẽ được thể hiện rõ hơn trong những phần sau (mình đọc thì thấy đề cập ở chương II).
Nội dung ví dụ chỉ nói về trường hợp true/false để mô tả nội dung muốn truyền đạt chứ không có đi sâu quá về logic code. (ở đây method findBoong() có thể không bao giờ trả về null)
Thêm nữa là mình đang biên dịch sát với nội dung cuốn sách nên rất hạn chế trong việc nêu ví dụ đi xa quá so với nguyên bản (mình convert code sang java).
THẢO LUẬN
Thanh niên vẫn ác mộng về trường hợp này =))) Laravel hình như k support cho cái enum này nữa chứ =))
Bạn gì họ lê xuân giống mình ơi ^^ ... mình có cái này khó mình chưa xử lý dc.. mong bạn giúp mình với.
mình có 1 cái form đăng nhập như ví dụ phía trên... mình cũng làm đa ngôn ngữ, nhưng hiện tại mình chỉ đổi ngôn ngữ cho nó dc ở label và placeholder cho cái InputItem đấy thôi.Mình dùng của iview... còn cái trạng thái bên dưới màu đỏ khi người dùng nhập sai sẽ bị check sẽ báo bên dưới... mình chưa đổi nó đa ngôn ngữ dc... hiện tại text báo bên dưới đấy đang nằm trong data... mình làm mãi cho nó đổi ngôn ngữ mà ko dc...chỗ message trong name và mail trong ảnh đó bạn...mình dùng iview nên nó ko có thẻ nên ko làm theo cách biding 2 chiều dc ...à mà cả nút button mà button này lại phải đổi từ trạng thái submit sang loading và nó cũng thành "thêm mớ"i và " đang xử lý" nữa chứ nó chỉ mình submit đi không thì lại biding là đa ngôn ngữ dc.. ... mong bạn giúp mình với! Capture.PNG](https://images.viblo.asia/96bf6b87-39cd-44ed-9ae8-d30ea6b4d73d.PNG)
không có phần 2 ạ?
verify bằng paypal được không bạn nhỉ?
a ơi a có thể nói về nhận dạng chữ in được không ạ
Bạn bắt bẻ câu chữ nhiều quá nên mình đành phải edit lại comment để nhắc lại:
Bạn nên chú ý vào tiêu đề, nội dung truyền tải cũng như key idea của mỗi phần, thay vì muốn phần code ví dụ cứ phải bám sát y hệt từng tí một như nguyên gốc một cách rất rất cứng ngắc. Nếu bạn mong muốn những bài biên dịch đi kèm với ví dụ chính xác một cách tuyệt đối so với nguyên gốc, thì mình nghĩ series này có vẻ không phù hợp với bạn lắm
Mình code ví dụ dựa trên nội dung truyền tải của mỗi phần chứ không có code y hệt từng tí một so với nguyên gốc (vì mình mong muốn chuyển sang java). Còn bạn muốn check xem đoạn code ví dụ có hợp lệ hay không, có thể chạy đoạn code sau:
doSomething();
}
Không hề có else nên đoạn code này lại vô cùng hợp lý và gần như không thể khác trong tình huống này Còn của bạn: if(!isSomething){
doSomethingFalse();
}else {
doSomethingTrue();
}
Nó nên là: if(isSomething){
doSomethingTrue();
}else {
doSomethingFalse();
}
Điều này ngay như trong sách mình cũng đã thấy có. Bạn nên hiểu đúng ngữ cảnh. Mình nói ngay từ đầu là mình ko bình luận về nội dung diễn giải trong bài, mình chỉ góp ý code thôi.
Các bước rất chi tiết. Mình bookmark bài viết này lại. Mới tìm hiểu ML nên bài này của bạn giúp mình hình dung đc đến cuối công việc. Viết thêm nhiều bài hướng dẫn chi tiết nữa nhé bạn 😊
Mình sẽ tiếp tục giải đáp thắc mắc theo thứ tự:
=> Code nguyên văn trong sách cho đoạn comment của bạn đây
"Similarly, a comment can make you understand the code more quickly, even though it “adds code” to the file:"
(Mình có thể dịch thay google dịch là: "Tương tự, bổ sung comment có thể giúp bạn hiểu code nhanh hơn, ngay cả khi nó "thêm code” vào file:")
// Fast version of "hash = (65599 * hash) + c
hash = (hash << 6) + (hash << 16) - hash + c;"
=> Code nguyên văn trong sách cho đoạn code negate của bạn đây
"But fewer lines isn’t always better! There are plenty of times when a one-line expression like:
assert((!(bucket = FindBucket(key))) || !bucket->IsOccupied());
takes more time to understand than if it were two lines:
bucket = FindBucket(key);
if (bucket != NULL) assert(!bucket->IsOccupied());"
=> thấy bạn có vẻ bị quan trọng hóa vấn đề một cách cứng ngắc thì phải, dù sao cũng cảm ơn vì những "góp ý"
cảm ơn anh nhiều, chúc anh sức khỏe ạ.
@vhung

Cảm ơn bạn
Quá hay, mình đang tìm hiểu về ML mà đọc bài của bạn rất thú vị và dễ hình dung. Gắng viết thêm nhiều bài về chủ đề này nha bạn
Cảm ơn bạn, mình làm được rồi
Bạn cho mình hỏi là series này không có nói tới việc thao tác với dữ liệu tiếng việt à bạn
hash = (hash << 6) + (hash << 16) - hash + c; Comment của tác giả không nhằm mục đích giải thích đoạn code là gì, làm gì như cách bạn nói. Việc phải comment điều đó là vô cùng hy hữu và không phù hợp trong hoàn cảnh code của bạn. Nếu bạn đưa vào rất dễ khiến bạn đọc hiểu lầm. Hay như đoạn if (!boong || !(boong == canUseNow()))
return "Không xài được rồi!";
else
return "Ngon!";
Bạn dùng negative condition quá nhiều. Nếu bạn có đọc hết sách sẽ thấy trong sách có đề cập đến vấn đề order của if/else để tránh negative này.
Bài viết rất hay và có tính ứng dụng thực tế
vâng bạn cứ đăng thoải mái, ghi rõ nguồn giúp mình là dc ạ
Cảm ơn bạn đã đóng góp, mình xin phép đc giải thích