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 ...
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 ...
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ổ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ạ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 ...
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ứ, ...
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 ...
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 ) ...
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 ...
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ì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ì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 ...
[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ó ...
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ạ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ì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 ...
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ơ ...
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ì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, ...
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 ...