THẢO LUẬN

thg 5 4, 2017 5:16 CH

Thanks, rất tâm huyết. Cộng đồng mong có thật nhiều người tâm huyết như bác 😃

0
Avatar
đã bình luận cho bài viết
thg 5 4, 2017 1:19 CH

skype mình : thtienqb có gì bạn liên hệ tại đây nha

0
Avatar
đã bình luận cho bài viết
thg 5 4, 2017 11:42 SA

bác ơi cho em xin link FB em hỏi chút ạ . em cảm ơn

0

@khanh.nguyen Bài viết đã trình bày các lí do để chứng minh luận điểm là viết interface cho presenter là ko cần thiết, mà đã ko cần thiết thì đúng là tốn thời gian đúng không bạn?

Việc xem các chức năng thông qua contract cũng ko khác gì việc fold hết tất cả body của hàm và chỉ giữ lại tên hàm như mình đã nói ở trên.

Google có cái lí của họ, vậy theo bạn cái lí của họ là gì? Đừng chỉ nghĩ là project của Google mà cho họ là đúng hết, hãy nghĩ xem tại sao họ lại làm thế và mình có nên làm theo họ không?

Bài viết mà bạn đưa cho mình để tham khảo, nó cũng nói là không cần thiết đúng không? Việc có thêm 1 interface cho Presenter sẽ làm cho việc tăng tính scalability của 1 project trở nên khó khăn hơn, nếu bạn muốn thay đổi implementation theo 1 hướng hoàn toàn khác (ví dụ xóa hàm, thay đổi param, thay đổi logic) thì sửa cả class lẫn interface rất mất thời gian. Project nhỏ thì ok không sao, nhưng với project lớn, 1 presenter chứa cả trăm hàm thì việc có sự thay đổi sẽ là không sớm thì muộn.

0
thg 5 2, 2017 3:28 SA

Dạ vẫn chưa được anh ạ, nếu em chỉ lấy //div thì chỉ ra pinned post, không ra được các bài đăng của nhóm ạ?

0
thg 5 2, 2017 3:28 SA

Dạ vẫn chưa được anh ạ, nếu em chỉ lấy //div thì chỉ ra pinned post, không ra được các bài đăng của nhóm ạ?

0
thg 5 2, 2017 3:28 SA

Dạ vẫn chưa được anh ạ, nếu em chỉ lấy //div thì chỉ ra pinned post, không ra được các bài đăng của nhóm ạ?

0
thg 5 1, 2017 12:07 CH

vâng , mình cảm ơn bạn 😄

0
Avatar
đã bình luận cho bài viết
thg 5 1, 2017 2:39 SA

Bạn thử thay lại cái let xpathQueryContent = "//div[@id='pagelet_group_mall']/div/div/div/div/div[@class='fbUserContent _5pcr']" coi sao

+1
thg 5 1, 2017 1:22 SA
0

xem phần 2 ở đâu vậy mọi người

0
thg 4 30, 2017 3:07 CH

Anh cho em hỏi, có cách nào mình lấy bài đăng từ một nhóm trên facebook không ạ? Em sử dụng hàm như sau:

func startParsing() {
    DispatchQueue.main.async {
        let urlLoad = URL(string: "https://www.facebook.com/groups/shiptimgnguoihanoi")
        do {
        let data = try Data(contentsOf: urlLoad! as URL)
        let parser = TFHpple(htmlData: data)
        let xpathQueryContent = "//div[@class='_5pbx userContent']"
        let listElements = parser?.search(withXPathQuery: xpathQueryContent)
        for k in 0...((listElements?.count)! - 1) {
            let title = (listElements?[k] as AnyObject).content!
            print("--->>title : \(title!)")
        }
    }catch{            
            }
    }
}

nó không chạy được, anh cho em hỏi cú pháp sai ở đâu ạ?

0
thg 4 30, 2017 12:02 CH

Mình trân trọng công sức bạn bỏ ra, nhưng mình không tiếp thu đc với cách giải thích của bạn, một vài câu cảm giác như dịch cưỡng ép từ tiếng anh qua tiếng việt.

  • Ở phần nguyên tắc thay thế bạn sử dụng sai tên method ( hello và greet ) và mình không hiểu được ý nghĩa của ví dụ này.
  • Ở phần nguyên tắc phân tách giao diện, tại phần cải tiến bạn thêm class ComputerInternals, vậy class này có dùng chung thuộc tính/phương thức với class Computer hay không ? Nếu có, theo kiểu kế thừa, thì Technical vẫn có thể truy cập cách thuộc tính/phương thức như Programmers => khó thay đổi đc gì.
0
thg 4 30, 2017 10:22 SA

Mình có thể xin example của bài hay không , Thanks !!

0
thg 4 29, 2017 4:29 CH

Link demo của validate form bị sai anh ơi

0

Cám ơn ban.. bài viết rất dễ hiểu cho người mới tiếp cận docker như mình!

0
thg 4 28, 2017 8:42 SA

Hay lắm Trí ạ 😃))

+1
thg 4 28, 2017 8:41 SA

tuyệt qá a ơi. nhưng mà e sẽ suy nghĩ lại về việc có nên vote cho a không =))

+1
thg 4 28, 2017 8:19 SA

Đó không phải lỗi của webpack, có lẽ do IDE của em tự dectect và báo lỗi thôi. Em có thể build ko sao. Còn không em có thể sử dụng cách naỳ ở webpack version 1 (vẫn dùng dc cho ver2)

btn.addEventListener("click", () => { // Khi click button
    require.ensure([],require).then(()=>{ // chúng ta sẽ import xinchao.css vào
        require('./assets/xinchao.css');
        xinchao('Dinh');
    });
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í