10 ActiveRecord::Relation Methods ít được sử dụng trong Rails

10. first_or_create first_or_create thì khá là quen thuộc rồi: Book . where ( :title = > 'Tale of Two Cities' ) . first_or_create và chỉ nghe tên là bạn đủ hiểu nó sẽ làm gì. Cụ thể, bạn sẽ muốn tìm một record với các thuộc tính cho trước, nếu không tìm thấy, tạo một ...

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

Android strings.xml — Những điều cần phải nhớ

strings.xml hẳn là điều khá cơ bản và tầm thường trong một ứng dụng Android, nhưng làm sao để sử dụng nó tối ưu và làm chủ nó thì chưa hẳn ai cũng biết. Hãy cùng theo dõi những quy tắc dưới đây để làm việc tốt hơn với strings.xml nhé I. Hạn chế tái sử dụng Không sử dụng cùng một strings cho ...

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

FullCalendar

I. Giới Thiệu: FullCalendar là một plugin hỗ trợ rất tốt cho việc quản lý cũng như thiết lập lịch cho các sự kiện. với FullCalendar chúng ta có thể quản lý cũng như thiết lập lịch tùy biến theo giờ, ngày, tuần, tháng … nó sẽ giúp hiện thị các event được đặt trên lịch theo từng thời ...

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

Phương thức Callbacks trong Rails

Callback là các phương thức được gọi tới vào một thời điểm nào đó trong vòng đời của một đối tượng. Callback thường được dùng để thực thi các phương thức logic trước hoặc sau khi đối tượng được created, updated, saved, deleted, validated hoặc load từ cơ sở dữ liệu. Bởi vì là một phương thức nên ...

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

Kotlin - extension functions and properties

Kotlin , like as C# , provides the ability to extend a class with new functionality without having to inherit from the class or use any type of design pattern such as Decorator . This is done via special declarations called extensions. Kotlin supports extension functions and extension ...

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

RxSwift những khái niệm cơ bản P.3

Chào các bạn, hôm nay tôi tiếp tục nói về những khái niệm cơ bản của thư viện RxSwift bao gồm : KVO UI layer tips Making HTTP requests KVO Có 2 cách để sử dụng KVO. // KVO extension Reactive where Base : NSObject { public func observe < E > ( type : E ...

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

Tạo màn hình Splash của Uber

Màn hình Splash ấn tượng sẽ tạo trải nghiệm thú vị cho người dùng. Thay vì phải nhìn một màn hình tĩnh, thì ta có thể tạo ra một giao diện thân thiện hơn như là animation(loanding, chuyển dộng của character...). Trong bài hướng dẫn này chúng ta sẽ tạo ra 1 animation cho màn hình Splash giống như ...

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

Tăng tốc Rails với data model cache sử dụng gem IdentityCache

1. Giới thiệu Khi model ngày càng trở nên phức tạp, và yêu cầu cho response data từ controller hay API vẫn phải đảm bảo trong 1 giới hạn thời gian cho phép, giải pháp dễ dàng nhất là thực hiện preload, sử dụng includes để giảm bớt một số lượng lớn câu SQL. Tuy nhiên, model lại tiếp tục phức ...

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

Giới thiệu về vagrant

Nếu bạn đang là một Web developer hay database developer mà chưa ứng dụng ảo hóa (môi trường ảo) vào công việc của bạn thì bạn nên đọc bài viết này vì nó có thế đem lại cho bạn một chút gì đó. Bạn đã bao giờ gặp phải những vấn đề như: các freelancer join vào project của bạn, đồng nghiệp phàn nàn ...

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

Cách đưa quảng cáo vào game hợp lý

Trải qua bao nhiêu khó khăn, cộng với sự làm việc nghiêm túc và cực nhọc, game của bạn đã được hình thành, bạn suy nghĩ rằng nên đưa vào đó một vài quảng cáo để kiếm thêm ít tiền thu nhập. Nhưng chẳng may số lượng quảng cáo bị những người chơi phàn nàn là quá nhiều. Điều này dẫn đến việc game của ...

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

Linux - Hệ điều hành nên dùng để lập trình

