CameoPlus

Trang chủ
CameoPlus2019-03-28T09:18:54+07:00

Tìm hiểu về khái niệm Data Class trên Kotlin, so sánh với C# Struct

By |Tháng Tư 19th, 2019|Categories: Lập trình Kotlin|

Data Class trong Kotlin là các lớp được định nghĩa chỉ với mục đích lưu trữ dữ liệu/trang thái. Trong các ứng dụng phức tạp thường tồn tại một số lượng rất lớn các class được sử dụng như vậy. Data class được Kotlin bổ sung vào với mục đích giúp lập trình viên viết ích mã hơn, nó giúp mã nguồn của chúng ta thanh thoát và tinh tế hơn. Mặc dù có cách khai báo rất dễ lầm lẫn với khái niệm Struct trên C# nhưng Data Class là hoàn toàn khác với [...]

Tìm hiểu Slim Framework qua ứng dụng thực tế

By |Tháng Tư 10th, 2019|Categories: Lập trình, phát triển ứng dụng|Tags: |

Giới thiệu Bài viết sau đây hướng dẫn bạn tạo 1 ứng dụng thực tế từ Slim Framework. Ứng dụng của chúng ta có những tính năng sau: Liệt kê danh sách các tỉnh thành theo định dạng Json Lấy dữ liệu 1 tỉnh thành theo id Cập nhật dữ liệu 1 tỉnh thành theo id Xóa 1 tỉnh thành theo id Cài đặt Slim Framework cho dự án Sử dụng đoạn mã sau để tạo project slim từ composer $ php composer.phar create-project slim/slim-skeleton [my-app-name] Khởi động mini webservice từ php runtime $ cd [...]

Slim Micro Framework nhanh, gọn, nhẹ nhưng mạnh mẽ.

By |Tháng Tư 10th, 2019|Categories: Lập trình, phát triển ứng dụng|Tags: |

Ngôn ngữ kịch bản PHP là một trong những ngôn ngữ hàng đầu được nghỉ tới khi người ta nói về việc phát triển website. Được phát triển và phân phối dưới dạng mã nguồn Opensource, phần lõi của ngôn ngữ PHP hằng ngày đều và đang trở thành một trong những lựa chọn dành cho các tổ chức, công ty, startup ... Tuy nhiên vấn đề cốt lõi của core php là việc phải lặp đi lặp lại quá trình tạo cấu trúc ứng dụng, viết mã triển khai giống nhau trên hàng loạt [...]

Tầm quan trọng của Authentic Content trong quá trình xây dựng thương hiệu

By |Tháng Tư 9th, 2019|Categories: Digital Marketing - Từ Chiến Lược Đến Thực Thi|

Authentic Content là gì? Tiếp thị Authentic Content hay tiếp thị nội dung xác thực là thuật ngữ mô tả việc cung cấp nội dung chính xác, hấp dẫn, có giá trị cao đối với khách hàng. Authentic Content cung cấp các thông tin bổ ích, truyền tải nội dung, kêu gọi hành động tự nguyện của khách hàng, mà không lôi kéo thao túng hành vi của họ.Bất cứ điều gì tìm cách lừa người tiêu dùng là trái ngược với tiêu chí Authentic. Và lời khuyên hữu ích dành cho hầu hết các [...]

4 gợi ý về Push Notification trong chiến lược Digital Marketing

By |Tháng Tư 9th, 2019|Categories: Digital Marketing - Từ Chiến Lược Đến Thực Thi|

Notify hay Push Notification là thuật ngữ mô tả những đoạn văn bản ngắn dạng popup được hiển thị tự động trên các thiết bị di động. Các popup văn bản này có đặc điểm là hiển thị cho người dùng đã đăng ký ngay cả khi họ không mở ứng dụng của bạn trên điện thoại của họ. Khi được sử dụng đúng khách, các tin nhắn đẩy này sẽ châm ngòi cho một cuộc bức phá trong quá trình chăm sóc khách hàng, tiếp thị và tăng doanh số. Thông notify cũng có [...]

Tại sao nên sử dụng let/const thay cho var trong javascript

By |Tháng Tư 8th, 2019|Categories: Kiến thức chuyên môn|Tags: |

Viết code bằng Javascript thì dễ nhưng viết code tối ưu nhất, chuyên nghiệp nhất thì rất ư là khó. Với bản update ES2015 (ES6) ngôn ngữ Javascript đã được cộng đồng lập trình viên trên thế giới đánh giá cao vể nhiều mặt. Một trong những thay đổi đầu tiên và được hoan nghênh nhất trong phiên bản cập nhật ES6 là bổ sung thêm từ khóa let/const trong khai bao biến. Với let/const giờ đây các lập trình viên có thêm tùy chọn hợp lý hơn so với việc phải dùng var trong [...]

