Bắt Đầu với Javascript (P6)

Functions là một trong những khối xây dựng cơ bản trong JavaScript. Một function là một thủ tục JavaScript-một tập hợp các câu lệnh thực hiện một tác vụ hoặc tính toán một giá trị. Để sử dụng một function, bạn phải định nghĩa nó ở đâu đó trong phạm vi mà bạn muốn gọi nó. Trong phần này sẽ tìm hiểu ...

Tác giả: Bùi Văn Nam viết 16:19 ngày 12/08/2018

Xử lý multi items choice trong Recycler view

Trong khi làm project, sẽ có lúc bạn cần phải xử lý việc lựa chọn nhiều item (multi items choice) từ một list các item. Khi mà số lượng item tăng lên thì một lựa chọn tốt hơn là sử dụng recycler view để chứa các item vì recycler view có cơ chế tái sử dụng (recycle) view nên cho hiệu năng tốt hơn. ...

Tác giả: Bùi Văn Nam viết 16:19 ngày 12/08/2018

Làm việc với MSSQL trong Ruby với gem Tiny_tds

Trong bài viết này mình xin giới thiệu đến các bạn gem Tiny_tds để làm việc với MSSQL server trong dự án Ruby. Cài đặt. Trước tiên, phải cài đặt FreeTDS , với MacOS thì chỉ cần chạy lệnh đơn giản thế này: brew install freetds Sau khi cài đặt xong thì có thể kiểm tra bằng lệnh tsql -C ...

Tác giả: Tạ Quốc Bảo viết 16:19 ngày 12/08/2018

Android Architecture Components: Paging Library

Nhiều ứng dụng của chúng ta cần load rất nhiều data information từ Database. Queries đến Database có thể mất nhiều thời gian và sử dụng rất nhiều bộ nhớ. Do đó Google đã release thư viện mới là Paging Library có thể giúp bạn sử lý vấn đề này. Main component of Paging Library là PagedListAdapter ...

Tác giả: Bùi Văn Nam viết 16:19 ngày 12/08/2018

Load ảnh SVG từ sever với Androidsvg kết hợp với Glide

Xin chào mọi người, hôm trước mình gặp 1 bài toán là load 1 file ảnh từ sever về và hiển thị lên Imageview. Nhưng ảnh đó lại là ảnh svg. Ngồi hì hục mãi, cứ ngỡ là chỉ cần Glide là có thể load được lên như ảnh thường, lỗi này cũng do mình hơi chủ quan không xem lại document của glide. Sau 1 hồi ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Design Pattern - Decorator

Tiếp tục chủ đề về design pattern, pattern của ngày hôm nay là Decorator, một pattern thuộc nhánh Structural Pattern. Định nghĩa Decorator là gì? Mình xin phép bê nguyên định nghĩa từ wikipedia cho tiện. In object-oriented programming, the decorator pattern is a design pattern that allows ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Giới thiệu về hệ thống gợi ý (Recommender systems hoặc Recommendation systems)

I. Tổng quan về hệ thống gợi ý Hệ thống gợi ý (Recommender systems hoặc Recommendation systems) là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp. Hệ gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất ...

Tác giả: Tạ Quốc Bảo viết 16:19 ngày 12/08/2018

How to parse HTML file in iOS

Chắc các bạn không còn xa lạ với khái niệm crawler dữ liệu, trên mạng có những trang web chuyên đi lấy dữ liệu của các trang web khác về làm dữ liệu cho trang web của mình, những trang này không tự tạo content mà chuyên đi chôm content từ các trang khác về thành content của trang mình. Cách làm của ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Cài đặt Rails app trên AWS với Elastic Beanstalk và PostgreSQL

Trong bài viết này, sẽ đề cập đến công cụ Elastic Beanstalk của Amazon trong việc cài đặt một app Rails sử dụng database PostgreSQL Amazon đã mô tả Elastic Beanstalk như sau: AWS Elastic Beanstalk makes it even easier for developers to quickly deploy and manage applications in the AWS cloud. ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Action trong Rxswift

Creating an Action Action là một class chung chung được định nghĩa là class Action<Input, Element>. Input là loại dữ liệu đầu vào được cung cấp cho chức năng. Element là loại phần tử được phát ra bởi các hàm trả về. Ví dụ đơn giản nhất của một Action không có input, thực hiện một số công ...

Tác giả: Trịnh Tiến Mạnh viết 16:19 ngày 12/08/2018

Assembly and how compilers work with it

