
Design Pattern - Observer
Observer pattern là một mẫu thiết kế phần mềm mà một đối tượng, gọi là subject , duy trì một danh sách các thành phần phụ thuộc nó, gọi là observer , và thông báo tới chúng một cách tự động về bất cứ thay đổi nào, thường thì bằng cách gọi 1 hàm của chúng. Định nghĩa mối phụ thuộc một - nhiều ...

Lần đầu tiên Crawl dữ liệu của tôi như thế nào?
Dữ liệu là một phần vô cùng quan trọng trong bất kì ứng dụng hay trang web nào. Đặc biệt với một ứng dụng hay trang web mới, việc có một khối dữ liệu kha khá khi mà số lượng người dùng chưa lớn là vô cùng nan giản. Ngoài kia có rất nhiều trang web đã chạy trước đó có dữ liệu mà chúng ta có thể ...

Sử dụng SASS để viết Media Queries
Xin chào cả nhà, chúng ta lại gặp nhau trong một bài viết mới của tôi. Như các bạn đã biết khi làm web, điều chú ta cần đặc biết chú ý về mặt giao diện đó là khả năng responsive của nó. Hiện nay thì framework bootstrap đã hỗ trợ cho ta rất tốt về việc này, trong phiên bản bootstrap 4 mới nhất, còn ...

Một số mẹo khi sử dụng Android Recyclerview
Bài viết này sẽ giúp các bạn thấy được những sai lầm khi triển khai thực hiện recyclerview ngay cả khi nó đã được sử dụng một thời gian khá lâu rồi. Đặt thuộc tính setHasFixedSize -- recyclerView.setHasFixedSize (true)* recyclerView.setHasFixedSize(true); Bằng cách làm như vậy, ...

Những công cụ giúp ứng dụng rails của bạn được tối ưu
Để giữ cho code của bạn được gọn gàng, có tổ chức khi phát triển một ứng dụng Rails lớn có thể khá là khó khăn, ngay thậm chí đối với những developer có kinh nghiệm. May mắn thay, các gem hiện nay đã giúp bạn làm việc đó một cách dễ dàng hơn. Đối với hầu hết mọi người, những dead code, hoặc những ...

Ruby hashes
Hashes là một kiểu dữ liệu lưu trữ theo dạng tập hợp giống như mảng, nhưng các phần tử không được lưu chỉ số mà lưu theo khóa, tức là các phần tử của bảng băm có 2 thành phần là khóa và giá trị. 1: Khởi tạo hashes Ví dụ 1: Để tạo một đối tượng hashes thì chúng ta có thể dùng phương thức new ...

Kiểm thử dựa trên yêu cầu
Để hiểu được Kiểm thử dựa trên yêu cầu, trước hết chúng ta hãy hiểu yêu cầu là gì và ai tạo ra chúng? Yêu cầu là gì? Từ điển Oxford định nghĩa yêu cầu như là một nhu cầu, mong muốn, nhu cầu, và muốn, sự cần thiết, điều kiện tiên quyết, bắt buộc và cần thiết. Đơn giản, trong phát triển sản phẩm, ...

Upload và download ảnh trên S3 [Scala. Play]
Đầu tiên, đăng kí một tài khoản trên S3 1.1.Tạo bucket Chọn vào phần button create bucket hiển thị ở màn hình top S3 Step 1 Tên bucket Nhập tuỳ ý tên bucket dựa theo format của DNS như sau ・ Không sử dụng dấu ngoặc trong tên Bucket ・Độ dài của kí tự là từ 3~63 ・ Không kết thúc ...

Android - Architecture Components ViewModel - xử lý configuration changes chưa bao giờ đơn giản đến thế.
Rất cảm ơn tất cả các bạn đã đọc và ủng hộ cho 2 bài viết trước về Architecture Components Android - Bạn biết gì về Architecture Components Giới thiệu về Room Persistence Library Tiếp tục seri về Architecture Components, lần này mình xin tiếp tục giới thiệu chi tiết về một Component nữa ...

Đào sâu về toán tử "===" ROR
Là dân IT chắc không ai thoát khỏi câu hỏi: " == và === khác nhau như thế nào?". Nếu ai đó đã biết về Javascript thì trong Javascript, toán tử === chỉ trả về true nếu như cả hai toán hạng đều cùng một loại và có cùng giá trị. Nếu so sánh khác loại, kết quả sẽ trả về false. Đơn giản vậy thôi... ...