Visual Studio 2019 có gì mới?

By |Tháng Tư 7th, 2019|Categories: Kinh nghiệm triển khai SEO|

Đầu tuần tháng 4/2019 Microsoft đã phát hành phiên bản Visual Studio 2019 Preview. Phiên bản này hứa hẹn với nhiều cải tiến về hiệu năng trong quá trình phát triển. Cùng blog điểm qua các điểm mới trong phiên bản này: Cải tiến UI và UX của IDE với các icon mới, một theme màu xanh cho giao diện rõ ràng hơn và tinh gọn các thanh tiêu đề và menu. Thanh tìm kiếm mới sẽ thay thế hộp "Quick Launch" Giao diện mới cho màn hình Start làm việc tốt với Git repo. [...]

Tìm hiểu Data Binding trong Android

By |Tháng Tư 1st, 2019|Categories: Kinh nghiệm triển khai SEO|Tags: |

Thư viện Data Binding trong Android cung cấp cho người dùng khả năng kết nối dữ liệu giữa data sources và các controllers trên layout ứng dụng. Là một trong những thư viện hữu ích sáng giá đắc lực được cung cấp trong bộ thư viện Android Architecture Components. Sử dụng Data Binding giúp cho việc phân tách data source với thành phần giao diện trong các mẫu thiết kế triệt để hơn. Từ đó, với thư viện này, bạn viết ít code hơn, cấu trúc project dễ kiểm thử, dễ bảo trì hơn. [...]

Nếu không dùng Windows bản quyền máy bạn sẽ bị gì?

By |Tháng Ba 30th, 2019|Categories: Kiến thức chuyên môn|

Đa số người dùng máy tính ở Việt Nam còn khá xa lạ với khái niệm win bản quyền. Trong tâm trí người dùng phổ thông như: người dùng văn phòng, game thủ, học sinh, sinh viên ... đều nghỉ rằng windows được người bán cài đặt khi mua máy là win bản quyền được tặng. Tuy nhiên, hệ điều hành win mà người bán khuyến mãi kèm theo khi mua máy thường là bản windows lậu, sản phẩm crack không phải là phiên bản hợp pháp được cấp phép từ Microsoft. Windows [...]

Cài đặt SSL Let’s Encrypt cho website

By |Tháng Ba 25th, 2019|Categories: Kinh nghiệm quản lý VPS|Tags: , |

Let Encrypt là cơ quan cấp chứng chỉ SSL được quản lý bởi "Nhóm nghiên cứu bảo mật Internet (ISRG)". Là dự án mã nguồn mở cho phép người dùng (webmaster) có thể triển khai giao thức https có xác thực miễn phí. Nó sử dụng "Môi trường quản lý chứng chỉ tự động (ACME)" để tự động triển khai cấp phép các chứng chỉ SSL. Chứng chỉ SSL của Let's Encrypt được hầu hết các trình duyệt phổ biến hỗ trợ. Trong hầu hết các tình huống, phương pháp được đề xuất để cài [...]

Cấu hình Nginx làm proxy cho Apache2

By |Tháng Ba 22nd, 2019|Categories: Kinh nghiệm quản lý VPS|Tags: |

Nginx là một trong những máy chủ web hàng đầu trên thế giới. Nginx được tin dùng và sử dụng để phân phối dữ liệu web trên hàng triệu máy chủ trên thế giới. Nginx được đánh giá là hiệu suất cao hơn nhiều so với Apache2 trong hầu hết các trường hợp. Tuy nhiên, mặt hạn chế của Nginx là nó không hỗ trợ đọc file cấu hình .htaccess. Thông thường, để giải quyết trường hợp này các webmaster thường chuyển toàn bộ website sang dùng Nginx. Tuy nhiên cách tối ưu hơn cả [...]

Hôm nay là thời điểm tốt nhất để học lập trình Android

By |Tháng Ba 18th, 2019|Categories: Lập trình, phát triển ứng dụng|Tags: |

