Giới Thiệu Rspec phần 2
Testing class method và scope By giờ chugns ta test khả năng của model User với việc nó sẽ trả về danh sách các User với được bắt đầu với các kí tự dược đưa vào. Giả sư chúng ta nhập vào chữ T thì kết quả nhận được sẽ bao gồm "Tho Bay Mau", "Tieu Ho", nhưng "Bao Hong" sẽ không xuất hiện trong ...
How to use two-way data-binding in android
Using 2-way data-binding in android I. Introduce 1. Terms To understand this article, please see, what's data-binding in android from link below: https://viblo.asia/search/data-binding And terms of MVVM in android https://medium.cobeisfresh.com/architecting-android-with-data-binding ...
MV* Framework
Single Page Application: Before starting the discussion, first I would like to have some words with Single Page Application. Traditional web page rendering After the data and view are merged, the view is returned to the browser. The browser then receives the new HTML page and, via a UI ...
Vivaldi: Trình duyệt cho người dùng “Pro”
Sau hơn 1 năm phát hành bản thử nghiệm Alpha và Beta, ngày 6/4 vừa qua, trình duyệt Vivaldi đã chính thức tung ra phiên bản hoàn thiện 1.0 với mục tiêu giúp người dùng hoàn toàn kiểm soát trình duyệt web của họ. 1. Trang giới thiệu: Ngay khi khởi động, bạn có thể tùy chỉnh mọi thứ. Bạn sẽ ...
Query khi count record dữ liệu
Trong Rails đã hỗ trợ một method includes dùng để hổ trợ việc giảm query trong truy vấn cơ sở dữ liệu quan hệ. Như vậy ở đây mình đặt ra một bài toán như sau: Mình có table categories has_many với table posts và mình muốn lấy list categories và count các bài post tương ứng của category đó thì ...
A* Pathfinding
Hẳn là bạn đã từng chơi game hoặc đang phải làm một game nào đó mà có phải điều khiển nhân vật hoặc viết AI cho bot đi từ một điểm A tới một điểm B, đi qua các trở ngại như sông, nhà, tường, … muốn làm được điều đó hãy đọc bài viết này của tui. Thật ra những bài hướng dẫn về A-star ...
Thuật toán mã hóa DES
Thuật toán DES có những giai đoạn sau: quá trình sinh khóa, quá trình mã hóa, quá trình giải mã 1. Quá trình sinh khóa Là quá trình từ 1 khóa 64 bit, sinh ra 16 khóa con 48 bit như sơ đồ dưới đây: Từ khóa chính 64 bit qua bảng hoán vị PC-1 còn 56 bit. Rồi tách thành C0 (28 bit) với D0 ...
Upload ảnh lên flickr bằng laravel
Xin chào bạn đọc, khi làm một trang web chắc hẳn ai cũng biết lưu ảnh trên host của mình sẽ làm tốn rất nhiều bộ nhớ cũng như băng thông. Trong khi chưa có điều kiện để thuê 1 host có đủ băng thông và dung lượng để lưu những bức ảnh thân yêu của mình thì việc kiếm một host ngoài chuyên về lưu trữ ...
Viết tài liệu cho Restful API
Giờ đây những ứng dụng theo mô hình restfull api đang thực sự phát triển, nhưng có rất nhiều dự án lại không có một tài liệu rõ ràng để bên mobile và server có thể giao tiếp được với nhau một cách thuận tiện nhất, tôi đã chứng kiến nhiều dự án phải dùng đến excel để quản lý những api và tôi cũng là ...
Kiểu dữ liệu NaN trong JavaScript - Một cái nhìn sâu sắc
Có lẽ rằng trong khi lập trình nói chung và nhất là với Javascript nói riêng đã không ít lần chúng ta gặp trường hợp một biến của chúng ta trả về một kiểu dữ liệu không mấy đẹp đẽ lắm là NaN . Những người chưa hiểu sâu về nó thường nghĩ ngay đến đã có gì đó sai sai trong xử lý mà dẫn đến kiểu dữ ...
[Codeigniter Framework] Phần 4: Shopping cart trong Codeigniter
Tiếp tục seri bài viết về Codeigniter, hôm nay mình sẽ tìm hiểu 1 library khá quan trọng, đó là shopping cart . Trong Codeigniter, Shopping cart được lưu dưới dạng mảng và được mã hóa để lưu vào session. 1. Cấu hình Để sử dụng được shopping cart trong CI, ta phải load thư viện cho nó theo ...
Cơ sở dữ liệu Realm
Realm là gì ? Realm là một dạng cơ sở dữ liệu mới được xây dựng trên thiết bị di động, máy tính bảng. Realm sử dụng ít tài nguyên, dễ sử dụng, tốc độ nhanh và miễn phí kể cả những dự án mang tính thương mại. Nếu các bạn là một lập trình viên Android và iOS thì không mấy xa lạ với 2 dạng cơ sở dữ ...
C# advanced-Part 2: Delegate, Anonymous Method and Lambda Expression
In this series we will learn about delegate, anonymous method and lambda expression. Delegate: A delegate is a type safe function pointer. That is, it holds a reference(pointer) to a function. Using a delegate allows the programmer to encapsulate a reference to a method inside a delegate ...
DevOps là gì ? Phần II
Xem lại Phần I Devops giúp giải quyết những vấn đề này như thế nào ? Bước tiến Devops được xây dựng cho nhóm những người tin rằng ứng dụng phối hợp công nghệ hợp lý và thái độ có thể cách mạng hóa thế giới phần mềm. Tiêu chí để lựa chọn là những sysadmin-coders có kinh nghiệm, tài năng, có ...
Giới thiệu Gem Cloudinay
1. Giới thiệu Cloundinary là một dịch vụ điện toán đám mây cung cấp một giải pháp cho toàn bộ luồng quản lý hình ảnh của ứng dụng Web. Dễ dàng tải các hình ảnh lên đám mây.Tự động thực hiện thay đổi kích thước hình ảnh thông minh, cắt và chuyển đổi mà không cần cài đặt bất kỳ phần mềm phức ...
C# advanced-Part 1: Introduction
Dating from 2000, C# (pronounced C-sharp) is a relatively new programming language designed by Microsoft for a wide range of enterprise applications that run on the .NET Framework. An evolution of C and C++, the C# language is simple, modern, type safe and object oriented. Visual C# ...
Redux: Khởi tạo project
Bài trước mình đã giới thiệu qua về React js , bài này mình giới thiệu cách khởi tạo 1 project Redux Bước đầu chúng ta nên tìm hiểu Redux là gì? Redux là một thư viện giúp bạn quản lí trạng thái (state) của application Redux được xây dựng dựa trên nền tảng tư tưởng của ngôn ngữ Elm và kiến ...
Bạn sử dụng 48 quả cà chua như thế nào trong ngày ?
Tôi rất tệ với kỹ năng quản lý thời gian, và cũng chậm chạp trong việc khắc phục nhược điểm đó. Rồi tình cờ một ngày, tôi bắt gặp một ý tưởng - thực chất là một tập hợp nhiều phương pháp sẵn có - giúp tôi cảm thấy có hi vọng cải thiện hơn. Kết hợp giữa trực quan hoá thời gian, công việc và độ ưu ...
Cách hiển thị thời gian cập nhật ( RELATIVE TIMESTAMPS ) trong rails
Trong Rails có 1 helper là: time_ago_in_words . Nếu bạn dùng created_at attribute nó sẽ tự sinh ra thời gian tương đối cho bạn. Posted : < % = time_ago_in_words ( post . created_at ) % > ago Thật tuyệt vời , nhưng chưa đủ!. Chuyện gì xảy ra nếu người dùng xem trang của bạn ...
Làm thế nào để xây dựng một pipeline phân tích xử lý Big Data (Part 1)
Mục tiêu Trong thời đại của IoT (Internet of Things) khối lượng dữ liệu sẵn có tăng với tốc độ chóng mặt dẫn tới nhu cầu cấp thiết của một hệ thống phân tích hiệu quả. Ngoài ra, sự đa dạng của các dữ liệu tới từ nhiều nguồn và nhiều định dạng khác nhau, chẳng hạn như các cảm biến, bản ghi, dữ ...