Áp dụng phương pháp "FAST" để giải quyết các bài toán quy hoạch động (Tiếp theo)
Trong bài viết này mình sẽ trình bày một ví dụ khác phức tạp hơn sử dụng phương pháp FAST để làm bài toán quy hoạch động. Nếu chưa đọc phần 1 trong seri này về phương pháp FAST, bạn có thể đọc bài viết đó tại link này: Giải quyết quy hoạch động bằng phương pháp FAST. Bài toán ví dụ Knapsack điển ...
Tìm hiểu GraphQL
GraphQL là Graph Query Language do Facebook tạo ra từ năm 2012 cung cấp giao thức chung cho phép giao tiếp giữa client và server để cập nhật và lấy dữ liệu. Client truy vấn đến máy chủ GraphQL bằng các truy vấn với đặc điểm: format của dữ liệu trả về được mô tả trong câu truy vấn và được định ...
Tìm Hiểu ECMAScript 6 - P6
Chào các bạn. Hôm nay chúng ta sẽ cùng tiếp tục tìm hiểu những tính năng mới trong bản ECMAScript 6. Phần 1 các bạn có thể xem Tại Đây Phần 2 các bạn có thể xem Tại Đây Phần 3 các bạn có thể xem Tại Đây Phần 4 các bạn có thể xem Tại Đây Phần 5 các bạn có thể xem Tại Đây Hôm nay chúng ta ...
PushKit Framework và CallKit Framework trong VOIP
Không giống Android, IOS không cho phép các developer tạo ra các tiến trình chạy ngầm bởi vì hành động này sẽ chiếm tài nguyên của thiết bị. Nhưng sự thật là người dùng luôn có nhu cầu nhận được các thông báo, tin nhắn từ bạn bè ngay cả khi họ không sử dụng ứng dụng, thật may mắn là IOS đã tạo ra ...
Ubuntu 18.04 LTS có gì mới và làm sao để upgrade?
Không biết các bạn code trên OS nào, còn với các framgia-er thì hầu như là trên nền tảng linux, đặc biệt là ubuntu. Vậy trong phiên bản LTS(long time support) lần này của Ubuntu có gì mới và làm sao để update từ phiên bản hiện tại của bạn. Ubuntu 18.04 LTS Bionic Beaver cuối cùng đã được phát ...
Số hoá lợi ích của Seminar nội bộ đối với dự án phần mềm
Làm thế nào để tất cả các thành viên dự án phần mềm có thể nhanh chóng nắm bắt được một công nghệ mới và triển khai nó đồng bộ? Có lẽ tổ chức một buổi seminar nhỏ là một phương án rất tối ưu. Chẳng cần phải nghĩ chúng ta có thể kể ra vô vàn lợi ích của việc tổ chức seminar nội bộ trong team. ...
Điều khiển truy cập - Access Control (Phần 1)
A. Khái niệm: Bảo mật hệ thống thông thường thông qua 2 bước: Chứng thực người dùng(authentication): xác thực người dùng cần truy xuất vào hệ thống. Điều khiển truy xuất(access control): hạn chế quyền hạn của người dùng trong hệ thống. Điều khiển truy xuất là cơ chế bảo mật theo dõi ...
SOLID Principles #1: Single Responsibility Principle
Có nhiều người đã biết đến nguyên tắc SOLID qua nhiều bài viết trên viblo như: đây hoặc đây. Nhưng trong series này mình sẽ giúp các bạn hiểu rõ hơn về từng yếu tố trong nguyên lý SOLID, đừng bỏ lỡ nhé! Yếu tố đầu tiên mình đề cập trong series này là: Single responsibility principle - Nguyên tắc ...
[Vue.js] Write your own and reuse pagination component - Simple pagination demo.
Demo: https://telosma.github.io/vue-simple-pagination/ Lưu ý: Để xem việc di chuyển giữa các trang của mình có đúng hay không bạn có thể inspect trình duyệt và xem console log mà mình đã in ra. Pagination là một thành phần mà chúng ta sử dụng khá nhiều khi làm việc với các website và khi làm ...
Deploy ứng dụng ReactJS lên GitHub-Pages
Giới thiệu Bạn có một ứng dụng ReactJS, và bạn muốn deploy ứng dụng của bạn lên internet và chia sẻ cho mọi người nhưng chưa biết phải làm thế nào. Bài viết này là một giải pháp cho bạn, hướng dẫn bạn public ứng dụng lên GitHub Pages , hãy cùng bắt đầu nhé. Tạo project Phần này giành cho ...
RxSwift qua ví dụ #2 – Observable và The Bind
Trong bài đầu tiên, chúng ta đã tìm hiểu các khái niệm cơ bản về RxSwift và RxCocoa. Nếu bạn chưa đọc thì có thể nhấn vào link này Những khái niệm cơ bản trong RxSwift Hôm nay chúng ta sẽ nói về binding. Đừng lo lắng, binding có nghĩa là kết nối và chúng ta sẽ kết nối các Observable với các ...
Giới thiệu về cloud formation và cách sử dụng cơ bản
Cloud formation là gì? Cách dễ nhất để mô tả CloudFormation là nó là một công cụ từ AWS cho phép bạn khởi tạo tài nguyên một cách dễ dàng. Bạn xác định tất cả các tài nguyên mà bạn muốn AWS bật lên trong một bản thiết kế chi tiết, bấm vào một nút, và sau đó AWS sẽ thực hiện giúp bạn phần việc còn ...
[Android] [Kotlin] Retrofit 2 Download File
Trong lập trình android chúng ta đã quen thuộc với thư viện Retrofit 2 để nhận và gửi JSON từ một WebService nhưng trong bài viết này chúng ta sử dụng Retrofit 2 để download một file từ WebService URL : http://repo1.maven.org/maven2/com/squareup/retrofit/retrofit/2.0.0-beta2/retrofit-2.0.0-be ...
Memory Leaks in Swift
Trong bài viết này chúng ta sẽ nói về rò rỉ bộ nhớ (memory leaks). Đây là một đoạn trích: describe("MyViewController"){ describe("init") { it("must not leak"){ let vc = LeakTest{ return MyViewController() } expect(vc).toNot(leak( ...
Debug dễ dàng hơn với better_errors và binding_of_caller gem
Việc hiển thị lỗi theo trang mặc định của Rails đôi khi làm chúng ta rất khó để biết chính xác lỗi đó là gì vì rất ít thông tin được hiển thị. Vì vậy để những đoạn message error trông rõ ràng hơn thuận tiện cho việc fix bug chúng ta có thể sử dụng gem bettererrors kết hợp với bindingofcaller. ...
SES - Simple Email Service : Tạo một server gửi mail chưa bao giờ đơn giản đến thế !
Trong thời buổi mà công nghệ thông tin đã bao phủ hầu như tất cả mọi lĩnh vực đời sống thì việc sử dụng email cũng trở nên phổ biến hơn bao giờ hết . Email không chỉ được dùng để thông tin liên lạc hay trao gửi những lời yêu thương như trong bài hát "Email tình yêu" của Đan Trường thuở nào nữa mà ...
Binary search algorithm
Binary search is one of the fundamental algorithms in computer science. In order to explore it, we’ll first build up a theoretical backbone, then use that to implement the algorithm properly. Binary search is a fast search algorithm with run-time complexity of Ο(log n). This search ...
Tích Hợp Emojis Keyboard Trong Ứng Dụng Android
Emojis là một cách tuyệt vời để thể hiện cảm xúc của chúng ta và gửi đi những suy nghĩ của chúng ta tới những người , họ đang sử dụng một ngôn ngữ khác có thể hiểu được chúng ta. Bất kỳ một ứng dụng mạng xã hội nào cũng cung cấp cho bạn môt bộ Emojis. Hãy xem những tin nhắn sau cùng của bạn để ...
How to Play, Record, and Merge Videos in iOS and Swift
Xin chào các bạn hôm nay mình trình bày về cách Play, Record và Merge Videos trong iOS - Swift 4.0 Bài viết được clone từ bài viết của tác giả Owen Brown tại đây Đầu tiên các bạn hãy download material cho project này tại đây Project này chứa một story board và một số bộ điều khiển chế độ xem với ...
RAILS VIRTUAL ATTRIBUTES
Hôm nay mình giới thiệu với các bạn cách tạo virtual attribute đơn giản cho rails Giả sử ta có table user có 2 column là first_name và last_name, để tạo table user ta chạy câu lệnh migrate như sau: rails g modal user first_name:string last_name:string Khi đó, để đăng ký mới user, người ...







