DevOps là gì ? Phần I

_Trong vài năm trước, một bước tiến mới đã bắt đầu định hình rõ ràng. Nó là một bước tiến của những người nghĩ rằng đã đến lúc cần phải thay đổi, đã đến lúc cần phải ngăn chặn sự lãng phí tiền bạc, đã đến lúc để bắt đầu cho ra những phần mềm tốt nhất, những hệ thống phù hợp nhất. Bước tiến này ...

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

Rails AntiPatterns, Fat Models và các giải pháp [Part 3]

Tiếp nối 2 phần trước: Phần 1: Một số khái niệm và AntiPattern: Voyeuristic Models Phần 2: Những giải pháp còn lại của AntiPattern: Voyeuristic Models Hôm nay, chúng ta sẽ chuyển sang một AntiPattern In Rails khác. Đó là Fat Models AntiPattern 1.2 AntiPattern: Fat Models Đây là một ...

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

Android Five Stars Library - Form đánh giá trong Android

Chắc hẳn nếu bạn nào để ý thì hiện nay trên CH Play có phần đánh giá cho từng app. Các bạn thường vào đó và đánh giá 5 sao hay ít hơn và để lại các lời nhận xét . Hoặc thậm chí các cửa hàng trên facebook bây giờ cũng đã có phần đánh giá nhận xét cho cửa hàng. Ví dụ như sau là thống kê tất cả các ...

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

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