
Protocol Oriented Programing trong Swift qua ví dụ đơn giản
Trước tiên mình xin tôn trọng tác giả của bài hướng dẫn này Bob Lee. Bài viết này của mình hướng dẫn lại cho các bạn hiểu hơn về POP ,điểm mạnh mẽ và chỉ ra một số điều hay về POP. Vào chủ đề Bài toán cụ thể như thế này, mình muốn trong 1 project của mình,cụ thể hơn là 1 UIViewController, 1 ...

Những thách thức và giải pháp trong kiểm thử di động
1. Giới thiệu: Trong nhiều năm, các ứng dụng smart phone có sự phát triển không ổn định vì tại của hàng Google Play, App Store đã vượt quá hàng tỷ ứng dụng cho việc sử dụng nội bộ và bên ngoài. Các ứng dụng này đang đưa ra những thách thức lớn đối với người sử dụng. Đối với bất kỳ ứng dụng, ...

ReactJs với Ruby on Rails 5 (Phần 1)
React là gì? là 1 thư viện JavaScript được tạo bởi Facebook Mục đích là tập trung và hướng vào giao diện của người dùng. Trên Facebook có 2 nền là ReactJs và React Navive. React Js là thiên về thiết kế giao diện bên web React Native là dùng để thiết kê giao diện trên IOS và Android Một ...

Làm thế nào để viết Git commit hiệu quả?
Bài viết được lược dịch từ nguồn: https://chris.beams.io/posts/git-commit/ Lý do nên viết commit tốt Nếu bạn duyệt qua log của một kho lưu trữ (repository, gọi tắt là repo) bất kỳ được quản lý bằng Git, có thể bạn sẽ thấy những commit trong đó ít nhiều giống với một mớ hỗn độn. Ví dụ, hãy xem ...

Thiết bị thực và thiết bị giả lập trong kiểm thử các ứng dụng di động: Cái nào là tốt hơn?
Khi phát triển các ứng dụng được hỗ trợ trên nhiều nền tảng di động, điều quan trọng nhất đó là, làm sao để thực hiện kiểm tra được khả năng sử dụng của ứng dụng trên càng nhiều thiết bị khác nhau càng tốt. Tuy nhiên, vấn đề không có ngân sách hoặc không đủ thời gian đề thu thập tất cả các loại ...

Tìm hiểu về xử lý chuỗi bằng Regex (phần cuối)
Trong phần cuối tìm hiểu về Regular Expression thì hôm nay thì mình xin giới thiệu tiếp những quy tắc còn lại trong Regular Expression. Các bạn có thể quay về phần trước để tham khảo thêm một số quy tắc mà mình đã đề cập đến: https://viblo.asia/p/tim-hieu-ve-xu-ly-chuoi-bang-regex-phan-ii-YWOZrMYRK ...

Rake task in Rails
Khái niệm Rake là công cụ để quản lí các task trong rails, với mục đích gom nhóm các đoạn code ruby thường xuyên được sử dụng vào một task chung để sử dụng lại nhiều lần. Vd như các câu lệnh thường được chúng ta sử dụng nhiều như rake db:migrate, rake db:create, rake db:seed, rake ...

Làm thế nào để gọi AJAX trong Rails 5.1
Trong phiên bản Rails 5.1 Jquery đã bị loại bỏ, mà thay vào đó một thư viện của riêng Rails được thay thế và có tính năng giống như Jquery đó là rails-ujs. Một đặc trưng phổ biến nhất của Jquery trong Rails đó chính là thực hiện call Ajax. Nếu như bạn sử dụng Ajax trong Rails 5.1 lần đầu tiên, ...

Mixins in JavaScript
Trong JavaScript chúng ta chỉ có thể kế thừ từ 1 Object. Chỉ có thể có 1 Prototype cho 1 object và 1 class chỉ có thể kế thừ từ 1 class khác. Nhưng mà nhiều khi chúng ta tạo một class, vừa muốn vừa kế thừa từ class này lại vừa kế thừa từ 1 class khác vì class đó có 1 method bạn cần dùng đến, phải ...

Architecture in Rails
Một trong những đặc điểm của Rails là bạn bị buộc phải viết chương trình theo một loạt các quy tắc nhất định, tức là bạn phải theo mô hình kiến trúc mà Rails đã đề ra, tuy nhiên những quy tắc này lại khiến việc phát triển ứng dụng trở nên dễ dàng hơn rất nhiều. Mô hình MVC – Model, View, ...

