N + 1 query - Tính năng hay là bug

1. N + 1 query là gì ? Câu chuyện xảy ra khi chúng ta, những coder viết code chưa khéo, sinh ra nhiều truy vấn vào cơ sở dữ liệu làm giảm performance của hệ thống. Khi đồng nghiệp đọc code thường thì sẽ bình luận ngay: fix N + 1 Nếu để trót lọt, sau một thời gian vận hành mà chương trình chậm, ...

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

cách sử dụng React.js Component Lifecycle Methods

Mở đầu: Mọi thứ vận hành đều có vòng đời, hay chu trình của nó, từ khi nó được tạo ra cho đến kết thúc. Và chúng ta gọi nó là lifecycle. React.js cũng không ngoại lệ, chúng cũng có vòng đời. Chúng cần trải qua các giai đoạn hay còn gọi là các phase theo như thuật ngữ của React. Các giai đoạn ...

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

Continue with Machine Learning - Building Recommendation System

Nowadays there are no successful e-commerce websites which do not use recommendation system. Website such as Amazon which sell million of books use recommendation system to cater customers with the most likeable products that customer will buy. Netflix uses recommendation system to provide customer ...

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

Hiểu React - Life-cycle của component - Part 2

componentDidCatch(errorString, errorInfo) Một bổ sung mới trong React 16 - life-cycle method này đặc biệt theo cách nó có thể phản ứng với các sự kiện xảy ra trong thành phần con, cụ thể cho bất kỳ lỗi vô hình nào xảy ra trong bất kỳ thành phần con nào. Với phần bổ sung này, bạn có thể làm cho ...

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

Thực thi Selenium Tests bằng Headless Browser sử dụng PhantomJS

1. Headless Browser là gì? Headless Browser là một trình duyệt web không có giao diện đồ họa người dùng. Headless Browser cũng giống như các trình duyệt khác, chỉ khác là không có UI. Khi thực thi Selenium tests thì những testcase sẽ được thực thi ngầm (thực hiện ở background mode) và sẽ không ...

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

Một số UI Framework ngon cho anh em dùng Vue.js

Dưới đây em xin giới thiệu một số UI Framework khá ngon mà các bác có thể sử dụng trong project của mình thay vì tự tay code hết mọi thứ, giúp giảm thiểu thời gian phát triển đi khá nhiều đấy. Element Element là một thư viện khá nổi tiếng, khi em search google từ khóa vue ui thì ra em này ...

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

Self trong ruby (p2)

Self trong ruby (p1): https://viblo.asia/p/self-trong-rubyp1-ORNZqP7GK0n. Chào các bạn, trong phần trước mình đã giới thiệu về sender và receiver trong ruby, hôm nay chúng ta sẽ cùng tiếp tục tìm hiểu về self và cách giá trị của self thay đổi khi chương trình được thực thi nhé. Đầu tiên chúng ...

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

Sử dụng Binding Adapter với Kotlin (Phần 1)

Binding Adapter thường khó sử dụng đối với người mới dùng Binding Adapter và chúng ta cũng biết tại sao nó lại khó sử dụng ở những trường hợp phức tạp. Ví dụ như đối với việc setText của TextView hay src của ImageView thì khá dễ dàng để dùng Binding Adapter. Nhưng khi sử dụng một cái gì đó ...

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

Fastlane - Add frame for screenshots

Bài viết trước: Fastlane - Auto capture screenshots Như trong bài viết trước, mình đã hướng dẫn các bạn sử dụng fastlane để tự động chụp ảnh màn hình thông qua việc viết UITesting. Trong bài viết này, mình sẽ hướng dẫn các bạn add thêm frame cho mỗi ảnh đã được chụp trước đó. Add frame một cách ...

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

[Vim]Cài đặt và cách sử dụng cơ bản.

Lời nói đầu Mình đang định viết thêm bài để bổ sung thêm vào loạt bài viết về PHP và Laravel 5.5, nhưng không biết là do có quá nhiều thứ cần viết hay do nó quá nhiều thứ gây hứng thú với mình nên mình không biết bắt đầu từ viết từ đâu. Nên mình quyết định sẽ viết thêm sau về PHP và Laravel 5.5, ...

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

Architecture Components - Paging Library

