Quản lý bộ nhớ của ứng dụng trong Android
Performance, một thứ vô cùng quan trọng đối với một ứng dụng trong Android, ảnh hưởng trực tiếp đến cảm quan người dùng, đặc biệt với các ứng dụng quy mô lớn. Hôm nay chúng ta sẽ đến với bài nhập môn về performance, đó là quản lý bộ nhớ của ứng dụng trong Android. Random-access memory (RAM) là ...
Full-text search với Sphinx Engine
Trong bài viết này mình xin giới thiệu tới mọi người Sphinx , một search engine rất nổi tiếng hỗ trợ full-text search. Mình cũng dùng được một thời gian nhưng chỉ ở mức độ chơi bời (lol) Trang chủ: sphinxsearch.com Về mặt kỹ thuật, Sphinx là một gói phần mềm độc lập cung cấp chức năng tìm ...
Single Table Inheritance trong Rails 4 (Phần 2)
Trong bài viết này, chúng ta sẽ đi tìm hiểu xem làm thế nào để tạo ra một controller chung cho các model (Animal, Lion, ...). Chúng ta cần phải tạo routes tương ứng và thêm một số helper để tạo ra đường dẫn đúng. Nếu bạn không có sẵn code từ phần 1, hãy xem lại để có thể bắt đầu ở đây. ...
ReactNative framework hỗ trợ phát triển ứng dụng đa nền tảng
React Native là gì React Native là một frameworkework cho phép bạn xây dựng một ứng dụng trên native platforms sử dụng kinh nghiệm của lập trình viên bằng javascript và React . Trọng tâm của React Native là hiệu quả của nhà phát triển trên tất cả các nền tảng mà bạn quan tâm - Học một lần, viết ...
Kiểm thử phần mềm các cấp độ ( Phần I)
Có rất nhiều mức độ khác nhau trong quá trình kiểm thử. Theo như bài viết dưới đây sẽ tóm lược ngắn gọn về các cấp độ trong quá trình kiểm thử. Các mức độ sẽ gồm nhiều phương pháp khác nhau có thể được sử dụng trong quá trình tiến hành kiểm thử. Hai mức độ kiểm thử chính sẽ là : kiểm thử chức ...
Tìm hiểu và refactor với reduce
Để xử lý hàng loạt phần tử trong mảng với JavaScript, ta thưởng sử dụng các hàm như map, hay filter, có một hàm nữa rất hay nhưng cá nhân mình để ý thấy ít người dùng là reduce. Vấn đề được đặt ra khi mình tìm cách refactor đoạn code sau, nhằm mục đích tính tổng các phần tử của mảng array = [1, 2, ...
Microservices
Bài viết sau dịch từ một bài báo của Martin Fowler Microservices Kiến trúc dịch vụ siêu nhỏ-"Microservice Architecture" phát triển nhanh chóng trong nhiều năm gần đây nhằm mô tả cách thiết kế phần mềm ứng dụng mà các dịch vụ có thể triển khai một cách độc lập. Mặc dù không có định nghĩa rõ ...
TÌM HIỂU CHUNG VỀ NGUỒN VỐN CHỦ SỞ HỮU -EQUITY
Trong một bảng cân đối kế toán thông thường sẽ bao gồm các phần chính: Tài sản - Assets Nợ - Liabilities Vốn chủ sở hữu - Equity Và hôm nay, mình sẽ nêu vài điểm chính nhất giúp mọi người hiểu thêm về một loại tài khoản quan trọng - Vốn chủ sở hữu (Equity) 1. Tổng quát ...
Tìm hiểu AOP với AspectJ
1. AspectJ là gì? AspectJ là sự mở rộng theo mô hình AOP của ngôn ngữ Java, với sự mở rộng này mã chương trình viết bằng Java sẽ tương thích với chương trình viết bằng AspectJ. AspectJ bao gồm hai phần: đặc tả ngôn ngữ và phần thực thi. Phần đặc tả ngôn ngữ sẽ chỉ ra cách viết code, ...
Identifier Resolution and Closures in the JavaScript Scope Chain
Như ta đã biết, mỗi function đều có execution context chứa variable object [VO], [VO] này bao gồm tất các các biến, hàm và tham số được định nghĩa bên trong function đang xét. Thuộc tính scope chain của execution context là một danh sách gồm [VO] hiện tại và tất các những [VO] cha của nó. scope ...
Phân tích ngôn ngữ tiếng Nhật với phần mềm Mecab và gem Natto
Bạn yêu thích tiếng Nhật và muốn học tiếng Nhật? Có bao giờ bạn đọc một câu văn tiếng Nhật và không biết nó có thể phân tích như thế nào, không biết các từ trong câu là gì? Hay cụ thể hơn, bạn có bao giờ phải lập trình một ứng dụng đòi hỏi phân tích câu tiếng Nhật? Đã có bộ đôi gem Natto + Mecab. ...
So sánh sự khác nhau giữa ObjectiveC và Swift (Phần 1)
Nội dung Giới thiệu Variables and Constants Optionals String Interpolation Functions Enumerations Tuples Tổng kết Giới thiệu Vào năm 2008, Apple đã công bố và phát hành bộ SDK phát triển với tên gọi iPhone SDK 2.0. Sự kiện này đã bắt đầu một cuộc cách mạng trang phát triển ...
5S METHODOLOGY - THE SECRET TO JAPANESE SUCCESS
Today, the concept of quality and quality management are not strange to Vietnam enterprises. With the purpose of improving competitiveness in the market, every business must choose its own direction in business as well as in business management practices. However, no matter which way of business ...
Rails and Nginx
What we are going to do in this post is to look for way to run our rails app in a production-like environment. Nginx is just the right server to do this job. We assume that we are going to use Ubuntu 14 or higher as an OS as Nginx is also an open source server. What is Nginx? NGINX is a free, ...
Sử dụng file PDF trên Google Drive dễ dàng hơn
Google Drive cung cấp khá nhiều công cụ hữu ích giúp chúng ta chỉnh sửa các tập tin văn bản, bảng tính hoặc slide thuyết trình. Nhưng đó không phải là tất cả những gì dịch vụ đám mây này có thể cung cấp bởi vì Google Drive còn hỗ trợ rất tốt việc tương tác với tập tin PDF nữa nhờ vào các tính ...
You Don''t Know JS: Keyword "this" in Javascript
"this"? What’s that? Trả lời: Trước khi đọc kĩ hơn đến từ khóa "this" trong Javascript thì lúc đầu em đã hình dung trong đầu rằng: "this" trong JavaScript chắc cũng như "this" trong Java, C++, PHP hay nó cũng chính là "self" trong Ruby " Hay nói một cách rõ hơn thì : "Nó chẳng qua ...
Tạo tài liệu PDF từ ứng dụng Java bằng thư viện iText
Nếu ứng dụng của bạn cần tạo tài liệu PDF, bạn cần có thư viện iText. Thư viện mã nguồn mở iText giúp cho việc tạo PDF trở nên dễ dàng. Bài này sẽ giới thiệu về iText và đưa ra hướng dẫn từng bước cơ bản cahs sử dụng nó để tạo ra các tài liệu PDF từ ứng dụng Java. Nhiều ứng dụng yêu cầu tạo động ...
Tại sao Alpha Go chiến thắng cờ vây là một bước ngoặt lịch sử loài người?
_Hẳn mọi người còn nhớ sự kiện công nghệ năm 1997, khi hệ thống Deep Blue của IBM đã đánh bại kiện tướng cờ vua Garry Kasparov. Tại thời điểm đó, chiến thắng này được các chuyên gia cũng như công chúng đánh giá như là một bước ngoặt của trí tuệ nhân tạo. Nhưng một điều đáng thất vọng là mãi cho ...
IOS testing using ranorex tool
Như các bạn đã biết khái niệm và các ưu nhược điểm của ranorex trong bài android testing sử dụng ranorex kỳ trước phần này tôi xin giới thiệu tiếp với các bạn IOS testing sử dụng ranorex 1. IOS Testing Làm thế nào để test tự động trên IOS cho Iphone/Ipad trên các ngôn ngữ khác nhau. Các ...
View Debugging in Xcode
Khi bạn lập trình một ứng dụng, nhiều khi có bug trên đối tượng view của bạn hay những bug về layout constraints (những thứ mà không dễ để bạn có thể tìm thấy chỉ bằng cách đọc code của bạn) Vậy khi bạn trong tình huống như vậy bạn sẽ làm thế nào? Trong bài hôm nay mình sẽ giới thiệu cho các bạn ...