Tư duy lập trình, tư duy toán học và không biết đã có ai từng nghe qua tư duy tội phạm chưa?
Hồi trước có một anh bạn giới thiệu với mình về tư duy tội phạm.

Xem thêm: Giá như đố vui và lập trình thật đơn giản!
Nếu bạn dùng facebook thì chắc bạn đã từng nhận được những tin nhắn spam, tin nhắn quảng cáo.
Nay hướng dẫn các bạn cách xử lý tin nhắn quảng cáo trên facebook nhé. Nếu bạn nào đã biết thì bỏ qua, bạn nào chưa biết thì có thể tham khảo và share hoặc chỉ cho người khác cùng thực hiện nhé.

Xem thêm: Cách chặn và report tin nhắn spam trên Facebook
Giới thiệu
Về mặt lịch sử, từ Visual Basic đến Windows Forms ngày nay, nếu chúng ta muốn tạo ra một giao diện tùy biến cho ứng dụng, chúng ta bị giới hạn khi thay đổi các thuộc tính chuẩn của controls như màu nền, chiều rộng đường viền hoặc kích thước phông chữ. Nếu muốn đi xa hơn, lựa chọn duy nhất là tạo ra một control, kế thừa từ control đã có và override phương thức vẽ để đáp ứng nhu cầu riêng.

Xem thêm: Tùy chỉnh ứng dụng với Style và Control Templates – Phần 1
Ngày nay, ReactJS đã trở nên rất phổ biến bởi những tính năng linh hoạt và đơn giản với hơn 1,300 developer và hơn 94,000 trang web đang sử dụng ReactJS. Nhiều người ám chỉ rằng ReactJS sẽ là tương lai của việc phát triển web.

Xem thêm: ReactJS – Những điều bạn cần phải biết
Ở bài Part 1 lần trước mình đã giới thiệu về Model và Dictionary trong ObjC. Mình có nêu ra một số ý tưởng về Model như:
- Model tự init data dựa trên JSON mà không phải tự viết hàm initWithDictionary cho mỗi model mới khai báo dựa trên thư viện objc-runtime.
- Model cho phép add các target cũng như cài đặt callback để tự động trigger events mỗi khi một thuộc tính của Model thay đổi giá trị bằng cách viết thư viện key-value observing. Vấn đề ở đây là nó sẽ không crash và tối ưu hoá hơn khi sử dụng cái mặc định của Apple.
- Model lấy ý tưởng tương tự như một ActiveRecord trong Ruby on Rails.

Xem thêm: Làm việc với Model và Dictionary trong ObjC và Swift (phần 2)