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 ...
Những lưu ý khi điều chuyển tester trong dự án
Trong lộ trình làm việc của bản thân, tôi đã từng làm việc với nhiều testers, họ được assign vào các team khác nhau. Nếu bạn tính toán bạn sẽ nhận ra rằng trong 1 dự án có thể sẽ có một hay hai hoặc 1 vài tester làm việc trong đó. Khi điều chuyển nhân sự chúng ta thường cố gắng kết hợp các kỹ năng ...
map, select, collect, inject, detect và each trong Ruby
Đối với Ruby, chúng ta sử dụng rất nhiều các methods của Array, như: map, each, select, collect, inject, detect , sau đây chúng ra hãy xem chức năng cụ thể của chúng: Map map lấy tất cả các đối tượng, sử dụng chúng chạy biểu thức trong block và trả về mảng mới là kết quả sau khi chạy hết tất cả ...
[Laravel 5.5] Eloquent: Getting Started
Giới thiệu :face_with_monocle: Eloquent ORM trong Laravel cung cấp cung cấp một cách đẹp đẽ và đơn giản các ActiveRecord cho việc làm việc với database . Mỗi database table có tương ứng một "Model", cái được sử dụng để tương tác với database. "Model" đồng ý cho việc query dữ liệu từ trong bảng ...
Query DSL trong Elasticsearch
Các bài viết về Elasticseach đã có nhiều trên Viblo, từ khái quát đến cụ thể cách hoạt động. Các bạn có thể tìm đọc cái bài viết của các tác giả dinhhoanglong91 và Ngoc Nguyen. Còn trong bài viết này, tôi xin phép trình bày một số query DSL mà tôi đã từng sử dụng. Elasticsearch cung cấp full ...