Tạo Animation với thư viện Anime.js

Nếu như bạn đang cần tìm kiếm một thư viện animation nhanh gọn nhẹ, thì Anime.js của Julian Garnier là một lựa chọn đáng để bạn xem xét. Tôi sẽ không chia nhỏ thư viện ra để phân tích hay đào sâu mã code của nó. Thay vào đó, tôi sẽ tiếp cận thư viện này từ quan điểm của một người làm việc với CSS ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Rails testing: Thay đổi thời gian với TimeHelpers

Vấn đề Hãy tưởng tượng bạn đang test ứng dụng Rails của mình với RSpec, bạn cần di chuyển thời gian đến tương lai hoặc quá khứ để test các chức năng của mình. Bạn biết rằng Timecop có đầy đủ những thứ bạn cần về thời gian nhưng bạn cũng mới nghe về 1 module được xây dựng sẵn từ Rails 4.1 tên ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Làm thế nào để kiểm thử các ứng dụng ngân hàng

Ứng dụng ngân hàng là một trong những ứng dụng phức tạp nhất trong ngành công nghiệp phát triển và kiểm thử phần mềm hiện nay. Điều gì làm cho ứng dụng ngân hàng nên phức tạp? Phương pháp gì cần phải áp dụng để kiểm thử luồng công việc phức tạp liên quan đến ứng dụng ngân hàng? Trong bài viết này, ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

Connecting Redux with Angular 4+

Introduction When you first think of Redux you also probably think of using it along with React , because that is what most people usually do and it also being use as an example on official redux site too . But the thing is it can be used with any javascript libraries as we wish and not just ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

[iOS] - iOS Dev cần biết những gì để thực hiện công việc hàng ngày?

