Push Notification sử dụng Firebase Notification trong ứng dụng Android

GIỚI THIỆU Firebase Notification là một dịch vụ miễn phí của Firebase mà bạn có thể dùng nó để Push Notifications đến các thiết bị di động của người dùng một cách nhanh chóng. Firebase Notification được xây dựng trên Firebase Cloud Messaging và FCM SDK, cung cấp một lựa chọn cho các lập trình ...

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

Làm quen với Multithreading (P2)

Như trong Phần 1. Các bạn đã được làm quen với các khái niệm khi sử dụng thread như init, join, joinable, detach thread. Phần này xin được tiếp tục giới thiệu về các khái niệm tiếm theo như Thread ID, name space, Concurrent , mutex... để có 1 cái nhìn tổng quan hơn về multithreading trước khi ...

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

Sử dụng Google Sheet API Android

Giới thiệu Google Sheets API Google Sheets API cho phép chúng ta có thể sửa và đọc bất các thành phần của spreadsheet. Spreadsheets có rất nhiều cài đặt hỗ trợ làm đẹp cho nó và các sheet chức năng, vậy API cũng có rấy nhiều các sitting đó. API cung cấp 2 cách để tương tác với các Spreadsheet: ...

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

Tổng quan về Owin - Open Web Server Interface for .NET

1.Owin là gì ? Owin (Open Web Interface for Net) là một open-source, nó định nghĩa một chuẩn giao diện giữa webserver và web application. Mục đích của Owin là để tách biệt giữa server và ứng dụng, khuyến khích sự phát triển những modules đơn giản cho phát triển web trong .Net. Cụ thể đó là hai ...

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

Tạo nhiều hubot instance trong docker-compose

Purpose I would like to introduce how to launch multiple hubot applied for multiple account or communication services such as a hubot for Slack team A, a hubot for Slack team B, hubot for Chatwork as well... I think the best way to do this is to use an OS operation device and change ...

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

Lỗi ngụy biện trong phim 12 Angry Men

Trước khi đi vào nội dung chính, xin được phép làm rõ khái niệm "ngụy biện" và giới thiệu qua một chút về 12 Angry Men trong trường hợp các bạn chưa biết^^ Giới thiệu chung Khái niệm về "Ngụy biện": Ngụy biện, nói một cách đơn giản nhất, là tranh luận bằng những lời lẽ, phát biểu vô căn cứ, ...

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

MySQL String Functions

Sau đây mình sẽ giới thiệu một số hàm hay sử dụng cũng như cú pháp và cách sử dụng của hàm đó. 1. Hàm CHAR_LENGTH(str) Trả về (số ký tự) của chuỗi str. Một ký tự được biểu diễn bởi nhiều byte được đếm như là một ký tự đơn. mysql> select title,CHAR_LENGTH(title) from ...

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

9 thủ thuật nhanh cho người bắt đầu học Python

