
Tạo những khoảnh khắc kỳ diệu cùng với Picture in Picture
1. Giới thiệu Picture in Picture (PIP) là một tính năng kỳ diệu mang lại cho người sử dụng một trải nghiệm thú vị. PIP là một trường hợp đặc biệt của giao diện đa cửa sổ(multi-window UI). Việc xem video và sử dụng camera có thể được tăng cường hiệu quả bằng cách sử dụng PIP. Ví dụ: trong khi xem ...

Developer Tools for UI Debugging
Giao diện người dùng của một ứng dụng hiện đại là một cấu trúc phức tạp. Mối quan hệ phức tạp giữa các UI elements, layout, và drawing làm cho quá trình debug trở nên khắc nghiệt. Biết các công cụ có sẵn có thể làm giảm thời gian debug và làm cho quá trình phát hiện các vấn đề một cách đơn giản ...

Xây dựng 1 Chat Box với angularjs và firebase
Giới thiệu: Angularjs là gì: AngularJS là một framework có cấu trúc cho các ứng dụng web động. Nó cho phép bạn sử dụng HTML như là ngôn ngữ mẫu và cho phép bạn mở rộng cú pháp của HTML để diễn đạt các thành phần ứng dụng của bạn một cách rõ ràng và súc tích. Hai tính năng cốt lõi: Data ...

Chức năng quên mật khẩu
Hôm nay mình định viết về autoload trong PHP, nhưng ngẫm nghĩ thế nào lại muốn viết tiếp cái seri "Lập trình giúp chúng ta thoải mái hơn". Nhưng, lại nhưng, thế nào lại quên mất mật khẩu vào Viblo, ngồi gõ 1 lúc xong vẫn không được, đành dùng chức năng "Quên mật khẩu". Yeah, mọi chuyện lại suôn sẻ ...

Lấy dữ liệu từ nhiều nguồn tài nguyên với Concat() trong RxJava
Bài toán đặt ra là dữ liệu được hiển thị tới người dùng được tổng hợp từ 2 nguồn cơ bản là database local và dữ liệu từ server trả về. Cách thông thường bạn có thể gọi tuần tự 2 hàm lấy dữ liệu từ 2 nơi rồi gộp dữ liệu của 2 hàm đấy lại -> hiển thị cho người dùng. Nhưng có 1 vấn đề đặt ra là nếu ...

Tìm hiểu ReactJS và tạo ứng dụng cơ bản
ReactJS là một thư viện JavaScript dùng trong việc xây dựng giao diện người dùng và được phát triển bởi đội ngũ Facebook. Tới nay, ReactJS đã thu hút hàng triệu lập trình viên trên thế giới. ReactJS thường được dùng bởi Frontend Developer trong thiết kế Web Application một cách nhanh chóng hơn. ...

Leak Canary for Android
In our pursuit of building robust and better apps, we as developers need to take into consideration many things in order to be professional ands stay on track, one of which is to make sure that our apps does not crash. A common cause of crashes are memory leaks. This particular problem can manifest ...

sql và no sql - sự khác biệt
Về công nghệ db trên thế giới có 2 loại SQL và NoSQL hoặc có thể nói là relational databases và non-relational databases. The difference speaks to how they’re built, the type of information they store, and how they store it. Relational databases là dạng cấu trúc, như phone books mà lưu số ...

