Monkey patching with refinements

Kỹ thuật monkey patching là kỹ thuật giúp chúng ta mở rộng hoặc sửa đổi một hàm hoặc thuộc tính của một đối tượng đang có bằng một hàm hoặc thuộc tính khác. Tuy nhiên kỹ thuật này rất có thể sẽ gây ra những lỗi rất khó sửa chữa. Chủ đề của bài này là sự kết hợp của monkey patching và refinement, ...

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

RSpec Subject, Helpers, Hooks và Exception Handling

Sau phần đầu tiên giới thiệu về Rspec, chúng ta đã hiểu được cấu trúc cơ bản của nó và bước tiếp theo là học cách sử dụng những cú pháp cơ bản thường dùng. Trong phần tiếp theo này, chúng ta sẽ tìm hiểu cách sử dụng subject, let helper method, before hook và exception handling. Từ đó chũng ta sẽ ...

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

Ultimate Guide to JSON Parsing With Swift 4 (Phần 2)

Mở đầu Trong bài viết trước, tôi đã giới thiệu cơ bản về cách Parsing Data JSON trên swift 4, phương pháp xử lý một số kiểu dữ liệu thông dụng sử dụng công cụ có sẵn mà Apple cung cấp. Trong phần này tôi sẽ tiếp tục giới thiệu tới các bạn các thuộc tính nâng cao của Codable để Decode và encode ...

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

ASP .NET MVC - Phần 1: Tạo ứng dụng ASP .NET MVC đầu tiên

I. ASP .NET MVC là gì? ASP.NET MVC là một framework tuyệt vời hỗ trợ pattern MVC cho ASP.NET. Nếu bạn muốn hiểu ASP.NET MVC làm việc như thế nào, bạn cần phải có một sự hiểu biết rõ ràng về mô hình MVC. MVC là cụm từ viết tắt của Model-View-Controller, nó phân chia pattern của ứng dụng thành 3 ...

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

Giới thiệu về Orm Creating models and Relating Models trong Fuel PHP

1. Tạo Models Model có thể tạo một cách nhanh chóng và dễ dàng. Trong Model của Fuel có các convention khác các framework khác, model được đặt tên có tiền tố Model_ cho class đó. Ví dụ như Model_Article class sử dụng tên file article.php. Model được đặt trong thư mục /app/classes/model/ . Tuy ...

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

Sơ lược về Linear Regression trong AI

Hồi Quy (regression) là một phương pháp học có giám sát (supervised learning) trong Máy Học. Mục tiêu chính là tìm ra mối quan hệ giữa các đặc trưng của một vấn đề nào đó. Cụ thể hơn, từ một tập dữ liệu cho trước, ta xây dựng một mô hình (phương trình, đồ thị, …) khớp nhất với tập dữ liệu, ...

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

Những điều bạn cần biết về hằng số trong Ruby

Có rất nhiều thứ về hằng số trong Ruby mà bạn có thể nghĩ đến, ví dụ như bạn có thể thay đổi giá trị của 1 hằng số trong Ruby, không giống như các ngôn ngữ khác như C và Java. Chúng ta sẽ khám phá chi tiết hơn trong bài viết này nhé! Định nghĩa hằng số Một hằng số trong Ruby không yêu cầu một ký ...

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

Blockchain mà thiên hạ đang nhắc đến là cái khỉ gì !?

Chắc hẳn mọi người không ít thì nhiều cũng đã từng nghe về thứ đồng tiền ảo mang tên Bitcoin , không phải là thứ gì quá đỗi mới mẻ, xuất hiện từ năm 2009, nhưng đến gần đây người ta mới nhắc đến nó nhiều hơn, đặc biệt là khi giá trị của nó gia tăng 1 cách chóng mặt trong vòng 1 năm. Càng ...

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

RxSwift với MVVM (Phần 1)

MVVM (Model- View - View Model) được sáng tạo bởi hai kỹ sư của Microsoft là Ken Cooper và Ted Peters với mục đích làm đơn giản việc lập trình sự kiện của giao diện người dùng dựa trên các tính năng đặc biệt của WPF và Silverlight. View : Tương tự như trong mô hình MVC, View là phần giao diện ...

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

Rails API với Versioning, Serializers và Pagination

Tiếp nối series loại bài về Rails API, mình sẽ giới thiệu đến mọi người về việc sử dụng Versioning, Serializers và Pagination. Khi chúng ta xây dựng 1 appp API thì việc quản lý version là điều quan trọng. Điều đó cảng quang trọng hơn khi chúng ta public API này với khách hàng theo 1 hợp ...

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

