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ụ, ...
Ingestion and Processing of Data For Big Data and IoT Solutions
Overview In the era of the Internet of Things and Mobility, with a huge volume of data becoming available at a fast velocity, there must be the need for an efficient Analytics System. Also, the variety of data is coming from various sources in different formats, such as sensors, logs, ...
Code CSS chuyên nghiệp và đơn giản hơn với SASS - Phần 2
Ở bài viết trước, mình đã giới thiệu qua các quy tắc khi biết css bằng scss sao cho code chúng ta ngắn gọn trực quan và dễ hiểu nhất. Các bạn có thể tham khảo phần 1 tại đây. Ở bài viết này, mình xin giới thiệu các mệnh đề được sử dụng trong SASS. Mệnh đề "if" Tương tự như các ngôn ngữ lập ...
[RN][Redux] Redux Observable
Trong bài viết này tôi sẽ giới thiệu với bạn 1 loại redux mới Redux Observable Giới thiệu Redux Observable sử dụng RxJs và các đối tượng observable để tạo ra các tiến trình bất đồng bộ và luồng xử lý dữ liệu cho ứng dụng Redux. Ứng dụng Điều đầu tiên chúng ta cần làm để bắt đầu với redux ...
[P2] - Lấy dữ liệu website bằng puppeteer
Ở phần 1 mình đã nắm được những kiến thức cơ bản về thằng puppeteer này rồi Mục tiêu của mình ở phần này là sẽ quét những bài viết to ở mỗi category của trang 24h.com.vn. Sau đó vào từng bài để lấy phần header Nhắc lại chút kiến thức của phần 1 nhé. Mình sẽ dùng hàm evaluate của thằng puppeteer ...
Tạo một CLI app đơn giản với Python
Hôm nay mình xin chia sẻ với các bạn một module khá là tiện dụng của python trong việc tạo một CLI app đơn giản và nhanh chóng. Đó là module có tên là argparse. Trong bài viết này, mình sẽ sử dụng python 3. Cấu trúc cơ bản của một CLI app Hãy cùng xem xét một command cơ bản của Linux sau: $ ...
Autolayout Phần 2
Tiếp tục phần 1 , trong phần 2 này mình sẽ nói rõ hơn về Autolayout thông qua ví dụ để mọi người có thể hiểu được constraint một cách dễ dàng hơn. Ví dụ : Tạo textfield để nhập user name ở chính giữa của màn hình Đây là một ví dụ rất đơn giản , chúng ta có thể dễ dàng thực hiện với nhiều cách ...
Từ Javascript thuần đến RxJS (Phần 1)
Javascript, ES5, ES6, Functional Programming, Callback, Callback-Hell, Async, Sync, Blocking, Non-Blocking, Anonymous Function, Arrow Function, Higher Order Function, Promises, Async/Await, Observables, Observer, Reactive-Extension RxJS... Bạn quan tâm và muốn hiểu rõ về các khái niệm trên ...
Hiểu hơn về HTTPS với ví dụ bồ câu đưa thư
Chúng ta đều biết mã hoá là một chủ đề rất khó hiểu. Nó ứng dụng hàng loạt các chứng minh toán học để biến thông tin từ định dang bình thường sang định dạng không tin không thể hiểu được nếu như không có phương tiện Giải mã. Nhưng trừ khi bạn thực sự phát triển một hệ thống mã hoá, nếu không thì ...
Từ Javascript thuần đến RxJS (Phần 2)
Phần tiếp theo của loạt bài hiểu về cách code Javascript hiện đại. Từ Javascript thuần đến RxJS (Phần 2) Hỏi ngu: Callback và async đúng là một cặp đôi hoàn hảo! Đúng. Tuy nhiên không có gì là quá hoàn hảo. Nếu chúng ta quá lạm dụng 2 cặp đôi này ta sẽ bị rơi vào vòng xoáy gọi là ...
Những lưu ý khi kiểm thử ứng dụng trên điện thoại di động
Các ứng dụng di động ngày càng trở nên phổ biến và đi liền với nó là việc kiểm thử các ứng dụng để có thể đưa đến tay người sử dụng những ứng dụng tốt nhất, đảm bảo về chất lượng, tính thân thiện dễ sử dụng với người dùng... So với kiểm thử ứng dụng trên máy tính thì việc kiểm thử ứng dụng trên ...