Paging Library giúp ứng dụng của bạn dễ dàng tải dần thông tin khi cần từ nguồn dữ liệu, mà không làm quá tải thiết bị hoặc chờ quá lâu cho truy vấn cơ sở dữ liệu lớn. Tổng quan Nhiều ứng dụng hoạt động với bộ dữ liệu lớn nhưng chỉ cần tải và hiển thị một phần nhỏ dữ liệu đó bất kỳ lúc nào. Một ...

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

Một số điều thú vị khi làm việc với Mongodb

Mongodb là một trong những loại cơ sở dữ liệu Nosql phổ biến nhất hiện nay, thuộc kiểu document, mã nguồn mở, data được lưu dưới dạng binary json (BSON). Được viết bằng C++ nên mongodb có khả năng tính toán với tốc độ cao, hỗ trợ dynamic schema, cả vertical scaling và horizontal scaling. Xin liệt ...

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

Tổng hợp các gem được sử dụng nhiều nhất trong Ruby on Rails - Phần 2

Chào các bạn, ở phần 2 này mình sẽ nói về các gem được sử dụng với mục đích debug, xác thực, bảo mật, API, deploy và upload. Đã là developer thì việc gặp bug cũng là chuyện xảy ra hàng ngày. Bug có thể xảy ra bởi bất cứ nguyên nhân nào, do sai cú pháp, do sai logic, ... Tuy nhiên, trang thông ...

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

Thay "lớp áo" cho Ckedior

Có lẻ khi nhắc đến Ckeditor thì nhiều người sẽ không còn xa lạ với nó.Ckeditor giống như một bộ hổ trợ cho quá trình soạn thảo, nó có nhiều tiện ích giúp cho quá trình biên soạn trở nên đẹp đẽ hơn, chuyên nghiệp hơn. Đối với ứng dụng rails, việc thêm ckeditor không có gì quá mới mẻ và khó khăn.Tuy ...

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

Kiểm thử big data - hướng dẫn hoàn chỉnh cho người mới bắt đầu (phần 2)

Tiếp theo phần 1 Các cơ sở dữ liệu quan hệ truyền thống như Oracle, MySQL, SQL Server không thể được sử dụng cho big data vì hầu hết dữ liệu được định dạng phi cấu trúc Dữ liệu có thể ở dạng hình ảnh, video, hình ảnh, văn bản, âm thanh ... Đây có thể là hồ sơ quân sự, video giám sát, hồ ...

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

Design Patterns - Iterator Pattern

Trong bài viết này, mình sẽ giới thiệu một loại design pattern trong nhóm Behavioral Design Pattern -> liên quan đến hành vi của các object. Iterator pattern là mẫu thiết kế rât thường được sử dụng trong môi trường lập trình Java và .NET. Mẫu này được sử dụng để truy cập vào các phần tử của ...

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

Types of Migration Testing: With Test Scenarios for Each Type

Để đảm bảo việc di chuyển dữ liệu từ hệ thống cũ sang hệ thống mới không gây mất mát dữ liệu ta cần thực hiện kiểm tra migration. Tiếp tục chủ để về kiểm tra migration, trong các bài trước, tôi đã nói đến cách tiếp cận, chiến lược test cùng các phase trong kiểm tra migration. Trong bài này ...

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

Server-side Nuxt.js for Vue.js Apps

Thư viện/Framework Javascript giống như Vue có thể mang lại trải nghiệm tuyệt vời cho người dùng khi duyệt trang web của bạn. Tất cả các thay đổi nội dung trang đều được thực hiện một cách tự động mà không phải gửi yêu cầu tới server mỗi lần. Tuy nhiên, có một vấn đề với cách tiếp cận này. Khi ...

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

Performance Testing

1. Kiểm thử hiệu năng là gì? Có nhiều định nghĩa về kiểm thử hiệu năng, kiểm thử hiệu năng là một loại kiểm thử để đảm bảo các ứng dụng phần mềm sẽ hoạt động tốt dưới khối lượng công việc dự kiến. Các tính năng và chức năng của một hệ thống phần mềm không phải là mối quan tâm duy nhất. Hiệu ...

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

Kiểm tra quy trình làm việc - Workflow Testing

Kiểm tra quy trình làm việc là xu hướng mới nhất trong kiểm thử phần mềm, đang được thực hiện bởi người kiểm thử phần mềm để tạo ra kết quả mong muốn. Do đó, để xây dựng tầm quan trọng và mức độ phù hợp của thử nghiệm quy trình làm việc, hãy tìm hiểu các kiến thức cơ bản dưới đây. Khái niệm ...

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