Working with FragmentPagerAdapter and FragmentStatePagerAdapter

Là một Android Developer thì chắc hẳn phải biết đến ViewPager, một thành phần thường hay được sử dụng nằm trong gói support design. FragmentPagerAdapter và FragmentStatePagerAdapter là những thành phần để cấu hình cho ViewPager nhưng không phải ai cũng biết sự khác nhau giữa chúng. Và việc gọi ...

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

[Android] AppIndexing

I.Giới thiệu Firebase cái tên đã quá quen thuộc với các bạn rồi nhỉ. Nhắc đến Firebase người ta hay nghĩ về Firebase Authentication, Firebase Realtime Database, Firebase Storage ... các tiện ích rất tiện lợi đầy mạnh mẽ và thiết thực. Nhưng với cái tên App Indexing thì mọi người không thấy có ấn ...

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

Những sai lầm "chết người" khi xây dựng website thương mại điện tử

Không quá khi nhận định website chính là nguồn sống của các trang thương mại điện tử tại Việt Nam. Nếu dịch vụ thiết kế website thương mại điện tử được tối ưu tốt thì sẽ mang đến những hiệu quả không ngờ, ngược lại một sự chuẩn bị không chu đáo sẽ gây ra nhiều hậu quả đáng tiếc. Bài viết sau sẽ đề ...

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

Build các phiên bản apk với tính năng khác nhau bằng flavors trong Android Studio

Xin chào các bạn! Trong project tôi đang làm khách hàng có yêu cầu chia làm 3 phiên bản development, staging, production mỗi phiên bản lại có sự khác nhau về tính năng, các urls api ... Sẽ có người nghĩ ra cách là phát triển trên 3 branch khác nhau nhưng bất tiện là mỗi khi viết thêm source code ...

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

Thay đổi ngôn ngữ app trong Android

Khi phát triển ứng dụng Android, đôi lúc bạn sẽ có yêu cầu về chức năng “thay đổi ngôn ngữ” của ứng dụng. Đây là một chức năng không thể thiếu đối với các ứng dụng hướng đến các người dùng ở đa quốc gia. Tuy nhiên, hệ điều hành Android lại không hỗ trợ tính năng này trực tiếp. Và vì ...

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

Vì chờ đợi Xcode build tiêu tốn nhiều tời gian → đã sửa để giảm trên 50% thời gian build

Mở đầu Chờ build lâu quá, nhiều khi đầu phát ngáo ^^. Không biết các bạn có bị tiêu tốn thời gian giống mình không nhỉ? (khoc) Nhưng ở trên mạng hiện đang share rất nhiều cách để giảm thời gian build trên Xcode Do đó trong bài viết này mình xin giới thiệu đến các bạn phương pháp mà mình đang ...

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

Running GUI application with docker

Có lẽ bạn đã đang dùng docker để phát triển app rồi. Docker còn được dùng trong cả các server production nữa. Nói chung docker thường được coi là một công cụ phát triển hay để deploy app. Nhưng bạn có nghĩ những ưu điểm của docker cũng có thể phát huy ở một chỗ khác. Mình đang nói đến GUI app. Từ ...

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

Make Repository Pattern more efficient in Android

Việc define structure cho một dự án luôn là một công việc vô cùng khó khăn và đòi hỏi nhiều kinh nghiệm, kỹ năng nhất định. Do đó, công việc này thường dành cho những người có nhiều năm kinh nghiệm và có tầm nhìn tổng quát cho dự án để đảm bảo structure áp dụng vào dự án phải phù hợp nhất, tường ...

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

Xây dựng chatbot Facebook với api.ai (part 1)

Trong xu thế công nghệ liên quan đến Data scientist hiện nay thì càng trở lên mạnh mẽ. Điều chứng minh cho điều đó là việc các Chatbot được tạo ra nhưng nấm mọc sau mưa. Và các ông lớn trong làng công nghệ như Google, Microsoft, IBM... cũng bỏ rất nhiều công sức và tiền bạc trong lĩnh vực này. Ở ...

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

[Series-DesignPatternInRuby] Singleton - Phần 2

Đây là phần 2 về Singleton Pattern trong Series DesignPatternInRuby mà mình muốn giới thiệu với mọi người. Bạn có thể tham khảo phần 1 tại đây: [Series-DesignPatternInRuby] Singleton - Phần 1 Alternatives to the Classic Singleton Như phần trước chúng ta đã tìm hiểu về cách xây dựng Singleton ...

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