THẢO LUẬN

Avatar
đã bình luận câu trả lời trong câu hỏi
Nov 29th, 2018 10:14 a.m.

@wiliamfeng trường hợp thứ nhất của arrow function nó sẽ giống như phần này

render() {
  <button onClick={this.handleClick.bind(this, 'Parameter')}></button>
}

mỗi lần chạy render nó sẽ phải tạo lại hàm handleClick kia rồi mới gán vào sự kiện onClick của bạn. Còn với cách thứ 2 của arrow function thì hàm handleClick sẽ được tạo từ đầu và được lưu trữ lại để sau đó khi bạn chạy lại hàm handleClick nó sẽ dùng cái hàm đã lưu trữ đó luôn chứ không cần tạo lại

+2
Avatar
đã bình luận cho bài viết
Nov 29th, 2018 9:56 a.m.

Hi anh, Cho em hỏi phần clean khi build với ạ. Điều này có đảm bảo mỗi lần build thì client khi truy cập luôn get code mới nhất k ạ. Server build, client access thì nó sẽ update UI mới chẳng hạn, vì hiện tại em gặp case user phải clear cache thỉ mới update UI mới dc ??? Thanks anh!

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Nov 29th, 2018 9:22 a.m.

bạn ơi bạn có thể giải thích thêm cho mình chỗ này :

với cách thứ nhất thì mỗi lần hàm render() được gọi thì nó sẽ phải tạo lại cái instance của hàm handleClick rồi gán vào cái sự kiện onClick mà bạn khai báo

với được không ? Tại sao phải tạo lại cái instance của hàm handleClick hả bạn ?

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Nov 29th, 2018 9:12 a.m.

Dùng bind ở trong constructor thì sẽ chỉ phải khởi tạo 1 lần context cho this, còn dùng arrow func thì mỗi lần gọi tới sẽ có lại 1 instance this mới, đúng ko?

+3
Nov 29th, 2018 8:16 a.m.

Cảm ơn @QuangPH đã luôn cập nhật các kiến thức bổ ích cho a e nhé

+1

Xin cảm ơn rất nhiều vì là người ủng hộ đầu tiên 😃)

+1
Nov 29th, 2018 8:04 a.m.

T biết bài viết dài nên ông sẽ cảm ơn ở dưới nên t lăn xuống dưới đọc cảm ơn, cmt rồi đọc tiếp 😆😆😆

+1
Nov 29th, 2018 7:19 a.m.
  1. css, js tịu chung thì phải minify, có thể bundle bằng 1 số thằng task runner. CDN thì tùy case nhé.
  2. Cache chính xác là có 3 loại: Browser cache: static files -> Cache file đồng chí nói chắc là loại này. Output cache: web markup Object/data cache: memcache và redis thuộc loại này
  3. restart chỉ là cách tạm thời, về cơ bản phải tìm nguyên nhân memory leak ở đâu
0
Nov 29th, 2018 6:35 a.m.

đù. xài ant pro lun. hehe.

0
Nov 29th, 2018 5:01 a.m.

Thanks chủ thớt nhé. Bài viết rất hay. Mong chủ thớt sẽ ra thêm nhiều bài viết tương tự như thế này trong tương lai.

0

hay

0
Nov 29th, 2018 3:21 a.m.

hay

0
Avatar
đã bình luận cho bài viết
Nov 29th, 2018 3:21 a.m.

love it

0

chào bạn, link project đây bạn nhé: https://github.com/thanhhau097/Natual-Language-Processing/tree/master/Text Classifier nhớ gắn sao ủng hộ mình nhé 😄

0

Hay thật, ko có anh chắc e loay hoay đến chết, tks a ^^ 👍

0

Mr Toàn ơi ? Gmail của anh là gì ạ ? Cho em xin với E có 1 ý tưởng nhờ a thảo luận và chia sẻ giùm ak ?

0
Nov 28th, 2018 6:25 p.m.

Mr Cường ơi ? Mr rất am hiểu

0
Nov 28th, 2018 6:25 p.m.

Bài viết hay Mr Toàn ơi

0
Nov 28th, 2018 4:44 p.m.

@Tuong Mình thử với xâu này vẫn lỗi nhé. Dùng regex, trong trường hợp dấu đóng mở ngoặc nested thì bạn sẽ ko thể biết dấu mở ngoặc nào sẽ nên bắt cặp với dấu đóng ngoặc nào đâu. Vì phải duyệt hết xâu bạn mới biết được dấu mở ngoặc nào ăn cặp với dấu đóng ngoặc nào. Mà regex cơ chế của nó lại là ăn xâu từ trái qua phải, ko quay lui được:

https://regex101.com/r/1hiLOm/5

Công (ty (CT) trách nhiệm hữu hạn (TNHH))dfa
0

Vấn đề của em cần phải dùng đến chức năng Negative Lookahead của Regex, cách hoạt động như sau:

2018-11-28_23-09-49.jpg

Giả sử mình cần exclude (loại bỏ) một chuỗi (chứ không phải 1 ký tự như là ví dụ [^ab] như bên trên nữa) ra khỏi một chuỗi đã bắt được. Thì cần dùng cách viết (?!abc) (Chú ý là dấu () là bắt buộc phải viết để đủ cú pháp). Trong đó abc là 1 chuỗi các ký tự liền nhau cần loại bỏ. Nếu cần loại bỏ 2 hoặc nhiều chuỗi con thì sao? vậy ta sẽ viết là (?!abc|def|gho).

Vì chuỗi con nằm bên trong chuỗi cha, do đó chúng ta cần viết thêm 1 dấu chấm . ngay đằng sau (?!\/bc) và bọc toàn bộ khối đó lại thành 1 group. Rồi viết thêm *? bên ngoài để nhân bản các ký tự lên thành 1 chuỗi.

Như vậy để viết Regex này ta phải tư duy từ bên trong ra bên ngoài. Và việc viết thêm Negative Lookahead kèm với dấu chấm dạng ((?!abc).)*? thật ra cũng vẫn chính là một biến thể của .*? (bắt một chuỗi dài vô tận, nhưng không được chứa chuỗi con cần loại bỏ bên trong nó)

Link chạy ngon: https://regex101.com/r/SThqo2/2

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í