Tính năng tìm kiếm và Autocomplete trong Rails

Tìm kiếm là một trong những tính năng phổ biến nhất được tìm thấy trên hầu như bất kỳ trang web nào. Có rất nhiều giải pháp dễ dàng cho phép kết hợp việc tìm kiếm vào ứng dụng của bạn, nhưng trong bài này tôi sẽ thảo luận về tìm kiếm trong các ứng dụng Rails được cung cấp bởi gem pg_search. Trên ...

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

Ký hiệu & trong PHP

Là môt lập trình viên PHP (có thể cả ngôn ngữ khác) chắc các bạn không xa lại gì với ký hiệu &. Nhưng bạn có chắc là đã sử dụng hết tình năng của nó không? Vậy cùng điểm lại nhé. Toán tử thao tác bit AND(AND Bitwise Operators) Toán tử thao tác bit AND lấy 2 toán hạng nhị nhân có chiều ...

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

Giới thiệu về Instabug

Hôm nay mình sẽ giới thiệu với các bạn dịch vụ Instabug cho phép user gửi feedback về cho bạn, hiện tại dịch vụ này chỉ cho phép các bạn free 1 app và nếu các bạn muốn sử dụng nhiều app thì phải đóng thuê bao hàng tháng nhé </p> <div class= Tác giả: Bùi Văn Nam viết 15:20 ngày 12/08/2018

Tạo Rating với bootstrap-rating

Rating cũng là một cái quan trọng khi các bạn cần làm các chức năng liên quan đến review hoặc rating gì đó. Có khá nhiều plugins để làm chức năng rating này. Trong bài này, mình xin giới thiệu một plugins để tạo ra các rating symbols rất nhanh và dễ dàng, đây là bootstrap-rating. Plugin này sử dụng ...

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

Test Viewpoint cho test ứng dụng trên mobile

Hiện nay việc phát triển các ứng dụng trên mobile đang rất phổ biến, song song với đó là yêu cầu đảm bảo chất lượng cho các ứng dụng đó. Vậy làm sao để có thể thực hiện test các ứng dụng này, nhất là khi bạn là một tester mới, hoặc kể cả bạn là một tester có kinh nghiệm, nhưng chưa tham gia dự án ...

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

Gosu - Thư viện game 2D cho Ruby - Cùng bắt đầu với game đơn giản - Phần 3

Và phần cuối cùng của game đơn giản này mình hướng dẫn các bạn chèn âm thanh khi phi thuyền chạm vào ngôi sao và đếm số sao thu được bằng phương thức score() nhé. Các bạn down file beep.wav này và save vào thư mục media nhé. Load file âm thanh trong gosu Gosu cung cấp hàm Sample() giúp load ...

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

Begin Design Pattern in Swift Part 1

Design pattern là phương pháp tái sử dụng code trong thiết kế phần mềm. Design pattern thiết kế để hướng lập trình viên viết code 1 cách dễ dàng hơn, code dễ hiểu, dễ tái sử dụng và maintain. 1 số design pattern: Creational: Singleton Structural: MVC, Decorator, Adapter, Façade Behavioral: ...

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

Soft delete với gem paranoia

Soft delete là cách đơn giản để bảo vệ an toàn cho dữ liệu của hệ thống. Bằng việc không xóa hoàn toàn record trong Database, mà chỉ đưa nó về một trạng thái nào đó được quy ước là đã xóa, tức không còn tồn tại trong các câu truy vấn thông thường. Trước khi đi vào tìm hiểu cách sử dụng gem paranoia ...

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

Tiến trình trong hệ điều hành (Phần 2)

Trong bài viết trước mình đã giới thiệu sơ lược về định nghĩa, đặc điểm và phân loại tiến trình, ở bài viết này, mình xin tiếp tục trình bày về vấn đề quan trọng đó là điều phối tiến trình trong hệ điều hành. Các trạng thái của tiến trình Trạng thái của tiến trình tại một thời ...

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

Khác biệt giữa khóa chính và khóa ngoại trong SQL

Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng. Trong SQL Server, có hai khóa - khóa chính và khoá ngoại dường như giống nhau, nhưng thực tế cả hai đều khác nhau về ...

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

Android NotRxJava