Để công việc của một iOS dev diễn ra suôn sẻ ngày qua ngày, bài viết dưới đây liệt kê các topic mà mỗi iOS dev bình thường nhất cần phải nắm rõ. Topic bao gồm: [Source Control | Architecture Patterns | Objective-C vs Swift | React | Dependency Manager | Storing Information | CollectionViews ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

Hướng dẫn cách chuyển đổi ứng dụng iOS sang macOS (Phần 2)

Ở phần trước chúng ta đã tạo ra được phần thô của app sau khi chuyển đổi từ iOS sang macOS, tiếp theo chúng ta sẽ đến với việc tạo ra các model để lưu trữ dữ liệu. Tạo một "Swift File" mới bằng cách đi từ File/New/File…, và đặt tên nó là "Beer_iOS.swift". Đảm bảo rằng nó được thêm vào ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

Từ căn bản đến nâng cao về Responsive Web Design (RWD) - Phần 1

Xin chào các bạn, hôm nay mình xin giới thiệu series bài viết từ căn bản đến nâng cao về Responsive Web Design (RWD). Trong series này mình sẽ đi từ căn bản nhất đến chi tiết nhất về RWD cho những bạn chưa từng biết gì về RWD có thể dễ dàng tiếp cận, tìm hiểu cũng như áp dụng một cách chính xác và ...

Tác giả: Tạ Quốc Bảo viết 16:51 ngày 12/08/2018

[RN][Redux] Redux Promise Middleware

Giới thiệu Trong phần này chúng ta sẽ tiếp tục với một loại redux khác. Redux Promise Middleware là thư viện gọn nhẹ cho việc thực thi resolve và reject kết quả từ promise với những điều kiện có thể update được. "Redux Promise Middleware giúp tăng tốc tiến trình xử lý bất đồng bộ trong ...

Tác giả: Bùi Văn Nam viết 16:51 ngày 12/08/2018

Phân tích yêu cầu và thiết kế trong Scrum

Khi nào các hoạt động phân tích yêu cầu (requirement analysis) và thiết kế(design) diễn ra trong mô hình Scrum? Làm thế nào để có sự hiểu biết về phân tích yêu cầu và thiết kế trong Scrum? Phân tích yêu cầu là một trong những hoạt động chính trong việc chuẩn bị Backlog (các hoạt động khác có thể ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

PHP Unit Test 201: Làm quen với Test case, Assertions và data provider

Trong bài đầu tiên của series này, chúng ta đã đi qua cách cài đặt và cấu hình PHPUnit cho 1 project PHP, một số conventions khi thực hiện Unit test trong PHP và trải nghiệm với unit test đầu tiên. Trong bài này, chúng ta sẽ tìm hiểu một số khái niệm quan trọng trong unit test và đi vào thực hành ...

Tác giả: Bùi Văn Nam viết 16:51 ngày 12/08/2018

Multier architecture in distributed architecture

Distributed architecture has been used for a long time ago. Let 's imagine that we have to solve many tasks and our machine is not enough resources. At that time, we should use distributed architecture. In a distributed architecture, components are hosted on different platforms and communicate ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Kiểm tra tính năng Email của một ứng dụng

Trong hầu hết các ứng dụng web và ứng dụng di động, kiểm tra tính năng Email được coi là một trong những phần quan trọng, để đảm bảo chất lượng trong chức năng gửi nhận Email cũng như các chức năng khác của hệ thống. Các email được kích hoạt dưới các tình huống khác nhau được coi là hợp lệ bằng ...

Tác giả: Bùi Văn Nam viết 16:51 ngày 12/08/2018

React Lifecycle Methods

Mở đầu Chào các bạn đọc giả thân mến. Trong phạm vi bài viết này mình sẽ chia sẻ về vòng đời của một React Component các bạn nhé. Lifecycle Methods Nhìn chung, quá trình mounting hay render của một React Component có 4 vòng đời (Lifecycle). Chúng được gọi theo thứ tự như sau: ...

Tác giả: Tạ Quốc Bảo viết 16:51 ngày 12/08/2018

Một số điểm cần lưu ý khi test website thương mại điện tử

Trong quá trình nghiên cứu cách để test một ứng dụng thương mại điện tử, tôi đã tham khảo rất nhiều tài liệu với các quan điểm khác nhau. Dưới đây là một bài viết với các quan điểm cơ bản, giúp bạn dễ hình dung và có được một khái niệm tổng quan khi test loại ứng dụng này. Bài viết tham khảo từ ...

Tác giả: Bùi Văn Nam viết 16:51 ngày 12/08/2018

Sử dụng wicked_pdf nâng cao cho dự án Rails

Trong qúa trình làm việc với wicked_pdf, mình cũng gặp phải một số vấn đề và cũng đã tìm ra cách giải quyết nên trong bài viết này mình muốn chia sẻ, hi vọng nó sẽ có ích với các bạn. Bạn có thể tham khảo bài viết Export file pdf trong Rails trước đây của mình. Bài viết đó đã trình bày khá ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Parcelize - Hỗ trợ tuyệt vời cho Parcelable

Parcelize được kotlin thêm vào từ version 1.1.4 Theo nguyên văn của Kotlint thì Android Extensions plugin now includes an automatic Parcelable implementation generator. Declare the serialized properties in a primary constructor and add a @Parcelize annotation, and writeToParcel()/createFromParc ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018

[Elasticsearch] - Các khái niệm cơ bản - Phần 1

Hẳn các bạn ai cũng đã từng nghe tới Elasticsearch. Bài viết này sẽ giúp các bạn hiểu về các khái niệm cơ bản trong Elasticsearch. 1. Cluster Cluster là một tập hợp các node - nơi lưu trữ toàn bộ dữ liệu, thực hiện đánh index và search giữa các node. 1 cluster được xác định bằng 1 ***'unique ...

Tác giả: Bùi Văn Nam viết 16:51 ngày 12/08/2018

Chạy ứng dụng đầu tiên trong Yii2 framework

Thao tác với controller trong Yii2 Framework, chạy ứng dụng đầu tiên Hello World 1. Giới thiệu mô hình MVC trong Yii2 framework Yii sử dụng mô hình MVC (Model-View-Controller: Vốn được sử dụng trong việc xây dựng các ứng dụng Client-Server nói chung) trong việc thiết kế kiến trúc cơ bản. MVC ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Xây dựng ứng dụng Web sử dụng Laravel 5 và AngularJS - phần 1

1. Giới thiệu Laravel và AngularJS là 2 trong số các framework mạnh nhất và phổ biến nhất hiện nay. Vậy sự kết hợp giữa Laravel 5 và AngularJS sẽ như nào? Phải nói đây là một sự kết hợp tuyệt vời và hoàn hảo cho Developer muốn xây dựng một hệ thống mà sử dụng Laravel làm Backend đồng thời ...

Tác giả: Trịnh Tiến Mạnh viết 16:51 ngày 12/08/2018

Tại sao Automated Testing sẽ không bao giờ thay thế được Manual Testing

Có rất nhiều người cho rằng automated testing sẽ thay thế manual Testing. Tại sao phải chịu đựng chi phí của việc manual Testing khi bạn chỉ có thể viết các bài kiểm tra tự động ? Nó nhanh hơn, rẻ hơn, và cung cấp kết quả tương tự như thử nghiệm bằng tay ... phải không? Sai rồi. Sự thật là, thử ...

Tác giả: Hoàng Hải Đăng viết 16:51 ngày 12/08/2018