Free App Chat with PubNub and AngularJS - Part 1

PubNub AngularJS SDK giúp chúng ta đơn giản việc tích hợp PubNub vào trong app web chỉ bằng những API đơn giản mà PubNub cung cấp. SDK cũng support cho hệ thống lắng nghe sự kiện của AngularJS, giúp cho AngularJS app dễ dàng hơn trong việc lắng nghe sự kiện của PubNub Bài viết này là bài viết ...

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

Kiến trúc của Ruby on Rails

Kiến trúc của RoR có những đặc điểm: Kiến trúc MVC Representational Sate Transfer (REST) cho các web services Hỗ trợ nhiều hệ quản trị cơ sở dữ liệu lớn như MySQL, Oracle, MS SQL, - - PostgreSQL… Ngôn ngữ script Ruby được viết bên phía Server Sử dụng các quy ước thay vì phải cấu ...

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

Khi nào cần lưu trạng thái trong Activity

protected void onCreate ( Bundle savedInstanceState ) { // } Chắc hẳn có nhiều bạn mới lập trình Android thường không để ý đến biên savedInstanceState trong hàm onCreat() này. Vấn đề mình muốn chia sẻ hôm nay là việc truyền thông qua phương thức onCreate() và ...

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

Basic Data Modeling with Cassandra

If you are reading this article, probably you are interested to work with a NoSQL database and have heard about this awesome and most popular NoSQL database of choice called Cassandra. One of the most important things about creating a project based on cassandra is modeling your data. A data model ...

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

Scope trong rails

Scope là một câu lệnh truy vấn đặc biệt mà bạn có thể sử dụng nhiều lần mà không cần viết lại. Ví dụ mình muốn lấy các User đã được active, mình sẽ khai báo trong class của Model class User < ApplicationRecord scope :activated , - > { where activated : true } end ...

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

Xây dựng 1 ứng dụng Rails dùng xác thực không password

Password-less Authentication là gì ? Password-less Authentication (PLA) là một kiểu xác thực không càn đến password. Nghĩa là chúng ta loại bỏ password ở cả bước đăng ký và đăng nhập. Khi ta đăng ký, 1 email sẽ đc gửi đến địa chỉ email đó để t xác thực tài khoản. Còn khi đăng nhập thì ta ...

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

Đa ngôn ngữ trong Android

Một app Android tốt cần phải hướng đến đối tượng người sử dụng rộng rãi. Việc bạn là người Việt Nam và bạn chỉ viết ngôn ngữ Việt Nam là đã tự hạn chế lượng lớn người dùng trên toàn thế giới Chính vì vậy ngày hôm nay nhận tiện trong khi mình đang tìm hiểu về đa ngôn ngữ. Mình xin phép được viết ...

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

Sự khác nhau giữa Scala và Java 8 (Phần 2)

Sau khoảng 1 tháng bận bịu không có ngày chủ nhật thì hôm nay mình sẽ viết tiếp phần 1 , mời các bạn theo dõi. 3. Immutability Tính bất biến trong ngôn ngữ lập trình làm là cách tiếp cận làm cho mọi thứ trở nên khác biệt trong kinh nghiêm phát triển phần mềm. Tính bất biến là mô hình ...

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

The Mistakes Most Swift Developers Don''t Know They''re Making

Coming from an Objective-C background, in the beginning, I felt like Swift was holding me back. Swift was not allowing me to make progress because of its strongly typed nature, which used to be infuriating at times. Unlike Objective-C, Swift enforces many requirements at the compile time. Things ...

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

Jquery Events

1. Jquery Event là gì? Tất cả các hành động của người truy cập mà trang web có thể trả lời được gọi là event (sự kiện) . Ví dụ : Click vào button Di chuyển chuột Chọn một nút radio button Load một trang web ... 2. Tạo và xử lý Jquery event Trong một trang web, trình duyệt sẽ ...

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

Thực hiện Caching Browser với Nginx''s header Module trên Ubuntu 16.04

Giới thiệu Giúp việc tải 1 trang web nhanh hơn và nhiều khách truy cập cùng lúc. Khi các trang web có đầy đủ hình ảnh và nội dung tương tác, script thì load một trang web không phải là một nhiệm vụ đơn giản. Nó yêu cầu nhiều tập tin khác nhau từ một máy chủ. Giảm thiểu số lượng những yêu cầu ...

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

Tạo ứng dụng mở rộng chia sẻ đơn giản cho iOS

Share extensions, được giới thiệu trong iOS 8, cung cấp cho người dùng một cách dễ dàng và thuận tiện để chia sẻ nội dung với các thực thể khác, chẳng hạn bạn muốn chia sẻ URL khi dùng safari. Với share extensions, người dùng có thể chia sẻ nội dung trực tiếp cho dịch vụ của bạn từ app họ đang ...

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

Batch Update : Tìm hiểu về Updating Multiple record.

Đôi khi, chúng ta cần cập nhật nhiều hàng trong bảng cơ sở dữ liệu với yêu cầu đơn giản như: # Updating multiple records: animal = {1 => {"type" => "động vật ăn thịt"}, 2 => {"name" => "hổ" } Animal.update(animal.keys, animal.values) Update method là một class method được định ...

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

Newbies’ Guide To iOS Callbacks

Unlike my other posts, this time I’m writing a tutorial for the beginners. As you can tell from the title, this time it’s about iOS, more specifically its callbacks. Since this post is aimed for the newcomers in iOS (or any mobile platform) development, I think it’s necessary to ...

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

Transactions trong Rails

Transactions trong Rails Transaction (giao dịch) được dùng để đảm bảo tính toàn vẹn dữ liệu khi xảy ra cập nhật (cập nhật xin được hiểu theo nghĩa rộng là các hành động sửa đổi dữ liệu, như INSERT, UPDATE, DELETE…). Khi một transaction bao gồm nhiều lệnh cập nhật, nó đảm bảo tất cả các ...

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

Phân biệt Block, Proc, lambda trong Ruby

Những người mới băt đầu tìm hiểu về ruby, đặc biệt là ruby on rails thường rất khó khăn trong việc phân biệt Block, Proc và Lambda. Các tính năng này theo mình nghĩ là một trong các tính năng mạnh nhất của Ruby, nhưng cũng giống mọi người mới học, sự phân biệt rạch ròi khái niệm giữa ...

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

Tìm hiểu về pipe trong Angular 2

Nếu như bạn đã làm quen với AngularJS 1.x , thì khái niệm pipes Angular 2 có lẽ không có gì quá xa lạ. Nó chính là filters trong Angular 1, thậm chí đến tên gọi của một số filter cũng được thay tương ứng bằng pipes cùng tên trong Angular 2 ( trừ một số thay đổi nhỏ, có 3 filter đã biến mất trong ...

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

Giới thiệu về Elixir on Phoenix

I. GIới thiệu Có thể các bạn đã biết đến ngôn ngữ Erlang. Nó được thiết kế để đáp ứng yêu cầu high availability của hệ thống telecom, một hệ thống lớn mà có thể dễ dàng scale, khả năng chịu lỗi cao, giảm thiểu downtime tới mức thấp nhất có thể. Và giải pháp để thực hiện việc đó trong ngôn ngữ ...

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

Ruby Metaprogramming - define_method

Chào các bạn, trong bài viết trước mình có giới thiệu về metaprogramming trong ruby và cách sử dụng hàm eval. Để tiếp nối chủ đề về metaprogramming trong ruby, bài viết này mình sẽ đề cập đến define_method và một số ứng dụng của nó. Trước khi bắt đầu, mình có một ví dụ nhỏ về class: class ...

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

HÓA ĐƠN ĐỎ- HÓA ĐƠN VAT- HÓA ĐƠN GIÁ TRỊ GIA TĂNG

Chắc hẳn mọi người đều được nghe tới “Hóa đơn đỏ” rất nhiều lần khi đến các nhà hàng hay đi mua hàng rồi, nhưng bản chất loại hóa đơn này như thế nào thì hôm nay mình sẽ làm rõ cho các bạn. Thực chất hóa đơn đỏ là hóa đơn giá trị gia tăng (hóa đơn VAT). Và chúng ta cần hiểu một số vấn ...

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