Nếu bạn đã suy nghĩ về việc học lập trình Android nhưng chưa biết bắt đầu từ đâu, thì bây giờ là lúc tốt nhất để làm việc ấy. Hãy để tôi phân tích cho bạn biết tại sao lại như thế nhé. Hệ điều hành Android đang phát triển ổn định Kể từ ngày ra mắt đến nay, hệ điều hành Android đã có tuổi đời ngót nghét hơn 11 năm. Sau từng ấy năm, Android đã có được những tiến bộ vượt bậc trong quá trình phát triển và cải thiện hiệu năng. [...]

Kiến thức cơ bản lập trình Android cần biết

By |Tháng Ba 17th, 2019|Categories: Lập trình, phát triển ứng dụng|Tags: |

Ứng dụng Android được viết bằng ngôn ngữ lập trình Java/Kotlin/C++. Bộ công cụ phát triển SDK được Google cung cấp sẽ biên dịch mã nguồn của bạn thành ứng dụng cho máy Android. Tất các các mã nguồn, tài nguyên tĩnh (image, âm thanh, vector...), cùng với bất kỳ tập tin dữ liệu sẽ được đóng gói thành 1 file APK. File APK này là một tập tin chứa tất cả các nội dung cần thiết của một ứng dụng Android. Các thiết bị dựa trên nền tảng Android đọc các chỉ thị trong [...]

Cài đặt NodeJs và Npm mới nhât cho Ubuntu/Debian

By |Tháng Ba 17th, 2019|Categories: Kinh nghiệm quản lý VPS|

Node.js là một hệ thống phần mềm được phát triển dựa trên Runtime JavaScript V8 của Chrome. Chrome V8 Engine là một open source hiệu suất cao dành riêng cho Javascript được Google viết bằng ngôn ngữ C++ trong Google Chrome. Node.js chạy được trên máy chủ Windows, Linux, MacOs. Trong bài viết này, tôi hướng dẫn bạn cách cài đặt phiên bản mới nhất của Node.js trên máy chủ Ubuntu/Debian. Bước 1: Thêm Node.js PPA Để có thể cài đặt được phiên bản mới nhất từ Node.js chúng ta phải thêm chỉ dẫn load [...]

Lập trình Google Map Api

By |Tháng Ba 12th, 2019|Categories: Lập trình, phát triển ứng dụng|Tags: |

Google Map Api là công cụ mạnh mẽ được google phát triền dành riêng cho các lập trình viên phát triển ứng dụng web, mobile ...Bạn có thể dễ dàng sử dụng Map Api này để tạo bản đồ tùy chỉnh, hướng dẫn chỉ đường, tính toán chặn đường, hiển thị đồng bộ vị trí hiện tại lên bản đồ... Google Map Api cung cấp rất nhiều khả năng sáng tạo cho các lập trình viên. Bổ sung thêm các API của bộ công cụ cloud.google.com càng làm cho tiện ích này phát triển rực [...]

Tùy chỉnh trang thanh toán WooCommerce Checkout

By |Tháng Ba 11th, 2019|Categories: Kinh nghiệm sử dụng wordpress|Tags: |

WooCommerce được đánh giá là plugin tạo trang bán hàng tốt nhất thế giới trên nền tảng Wordpress. Tuy nhiên, đối với thị trường đặc thù của Việt Nam thì trang thanh toán hoàn toàn không phù hợp. Nào chúng ta cùng chỉnh sửa lại nội dung trang checkout cho phù hợp với khách hàng bản địa. Xóa các trường thông tin cần nhập không cần thiết Một số trường thông tin cần nhập không cần thiết cần phải bỏ như: Last Name, Quốc gia, Mã bưu điện... măc định được WooCommerce cung cấp/ Mở [...]

[Case Study] Đổi tên miền vẫn giữ kết quả SEO

By |Tháng Ba 10th, 2019|Categories: Kinh nghiệm triển khai SEO|

Đổi tên miền trong khi SEO là một quyết định lớn trong khi SEO. Quyết định này cần được cân nhắc kỷ càng trước khi bạn thực hiện. Thay đổi tên miền là một quyết định lớn có ảnh hưởng lớn đến SEO đòi hỏi rất nhiều kế hoạch. Trong bài viết này, chúng tôi sẽ giới thiệu một số điều quan trọng cần ghi nhớ khi lập kế hoạch cập nhật tên miền của bạn. Thống kê phân tích tình trạng SEO Điều quan trọng đối với bạn là kiểm toán tất cả các [...]

Lập trình NodeJs/Javascript trên Visual Studio Code

By |Tháng Ba 10th, 2019|Categories: Kiến thức chuyên môn|