Phát triển ứng dụng di động và danh sách kiểm thử - 17 điều cần nhớ trước khi phát triển 1 ứng dụng
Phát triển ứng dụng di động và danh sách kiểm thử nhằm đảm bảo cho cả developers và testers cover được các kịch bản kiểm thử, giúp tinh chỉnh Tài liệu để đảm bảo phạm vi công việc của từng người được xác định rõ ràng. Sau đây là những câu hỏi chính về chức năng của ứng dụng cần thiết trong quá ...

7 dấu hiệu nhận biết trang WordPress bị tấn công
Thiệt hại do hacker ư? Chẳng liên quan đến tôi Đây chắc chắn là cách nghĩ của nhiều khá nhiều người hiện nay. Tuy nhiên trong những năm gần đây hoạt động tội phạm liên quan đến internet ngày càng gia tăng, theo một công bố của cyber sercurity.com thì trên Thế giới cứ mỗi giây có 12 người phải ...

Khám phá Test-Driven-Development với Android UI Testes
Getting started Chúng ta sẽ bắt đầu bằng cách tạo ra một activity barebone. Chúng ta cần làm điều này để có thể chạy UI test - hãy nghĩ đến thiết lập này làm nền tảng cho việc thực hiện của chúng ta chứ không phải là bản thân quá trình triển khai thực hiện. Dưới đây là barbone activity: class ...

Một số thủ thuật thiết kế một website nhanh với "Hiệu suất trực quan"
Một website nhanh được đo đạc dựa trên rất nhiều chỉ tiêu và yếu tố. Việc tăng tốc độ cho website sẽ cải thiện được khả năng xuất hiện của website trên các công cụ search, từ đó tỉ lệ lượt truy cập vào website sẽ tăng đáng kể. Vậy nên một website nhanh hơn sẽ được đánh giá cao hơn, và tất nhiên ...

Tìm hiểu về Stripe: thư viện thực hiện thanh toán thẻ tín dụng (credit card) trong ứng dụng iOS
Trong thế giới phẳng ngày nay, thanh toán bằng thẻ tín dụng được rất nhiều người lựa chọn sử dụng trên thế giới (trừ Việt Nam ta ra). Vì vậy, việc tích hợp khả năng thanh toán bằng thẻ tín dụng trong ứng dụng di động là việc cần thiết đối với các ứng dụng có phát sinh giao dịch với người dùng. ...

Swift 4 - Sử dụng Codable để làm việc với JSON
Như các bạn đã biết thì mới đây apple đã cho ra mắt IOS 11, đi kèm với nó là Swift 4. Apple đã thêm Codable và protocol Decoder Encoder vào trong phiên bản Swift 4 này để giúp chúng ta có thể đơn giản hoá khi làm việc với dữ liệu JSON. Để sử dụng Codable thì chúng ta cần phải: Khởi tạo Model ...

Tăng hiệu suất làm việc với các Plugins trong Android Studio
Android Studio là một công cụ hỗ trợ cho các developer Android rất mạnh mẽ. Nó có giao diện đơn giản và linh hoạt nhất để thiết kế giao diện cho tất cả các thiết bị Android hiện nay. Các developer có thể kéo thả các view và widgets trong phần thiết kế layout và có thể tùy chỉnh giao diện ...

Unit Test Và Phát triển phần mềm - Ứng dụng
Unit Test là một kỹ thuật kiểm thử các hoạt động và chức năng của code , nó tách biệt với quy trình phát triển phần mềm, giúp phát hiện sai sót kịp thời trước khi đưa sản phẩm đến tay người dùng. Nó còn có thể giúp phát hiện các vấn đề tiềm ẩn và các lỗi phát sinh trước khi QA tìm ra. Unit Test ...

Cấu hình Redis Master-Master sử dụng Dynomite
1 . Kiến trúc mạng Hoạt động: Client sẽ kết nối vào port 8102 của Dynomite. Dynomite đứng giữa làm nhiệm vụ gửi request về 2 node redis, giữ cho redis chạy như mô hình Master-Master 2 . Cài đặt redis Đầu tiên ta sẽ đi cài đặt redis basic trên 2 server: # mkdir /opt/setup/ # cd ...

Operator Overloading trong Kotlin
Ở Kotlin, như trong mọi ngôn ngữ, chúng ta sử dụng +, -, *, / để thực hiện các hoạt động nhất định. Kotlin đã sửa số và các toán tử tượng trưng mà chúng ta có thể dễ dàng sử dụng trên bất kỳ lớp nào. Tạo ra một hàm với một tên dành riêng sẽ được mapped tới symbol. Overloading các toán tử này sẽ ...