All
Jobs
Companies

Get job alert for this search

14 jobsIT Service

Related posts

View all
Service trong Android là gì? Các loại service trong android

Service trong Android là gì? Các loại service trong android

Bài viết được sự cho phép của tác giả Sơn Dương Bạn đã bao giờ nghe nói đến service trong Android chưa? Vậy hãy cùng mình tìm hiểu Service trong Android nhé! Hầu như bất kỳ ứng dụng Android nào cũng có thể cần làm một việc cần nhiều tài nguyên hệ thống. Mình ví dụ như ứng dụng nghe nhạc, chuyển đổi file hay download tệp từ internet… Lúc này bạn cần nghĩ đến việc thực hiện tác vụ đó dưới background thay vì main UI để tránh làm ứng dụng bị treo. Để thực hiện tác vụ chạy dưới background, bạn có nhiều cách để thực hiện trong Android. Bạn tạo một Thread hoặc Executor trong Activity. Tuy nhiên, nhược điểm của phương pháp này là Thread hay Executor sẽ không tồn tại khi Activity bị destroy. Một cách khác, đó là sử dụng AsyncTask  để xử lý việc này, nhưng nếu ứng dụng của bạn cần Background Thread mà không đính với bất kì Activity nào thì [...]

Read more
Test REST Web Service đơn giản hơn với REST Assured

Test REST Web Service đơn giản hơn với REST Assured

Bài viết được sự cho phép của tác giả Giang Phan  Ở bài viết trước, tôi đã giới thiệu với các bạn cách test REST API trong Jersey project. Giả sử bây giờ chúng ta cần sử dụng API của bên thứ 3 (không phải source code trong jersey project của chúng ta), khi đó ta không thể sử dụng Jersey Test. Khi đó, chúng ta cần một thư viện khác có thể giúp chúng ta gửi một request thật để verfiy kết quả trả về. Trong bài này tôi sẽ giới thiệu với các bạn một thư viện rất mạnh mẽ để test web service, đó chính là REST Assured. Nó cho phép chúng ta gửi một HTTP request thật và verify trên kết quả trả về một cách dễ dàng. Chẳng hạn chúng ta có một request http://localhost:8080/lotto/{id} và server trả về response JSON như sau: [caption id="attachment_52759" align="aligncenter" width="335"] Test REST Web Service[/caption] Khi đó chúng ta dễ dàng sử dụng REST Assured để verify mọi thứ từ response trên như sau: [caption id="attachment_52758" align="aligncenter" width="560"] Test REST Web [...]

Read more
Thiết kế service có tải ghi cao không gây tranh chấp tài nguyên

Thiết kế service có tải ghi cao không gây tranh chấp tài nguyên

1. Giới thiệu Để đảm bảo một hệ thống chạy tốt và ổn định, các việc thiết kế hệ thống như : chọn mô hình (micro, monolithic), loại database, cách truyền tải dữ liệu (message queue, http, socket,..), cách load balancing,... là việc rất quan trọng đánh dấu sự thành công của hệ thống. Song song với đó việc chúng ta thiết kế một service cũng là một mấu chốt quan trọng. Service bạn chịu trách nhiệm thiết kế có thể có các thao tác đọc ghi trên một dữ liệu tranh chấp. Khi 2 luồng của service của bạn cùng sửa một tài nguyên bị tranh chấp sẽ gây ra sự sai sót của hệ thống. Vậy khi thiết kế chúng ta cần có các kỹ thuật tránh điều này. Trong bài viết này tôi sẽ chia sẻ kinh nghiệm của mình khi thiết kế các service như vậy. Đây là phần một của bài viết sẽ nói về cách các bạn xử lý [...]

Read more
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng

Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Hầu hết vòng đời của một ứng dụng xoay quanh việc bảo trì. Một ứng dụng có thể mở rộng cho phép bảo trì dễ dàng, tức là nâng cấp một tính năng mà không ảnh hưởng đến toàn bộ ứng dụng. Trong bài viết này chúng ta sẽ tìm hiểu về Java Service Provider Interface (SPI) và cách chúng ta có thể áp dụng nó vào trường hợp sử dụng thực tế để tạo các ứng dụng dễ dàng mở rộng, tạo ứng dụng theo các kiến trúc module, plugin. Các thành phần của Java Service Provider Interface (SPI) Một Service Provider framework là một hệ thống trong đó nhiều nhà cung cấp dịch vụ (Service Provider) implement một Service và hệ thống này cung cấp các implement cho client sử dụng. SPI giúp giảm kết dính và che dấu thông tin giữa các thành phần của ứng dụng. Java SPI định nghĩa các [...]

Read more