Bài viết này cung cấp bạn cách sử dụng các tính năng hỗ trợ NodeJs/Javascript trên Visual Studio Code. IntelliSense JavaScript IntelliSense trên Visual Studio Code cung cấp cho bạn khả năng phát triển thông minh so với đa số các text editor khác như: Notepad ++, sublime text, atom, bracket ... Một số tính năng chính của tính năng này: Tự động nhắc lệnh: Bạn chỉ việc gõ 2,3 ký tự đầu của hàm, VSC sẽ tự liệt kê danh sách các hàm phù hợp. Tích hợp các plugins thông minh nhắc lệnh dành cho: [...]

Tìm hiểu phiên bản Ubuntu LTS

By |Tháng Ba 10th, 2019|Categories: Kiến thức chuyên môn|

LTS là tên viết tắt của "Dịch vụ hỗ trợ dài hạn - Long Time Support". Ubuntu.com sản xuất một bản phát hành Ubuntu Desktop và Ubuntu Server mới mỗi sáu tháng. Điều đó có nghĩa là bạn sẽ luôn có những ứng dụng mới nhất và tốt nhất mà thế giới nguồn mở cung cấp. Ubuntu được thiết kế với mục đích bảo mật. Bạn nhận được cập nhật bảo mật miễn phí trong ít nhất 9 tháng trên máy tính để bàn và máy chủ. Ubuntu Long Time Support Mỗi phiên bản Ubuntu LTS [...]

Multithreading – Lập trình đa luồng, đa tiến trình

By |Tháng Ba 8th, 2019|Categories: Kiến thức chuyên môn, Lập trình, phát triển ứng dụng|

Series bài viết này cung cấp các khái niệm kiến thức cơ bản về lập trình đa luồng, đa tiến trình trên JAVA MACHINE. Các bài viết được tổng hợp từ nhiều nguồn khác nhau trên mạng, nên không thể tránh được thiếu sót. Process = Nhiều ứng dụng chạy đồng thời trong máy chủ, PC hoặc Mac  Thread = Nhiều tác vụ đang chạy trong một tiến trình 1. Process - Tiến Trình Khi một ứng dụng phần mềm khởi chạy, nó sử dụng các tài nguyên của hệ thống như I/O, ổ cứng, [...]

Cài đặt Express.JS trên CyperPanel

By |Tháng Ba 8th, 2019|Categories: Kinh nghiệm quản lý VPS|Tags: |

Express.JS là một trong những Framework nổi tiếng của Node.JS dành riêng cho việc phát triển ứng dụng web. Do đặc thù của các ứng dụng được viết bằng node.js là chạy trên port 3000 khác với 80,443 nên đa phần phải chạy qua proxy của webserver khác. CyberPanel hỗ trợ chạy trực tiếp các ứng dụng của Node.JS mà không phải cấu hình Proxy. Sau đây là cách thiết lập ứng dụng Express.JS lên hosting CyberPanel Bước 1: Tạo 1 hosting dành cho ứng dụng Node.JS Trước tiên bạn cần cài đặt CyberPanel và [...]

Cyberpanel là gì? Tại sao bạn nên dùng nó?

By |Tháng Ba 8th, 2019|Categories: Kinh nghiệm quản lý VPS|Tags: |

Tìm hiểu về phần mềm quản trị VPS CyperPanel CyberPanel là ứng dụng quản trị VPS được phát triển dựa trên công nghệ máy chủ web server hiệu xuất cao OpenLiteSpeed. Litespeed (OpenLiteSpeed là phiên bản miễn phí) được đánh giá là webserver có hiệu xuất cao hơn Apache và Nginx. Tuy nhiên, OpenLiteSpeed quản lý và tinh chỉnh các virtual hosts còn rườm rà và phức tạp, rối rắm so với đa số các webserver khác. Do đó, CyperPanel được phát triển để giải quyết các vấn đề này. CyperPanel được phát hành với [...]

Bottom Navigation Android

By |Tháng Ba 5th, 2019|Categories: Lập trình Android với Kotlin|

Ngày nay để hạn chế Hambuger Menu người ta thường sử dụng Bottom Navigation. Bottom navigation là menu nằm cạnh dưới của Android. Menu này nên chứa từ 3 đến 5 items liên kết đến các giao diện chính của chương trình. Ngày nay việc tạo được 1 menu bottom kiểu vậy rất dễ dàng. Android Studio hỗ trợ khởi project mới có sẵn template menu bottom này. Hoặc nếu muốn tự tạo bằng tay thì bạn cần làm theo hướng dẫn sau: Demo App Thêm thư viện hỗ trợ vào project. dependencies [...]