Giới thiệu Gradle Build Tool

Giới thiệu Gradle Build Tool

Gradle là gì? Trong quá trình phát triển phần mềm, việc tự động hóa quá trình build và quản lý các thư viện rất quan trọng, nhằm tối ưu hóa công đoạn biên dịch, đóng gói; thuận tiện hơn cho việc phát triển phần mềm. Và Gradle (release version 1.0 năm 2012) là 1 trong những công cụ được nhiều người lựa chọn. Năm 2000, Apache Ant ra đời như là một trong những tool đóng gói hiện đại và nhanh chóng được sử dụng trong các dự án sử dụng ngôn ngữ Java. Ant cho phép nhà phát ... »

Agile retrospective là gì?

Agile retrospective là gì?

Là một hoạt động diễn ra định kỳ, thường là vào cuối một chu kỳ phát triển của Agile (Iterator or Sprint). Các thành viên trong team sẽ cùng xem xét lại cách mà họ đang làm việc từ đó đưa ra được các action (hành động) để quá trình làm việc được tốt hơn trong những chu kỳ phát triển tiếp theo. Toàn bộ thành viên trong Agile team được kỳ vọng là nên tham gia (team phát triển thì chắc chắn phải tham gia đủ rồi). Điều thứ 12 trong 12 nguyên tắc của nguyên lý Agile định ... »

Các thư viện và công cụ hữu ích khi làm ứng dụng Android

Các thư viện và công cụ hữu ích khi làm ứng dụng Android

Trong những năm vừa qua, các ứng dụng Android ra đời ngày càng nhiều, kéo theo đó là các thư viện hỗ trợ cho việc phát triển android ngày càng mạnh mẽ, và đầy đủ cho lập trình viên. Việc nắm bắt và sử dụng các thư viện giúp cho việc phát triển ứng dụng android trở nên nhanh chóng hơn, an toàn hơn và tiết kiệm chi phí cũng như công sức của lập trình viên. Dưới đây là một trong những nguồn công cụ và thư viện giúp bạn phát triển android một cách tốt hơn I. Công ... »

Lập trình bất đồng bộ trong Scala với Future

Lập trình bất đồng bộ trong Scala với Future

Scala có thể sử dụng được tất cả các thư viện của Java nên ta hoàn toàn có thể sử dụng các tính năng về lập trình song song của Java (Thread, Runnable…) để phục vụ cho việc xử lý bất đồng bộ khi code Scala. Tuy nhiên, bản thân Scala cũng có những tính năng phục vụ riêng cho việc lập trình bất đối xứng với API ở mức abstract hơn, đồng thời dễ dàng tích hợp với các API mà Scala cung cấp. Một tính năng có sẵn trong standard library của Scala là Future, ngoài ra còn ... »

Xử lý bất đồng độ trong JavaScript với Promise và Generator

Xử lý bất đồng độ trong JavaScript với Promise và Generator

1. Callback Ai đã từng sử dụng Javascript chắc đều biết xử lý bất đồng bộ là một đặc trưng của Javascript. Ví dụ, bạn viết hàm request(URL) để gửi yêu cầu đến một đường dẫn rồi ghi log kết quả trả về ra console: function request(URL) { var xhttp = new XMLHttpRequest(); //Bất đồng bộ xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { console.log(xhttp.responseText); } }; xhttp.open("GET" ... »

Swift 2.0 và những điểm đặc trưng

Swift 2.0 và những điểm đặc trưng

Xuất phát từ sở thích muốn làm một sản phẩm đã ấp ủ khá lâu bằng IOS, sau môt thời gian tìm hiểu đắn đo tôi đã quyết định chọn swift 2.0 làm ngôn ngữ chính cho việc phát triển sản phẩm của tôi. Sau khi khi tìm hiểu phiên bản swift 2.0 tôi có tóm tắt những điểm khác biệt của swift2.0 so với những phiên bản trước như sau: Bắt lỗi(Error Handling) Đôi khi một số thứ có thể bị lỗi. Khi một function bị lỗi, cách tốt nhất là bắt được lỗi đó ... »

Producer-Consumer

Producer-Consumer

1. Giới thiệu Là một design pattern được thiết kế dựa trên pattern Master/Slave. Trong đó: Producer(nhà sản xuất): tạo ra các items, các data. Các items, data sẽ được cho vào một buffer hay 1 queue. Consumer (nhà tiêu thụ): Cùng thời điểm trên nhà tiêu thụ lấy các items, xử lý các data từ trong buffer hoặc queue. Producer giống như là Master, Consumer thì đóng vai trò như slave. Số lượng Consumer thường là số nhiều. Ví dụ về Producer – Consumer và một số proplem trong mô hình: hình ảnh sau (Sưu tầm ảnh trên ... »

Giới thiệu Apache Knox

Giới thiệu Apache Knox

1. Apache Knox Apache Knox Gateway là REST API Getway để tương tác với Apache Hadoop. Nó cung cấp 1 điểm truy cập duy nhất cho tất cả các REST tương tác với các Apache Hadoop cluster. Knox tích hợp với các hệ thống: Identity Management, SSO. 1.1 Luồng bảo mật Knox có thể sử dụng cho cả với Hadoop clusters không thiết lập bảo mật và có thiết lập bảo mật. Hình trên là luồng bảo mật khi ứng dụng Knox vào các cluster thiết lập bảo mật với Kerberos: Knox tích hợp tốt với các giải pháp ... »