Bài viết này chúng ta cùng tìm hiểu assembly là gì và trình biên dịch tạo ra nó như thế nào. Từ đó làm tiền đề để hiểu cách thức WebAssembly hoạt động. Trong bài viết về JIT, chúng ta đã nói về cách giao tiếp với máy giống như giao tiếp với người ngoài hành tinh. Chúng ta hãy nhìn vào cách não ...

Tác giả: Bùi Văn Nam viết 16:19 ngày 12/08/2018

Tải Video với Rails và Ziggeo (phần 3)

Chuẩn bị và tạo Video Callbacks được cấu hình cho mỗi ứng dụng, vì thế khi mở trang tổng quan, bạn chọn một ứng dụng và click vào Manage > Web Hooks . Ở đây nhập một URL và chọn "JSON encoding" từ dropdown. Bây giờ các sự kiện sẽ được chuyển tiếp tới /api/videocallbacks dưới dạng POST ...

Tác giả: Trịnh Tiến Mạnh viết 16:19 ngày 12/08/2018

Hibernate Caching - Bài 2: Second Level Cache

Chào các bạn! Chúng ta lại quay trở lại trong series hướng dẫn về Hibernate Caching. Trước khi đọc những gì mình viết dưới đây, hãy dành chút thời gian để nhớ lại những gì mình đã đề cập đến trong bài Hibernate Caching - Bài 1: Second Level Cache nhé. Link source code sample tại đây: ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Docker là gì và làm gì?

Chắc các bạn đã nghe rất nhiều cụm từr này gần đây, vậy thực ra docker là gì? Một định nghĩa mà mình tìm hiểu thấy dễ hiểu là: Docker là một open platform cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác ...

Tác giả: Tạ Quốc Bảo viết 16:19 ngày 12/08/2018

Những điều bất ngờ cần phải chú ý khi bạn viết code javascript

1. So sánh 2 gía trị bằng nhau Trong javascript có thể so sánh giá trị bằng dầu (==) hoặc (===). Nhưng nó có một chút sợ biệt về việc sử dụng dùng 2 dầu bằng (==) "42" == 42 # true " 42 " == 42 # true Một bên là string còn một bên khác lá số, kết quả so sánh sẽ trả về true nếu giá ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Upload file cùng với json sử dụng retrofit2

Retrofit là một thư viện giúp việc tương tác với server phổ biến nhất hiện nay. Việc upload file và gửi cùng với các thông tin khác lên server là một bài toán phổ biến khi làm việc với úng dụng client server. Trong hầu hết các tutorial của retrofit thì hầu hết mình nhận thấy các bài đều đề cập về ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Làm chức năng search sử dụng RxJava operator.

Ngày nay thì gần như bất cứ ứng dụng nào cũng có hỗ trợ chức năng tìm kiếm, giúp cho bạn tìm thấy thứ mình cần 1 cách nhanh chóng. Do đây là 1 chức năng rất quan trọng nên chúng ta cần phải tìm ra cách để implement nó 1 cách tốt nhất có thể. Trong bài này, chúng ta sẽ cùng tìm hiểu cách để làm ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Cơ bản về Golang language

Rất vui được gặp lại các bạn trong chủ đề giới thiệu ngày hôm nay của mình. Như tiêu đề mình đã nói, hôm nay mình xin được phép giới thiệu với các bạn một ngôn ngữ lập trình có tên là Golang(gọi tắt kaf Go). Về cơ bản thì ngôn ngữ này lấy cảm hứng dựa trên một ngôn ngữ cơ sở đó là ngôn ngữ lập ...

Tác giả: Bùi Văn Nam viết 16:19 ngày 12/08/2018

Filters trong Play Framework

Play cũng cấp một API Filter đơn giản cho việc apply global filter cho mỗi request. Filters so với các action composition API filter dành cho các mối lo ngại cho việc apply một cách không phân biệt vào tất cả các routes. Cho ví dụ, đây là một vào use cases thông thường cho filter: ...

Tác giả: Hoàng Hải Đăng viết 16:19 ngày 12/08/2018

Giới thiệu về Android Architecture Components (Phần II tiếp)

Dữ liệu bộ nhớ đệm Việc triển khai repository ở trên là tốt cho trừu tượng gọi đến Webservice nhưng vì nó chỉ dựa vào một nguồn dữ liệu, nó không đa chức năng cho lắm. Vấn đề với việc thực hiện UserRepository ở trên là sau khi tìm nạp dữ liệu, nó không lưu giữ dữ liệu đó ở bất cứ đâu. Nếu người ...

Tác giả: Tạ Quốc Bảo viết 16:19 ngày 12/08/2018