Ngày nay nếu bạn là một lập trình viên Android hẳn bạn sẽ được nghe rất nhiều về RxJava. RxJava là một thư viện giúp bạn giải quyết các vấn đề khi xử lí luồng bất đồng bộ (asynchronous event) và nhiều lợi ích khác đã được cộng đồng đánh giá cao. Một khi đã quen sử dụng nó, chắc chắn bạn sẽ dùng nó ...

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

10 sai lầm thường gặp khi áp dụng SCRUM và cách phòng tránh

Scrum thường là loại practice Agile dễ bị lạm dụng nhất, bởi vì nó có thể được xem như là một cách dễ dàng khi làm Agile architecture. Khi hầu hết mọi người nghĩ đến Agile, họ nghĩ đến "Scrum". Scrum là khái niệm đơn giản nhưng có thể rất khó thực hiện tốt. Dưới đây là 10 lỗi phổ biến khi áp dụng ...

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

Sử dụng JS chia cột và cân bằng chiều cao các cột

Trước khi sử dụng Sau khi sử dụng Với FrontEnd khi cần chia cột dùng float left thì vấn đề thường gặp phải là các cột có chiều cao không bằng nhau. dẫn đến các hàng bị xô lệc hiển thị không đẹp Để xử lý vấn đề trên. Mình sử dụng Cái này Smart Utitlity. Nó sẽ tự động phân chia cột và cân bằng ...

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

WordPress - Cách thêm parameter cho các elements của visual composer

Xin chào các bạn. Trong các bài viết trước Cách tạo mới element trong Visual Composer mình đã hướng dẫn các bạn cách tạo mới một Element trong Visual Composer. Nhưng đó là khi chúng ta có nhu cầu viết 1 element mới hoàn toàn. Vậy các element có sẵn của Visual Composer thì sao. Là một plugin khá nổi ...

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

Các thao tác với array trong ruby

Bài viết này sẽ giới thiệu các kiến thức cơ bản về các thao tác khi làm việc với các mảng trong Ruby. Tạo một mảng mới Có thể khai bảo một mảng mới bằng 2 cách a = [] hoặc a = Array.new Gán giá trị cho mảng a = [1, 2, 3, 4, 5, 6] // a = [1, 2, 3, 4, 5, 6] a = Array.new(3, "1") // a ...

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

Ruby Concurrency và Parallelism

Trong quá trình phát triển ứng dụng, chắc hẳn các bạn đã có lần gặp phải các khái niệm về Concurrency (Đồng thời) và parallelism (song song) trong ruby code. Đôi lúc chúng ta hiểu lầm 2 khái niệm này giống nhau nhưng thực chất lại ngược lại. Trong quá trình tìm hiểu tôi có đọc được một bài báo về ...

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

Multiple database with subdomain use apartment gem

Làm thế nào để cùng một soures code duy nhất có thể chạy với nhiều subdomain khác nhau mà không làm lẫn dữ liệu giữa chúng? Có lẽ bài toán này đã quá quen thuộc với cộng đồng lập trình viên nói chung, có khá nhiều cách để làm việc này tuy nhiên hôm nay mình xin giới thiệu gem apartment sử dụng ...

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

Phân biệt giữa Pessimistic và Optimistic Locking

Locking là một cơ chế RDBMS ngăn chặn người dùng từ nhiều transactions khác nhau gây ra data conflicts. Locking một row giúp ngăn chặn các transactions khác thay đổi row đó cho đến khi transaction đang truy cập vào nó kết thúc. Trong đó có 2 chiến lược lock là: optimistic và pesimistic. Trong bài ...

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

Sử dụng thư viện Picasso để load ảnh trong android

Khi phát triển ứng dụng có nhiều ảnh hoặc phải load và hiển thị ảnh từ server thì có rất nhiều bạn băn khoăn là làm sao cho app không bị đơ UI, khi chờ phải load ảnh Trước đây thì mình thường viết AsyncTask cho chạy trong MainThead, những load ảnh sẽ chạy bất đồng bộ để app hiển thị hết xong thì ...

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

Into to Machine Learning: Practical supervised learning algorithms with Scikit-learn

In the coding on my previous post Into to Machine Learning: Supervised learning, I showed you about supervised learning. In the code example, I showed an example using scikit-learn library. In this post, I am going show you examples of applying supervised learning algorithm to generalize the data ...

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