Tạo Custom Horizontal ListView

Thông thường chúng ta sẽ tạo list theo chiều dọc, tuy nhiên một số trường hợp cần tạo list các Item theo chiều ngang. Trong bài viết này mình sẽ sử dụng một lib là TwoWayView để tạo một Horizontal ListView một cách đơn giản, có thể tùy chỉnh được Adapter như ListView hay RecyclerView thông thường. ...

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

Closures trong JavaScript hoạt động như thế nào?

Bài viết được dịch từ blog của tác giả Dmitry Frank. Tôi đã dùng closures vài lần rồi. Tôi học cách dùng chúng, nhưng không hiểu rõ closures thực sự hoạt động như thế nào, thực chất điều gì xảy ra khi tôi sử dụng chúng. Mà clousre là cái gì cơ chứ? Wikipedia cũng không giúp ích gì lắm. Khi nào ...

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

Code Coverage trong Swift 2.0

_Bắt đầu từ Swift 2.0 trở đi, chúng ta đã có thể đo lường được Code Coverage. Do vậy bài viết của tác giả hôm nay xin được hướng dẫn bạn đọc cơ bản về việc sử dụng Code Coverage trong Swift. _ Code Coverage thường được sử dụng khi chúng ta viết UnitTest cho project của mình. Với Những Project ...

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

Sử dụng CDN để giảm tải cho Server

Câu chuyện bắt đầu Gần đây, tôi có tham dự một lớp học Rails của các sinh viên năm thứ 4 ngành công nghệ thông tin. Trong buổi học đó, sinh viên tìm hiểu về thư viện Bootstrap của Twitter. Có 2 cách để import thư viện vào trong trang web, 1 là sử dụng 1 đường link ở "tận đẩu tận đâu" như thế này. ...

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

Android Wear Apps Development : Jump-Start

Introduction to Android Wear Android Wear is a new version of the Android system designed specifically for wearables , which was announced by Google in march 2014 . Currently lots of devices running on Android Wear were released, including well designed Moto 360 and Gear Live by ...

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

Refactor rails view

Tại sao không nên đặt logic trong view? Thực sự chúng ta hoàn toàn hiểu được nguyên nhân chính không nên để logic phức tạp ở trong view, và tất nhiên đó là testing. Điều tôi muốn nói ở đây là không phải chúng ta không test được những logic đã được đặt trong view, nhưng thực sự điều đó là phức ...

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

JavaScript Load Image Library

1. Giới thiệu Trong dự án hiện tại mình đang làm có rất nhiều tác vụ cho phép người dùng đăng ảnh từ smartphone. Một trong các vấn đề gặp phải khi lập trình các tác vụ đó là: Thời gian upload ảnh lên server phải chấp nhận được (nhỏ hơn 3s) Ảnh thu được phải được resize và crop Ảnh phải ...

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

[Android] Tương Tác Các Thành Phần Trong Layout Khi Scroll List(Part 1)

Trong concept Material Design có nhiều tương tác kéo theo khi ngươi dùng thực hiện scroll một danh sách. Danh sách có thể là Listview, Gridview, RecycleView hoặc đơn giản là một ScrollView. Trong phần 1 này tôi trình bày cách làm để ẩn hiện thanh Toolbar/ActionBar khi scroll danh sách. Show ...

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

Mẫu thiết kế decorator

Chắc hẳn các bạn đã từng nghe đến cụm từ Design pattern (Mẫu thiết kế)? Nếu như bạn chưa từng nghe nói đến nó, thì bạn vẫn chưa thực sự trở thành một lập trình viên. Thực ra mình cũng nghe nói đến mẫu thiết kế từ lâu rồi, nhưng do lười học, và trình độ tiếng Anh hạn chế, trong khi tài liệu về mẫu ...

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

Share file với NFC trong android

Với Android Beam, Android cho phép chúng ta chuyển các file với dữ liệu lớn giữa các thiết bị. Tính năng này có 1 API đơn giản, và cho phép người dùng bắt đầu tiến trình chuyển chỉ bằng 1 cú chạm vào thiết bị. Trong phản hồi, Android Beam tự động copy file từ 1 thiết bị sang các thiết khác, và ...

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

ECMAScript 6