1. Đảo ngược xâu > a = 'string' > print "Reverse is" , a [ : : - 1 ] Reverse is gnirts 2. Hoán vị ma trận > mat = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] ] > zip ( * mat ) [ ( 1 , 4 ) , ( 2 , 5 ) , ( 3 , 6 ) ...

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

Houdini: Phát triển Sôi động nhất trong CSS mà Bạn chưa từng thấy (P2)

Những tính năng Houdini Are Hiện nay đang phát triển? Tôi đã đề cập ở p1 mà các nhà phát triển có rất ít các điểm truy cập vào render pipeline của trình duyệt. Thực sự, những nơi chỉ là DOM và, đến một mức độ nào đó, các CSSOM. Để giải quyết vấn đề này Houdini đã giới thiệu một số kỹ thuật mới ...

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

Testing with JUnit in Java

1.Giới thiệu về JUnit. JUnit là một framework đơn giản dùng cho việc tạo các unit testing tự động, và chạy các test có thể lặp đi lặp lại. Nó chỉ là một phần của họ kiến trúc xUnit cho việc tạo các unit testing. JUnit là một chuẩn trên thực tế cho unit testing trong Java. JUnit về nguồn gốc ...

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

Tìm hiểu thư viện xử lý file CSV trong Ruby

Giới thiệu chung Trong các ứng dụng quản lý việc xử lý nhập/xuất dữ liệu từ file có định dạng như xlsx hay csv là công việc cơ bản và cần thiết. Công việc xử lý của ứng dụng với những định dạng file này không chỉ tạo sự tiện lợi trong quá trình trao đổi, lưu trữ thông tin giữa người dùng với ứng ...

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

Tìm hiểu Template Pattern

Tìm hiểu về Template pattern. </br> Bài viết được tham khảo từ cuốn Design pattern for dummies </br> Ở bài trước, tôi đã giới thiệu cho các bạn về Adapter pattern: https://viblo.asia/trung.nn.92/posts/rEBRAKlNG8Zj. Hôm nay chúng ta sẽ tìm hiểm về Template pattern (mẫu Template ...

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

[Tutorial] Angular JS (part 1)

Giới thiệu Trong bài viết này, chúng ta sẽ tìm hiểu các khái niệm cơ bản của Angular.Js. Đây là bài viết đầu tiên của loạt bài viết về Angular Js. Tìm hiểu những lợi ích mà Angular JS mang lại và áp dụng và công việc phát triển những ứng dụng web một cách linh hoạt. Lịch sử Nếu chúng ta có ...

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

Javascript Under The Hood ~ The Mysterious Parts ~

Javascript ngày nay đã trở thành một trong những ngôn ngữ lập trình phổ biến nhất thế giới, tuy nhiên có một điểm lạ là nó cũng chính là một trong những ngôn ngữ "khó hiểu", hay "dễ bị hiểu nhầm" nhất. :v Series Javascript Under The Hood sẽ đưa đến cho các bạn cái nhìn tổng thế về bản chất, ...

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

Tạo ứng dụng chia sẻ hình ảnh với Nodejs, Socket.io và ExpressJs

Mô hình ứng dụng: Ứng dụng gồm có 3 thành phần: Nodejs server: Ứng dụng vài trò trung gian điều phối . Sender: trang web cho người gởi ảnh Receiver: Trang web cho người nhận ảnh Ở đây mình làm ra thành 2 trang riêng biệt để dễ phân biệt. Thật ra có thể thiết kế 1 trang vừa gởi vừa nhận ...

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

Tìm hiểu về Data Binding trong Android – Phần 2

Một thư viện rất đáng giá mà Android M sở hữu: thư viện Data Binding. Thư viện giúp các lập trình viên không phải viết quá nhiều code để “ghép dữ liệu” vào các component trên file layout XML nữa. Nếu bạn nào đã từng lập trình web thì có thể nôm na hiểu thư viện này giống với ...

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

Hướng dẫn bỏ túi viết SVG - Chương 2

Hình khối SVG cơ bản có thể được viết bằng tay trong mã HTML nhưng bạn có thể có các nhu cầu sử dụng phức tạp hơn . Những đồ họa phức tạp hơn có thể được tạo ra với phần mềm vector, nhưng bây giờ chúng ta hãy nhìn vào những điều cơ bản mà có thể dễ dàng được với mã hóa bằng tay. Hình khối cơ ...

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

Hướng dẫn sử dụng quảng cáo Unity Ads cho game

* Mở đầu Chào các bạn , hôm nay mình sẽ hướng dẫn cho các bạn lập trình game Unity một cách kiếm tiền đơn giản qua game/app của các bạn . Hiện các bạn lập trình viên có một cách kiếm tiền đơn giản và phù hợp nhất đó là gắn quảng cáo vào game/app và đẩy lên store để kiếm lượt xem quảng cáo . ...

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

Tìm hiểu mã nguồn mở CMS PHP Drupal và hướng dẫn cài đặt

Giới thiệu Drupal CMS Drupal là tên gọi của hệ quản trị nội dung (CMS) được phát triển từ năm 2000 bởi Dries Buytaert, nhà phát triển web người Bỉ, khi đó vẫn đang là sinh viên của trường đại học University of Antwerp. Tên gọi ban đầu của Drupal là Dorp, tiếng Hà Lan có nghĩa là ngôi làng, ...

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

Exploring the Structure of Ruby Gems

https://blog.codeship.com/exploring-structure-ruby-gems/ Khi bạn tạo một ứng dụng Rails, đặc biệt là những người không quá phân biệt về tiêu chuẩn hình thức của nó, chúng tôi thường không suy nghĩ quá nhiều về cách cấu trúc file hoặc là nó được đặt ở đâu. Models sẽ được đặt trong folder ...

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