
9 thủ thuật đơn giản giúp code của bạn chuyên nghiệp hơn
Tôi đã viết code được 20 năm. Trong thời gian đó, tôi đã làm việc với 17 nhóm phát triển các ngôn ngữ khác nhau để xây dựng hàng trăm dự án. Chúng bao gồm tất cả mọi thứ từ một trang blog đơn giản, tới các API hỗ trợ 3.000 request /giây, đến các ứng dụng bán chạy nhất. Từ những kinh nghiệm ...

Ngân sách cho Cloud đạt 1,3 ngàn tỷ đô la vào năm 2020
Hơn 1.3 nghìn tỷ đô la ngân sách chi tiêu dành cho CNTT sẽ bị chi phối trực tiếp hoặc gián tiếp bởi sự chuyển giao sang cloud vào năm 2022, theo Gartner. Có vẻ như đây là giai đoạn chuyển đổi quan trọng đối với các nhà cung cấp cơ sở hạ tầng truyền thống, khi ngày càng có nhiều ...

Java XML
PHP XML là gì? XML là một ngôn ngữ dựa trên văn bản đơn giản được thiết kế để lưu trữ và truyền dữ liệu ở định dạng văn bản thuần túy. Nó là viết tắt của Extensible Markup Language. Sau đây là một số tính năng nổi bật của XML. XML là một ngôn ngữ đánh dấu. XML là một ...

Java DOM Parser – đọc, tạo, sửa tài liệu XML
PHP Mô hình đối tượng tài liệu (DOM) là một đề xuất chính thức của World Wide Web Consortium (W3C). Nó định nghĩa một giao diện cho phép các chương trình truy cập và cập nhật kiểu dáng, cấu trúc và nội dung của các tài liệu XML. Các trình phân tích cú pháp XML hỗ trợ DOM thực hiện ...

Tìm hiểu về Activity Recognition Transition API trong Android
Hôm nay tình cờ trong lúc lượn lờ trên mạng mình bắt gặp chủ đề khá hay muốn chia sẻ với các bạn đó là Activity Recognition Transition API trong Android. Đã bao giờ các bạn tự hỏi khi chúng ta sử dụng các ứng dụng sức khỏe như là khi chúng ta đi bộ thì ứng dụng sẽ tự động đếm bước chân hoặc khi ...

Sublime Merge - Git client, from the makers of Sublime Text
Chắc hẳn mọi người đã quá quen thuộc với trình soạn thảo mã nguồn đa nền tảng Sublime Text. Nhưng đây chỉ đơn thuần là 1 trình soạn thảo text và bạn muốn có thêm các chức năng giống với ide thì phải cài thêm các package của bên thứ 3. Và điển hình với việc sử dụng git để quản lý code. Đa số thường ...

Test all Reactive Native views, Logic and Asynchronous Processing with jest
Because the test process was quite heavy (as I had expected) so, I am about to write an article on React Native's overall test. Though I am talking about React Native, but it is just the same as React (except the View part). We also need to have some knowledge redux and redux - saga to do ...

Android Interface Definition Language (AIDL)
Đã bao giờ các bạn ứng dụng của bạn có thể giao tiếp (gửi/nhận) dữ liệu từ ứng dụng khác hay không? Bạn có thể sử dụng Content Provider để có thể chia sẻ dữ liệu(database/file ...) giữa các ứng dụng với nhau, tuy nhiên bạn không thể sử dụng Content Provider để giao tiếp hay xử lý logic giữa các ...

Rest API Pagination with Paging Library.
Vậy paging là gì ? Chính là thư viện phân trang giúp bạn dễ dàng load more data trong ứng dụng của mình sử dụng RecyclerView. Một số ưu điểm của Paging: Giả sư chúng ta có 1000 item , nếu như load hết tất cả ra, thì sẽ mất 1 khoảng time delay khá nhiều, nhưng nế như ta chia nhỏ ra, load 10 item ...

Ứng dụng Proguard vào trong ứng dụng Android
Proguard là gì ? Proguard là công vụ để làm những chức năng sau cho ứng dụng android của bạn: Giảm bớt code Làm xáo trộn Code Tối ưu code Proguard tạo các tác động sau : Giảm dụng lượng của ứng dụng Loại bỏ những lớp và phương thức dư thừa để góp phần vào giới ...