I. Linux là gì? Linux là hệ điều hành máy tính dựa trên Unix được phát triển và phân phối qua mô hình phần mềm tự do mã nguồn mở. Thành phần cơ bản tạo nên Linux đó là nhân linux, một nhân hệ điều hành ra đời bản đầu tiên vào tháng 8 năm 1991 bởi Linus Torvalds. Nhiều người gọi Linux là ...

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

Currying in Javascript

Cà-ri là một thuật ngữ tổng quát trong tiếng Anh (tiếng Anh là curry, số nhiều là curries) và nhiều ngôn ngữ khác, chủ yếu được sử dụng trong văn hóa phương Tây để chỉ một loạt các món ăn hầm cay hoặc ngọt có thành phần chính là bột cà ri, nổi tiếng nhất trong Ẩm thực Ấn Độ, Thái, và Nam Á. Nhưng ...

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

The Quality of Software Design ~Kỳ 4~

Part 4. Play in the Utopia of reuse Chúng ta hãy cùng nhìn lại bài tập tôi đã đưa ra vào cuối bài viết kỳ trước. Đó là “Chương trình hiển thị số tờ theo từng loại mệnh giá tiền cho số tiền trong ví của bạn”. Hơn nữa, chương trình đó không chỉ có chức năng hiển thị số tờ theo từng loạị ...

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

Giới thiệu về Rails Engine

1.Giới thiệu Rails Engine Hiện nay ngôn ngữ lập trình nói chung và Ruby on Rails nói riêng đang có những bước phát triển chóng mặt, hàng loạt những công nghệ mới ra đời và các ứng dụng chuyên biệt hóa đòi hỏi lập trình viên phải biết chắt lọc và tái sử dụng rất nhiều . Rails Engine ra đời cũng ...

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

MySQL Index Condition Pushdown

Để tôi kể cho các bạn nghe câu chuyện về bản thân tôi. Khi mới học MySQL ở trường đại học, tôi thấy index khá thú vị, và chỉ cần có index là mọi thứ sẽ rõ ràng và truy vấn sẽ nhanh hơn. Hồi ý tôi chỉ biết đến index theo mỗi id, và do vậy sẽ có 2 loại index chính, đó là index theo 1 cột và index 2 ...

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

Những mẹo nhỏ trong unity phần 3

Chào các bạn! Như đã hứa ở phần trước, hôm nay mình xin giới thiệu tiếp tới các bạn 1 số mẹo nhỏ dùng trong unity. Những mẹo nhỏ này là những plugin, những thủ thuật nho nhỏ kinh nghiệm của mình trong quá trình làm việc với unity giúp làm việc nhanh hơn, hi vọng có thể giúp các bạn có cái ...

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

Kỹ thuật đồng bộ, bất đồng bộ trong ajax.

Trong bài viết này mình xin mạn phép giới thiệu sơ lược về đồng bộ và bất đồng bộ. Cụ thể ở đây là giới thiệu kỹ thuật này trong ajax. Synchronous (Xử lý đồng bộ): là xử lý mà chương trình sẽ chạy theo từng bước, nghĩa là thực hiện xong đoạn code trên mới tới đoạn code kế tiếp và sẽ theo thứ tự ...

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

Sử dụng Carthage để rút ngắn thời gian build Xcode projects

Carthage là gì Carthage ở đây là một công cụ quản lý các Library của Swift (tương tự như CocoaPods) CocoaPods là một tool quản lý các Library Cocoa rất nổi tiếng, tự động tạo Workspace và tự động update ... rất nhiều tính năng được trang bị. Carthage thì không hẳn như vậy, nó được tạo ra theo ...

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

Tìm hiểu về clone() method

Clone có nghĩa là tạo ra một bản sao từ một bản gốc, trong class Object của java có 1 method là clone(). Ở bài viết này chúng ta sẽ tìm hiểu xem thực chất method này sẽ làm gì, và clone này có phải là loại clone mà bạn đang cần hay không. Tất nhiên, bạn có thể click vào phía bên trong method này và ...

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

Activerecord Import Gem

Activerecord là một gem dùng để import nhiều bản ghi cùng một lúc vào cơ sở dữ liệu. Cài đặt gem gem 'activerecord-import', '~> 0.10.0' Yêu cầu Đối với rails 5.0 cần sử dụng version 0.11.0 hoặc cao hơn Đối với rails 4.0 cần sử dụng activerecord-import 0.4.0 hoặc cao hơn ...

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