Rails API với Versioning, Serializers và Pagination

Tiếp nối series loại bài về Rails API, mình sẽ giới thiệu đến mọi người về việc sử dụng Versioning, Serializers và Pagination. Khi chúng ta xây dựng 1 appp API thì việc quản lý version là điều quan trọng. Điều đó cảng quang trọng hơn khi chúng ta public API này với khách hàng theo 1 hợp ...

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

Working with FragmentPagerAdapter and FragmentStatePagerAdapter

Là một Android Developer thì chắc hẳn phải biết đến ViewPager, một thành phần thường hay được sử dụng nằm trong gói support design. FragmentPagerAdapter và FragmentStatePagerAdapter là những thành phần để cấu hình cho ViewPager nhưng không phải ai cũng biết sự khác nhau giữa chúng. Và việc gọi ...

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

[Android] AppIndexing

I.Giới thiệu Firebase cái tên đã quá quen thuộc với các bạn rồi nhỉ. Nhắc đến Firebase người ta hay nghĩ về Firebase Authentication, Firebase Realtime Database, Firebase Storage ... các tiện ích rất tiện lợi đầy mạnh mẽ và thiết thực. Nhưng với cái tên App Indexing thì mọi người không thấy có ấn ...

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

Những sai lầm "chết người" khi xây dựng website thương mại điện tử

Không quá khi nhận định website chính là nguồn sống của các trang thương mại điện tử tại Việt Nam. Nếu dịch vụ thiết kế website thương mại điện tử được tối ưu tốt thì sẽ mang đến những hiệu quả không ngờ, ngược lại một sự chuẩn bị không chu đáo sẽ gây ra nhiều hậu quả đáng tiếc. Bài viết sau sẽ đề ...

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

Build các phiên bản apk với tính năng khác nhau bằng flavors trong Android Studio

Xin chào các bạn! Trong project tôi đang làm khách hàng có yêu cầu chia làm 3 phiên bản development, staging, production mỗi phiên bản lại có sự khác nhau về tính năng, các urls api ... Sẽ có người nghĩ ra cách là phát triển trên 3 branch khác nhau nhưng bất tiện là mỗi khi viết thêm source code ...

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

Thay đổi ngôn ngữ app trong Android

Khi phát triển ứng dụng Android, đôi lúc bạn sẽ có yêu cầu về chức năng “thay đổi ngôn ngữ” của ứng dụng. Đây là một chức năng không thể thiếu đối với các ứng dụng hướng đến các người dùng ở đa quốc gia. Tuy nhiên, hệ điều hành Android lại không hỗ trợ tính năng này trực tiếp. Và vì ...

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

Vì chờ đợi Xcode build tiêu tốn nhiều tời gian → đã sửa để giảm trên 50% thời gian build

Mở đầu Chờ build lâu quá, nhiều khi đầu phát ngáo ^^. Không biết các bạn có bị tiêu tốn thời gian giống mình không nhỉ? (khoc) Nhưng ở trên mạng hiện đang share rất nhiều cách để giảm thời gian build trên Xcode Do đó trong bài viết này mình xin giới thiệu đến các bạn phương pháp mà mình đang ...

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

Running GUI application with docker

Có lẽ bạn đã đang dùng docker để phát triển app rồi. Docker còn được dùng trong cả các server production nữa. Nói chung docker thường được coi là một công cụ phát triển hay để deploy app. Nhưng bạn có nghĩ những ưu điểm của docker cũng có thể phát huy ở một chỗ khác. Mình đang nói đến GUI app. Từ ...

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

Make Repository Pattern more efficient in Android

Việc define structure cho một dự án luôn là một công việc vô cùng khó khăn và đòi hỏi nhiều kinh nghiệm, kỹ năng nhất định. Do đó, công việc này thường dành cho những người có nhiều năm kinh nghiệm và có tầm nhìn tổng quát cho dự án để đảm bảo structure áp dụng vào dự án phải phù hợp nhất, tường ...

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

Xây dựng chatbot Facebook với api.ai (part 1)

