THẢO LUẬN

Apr 14th, 2019 3:28 p.m.

cảm ơn thớt đã viết bài này!hay quá :V

+1

Bài viết công phu quá

0

chú phải new 1 cái project rails bằng lệnh rails new <project_name> sau đó cd<project_name> rồi mới bundle được nhé 😃)

0

Làm sao để ô ở giữa lớn hơn 2 bên được ạ?

0
Apr 13th, 2019 7:55 a.m.

Bạn ơi ví dụ mình đang muốn làm một CSDL riêng để tạo một quyển từ điển được không ạ. Ví dụ một vài chữ Nôm không xuất hiện ở bất cứ CSDL nào nhưng mình biết nó tồn tại và đưa nó vào từ điển ấy. Mong bạn có 1 bài viết như thế

0
Apr 13th, 2019 3:51 a.m.

@tiennguyen98 dạ được rồi a, e cảm ơn

+1

Tôi đã đọc và làm theo bài viết này, nhưng bài viết này thật là một sự thất vọng lớn đối với tôi, chính vì thế nên tôi phải đăng ý acc để comment lại ngay. Vì bài viết của bạn là tốt đối với bạn nhưng nó không có ích gì cho người đọc như chúng tôi. Chẳng hạn như "Với các bạn chưa biết về CocoaPods, các bạn có thể vào đây để tìm hiểu và cài đặt CocoaPods. CocoaPods là công cụ quản lý thư viện phổ biến được rất nhiều lập trình viên sử dụng." thế này thì ai mà biết được, lỗi tùm lum.

0

phải nói là bài viết của bạn rất kì công, tuyệt vời đấy 😊

0
Apr 12th, 2019 3:18 p.m.

em chưa hiểu phần gộp những sevice kia lại kiểu j.a có thể giúp e đc ko ạ. nguyenngocson.haui@gmail.com

0

e lên đây đọc bài rồi đi comment dạo 😂 , bất ngờ thấy anh nổi lên

0
Apr 12th, 2019 9:08 a.m.

Hay quá anh ơi. Tym tym ❤️ ❤️ ❤️

+1

Bài viết của anh rất hay 😍 cảm ơn vì đã chia sẻ

+1

E làm gì trong cái Viblo này =))

0
    public function cities()
    {
        return $this->morphToMany('App\City', 'model', 'multi_cities');
    }

Thử xem được ko nhé.

0
Apr 12th, 2019 6:40 a.m.

Nhìn ngon quá! ^^

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
Apr 12th, 2019 6:37 a.m.

1 cái nữa là em đang test repository nhưng trong test em lại dùng eloquent làm active record

good practice :

  • mock database connection (ví dụ in-memory chẳng hạn) -> mock kết quả trả về từ hàm model->orderBy('updated_at', 'DESC')->get();
  • spy hàm orderBy('updated_at', 'DESC') ,đặt các expect cho nó được gọi mấy lần và những tham số có như mình kỳ vọng không
  • so sánh kết quả trả về từ repository với kỳ vọng của mình

-> bản thân model là các library dùng sẵn nên mình chỉ nên dùng nó như 1 spy chứ không nên mock , vì sao ? bởi vì nghiễm nhiên model nhận đúng tham số thì nó phải trả về 1 kết quả đúng -> không đúng thì đi kiện thằng viết library nhé

+2
Avatar
đã bình luận câu trả lời trong câu hỏi
Apr 12th, 2019 6:34 a.m.

Với cùng một đoạn code, không phải cứ áp dụng được nhiều kỹ thuật test vào là nó sẽ trở nên "tốt". Tùy vào mục đích, chi phí và hàng tá các tiêu chí khác mà bạn có thể áp dụng kỹ thuật test phù hợp.

Chỉ xét riêng trong ví dụ này, tôi sẽ không viết unit test cho repository, hãy sử dụng integration test cho phần này.

+3
Avatar
đã bình luận câu trả lời trong câu hỏi
Apr 12th, 2019 6:26 a.m.

@jquery123 Ở đây mình muốn test chặt chẽ hơn 1 chút, cụ thể là test đối với câu truy vấn SQL thuần thì phải thiết kế test như thế nào ? Tức là mình muốn so sách câu SQL select * from table order by updated_at as DESC thuần với câu truy vấn hiện tại của mình xem có khớp hay không ?

Bản thân mục đích test của em đang bị chệch hướng rồi, bản thân eloquent lẫn mysql đều là các interface/ và implementation có sẵn, có nghĩa là em không có trách nhiệm test chúng nó 😄

+1
Apr 12th, 2019 6:08 a.m.

@TuanAnh9996 vậy thì các đơn giản nhất bạn có thể sử dụng đó là xây dựng một bộ từ điển các tag ra rồi sử dụng best match để tìm ra được tập các tag phù hợp với tên công thức nhất. Cách này hơi mất thời gian chuẩn bị tên công thức nhưng đối với các dạng câu ngắn như này mình nghĩ nó sẽ hiệu quả. Ngoài ra bạn thể tiếp cận theo bài toán Named Entity Recognition nhưng vẫn cần chuẩn bị dữ liệu cho thuật toán này vì các dữ liệu này khá là đặc thù, không có sẵn.

+1

Í anh là Viblo hay Framja a?

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í