Override rails admin gem, authenticate and authorize it with devise
Rails admin gem is a popular gem for creating admin interface on the resources. It provides a quick way of the following operations: CRUD operation Export data to CSV/EXCEL Easily query the data Automatic form validation Authentication and authorization via devise and cancancan But at ...

kết hợp Custom Data Attributes và hàm attr()
Hàm attr(), bên cạnh ứng dụng vào tootips, ta còn có thể xây dựng thumbnail có tittle và description để kết hợp với data attributes. Bạn chỉ cần viết đoạn code HTML theo cấu trúc sau: <a class="caption" href="#" data-title="Vulture" data-description="..."> <img src="img.jpg" ...

Những ứng dụng thực tế của Singleton class trong Ruby
Hầu hết các Ruby developer đều đã trải qua khái niệm metaclasses hoặc singleton. Tuy nhiên khái niệm này dường như là một điều mơ hồ và hiếm khi được sử dụng, mặc dù chúng ta đều hưởng lợi từ các singleton class mỗi ngày. Bạn có thể đã đọc các bài báo cổ điển về các loại metaclass của Ruby bởi ...

Đại số quan hệ và các phép toán tập hợp
Đại số quan hệ (Relational algebra) là một bộ các toán tử và quy tắc được sử dụng để thao tác trên các quan hệ và kết quả trả về là một quan hệ mới. Sau khi Edgar F. Codd đưa ra mô hình dữ liệu quan hệ vào năm 1970, đại số quan hệ được xem là nền tảng cho các ngôn ngữ truy vấn dữ liệu nói chung ...

Machine Learning thật thú vị (7): Tại sao Machine Learning vẫn chưa thể so sánh với bộ não con người? - mô hình DCGANs
Một trong những khả năng tuyệt vời nhất của con người chính là khả năng tưởng tượng. Có những người ta chưa gặp bao giờ, nhưng nếu ai đó đưa ta ảnh của nửa khuôn mặt người đó, ta hoàn toàn có thể dự đoán ra hình ảnh của cả khuôn mặt. Thậm chí, con người hoàn toàn có thể tưởng tượng ra toàn bộ một ...

Machine Learning thật thú vị (8): Đánh lừa hệ thống mạng nơron trong Machine Learning
Cứ khi nào một lập trình viên viết một chương trình phần mềm, những hackers luôn cố gắng tìm cách xuyên thủng phần mềm đó. Nhiều hackers còn lợi dụng những lỗi nhỏ nhất trong chương trình để phá hủy hệ thống, đánh cắp dữ liệu hay gây ra tàn phá nói chung. Nhưng liệu hệ thống được xây dựng bởi ...

Ad-hoc Testing: làm thế nào để phát hiện ra bug mà không có quy trình kiểm thử chính thức
1. Khái niệm Thuật ngữ ad-hoc ngụ ý sự thiếu vắng cấu trúc hoặc cái gì đó không có phương pháp. Khi bạn nói về thử nghiệm ad hoc , nó có nghĩa là nó là một phương thức kiểm thử hộp đen hoặc thực hiện kiểm thử mà không theo bất kỳ quy trình chính thức nào. Quy trình chính thức ở đây có nghĩa là ...

Giải quyết các vấn đề xung quanh Requirement.
Bài viết được đúc kết từ các dự án thực tế tôi đã làm và tham khảo những ý kiến/bài viết trên mạng khác. Nội dung có thể không đúng hoàn toàn với dự án của bạn nhưng bạn có thể ứng dụng một phần nào đó. Những phương pháp (nằm trong từng vấn đề) mà tôi đề cập dưới đây sẽ luôn có phương pháp: ...

ResponseUIViewController in IOS!
Bài hôm nay mình sẽ giới thiệu cho các bạn cách để Load UIViewController 1 cách dễ dàng hơn. đầu tiên các bạn tạo cho 1 protocol như này. protocol ResponseUIViewController {} extension ResponseUIViewController where Self: UIViewController { } xong rồi cho UIViewController adopt protocol ...

Tổng quan về Web Front-End 2017
Giới thiệu Trong những năm trở lại đây, xu hướng công nghệ trong việc phát triển Front-end đã thay đổi và phát triển mạnh. Các thư viện mới, các công cụ hỗ trợ mới,.. ngày một xuất hiện nhiều hơn làm cho hệ sinh thái của front-end ngày một lớn dần đồng thời cung cấp rất nhiều lựa chọn công cụ, ...