![](/pictures/picsmalls/2018/09/07/560/jis1536308585.png)
Tạo trình đọc sách điện tử với EPUB (Phần 1- Cấu trúc Epub)
Trong bài này tôi sẽ giới thiệu cách để tạo riêng cho mình 1 trình đọc sách điện tử trên Android. Và trong bài này tôi sẽ hướng chủ yếu tới sách điện tử định dạng Epub Bài này tôi sẽ chia thành 2 phần: + Phần 1: Giúp bạn hiểu được cấu trúc file Epub + Phần 2: Đi sâu vào đọc và trình bày nội ...
![](/themes/images/default.png)
Chủ để AsyncTask Cơ bản
AsyncTask là một lớp trừu tượng được cung cấp bởi Android, giúp chúng ta sử dụng các thread UI đúng. Lớp này cho phép chúng tôi thực hiện các hoạt động dài / nền và hiển thị kết quả của nó trên thread UI mà không cần phải thao tác đề. Android thực hiện mô hình chủ đề duy nhất và bất cứ khi nào ...
![](/pictures/picsmalls/2018/09/07/560/euy1536308392.png)
Elasticsearch: integrate elasticsearch with laravel (5.2)
Chào mọi người hôm nay mình sẽ cùng đi vào tìm hiểu chút về một công nghệ tìm kiếm thời gian thực đó là Elasticsearch. Các bạn cũng như mình có thể cũng đã nghe nhiều về từ khóa "Elasticsearch", trước đó mình cũng có nghe qua nó từ bạn bè và có thể một số bài chia sẻ blog nào đó, cũng biết ...
![](/pictures/picsmalls/2018/09/07/560/der1536308685.gif)
ReactJS - Form validation với một hoặc nhiều inputs
Bài toán: Validate form Bắt chước tính năng validate form như hình dưới (bắt chước theo thegioididong.com): Yêu cầu : Chỉ cần kiểm tra xem số điện thoại nhập vào có bao gồm 10 đến 11 chữ số hay không. Việc kiểm tra chỉ được thực hiện khi chuyển ra ngoài vùng nhập điện thoại (ví dụ khi ...
![](/pictures/picsmalls/2018/09/07/560/icx1536308612.png)
Một số vấn đề lưu tâm khi bắt đầu học và làm ReactJs (Phần 1)
Mình phân vân có nên làm bài về tạo một ứng dụng web cơ bản bằng ReactJs không nhưng khi tìm thử thì đã thấy có khá nhiều rồi, còn toàn là bài chất lượng nữa. Nên đành thôi, nhặt lại những thứ mình note lại trong thời gian làm React vừa rồi để chia sẻ với mọi người. Nếu bạn bắt đầu học, hãy thử ...
![](/themes/images/default.png)
Swift Generics
Bài dịch từ https://www.raywenderlich.com/154371/swift-generics-tutorial-getting-started Mở đầu Hãy nhìn vào 2 đoạn code dưới đây func add (x: Int, y: Int) -> Int { return x + y } func add (x: Double, y: Double) -> Double { return x + y } Rõ ràng 2 ...
![](/pictures/picsmalls/2018/09/07/560/lhs1536308542.jpg)
Hướng dẫn lập trình ReactJS - ReactJS Tutorial
Hướng dẫn lập trình ReactJS Bài viết được lấy từ blog 5minuteshack.blogspot.com nơi đơn giản hóa các kiến thức lập trình để mọi người không phải mất nhiều thời gian tìm hiểu nhiều nơi, thực hành sửa lỗi rắc rối, mọi người rảnh thì ghé qua xem nha. Và hôm nay chúng ta sẽ tìm hiểu một thư viện ...
![](/pictures/picsmalls/2018/09/07/560/xvh1536308193.jpg)
[iOS] Authentication with TouchID
Mở đầu Như các bạn đã biết, từ rất lâu rồi, các nhà khoa học đã chứng minh được rằng tiền có thể mua được hạnh phúc. Tuy vậy, có không ít người vẫn hoài nghi vào nghiên cứu đó Question : Nói vậy thì nếu tôi mua iphone 5S trở lên thì có hạnh phúc hơn người chỉ mua iPhone 5 trở xuống à? Answer ...
![](/themes/images/default.png)
Ứng dụng realtime sử dụng ReactJs với Php
Hôm nay mình sẽ đi cùng các bạn đến với việc sử dụng ReactJs và với phía backend là Php. Thực ra trong bài này chủ yếu chúng ta tìm hiểu cách thức hoạt động của ReactJs là chủ yếu, bình thường mọi người sẽ thường nghĩa đến ReactJs làm với NodeJs và SocketIo, nay mình muốn thử ReactJs làm với server ...
![](/pictures/picsmalls/2018/09/07/560/jon1536308546.jpg)
How to build 'did you mean' functionality with Laravel Scout
Bài này được dịch từ bài gốc http://tnt.studio/blog/did-you-mean-functionality-with-laravel-scout?utm_source=learninglaravel.net Đầu tiên bạn hãy xem Demo Bây giờ chúng ta hãy cùng nghiên cứu cách xây dựng chức năng 'did you mean' này Giới thiệu Với chức năng này chúng ta sẽ sử ...
![](/themes/images/default.png)
Pass web's data to Computer's clipboard via Javascript
. Giới thiệu Như mọi người đã biết, ngày nay để đảm bảo an toàn, hầu hết các trình duyệt không cho phép browser truy cập trực tiếp vào computer's clipboard. Chúng ta có thể sử dụng chuột để copy 1 đoạn văn bản nào đó một cách dễ dàng, tuy nhiên để copy 1 đoạn văn bản dài hoặc copy cùng lúc ...
![](/pictures/picsmalls/2018/09/07/560/vob1536308180.jpg)
Scope, Closure, This và tổ chức bộ nhớ trong Javascript
Đối với những bạn lập trình Web nói chung và lập trình Javascript nói riêng thì những kiến thức về Scope, Closure là cần phải nắm rõ. Với mình thì Javascrip là một ngôn ngữ lập trình khó, nếu không nắm rõ cách tổ chức bộ nhớ thì sẽ gặp phải những Bug rất nan giải. Nhiều người ban đầu ...
![](/pictures/picsmalls/2018/09/07/560/bvw1536308201.png)
What's new in Rails 5?
Ngay từ khi bắt đầu Rails đã được coi là framework dễ nhất và tốt nhất để phát triển web cho Ruby. Cho dù đến nay đã có nhiều lựa chọn khác cho Ruby trên web như Lotus nhưng Rails vẫn là lựa chọn đầu cho lập trình viên Ruby. Tại RailsConf tháng 4/2015, David Heinemeier Hansson (người sáng ...
![](/pictures/picsmalls/2018/09/07/560/lbs1536308386.png)
Memory Leak in JavaScript
Trong Javascript, chúng ta hiếm khi nghĩ tới memory management mà chỉ quan tâm tới việc khai báo các hàm, các biến, sử dụng chúng và để trình duyệt lo các phần low-level khác. Với một số ngôn ngữ khác như C/C++ hay Java, quản lý bộ nhớ cũng như phòng tránh memory leak là một công việc quan trọng ...
![](/pictures/picsmalls/2018/09/07/560/uag1536308379.png)
Xây dựng ứng dụng đăng ký, đăng nhập với React, Redux và Redux sagas
Tổng quan Bài viết này mình sẽ xây dựng một ứng dụng đăng ký, đăng nhập sử dụng React để làm phía frontend và sử dụng Api viết với Loopback mình đã làm ở bài trước https://viblo.asia/p/xay-dung-api-cho-ung-dung-xac-thuc-nguoi-dung-nhanh-chong-voi-strongloops-loopback-m68Z0wY6KkG Về luồng xử lý ...
![](/themes/images/default.png)
Sử dụng service object giúp DRY code trong controller trong Rails
I. Giới thiệu Trong các project của Rails, nhiều khi ta phải xử lý rất nhiều logic trong các hàm trong controller, việc này gây khó khăn trong việc hiểu code đồng thời khiến code của ta trông phức tạp hơn, dễ xảy ra sai sót, sử dụng service objects sẽ giúp chúng ta làm sạch controller đồng thời ...
![](/pictures/picsmalls/2018/09/07/560/vmj1536308159.png)
Cơ bản về Async Await trong Javascript
Khi bắt đầu lập trình với Nodejs , vì Javascript (JS) là bất đồng bộ (asynchoronous) nên mình gặp khó khăn trong việc tổ chức code giống như trong lập trình đồng bộ (synchoronous). Việc cho các đoạn code vào trong các callback khiến mình cảm thấy code trở lên khó đọc theo luồng như ...
![](/pictures/picsmalls/2018/09/07/560/ytp1536308117.png)
[Swift] Dùng tạm Vapor khi đợi API
Mở đầu Lâu lắm rồi toàn viết bài về iOS, hôm nay chúng ta sẽ đổi gió sang 1 thứ gì đó mới mẻ 1 nửa. 1 nửa là vì ngoài Swift ra tôi đủ hiểu biết về ngôn ngữ nào khác để tự tin viết 1 bài chia sẻ. Vậy thì chúng ta cùng thử viết Web với Swift nhé. Vapor Vapor là gì Hiểu 1 cách đơn giản thì ...
![](/pictures/picsmalls/2018/09/07/560/hnt1536307997.jpg)
[iOS][Swift] Contacts cho iOS8 và iOS9
Mở đầu Nhân dịp dự án có 1 phần làm về Contacts, lại bí ý tưởng viết bài Viblo nên tôi mạo muội xin đăng lại vấn đề cũ rích là Contact của iOS 8 và iOS 9 khác gì nhau. Lý thuyết thì ngắn thôi (đây cũng có này) nên tôi sẽ làm 1 demo nhỏ để cho nó thêm phần dài dòng. Let's start Demo Bắt đầu từ ...
![](/pictures/picsmalls/2018/09/07/560/gjh1536307984.png)
[iOS][Swift] WebKit And WebView
Mở đầu Chắc mỗi chúng ta đây, khi đã code iOS rồi thì chắc hẳn đều hơn 1 lần phải tạo các webview trong ứng dụng của mình để quản lý tốt hơn thay vì nhảy sang Safari để mở trang web đó. Với vài dòng code sau, việc đó thật dễ dàng let url = URL (string: "https://www.google.com" )! ...