Giới thiệu thư viên IQKeyboardManager cho IOS
Thông thường khi phát triển một ứng dụng ios có sử dụng đến các from nhập liệu, login... , bạn thường gặp phải một vấn đề khi thao tác với UITextField / UITextView thì bàn phím iPhone hiển thị lên và che hết các from UITextField / UITextView. Có nhiều cách để xử lý trường hợp này ta dùng thư viện ...

Elasticsearch trong Rails với Gem Searchkick
Giới thiệu về Elasticsearch ES được gọi là "search & analyze in real time" là vì nó có khả năng trả về kết quả tìm kiếm một cách nhanh hóng và chính xác trong một nguồn dữ liệu lớn (big data source) ES là một công cụ tìm kiếm dựa trên phần mềm Lucene. ES có thể tích hợp vào các ...

Vấn đề lưu số điện thoại trong Database
Trước đây mình đã từng đặt một câu hỏi thế này trên Viblo: https://viblo.asia/q/laravel-login-su-dung-so-dien-thoai-khong-can-ma-nuoc-jeZ1eo1YZWz. Ngày đó mình vẫn thắc mắc rằng không biết các hệ thống người ta lưu trữ số điện thoại kiểu gì để có thể vừa đăng nhập được khi nhập mã vùng hoặc không ...

Custom navigation bar view, A replacement Navigation bar system.
Trong hai bài trước mình đã hướng dẫn xây dựng một BaseTableContorller và BaseCollectionController. Trong bài này mình sẽ làm một ví dụ nhỏ sử dụng BaseTableController đồng thời hướng dẫn các bạn customize Navigationbar thay thế cho Navigationbar của hệ thống. Tại sao chúng ta phải thay thế khi ...

Two way data binding in VueTwo way data binding in Vue
Two way data binding Vue là một trong những tính năng mà Vue cung cấp, đồng bộ hóa đầu vào của người dùng và state của modal, tương tác qua lại giữa view và modal. Như vậy state sẽ được cập nhật bất cứ khi nào template thay đổi và ngược lại. Two way binding là một tính năng mạnh mẽ, nếu được sử ...

Iphone chưa Active? Có nên mua thiết bị này?
Iphone chưa active là gì? Bạn đã biết về vấn đề điện thoại (https://huca.vn/dien-thoai) này của dòng Iphone chưa? Hiện nay vẫn có một số người dùng chưa có nhiều kiến thức về thiết bị di động này và lắm bắt được đâu là sản phẩm chính hãng – giả, cũ – mới, máy dựng, hàng fake. Vì vậy, bài viết này ...

The Android Lifecycle cheat sheet - Phần 2: Multiple Activities
Trong loạt bài: Phần 1: Activities - Single activity lifecycle Phần 2: Multiple activities - Navigation và backstack (Bài này) Phần 3: Fragments - Vòng đời Activity và Fragment Lưu ý rằng, khi hiển thị vòng đời cho multiple components (acitivities, fragment, vv..) trong 1 sơ đồ, các ...

A Deep Dive into CSRF Protection in Rails
Chắc hẳn các bạn developer đã rất quen thuộc với CSRF - một tính năng khá là quan trọng và hữu ích của Rails. Cross-Site Request Forgery (CSRF) là một dạng tấn công cho phép user dùng những mã độc hại giả mạo những request hợp pháp gửi đến server, giả mạo như một user đã xác thực. Rails bảo vệ và ...

Tìm hiểu Javascript nâng cao
Chào mọi người, hôm nay mình sẽ nói về một số thứ nâng cao trong Javascript, có thể không phải nâng cao so với bạn đang đọc bài này nhưng cũng có thể nó sẽ là nâng cao với người khác <img alt="

Rxjs - Sử dụng concatMap và mergeMap
Khi làm việc với RxJS có 2 operators mình sử dụng khá thường xuyên khi cần xử lý nhiều luồng dữ liệu (stream). Bài viết này mình sẽ chia sẻ cách sử dụng 2 operators concatMap và mergeMap. ConcatMap concatMap thường được sử dụng khi chúng ta muốn xử lý dữ liệu theo thứ tự. Giả sử bạn cần làm ...