Android Studio 3.0 ra mắt bản chính thức.
Sau rất nhiều ngày chờ đợi từ lần đầu tiên được công bố tại Google IO 2017, Android studio 3.0 đã được ra mắt bản chính thức và đã có thể tải xuống trên trang chủ của android dev ( https://developer.android.com/studio/index.html ). Trong bài viết này mình muốn gửi đến các bạn một số thông tin cập ...

Ứng dụng "tìm quanh đây" với MongoDB - Geospatial Queries, Google Map API
Mongodb có hỗ trợ các phép truy vấn trên dữ liệu không gian địa lý. Chúng ta sẽ áp dụng tính năng này để xây dựng một ứng dụng lưu trữ và chia sẻ địa điểm. Ứng dụng sẽ các chức năng: Người dùng đánh dấu các điểm trên bản đồ. Hiển thị các điểm đã được dánh dấu trong phạm vi "quanh đây" Những ...

Laravel: Tìm hiểu về queues. (Phần 2)
Running The Queue Worker Laravel bao gồm một queue worker sẽ xử lý các new job khi nó được đẩy lên queue. Bạn có thể chạy các worker bằng cách sử dụng Artisan command ```queue:work```. Lưu ý rằng khi câu lệnh ```queue:work``` được chạy, nó sẽ tiếp tục chạy cho đến khi nó được dừng bằng tay hoặc ...

Sử dụng state_machine và các event.
Thông thường thì các đoạn code chúng ta viết ra để thưc hiện giải quyết vấn đề nào đó chẳng hạn như Raise lên một Exception thì không tránh khỏi việc phải sử dụng đến những câu điều kiện và làm cho đoạn code của chúng ta trở nên khá rối và khó đọc. Tôi tự hỏi có cách nào để loại bỏ những điều kiện ...

Toán tử new trong Javascript
Bốn quy tắc Cách đơn giản nhất để hiểu toán tử new là hiểu xem nó làm những gì. Khi bạn sử dụng new, 4 thứ sau xảy ra: Nó tạo ra một empty object mới Nó bind this vào object mới đc tạo Nó thêm một property tên là proto vào object mới đc tạo đó, property này trỏ đến constructor của ...

Tìm hiểu về Today extension trên iOS
Nội dung Giới thiệu Giới thiệu về Bitcoin Giới thiệu về Crypticker BTC Widget Add a Today Extension target Build the Interface Kết Luận Giới thiệu iOS 8 đã giới thiệu Tiện ích mở rộng ứng dụng: một cách để bạn chia sẻ chức năng của ứng dụng với các ứng dụng khác hoặc bản thân hệ ...

iOS 11: Safe Area Layout Guide và Large Titles
Như chúng ta đã biết, Apple lần đầu giới thiệu đến lập trình viên topLayoutGuide và bottomLayoutGuide - hai thuộc tính của UIViewController lần đầu trên iOS 7. Chúng cho phép lập trình viên tạo ra các contraints giữ cho nội dung của app không bị che mất bởi một số đối tượng mặc định của UIKit ...

Plugin cho Xcode
1. CocoaPod Features: Downloads and integrates CocoaPods listed in a project's Podfile Creates podspecs from a template Shows command output in the window console Installs documentation (from CocoaDocs) for the CocoaPods used in the open Xcode workspace Supports using a custom path to ...

Làm việc với Distributed Cache trong ASP.NET Core
Trong bài viết trước tôi đã giới thiệu tới các bạn về In-memory cache trong ASP.NET Core. Các bạn có thể xem lại ở đây: https://viblo.asia/p/in-memory-caching-trong-aspnet-core-aWj53XmoK6m Để có thể cải thiện hơn về hiệu suất và khả năng mở rộng của ứng dụng ASP.NET Core chúng ta có thể cần đến ...

Tìm hiểu về module system, CommonJS và require
Trước khi chuẩn ES2015 ra đời, Javascript không hỗ trợ cho các lập trình viên bất kỳ một phương thức tự nhiên nào để tổ chức hệ thống code. Node.js được tạo nên từ Javascript, tuy nhiên những người viết ra Node.js đã đưa thêm vào CommonJs để giải quyết vấn đề về "cấu trúc" hệ thống code viết bởi ...

ADDING FUNCTIONALITY TO RUBY CLASSES WITH DECORATORS
Khi sử dụng một api của bên thứ 3 đôi khi chúng ta cần bổ sung thêm chức năng cho nó. Do vì nó là đối tượng đã được đóng gói nên không thể thêm chức năng bằng cách can thiệp vào bên trong nó. Chúng ta có thể không cần làm vậy mà đơn giản chỉ cần viết một đối tượng khác thực hiện các chức năng mở ...

Những điểm khác biệt chính giữa ReactJS và React-Native là gì?
React native đã ra đời khoảng 3 năm, và trở thành một framework thực sự thú vị vì nó có thể được sử dụng cho Android và còn có thể xây dựng các ứng dụng di động đa nền tảng. Một số người đóng góp cũng framework tùy chỉnh để xây dựng ứng dụng dành cho máy tính để bàn cho Mac và Windows, khá hay ...