ECMAScript là một đặc tả ngôn ngữ được chuẩn hoá và đăng kí bản quyền bởi Ecma International. Nó nổi tiếng vì được áp dụng bởi các ngôn ngữ client-side cho Web như Javascript, JScript, ActionScript. Lịch sử Đầu tiên, một đặc tả ngôn ngữ kịch bản được phát triển bởi Brendan Eich của Netscape ...

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

[Android] Tương Tác Các Thành Phần Trong Layout Khi Scroll List(Part 2)

Trong bài viết lần trước, tôi đã trình bày một ví dụ đơn giản về tương tác các thành phần trong layout trong khi scroll list. Trong Phần 2 này, tôi đi sâu hơn vấn đề này qua ví dụ implement hiệu ứng scroll Toolbar của app Google Play. Tìm hiểu concept trên, điểm khác biệt so với concept lần ...

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

[ThaoVTP] Cách đọc một số Ký tự đặc biệt trong Tiếng Nhật

Trong quá trình sử dụng tiếng nhật, chắc chắn có nhiều lần bạn thấy các ký tự đặc biệt được sử dụng. Có những ký tự bạn sẽ dễ dàng typing được bằng các ký tự hỗ trợ trên bàn phím nhưng bạn sẽ băn khoăn không biết ký tự đó sẽ được đọc như thế nào trong tiếng nhật (#, @, * chẳng hạn). Hoặc có những ...

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

Facebook SDK - How to get permission and pass apple review

Chào các bạn ở bài trước mình đã trình bày làm thế nào để tích hợp và sử dụng Facebook SDK vào một iOS project. (Xem chi tiết qua link : https://viblo.asia/HoangLS/posts/oaKYMNAzR83E) Hôm nay mình xin trình bày thêm làm thế nào để xin quyền facebook và lấy các thông tin của người dùng như: danh ...

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

Những hệ lụy khi dùng smartphone thay cho máy tính

Tôi có một câu hỏi: Ngoài thời gian làm việc trên công ty ra, vào thời gian rảnh của mình, bạn có thường xuyên lướt web, facebook không? Những lúc đó, bạn thường dùng máy tính hay dùng Iphone, Samsung...v.v – những chiếc Smartphone nhỏ gọn, tiện lợi. Ai cũng có câu trả lời cho riêng mình, nhưng ...

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

Liskov Substitution Principle

Tiếp nối loạt bài viết dịch cuốn sách "Agile Software Development, Principles Patterns and Practices", ngày hôm nay, chúng ta đến với nguyên tắc thức ba trong thiết kế linh hoạt, đó là LSP - Liskov Substitution Principle. Nguyên lý của OCP dựa trên hai thành phần chính là trừu tượng ...

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

Giới thiệu về Struts 2

**I. Giới thiệu về Framwork Struts 2 ** Struts 2 là một framwork mở dùng cho việc tạo các ứng dụng web bằng Java và được phát triển với Craig McClanahan và được hỗ trợ bởi The Apache Software Foundation. Struts 2 được phát triển từ Webwork. Sau khi làm việc độc lập trong một vài năm, cộng đồng ...

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

Introduce 3D touch programming in ios 9

Giới thiệu Với iphone6s và iphone6s Plus, Apple giới thiệu một phương thức mới để tương tác với idevice gọi là 3D touch. 3D Touch làm việc bằng các nhận dạng cảm ứng lực tức độ mạnh yếu của ngón tay khi chạm vào màn hình, qua đó có thể thực hiện nhiều hành vi hơn, thuận tiện hơn. Ở bài viết này ...

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

Sử dụng MongoDB với gem MongoID phần II

Mongoid(tiếp) Trong phần đầu ta đã tìm hiểu 1 số khái niệm, và thuộc tính MongoID cung cấp như config, logging, storate, documents, Aliasing Fields, Localized Fields...Phần II ta sẽ tìm hiểu thêm tính chất của MongoID(Dirty Tracking, Readonly Attributes, Inheritance....) Dirty Tracking ...

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

Tổng quan về Semantic UI

Phần 1: Giới thiệu chung về Semantic UI Hiện nay, Bootstrap và Foundation là hai front-end framework được các lập trình viên web sử dụng nhiều nhất. Nhưng lịch sử luôn cho thấy rằng sẽ luôn có một thứ tốt hơn sẽ xuất hiện và thay thế tất cả. Và điều đó sẽ không còn xa vời sự xuất hiện của ...

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