Trong xu thế công nghệ liên quan đến Data scientist hiện nay thì càng trở lên mạnh mẽ. Điều chứng minh cho điều đó là việc các Chatbot được tạo ra nhưng nấm mọc sau mưa. Và các ông lớn trong làng công nghệ như Google, Microsoft, IBM... cũng bỏ rất nhiều công sức và tiền bạc trong lĩnh vực này. Ở ...

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

[Series-DesignPatternInRuby] Singleton - Phần 2

Đây là phần 2 về Singleton Pattern trong Series DesignPatternInRuby mà mình muốn giới thiệu với mọi người. Bạn có thể tham khảo phần 1 tại đây: [Series-DesignPatternInRuby] Singleton - Phần 1 Alternatives to the Classic Singleton Như phần trước chúng ta đã tìm hiểu về cách xây dựng Singleton ...

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

Tìm hiểu thuật toán mã hóa khóa đối xứng AES

1. Tổng quan. AES (viết tắt của từ tiếng anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa nâng cao) là một thuật toán mã hóa khối được chính phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa. Thuật toán được xây dựng dựa trên Rijndael Cipher phát triển bởi 2 nhà mật mã học người Bỉ: Joan Daemen ...

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

Tìm hiểu về icinga2

1. Giới thiệu: Giới thiệu về Icinga: Icinga là một hệ thống máy tính mã nguồn mở và ứng dụng giám sát mạng. Nó ban đầu được tạo ra từ fork của hệ thống Nagios trong năm 2009. Icinga đang cố gắng để có được nhận thức quá khứ ngắn trong quá trình phát triển Nagios, cũng như thêm các tính năng ...

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

Một số kỹ thuật "tăng tốc" cho website (Lazy Load, Adaptive Image, Gzip, DNS Prefetch)

Đối với những website tốc độ tải trang rất quan trọng. Người dùng chỉ hứng thú với những website load nhanh, còn khi một trang web đáp ứng chậm, khách sẽ mất kiên nhẫn và khả năng họ quay lại sẽ là rất thấp. Như vậy, những người tìm kiếm thông tin thường rất sốt ruột khi phải đợi những trang web ...

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

Xây dựng môi trường cho ứng dụng Ruby on Rails với Docker, Docker-Compose

Tất nhiên để dùng Docker và Docker-Compose trước tiên chúng ta phải cài đặt chúng rồi. Thông tin cách thức chi tiết bạn có thể xem tại đây cho Docker , Docker-compose Nếu bạn mới làm quen hoặc chưa biết về docker bạn có thể ghé qua đây Tạo file docker: touch Dockerfile Nội dung hoàn ...

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

Hướng dẫn học lập trình Python - P1

1. Giới thiệu về Python Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức ...

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

PHP - 10 sai lầm mà các lập trình viên PHP thường mắc phải (Phần cuối)

Index PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 1 PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 2 PHP - 10 lỗi phổ biến mà các lập trình viên PHP thường mắc phải Part 3 Sai thầm thứ 7: Cho rằng $_POST sẽ luôn ...

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

Introduction to the Google street view on Android

Google Street View is attached in Google Maps & Google Earth which is a technology to provide the panoramic 360-degree view from a defined position throughout its coverage area along many streets in the world. It was launched in 2007 in few cities in the United States at first and ...

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

Biến và thuộc tính trong Objective-C

Cách đặt tên: Tập ký tự: a-z, A-Z, 0-9, kí tự đặc biệt: _ @ # % Tên biến được tạo bởi chữ cái và chữ số: Kí tự đầu tiên phải là chữ cái hoặc là dấu gạch dưới. ( _ ) Phân biệt chữ hoa và chữ thường, ví dụ: total, Total, TOTAL, Total là khác nhau. ...

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

Mẹo để tăng tốc unit test ruby

Câu chuyện về Unit test của chúng ta sẽ không đáng phải bàn với các project nhỏ, khi mà số lượng unit test là ít và thời gian chạy unit test RSpec chỉ trong khoảng một vài phút trở lại. Tuy nhiên, nếu project của chúng ta trở nên lớn hơn, và số lượng unit test sẽ rất lớn, thời gian kiểm tra các ...

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